/* Interior-only controls: paper catalogues, screening programmes and correspondence. */
.shop-transition{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#121b1c;color:#d9c9a5;font:16px "Noto Serif JP",serif;letter-spacing:.14em;opacity:0;transition:opacity .18s ease;pointer-events:auto}
.shop-transition.covered{opacity:1}.shop-transition[hidden]{display:none}
dialog.shop-dialog{box-sizing:border-box;width:min(770px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 48px);padding:36px 42px 26px;border:1px solid #a58f64;color:#302e26;background:radial-gradient(ellipse at top,#e0d2ac,#bca77e);box-shadow:0 22px 90px #0009;font-family:"Noto Serif JP",Georgia,serif;overscroll-behavior:contain;scrollbar-color:#786b50 #caba94}
dialog.shop-dialog::backdrop{background:#081011b8;backdrop-filter:blur(4px)}
.shop-dialog .shop-kicker{margin:0 0 10px;font:11px Georgia,serif;letter-spacing:.4em;color:#755037}
.shop-dialog h2{font-size:clamp(24px,4vw,36px);font-weight:500;margin:0 0 24px;border-bottom:1px solid #65563b55;padding-bottom:20px;line-height:1.35}
.shop-dialog h3{font-size:20px;font-weight:500;margin:0 0 10px}.shop-dialog p{font-size:15px;line-height:1.9;white-space:pre-line}
.shop-dialog .shop-empty{min-height:110px;max-width:42ch;margin:28px auto 36px;padding:24px 20px;border-left:1px solid #77614666;font-style:italic}
.shop-dialog .shop-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 16px;border:1px solid #74624588;background:#e2d4b633;color:inherit;font:inherit;font-size:13px;text-decoration:none;cursor:pointer;border-radius:0;line-height:1.45}
.shop-dialog .shop-button:hover{background:#70583820;border-color:#715533}.shop-dialog .shop-button:focus-visible{outline:2px solid #8f4335;outline-offset:3px}
.shop-dialog .shop-close{display:flex;margin:26px 0 0 auto;min-width:160px;border-color:#6d5b3f}
.shop-dialog .shop-meta{font-size:12px;letter-spacing:.07em;color:#6b5e47;margin:8px 0 14px}
.shop-record{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid #65563b44}.shop-record>div{flex:1;min-width:0}
.shop-image{display:block;max-width:100%;object-fit:contain}.shop-record>.shop-image{width:160px;height:160px;align-self:start;box-shadow:3px 5px 12px #322a2330}
.shop-tracks{padding-left:24px}.shop-tracks li{padding:5px 0}.shop-tracks li small{margin-left:12px;opacity:.6}.shop-tracks .shop-button{border:none;justify-content:start;text-align:left;padding:4px 8px}
.shop-audio{width:100%;margin:12px 0;accent-color:#79523b}.shop-films{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:24px}.shop-film .shop-image{width:100%;aspect-ratio:16/9;object-fit:cover;margin-bottom:14px}.shop-film .shop-button{margin:6px 8px 0 0}
.shop-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:24px}.shop-volume{display:flex;align-items:center;gap:10px;font-size:13px}.shop-volume input{width:110px;accent-color:#c8af81}
dialog.shop-dialog[data-theme="cinema"]{background:radial-gradient(ellipse at top,#3a3431,#171f20);color:#d5c5a5;border-color:#756653}.shop-dialog[data-theme="cinema"] .shop-kicker,.shop-dialog[data-theme="cinema"] .shop-meta{color:#bfa177}.shop-dialog[data-theme="cinema"] .shop-button{border-color:#c7b58d55;background:#e6c59108}
.shop-memory{margin:26px 0;padding-bottom:25px;border-bottom:1px solid #65563b44}.shop-memory .shop-image{max-height:420px;margin:14px auto;border:9px solid #ede2c2;box-shadow:3px 5px 12px #322a2320}.shop-caption{font-size:12px!important;font-style:italic;text-align:center}
.shop-dialog[data-theme="links"]{background:linear-gradient(115deg,#d7cba9,#b5b59b)}.shop-destination{padding:22px 0;letter-spacing:.08em}.shop-dialog[data-theme="links"] .shop-content-body{padding:0 14px;border-left:3px double #7c6b4b70}
@media(max-width:580px){dialog.shop-dialog{padding:25px 21px 20px;max-height:calc(100dvh - 24px)}.shop-record{flex-direction:column;gap:16px}.shop-record>.shop-image{width:135px;height:135px}.shop-dialog .shop-close{width:100%;margin-top:22px}.shop-dialog p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.shop-transition{transition:none}}
