/* KISOPASS only: text above two stable landscape cover frames. */
.store-card.kisopass-live-card{position:relative;display:block;min-height:0;padding:0;margin-inline:-18px;width:calc(100% + 36px);border:0;border-block:1px solid #a8bdc7;border-radius:0;box-shadow:none;background:#fff;overflow:hidden}
.kisopass-live-info{min-width:0}
.kisopass-live-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 16px 0}
.kisopass-live-top .category-badge{font-size:.7rem;flex-shrink:1}
.kisopass-live-top .status-badge{font-size:.76rem;padding:6px 8px;white-space:normal;line-height:1.5;flex-shrink:0;max-width:65%}
.kisopass-live-top .status-badge.open{background:white;color:var(--gold);border:1px solid var(--gold);border-radius:6px;font-weight:700}
.kisopass-live-title{position:relative;padding:10px 16px 0}
.kisopass-live-info .store-name{font-size:1.25rem;line-height:1.25;margin:0;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.kisopass-live-info .store-note{margin:8px 16px 13px;font-size:.8rem;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.kisopass-live-photos{display:flex;gap:2px}
.kisopass-live-photo{flex:0 0 calc((100% - 2px)/2);aspect-ratio:1179/871;overflow:hidden;background:white}
.kisopass-live-photo img{display:block;width:100%;height:100%;object-fit:cover}
.kisopass-live-bottom{padding:12px 16px;display:flex;justify-content:flex-end}
.kisopass-live-bottom .card-actions{width:100%;max-width:100%;grid-template-columns:70px 70px minmax(0,1fr);gap:12px;margin:0}
.kisopass-live-bottom .card-actions a{position:relative;z-index:2;min-height:48px;min-width:0;padding:6px;border-radius:7px}
.kisopass-live-detail{position:absolute;inset:0;z-index:1}
.kisopass-live-detail:focus-visible{outline:3px solid var(--forest);outline-offset:-3px}
.kisopass-live-arrow{position:absolute;right:12px;top:10px;font-size:30px;color:var(--muted);pointer-events:none}
.kisopass-live-bottom .call-button{gap:6px}
.kisopass-live-bottom .call-button svg{width:30px;height:34px;flex:0 0 30px;fill:white}
@media(min-width:720px){.store-card.kisopass-live-card{margin-inline:0;width:100%}}
.kisopass-detail-dialog { position:fixed; inset:0; width:100%; max-width:none; height:100dvh; max-height:none; margin:0; border:0; border-radius:0; padding:0; background:#eef3f8; }
.kisopass-detail-dialog iframe { display:block; width:100%; height:100%; border:0; }
body:has(.kisopass-detail-dialog[open]) { overflow:hidden; }

.kisopass-live-bottom .kisopass-details-button{justify-self:end;margin-left:12px;padding:6px 16px;white-space:nowrap;border:1px solid #a8bdc7;color:var(--muted);background:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem;text-decoration:none}
@media(max-width:360px){.kisopass-live-bottom .card-actions{gap:8px}.kisopass-live-bottom .kisopass-details-button{margin-left:8px;padding-inline:12px}}

.kisopass-live-photo picture{display:block;width:100%;height:100%}

.kisopass-live-photos:has(>.kisopass-live-photo:only-child){}.kisopass-live-photos:has(>.kisopass-live-photo:only-child) .kisopass-live-photo{flex-basis:100%;aspect-ratio:1179/435.5;height:auto}.kisopass-live-card.no-photo .kisopass-live-info{min-height:0}.kisopass-live-card.no-photo .store-note{-webkit-line-clamp:3}

.kisopass-detail-dialog.is-loading iframe{visibility:hidden}
.kisopass-detail-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:#fff;color:#203c36;font:16px/1.6 system-ui;text-align:center;padding:24px}
.kisopass-loading-spinner{width:42px;height:42px;border:4px solid #dfe8e6;border-top-color:#1b726a;border-radius:50%;animation:kisopass-spin .85s linear infinite}
.kisopass-loading-close{position:absolute;right:18px;top:18px;width:48px;height:48px;border:1px solid #becdca;border-radius:50%;background:#fff;color:#203c36;font:32px/1 system-ui;cursor:pointer}
.kisopass-loading-retry{padding:10px 18px;border:1px solid #7c9eaa;border-radius:10px;background:white;color:#203c36;font:inherit;cursor:pointer}
@keyframes kisopass-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.kisopass-loading-spinner{animation-duration:2s}}

/* Shared schedule rows keep cards useful before shop photos are supplied. */
.kisopass-live-schedule{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:12px;row-gap:5px;margin:12px 16px 13px;padding:0;line-height:1.55}
.kisopass-live-schedule dt{color:var(--muted);font-size:.8125rem;font-weight:600}
.kisopass-live-schedule dd{margin:0;min-width:0;color:var(--forest);overflow-wrap:anywhere;white-space:pre-line;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.kisopass-live-schedule .hours{font-size:1.0625rem;font-weight:750;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.kisopass-live-schedule .holiday{font-size:.875rem;font-weight:550}
html[lang=en] .kisopass-live-schedule{grid-template-columns:64px minmax(0,1fr)}
