.shop-db-image{position:relative;overflow:hidden}
.shop-db-image{
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:transparent;
}

.shop-db-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:contain;
  object-position:center;
  background:transparent;
}
.k89-add-cart{width:100%;margin-top:16px;padding:13px 16px;border:1px solid rgba(112,255,138,.3);background:rgba(112,255,138,.04);color:inherit;cursor:pointer;text-transform:uppercase;letter-spacing:.08em}
.k89-add-cart:hover{border-color:rgba(112,255,138,.7)}
.k89-add-cart:disabled{opacity:.6;cursor:wait}
.k89-cart-link{display:inline-flex;gap:8px;align-items:center;padding:10px 14px;border:1px solid rgba(255,255,255,.15);text-decoration:none}
.k89-cart-link span{color:#72ff92}
.cart-shell{width:min(calc(100% - 40px),920px);margin:0 auto;padding:140px 0 80px}
.cart-row{display:grid;grid-template-columns:1fr auto auto;gap:20px;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.12);align-items:center}
.cart-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}
.cart-actions button,.cart-actions a{padding:12px 15px;border:1px solid rgba(255,255,255,.15);background:transparent;color:inherit;text-decoration:none;cursor:pointer}
.cart-total{font-size:1.4rem;margin-top:28px}
.cart-notice{padding:14px;border:1px solid rgba(112,255,138,.25);margin:20px 0}
@media(max-width:700px){.cart-row{grid-template-columns:1fr}.shop-db-image img{min-height:200px}}

/* K89 cart remove button */
.cart-row button[data-remove]{
  padding:10px 14px;
  border:1px solid rgba(94,214,116,.45);
  background:transparent;
  color:#dff5e2;
  cursor:pointer;
  font:inherit;
  letter-spacing:.04em;
  transition:background .18s ease,border-color .18s ease,color .18s ease;
}

.cart-row button[data-remove]:hover{
  background:rgba(94,214,116,.10);
  border-color:rgba(94,214,116,.85);
  color:#ffffff;
}

.cart-row button[data-remove]:disabled{
  opacity:.5;
  cursor:not-allowed;
}


/* K89 cart product thumbnails */
.cart-row{
  grid-template-columns:72px minmax(0,1fr) auto auto;
}

.cart-thumb{
  width:72px;
  height:72px;
  object-fit:cover;
  display:block;
  background:#0b100d;
  border:1px solid rgba(94,214,116,.20);
}

.cart-product-info{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}

.cart-product-info strong{
  line-height:1.3;
}

.cart-product-info small{
  opacity:.65;
}

.cart-line-price{
  white-space:nowrap;
}

@media(max-width:700px){
  .cart-row{
    grid-template-columns:64px 1fr;
  }

  .cart-thumb{
    width:64px;
    height:64px;
  }

  .cart-line-price,
  .cart-row button[data-remove]{
    grid-column:2;
  }
}

/* K89 cart CRT panel */
.cart-shell{
  width:min(calc(100% - 40px),1040px);
  margin:0 auto;
  padding:140px 0 90px;
}

.cart-panel{
  position:relative;
  overflow:hidden;
  padding:42px 46px 46px;
  background:
    linear-gradient(
      180deg,
      rgba(10,15,12,.96) 0%,
      rgba(6,10,8,.94) 100%
    );
  border:1px solid rgba(94,214,116,.22);
  box-shadow:
    inset 0 0 45px rgba(94,214,116,.035),
    0 18px 60px rgba(0,0,0,.28);
}

.cart-panel::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.055;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(255,255,255,.035) 0px,
      rgba(255,255,255,.035) 1px,
      transparent 1px,
      transparent 3px
    );
  mix-blend-mode:screen;
}

.cart-panel::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(
      ellipse at center,
      rgba(94,214,116,.025) 0%,
      rgba(0,0,0,0) 58%,
      rgba(0,0,0,.22) 100%
    );
}

.cart-panel > *{
  position:relative;
  z-index:1;
}

.cart-panel h1{
  margin-bottom:34px;
}

.cart-row{
  padding:22px 16px;
  margin:0 -16px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.012);
}

.cart-row + .cart-row{
  margin-top:4px;
}

.cart-total{
  margin-top:30px;
  padding-top:24px;
  border-top:1px solid rgba(94,214,116,.16);
}

.cart-actions{
  margin-top:26px;
}

.cart-actions button,
.cart-actions a{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-color:rgba(94,214,116,.28);
}

.cart-actions button:hover,
.cart-actions a:hover{
  border-color:rgba(94,214,116,.75);
  background:rgba(94,214,116,.07);
}

@media(max-width:700px){
  .cart-shell{
    width:min(calc(100% - 24px),1040px);
    padding:110px 0 60px;
  }

  .cart-panel{
    padding:28px 20px 30px;
  }

  .cart-row{
    margin:0;
    padding:18px 0;
    background:transparent;
  }
}

/* =========================================================
   K89 CART — BOUNDED CRT DISPLAY
   ========================================================= */

/* Keep the surrounding cart page quieter so the CRT panel
   reads as a separate display surface. */
.cart-page .site-noise{
  opacity:.018;
}

.cart-page .scanlines{
  opacity:.025;
}

/* The CRT effect belongs strictly to the bordered panel. */
.cart-page .cart-panel{
  isolation:isolate;
  overflow:hidden;

  background:
    linear-gradient(
      180deg,
      rgba(10,16,12,.975),
      rgba(5,10,7,.97)
    );

  box-shadow:
    inset 0 0 70px rgba(70,255,110,.045),
    inset 0 0 160px rgba(0,0,0,.32),
    0 20px 70px rgba(0,0,0,.32);
}

/* CRT scanline / phosphor surface */
.cart-page .cart-panel::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

  opacity:.18;

  background:
    repeating-linear-gradient(
      0deg,
      rgba(125,255,145,.045) 0px,
      rgba(125,255,145,.045) 1px,
      rgba(0,0,0,.035) 1px,
      rgba(0,0,0,.035) 2px,
      transparent 2px,
      transparent 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.012) 0px,
      rgba(255,255,255,.012) 1px,
      transparent 1px,
      transparent 3px
    );
}

/* CRT glass/vignette — also clipped to cart only */
.cart-page .cart-panel::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;

  background:
    radial-gradient(
      ellipse at center,
      rgba(92,255,120,.045) 0%,
      rgba(20,60,30,.018) 48%,
      rgba(0,0,0,.30) 100%
    );

  box-shadow:
    inset 0 0 38px rgba(105,255,130,.035);
}

/* Cart content stays above the CRT glass */
.cart-page .cart-panel > *{
  position:relative;
  z-index:2;
}


/* K89 CART — FULL BACKGROUND + STRONGER BOUNDED CRT + QTY */
html, body.cart-page { min-height:100%; }
body.cart-page {
  min-height:100vh;
  background:#020503 !important;
  background-attachment:fixed;
}
.cart-page .cart-shell {
  min-height:100vh;
  box-sizing:border-box;
}
.cart-page .site-noise { opacity:.012 !important; }
.cart-page .scanlines { opacity:.018 !important; }
.cart-page .cart-panel::before {
  opacity:.30 !important;
  background:
    repeating-linear-gradient(0deg, rgba(112,255,138,.065) 0px, rgba(112,255,138,.065) 1px, rgba(0,0,0,.075) 1px, rgba(0,0,0,.075) 2px, transparent 2px, transparent 4px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.018) 0px, rgba(255,255,255,.018) 1px, transparent 1px, transparent 3px) !important;
}
.cart-page .cart-panel::after {
  background:radial-gradient(ellipse at center, rgba(92,255,120,.065) 0%, rgba(20,60,30,.025) 45%, rgba(0,0,0,.36) 100%) !important;
}
.cart-page .cart-row {
  grid-template-columns:72px minmax(0,1fr) auto auto auto;
  column-gap:18px;
}
.cart-qty-controls { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.cart-qty-label { opacity:.7; font-size:.82rem; margin-right:2px; }
.cart-qty-value { min-width:24px; text-align:center; font-variant-numeric:tabular-nums; }
.cart-qty-button {
  width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center;
  padding:0; border:1px solid rgba(94,214,116,.38); background:transparent; color:#dff5e2;
  font:inherit; cursor:pointer;
}
.cart-qty-button:hover { border-color:rgba(94,214,116,.85); background:rgba(94,214,116,.09); }
.cart-remove-all {
  padding:10px 14px; border:1px solid rgba(94,214,116,.45); background:transparent;
  color:#dff5e2; cursor:pointer; font:inherit; white-space:nowrap;
}
.cart-remove-all:hover { border-color:rgba(94,214,116,.85); background:rgba(94,214,116,.09); }
@media(max-width:700px){
  .cart-page .cart-row { grid-template-columns:64px minmax(0,1fr); row-gap:12px; }
  .cart-line-price, .cart-qty-controls, .cart-remove-all { grid-column:2; justify-self:start; }
}

/* K89 CART — remove quantity selector + product links */
.cart-product-link{
  color:inherit;
  text-decoration:none;
}

.cart-product-link:hover{
  color:#8df29f;
}

.cart-thumb-link{
  display:block;
}

.cart-thumb-link:hover .cart-thumb{
  border-color:rgba(94,214,116,.75);
  box-shadow:0 0 18px rgba(94,214,116,.08);
}

.cart-remove-qty{
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}

.cart-remove-qty .cart-qty-label{
  opacity:.7;
  font-size:.78rem;
}

@media(max-width:700px){
  .cart-remove-qty{
    grid-column:2;
    justify-self:start;
  }
}

/* =========================================================
   K89 SHOP — COMPACT COMMERCE HERO
   ========================================================= */

.shop-hero{
  min-height:auto !important;
  padding-top:110px !important;
  padding-bottom:52px !important;
}

.shop-hero .page-hero-grid{
  align-items:end;
  gap:48px;
}

.shop-hero h1{
  font-size:clamp(3rem,5.4vw,5rem) !important;
  line-height:.88 !important;
  max-width:760px;
  margin-top:22px;
  margin-bottom:0;
}

.shop-hero .page-hero-aside{
  align-self:end;
  padding-bottom:8px;
}

.shop-hero .page-hero-aside .page-index{
  margin-bottom:18px;
}

.shop-hero .page-hero-aside p{
  max-width:420px;
  margin-bottom:0;
}

/* Bring the shopping controls and products up immediately. */
.shop-section{
  padding-top:38px !important;
}

.shop-section .shop-toolbar{
  margin-bottom:26px;
}

/* Keep the filters compact and commerce-oriented. */
.shop-section .shop-filters{
  gap:8px;
}

.shop-section .filter-button{
  padding:10px 14px;
}

@media(max-width:900px){
  .shop-hero{
    padding-top:96px !important;
    padding-bottom:38px !important;
  }

  .shop-hero .page-hero-grid{
    gap:28px;
  }

  .shop-hero h1{
    font-size:clamp(2.8rem,7.5vw,4.35rem) !important;
  }
}

@media(max-width:700px){
  .shop-hero{
    padding-top:88px !important;
    padding-bottom:30px !important;
  }

  .shop-hero .page-hero-grid{
    gap:20px;
  }

  .shop-hero h1{
    font-size:clamp(2.5rem,11vw,3.75rem) !important;
    line-height:.92 !important;
  }

  .shop-hero .page-hero-aside{
    padding-bottom:0;
  }

  .shop-section{
    padding-top:24px !important;
  }
}

/* =========================================================
   K89 SHOP — REMOVE EXCESS HERO TOP GAP
   ========================================================= */

.shop-hero{
  min-height:0 !important;
  padding-top:58px !important;
  padding-bottom:42px !important;
}

.shop-hero .page-hero-grid{
  min-height:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
  align-items:center;
}

.shop-hero .system-label{
  margin-top:0 !important;
}

.shop-hero h1{
  margin-top:18px !important;
}

@media(max-width:900px){
  .shop-hero{
    padding-top:46px !important;
    padding-bottom:34px !important;
  }
}

@media(max-width:700px){
  .shop-hero{
    padding-top:34px !important;
    padding-bottom:28px !important;
  }
}

/* K89 SHOP — stock quantity + stronger price */
.product-card-price{
  font-size:1.28rem;
  line-height:1;
  font-weight:700;
  letter-spacing:-.02em;
}

@media(max-width:700px){
  .product-card-price{
    font-size:1.18rem;
  }
}

/* K89 checkout */
.checkout-step{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid rgba(94,214,116,.16);
}

.checkout-step h2{
  margin:0 0 10px;
}

.checkout-step label{
  display:block;
  margin:24px 0 8px;
  opacity:.75;
}

.checkout-step select{
  width:min(100%,420px);
  min-height:48px;
  padding:10px 12px;
  background:#080d0a;
  border:1px solid rgba(94,214,116,.35);
  color:#e8efe9;
  font:inherit;
}

#quoteShipping{
  display:block;
  margin-top:16px;
  padding:12px 16px;
  border:1px solid rgba(94,214,116,.45);
  background:transparent;
  color:#dff5e2;
  font:inherit;
  cursor:pointer;
}

#quoteShipping:hover{
  border-color:rgba(94,214,116,.85);
  background:rgba(94,214,116,.08);
}

.shipping-rate{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:12px;
  padding:16px;
  border:1px solid rgba(94,214,116,.22);
  background:rgba(255,255,255,.012);
}

/* =========================================================
   K89 CHECKOUT — ADDRESS / SHIPPING / ORDER SUMMARY
   ========================================================= */

.checkout-shell{
  width:min(calc(100% - 40px),1280px);
  margin:0 auto;
  padding:120px 0 80px;
}

.checkout-grid{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);
  gap:24px;
  align-items:start;
}

.checkout-main,
.checkout-summary{
  padding:38px;
}

.checkout-summary{
  position:sticky;
  top:100px;
}

.checkout-progress{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:24px 0 6px;
}

.checkout-progress span{
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.10);
  opacity:.45;
  font-size:.78rem;
  letter-spacing:.06em;
}

.checkout-progress span.active{
  border-color:rgba(94,214,116,.45);
  color:#8df29f;
  opacity:1;
}

.checkout-step{
  margin-top:30px;
  padding-top:26px;
  border-top:1px solid rgba(94,214,116,.16);
}

.checkout-step-heading{
  display:flex;
  gap:18px;
  align-items:flex-start;
  margin-bottom:22px;
}

.checkout-step-heading > span{
  color:#72ff92;
  font-size:.78rem;
  letter-spacing:.10em;
}

.checkout-step-heading h2{
  margin:0 0 6px;
}

.checkout-step-heading p{
  margin:0;
  opacity:.7;
}

.checkout-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

.checkout-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.checkout-field-wide{
  grid-column:1 / -1;
}

.checkout-field > span{
  opacity:.72;
  font-size:.82rem;
}

.checkout-field input,
.checkout-field select{
  width:100%;
  min-height:48px;
  box-sizing:border-box;
  padding:11px 12px;
  border:1px solid rgba(94,214,116,.28);
  background:#070c09;
  color:#e9f1ea;
  font:inherit;
}

.checkout-field input:focus,
.checkout-field select:focus{
  outline:none;
  border-color:rgba(94,214,116,.75);
  box-shadow:0 0 0 1px rgba(94,214,116,.10);
}

.checkout-primary{
  min-height:48px;
  margin-top:20px;
  padding:12px 18px;
  border:1px solid rgba(94,214,116,.52);
  background:rgba(94,214,116,.055);
  color:#e5f5e8;
  font:inherit;
  cursor:pointer;
}

.checkout-primary:hover:not(:disabled){
  border-color:rgba(94,214,116,.9);
  background:rgba(94,214,116,.10);
}

.checkout-primary:disabled{
  opacity:.38;
  cursor:not-allowed;
}

.shipping-rate-list{
  display:grid;
  gap:10px;
}

.shipping-rate{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px;
  border:1px solid rgba(94,214,116,.22);
  background:rgba(255,255,255,.012);
  color:inherit;
  text-align:left;
  cursor:pointer;
}

.shipping-rate span{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.shipping-rate small{
  opacity:.62;
}

.shipping-rate:hover,
.shipping-rate.selected{
  border-color:rgba(94,214,116,.78);
  background:rgba(94,214,116,.07);
}

.checkout-summary h2{
  margin:12px 0 24px;
}

.checkout-summary-item{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.09);
}

.checkout-summary-item img{
  width:58px;
  height:58px;
  object-fit:cover;
  border:1px solid rgba(94,214,116,.22);
}

.checkout-summary-item > div{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.checkout-summary-item small{
  opacity:.55;
}

.checkout-summary-item span{
  opacity:.72;
}

.checkout-summary-title{
  color:inherit;
  text-decoration:none;
  font-weight:600;
}

.checkout-summary-title:hover{
  color:#8df29f;
}

.checkout-totals{
  margin-top:22px;
  padding-top:16px;
  border-top:1px solid rgba(94,214,116,.18);
}

.checkout-totals > div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:8px 0;
}

.checkout-total-final{
  margin-top:8px;
  padding-top:16px !important;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:1.18rem;
}

.checkout-summary .checkout-primary{
  width:100%;
}

.checkout-payment-note{
  margin:12px 0 0;
  opacity:.55;
  font-size:.8rem;
  line-height:1.5;
}

@media(max-width:900px){
  .checkout-grid{
    grid-template-columns:1fr;
  }

  .checkout-summary{
    position:static;
  }
}

@media(max-width:700px){
  .checkout-shell{
    width:min(calc(100% - 24px),1280px);
    padding:90px 0 50px;
  }

  .checkout-main,
  .checkout-summary{
    padding:24px 20px;
  }

  .checkout-form-grid{
    grid-template-columns:1fr;
  }

  .checkout-field-wide{
    grid-column:auto;
  }
}

/* K89 CHECKOUT SQUARE READY FIX */
.checkout-summary{
  position:sticky !important;
  top:88px !important;
}

.checkout-payment-section{
  scroll-margin-top:100px;
}

@media(max-width:900px){
  .checkout-summary{
    position:static !important;
  }
}

/* K89 SQUARE CARD FORM */
#squareCardWrap{
  margin-top:18px;
}

#card-container{
  min-height:100px;
  padding:16px;
  border:1px solid rgba(94,214,116,.24);
  background:rgba(0,0,0,.22);
}

#squareCardWrap .checkout-primary{
  width:100%;
  margin-top:14px;
}

.order-complete-box{
  margin-top:24px;
  border-top:1px solid rgba(94,214,116,.18);
}

.order-complete-box > div{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.08);
}

/* =========================================================
   K89 SOLD-OUT PRODUCT STATE
   ========================================================= */

.product-card.is-sold-out .product-image,
.product-page-soldout .product-gallery,
.product-page-soldout .product-image{
  position:relative;
  overflow:hidden;
}

.product-card.is-sold-out .product-image img,
.product-page-soldout .product-gallery img,
.product-page-soldout .product-image img{
  filter:brightness(.18) saturate(.25) contrast(1.12);
}

.product-card.is-sold-out .product-image::after,
.product-page-soldout .product-gallery::after,
.product-page-soldout .product-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.44) 0px,
      rgba(0,0,0,.44) 1px,
      rgba(70,255,105,.055) 2px,
      rgba(0,0,0,.52) 4px
    ),
    radial-gradient(
      ellipse at center,
      rgba(35,100,48,.04) 0%,
      rgba(0,0,0,.35) 55%,
      rgba(0,0,0,.82) 100%
    );
}

.sold-out-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
  background:rgba(0,0,0,.28);
}

.sold-out-overlay > span{
  padding:10px 15px;
  border:1px solid rgba(112,255,138,.55);
  background:rgba(0,7,2,.90);
  color:#e3f6e6;
  font-weight:700;
  font-size:.78rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  box-shadow:
    0 0 18px rgba(72,255,105,.12),
    inset 0 0 12px rgba(72,255,105,.05);
}

.product-card.is-sold-out{
  opacity:.94;
}

.product-card.is-sold-out .availability.sold{
  color:rgba(220,235,223,.66);
}

.product-soldout-button{
  width:100%;
  box-sizing:border-box;
  margin-top:16px;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.42);
  color:rgba(223,245,226,.56);
  text-align:center;
  text-transform:uppercase;
  letter-spacing:.12em;
  cursor:not-allowed;
}

/* =========================================================
   K89 SOLD-OUT OVERLAY CLEANUP
   - preserve normal product image geometry
   - plain centered SOLD OUT text
   ========================================================= */

/* Do not let sold-out state alter the image box geometry. */
.product-card.is-sold-out .product-image{
  position:relative;
  overflow:hidden;
}

/* Preserve the exact normal image sizing rules. */
.product-card.is-sold-out .product-image img{
  width:100%;
  height:100%;
  object-fit:inherit;
  object-position:inherit;
  display:block;
  filter:brightness(.20) saturate(.28) contrast(1.08);
}

/* CRT darkness/fuzz only — no geometry changes. */
.product-card.is-sold-out .product-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;
  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.34) 0px,
      rgba(0,0,0,.34) 1px,
      rgba(72,255,105,.045) 2px,
      rgba(0,0,0,.42) 4px
    ),
    radial-gradient(
      ellipse at center,
      rgba(20,70,30,.02) 0%,
      rgba(0,0,0,.28) 58%,
      rgba(0,0,0,.70) 100%
    );
}

/* Plain centered text, no badge/box. */
.product-card.is-sold-out .sold-out-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  pointer-events:none;
  background:transparent;
}

.product-card.is-sold-out .sold-out-overlay > span{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:rgba(235,245,237,.92);
  font-size:1rem;
  font-weight:700;
  line-height:1;
  letter-spacing:.18em;
  text-align:center;
  text-transform:uppercase;
  text-shadow:
    0 0 5px rgba(0,0,0,.95),
    0 0 10px rgba(0,0,0,.95),
    0 0 16px rgba(70,255,105,.12);
}

/* Cancel the earlier sold-out image rules that could distort layout. */
.product-page-soldout .product-gallery img,
.product-page-soldout .product-image img{
  width:auto;
  height:auto;
}

/* Product page sold-out overlay remains centered and borderless too. */
.product-page-soldout .sold-out-overlay{
  background:transparent;
}

.product-page-soldout .sold-out-overlay > span{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:rgba(235,245,237,.92);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:.18em;
  text-transform:uppercase;
  text-shadow:
    0 0 5px rgba(0,0,0,.95),
    0 0 10px rgba(0,0,0,.95),
    0 0 16px rgba(70,255,105,.12);
}

/* =========================================================
   K89 SOLD OUT — FINAL IMAGE TREATMENT
   Normal image untouched. CRT/static is overlay only.
   ========================================================= */

/* EXACTLY match normal shop image geometry */
.product-card.is-sold-out .shop-db-image img,
.product-card.is-sold-out .product-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:260px !important;
  object-fit:cover !important;
  object-position:center !important;
  filter:none !important;
  opacity:1 !important;
}

/* Do not modify the image container geometry */
.product-card.is-sold-out .shop-db-image,
.product-card.is-sold-out .product-image{
  position:relative;
  overflow:hidden;
}

/* Dark CRT/static layer ABOVE the untouched image */
.product-card.is-sold-out .shop-db-image::after,
.product-card.is-sold-out .product-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:3;
  pointer-events:none;

  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.42) 0px,
      rgba(0,0,0,.42) 1px,
      rgba(100,255,125,.055) 2px,
      rgba(0,0,0,.48) 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.018) 0px,
      rgba(255,255,255,.018) 1px,
      rgba(0,0,0,.025) 2px,
      rgba(0,0,0,.025) 3px
    ),
    rgba(0,8,3,.56);
}

/* SOLD OUT text centered over CRT layer */
.product-card.is-sold-out .sold-out-overlay{
  position:absolute;
  inset:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  background:transparent;
  pointer-events:none;
}

/* Stronger / bolder typography */
.product-card.is-sold-out .sold-out-overlay > span{
  padding:0;
  margin:0;
  border:0;
  background:none;
  box-shadow:none;

  color:#f1f7f2;
  font-size:1.08rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;

  text-shadow:
    0 2px 4px rgba(0,0,0,1),
    0 0 10px rgba(0,0,0,.95),
    0 0 18px rgba(72,255,105,.18);
}

@media(max-width:700px){
  .product-card.is-sold-out .shop-db-image img,
  .product-card.is-sold-out .product-image img{
    min-height:200px !important;
  }
}



/* =========================================================
   K89 SOLD OUT — PHOTO ONLY CRT OVERLAY
   ========================================================= */

.product-card.is-sold-out .shop-db-image,
.product-card.is-sold-out .product-image{
  position:relative;
  overflow:hidden;
}

/* CRT/static over the PHOTO ONLY */
.product-card.is-sold-out .shop-db-image::after,
.product-card.is-sold-out .product-image::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:10;
  pointer-events:none;

  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.42) 0px,
      rgba(0,0,0,.42) 1px,
      rgba(100,255,125,.055) 2px,
      rgba(0,0,0,.48) 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.018) 0px,
      rgba(255,255,255,.018) 1px,
      rgba(0,0,0,.025) 2px,
      rgba(0,0,0,.025) 3px
    ),
    rgba(0,8,3,.56);
}

/* SOLD OUT centered over the PHOTO ONLY */
.product-card.is-sold-out .sold-out-overlay{
  position:absolute;
  inset:0;
  z-index:20;

  display:flex;
  align-items:center;
  justify-content:center;

  padding:0;
  margin:0;
  background:transparent;
  pointer-events:none;
}

.product-card.is-sold-out .sold-out-overlay > span{
  padding:0;
  margin:0;
  border:0;
  background:none;
  box-shadow:none;

  color:#f3f8f4;
  font-size:1.2rem;
  font-weight:900;
  line-height:1;
  letter-spacing:.18em;
  text-transform:uppercase;

  text-shadow:
    0 2px 5px rgba(0,0,0,1),
    0 0 12px rgba(0,0,0,1),
    0 0 20px rgba(70,255,105,.18);
}

/* =========================================================
   K89 SOLD OUT — IMAGE ONLY CRT FIX
   ========================================================= */

/* Kill any whole-card sold-out overlay */
.product-card.is-sold-out::after{
  display:none !important;
}

/* Keep the image container as the overlay boundary */
.product-card.is-sold-out .shop-db-image,
.product-card.is-sold-out .product-image{
  position:relative !important;
  overflow:hidden !important;
}

/* Do NOT alter the actual image */
.product-card.is-sold-out .shop-db-image img,
.product-card.is-sold-out .product-image img{
  filter:none !important;
  opacity:1 !important;
}

/* Restore dark CRT/static overlay on IMAGE ONLY */
.product-card.is-sold-out .shop-db-image::after,
.product-card.is-sold-out .product-image::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:20 !important;
  pointer-events:none !important;

  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.42) 0px,
      rgba(0,0,0,.42) 1px,
      rgba(100,255,125,.055) 2px,
      rgba(0,0,0,.48) 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.018) 0px,
      rgba(255,255,255,.018) 1px,
      rgba(0,0,0,.025) 2px,
      rgba(0,0,0,.025) 3px
    ),
    rgba(0,8,3,.56) !important;
}

/* SOLD OUT centered over IMAGE ONLY */
.product-card.is-sold-out .sold-out-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:30 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  pointer-events:none !important;
}

/* Bold text, no badge */
.product-card.is-sold-out .sold-out-overlay > span{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;

  color:#f3f8f4 !important;
  font-size:1.2rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;

  text-shadow:
    0 2px 5px rgba(0,0,0,1),
    0 0 12px rgba(0,0,0,1),
    0 0 20px rgba(70,255,105,.18) !important;
}


/* =========================================================
   K89 SOLD OUT — WHOLE CARD CRT
   ========================================================= */

/* Disable image-only overlay */
.product-card.is-sold-out .shop-db-image::after,
.product-card.is-sold-out .product-image::after{
  display:none !important;
}

/* Sold-out card becomes overlay boundary */
.product-card.is-sold-out{
  position:relative !important;
  overflow:hidden !important;
  opacity:1 !important;
}

/* Dark CRT/static over ENTIRE card */
.product-card.is-sold-out::after{
  display:block !important;
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:20 !important;
  pointer-events:none !important;

  background:
    repeating-linear-gradient(
      0deg,
      rgba(0,0,0,.28) 0px,
      rgba(0,0,0,.28) 1px,
      rgba(90,255,115,.045) 2px,
      rgba(0,0,0,.34) 4px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(255,255,255,.012) 0px,
      rgba(255,255,255,.012) 1px,
      rgba(0,0,0,.025) 2px,
      rgba(0,0,0,.025) 3px
    ),
    rgba(0,7,3,.54) !important;
}

/* Move SOLD OUT label over whole card */
.product-card.is-sold-out .sold-out-overlay{
  position:absolute !important;
  inset:0 !important;
  z-index:30 !important;

  display:flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  pointer-events:none !important;
}

/* Bold centered text */
.product-card.is-sold-out .sold-out-overlay > span{
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;

  color:#f3f8f4 !important;
  font-size:1.2rem !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;

  text-shadow:
    0 2px 5px rgba(0,0,0,1),
    0 0 12px rgba(0,0,0,1),
    0 0 20px rgba(70,255,105,.18) !important;
}

/* K89 PRIVATE ORDER PROGRESS */
.order-progress-panel{max-width:820px;margin:0 auto}.order-status-hero{margin:26px 0;padding:18px;border:1px solid rgba(112,255,138,.22);background:rgba(0,0,0,.28)}.order-status-hero span{display:block;margin-bottom:7px;color:rgba(220,235,223,.58);font-size:.76rem;letter-spacing:.11em;text-transform:uppercase}.order-status-hero strong{font-size:1.25rem}.order-progress-track{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:30px 0 38px}.order-progress-step{position:relative;text-align:center;color:rgba(220,235,223,.38)}.order-progress-step::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:rgba(255,255,255,.12)}.order-progress-step:first-child::before{left:50%}.order-progress-step:last-child::before{right:50%}.order-progress-step>span{position:relative;z-index:2;display:block;width:14px;height:14px;margin:0 auto 10px;border:1px solid rgba(255,255,255,.20);border-radius:50%;background:#080c09}.order-progress-step.done{color:#dff5e2}.order-progress-step.done>span{border-color:rgba(112,255,138,.7);background:rgba(112,255,138,.22)}.order-progress-step.done::before{background:rgba(112,255,138,.30)}.order-progress-step small{display:block;font-size:.72rem}.order-progress-section{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10)}.order-progress-section h2{margin:0 0 15px;font-size:1rem;letter-spacing:.08em;text-transform:uppercase}.order-progress-item,.order-progress-data,.order-progress-totals>div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.07)}.order-progress-item>div{display:flex;flex-direction:column;gap:4px}.order-progress-item small,.order-progress-data span,.order-progress-totals span{color:rgba(220,235,223,.56)}.order-progress-totals{margin-top:12px}.order-progress-totals .final{padding-top:15px;font-size:1.14rem}.order-progress-muted,.order-progress-private{color:rgba(220,235,223,.52);line-height:1.6}.order-progress-private{margin-top:30px;font-size:.78rem}

/* =========================================================
   K89 SOLD OUT — FINAL IMAGE GEOMETRY OVERRIDE
   Match live product image behavior exactly.
   CRT/static overlay remains unchanged.
   ========================================================= */

.product-card.is-sold-out .shop-db-image,
.product-card.is-sold-out .product-image{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:transparent !important;
}

.product-card.is-sold-out .shop-db-image img,
.product-card.is-sold-out .product-image img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:260px !important;

  object-fit:contain !important;
  object-position:center !important;

  background:transparent !important;

  filter:none !important;
  opacity:1 !important;
}

@media(max-width:700px){
  .product-card.is-sold-out .shop-db-image img,
  .product-card.is-sold-out .product-image img{
    min-height:200px !important;
  }
}

/* =========================================================
   K89 HOMEPAGE LIVE PRODUCT CARDS
   ========================================================= */

.product-grid-home .home-product-link{
  display:block;
  height:100%;
  color:inherit;
  text-decoration:none;
}

.product-grid-home .shop-db-image{
  width:100%;
}

.product-grid-home .shop-db-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:contain;
  object-position:center;
  background:transparent;
}

.product-grid-home .home-products-empty{
  grid-column:1/-1;
  color:rgba(220,235,223,.55);
}

/* =========================================================
   K89 SHOP SEARCH + RESULT COUNT
   ========================================================= */

.shop-search-row{
  margin:22px 0 18px;
}

.shop-search-form{
  display:flex;
  align-items:stretch;
  gap:8px;
  width:min(100%,760px);
}

.shop-search-input{
  flex:1 1 auto;
  min-width:0;
  height:44px;
  padding:0 14px;
  color:#e8f1e9;
  background:#071009;
  border:1px solid rgba(92,214,116,.28);
  border-radius:0;
  font:inherit;
  outline:none;
}

.shop-search-input:focus{
  border-color:rgba(92,214,116,.75);
}

.shop-search-input::placeholder{
  color:rgba(232,241,233,.42);
}

.shop-search-submit,
.shop-search-clear{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 16px;
  border:1px solid rgba(92,214,116,.42);
  background:transparent;
  color:#dff5e2;
  font:inherit;
  text-decoration:none;
  cursor:pointer;
}

.shop-search-submit:hover,
.shop-search-clear:hover{
  background:rgba(92,214,116,.08);
  border-color:rgba(92,214,116,.78);
}

.shop-results-tools{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  margin:0 0 22px;
}

.shop-item-count{
  color:rgba(216,239,220,.66);
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.shop-results-tools .shop-pagination{
  margin:0;
}

.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

@media(max-width:700px){
  .shop-search-form{
    flex-wrap:wrap;
  }

  .shop-search-input{
    flex-basis:100%;
  }

  .shop-results-tools{
    align-items:flex-start;
  }
}

/* =========================================================
   K89 SHOP GRID — 24 ITEMS / DENSE 6-COLUMN DESKTOP
   ========================================================= */

.shop-product-grid{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:16px !important;
}

.shop-product-grid .product-card{
  min-width:0;
}

.shop-product-grid .product-info{
  padding:13px 12px 14px;
}

.shop-product-grid .product-info h2{
  font-size:.92rem;
  line-height:1.28;
  margin:.42rem 0 .65rem;
}

.shop-product-grid .product-category{
  font-size:.64rem;
}

.shop-product-grid .product-spec{
  font-size:.72rem;
}

.shop-product-grid .product-bottom{
  font-size:.77rem;
}

@media(max-width:1250px){
  .shop-product-grid{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  }
}

@media(max-width:850px){
  .shop-product-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:620px){
  .shop-product-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
  }

  .shop-product-grid .product-info{
    padding:10px;
  }

  .shop-product-grid .product-info h2{
    font-size:.84rem;
  }
}

/* =========================================================
   K89 SHOP PRODUCT IMAGE GEOMETRY V1
   Show complete product artwork without cropping.
   ========================================================= */

.shop-product-grid .product-image.shop-db-image{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  aspect-ratio:1 / 1;
  padding:0;
  overflow:hidden;
  background:#080d0a;
}

.shop-product-grid .product-image.shop-db-image img{
  display:block;
  width:100%;
  height:100%;
  min-width:0;
  min-height:0;
  object-fit:contain;
  object-position:center;
}

/* =========================================================
   K89 SHOP CATEGORY FILTER LEGIBILITY V1
   ========================================================= */

.shop-category-button,
[data-shop-category],
[data-category-filter]{
  font-size:.76rem;
}

/* =========================================================
   K89 SHOP CATEGORY FILTER LEGIBILITY V2
   Correct selector: .filter-button
   ========================================================= */

.filter-button{
  font-size:.78rem !important;
  letter-spacing:.045em;
}

/* =========================================================
   K89 SHOP CONTROLS LEGIBILITY V3
   ========================================================= */

/* Category navigation */
.filter-button{
  font-size:.84rem !important;
  letter-spacing:.04em;
}

/* Pagination */
.shop-page-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  font-size:.78rem !important;
  line-height:1 !important;
}

/* Numbered page controls */
.shop-page-button:not(:first-child):not(:last-child){
  min-width:36px;
}

/* =========================================================
   K89 CATEGORY EDITORIAL COPY V1
   ========================================================= */

.shop-category-copy{
  max-width:940px;
  margin:8px 0 32px;
  padding:18px 0 20px;
  border-top:1px solid rgba(112,255,138,.12);
  border-bottom:1px solid rgba(112,255,138,.12);
}

.shop-category-copy p{
  margin:0;
  max-width:900px;
  color:rgba(225,236,227,.68);
  font-size:.92rem;
  line-height:1.75;
}

@media(max-width:700px){
  .shop-category-copy{
    margin-bottom:24px;
    padding:15px 0 17px;
  }

  .shop-category-copy p{
    font-size:.88rem;
    line-height:1.7;
  }
}
