.shop-header-actions,.shop-tabs { display:flex; gap:10px; align-items:center; }
.shop-header-actions a { text-decoration:none; }
.shop-count { color:var(--muted); font-size:12px; margin-bottom:5px; }
.shop-carousel { overflow-x:auto; padding:12px 4px 24px; scrollbar-width:thin; scrollbar-color:#a17137 transparent; }
.shop-track { display:flex; gap:16px; }
.shop-item { flex:0 0 calc((100% - 96px)/7); min-width:145px; border:1px solid var(--line); border-radius:14px; padding:8px; background:linear-gradient(145deg,#ffffff12,#ffffff05); color:var(--ink); text-align:center; transition:border-color .2s,transform .2s; }
.shop-item img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:9px; }
.shop-item span { display:block; margin-top:10px; font-size:13px; font-weight:700; }
.shop-item small { display:block; color:var(--muted); font-size:10px; margin-top:5px; }
.shop-item:hover { transform:translateY(-4px); border-color:#dba84e; }
.shop-item[aria-pressed=true] { border-color:#ffd27a; box-shadow:0 0 16px #d9942826; }
.shop-item:focus-visible { outline:2px solid #ffd27a; outline-offset:3px; }
.shop-detail { display:grid; grid-template-columns:minmax(200px,300px) minmax(0,1fr); gap:32px; align-items:start; min-height:450px; }
#productPoster { display:block; width:100%; height:auto; aspect-ratio:2/3; object-fit:cover; border-radius:14px; background:#24190f; border:1px solid var(--line); }
.shop-description { padding:12px 0; min-width:0; }
.shop-description h2 { font-size:clamp(24px,3vw,36px); font-weight:800; line-height:1.2; overflow-wrap:anywhere; }
#productDescription { margin:22px 0; color:var(--muted); line-height:1.8; white-space:pre-line; }
.shop-facts { display:flex; flex-wrap:wrap; gap:24px 48px; padding:18px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.shop-facts dt { font-size:12px; color:var(--muted); }
.shop-facts dd { margin:7px 0 0; font-size:20px; color:var(--gold-soft); font-weight:700; }
.shop-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.shop-purchase { display:inline-block; margin-top:20px; color:#ffdc95; }
.shop-note,.shop-message { color:var(--muted); font-size:13px; line-height:1.6; }
.shop-note { margin-top:20px; }
.shop-message { padding:14px 20px; margin:0; }
.shop-gallery { width:min(960px,calc(100% - 28px)); padding:0; max-height:94dvh; overflow:auto; border:1px solid #a7793c; border-radius:16px; background:#1b110a; color:var(--ink); }
.shop-gallery::backdrop,.rules-dialog::backdrop { background:#000b; }
.shop-gallery-stage { display:grid; place-items:center; min-height:280px; padding:20px; }
.shop-gallery-stage img { max-width:100%; max-height:65dvh; object-fit:contain; }
.shop-gallery-stage p { text-align:center; color:var(--muted); }
.shop-gallery-controls { display:flex; gap:15px; justify-content:space-between; align-items:center; padding:14px 20px; }
.shop-gallery-controls p { margin:0; text-align:center; font-size:13px; }
.video-actions { gap:14px; align-items:center; }
#videoPurchaseMissing { color:var(--muted); font-size:13px; }
[hidden] { display:none !important; }
body:has(dialog[open]) { overflow:hidden; }
button:disabled { opacity:.4; cursor:default; }
@media(max-width:1100px) { .shop-item { flex-basis:calc((100% - 80px)/6); } }
@media(max-width:720px) { .site-header { flex-wrap:wrap; } .brand { font-size:21px; } .shop-header-actions { margin-left:auto; } .shop-detail { grid-template-columns:140px minmax(0,1fr); gap:18px; padding:16px; } .shop-item { min-width:155px; } .shop-description { padding:0; } .shop-actions { flex-direction:column; } .shop-facts { gap:18px; } }
@media(max-width:500px) { .shop-detail { grid-template-columns:1fr; } #productPoster { max-width:240px; margin:auto; } .shop-tabs { gap:6px; } .shop-tabs .round-tab { padding:9px; font-size:12px; } .carousel-controls { gap:5px; } .carousel-controls .icon-button { width:34px; height:34px; } }
@media(prefers-reduced-motion:reduce) { .shop-item { transition:none; } }
