
/* ============================================================
   COSTAN COMMERCE V4.3
   Secondary page overrides. Loaded after store.css.
   Keeps COSTAN: black / white / acid-lime / Michroma + Space Grotesk.
   ============================================================ */

:root{
  --ct-bg:#050505;
  --ct-panel:#0b0b0b;
  --ct-panel-2:#101010;
  --ct-text:#f5f5ef;
  --ct-muted:#92928b;
  --ct-line:rgba(255,255,255,.11);
  --ct-lime:#caff18;
}

html{scroll-behavior:smooth}
body.ecom{
  margin:0!important;
  background:var(--ct-bg)!important;
  color:var(--ct-text)!important;
  font-family:'Space Grotesk',Arial,sans-serif!important;
  font-size:14px!important;
  line-height:1.55!important;
  overflow-x:hidden;
}
body.ecom *{box-sizing:border-box}
body.ecom img{display:block;max-width:100%}
body.ecom a{text-decoration:none;color:inherit}
body.ecom button,body.ecom input,body.ecom select,body.ecom textarea{font:inherit}

/* HEADER */
body.ecom .topbar{
  height:30px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  background:#000!important;
  color:#a1a19a!important;
  border-bottom:1px solid rgba(255,255,255,.07)!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:7px!important;
  letter-spacing:.15em!important;
  text-transform:uppercase!important;
}
body.ecom .store-head{
  height:86px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:20px!important;
  padding:0 clamp(18px,4vw,64px)!important;
  position:relative!important;
  z-index:40!important;
  background:rgba(5,5,5,.97)!important;
  border-bottom:1px solid var(--ct-line)!important;
}
body.ecom .store-head .links,
body.ecom .store-head .tools{
  display:flex!important;
  align-items:center!important;
  gap:clamp(14px,2vw,28px)!important;
}
body.ecom .store-head .tools{justify-content:flex-end!important}
body.ecom .store-head a{
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:8px!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
}
body.ecom .store-head a:hover{color:var(--ct-lime)!important}
body.ecom .store-logo{display:block!important}
body.ecom .store-logo img{
  width:200px!important;
  height:auto!important;
  margin:auto!important;
  object-fit:contain!important;
}

/* COMMON PAGE */
body.ecom .page-hero{
  min-height:320px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:70px clamp(18px,5vw,78px) 46px!important;
  background:
    radial-gradient(circle at 82% 18%,rgba(202,255,24,.085),transparent 24rem),
    linear-gradient(180deg,#070707,#050505)!important;
  border-bottom:1px solid var(--ct-line)!important;
}
body.ecom .page-kicker{
  margin:0!important;
  color:var(--ct-lime)!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:8px!important;
  font-weight:400!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
}
body.ecom .page-title{
  max-width:1100px!important;
  margin:12px 0 18px!important;
  color:var(--ct-text)!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:clamp(44px,6vw,92px)!important;
  font-weight:400!important;
  line-height:.92!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
}
body.ecom .page-copy{
  max-width:680px!important;
  margin:0!important;
  color:var(--ct-muted)!important;
  font-family:'Space Grotesk',Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.72!important;
}
body.ecom .wrap{
  width:100%!important;
  max-width:1580px!important;
  margin:0 auto!important;
  padding:64px clamp(18px,4.5vw,72px)!important;
}

/* SHOP TOOLBAR */
body.ecom .shop-toolbar{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) 185px 115px auto!important;
  gap:10px!important;
  align-items:center!important;
  margin:0 0 30px!important;
  padding:12px!important;
  background:#090909!important;
  border:1px solid var(--ct-line)!important;
}
body.ecom .shop-toolbar input,
body.ecom .shop-toolbar select{
  width:100%!important;
  height:46px!important;
  padding:0 14px!important;
  background:#050505!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:0!important;
  outline:none!important;
}
body.ecom .shop-toolbar input:focus,
body.ecom .shop-toolbar select:focus{border-color:rgba(202,255,24,.58)!important}
body.ecom .shop-toolbar .btn{
  width:100%!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:var(--ct-lime)!important;
  color:#000!important;
  border:1px solid var(--ct-lime)!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:8px!important;
  letter-spacing:.07em!important;
  text-transform:uppercase!important;
}

/* SHOP GRID */
body.ecom .shop-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.ecom .shop-card{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#0a0a0a!important;
  border:1px solid var(--ct-line)!important;
  border-radius:0!important;
  box-shadow:none!important;
  transition:border-color .25s ease,transform .25s ease!important;
}
body.ecom .shop-card:hover{
  transform:translateY(-3px)!important;
  border-color:rgba(202,255,24,.38)!important;
}
body.ecom .shop-card .prod-stage{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  position:relative!important;
  overflow:hidden!important;
  display:block!important;
  background:#000!important;
}
body.ecom .shop-card .prod-stage:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:radial-gradient(ellipse at 50% 66%,#171717 0,#070707 42%,#000 74%)!important;
}
body.ecom .shop-card .prod-stage:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  box-shadow:inset 0 0 65px rgba(0,0,0,.42)!important;
}
body.ecom .shop-card .prod-stage img{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:4%!important;
  object-fit:contain!important;
  transform:none!important;
  filter:contrast(1.04) saturate(.95)!important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1)!important;
}
body.ecom .shop-card:hover .prod-stage img{transform:scale(1.035)!important}
body.ecom .shop-info{
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  padding:20px!important;
  background:#0b0b0b!important;
  border-top:1px solid rgba(255,255,255,.07)!important;
}
body.ecom .shop-info h3{
  margin:0 0 7px!important;
  color:#fff!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:14px!important;
  font-weight:400!important;
  line-height:1.35!important;
}
body.ecom .shop-meta{
  min-height:auto!important;
  color:#85857f!important;
  font-size:11px!important;
  line-height:1.55!important;
}
body.ecom .shop-row{
  display:flex!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:15px!important;
  margin:18px 0 0!important;
}
body.ecom .shop-row strong{
  color:#fff!important;
  font-size:14px!important;
  font-weight:700!important;
}
body.ecom .shop-actions.three{
  display:grid!important;
  grid-template-columns:1fr 1fr 1fr!important;
  gap:7px!important;
  margin-top:auto!important;
  padding-top:18px!important;
}
body.ecom .shop-actions.three a{
  min-width:0!important;
  height:42px!important;
  padding:0 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid rgba(255,255,255,.14)!important;
  border-radius:0!important;
  background:#111!important;
  color:#fff!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:7px!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
body.ecom .shop-actions.three a:hover{border-color:rgba(202,255,24,.55)!important}
body.ecom .shop-actions.three .accent{
  background:var(--ct-lime)!important;
  color:#000!important;
  border-color:var(--ct-lime)!important;
}

/* PRODUCT TOP */
body.ecom .product-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;
  gap:clamp(38px,5vw,78px)!important;
  align-items:start!important;
  max-width:none!important;
  margin:0!important;
}
body.ecom .gallery-shell{
  display:grid!important;
  grid-template-columns:84px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
body.ecom .gallery-thumbs{
  display:flex!important;
  flex-direction:column!important;
  gap:9px!important;
  min-width:0!important;
}
body.ecom .gallery-thumb{
  width:84px!important;
  height:84px!important;
  flex:0 0 84px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#050505!important;
  border:1px solid rgba(255,255,255,.13)!important;
  border-radius:0!important;
  cursor:pointer!important;
}
body.ecom .gallery-thumb.active{border-color:var(--ct-lime)!important}
body.ecom .gallery-thumb img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  transform:none!important;
}
body.ecom .product-main.prod-stage{
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  position:relative!important;
  overflow:hidden!important;
  background:#000!important;
  border:1px solid rgba(255,255,255,.09)!important;
}
body.ecom .product-main.prod-stage:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:radial-gradient(ellipse at 50% 67%,#171717 0,#070707 43%,#000 75%)!important;
}
body.ecom .product-main.prod-stage:after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  pointer-events:none!important;
  box-shadow:inset 0 0 80px rgba(0,0,0,.45)!important;
}
body.ecom .product-main.prod-stage img{
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  padding:3%!important;
  object-fit:contain!important;
  transform:none!important;
  filter:contrast(1.04) saturate(.96)!important;
}
body.ecom .product-video{
  margin:14px 0 0!important;
  overflow:hidden!important;
  background:#000!important;
  border:1px solid var(--ct-line)!important;
}
body.ecom .product-video video{
  width:100%!important;
  height:auto!important;
  max-height:620px!important;
  display:block!important;
  object-fit:cover!important;
}
body.ecom .detail{
  min-width:0!important;
  padding:12px 0 0!important;
  position:sticky!important;
  top:24px!important;
}
body.ecom .detail h1{
  margin:14px 0 11px!important;
  color:#fff!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:clamp(36px,4.2vw,64px)!important;
  font-weight:400!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  overflow-wrap:anywhere!important;
}
body.ecom .detail .price{
  margin:20px 0!important;
  color:#fff!important;
  font-size:20px!important;
  font-weight:700!important;
}
body.ecom .detail .pills{
  display:flex!important;
  gap:7px!important;
  flex-wrap:wrap!important;
  margin:19px 0 0!important;
}
body.ecom .detail .pills span{
  padding:7px 9px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:#0b0b0b!important;
  color:#c5c5be!important;
  font-size:9px!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  text-transform:uppercase!important;
}
body.ecom .size-list{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin:13px 0 22px!important;
}
body.ecom .size-list label{display:block!important}
body.ecom .size-list input{display:none!important}
body.ecom .size-list span{
  width:48px!important;
  height:48px!important;
  display:grid!important;
  place-items:center!important;
  background:#090909!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:50%!important;
  color:#fff!important;
  font-size:12px!important;
  cursor:pointer!important;
}
body.ecom .size-list input:checked + span{
  background:var(--ct-lime)!important;
  color:#000!important;
  border-color:var(--ct-lime)!important;
}
body.ecom .detail-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:0!important;
}
body.ecom .detail-actions button,
body.ecom .detail-actions a{
  height:50px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 15px!important;
  background:#111!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-radius:0!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:8px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
body.ecom .detail-actions .primary{
  background:var(--ct-lime)!important;
  color:#000!important;
  border-color:var(--ct-lime)!important;
}
body.ecom .accord{
  margin:30px 0 0!important;
  border-top:1px solid var(--ct-line)!important;
}
body.ecom .accord details{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid var(--ct-line)!important;
}
body.ecom .accord summary{
  padding:18px 0!important;
  color:#fff!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:8px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
  list-style-position:inside!important;
}
body.ecom .accord p{
  margin:0!important;
  padding:0 0 18px!important;
  color:var(--ct-muted)!important;
  font-size:13px!important;
  line-height:1.72!important;
}

/* LOOK CLOSER */
body.ecom .look{
  width:100%!important;
  padding:72px clamp(18px,4vw,64px)!important;
  overflow:hidden!important;
  background:#f7f7f5!important;
  color:#050505!important;
}
body.ecom .look .small{
  color:#666!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:7px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
body.ecom .look h2{
  max-width:900px!important;
  margin:10px 0 26px!important;
  color:#050505!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:clamp(40px,5vw,72px)!important;
  font-weight:400!important;
  line-height:.95!important;
  letter-spacing:-.04em!important;
  text-transform:uppercase!important;
}
body.ecom .close-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
}
body.ecom .close-card{min-width:0!important;overflow:hidden!important}
body.ecom .close-photo{
  width:100%!important;
  height:auto!important;
  aspect-ratio:.78 / 1!important;
  overflow:hidden!important;
  background:#dedbd4!important;
}
body.ecom .close-photo img{
  width:100%!important;
  height:100%!important;
  padding:0!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
  filter:none!important;
}
body.ecom .close-text{padding:11px 3px 0!important}
body.ecom .close-num{color:#999!important;font-weight:700!important;font-size:11px!important}
body.ecom .close-title{
  margin:5px 0!important;
  color:#111!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-transform:uppercase!important;
}
body.ecom .close-copy{color:#737373!important;font-size:9px!important;line-height:1.45!important}

/* COMMUNITY */
body.ecom .community{
  padding:78px clamp(18px,10vw,150px)!important;
  background:#080808!important;
}
body.ecom .community .page-title{
  margin-top:10px!important;
  font-size:clamp(38px,4.5vw,66px)!important;
}
body.ecom .community-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
body.ecom .community-card{
  min-width:0!important;
  overflow:hidden!important;
  padding:0 0 13px!important;
  background:#0d0d0d!important;
  border-radius:7px!important;
}
body.ecom .community-card img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:.8 / 1!important;
  object-fit:cover!important;
  border-radius:0!important;
}
body.ecom .community-card .tags{
  padding:9px 12px 0!important;
  color:#969690!important;
  font-size:9px!important;
}
body.ecom .community-card h3{
  margin:8px 0 2px!important;
  padding:0 12px!important;
  color:#fff!important;
  font-size:13px!important;
}
body.ecom .community-card p{
  margin:0!important;
  padding:0 12px!important;
  color:#7f7f79!important;
  font-size:10px!important;
}

/* REVIEWS */
body.ecom .reviews-product{
  padding:72px clamp(18px,9vw,140px)!important;
  background:#fff!important;
  color:#111!important;
}
body.ecom .reviews-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 28px!important;
}
body.ecom .reviews-head h2{
  margin:8px 0 0!important;
  color:#111!important;
  font-family:'Space Grotesk',Arial,sans-serif!important;
  font-size:20px!important;
  font-weight:500!important;
}
body.ecom .rating-summary{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  color:#111!important;
}
body.ecom .review-cards{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
body.ecom .review-card{
  min-width:0!important;
  min-height:220px!important;
  padding:20px!important;
  background:#f7f8fb!important;
  border:1px solid #d4d7de!important;
  border-radius:8px!important;
  color:#111!important;
}
body.ecom .stars{font-size:24px!important;line-height:1!important;letter-spacing:1px!important}
body.ecom .stars span{color:#c7ccd7!important}
body.ecom .stars .on{color:#2058e8!important}
body.ecom .reviewer{
  display:flex!important;
  gap:7px!important;
  align-items:center!important;
  margin-top:12px!important;
}
body.ecom .reviewer strong{font-size:13px!important}
body.ecom .verified{
  padding:2px 6px!important;
  color:#111!important;
  border:1px solid #777!important;
  border-radius:999px!important;
  font-size:8px!important;
}
body.ecom .review-date{margin-top:4px!important;color:#333!important;font-size:10px!important}
body.ecom .review-card p{margin:14px 0 0!important;color:#202020!important;font-size:13px!important;line-height:1.45!important}
body.ecom .review-photo{width:72px!important;height:72px!important;margin-top:12px!important;object-fit:cover!important;border-radius:6px!important}

/* FAQ */
body.ecom .product-faq{
  padding:76px clamp(18px,10vw,150px)!important;
  background:#080808!important;
}
body.ecom .faq-list{
  width:100%!important;
  max-width:1000px!important;
  margin:0!important;
  border-top:1px solid var(--ct-line)!important;
}
body.ecom .faq-list details{
  padding:0!important;
  margin:0!important;
  border-bottom:1px solid var(--ct-line)!important;
}
body.ecom .faq-list summary{
  padding:20px 0!important;
  color:#fff!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:9px!important;
  line-height:1.5!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
body.ecom .faq-list p{
  max-width:800px!important;
  margin:0!important;
  padding:0 0 20px!important;
  color:#a0a099!important;
  font-size:13px!important;
  line-height:1.72!important;
}

/* FOOTER */
body.ecom .store-footer{
  padding:60px clamp(18px,4.5vw,72px) 26px!important;
  background:#050505!important;
  border-top:1px solid var(--ct-line)!important;
}
body.ecom .store-footer-grid{
  display:grid!important;
  grid-template-columns:1.4fr 1fr 1fr 1fr!important;
  gap:42px!important;
}
body.ecom .store-footer img{width:210px!important}
body.ecom .store-footer h4{
  margin:0 0 12px!important;
  color:#777!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:8px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
body.ecom .store-footer p{max-width:440px!important;color:#7e7e78!important;font-size:12px!important;line-height:1.7!important}
body.ecom .store-footer a{display:block!important;padding:6px 0!important;color:#c8c8c1!important;font-size:12px!important}
body.ecom .store-footer-bottom{
  display:flex!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-top:42px!important;
  padding-top:17px!important;
  border-top:1px solid var(--ct-line)!important;
  color:#666!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:7px!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}

/* RESPONSIVE */
@media(max-width:1180px){
  body.ecom .shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ecom .product-layout{grid-template-columns:minmax(0,1fr) 420px!important;gap:38px!important}
  body.ecom .shop-actions.three{grid-template-columns:1fr!important}
  body.ecom .shop-actions.three a{height:39px!important}
}
@media(max-width:900px){
  body.ecom .store-head{grid-template-columns:1fr auto!important;height:76px!important}
  body.ecom .store-head .links{display:none!important}
  body.ecom .store-logo{justify-self:start!important}
  body.ecom .store-logo img{width:160px!important}
  body.ecom .product-layout{grid-template-columns:1fr!important}
  body.ecom .detail{position:relative!important;top:auto!important;padding-top:18px!important}
  body.ecom .gallery-shell{grid-template-columns:1fr!important}
  body.ecom .gallery-thumbs{order:2!important;flex-direction:row!important;overflow:auto!important;padding-bottom:4px!important}
  body.ecom .gallery-thumb{width:76px!important;height:76px!important;flex:0 0 76px!important}
  body.ecom .close-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ecom .community-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ecom .review-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.ecom .store-footer-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:700px){
  body.ecom .page-hero{min-height:250px!important;padding-top:50px!important;padding-bottom:32px!important}
  body.ecom .page-title{font-size:clamp(36px,12vw,56px)!important}
  body.ecom .wrap{padding-top:42px!important;padding-bottom:48px!important}
  body.ecom .shop-toolbar{grid-template-columns:1fr!important}
  body.ecom .shop-toolbar .page-copy{margin-left:0!important}
  body.ecom .shop-grid{grid-template-columns:1fr!important;gap:14px!important}
  body.ecom .shop-card .prod-stage{aspect-ratio:1 / .96!important}
  body.ecom .shop-actions.three{grid-template-columns:1fr 1fr 1fr!important}
  body.ecom .shop-actions.three a{font-size:6px!important;padding:0 5px!important}
  body.ecom .detail-actions{grid-template-columns:1fr!important}
  body.ecom .close-grid{grid-template-columns:1fr 1fr!important}
  body.ecom .community-grid{grid-template-columns:1fr!important}
  body.ecom .review-cards{grid-template-columns:1fr!important}
  body.ecom .reviews-head{display:block!important}
  body.ecom .rating-summary{margin-top:12px!important}
  body.ecom .store-footer-grid{grid-template-columns:1fr!important}
  body.ecom .store-footer-bottom{display:block!important;line-height:2!important}
}
@media(max-width:460px){
  body.ecom .shop-actions.three{grid-template-columns:1fr!important}
  body.ecom .close-grid{grid-template-columns:1fr!important}
}

body.ecom .shop-result-count{
  justify-self:end!important;
  color:#85857f!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
body.ecom .shop-intro-strip{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:30px!important;
  align-items:end!important;
  margin-bottom:26px!important;
  padding-bottom:24px!important;
  border-bottom:1px solid var(--ct-line)!important;
}
body.ecom .shop-intro-strip strong{
  display:block!important;
  margin-top:8px!important;
  color:#fff!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:clamp(18px,2vw,28px)!important;
  font-weight:400!important;
  line-height:1.25!important;
}
body.ecom .shop-intro-strip p{
  max-width:600px!important;
  margin:0!important;
  justify-self:end!important;
  color:#878780!important;
  font-size:12px!important;
  line-height:1.7!important;
}
@media(max-width:700px){
  body.ecom .shop-intro-strip{grid-template-columns:1fr!important;gap:12px!important}
  body.ecom .shop-intro-strip p{justify-self:start!important}
  body.ecom .shop-result-count{justify-self:start!important}
}

body.ecom .product-breadcrumb{
  display:flex!important;
  gap:8px!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  margin:0 0 24px!important;
  color:#777!important;
  font-family:'Michroma','Space Grotesk',sans-serif!important;
  font-size:7px!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}
body.ecom .product-breadcrumb a:hover{color:var(--ct-lime)!important}
body.ecom .product-breadcrumb strong{color:#aaa!important;font-weight:400!important}

/* ============================================================
   COSTAN V4.4 — typography / menu / FAQ / mobile buying controls
   ============================================================ */
:root{
  --site-body-font:'Space Grotesk',Arial,sans-serif;
  --site-display-font:'Michroma','Space Grotesk',sans-serif;
}
body.ecom{font-family:var(--site-body-font)!important}
body.ecom h1,body.ecom h2,body.ecom h3,body.ecom h4,body.ecom h5,body.ecom h6,
body.ecom .page-kicker,body.ecom .page-title,body.ecom .store-head a,body.ecom .store-footer h4,
body.ecom .shop-info h3,body.ecom .detail h1,body.ecom .accord summary,body.ecom .faq-list summary,
body.ecom .detail-actions a,body.ecom .detail-actions button,body.ecom .shop-actions a{
  font-family:var(--site-display-font)!important;
}
body.ecom p,
body.ecom .page-copy,
body.ecom .shop-meta,
body.ecom .accord p,
body.ecom .close-copy,
body.ecom .community-card p,
body.ecom .review-card p,
body.ecom .faq-list p,
body.ecom .store-footer p,
body.ecom .store-footer a{
  font-family:var(--site-body-font)!important;
  font-size:15px!important;
  line-height:1.68!important;
}
body.ecom .shop-meta{font-size:13px!important}
body.ecom .close-copy{font-size:12px!important;line-height:1.55!important}
body.ecom .community-card p{font-size:12px!important}
body.ecom .store-footer a{font-size:13px!important}
body.ecom .review-date{font-size:11px!important}
body.ecom .verified{font-size:9px!important}

/* unified header */
body.ecom .store-head .links,
body.ecom .store-head .tools{gap:24px!important}
body.ecom .store-head a{
  font-size:9px!important;
  letter-spacing:.06em!important;
}

/* FAQ centered */
body.ecom .product-faq{
  text-align:center!important;
}
body.ecom .product-faq .page-kicker{
  text-align:center!important;
}
body.ecom .product-faq .page-title{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
body.ecom .faq-list{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:left!important;
}
body.ecom .faq-list p{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* product review readability */
body.ecom .reviews-head h2{font-size:24px!important}
body.ecom .reviewer strong{font-size:14px!important}

/* mobile fixed Add to Cart + Buy Now */
body.ecom .mobile-buybar{
  display:none;
}
@media(max-width:700px){
  body.ecom{
    padding-bottom:76px!important;
  }
  body.ecom .mobile-buybar{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:999!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    padding:10px 12px!important;
    background:rgba(5,5,5,.96)!important;
    border-top:1px solid rgba(255,255,255,.14)!important;
    backdrop-filter:blur(16px)!important;
  }
  body.ecom .mobile-buybar button{
    height:52px!important;
    border:1px solid rgba(255,255,255,.16)!important;
    font-family:var(--site-display-font)!important;
    font-size:8px!important;
    letter-spacing:.05em!important;
    text-transform:uppercase!important;
    cursor:pointer!important;
  }
  body.ecom .mobile-buybar .mobile-add{
    background:#111!important;
    color:#fff!important;
  }
  body.ecom .mobile-buybar .mobile-buy{
    background:#caff18!important;
    color:#000!important;
    border-color:#caff18!important;
  }
  body.ecom p,
  body.ecom .page-copy,
  body.ecom .shop-meta,
  body.ecom .accord p,
  body.ecom .review-card p,
  body.ecom .faq-list p,
  body.ecom .store-footer p,
  body.ecom .store-footer a{
    font-size:14px!important;
    line-height:1.65!important;
  }
  body.ecom .store-head .tools{
    gap:12px!important;
  }
  body.ecom .store-head .tools a{
    font-size:8px!important;
  }
}


/* =========================================================
   COSTAN V5 — PRODUCT GALLERY THUMBS BOTTOM
   ========================================================= */
body.ecom .gallery-shell.gallery-bottom{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:100%!important;
  min-width:0!important;
}
body.ecom .gallery-shell.gallery-bottom .product-main{
  order:1!important;
}
body.ecom .gallery-shell.gallery-bottom .gallery-thumbs{
  order:2!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:2px 0 6px!important;
  scrollbar-width:thin!important;
}
body.ecom .gallery-shell.gallery-bottom .gallery-thumb{
  flex:0 0 86px!important;
  width:86px!important;
  height:86px!important;
}
body.ecom .gallery-shell.gallery-bottom .gallery-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}

/* =========================================================
   COSTAN V5 — FULL WEBSITE RESPONSIVE PASS
   ========================================================= */
body.ecom .wrap{
  width:min(100%,1580px)!important;
  padding-left:clamp(18px,4vw,64px)!important;
  padding-right:clamp(18px,4vw,64px)!important;
}

/* SHOP */
@media(max-width:1280px){
  body.ecom .shop-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:1050px){
  body.ecom .shop-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.ecom .shop-actions.three{
    grid-template-columns:1fr 1fr 1fr!important;
  }
}
@media(max-width:700px){
  body.ecom .shop-grid{
    grid-template-columns:1fr!important;
  }
  body.ecom .shop-toolbar{
    grid-template-columns:1fr!important;
  }
  body.ecom .shop-actions.three{
    grid-template-columns:1fr 1fr 1fr!important;
  }
  body.ecom .shop-actions.three a{
    min-height:44px!important;
    font-size:10px!important;
  }
}

/* PRODUCT DETAILS */
@media(max-width:1100px){
  body.ecom .product-layout{
    grid-template-columns:1fr!important;
    gap:36px!important;
  }
  body.ecom .detail{
    position:relative!important;
    top:auto!important;
  }
}
@media(max-width:700px){
  body.ecom .product-layout{
    gap:26px!important;
  }
  body.ecom .product-main.prod-stage{
    aspect-ratio:1/1!important;
  }
  body.ecom .gallery-shell.gallery-bottom .gallery-thumb{
    flex-basis:72px!important;
    width:72px!important;
    height:72px!important;
  }
  body.ecom .detail-actions{
    grid-template-columns:1fr 1fr!important;
  }
  body.ecom .size-list span{
    width:46px!important;
    height:46px!important;
  }
  body.ecom .look{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.ecom .close-grid{
    grid-template-columns:1fr!important;
  }
  body.ecom .community{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.ecom .community-grid{
    grid-template-columns:1fr!important;
  }
  body.ecom .reviews-product{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  body.ecom .review-cards{
    grid-template-columns:1fr!important;
  }
  body.ecom .product-faq{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* CART */
@media(max-width:800px){
  body.ecom .cart-line{
    grid-template-columns:90px minmax(0,1fr) auto!important;
    gap:14px!important;
  }
  body.ecom .cart-line .qty-cell{
    grid-column:2!important;
  }
  body.ecom .cart-summary{
    width:100%!important;
    max-width:none!important;
    position:relative!important;
    bottom:auto!important;
  }
}
@media(max-width:520px){
  body.ecom .cart-line{
    grid-template-columns:74px minmax(0,1fr)!important;
  }
  body.ecom .cart-thumb{
    width:74px!important;
    height:74px!important;
  }
  body.ecom .cart-line > div:last-child{
    grid-column:2!important;
  }
}

/* CHECKOUT */
@media(max-width:900px){
  body.ecom .checkout-grid{
    grid-template-columns:1fr!important;
  }
}
@media(max-width:600px){
  body.ecom .form-grid{
    grid-template-columns:1fr!important;
  }
  body.ecom .form-grid .full{
    grid-column:auto!important;
  }
  body.ecom .checkout-box{
    padding:18px!important;
  }
}

/* THANK YOU / CMS */
@media(max-width:700px){
  body.ecom .thank{
    padding:44px 18px!important;
  }
  body.ecom .page-hero{
    min-height:230px!important;
  }
}
