.shop-page { background:#f3efe6; color:#28241f; }
.shop-page main h1,.shop-page main h2,.shop-dialog h2,.shop-dialog h3 { color:#28241f; }
.shop-page .site-header,.shop-page .site-footer { color:var(--bone); background:#100d0a; }
.shop-page .site-header { position:sticky; top:0; }
.shop-page .site-nav a[aria-current] { color:var(--gold-bright); }
.shop-skip { position:fixed; top:-80px; left:20px; z-index:999; padding:16px; background:#fff; color:#111; }
.shop-skip:focus { top:10px; }
.shop-page button,.shop-page select { font:inherit; }
.shop-page button { cursor:pointer; }
.shop-page button:focus-visible,.shop-page a:focus-visible,.shop-page summary:focus-visible,.shop-page select:focus-visible { outline:3px solid #99711d; outline-offset:4px; }
.shop-page button:disabled { cursor:not-allowed; opacity:.55; }
.shop-steam { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:14px max(24px,calc((100% - 1180px)/2)); background:#252119; color:#e5d8be; font-size:13px; border-bottom:1px solid #594a2b; }
.shop-steam a { color:#f1cf72; font-weight:700; }
.shop-page main { max-width:1228px; padding:0 24px; margin:auto; }
.shop-intro { padding:64px 0 32px; display:flex; align-items:flex-end; justify-content:space-between; gap:26px; }
.shop-page .eyebrow { color:#8b6123; font-size:11px; letter-spacing:1.5px; }
.shop-intro h1 { font-size:clamp(38px,4.8vw,62px); line-height:1.08; text-transform:none; }
.shop-intro p:not(.eyebrow) { font-size:17px; color:#625b51; margin:16px 0 0; line-height:1.6; }
.shop-intro-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:16px; padding-bottom:4px; }
.shop-account,.shop-text-button { border:0; background:none; padding:12px 0; color:#4a4033; font-size:13px!important; text-decoration:underline; text-underline-offset:4px; }
[data-bag-count] { display:inline-grid; place-items:center; min-width:24px; height:24px; border-radius:50%; background:#372a12; color:#ffe3a2; font-size:12px; }
.shop-status { display:flex; align-items:center; gap:12px; padding:15px 18px; background:#e9e2d5; border:1px solid #d7cdbb; border-radius:5px; color:#514939; font-size:13px; line-height:1.65; }
.shop-status p { margin:0; }
.shop-status-dot { width:7px; height:7px; flex-shrink:0; background:#9d742c; border-radius:50%; }
.shop-catalog-toolbar { padding:30px 0 22px; display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:12px; color:#756c5f; }
.shop-filters { display:flex; flex-wrap:wrap; gap:6px; }
.shop-filters button { border:1px solid transparent; border-radius:30px; background:none; padding:10px 16px; color:#655c50; font-size:13px; }
.shop-filters button[aria-pressed=true] { background:#29251f; color:#fff8ea; }
.shop-grid { display:grid; grid-template-columns:1fr 1fr; gap:30px; }
.shop-card { overflow:hidden; min-width:0; border:1px solid #ddd5c8; border-radius:6px; background:#fcfaf5; }
.shop-card[hidden] { display:none; }
.shop-card { scroll-margin-top:110px; }
.shop-card:target { border-color:#b58b2d; box-shadow:0 0 0 2px rgba(181,139,45,.25); }
.shop-image { position:relative; background:#eee9df; aspect-ratio:1; overflow:hidden; }
.shop-image>img { width:100%; height:100%; object-fit:contain; }
.shop-mockup { position:absolute; bottom:15px; left:18px; font-size:10px; color:#5f584e; letter-spacing:.3px; background:#fcfaf5e6; padding:4px 7px; border-radius:3px; }
.shop-side { position:absolute; right:18px; top:16px; display:flex; padding:3px; background:#fcfaf5; border:1px solid #cfc6b8; border-radius:25px; }
.shop-side button { border:0; background:none; padding:8px 14px; border-radius:20px; font-size:12px; color:#51483b; }
.shop-side button[aria-pressed=true] { background:#29251f; color:#fff8ea; }
.shop-product-body { padding:26px; }
.shop-product-title { display:flex; gap:12px; align-items:baseline; justify-content:space-between; }
.shop-product-title h2 { font-size:22px; line-height:1.25; }
.shop-price { font-size:12px; white-space:nowrap; color:#756958; }
.shop-price-confirmed { font-size:18px; font-weight:700; color:#6b4819; }
.shop-product-body>p { color:#686054; font-size:13px; line-height:1.7; margin:12px 0 18px; }
.shop-options { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; min-height:86px; margin:20px 0; }
.shop-swatches { border:0; padding:0; margin:0; }
.shop-swatches legend { font-size:12px; margin-bottom:11px; font-weight:700; }
.shop-swatches legend span { font-weight:400; margin-left:5px; color:#756958; }
.shop-swatches button { width:34px; height:34px; padding:4px; border-radius:50%; border:1px solid transparent; background:none; margin-right:4px; }
.shop-swatches button[aria-pressed=true] { border-color:#5a4221; }
.shop-swatches button span { display:block; width:24px; height:24px; border:1px solid #0002; border-radius:50%; background:var(--swatch); }
.shop-size { display:flex; flex-direction:column; gap:10px; font-weight:700; font-size:12px; }
.shop-size select { background:#fcfaf5; padding:10px 30px 10px 12px; border:1px solid #cfc5b5; border-radius:4px; color:#3d3428; min-width:145px; }
.shop-add { width:100%; justify-content:space-between; border:1px solid #cbbd9e; border-radius:4px; color:#3c2e1c; background:#efe8d8; box-shadow:none; font-size:13px; min-height:45px; }
.shop-add:hover { background:#e4d8bf; }
.shop-product-body .shop-selection-note { font-size:11px; margin:12px 0 0; min-height:19px; }
.shop-selection-note a { text-decoration:underline; }
.shop-preorder { min-height:86px; }
.shop-book-image { display:flex; align-items:center; justify-content:center; perspective:1300px; background:radial-gradient(ellipse at center,#ece3d3,#ddd4c4); }
.shop-book { width:48%; position:relative; transform:rotateY(-14deg) rotateZ(-3deg); box-shadow:22px 24px 22px #3d271540; }
.shop-book:before { content:''; position:absolute; width:12px; top:2px; bottom:2px; left:-12px; background:linear-gradient(90deg,#48150f,#a33522); transform:skewY(-8deg); transform-origin:right; }
.shop-book img { width:100%; height:auto; border:1px solid #7d291d; }
.shop-details { display:grid; grid-template-columns:1fr 2fr; gap:60px; border-top:1px solid #d6cbb9; padding:48px 0 64px; margin-top:60px; }
.shop-details h2 { font-size:30px; line-height:1.2; }
.shop-details details { padding:18px 0; border-bottom:1px solid #d8cebe; font-size:13px; line-height:1.7; }
.shop-details details:first-child { padding-top:0; }
.shop-details summary { font-weight:700; cursor:pointer; }
.shop-details details p { color:#685e50; margin:12px 0 0; }
.shop-dialog { padding:28px; width:min(580px,calc(100% - 32px)); max-height:calc(100dvh - 40px); color:#28241f; background:#fcfaf5; border:1px solid #d8c9af; border-radius:8px; box-shadow:0 24px 100px #0007; }
.shop-dialog::backdrop { background:#100b08aa; backdrop-filter:blur(3px); }
.shop-dialog-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.shop-dialog-heading h2 { font-size:25px; line-height:1.2; }
.shop-dialog-heading button { border:0; background:#eee8dc; color:#40372c; border-radius:50%; width:34px; height:34px; font-size:24px; flex-shrink:0; }
.shop-dialog p { font-size:14px; line-height:1.7; }
.shop-dialog-note { color:#756958; font-size:12px!important; }
.shop-bag-line { display:grid; grid-template-columns:96px minmax(0,1fr); gap:14px; border-bottom:1px solid #ded4c4; padding:18px 0; }
.shop-bag-line>img { width:96px; height:104px; object-fit:contain; background:#eee9df; border-radius:4px; }
.shop-line-preview { grid-column:1/-1; }
.shop-line-preview summary { cursor:pointer; font-size:12px; color:#6b4819; text-decoration:underline; text-underline-offset:3px; }
.shop-line-pictures { display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:12px; margin-top:14px; }
.shop-line-pictures figure { margin:0; min-width:0; }
.shop-line-pictures img { width:100%; aspect-ratio:1; object-fit:contain; background:#eee9df; border-radius:4px; }
.shop-line-pictures figcaption { text-align:center; margin-top:6px; font-size:12px; }
.shop-bag-line h3 { font:700 14px Inter,system-ui,sans-serif; margin-bottom:5px; }
.shop-line-detail { font-size:12px; color:#786b59; }
.shop-line-controls { display:flex; align-items:center; gap:12px; margin-top:12px; flex-wrap:wrap; }
.shop-line-controls label { font-size:12px; }
.shop-line-controls input { margin-left:7px; width:60px; padding:6px; border:1px solid #cfc1a9; background:#fff; color:#29251f; border-radius:3px; }
.shop-line-controls button { border:0; background:none; font-size:12px; text-decoration:underline; color:#7d482e; }
.shop-bag-totals { margin:24px 0; font-size:13px; }
.shop-bag-totals>div { display:flex; justify-content:space-between; gap:12px; margin:14px 0; }
.shop-order-total { border-top:1px solid #cfc1a9; padding-top:16px; }
.shop-full-width { width:100%; justify-content:center; }
.shop-empty { padding:26px 0; color:#756958; }
@media(min-width:1100px) { .shop-page .site-header { padding-left:max(24px,calc((100% - 1180px)/2)); padding-right:max(24px,calc((100% - 1180px)/2)); } }
@media(max-width:800px) { .shop-intro { padding-top:36px; align-items:flex-start; flex-direction:column; }.shop-intro-actions { justify-content:flex-start; }.shop-grid { gap:18px; }.shop-product-body { padding:18px; }.shop-product-title { flex-direction:column; gap:8px; }.shop-product-title h2 { font-size:21px; }.shop-options { align-items:flex-start; flex-direction:column; gap:14px; }.shop-details { gap:25px; grid-template-columns:1fr; }.shop-details h2 br { display:none; } }
@media(max-width:560px) { .shop-page main { padding:0 18px; }.shop-grid { grid-template-columns:1fr; gap:24px; }.shop-steam { padding:12px 18px; font-size:11px; }.shop-steam>span { max-width:115px; }.shop-status { align-items:flex-start; }.shop-status-dot { margin-top:7px; }.shop-catalog-toolbar { align-items:flex-start; }.shop-catalog-toolbar>[data-result-count] { display:none; }.shop-filters button { padding:9px 12px; font-size:12px; }.shop-options { flex-direction:row; align-items:flex-end; }.shop-size select { min-width:125px; }.shop-product-title { flex-direction:row; }.shop-product-title h2 { font-size:20px; }.shop-dialog { padding:20px; }.shop-intro h1 { font-size:37px; } }
@media(prefers-reduced-motion:reduce) { .shop-page * { scroll-behavior:auto!important; transition:none!important; } }

.shop-preview-note { color:#685e50; font-size:12px; line-height:1.65; margin:12px 0 0; max-width:900px; }
.shop-mockup { max-width:calc(100% - 36px); }

.shop-objective-image{display:flex;align-items:center;justify-content:center;gap:0;padding:44px 32px}.shop-objective-image>img{width:49%;height:auto;box-shadow:0 5px 16px #30271820;transform:rotate(-8deg)}.shop-objective-image>img+img{transform:rotate(7deg);margin-left:-6%}.shop-price[aria-live]{min-width:5em}

.shop-objective-image>img{border-radius:14px}.shop-bag-line img[src*="objective-card"]{border-radius:10px}

/* Printed miniatures */
.shop-mini-filters{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:0 auto 22px;max-width:1320px;padding:0 32px}.shop-mini-filters[hidden]{display:none}.shop-mini-filters label{display:grid;gap:6px;font-weight:700}.shop-mini-filters select{padding:10px;border:1px solid #887752;border-radius:6px;background:#211c16;color:#f5eee0}.shop-mini-filters p{flex:1;min-width:240px;font-size:14px;color:#c9c1af;margin:0}.shop-mini-photos{position:relative;display:flex;align-items:center;justify-content:center;background:#fff;min-height:260px;aspect-ratio:1.25;overflow:hidden}.shop-mini-photos a{display:block;width:100%;height:100%}.shop-mini-photos img{width:100%;height:100%;object-fit:contain}.shop-bundle-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:60% 40%}.shop-bundle-photos a:first-child{grid-column:1 / -1}.shop-mini-photos .shop-mockup{position:absolute;bottom:8px;left:8px;right:8px;font-size:11px;pointer-events:none}.shop-print-lead{font-size:13px;color:#e7c86b}.shop-bundle-saving{font-weight:700;color:#e7c86b}.shop-mini-card .eyebrow{font-size:11px;margin-bottom:6px}@media(max-width:600px){.shop-mini-filters{padding:0 16px}}

.shop-mini-filters p{color:#665b48}.shop-print-lead{color:#66511b}.shop-bundle-saving{color:#755211}.shop-mini-filters label[hidden]{display:none}
