@font-face{font-family:Montserrat;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Store layer. Loaded after /css/blog.css, which defines the palette variables once (:root). Primary buttons use --btn* (original sun gold, dark text); --gold/--gold2 are the brass accents. */
.sc-banner{background:#7a1f1f;color:var(--off);text-align:center;font-size:.78rem;letter-spacing:.06em;padding:6px 12px}
.sc-head{display:flex;align-items:center;gap:16px;flex-wrap:wrap;max-width:1200px;margin:0 auto;padding:14px 24px}
.sc-head .logo img{height:48px;width:auto;display:block}
.sc-search{flex:1 1 260px;display:flex;gap:6px;max-width:520px;margin-left:auto}
.sc-search input{flex:1;padding:10px 12px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);font:inherit;min-width:0}
.sc-search button,.btn{padding:10px 16px;border:0;border-radius:6px;background:var(--btn);color:var(--btn-ink);font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.btn[disabled],.btn.off{background:color-mix(in srgb,var(--ink) 80%,#000);color:var(--muted);box-shadow:inset 0 0 0 1px var(--ink2);cursor:not-allowed}
.btn.ghost{background:transparent;color:var(--gold2);border:1px solid var(--gold)}
a.btn:not(.ghost):not(.off):hover,a.btn:not(.ghost):not(.off):focus-visible{color:var(--btn-ink)}
.btn:not(.ghost):not(.off):hover,.sc-search button:hover,#sc-chat-btn:hover{background:var(--btn-hover);color:var(--btn-ink)}
.sc-cart{color:var(--off);text-decoration:none;font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.sc-cart b{background:var(--btn);color:var(--btn-ink);border-radius:10px;padding:1px 8px;margin-left:4px}
.sc-nav{border-top:1px solid var(--ink2);border-bottom:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 86%,#000)}
.sc-nav>ul{list-style:none;margin:0 auto;padding:0 16px;max-width:1200px;display:flex;flex-wrap:wrap;gap:0 4px;justify-content:center}
.sc-nav a{display:block;padding:10px 12px;color:var(--off);text-decoration:none;font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.sc-nav a:hover,.sc-nav a:focus-visible,.sc-nav a[aria-current]{color:var(--gold2);outline:none}
.sc-nav li.sep{width:1px;background:var(--ink2);margin:8px 6px}
/* header "Shop all" (wide screens; the phone menu has its own entry) */
.sc-shopall{color:var(--off);text-decoration:none;font-weight:600;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.sc-shopall:hover,.sc-shopall:focus-visible,.sc-shopall[aria-current]{color:var(--gold2)}
.sc-nav .sc-mob-only{display:none}
/* nav: Firearms dropdown + phone menu (nav.js adds html.sc-js) */
.sc-nav{position:relative;z-index:70}
.sc-nav>ul>li{position:relative}
.sc-sub-btn{display:flex;align-items:center;gap:7px;padding:10px 12px;background:none;border:0;border-radius:0;color:var(--off);font:inherit;font-size:.78rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;cursor:pointer}
.sc-sub-btn[hidden],.sc-sub-link[hidden]{display:none}
.sc-sub-btn:hover,.sc-sub-btn:focus-visible,.has-sub.open>.sc-sub-btn,.has-sub.is-current>.sc-sub-btn,.has-sub.is-current>.sc-sub-link{color:var(--gold2);outline:none}
.sc-sub-btn:focus-visible,.sc-nav a:focus-visible,.sc-menu-btn:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.sc-sub-btn .caret{flex:none;transition:transform .15s}.has-sub.open>.sc-sub-btn .caret{transform:rotate(180deg)}
.sc-nav .sc-sub{display:none;position:absolute;left:0;top:100%;min-width:220px;z-index:80;list-style:none;margin:0;padding:6px 0;flex-direction:column;background:color-mix(in srgb,var(--ink) 94%,#000);border:1px solid var(--ink2);border-top:2px solid var(--gold);border-radius:0 0 8px 8px;box-shadow:0 14px 30px #0009}
.sc-nav .has-sub.flip>.sc-sub{left:auto;right:0}
.sc-nav .has-sub.sc-sub-2>.sc-sub{min-width:400px}.has-sub.sc-sub-2.open>.sc-sub{display:grid;grid-template-columns:1fr 1fr}
.has-sub.open>.sc-sub,html:not(.sc-js) .has-sub:hover>.sc-sub,html:not(.sc-js) .has-sub:focus-within>.sc-sub{display:flex}
.sc-sub a{padding:11px 18px;font-size:.8rem}
.sc-sub a:hover,.sc-sub a:focus-visible,.sc-sub a[aria-current]{background:color-mix(in srgb,var(--ink2) 55%,transparent)}
.sc-menu-btn{display:none;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;border:1px solid var(--gold);background:transparent;color:var(--gold2);font:inherit;font-size:.82rem;cursor:pointer;white-space:nowrap}
.sc-burger,.sc-burger::before,.sc-burger::after{display:block;width:16px;height:2px;border-radius:1px;background:currentColor;content:"";position:relative}
.sc-burger::before{position:absolute;top:-5px}.sc-burger::after{position:absolute;top:5px}
@media(max-width:720px){
 .sc-head{padding:10px 14px;gap:10px 8px}
 .sc-head .logo img{height:40px}
 .sc-search{order:10;flex:1 1 100%;max-width:none;margin-left:0}
 .sc-setup-btn{margin-left:auto}
 .sc-menu-btn{display:inline-flex}
 .sc-shopall{display:none}
 .sc-nav .sc-mob-only{display:list-item}
 .sc-nav .has-sub.sc-sub-2>.sc-sub{min-width:0}.has-sub.sc-sub-2.open>.sc-sub{display:flex}
 .sc-nav>ul{padding:0 8px;gap:0}
 html.sc-js .sc-nav{display:none}html.sc-js .sc-nav.open{display:block}
 html.sc-js .sc-nav>ul{flex-direction:column;flex-wrap:nowrap;justify-content:flex-start;padding:6px 14px}
 html.sc-js .sc-nav li.sep{width:auto;height:1px;margin:6px 0}
 html.sc-js .sc-nav>ul>li>a,html.sc-js .sc-sub-btn{width:100%;min-height:44px;padding:12px 4px;align-items:center}
 html.sc-js .sc-sub-btn{justify-content:space-between}
 .sc-nav .sc-sub,.sc-nav .has-sub.flip>.sc-sub{position:static;min-width:0;margin:0 0 8px 10px;padding:0;background:none;border:0;border-left:2px solid var(--gold);border-radius:0;box-shadow:none}
 .sc-sub a{min-height:44px;padding:12px 14px}
}
main.wide{max-width:1100px}
.hero{text-align:center;padding:32px 0 8px}
.hero h1{letter-spacing:.14em;text-transform:uppercase}
.hero p{max-width:620px;margin:0 auto 18px;font-size:1.05rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;list-style:none;padding:0;margin:20px 0}
.tile,.card{border:1px solid var(--ink2);border-radius:8px;background:color-mix(in srgb,var(--ink) 98%,var(--off));padding:18px;text-decoration:none;color:var(--off);display:block;transition:.2s}
.tile:hover,.card:hover{border-color:var(--gold);transform:translateY(-2px)}
.tile h3,.card h3{margin:0 0 6px;color:var(--gold2);font-size:1.05rem}
.tile p,.card p{margin:0;font-size:.88rem;color:var(--off);line-height:1.5}
.card .ph{aspect-ratio:4/3;background:color-mix(in srgb,var(--ink) 75%,#000);border-radius:6px;display:grid;place-items:center;margin-bottom:10px;border:1px dashed var(--ink2)}
.card .ph img{width:56px;opacity:.5}
.tag{display:inline-block;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:10px;background:#7a1f1f;color:var(--off);margin-bottom:8px}
.tag.soon{background:var(--ink2);color:var(--gold2)}
.price{font-weight:700;color:var(--off)}
.trust{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:28px 0}
.trust div{border-left:3px solid var(--gold);padding:6px 12px;font-size:.88rem;color:var(--off)}
.soon-box{text-align:center;border:1px solid var(--ink2);border-radius:8px;padding:36px 20px;background:color-mix(in srgb,var(--ink) 98%,var(--off));margin:20px 0}
.soon-box h2{border:0;padding:0}
form.contact{display:grid;gap:12px;max-width:560px}
form.contact label{font-size:.85rem;color:var(--off);display:grid;gap:4px}
form.contact input,form.contact select,form.contact textarea,.cart-box input,.cart-box select{padding:10px 12px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);font:inherit}
.cart-box{border:1px solid var(--ink2);border-radius:8px;padding:18px;background:color-mix(in srgb,var(--ink) 98%,var(--off));margin:16px 0}
.cart-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--ink2)}
.cart-row input{width:64px}
.sc-foot{max-width:1100px;margin:0 auto;padding:28px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;border-top:1px solid var(--ink2);font-size:.82rem;color:var(--muted)}
.sc-foot .sc-fh{font-family:inherit;font-weight:700;color:var(--gold2);margin:0 0 8px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.sc-foot a{display:block;color:var(--off);text-decoration:none;padding:2px 0}.sc-foot a:hover{color:var(--gold2)}
.sc-legal{text-align:center;font-size:.72rem;color:var(--muted);padding:0 24px 24px;max-width:900px;margin:0 auto;line-height:1.6}
.results li{list-style:none;border:1px solid var(--ink2);border-radius:8px;padding:12px 16px;margin-bottom:10px}
.results{padding:0}
dl.faq dt{font-weight:700;color:var(--gold2);margin-top:1.2em}dl.faq dd{margin:.3em 0 0}
/* assistant: header search box + chat panel */
.sc-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sc-ta .sc-ta-ask a{color:var(--gold2);border-top:1px solid var(--ink2)}.sc-ta .sc-ta-all a{font-size:.8rem;color:var(--muted)}
#sc-chat-btn{display:none;position:fixed;right:14px;bottom:14px;z-index:50;background:var(--btn);color:var(--btn-ink);border:0;border-radius:28px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4)}
@media (max-width:720px){#sc-chat-btn{display:block}html.sc-ai-on #sc-chat-btn{display:none}}
#sc-ai{position:fixed;top:0;right:0;bottom:0;z-index:60;width:min(420px,100vw);display:flex;flex-direction:column;background:color-mix(in srgb,var(--ink) 75%,#000);border-left:1px solid var(--gold);box-shadow:-8px 0 28px rgba(0,0,0,.5);font-size:.9rem}
#sc-ai[hidden]{display:none}
#sc-ai header{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--ink2)}
#sc-ai h2{margin:0;font-size:.95rem;color:var(--gold2);letter-spacing:.03em}
.sc-ai-hb{display:flex;gap:6px;align-items:center}.sc-ai-hb button{background:none;border:0;color:var(--off);cursor:pointer;font:inherit;font-size:1.2rem;padding:4px 8px}
.sc-ai-hb .sc-ai-new{font-size:.75rem;border:1px solid var(--ink2);border-radius:6px}
.sc-ai-ctx{padding:6px 14px;background:var(--ink);border-bottom:1px solid var(--ink2);font-size:.76rem;color:var(--off)}.sc-ai-ctx button{background:none;border:0;color:var(--gold2);text-decoration:underline;cursor:pointer;font:inherit;padding:0 4px}
#sc-ai-msgs{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px;line-height:1.5}
.sc-ai-m{max-width:94%;overflow-wrap:anywhere}.sc-ai-m.u{align-self:flex-end}.sc-ai-m.a{align-self:flex-start;width:94%}
.sc-ai-m .sc-ai-t{white-space:pre-wrap;padding:8px 12px;border-radius:12px}
.sc-ai-m.u .sc-ai-t{background:var(--gold);color:var(--ink)}.sc-ai-m.a .sc-ai-t{background:color-mix(in srgb,var(--ink) 95%,var(--off));color:var(--off)}
.sc-ai-x{margin-top:6px}.sc-ai-x:empty{display:none}
.sc-ai-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sc-ai-card{border:1px solid var(--ink2);border-radius:8px;padding:8px 10px;background:color-mix(in srgb,var(--ink) 95%,#000);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.sc-ai-card a{color:var(--off);flex:1 1 100%;text-decoration:none}.sc-ai-card a:hover{color:var(--gold2)}
.sc-ai-price{font-size:.8rem;color:var(--off)}.sc-ai-why{flex:1 1 100%;color:var(--muted);font-size:.74rem}
.sc-ai-bnds{margin-top:8px;display:flex;flex-direction:column;gap:6px}.sc-ai-bnds .bnd{font-size:.82rem}
.sc-ai-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sc-ai-chip{background:color-mix(in srgb,var(--ink) 98%,var(--off));color:var(--gold2);border:1px solid var(--gold);border-radius:16px;padding:5px 11px;font:inherit;font-size:.8rem;cursor:pointer}.sc-ai-chip:hover,.sc-ai-chip:focus-visible{background:var(--gold);color:var(--ink)}
.sc-ai-acts{margin-top:8px}.sc-ai-acts .btn{text-decoration:none;display:inline-block}
.btn.sm{padding:6px 10px;font-size:.78rem}
.sc-ai-typing{display:flex;gap:4px;padding:10px 12px;background:color-mix(in srgb,var(--ink) 95%,var(--off));border-radius:12px;width:auto!important}.sc-ai-typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:scb 1s infinite}.sc-ai-typing span:nth-child(2){animation-delay:.15s}.sc-ai-typing span:nth-child(3){animation-delay:.3s}
@keyframes scb{0%,80%,100%{opacity:.3}40%{opacity:1}}
@media (prefers-reduced-motion:reduce){.sc-ai-typing span{animation:none}}
#sc-ai-form{display:flex;gap:6px;padding:10px;border-top:1px solid var(--ink2)}
#sc-ai-form input{flex:1;padding:10px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 98%,var(--off));color:var(--off);font:inherit;min-width:0;font-size:16px}
.sc-ai-note{font-size:.68rem;color:var(--muted);padding:0 12px 10px;margin:0}
@media (max-width:720px){#sc-ai{top:auto;left:0;width:100vw;height:86vh;border-left:0;border-top:1px solid var(--gold);border-radius:14px 14px 0 0}}
/* 21+ entry gate */
html.sc-ag-open,html.sc-ag-open body{overflow:hidden}
#sc-agegate{position:fixed;inset:0;z-index:2147483000;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--ink) 94%,var(--off)),color-mix(in srgb,var(--ink) 68%,#000) 70%);display:grid;place-items:center;padding:20px;overflow:auto}
.sc-ag-box{max-width:520px;width:100%;text-align:center;color:var(--off)}
.sc-ag-box img{height:72px;width:auto;margin-bottom:10px}
.sc-ag-box h2{font-size:1.7rem;letter-spacing:.06em;text-transform:uppercase;margin:.3em 0}
.sc-ag-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:22px 0 8px}
.sc-ag-btns .btn{min-width:180px;text-align:center;text-decoration:none}
.sc-ag-link{background:none;border:0;color:var(--gold2);text-decoration:underline;cursor:pointer;font:inherit}
#sc-ag-dob{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:flex-end;margin:12px 0}
#sc-ag-dob label{display:flex;flex-direction:column;font-size:.75rem;text-align:left;gap:3px}
#sc-ag-dob select{padding:9px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);font:inherit}
#sc-ag-msg{min-height:1.3em;color:#ffb4a8;font-weight:600}
.sc-ag-fine{font-size:.78rem;color:var(--muted)}
.sc-ag-links{font-size:.82rem}.sc-ag-links a{color:var(--gold2)}
/* fitment, bundles, builder */
.sc-setup-btn{padding:8px 12px;border-radius:6px;border:1px solid var(--gold);background:transparent;color:var(--gold2);font:inherit;font-size:.82rem;cursor:pointer;white-space:nowrap}
.fitb{display:inline-block;font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:10px;background:color-mix(in srgb,var(--ink) 87%,var(--off));color:var(--off)}
.fitb-fits{background:#1f5a34;color:var(--off)}.fitb-fits_verify,.fitb-needs_mount{background:#6b5a14;color:var(--gold2)}.fitb-not_fit{background:#7a1f1f;color:var(--off)}.fitb-confirm,.fitb-state_hold{background:color-mix(in srgb,var(--ink) 79%,var(--off));color:var(--off)}
.fitbox{border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 98%,var(--off));border-radius:8px;padding:14px 16px;margin:14px 0}.fitbox h3{margin:.1em 0 .5em;font-size:1rem;color:var(--gold2)}
.needs{margin:.4em 0 .8em;padding-left:1.2em}
.btn.sm{padding:5px 10px;font-size:.8rem}
.bnd{border:1px dashed var(--gold);border-radius:8px;padding:10px 14px;margin:10px 0;background:color-mix(in srgb,var(--ink) 94%,#000)}.bnd h4{margin:0 0 4px;color:var(--gold2)}.bnd ul{margin:.3em 0;padding-left:1.1em}
.bnd-save{color:#7ee2a0;font-weight:700}.bnd-money{margin:.4em 0}
.sc-ta{position:absolute;left:0;right:0;top:100%;z-index:50;list-style:none;margin:4px 0 0;padding:4px;background:color-mix(in srgb,var(--ink) 86%,#000);border:1px solid var(--ink2);border-radius:6px;box-shadow:0 8px 24px #0008}
.sc-ta a{display:block;padding:8px 10px;color:var(--off);text-decoration:none;border-radius:4px}.sc-ta a:hover,.sc-ta a:focus{background:color-mix(in srgb,var(--ink) 94%,var(--off))}.sc-ta small{color:var(--off)}
#sc-setup-dlg{max-width:560px;width:calc(100% - 24px);background:color-mix(in srgb,var(--ink) 98%,var(--off));color:var(--off);border:1px solid var(--gold);border-radius:10px;padding:18px 22px}
#sc-setup-dlg::backdrop{background:#000a}#sc-setup-dlg label{display:flex;flex-direction:column;font-size:.8rem;gap:3px;margin:8px 0}
#sc-setup-dlg select,.bld select{padding:8px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);font:inherit}
#sc-setup-dlg .row{display:flex;gap:8px;margin-top:10px}
.iss-error{color:#ffb4a8}.iss-hold,.iss-confirm,.iss-warn{color:var(--gold2)}.iss-verify,.iss-info{color:var(--off)}
.bld-steps{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
.bld-pill{padding:6px 10px;border-radius:14px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 94%,#000);color:var(--off);font:inherit;font-size:.75rem;cursor:pointer}.bld-pill.on{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.bld-main{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}
.bld-side{position:sticky;top:10px;border:1px solid var(--ink2);border-radius:8px;background:color-mix(in srgb,var(--ink) 98%,var(--off));padding:14px 16px}.bld-side h2{margin-top:0}
.bld-plat{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin:12px 0}
.bld-card{padding:14px;border:1px solid var(--ink2);border-radius:8px;background:color-mix(in srgb,var(--ink) 94%,#000);color:var(--off);font:inherit;text-align:left;cursor:pointer}.bld-card.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.bld-list,.bld-parts{list-style:none;padding:0;margin:10px 0}.bld-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid var(--ink2);border-radius:8px;padding:10px 12px;margin:8px 0;background:color-mix(in srgb,var(--ink) 94%,#000)}.bld-item.on{border-color:var(--gold)}
.bld-parts li{padding:6px 0;border-bottom:1px solid var(--ink2);font-size:.88rem}.bld-total{font-size:1.05rem}
@media(max-width:820px){.bld-main{grid-template-columns:1fr}.bld-side{position:static}}

/* build diagram */
.bld-vis{border:1px solid var(--ink2);border-radius:10px;background:color-mix(in srgb,var(--ink) 86%,#000);padding:12px 14px;margin:12px 0 18px}
.bv-head h2{margin:0 0 2px;font-size:1.05rem}.bv-sub{margin:0 0 8px;font-size:.78rem;color:var(--muted)}
.bv-wrap{overflow-x:auto;border-radius:8px;-webkit-overflow-scrolling:touch}.bv-wrap:focus-visible{outline:2px solid var(--gold)}
.bv-svg{display:block;width:100%;min-width:700px;height:auto}
.bv-legend{list-style:none;margin:10px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px 14px;font-size:.8rem}
.bv-li{display:flex;gap:8px;align-items:flex-start}.bv-g{flex:0 0 auto;width:18px;height:18px;border-radius:50%;display:inline-grid;place-items:center;font-size:.7rem;font-weight:700;color:color-mix(in srgb,var(--ink) 51%,#000);background:var(--muted)}
.bv-rec .bv-g{background:var(--muted);opacity:.6}.bv-rec strong{color:var(--muted)}.bv-ok .bv-g{background:#3fb871}.bv-warn .bv-g{background:var(--gold)}.bv-bad .bv-g{background:#e5484d}.bv-li em{font-style:normal;color:var(--muted)}.bv-li small{color:var(--muted)}
.bv-act{margin:10px 0 0}.bv-act small{color:var(--muted)}
@media (max-width:720px){.bv-svg{min-width:0}.bv-svg .bv-lab{display:none}}
.sc-ai-q{margin:8px 0 2px;color:var(--muted)}
/* availability badges (text + colour, never colour alone) */
.sc-badge{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 8px;border-radius:10px;border:1px solid color-mix(in srgb,var(--ink) 79%,var(--off));color:var(--off);margin-top:6px}
.sc-badge[hidden]{display:none}
.sc-b-in_stock,.sc-b-backorder{border-color:#3f8f5a;color:#8fd6a8}.sc-b-low_stock{border-color:var(--gold);color:var(--gold2)}.sc-b-out_of_stock,.sc-b-unavailable{border-color:#8a4a4a;color:#e0a0a0}
.sc-notify{margin:14px 0;padding:14px;border:1px solid var(--ink2);border-radius:8px;background:color-mix(in srgb,var(--ink) 86%,#000);max-width:460px}.sc-notify[hidden]{display:none}
.sc-notify h2{font-size:1rem;margin:0 0 8px}.sc-notify input[type=email]{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);font:inherit;box-sizing:border-box;margin-bottom:8px}
.sc-consent{display:block;font-size:.82rem;margin-bottom:10px}
.sc-trust{list-style:none;padding:0;margin:16px 0;display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.84rem;color:var(--off)}.sc-trust li:before{content:"\2713 ";color:var(--gold)}
/* filters: sidebar on desktop, slide-in drawer on mobile */
.sc-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}
.sc-fcount{margin:0;font-size:.85rem;color:var(--off)}
.sc-fbtn{padding:10px 16px;border-radius:6px;border:1px solid var(--gold);background:transparent;color:var(--gold2);font:inherit;font-weight:700;cursor:pointer;min-height:44px}
.sc-fpanel{position:fixed;top:0;bottom:0;left:0;width:min(86vw,340px);background:color-mix(in srgb,var(--ink) 86%,#000);border-right:1px solid var(--ink2);padding:16px;overflow-y:auto;z-index:60;transform:translateX(-102%);transition:transform .2s;visibility:hidden}
.sc-fpanel.open{transform:none;visibility:visible}
.sc-fscrim{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:55}.sc-fscrim[hidden]{display:none}
.sc-fhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.sc-fclose,.sc-fclear{padding:8px 12px;border-radius:6px;border:1px solid var(--ink2);background:transparent;color:var(--off);font:inherit;cursor:pointer;min-height:44px}
.sc-fpanel fieldset{border:0;border-top:1px solid var(--ink2);margin:12px 0 0;padding:10px 0 0}.sc-fpanel legend{font-weight:700;padding:0 6px 0 0}
.sc-fpanel label{display:block;padding:6px 0;min-height:32px}.sc-fpanel select{background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);border:1px solid var(--ink2);border-radius:6px;padding:8px;font:inherit}
.sc-fpanel input[type=checkbox]{width:18px;height:18px;vertical-align:middle}
@media(prefers-reduced-motion:reduce){.sc-fpanel{transition:none}}
li[hidden]{display:none}
@media(min-width:900px){
  .sc-filters{display:block;float:left;width:230px;margin:20px 20px 20px 0}
  .sc-fbtn,.sc-fclose,.sc-fscrim{display:none}
  .sc-fpanel{position:static;transform:none;visibility:visible;width:auto;border:1px solid var(--ink2);border-radius:8px;margin-top:8px}
  .sc-fcount{margin-bottom:4px}
  #sc-grid{margin-left:250px}
}
/* fitment guide + builder rule tips */
.fg-topic{margin:22px 0 8px;font-size:1.05rem;border-bottom:1px solid rgba(255,255,255,.12);padding-bottom:4px}
.fg-rule{margin:10px 0 14px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:8px}
.fg-rule h4{margin:0 0 4px;font-size:1rem}.fg-rule p{margin:4px 0}
.fg-meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:.82rem;opacity:.9}
.fg-conf{font-weight:700;border-radius:999px;padding:1px 9px;border:1px solid currentColor}
.fg-high{color:#9fe3a8}.fg-medium{color:var(--gold2)}.fg-low{color:#ffb4a8}
.fg-src li{margin:4px 0;word-break:break-word}
.bld-alert{border:1px solid #b5483a;background:rgba(181,72,58,.14);border-radius:8px;padding:8px 12px;margin:8px 0}
.bld-issues,.bld-rl{padding-left:18px;margin:6px 0;font-size:.88rem}.bld-rl li{margin:8px 0}
.bld-ok{color:#9fe3a8;font-size:.9rem}.bld-side h4{margin:12px 0 2px;font-size:.92rem}
.bld-notes summary,.bld-rules summary,.bld-why summary{cursor:pointer;font-weight:600;margin:8px 0}
.bld-src{opacity:.85}.bld-why ul{padding-left:18px;font-size:.85rem}
.bld-prog{height:8px;border-radius:6px;background:color-mix(in srgb,var(--ink) 94%,#000);border:1px solid var(--ink2);overflow:hidden;margin:10px 0 2px}.bld-prog span{display:block;height:100%;background:var(--gold)}
.bld-bar{display:none}
@media(max-width:820px){
 .bld-steps{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px;scroll-snap-type:x proximity}.bld-pill{flex:0 0 auto;scroll-snap-align:start;min-height:40px}
 .bld-item{flex-direction:column;align-items:stretch}.bld-item .btn{width:100%;min-height:44px}
 .bld-bar{display:flex;justify-content:space-between;gap:10px;position:sticky;bottom:0;z-index:20;margin:12px -4px 0;padding:12px 14px;background:color-mix(in srgb,var(--ink) 98%,var(--off));border:1px solid var(--gold);border-radius:10px 10px 0 0;color:var(--off);text-decoration:none;font-size:.88rem}
}
@media(prefers-reduced-motion:reduce){.bld-prog span{transition:none}}
.sc-ai-good{margin:8px 0;padding:8px 10px;border-left:3px solid var(--gold);background:rgba(255,255,255,.04);border-radius:0 6px 6px 0}.sc-ai-good p{margin:4px 0}.sc-ai-bnote{display:block;color:#9fe3a8;margin-top:2px}
.sc-ai-sug{margin-top:8px}.sc-ai-vp{flex:0 0 auto!important;font-size:.76rem;color:var(--gold2)!important;text-decoration:underline!important}
/* cart order summary: line items at the listed price, discount lines only at the order total */
.cart-summary{margin:16px 0}
.cs-table{width:100%;border-collapse:collapse}
.cs-table td,.cs-table th{padding:8px 6px;border-bottom:1px solid var(--ink2);text-align:left;font-weight:400;vertical-align:top}
.cs-table .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.cs-table s{opacity:.65}
.cs-table .cs-coupon th,.cs-table .cs-coupon td{color:#8fd19e}
.cs-table .cs-total th,.cs-table .cs-total td{font-weight:700;font-size:1.1em;border-top:2px solid var(--ink2);border-bottom:0}
.cs-table .cs-save th,.cs-table .cs-save td{font-size:.9em;opacity:.85;border-bottom:0}
.cart-box,.cart-summary{color:var(--off)}
.cart-box a:not(.btn),.cart-summary a{color:var(--gold2)}
/* cart sales-tax estimate widget */
.tax-widget{margin:16px 0;color:var(--off)}
.tax-form{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.tax-widget label{display:flex;flex-direction:column;gap:4px;font-size:.9em}
.tax-widget select,.tax-widget input{font-size:16px;min-height:44px;padding:8px 10px;border-radius:6px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 66%,#000);color:var(--off);width:100%;box-sizing:border-box}
#tx-county-wrap{margin:8px 0}
.tax-msg{margin:10px 0}.tax-warn{padding:10px 12px;border-left:3px solid var(--gold2);background:color-mix(in srgb,var(--gold2) 8%,transparent)}.tax-bad{padding:10px 12px;border-left:3px solid #e07070;background:rgba(224,112,112,.1)}
.tax-note{opacity:.85;margin:6px 0}
.tax-table{margin-top:8px}.tax-table th{padding-right:10px}
@media (max-width:480px){.tax-form{grid-template-columns:1fr}}

.tax-table .tax-exempt th,.tax-table .tax-exempt td{color:#8fd19e;font-size:.92em}

/* ---- build advisor: tiers, proposed list, chat landing, proactive hint ---- */
.sc-tier{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:10px;border:1px solid var(--ink2);color:var(--off);background:color-mix(in srgb,var(--ink) 98%,var(--off));vertical-align:middle}
.sc-tier.t0{border-color:#6f8f6a;color:#b9d9b3}.sc-tier.t1{border-color:#6a86a8;color:#b7cfe8}.sc-tier.t2{border-color:var(--gold);color:var(--gold2)}.sc-tier.t3{border-color:var(--gold);color:var(--gold2);background:color-mix(in srgb,var(--ink) 99%,#000)}
.sc-tiers,.sc-prop{display:flex;flex-direction:column;gap:8px;margin-top:8px}
.sc-tier-row{border:1px solid var(--ink2);border-radius:8px;padding:8px 10px;background:color-mix(in srgb,var(--ink) 95%,#000)}
.sc-tier-h small{color:var(--muted)}
.sc-opt{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:center;margin-top:6px}
.sc-opt a,.sc-prop-row a{color:var(--off);text-decoration:none}.sc-opt a:hover,.sc-prop-row a:hover{color:var(--gold2)}
.sc-ai-why{flex:1 1 100%;color:var(--muted)}
.sc-more{margin-top:6px;font-size:.82rem}.sc-more summary{cursor:pointer;color:var(--gold2)}
.sc-prop{border:1px solid var(--gold);border-radius:10px;padding:10px;background:color-mix(in srgb,var(--ink) 75%,#000)}
.sc-prop-sum{margin:0}.sc-prop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sc-prop-row{display:flex;flex-wrap:wrap;gap:3px 8px;align-items:center;font-size:.84rem}
.sc-prop-kind{color:var(--muted);min-width:5.2em}
.sc-prop-btns{margin-left:auto;display:inline-flex;gap:10px;font-size:.78rem}
.sc-prop-warn{margin:0;color:var(--gold2)}
.sc-ai-acts{margin-top:4px}
.btn.sm{padding:6px 12px;font-size:.82rem}
.sc-ai-browsebar{display:none;margin:0;padding:0 12px 6px;font-size:.82rem;text-align:center}
.sc-ai-browsebar a{color:var(--gold2)}
.sc-ai-humanbar{margin:0;padding:0 12px 4px;font-size:.82rem;text-align:center}
.sc-ai-humanbar{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 10px}.sc-ai-humanbar a{color:var(--gold2);padding:4px 2px}
.sc-ai-human{background:none;border:0;padding:4px 6px;color:var(--gold2);font:inherit;text-decoration:underline;cursor:pointer}.sc-ai-human:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
/* /build/ tier selector */
.bld-tiers{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 2px}
.bld-tier{padding:6px 10px;border-radius:14px;border:1px solid var(--ink2);background:color-mix(in srgb,var(--ink) 94%,#000);color:var(--off);font:inherit;font-size:.78rem;cursor:pointer}
.bld-tier small{color:var(--muted)}.bld-tier.on{border-color:var(--gold);background:color-mix(in srgb,var(--ink) 99%,#000);color:var(--gold2)}.bld-tier:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.bld-tier-note{margin:2px 0 8px;color:var(--muted)}
/* chat landing: only while JS has added html.sc-landing. Without JS (or for crawlers) none of this applies and the full page shows. */
html.sc-landing .grid,html.sc-landing main h2,html.sc-landing .trust,html.sc-landing .sc-trust,html.sc-landing .cta,html.sc-landing .sc-filters,html.sc-landing .sc-signup,html.sc-landing form[data-signup]{display:none!important}
#sc-ai.sc-ai-landing{top:58%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);width:min(560px,calc(100vw - 24px));height:auto;max-height:min(640px,calc(100vh - 170px));border:1px solid var(--gold);border-radius:14px;box-shadow:0 0 0 100vmax rgba(10,10,12,.72),0 18px 50px rgba(0,0,0,.6)}
#sc-ai.sc-ai-landing .sc-ai-msgs{min-height:120px}
#sc-ai.sc-ai-landing .sc-ai-browsebar{display:block}
@media (max-width:720px){#sc-ai.sc-ai-landing{top:auto;left:0;bottom:0;transform:none;width:100vw;max-height:92vh;border-radius:14px 14px 0 0;box-shadow:0 0 0 100vmax rgba(10,10,12,.6)}}
/* minimized launcher (just browsing / dismissed): visible on desktop too */
html.sc-browse #sc-chat-btn{display:block}html.sc-browse.sc-ai-on #sc-chat-btn{display:none}
/* proactive hint: one small card above the launcher, never steals focus */
.sc-hint{position:fixed;right:14px;bottom:70px;z-index:49;width:min(300px,calc(100vw - 28px));background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);border:1px solid var(--gold);border-radius:12px;padding:12px 30px 12px 12px;font-size:.86rem;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:sc-hint-in .25s ease-out}
.sc-hint-t{margin:0 0 8px}.sc-hint-chips{display:flex;flex-wrap:wrap;gap:6px}
.sc-hint-x{position:absolute;top:4px;right:6px;background:none;border:0;color:var(--off);font-size:1.2rem;line-height:1;cursor:pointer;padding:4px 8px}.sc-hint-x:focus-visible{outline:2px solid var(--gold2)}
html.sc-ai-on .sc-hint{display:none}
@keyframes sc-hint-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.sc-hint{animation:none}}
/* Gun picker (Holsters, Magazines & Parts): make, model, caliber chips. Section "mega" menu under Magazines & Parts. */
.sc-picker{margin:14px 0 6px;padding:14px 16px;border:1px solid var(--ink2);border-top:2px solid var(--gold);border-radius:8px;background:color-mix(in srgb,var(--ink) 86%,#000)}
.sc-picker[hidden]{display:none}
.sc-picker h2{margin:0 0 4px;font-size:1.1rem}.sc-pk-hint{margin:0 0 10px;font-size:.88rem;color:var(--off);opacity:.9}
.sc-pk-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);gap:8px 10px;align-items:center}
.sc-pk-row label{font-weight:700;font-size:.85rem}
.sc-picker select{width:100%;min-width:0;min-height:44px;background:color-mix(in srgb,var(--ink) 75%,#000);color:var(--off);border:1px solid var(--ink2);border-radius:6px;padding:8px;font:inherit}
.sc-picker select:focus-visible,.sc-chip:focus-visible,.sc-pk-clear:focus-visible,.sc-fpanel summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sc-pk-clear{margin-top:8px}.sc-pk-clear[hidden]{display:none}
.sc-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.sc-chips-l{font-weight:700;font-size:.85rem;margin-right:2px}
.sc-chip{min-height:44px;padding:8px 14px;border-radius:999px;border:1px solid var(--ink2);background:transparent;color:var(--off);font:inherit;font-size:.88rem;cursor:pointer}
.sc-chip:hover{border-color:var(--gold)}
.sc-chip[aria-pressed=true]{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:700}
.sc-empty{margin:14px 0;padding:14px;border:1px dashed var(--ink2);border-radius:8px}.sc-empty[hidden]{display:none}.sc-empty p{margin:0 0 8px}
.sc-fpanel details.sc-more{border-top:1px solid var(--ink2);margin-top:12px;padding-top:6px}.sc-fpanel summary{cursor:pointer;font-weight:700;min-height:44px;display:flex;align-items:center}
@media(max-width:560px){.sc-pk-row{grid-template-columns:minmax(0,1fr)}.sc-pk-row label{margin-top:4px}.sc-picker{padding:12px}}
@media(min-width:900px){.sc-empty{margin-left:250px}}
/* mega menu: one panel with a column per gun family; the sections list under each heading */
@media(min-width:721px){
 .sc-nav>ul>li.sc-mega{position:static}
 .sc-nav .sc-mega>.sc-sub{left:8px;right:8px;min-width:0;margin:0 auto;max-width:1180px;padding:12px 10px}
 .sc-mega.open>.sc-sub,html:not(.sc-js) .sc-mega:hover>.sc-sub,html:not(.sc-js) .sc-mega:focus-within>.sc-sub{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:4px 6px}
 .sc-nav .sc-mega>.sc-sub a{white-space:normal;padding:7px 10px;font-size:.78rem}
 .sc-nav .sc-mega .sc-grp-h{font-weight:700;color:var(--gold2);border-bottom:1px solid var(--ink2);margin-bottom:4px}
 .sc-grp-list{list-style:none;margin:0;padding:0}
}
@media(max-width:720px){.sc-grp-list{display:none}.sc-nav .sc-mega .sc-grp-h{font-weight:500}}
.sc-chip:disabled{opacity:.45;cursor:not-allowed}

/* chat guide (first-interaction examples, visual cards, quick actions, launch/notify capture) */
.sc-ai-eg{align-items:center;margin-top:6px}.sc-ai-egl{font-size:.74rem;color:var(--muted)}
.sc-ai-chip-eg{border-style:dashed}
.sc-ai-expect{margin:8px 0 0;font-size:.78rem;color:var(--muted)}
.sc-ai-card{flex-wrap:nowrap;align-items:flex-start;gap:10px}
.sc-ai-card .sc-ai-th{flex:0 0 52px;width:52px;height:52px}.sc-ai-th img{width:52px;height:52px;object-fit:cover;border-radius:6px;background:var(--ink);border:1px solid var(--ink2);display:block}
.sc-ai-cb{flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}
.sc-ai-cb>a{flex:1 1 100%}
.sc-ai-ca{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:2px 12px}
.sc-ai-ca button{background:none;border:0;padding:6px 0;color:var(--gold2);font:inherit;font-size:.76rem;text-decoration:underline;cursor:pointer;min-height:32px}
.sc-ai-ca-l{display:flex;flex-wrap:wrap;gap:2px 12px}
.sc-ai-ca .sc-ai-ca-t{display:none;text-decoration:none;border:1px solid var(--ink2);border-radius:999px;padding:2px 10px;font-size:.74rem}
.sc-ai-ca .sc-ai-ca-t span{display:inline-block;width:.8em;text-align:center;font-weight:700}
@media (max-width:600px){.sc-ai-ca{flex-direction:column;align-items:flex-start;gap:0}.sc-ai-ca .sc-ai-ca-t{display:inline-block;min-height:32px;padding:2px 12px}.sc-ai-ca:not(.sc-open) .sc-ai-ca-l{display:none}.sc-ai-ca-l{flex-direction:column;align-items:flex-start;gap:0;margin-top:2px}.sc-ai-ca-l button{text-align:left}}
.sc-ai-ca button:focus-visible,.sc-ai-min:focus-visible{outline:2px solid var(--gold2);outline-offset:2px}
.sc-ai-lf,.sc-ai-nf{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px}
.sc-ai-lf input[type=email],.sc-ai-nf input[type=email]{flex:1 1 160px;min-width:0;padding:8px 10px;border-radius:8px;border:1px solid var(--ink2);background:var(--ink);color:var(--off);font:inherit;font-size:.9rem}
.sc-ai-lf small,.sc-ai-consent,.sc-ai-fs{flex:1 1 100%;font-size:.72rem;color:var(--muted)}.sc-ai-lf small a,.sc-ai-consent a{color:var(--gold2)}
.sc-ai-consent{display:flex;gap:6px;align-items:flex-start}.sc-ai-fs{min-height:1em}
.sc-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.sc-ai-fdone{margin:8px 0 0;font-size:.82rem;color:var(--gold2)}
.sc-ai-min{display:none}
#sc-ai.sc-ai-landing .sc-ai-min{display:inline-block}
@media (max-width:720px){#sc-ai .sc-ai-browsebar{display:block}.sc-ai-ca button{min-height:36px;padding:4px 0}}

#bld-recv{width:100%;max-width:26rem;box-sizing:border-box}
#order-confirmed[hidden],#checkout-closed[hidden]{display:none}
