/* Sludgebang shop: same tokens/type as index.html */
:root{--bg:#070707;--bg2:#0f0f0f;--line:#231012;--red:#e3262f;--red2:#ff3b44;--dim:#9a8f8f;--txt:#eee}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--txt);font:16px/1.6 Inter,system-ui,sans-serif;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
h1,h2,h3,.bebas{font-family:"Bebas Neue",Impact,sans-serif;font-weight:400;letter-spacing:.04em;color:var(--red)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px;width:100%}
nav{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px 22px;background:linear-gradient(#070707f5,#07070700)}
nav img{height:40px}
nav .links{display:flex;gap:22px;font-family:"Bebas Neue";font-size:20px;letter-spacing:.08em;align-items:center}
nav .links a:hover,nav .links a.on{color:var(--red)}
.cartlink b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;margin-left:4px;background:var(--red);color:#000;font-weight:400;font-size:16px}
@media(max-width:640px){nav .links{gap:14px;font-size:17px}nav img{height:32px}}
.kicker{font-family:"Bebas Neue";letter-spacing:.35em;color:var(--dim);font-size:16px}
.kicker{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shophead{padding:120px 0 10px;background:radial-gradient(ellipse at 50% 0,#2a0b0e 0,#070707 70%)}
.shophead h1{font-size:clamp(64px,12vw,140px);line-height:.9;filter:drop-shadow(0 0 30px #e3262f55)}
main,main.wrap{flex:1;padding:30px 20px 90px}
.loading{font-family:"Bebas Neue";letter-spacing:.3em;color:var(--dim);padding:60px 0;text-align:center}
.cta{display:inline-flex;gap:10px;align-items:center;justify-content:center;margin-top:22px;padding:14px 30px;border:2px solid var(--red);color:var(--red);font-family:"Bebas Neue";font-size:24px;letter-spacing:.1em;transition:.2s;background:none;cursor:pointer}
.cta:hover{background:var(--red);color:#000}
.cta.solid{background:var(--red);color:#000}
.cta.solid:hover{background:var(--red2)}
.cta[disabled]{opacity:.4;cursor:not-allowed;background:none;color:var(--red)}
.tag{display:inline-block;font-family:"Bebas Neue";letter-spacing:.2em;font-size:15px;color:#000;background:var(--red);padding:3px 10px;margin-bottom:14px}
.sub{color:var(--dim);max-width:640px}
.back{font-family:"Bebas Neue";letter-spacing:.15em;color:var(--dim);display:inline-block;margin-bottom:22px}
.back:hover{color:var(--red)}
/* grid */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:18px}
.pcard{background:var(--bg2);border:1px solid var(--line);transition:.2s;display:flex;flex-direction:column}
.pcard:hover{border-color:var(--red);transform:translateY(-3px)}
.pcard .im{aspect-ratio:1;background:#111;overflow:hidden}
.pcard img{width:100%;height:100%;object-fit:cover;transition:.3s}
.pcard:hover img{transform:scale(1.04)}
.pcard .meta{padding:16px 18px 18px}
.pcard h3{font-size:28px;line-height:1;margin-bottom:6px}
.price{font-family:"Bebas Neue";letter-spacing:.12em;font-size:22px;color:var(--txt)}
.soldout{color:var(--dim);font-family:"Bebas Neue";letter-spacing:.15em;margin-left:8px}
/* product */
.pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start}
@media(max-width:820px){.pdp{grid-template-columns:1fr;gap:26px}}
.gal .main{aspect-ratio:1;background:#111;border:1px solid var(--line);overflow:hidden}
.gal .main img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;padding-bottom:4px}
.thumbs button{flex:none;width:66px;height:66px;padding:0;border:1px solid var(--line);background:#111;cursor:pointer}
.thumbs button.on{border-color:var(--red)}
.thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.pdp h2{font-size:clamp(44px,7vw,72px);line-height:.95;margin-bottom:8px}
.opt{margin-top:22px}
.opt .lbl{font-family:"Bebas Neue";letter-spacing:.2em;color:var(--dim);margin-bottom:8px}
.opt .lbl b{color:var(--txt);font-weight:400}
.vals{display:flex;flex-wrap:wrap;gap:8px}
.vals button{min-width:52px;padding:9px 14px;background:#000;border:1px solid #3a1a1d;color:var(--txt);font-family:"Bebas Neue";font-size:19px;letter-spacing:.08em;cursor:pointer;transition:.15s}
.vals button:hover{border-color:var(--red)}
.vals button.on{border-color:var(--red);background:var(--red);color:#000}
.vals button{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.1}
.vals button.na{color:#6e6363;border-style:dashed;border-color:#3a1a1d;background:#0a0a0a}
.vals button.na .t{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}
.vals button small{display:block;font-size:11px;letter-spacing:.14em;color:var(--red);margin-top:2px}
.vals button.na.on{background:#1a0a0b;color:var(--txt);border-style:solid;border-color:var(--red)}
.vals button.sw.na{position:relative;opacity:.6}
.vals button.sw.na:after{content:"";position:absolute;left:50%;top:-3px;bottom:-3px;width:2px;background:var(--red);transform:translateX(-50%) rotate(45deg)}
.nalbl{color:var(--red)}
.vals button.sw{width:38px;min-width:38px;height:38px;padding:0;border-radius:50%;border:2px solid #3a1a1d}
.vals button.sw.on{outline:2px solid var(--red);outline-offset:2px;background:inherit}
.qty{display:inline-flex;border:1px solid #3a1a1d;margin-top:8px}
.qty button{background:#000;color:var(--txt);border:0;width:42px;font-size:20px;cursor:pointer}
.qty button:hover{color:var(--red)}
.qty span{min-width:44px;display:grid;place-items:center;font-family:"Bebas Neue";font-size:22px}
.desc{color:var(--dim);margin-top:28px;white-space:pre-line;font-size:15px;border-top:1px solid var(--line);padding-top:20px}
.fine{color:#6e6363;font-size:13px;margin-top:12px}
/* cart */
.cart{max-width:820px}
.line{display:grid;grid-template-columns:88px 1fr auto;gap:18px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.line img{width:88px;height:88px;object-fit:cover;background:#111;border:1px solid var(--line)}
.line h3{font-size:26px;line-height:1}
.line .vt{color:var(--dim);font-size:14px}
.line .rm{background:none;border:0;color:var(--dim);font-family:"Bebas Neue";letter-spacing:.15em;cursor:pointer;margin-left:12px}
.line .rm:hover{color:var(--red)}
.tot{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;font-family:"Bebas Neue";font-size:30px;letter-spacing:.08em}
.err{color:var(--red2);margin-top:14px}
.coerr .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.coerr .sub{margin:0 auto}
.linkbtn{background:none;border:0;padding:0;color:var(--red);font:inherit;text-decoration:underline;cursor:pointer}
.slowhint{border:1px solid var(--red);background:linear-gradient(135deg,#1a0709,#070707);padding:20px 22px;margin:0 0 18px;text-align:center}
.slowhint b{font-family:"Bebas Neue";font-weight:400;font-size:28px;letter-spacing:.08em;color:var(--red)}
.slowhint p{color:var(--dim);max-width:560px;margin:4px auto 0}
.slowhint .btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
#checkout{min-height:420px;margin-top:10px;border-radius:6px;overflow:hidden}
.center{text-align:center;padding:30px 0}
.center .sub{margin:0 auto}
form.list{display:flex;gap:10px;margin:22px auto 0;flex-wrap:wrap;justify-content:center;max-width:560px}
form.list input{flex:1;min-width:220px;background:#000;border:1px solid #3a1a1d;color:var(--txt);padding:14px 16px;font:inherit}
form.list input:focus{outline:none;border-color:var(--red)}
form.list button{background:var(--red);color:#000;border:0;padding:14px 26px;font-family:"Bebas Neue";font-size:22px;letter-spacing:.1em;cursor:pointer}
footer{border-top:1px solid var(--line);padding:50px 0 60px;text-align:center}
.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;font-family:"Bebas Neue";font-size:22px;letter-spacing:.12em}
.socials a:hover{color:var(--red)}
footer small{display:block;color:#5d5555;margin-top:22px;font-size:13px}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,40px);opacity:0;transition:.3s;background:var(--red);color:#000;font-family:"Bebas Neue";font-size:22px;letter-spacing:.1em;padding:10px 22px;z-index:30;pointer-events:none}
.toast.on{opacity:1;transform:translate(-50%,0)}
body.subview .shophead{padding:92px 0 0;background:none}body.subview .shophead h1{display:none}
@media(max-width:640px){
.shophead{padding-top:96px}
.shophead .kicker{font-size:13px;letter-spacing:.2em}
.pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pcard .meta{padding:10px 12px 14px}
.pcard h3{font-size:20px;margin-bottom:4px}
.pcard .price{font-size:17px;letter-spacing:.08em}
.pcard .soldout{display:block;margin:0;font-size:14px}
.pcard:hover{transform:none}
main,main.wrap{padding:22px 14px 70px}
}
