body.shop { background:#050f19; }
.shop header { position:sticky; top:0; z-index:5; align-items:center; background:rgba(5,15,25,.92); backdrop-filter:blur(8px); }
.shop header a { text-decoration:none; font-weight:700; letter-spacing:.06em; }
.shop header a:first-child { color:var(--gold); }
.shop main { max-width:1040px; padding:0 1rem 3rem; }

.hero { margin:0 -1rem; padding:clamp(2.5rem,9vw,5rem) 1.25rem; text-align:center;
  background:radial-gradient(ellipse at 50% 0,rgba(255,209,102,.18),transparent 60%),linear-gradient(180deg,#0f2a3d,#050f19); border-bottom:1px solid var(--line); }
.hero h1 { margin:.2rem 0 .6rem; font-size:clamp(2.4rem,9vw,4.6rem); letter-spacing:.08em; line-height:1.05; }
.hero h1 span { color:var(--text); }
.hero p { max-width:560px; margin:0 auto 1.5rem; color:var(--muted); font-size:1.1rem; }
.btn { display:inline-block; padding:.8rem 1.6rem; border-radius:999px; background:var(--gold); color:#061421; font-weight:800; text-decoration:none; border:0; }
.btn.ghost { background:transparent; color:var(--gold); border:2px solid var(--gold); margin-left:.5rem; }

.section-title { margin:2.5rem 0 1rem; color:var(--text); font-size:1.5rem; letter-spacing:.04em; }
.section-title::after { content:""; display:block; width:56px; height:3px; margin-top:.4rem; background:var(--gold); border-radius:2px; }

.catalogue { display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); }
.card { display:flex; flex-direction:column; background:linear-gradient(180deg,#112e41,#0b2132); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.35); }
.card-art { display:grid; place-items:center; padding:1.5rem 1rem 1rem; background:radial-gradient(circle at 50% 40%,rgba(117,216,245,.14),transparent 70%); }
.card-art svg { width:min(190px,60%); height:auto; filter:drop-shadow(0 8px 12px rgba(0,0,0,.5)); }
.card-body { padding:1rem 1.25rem 1.4rem; display:flex; flex-direction:column; gap:.5rem; flex:1; }
.card h3 { margin:0; font-size:1.25rem; color:var(--text); }
.card .tag { align-self:flex-start; font-size:.75rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; padding:.15rem .6rem; border-radius:999px; background:rgba(255,209,102,.15); color:var(--gold); }
.card .price { margin:0; font-size:1.7rem; }
.sizes { display:grid; grid-template-columns:repeat(4,1fr); gap:.5rem; margin:.4rem 0 .2rem; }
.size { text-align:center; padding:.45rem .2rem; border:1px solid var(--line); border-radius:10px; background:#0a1c2a; }
.size b { display:block; font-size:1.05rem; }
.size small { display:block; font-size:.75rem; color:var(--muted); }
.size.in { border-color:rgba(85,212,135,.6); }
.size.in small { color:var(--green); font-weight:700; }
.size.out { opacity:.55; }
.size.out small { color:#ff9898; }
.card .btn { margin-top:auto; text-align:center; }
.card .btn[aria-disabled="true"] { opacity:.5; pointer-events:none; }

.card.soon .card-art { opacity:.55; }
.card.soon .soon-text { color:var(--muted); margin:0; }

.steps { display:grid; gap:1rem; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); counter-reset:step; padding:0; list-style:none; }
.steps li { counter-increment:step; background:rgba(16,43,60,.8); border:1px solid var(--line); border-radius:14px; padding:1rem 1.1rem; }
.steps li::before { content:counter(step); display:inline-grid; place-items:center; width:2rem; height:2rem; margin-bottom:.4rem; border-radius:50%; background:var(--gold); color:#061421; font-weight:800; }
.steps b { display:block; color:var(--gold); }

.contact-box { text-align:center; margin-top:2.5rem; padding:1.5rem; border:1px dashed var(--gold); border-radius:16px; background:rgba(255,209,102,.06); }
.contact-box .contact { margin:.4rem 0 0; }
#store-status { text-align:center; }
.shop footer { text-align:center; padding:1.5rem; color:var(--muted); font-size:.9rem; }

@media (max-width:480px) { .btn.ghost { margin:.6rem 0 0; } }

.photo-holder { display:grid; place-items:center; width:100%; }
.shirt-photo { width:100%; max-width:420px; height:auto; border-radius:12px; }
.hero-logo { width:clamp(140px,38vw,210px); height:auto; margin:0 auto .5rem; display:block; filter:drop-shadow(0 8px 24px rgba(0,0,0,.6)); }
.size.soon small { color:var(--gold); }

.order-list { width:100%; min-width:0; font-size:.88rem; border-collapse:collapse; }
.order-list th, .order-list td { text-align:left; padding:.35rem .6rem; }
.order-list td:nth-child(3), .order-list th:nth-child(3) { white-space:nowrap; text-align:right; }
.order-list tbody tr:nth-child(even) { background:rgba(255,255,255,.03); }
.payment-paid { color:#55d487; font-weight:700; }
.payment-unpaid { color:#ff9898; font-weight:700; }
.extra-note { margin:1.5rem 0 0; padding:.8rem 1rem; border:1px solid rgba(255,209,102,.6); border-radius:12px; background:rgba(255,209,102,.1); color:var(--gold); text-align:center; font-weight:700; }
