/* Store pages (products.html, product.html). Built on the site's own tokens from styles.css. */
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.store :focus-visible,#cart-root :focus-visible,#filter-root :focus-visible,.cartbtn:focus-visible{outline:2px solid var(--brass);outline-offset:2px}

/* header cart button */
.cartbtn{position:relative;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--bone);color:var(--ink);cursor:pointer;flex:none}
.cartbtn:hover{background:var(--sand)}
.cartcount{position:absolute;top:-4px;right:-4px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--brass);color:#fff;font:700 11px/19px var(--sans);text-align:center}
.hactions{display:flex;align-items:center;gap:10px}

/* shared pills */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:8px 18px;border-radius:999px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:600 14px var(--sans);text-decoration:none;cursor:pointer}
.pill:hover{background:var(--ink);color:var(--bone)}
.pill.solid{background:var(--ink);color:var(--bone)}
.pill.solid:hover{background:var(--umber)}
.pill:disabled{opacity:.45;cursor:default}
.pill.ghosty{border-color:var(--line)}

/* shop */
.store .shophero .lede{max-width:62ch}
.shop{padding-top:calc(var(--pad) * .8)}
.shop-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 20px;margin-bottom:14px}
.shop-search{display:flex;flex:1 1 380px;max-width:560px;border:1px solid var(--line);background:var(--bone);border-radius:999px;padding:4px;box-shadow:0 1px 0 rgba(255,255,255,.6) inset}
.shop-search:focus-within{border-color:var(--walnut)}
.shop-search input{flex:1;min-width:0;border:0;background:none;padding:8px 14px;font:500 15px var(--sans);color:var(--ink);outline:none}
.shop-search input::placeholder{color:var(--walnut);opacity:.75}
.shop-search button{border:0;border-radius:999px;background:var(--ink);color:var(--bone);font:600 14px var(--sans);padding:0 18px;cursor:pointer}
.shop-search button:hover{background:var(--umber)}
.shop-tools{display:flex;align-items:center;gap:10px}
.shop-count{font-size:14px;color:var(--walnut);white-space:nowrap}
.shop-tools select{border:1px solid var(--line);background:var(--bone);border-radius:999px;padding:8px 32px 8px 14px;font:600 14px var(--sans);color:var(--ink);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--walnut) 50%),linear-gradient(135deg,var(--walnut) 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat;cursor:pointer}
#shop-filters-btn{display:none;border:1px solid var(--line);background:var(--bone);border-radius:999px;padding:8px 14px;font:600 14px var(--sans);color:var(--ink);cursor:pointer}
.types{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.tchip{border:1px solid var(--line);background:var(--bone);color:var(--ink);border-radius:999px;padding:7px 14px;font:600 13.5px var(--sans);cursor:pointer;white-space:nowrap}
.tchip:hover{border-color:var(--walnut)}
.tchip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.active-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.active-chips button{border:0;background:var(--champ);color:var(--ink);border-radius:999px;padding:5px 11px;font:600 12.5px var(--sans);cursor:pointer}
.active-chips .clearall{background:none;text-decoration:underline;color:var(--walnut)}
.shop-layout{display:grid;grid-template-columns:15rem minmax(0,1fr);gap:28px;align-items:start}
.shop-side{position:sticky;top:76px;background:var(--bone);border:1px solid var(--line);border-radius:var(--r);padding:6px 16px 10px}
.fgroup{border:0;border-bottom:1px solid var(--line);padding:12px 0;margin:0;min-width:0}
.fgroup:last-child{border-bottom:0}
.fgroup legend{font:700 13px var(--sans);color:var(--ink);padding:0;margin-bottom:8px;float:left;width:100%}
.fgroup legend+*{clear:both}
.price-pair{display:flex;align-items:flex-end;gap:8px;font-size:13px;color:var(--walnut)}
.price-pair label{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.price-pair label span{font-size:12px}
.price-pair input{width:100%;border:1px solid var(--line);border-radius:10px;padding:7px 9px;font:500 14px var(--sans);color:var(--ink);background:#fff}
.price-pair input[aria-invalid="true"]{border-color:var(--brass)}
.price-pair>span{padding-bottom:8px}
.fhint{font-size:12px;color:var(--brass);margin-top:6px}
.check{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.check input{width:17px;height:17px;accent-color:var(--ink)}
.fchoices,.pk-choices{display:flex;flex-wrap:wrap;gap:6px}
.opt{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:6px 12px;font:600 13px var(--sans);cursor:pointer}
.opt small{color:var(--walnut);font-weight:500}
.opt[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.opt[aria-pressed="true"] small{color:inherit}
.opt:disabled{opacity:.4;text-decoration:line-through;cursor:default}
.swatch{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);cursor:pointer}
.swatch[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--bone) inset}
.swatch:disabled{opacity:.3;cursor:default}

.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:16px;transition:opacity .2s}
.pgrid.dim{opacity:.55}
.ptile{position:relative;display:flex;flex-direction:column;background:var(--bone);border:1px solid var(--line);border-radius:var(--r);overflow:visible}
.ptile .pimg{display:block;aspect-ratio:1/1;background:#fff;border-radius:var(--r) var(--r) 0 0;overflow:hidden;border-bottom:1px solid var(--line)}
.ptile .pimg img{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .35s ease}
.ptile:hover .pimg img{transform:scale(1.04)}
.pbody{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1}
.pname{font:600 14.5px/1.35 var(--sans);letter-spacing:0;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.pname a{text-decoration:none;color:var(--ink)}
.pname a:hover{text-decoration:underline;text-underline-offset:3px}
.pprice{font:700 18px var(--sans);color:var(--ink);font-variant-numeric:tabular-nums}
.was{color:var(--walnut);font-weight:500;font-size:.85em}
.pdisc,.punit,.popts{font-size:12.5px;color:var(--walnut)}
.ribbons{display:flex;flex-wrap:wrap;gap:4px}
.ribbons span{background:var(--champ);color:var(--ink);font:700 11px var(--sans);padding:3px 8px;border-radius:999px}
.tbuywrap{margin-top:auto;padding-top:6px;position:relative;z-index:1}
.tbuy{display:block;width:100%;text-align:center;border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:999px;padding:9px 12px;font:700 13.5px var(--sans);cursor:pointer;text-decoration:none;transition:background .15s,color .15s}
.tbuy:hover{background:var(--ink);color:var(--bone)}
.tbuy:disabled{opacity:.55;cursor:default}
.tbuy.muted{border-color:var(--line);color:var(--walnut)}
.terr{font-size:12px;color:var(--brass);margin-top:6px}
.ptile.skel .pimg{background:linear-gradient(90deg,var(--sand),var(--linen),var(--sand));background-size:200% 100%;animation:sk 1.4s linear infinite}
.ptile.skel .l1,.ptile.skel .l2,.pdp-grid.skel .l1,.pdp-grid.skel .l2,.pdp-grid.skel .l3{display:block;height:12px;margin:14px 14px 0;border-radius:6px;background:var(--sand)}
.ptile.skel .l2{width:40%;margin-bottom:16px}
@keyframes sk{to{background-position:-200% 0}}
.shop-state{text-align:center;padding:40px 16px;border:1px dashed var(--line);border-radius:var(--r);display:flex;flex-direction:column;align-items:center;gap:12px}
.more-wrap{display:flex;justify-content:center;margin-top:22px}

/* quick-add picker */
.qa-panel{position:absolute;left:-1px;right:-1px;bottom:-1px;min-width:18rem;z-index:30;background:var(--bone);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:14px;outline:none}
.qa-scrim{display:none}
.qa-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}
.qa-name{font:600 14px/1.35 var(--sans)}
.qa-price{font:700 16px var(--sans)}

/* purchase controls */
.picker{display:flex;flex-direction:column;gap:12px}
.pk-group{border:0;padding:0;margin:0}
.pk-group legend{font:700 13px var(--sans);margin-bottom:6px}
.pk-text{display:flex;flex-direction:column;gap:4px;font:600 13px var(--sans)}
.pk-text span{display:flex;justify-content:space-between}
.pk-text textarea{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:500 14px var(--sans)}
.pk-plans{display:flex;flex-direction:column;gap:6px}
.plan{display:flex;align-items:flex-start;gap:8px;border:1px solid var(--line);border-radius:10px;padding:8px 10px;font-size:14px;cursor:pointer}
.plan.on{border-color:var(--ink)}
.plan small{display:block;color:var(--walnut);font-size:12px}
.plan-price{margin-left:auto;white-space:nowrap}
.pk-buy{display:flex;gap:10px;align-items:stretch}
.addbtn{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:999px;background:var(--ink);color:var(--bone);font:700 15px var(--sans);cursor:pointer;text-decoration:none;padding:0 20px;transition:background .15s}
.addbtn:hover{background:var(--umber)}
.addbtn:disabled{opacity:.45;cursor:default}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:#fff}
.stepper button{border:0;background:none;width:30px;height:30px;font:600 17px var(--sans);color:var(--ink);cursor:pointer;border-radius:50%}
.stepper button:disabled{opacity:.35;cursor:default}
.stepper span{min-width:22px;text-align:center;font:600 14px var(--sans)}
.stepper.big button{width:40px;height:44px}
.stepper.big input{width:42px;border:0;text-align:center;font:600 16px var(--sans);color:var(--ink);background:none}
.pk-note{font-size:13px;color:var(--walnut)}
.pk-err,.cd-error{font-size:13px;color:var(--brass);font-weight:600}
.pk-notify{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.pk-notify div{display:flex;gap:8px}
.pk-notify input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:8px 12px;font:500 14px var(--sans)}

/* product page */
.pdp{padding:calc(var(--pad) * .9) 0 var(--pad)}
.crumbs{display:flex;flex-wrap:wrap;gap:6px;font-size:13.5px;color:var(--walnut);margin-bottom:16px}
.crumbs a{color:var(--walnut)}
.crumbs [aria-current]{color:var(--ink);font-weight:600;max-width:60ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdp-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:36px;align-items:start}
.pdp-gallery{position:sticky;top:78px}
.mainimg{aspect-ratio:1/1;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;place-items:center}
.mainimg img{width:100%;height:100%;object-fit:contain;padding:18px}
.thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto}
.thumb{flex:none;width:68px;height:68px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:4px;cursor:pointer}
.thumb[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.thumb img{width:100%;height:100%;object-fit:contain}
.pdp-buy{display:flex;flex-direction:column;gap:14px}
.pdp-name{font:700 clamp(22px,2.4vw,30px)/1.2 var(--sans);letter-spacing:-.005em;margin:0}
.pdp-price{font:700 26px var(--sans);font-variant-numeric:tabular-nums}
.pdp-small{font-size:13.5px;color:var(--walnut)}
.pdp-desc{border-top:1px solid var(--line);padding-top:16px}
.pdp-desc h2{font-size:20px;margin-bottom:8px}
.rich{font-size:15px;line-height:1.6;color:var(--ink)}
.rich p{margin:0 0 6px}
.rich span{color:inherit!important}
.rich ul,.rich ol{padding-left:20px;margin:6px 0}
.rich img{max-width:100%;height:auto}
.info{border-top:1px solid var(--line);padding:12px 0}
.info summary{font-weight:700;cursor:pointer}
.pdp-missing{text-align:center;padding:60px 16px;display:flex;flex-direction:column;align-items:center;gap:14px}
.pdp-grid.skel .mainimg{background:var(--sand);border:0}
.pdp-grid.skel .pdp-buy span{margin-left:0}
.pdp-grid.skel .l1{width:80%;height:26px}
.pdp-grid.skel .l3{width:30%;height:22px}

/* cart drawer */
#cart-root .cd-scrim,#filter-root .sheet-scrim,.qa .qa-scrim{position:fixed;inset:0;background:rgba(10,14,22,.42);backdrop-filter:blur(2px);z-index:90}
.cd-panel{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);z-index:91;background:var(--bone);color:var(--ink);display:flex;flex-direction:column;box-shadow:-20px 0 50px -20px rgba(0,0,0,.4);outline:none;animation:cdin .25s ease-out}
@keyframes cdin{from{transform:translateX(30px);opacity:0}}
.cd-head,.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}
.cd-head h2,.sheet-head h2{font:700 19px var(--sans);margin:0}
.cd-head h2 span{color:var(--walnut);font-weight:600}
.cd-x{border:0;background:none;font-size:26px;line-height:1;color:var(--walnut);cursor:pointer;width:36px;height:36px;border-radius:50%}
.cd-x:hover{background:var(--sand);color:var(--ink)}
.cd-body{flex:1;overflow-y:auto;padding:16px 22px}
.cd-empty{text-align:center;padding:60px 0;display:flex;flex-direction:column;gap:10px;align-items:center;color:var(--walnut)}
.cd-link{background:none;border:0;padding:0;color:var(--ink);font:600 14px var(--sans);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cd-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;margin-bottom:18px}
.cd-line img,.cd-ph{width:64px;height:64px;border-radius:10px;border:1px solid var(--line);background:#fff;object-fit:contain;padding:3px;display:block}
.cd-name{font:600 13.5px/1.35 var(--sans)}
.cd-meta{font-size:12px;color:var(--walnut)}
.cd-warn{font-size:12px;color:var(--brass);font-weight:600}
.cd-row{display:flex;align-items:center;gap:12px;margin-top:6px}
.cd-remove{border:0;background:none;color:var(--walnut);font:500 12.5px var(--sans);text-decoration:underline;cursor:pointer}
.cd-price{text-align:right;font:700 14px var(--sans);white-space:nowrap}
.cd-extras{border-top:1px solid var(--line);padding-top:14px;display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.cd-code{display:flex;gap:8px;width:100%}
.cd-code input{flex:1;min-width:0;border:1px solid var(--line);border-radius:999px;padding:8px 14px;font:500 14px var(--sans)}
.cd-note{display:flex;flex-direction:column;gap:5px;width:100%;font:600 13px var(--sans)}
.cd-note textarea{border:1px solid var(--line);border-radius:10px;padding:8px 10px;font:500 14px var(--sans);resize:vertical}
.cd-foot{border-top:1px solid var(--line);padding:16px 22px 18px;display:flex;flex-direction:column;gap:6px}
.cd-sum-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;width:100%}
.cd-sum-row.total{border-top:1px solid var(--line);padding-top:8px;margin-top:2px;font-size:16px}
.cd-small{font-size:12.5px;color:var(--walnut)}
.cd-checkout{margin-top:6px;min-height:50px;border:0;border-radius:999px;background:var(--ink);color:var(--bone);font:700 15.5px var(--sans);cursor:pointer}
.cd-checkout:hover{background:var(--umber)}
.cd-checkout:disabled{opacity:.55;cursor:default}

/* phone filter sheet */
.sheet{position:fixed;left:0;right:0;bottom:0;max-height:88vh;z-index:91;background:var(--bone);border-radius:18px 18px 0 0;display:flex;flex-direction:column;outline:none;box-shadow:0 -20px 50px -20px rgba(0,0,0,.4)}
.sheet-body{overflow-y:auto;padding:4px 22px}
.sheet-foot{display:flex;gap:10px;padding:12px 22px 18px;border-top:1px solid var(--line)}
.sheet-foot .pill{flex:1}

@media(max-width:900px){
  .shop-layout{grid-template-columns:1fr}
  .shop-side{display:none}
  #shop-filters-btn{display:inline-block}
  .pdp-grid{grid-template-columns:1fr;gap:20px}
  .pdp-gallery{position:static}
  .mainimg{max-height:45vh;aspect-ratio:auto;height:45vh}
}
@media(max-width:767px){
  .types{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut)}
  .types::-webkit-scrollbar{display:none}
  .shop-tools{width:100%;justify-content:space-between}
  .pgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pbody{padding:10px 10px 12px}
  .pname{font-size:13.5px}
  .pprice{font-size:16px}
  .tbuy{padding:8px 6px;font-size:13px}
  .qa .qa-scrim{display:block}
  .qa-panel{position:fixed;left:0;right:0;bottom:0;min-width:0;max-height:85vh;overflow-y:auto;border-radius:18px 18px 0 0;z-index:91;padding:18px}
  .cartbtn{width:38px;height:38px}
}
@media(prefers-reduced-motion:reduce){
  .ptile .pimg img,.cd-panel,.ptile.skel .pimg{transition:none;animation:none}
}

/* header fit with the cart button */
header.site .hactions .btn,header.site .drop>button,header.site nav.main a{white-space:nowrap}
@media(max-width:1240px) and (min-width:981px){header.site nav.main a,header.site .drop>button{padding:7px 8px}header.site .wrap{gap:10px}}

/* components page: buy section */
.compshop{padding:var(--pad) 0}
.cs-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 24px;margin-bottom:16px}
.cs-head .lede{max-width:60ch;margin-top:6px}
.cs-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cs-tabs button{border:1px solid var(--line);background:var(--bone);color:var(--ink);border-radius:999px;padding:9px 16px;font:700 14px var(--sans);cursor:pointer}
.cs-tabs button small{font-weight:600;color:var(--walnut);margin-left:6px}
.cs-tabs button[aria-selected="true"]{background:var(--ink);border-color:var(--ink);color:var(--bone)}
.cs-tabs button[aria-selected="true"] small{color:inherit;opacity:.8}
.compshop .pgrid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
@media(max-width:767px){.compshop .pgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Team Lumination: store buttons match the site's gold buttons */
.addbtn,.cd-checkout,.shop-search button,.pill.solid{background:linear-gradient(135deg,#D9AE5E,#AC7F37);color:#fff;border:1.5px solid #ECCB8A;text-shadow:0 1px 1px rgba(70,45,10,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 0 0 3px rgba(236,203,138,.22),0 8px 20px -8px rgba(201,157,79,.75)}
.addbtn:hover,.cd-checkout:hover,.shop-search button:hover,.pill.solid:hover{background:linear-gradient(135deg,#F0C874,#C1903E);border-color:#F6DDA2;box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 0 0 4px rgba(240,197,101,.36),0 12px 28px -8px rgba(201,150,60,.9)}
.addbtn:disabled,.cd-checkout:disabled{box-shadow:none}
.tbuy,.pill:not(.solid){border:1.5px solid #D2AC63;box-shadow:0 0 0 3px rgba(210,172,99,.12)}
.tbuy:hover,.pill:not(.solid):hover{background:linear-gradient(135deg,#D9AE5E,#AC7F37);color:#fff;border-color:#ECCB8A;text-shadow:0 1px 1px rgba(70,45,10,.45);box-shadow:0 0 0 4px rgba(240,197,101,.3),0 8px 20px -8px rgba(201,157,79,.75)}

/* store buttons: bolder, darker border for contrast */
.addbtn,.cd-checkout,.shop-search button,.pill.solid{border:2px solid #6E4A12}
.addbtn:hover,.cd-checkout:hover,.shop-search button:hover,.pill.solid:hover{border-color:#5C3D0E}
.tbuy,.pill:not(.solid){border:2px solid #7A5216}
.tbuy:hover,.pill:not(.solid):hover{border-color:#5C3D0E}

/* brand filter select */
.fgroup .fselect{width:100%;border:1px solid var(--line);border-radius:10px;padding:7px 9px;font:500 14px var(--sans);color:var(--ink);background:#fff;padding-right:32px;cursor:pointer;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 17px) 52%,calc(100% - 12px) 52%;background-size:5px 5px;background-repeat:no-repeat}
.fgroup .fselect:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.fgroup legend label{cursor:pointer}
