:root{
  --s-bg:var(--pit,#0A0A0B); --s-raise:var(--ash,#141416); --s-card:var(--smoke,#1E1E21); --s-line:var(--steel,#2A2A2E);
  --s-text:var(--bone,#F2F0EC); --s-mute:var(--grit,#8A8A90); --s-red:var(--blood,#C4161C); --s-red2:var(--blood-lit,#FF2A32); --s-red-rgb:196,22,28;
  --s-display:"Anton",Impact,"Arial Narrow Bold",sans-serif; --s-body:"Barlow Condensed","Arial Narrow",sans-serif;
}
.shop{padding:56px 0 84px}
.shop *{box-sizing:border-box}

/* partner notice */
.shop-note{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;
  background:linear-gradient(135deg,rgba(var(--s-red-rgb),.16),var(--s-raise) 62%);border:1px solid rgba(var(--s-red-rgb),.45);
  border-left:5px solid var(--s-red);padding:18px 24px;margin-bottom:34px}
.shop-note strong{font-family:var(--s-display);font-weight:400;font-size:1.5rem;letter-spacing:.05em;text-transform:uppercase;display:block;line-height:1.1}
.shop .shop-note p{max-width:70ch;color:var(--s-mute);font-size:.98rem;margin-top:4px;max-width:70ch}
.shop-note .ceo{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--s-text);
  border:1px solid var(--s-line);padding:8px 14px;white-space:nowrap}

/* filters */
.shop-bar{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;justify-content:space-between;margin-bottom:28px}
.shop-chips{display:flex;flex-wrap:wrap;gap:8px}
.shop-chip{background:transparent;border:1px solid var(--s-line);color:var(--s-mute);cursor:pointer;
  font-family:var(--s-display);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;padding:8px 16px 7px;transition:.15s}
.shop-chip:hover{color:var(--s-text);border-color:var(--s-mute)}
.shop-chip[aria-pressed="true"]{color:var(--s-text);border-color:var(--s-red);background:var(--s-red)}
.shop-chip small{font-family:var(--s-body);font-size:.75rem;opacity:.7;margin-left:6px;letter-spacing:.06em}
.shop-search{width:min(280px,100%);background:var(--s-raise);border:1px solid var(--s-line);color:var(--s-text);
  padding:10px 14px;font-family:inherit;font-size:1rem}
.shop-bar-r{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.shop-seg{display:flex;border:1px solid var(--s-line)}
.shop-seg button{background:transparent;border:0;color:var(--s-mute);cursor:pointer;font-family:var(--s-display);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;padding:8px 14px 7px}
.shop-seg button+button{border-left:1px solid var(--s-line)}
.shop-seg button[aria-pressed="true"]{background:var(--s-text);color:var(--s-bg)}
.shop-lines-row{display:flex;gap:10px 14px;align-items:center;flex-wrap:wrap;margin:-12px 0 28px}
.shop-lbl{font-family:var(--s-display);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;color:var(--s-mute)}
.shop-chips.small .shop-chip{font-size:.85rem;padding:6px 12px 5px}
.shop-chips.small .shop-chip[aria-pressed="true"]{background:transparent;border-color:var(--s-red2);color:var(--s-text);box-shadow:inset 0 -3px 0 var(--s-red2)}
.shop-eyebrow{font-family:var(--s-display);font-size:.85rem;letter-spacing:.24em;text-transform:uppercase;color:var(--s-red2)}
.shop-search:focus{outline:none;border-color:var(--s-red)}

/* grid */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px}
.shop-card{background:var(--s-card);border:1px solid var(--s-line);cursor:pointer;text-align:left;color:inherit;
  font:inherit;padding:0;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;position:relative}
.shop-card:hover,.shop-card:focus-visible{border-color:var(--s-red);transform:translateY(-5px)}
.shop-card .img{aspect-ratio:1/1;background:#111;overflow:hidden;position:relative}
.shop-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.shop-card:hover .img img{transform:scale(1.04)}
.shop-card .info{padding:14px 16px 16px;border-top:2px solid var(--s-red);display:flex;flex-direction:column;gap:6px;flex:1}
.shop-card h3{font-family:var(--s-display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:1.08rem;line-height:1.1;margin:0}
.shop-card .price{font-size:.95rem;color:var(--s-text);letter-spacing:.04em;margin-top:auto}
.shop-card .price s{color:var(--s-mute);margin-left:6px}
.shop-tag{position:absolute;top:10px;left:10px;z-index:2;background:var(--s-red);color:#fff;font-size:.66rem;
  letter-spacing:.18em;text-transform:uppercase;font-weight:700;padding:4px 9px}
.shop-tag.out{background:#000;border:1px solid var(--s-line);color:var(--s-mute)}
.shop-empty,.shop-loading{grid-column:1/-1;text-align:center;color:var(--s-mute);padding:60px 0;letter-spacing:.1em;text-transform:uppercase}

/* product dialog */
.shop-dlg{margin:auto;border:0;padding:0;background:transparent;max-width:min(980px,calc(100vw - 32px));width:100%;color:var(--s-text)}
.shop-dlg::backdrop{background:rgba(5,5,6,.82);backdrop-filter:blur(3px)}
.shop-pv{background:var(--s-raise);border:1px solid var(--s-line);border-top:3px solid var(--s-red);display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);position:relative;max-height:calc(100vh - 48px);overflow:auto}
.shop-x{position:absolute;top:8px;right:10px;z-index:3;background:rgba(10,10,11,.8);border:1px solid var(--s-line);
  color:var(--s-text);width:40px;height:40px;font-size:1.4rem;cursor:pointer;line-height:1}
.shop-dhead .shop-x{position:static}
.shop-x:hover{border-color:var(--s-red);color:var(--s-red2)}
.shop-gal{background:#0d0d0e;display:flex;flex-direction:column}
.shop-gal .main{aspect-ratio:1/1;overflow:hidden}
.shop-gal .main img{width:100%;height:100%;object-fit:contain}
.shop-thumbs{display:flex;gap:6px;padding:8px;overflow-x:auto}
.shop-thumbs button{flex:none;width:58px;height:58px;padding:0;border:1px solid var(--s-line);background:#111;cursor:pointer}
.shop-thumbs button[aria-current="true"]{border-color:var(--s-red)}
.shop-thumbs img{width:100%;height:100%;object-fit:cover}
.shop-det{padding:30px 28px;display:flex;flex-direction:column;gap:16px}
.shop-det h2{font-family:var(--s-display);font-weight:400;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:clamp(1.6rem,3vw,2.3rem);line-height:.98;padding-right:36px}
.shop-det .price{font-family:var(--s-display);font-size:1.6rem;color:var(--s-red2);letter-spacing:.03em}
.shop-det .price s{color:var(--s-mute);font-size:1.1rem;margin-left:8px}
.shop-opt legend{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--s-mute);font-weight:600;margin-bottom:8px}
.shop-opt{border:0;padding:0;margin:0}
.shop-opt .vals{display:flex;flex-wrap:wrap;gap:6px}
.shop-opt button{min-width:50px;background:transparent;border:1px solid var(--s-line);color:var(--s-text);cursor:pointer;
  font-family:inherit;font-size:.95rem;font-weight:600;letter-spacing:.06em;padding:8px 12px}
.shop-opt button:hover{border-color:var(--s-mute)}
.shop-opt button[aria-pressed="true"]{border-color:var(--s-red);background:var(--s-red);color:#fff}
.shop-opt button.na{opacity:.38;text-decoration:line-through}
.shop-buy{display:flex;gap:10px;align-items:stretch;flex-wrap:wrap}
.shop-qty{display:flex;border:1px solid var(--s-line)}
.shop-qty button{width:40px;background:transparent;border:0;color:var(--s-text);font-size:1.2rem;cursor:pointer}
.shop-qty button:hover{color:var(--s-red2)}
.shop-qty span{min-width:34px;display:grid;place-items:center;font-weight:700}
.shop-add{flex:1;min-width:180px;cursor:pointer;font-size:1rem}
.shop-add[disabled]{opacity:.45;cursor:not-allowed}
.shop-desc{color:#cfcdc9;font-size:.98rem;border-top:1px solid var(--s-line);padding-top:16px}
.shop-desc p,.shop-desc ul{margin-bottom:10px}
.shop-desc ul{padding-left:18px}
.shop-desc img{display:none}
.shop-small{font-size:.82rem;color:var(--s-mute);letter-spacing:.04em}

/* cart button + drawer */
.shop-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:20px;z-index:95;display:flex;align-items:center;gap:10px;
  background:var(--s-red);color:#fff;border:2px solid var(--s-red);cursor:pointer;padding:12px 18px;
  font-family:var(--s-display);font-size:1rem;letter-spacing:.12em;text-transform:uppercase;
  box-shadow:0 8px 30px rgba(0,0,0,.55),0 0 0 0 rgba(var(--s-red-rgb),.6)}
.shop-fab:hover{background:var(--s-bg);color:var(--s-red2);border-color:var(--s-red2)}
.shop-fab b{background:#fff;color:var(--s-red);min-width:24px;height:24px;border-radius:12px;display:grid;place-items:center;
  font-family:var(--s-body);font-size:.9rem;padding:0 6px}
.shop-fab.bump{animation:shopBump .45s}
@keyframes shopBump{30%{transform:scale(1.12)}100%{transform:scale(1)}}
.shop-fab[hidden]{display:none}
.shop-drawer{position:fixed;inset:0;z-index:120;pointer-events:none}
.shop-drawer .scrim{position:absolute;inset:0;background:rgba(5,5,6,.7);opacity:0;transition:opacity .2s}
.shop-drawer .panel{position:absolute;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--s-raise);
  border-left:2px solid var(--s-red);transform:translateX(100%);transition:transform .25s;display:flex;flex-direction:column}
.shop-drawer.open{pointer-events:auto}
.shop-drawer.open .scrim{opacity:1}
.shop-drawer.open .panel{transform:none}
.shop-dhead{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid var(--s-line)}
.shop-dhead h2{font-family:var(--s-display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:1.8rem;margin:0}
.shop-dhead h2::before,.shop-det h2::before{content:none}
.shop-lines{flex:1;overflow:auto;padding:8px 20px;list-style:none;margin:0}
.shop-line{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--s-line);align-items:start}
.shop-line img{width:64px;height:64px;object-fit:cover;background:#111;border:1px solid var(--s-line)}
.shop-line h4{font-family:var(--s-display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:1.1rem;line-height:1.1}
.shop-line .v{font-size:.82rem;color:var(--s-mute);letter-spacing:.06em}
.shop-line .lp{font-weight:700;text-align:right}
.shop-line .row{display:flex;align-items:center;gap:10px;margin-top:8px}
.shop-line .shop-qty button{width:30px;font-size:1rem}
.shop-line .shop-qty span{min-width:26px;font-size:.9rem}
.shop-rm{background:none;border:0;color:var(--s-mute);font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;text-decoration:underline}
.shop-rm:hover{color:var(--s-red2)}
.shop-foot{padding:18px 20px 22px;border-top:1px solid var(--s-line);display:grid;gap:12px;background:var(--s-bg)}
.shop-sub{display:flex;justify-content:space-between;font-family:var(--s-display);font-size:1.3rem;letter-spacing:.04em;text-transform:uppercase}
.shop-handoff{font-size:.86rem;color:var(--s-mute);line-height:1.45;border-left:3px solid var(--s-red);padding:4px 0 4px 12px}
.shop-handoff b{color:var(--s-text)}
.shop-go{text-align:center;cursor:pointer;font-size:1.02rem;width:100%}
.shop-go[aria-disabled="true"]{opacity:.45;pointer-events:none}
.shop-cartempty{color:var(--s-mute);text-align:center;padding:50px 0;letter-spacing:.12em;text-transform:uppercase;font-size:.9rem}

@media(max-width:760px){
  .shop{padding-top:34px}
  .shop-pv{grid-template-columns:1fr}
  .shop-det{padding:22px 18px}
  .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .shop-card .info{padding:10px 12px 12px}
  .shop-card h3{font-family:var(--s-display);font-weight:400;text-transform:uppercase;letter-spacing:.05em;font-size:.95rem}
  .shop-search{width:100%}
  .shop-note{padding:16px 18px}
}

.shop-dhead h2{font-size:1.7rem}
.shop-card h3,.shop-line h4,.shop-det h2,.shop-note strong{letter-spacing:.03em}

/* ---------- merch hero + highlights ---------- */
.mh{position:relative;overflow:hidden;isolation:isolate;border-bottom:2px solid var(--blood);
  background:linear-gradient(90deg,rgba(10,10,11,.96) 0%,rgba(10,10,11,.84) 45%,rgba(10,10,11,.55) 100%),url("/assets/bg/bg-rock-dark-2560x1440.jpg") center/cover no-repeat,var(--pit)}
.mh::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(55% 80% at 78% 50%,rgba(196,22,28,.4),transparent 70%)}
.mh::after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.18) 3px 4px);opacity:.5}
.mh-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;min-height:min(72vh,660px);padding-top:60px;padding-bottom:70px;position:relative;z-index:1}
.mh h1{font-size:clamp(3.2rem,8vw,6.4rem);line-height:.88;margin:12px 0 18px;text-shadow:0 0 34px rgba(196,22,28,.45)}
.mh h1 em{font-style:normal;color:var(--blood-lit)}
.mh .lede{color:#D8D6D2;font-size:1.15rem;max-width:44ch;margin-bottom:28px}
.mh-cta{display:flex;gap:14px;flex-wrap:wrap}
.mh-fine{margin-top:22px;color:var(--grit);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase}
.mh-stack{position:relative;height:clamp(320px,40vw,500px)}
.mh-stack a{position:absolute;width:50%;aspect-ratio:1;background:#111 center/cover no-repeat;border:1px solid rgba(255,255,255,.14);
  box-shadow:0 30px 60px rgba(0,0,0,.65);transition:transform .35s}
.mh-stack a:nth-child(1){left:0;top:20%;transform:rotate(-8deg)}
.mh-stack a:nth-child(2){left:24%;top:0;z-index:2;width:56%;transform:rotate(2deg)}
.mh-stack a:nth-child(3){right:0;top:30%;transform:rotate(9deg)}
.mh-stack:hover a:nth-child(1){transform:rotate(-11deg) translateX(-8px)}
.mh-stack:hover a:nth-child(3){transform:rotate(12deg) translateX(8px)}
.mh-stack a span{position:absolute;left:-6px;bottom:-14px;background:var(--blood);color:#fff;font-family:"Anton",Impact,sans-serif;font-size:.9rem;
  letter-spacing:.1em;text-transform:uppercase;padding:6px 12px 4px;max-width:96%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mh-stack a:not(:nth-child(2)) span{display:none}
@media(max-width:900px){.mh-grid{grid-template-columns:1fr;padding-top:40px;gap:30px}.mh-stack{height:clamp(240px,70vw,380px);max-width:520px}}
.perks{background:var(--ash);border-bottom:1px solid var(--steel)}
.perks .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.perk{padding:22px 20px;border-right:1px solid var(--steel);display:flex;flex-direction:column;gap:4px}
.perk:last-child{border-right:0}
.perk strong{font-family:"Anton",Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;font-size:1.15rem}
.perk span{color:var(--grit);font-size:.95rem;line-height:1.35}
a.perk:hover strong{color:var(--blood-lit)}
@media(max-width:900px){.perks .wrap{grid-template-columns:1fr 1fr}.perk:nth-child(2){border-right:0}.perk:nth-child(-n+2){border-bottom:1px solid var(--steel)}}
.mtiles{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:16px;padding-top:56px}
.mtile{position:relative;overflow:hidden;isolation:isolate;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;padding:22px;
  border:1px solid var(--steel);background:var(--ash);transition:border-color .2s,transform .2s}
.mtile:hover{border-color:var(--blood);transform:translateY(-4px)}
.mtile .bg{position:absolute;inset:0;z-index:-2;background:#111 center/cover no-repeat;transition:transform .5s}
.mtile:hover .bg{transform:scale(1.05)}
.mtile::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(10,10,11,.95) 12%,rgba(10,10,11,.35) 60%,rgba(10,10,11,.05))}
.mtile small{font-size:.74rem;letter-spacing:.24em;text-transform:uppercase;font-weight:700;color:var(--blood-lit)}
.mtile h3{font-size:clamp(1.8rem,3.4vw,2.8rem);margin:6px 0 8px}
.mtile .go{font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--grit)}
.mtile:hover .go{color:var(--bone)}
@media(max-width:900px){.mtiles{grid-template-columns:1fr 1fr}.mtiles .mtile:first-child{grid-column:span 2}}
@media(max-width:520px){.mtiles{grid-template-columns:1fr}.mtiles .mtile:first-child{grid-column:auto}.mtile{min-height:220px}}
.shop-title{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.shop-title h2{font-size:clamp(2.2rem,4.5vw,3.4rem)}
#shop{scroll-margin-top:96px}
.shop-cur select{background:var(--s-raise);color:var(--s-text);border:1px solid var(--s-line);font:inherit;font-weight:700;padding:2px 6px;margin:0 2px;cursor:pointer}
