/* K Garden 2.0.23 — hover bridge, stock/sale badge separation, archive infinite scroll */

/* Keep the desktop mega menu open while moving from the top navigation into it. */
body.kgx-final222.kgx-final223 .kgx222-mega{
  top:var(--kgx222-mega-top,84px)!important;
  pointer-events:auto!important;
}
body.kgx-final222.kgx-final223 .kgx222-mega:before{
  top:-24px!important;
  height:28px!important;
  pointer-events:auto!important;
}
body.kgx-final222.kgx-final223 .kgx222-has-mega.kgx222-mega-open>.kgx222-mega{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* Separate sale and out-of-stock labels. */
body.kgx-final223 ul.products li.product,
body.kgx-final223 .products .product{
  position:relative!important;
}
body.kgx-final223 .kgx221-stock-badge{
  top:12px!important;
  left:12px!important;
  right:auto!important;
  max-width:calc(100% - 24px);
  white-space:nowrap;
}
body.kgx-final223 li.product.outofstock .onsale,
body.kgx-final223 li.product:has(.kgx221-stock-badge) .onsale{
  top:12px!important;
  right:12px!important;
  left:auto!important;
  margin:0!important;
  z-index:9!important;
}

/* Infinite archive loading: pagination remains in the HTML as a no-JS/SEO fallback. */
body.kgx-final223 .kgx223-original-pagination{
  display:none!important;
}
body.kgx-final223 .kgx223-infinite-controls{
  width:100%;
  margin:34px auto 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#56675e;
}
body.kgx-final223 .kgx223-infinite-button{
  min-height:44px;
  padding:0 22px;
  border:1px solid rgba(23,58,48,.18);
  border-radius:999px;
  background:#fffdf8;
  color:#173a30;
  font:inherit;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
body.kgx-final223 .kgx223-infinite-button:hover,
body.kgx-final223 .kgx223-infinite-button:focus-visible{
  border-color:#9bc848;
  background:#f4f8ec;
  transform:translateY(-1px);
  outline:none;
}
body.kgx-final223 .kgx223-infinite-button[disabled]{
  opacity:.58;
  cursor:wait;
  transform:none;
}
body.kgx-final223 .kgx223-infinite-status{
  min-height:22px;
  font-size:13px;
  line-height:1.5;
}
body.kgx-final223 .kgx223-infinite-spinner{
  width:24px;
  height:24px;
  border:3px solid rgba(23,58,48,.13);
  border-top-color:#7cae2f;
  border-radius:50%;
  animation:kgx223-spin .75s linear infinite;
}
body.kgx-final223 .kgx223-infinite-spinner[hidden]{display:none!important}
body.kgx-final223 .kgx223-infinite-sentinel{width:100%;height:1px;pointer-events:none}
body.kgx-final223 li.product.kgx223-product-added{animation:kgx223-fade-in .28s ease both}
@keyframes kgx223-spin{to{transform:rotate(360deg)}}
@keyframes kgx223-fade-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

@media(max-width:767px){
  body.kgx-final223 .kgx221-stock-badge{
    top:8px!important;
    left:8px!important;
    right:auto!important;
    max-width:calc(100% - 16px);
  }
  body.kgx-final223 li.product.outofstock .onsale,
  body.kgx-final223 li.product:has(.kgx221-stock-badge) .onsale{
    top:8px!important;
    right:8px!important;
    left:auto!important;
  }
  /* On very narrow two-column cards, stack the labels vertically when both exist. */
  body.kgx-final223 li.product:has(.kgx221-stock-badge):has(.onsale) .kgx221-stock-badge{
    top:40px!important;
    right:8px!important;
    left:auto!important;
  }
  body.kgx-final223 .kgx223-infinite-controls{margin-top:24px}
}

@media(prefers-reduced-motion:reduce){
  body.kgx-final223 li.product.kgx223-product-added{animation:none}
  body.kgx-final223 .kgx223-infinite-spinner{animation-duration:1.4s}
}
