/* === kdf-dotd-premium.css === */
/* KDF Deal of the Day — premium conversion header + carousel
   Toggle off via $kdfDotdPremiumUi = false in home.blade.php */

.nv-dotd-premium {
  --dotd-green: #0f3d2e;
  --dotd-green-2: #087344;
  --dotd-green-soft: #1a5c45;
  --dotd-orange: #f58300;
  --dotd-coral: #e9422b;
  --dotd-ink: #14241c;
  --dotd-muted: #5a6b62;
  margin: 18px auto 14px;
}

.nv-dotd-premium__inner {
  position: relative;
  overflow: hidden;
  padding: 20px 14px 18px;
  border-radius: 28px !important;
  border: 1px solid rgba(15, 61, 46, .1) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .7) inset,
    0 18px 40px rgba(15, 61, 46, .08);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .55), transparent 42%),
    radial-gradient(ellipse 90% 70% at 100% -10%, rgba(245, 131, 0, .12), transparent 48%),
    radial-gradient(ellipse 70% 60% at -5% 0%, rgba(8, 115, 68, .16), transparent 50%),
    linear-gradient(165deg, #eef7ea 0%, #f7fbf5 46%, #eaf4e4 100%) !important;
}

.nv-dotd-premium__glow {
  position: absolute;
  inset: auto -20% -40% auto;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(233, 66, 43, .16), transparent 68%);
  pointer-events: none;
  z-index: 0;
}

.nv-dotd-premium__head {
  margin-bottom: 14px;
  position: relative;
  z-index: 1;
}

.nv-dotd-premium__desk {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.nv-dotd-premium__left {
  flex: 1 1 220px;
  min-width: 0;
}

.nv-dotd-premium__title-copy {
  min-width: 0;
}

/* Desktop center visual panel — hidden on mobile */
.nv-dotd-premium__stage {
  display: none;
}

/* Live badge */
.nv-dotd-premium .nv-dotd-premium__live {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  padding: 7px 12px 7px 10px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #0f3d2e, #176348) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(15, 61, 46, .22);
}

.nv-dotd-premium__pulse {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 0 0 rgba(74, 222, 128, .55);
  animation: nv-dotd-pulse 1.6s ease-out infinite;
}

.nv-dotd-premium .nv-dotd-premium__live i,
.nv-dotd-premium .nv-dotd-premium__live svg {
  width: 13px !important;
  height: 13px !important;
  color: #f5c518 !important;
}

.nv-dotd-premium__title-copy h2 {
  margin: 12px 0 6px;
  color: var(--dotd-green);
  font-size: clamp(24px, 6.4vw, 38px);
  line-height: 1.08;
  font-weight: 850;
  letter-spacing: -.035em;
  text-wrap: balance;
}

.nv-dotd-premium__title-copy > p {
  margin: 0;
  color: var(--dotd-muted);
  font-size: 13.5px;
  line-height: 1.45;
  max-width: 32ch;
}

/* Magnetic % OFF badge */
.nv-dotd-premium .nv-dotd-premium__burst {
  position: relative;
  flex: 0 0 auto;
  width: 78px !important;
  height: 78px !important;
  display: grid !important;
  place-content: center;
  gap: 0;
  text-align: center;
  color: #fff !important;
  border-radius: 50% !important;
  transform: rotate(-9deg);
  background:
    radial-gradient(circle at 32% 28%, #ff8f4a, transparent 42%),
    radial-gradient(circle at 70% 78%, #c81e1e, #e9422b 55%, #f97316 100%) !important;
  border: 0 !important;
  box-shadow:
    0 14px 28px rgba(233, 66, 43, .34),
    0 0 0 4px rgba(255, 255, 255, .55) !important;
  animation: nv-dotd-float 3.2s ease-in-out infinite;
  margin-top: 2px;
  align-self: flex-start;
}

.nv-dotd-premium__burst-ring {
  position: absolute;
  inset: 5px;
  border-radius: 50%;
  border: 1.5px dashed rgba(255, 255, 255, .7);
  pointer-events: none;
}

.nv-dotd-premium .nv-dotd-premium__burst span {
  position: relative;
  z-index: 1;
  font-size: 8px !important;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1;
}

.nv-dotd-premium .nv-dotd-premium__burst strong {
  position: relative;
  z-index: 1;
  font-size: 20px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  margin: 2px 0;
}

/* Urgency clock strip */
.nv-dotd-premium__urgency {
  margin: 14px 0 0;
}

.nv-dotd-premium__clock {
  padding: 12px 12px 11px;
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  border: 1px solid rgba(15, 61, 46, .08);
  box-shadow: 0 10px 24px rgba(15, 61, 46, .05);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  width: fit-content;
  max-width: 100%;
}

.nv-dotd-premium__clock-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.nv-dotd-premium__clock .nv-deal__clock-label {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  margin: 0 !important;
  color: var(--dotd-green) !important;
  font-weight: 800 !important;
  font-size: 12px !important;
}

.nv-dotd-premium__clock .nv-deal__clock-label i,
.nv-dotd-premium__clock .nv-deal__clock-label svg {
  width: 14px;
  height: 14px;
  color: var(--dotd-coral);
}

.nv-dotd-premium__hurry {
  font-size: 11px;
  font-weight: 700;
  color: #c2410c;
  background: rgba(249, 115, 22, .12);
  border-radius: 999px;
  padding: 4px 9px;
  white-space: nowrap;
}

.nv-dotd-premium__units {
  display: flex;
  gap: 8px;
  flex-wrap: nowrap;
  align-items: flex-end;
  justify-content: flex-start;
  width: auto;
}

.nv-dotd-premium__sep {
  color: var(--dotd-green);
  font-weight: 900;
  font-size: 18px;
  line-height: 1;
  opacity: .35;
  margin-top: -14px;
  animation: nv-dotd-blink 1s steps(1) infinite;
}

.nv-dotd-premium__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  width: auto;
  min-width: 0;
}

.nv-dotd-premium__unit b {
  width: auto !important;
  min-width: 56px !important;
  max-width: none;
  background: linear-gradient(180deg, #1a5c45, #0f3d2e) !important;
  color: #fff !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  font-size: 18px !important;
  font-weight: 850 !important;
  text-align: center;
  display: block;
  font-variant-numeric: tabular-nums;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, .18) inset,
    0 8px 16px rgba(15, 61, 46, .22);
  transition: transform .18s ease;
}

.nv-dotd-premium__unit span {
  color: var(--dotd-muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .08em;
}

/* Carousel */
.nv-dotd-carousel {
  position: relative;
  z-index: 1;
  margin: 2px -4px 8px;
}

.nv-dotd-carousel__track.deal-rail {
  display: flex !important;
  flex-wrap: nowrap !important;
  grid-template-columns: none !important;
  gap: 16px !important;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scroll-padding-inline: 8px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  /* pan-x alone blocks vertical page scroll when touch starts on the rail (iOS/Android). */
  touch-action: pan-x pan-y;
  padding: 6px 14px 16px 6px;
  width: 100%;
  max-width: 100%;
  cursor: grab;
  scroll-behavior: auto;
  align-items: stretch;
}

.nv-dotd-carousel__track.deal-rail::-webkit-scrollbar {
  display: none;
}

.nv-dotd-carousel__track.is-dragging {
  cursor: grabbing;
  scroll-snap-type: none;
  scroll-behavior: auto;
}

.nv-dotd-carousel__slide {
  /* Smaller cards = less “zoomed”, clear gap so ATC buttons never collide */
  flex: 0 0 min(68vw, 248px) !important;
  width: min(68vw, 248px) !important;
  max-width: min(68vw, 248px) !important;
  min-width: 0 !important;
  scroll-snap-align: start;
  scroll-snap-stop: normal;
  box-sizing: border-box !important;
  overflow: hidden;
  isolation: isolate;
}

/* Kill layout mobile 86vw width that made cards spill into the next slide */
.nv-dotd-carousel__slide .deal-card,
.nv-dotd-carousel__slide .nv-deal-card,
.nv-dotd-premium .nv-dotd-carousel__slide .deal-card,
.nv-dotd-premium .nv-dotd-carousel__slide .nv-deal-card,
.nv-camp-premium .nv-dotd-carousel__slide .deal-card,
.nv-camp-premium .nv-dotd-carousel__slide .nv-deal-card {
  flex: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  overflow: hidden;
}

.nv-dotd-carousel__slide .nv-deal-atc,
.nv-dotd-carousel__slide .add {
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  position: relative;
  z-index: 1;
}

.nv-dotd-carousel__nav {
  position: absolute;
  top: 42%;
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #64748b;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
  display: none !important;
  place-items: center;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, color .2s ease;
}

.nv-dotd-carousel__nav:hover {
  color: var(--dotd-green);
  transform: translateY(-1px);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .16);
}

.nv-dotd-carousel__nav:disabled {
  opacity: .35;
  cursor: default;
  transform: none;
}

.nv-dotd-carousel__nav i,
.nv-dotd-carousel__nav svg {
  width: 20px;
  height: 20px;
}

.nv-dotd-carousel__nav--prev { left: -6px; }
.nv-dotd-carousel__nav--next { right: -6px; }

/* Premium cards */
.nv-dotd-premium .nv-deal-card--premium {
  height: 100%;
  border: 1px solid rgba(15, 61, 46, .08);
  border-radius: 22px;
  padding: 10px;
  box-shadow: 0 12px 30px rgba(15, 61, 46, .08);
  transition: transform .25s ease, box-shadow .25s ease;
  background: #fff;
}

.nv-dotd-premium .nv-deal-card--premium:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 36px rgba(15, 61, 46, .14);
}

.nv-dotd-premium .nv-deal-card__img {
  border-radius: 16px;
  background: linear-gradient(180deg, #fbfcf9, #f3f7f0);
}

.nv-dotd-premium .nv-deal-card__img img {
  transition: transform .3s ease;
}

.nv-dotd-premium .nv-deal-card--premium:hover .nv-deal-card__img img {
  transform: scale(1.045);
}

.nv-dotd-premium .nv-deal-wish {
  transition: transform .2s ease, background .2s ease;
}

.nv-dotd-premium .nv-deal-wish:hover {
  transform: scale(1.06);
}

.nv-dotd-premium .deal-badge {
  font-size: 10px;
  padding: 5px 10px;
  box-shadow: 0 6px 14px rgba(233, 66, 43, .25);
}

.nv-dotd-premium .nv-deal-card__stars {
  display: inline-flex;
  gap: 2px;
  vertical-align: middle;
  margin-right: 4px;
}

.nv-dotd-premium .nv-deal-card__stars i,
.nv-dotd-premium .nv-deal-card__stars svg {
  width: 13px;
  height: 13px;
  color: #d1d5db;
  fill: currentColor;
}

.nv-dotd-premium .nv-deal-card__stars .is-on,
.nv-dotd-premium .nv-deal-card__stars svg.is-on {
  color: #eab308;
}

.nv-dotd-premium .deal-prices {
  align-items: center;
}

.nv-dotd-premium .deal-prices strong {
  color: var(--dotd-green-2);
  font-size: 17px;
}

.nv-dotd-premium .nv-deal-card__off {
  margin-left: auto;
}

.nv-dotd-premium .deal-meta {
  margin-bottom: 6px;
}

.nv-dotd-premium .deal-meta--low strong {
  color: #dc2626;
}

.nv-dotd-premium .nv-deal-card__stock {
  height: 4px;
  border-radius: 999px;
  background: #f1f5f9;
  overflow: hidden;
  margin: 0 0 12px;
}

.nv-dotd-premium .nv-deal-card__stock-bar {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ff7a59, #e11d48);
}

.nv-dotd-premium .nv-deal-atc {
  border-radius: 14px !important;
  min-height: 48px;
  box-shadow: 0 10px 20px rgba(8, 115, 68, .18);
}

.nv-dotd-premium__trust {
  margin-top: 6px;
  gap: 8px;
  position: relative;
  z-index: 1;
}

.nv-dotd-premium__trust > div span:last-child {
  display: block;
  font-size: 10px;
  color: var(--dotd-muted);
  font-weight: 600;
  line-height: 1.3;
}

.nv-dotd-premium__trust strong {
  font-size: 11px;
}

@keyframes nv-dotd-pulse {
  0% { box-shadow: 0 0 0 0 rgba(74, 222, 128, .55); }
  70% { box-shadow: 0 0 0 8px rgba(74, 222, 128, 0); }
  100% { box-shadow: 0 0 0 0 rgba(74, 222, 128, 0); }
}

@keyframes nv-dotd-float {
  0%, 100% { transform: rotate(-9deg) translateY(0); }
  50% { transform: rotate(-9deg) translateY(-4px); }
}

@keyframes nv-dotd-blink {
  0%, 49% { opacity: .4; }
  50%, 100% { opacity: .12; }
}

@media (max-width: 767px) {
  .nv-dotd-premium__trust {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nv-dotd-premium .nv-deal-card--premium:hover {
    transform: none;
  }

  .nv-dotd-premium .nv-deal-card--premium:hover .nv-deal-card__img img {
    transform: none;
  }

  .nv-dotd-premium__hurry {
    font-size: 10px;
    padding: 3px 8px;
  }

  .nv-dotd-premium .nv-deal-card--premium,
  .nv-camp-premium .nv-deal-card--premium {
    padding: 8px;
    border-radius: 18px;
  }

  .nv-dotd-carousel__slide .nv-deal-atc {
    min-height: 44px;
    font-size: 14px;
    border-radius: 14px;
  }
}

@media (min-width: 640px) {
  .nv-dotd-carousel__slide {
    flex: 0 0 calc((100% - 16px) / 2) !important;
    width: calc((100% - 16px) / 2) !important;
    max-width: none !important;
  }

  .nv-dotd-premium .nv-dotd-premium__burst {
    width: 92px !important;
    height: 92px !important;
  }

  .nv-dotd-premium .nv-dotd-premium__burst strong {
    font-size: 24px !important;
  }
}

@media (min-width: 900px) {
  .nv-dotd-premium__inner {
    padding: 30px 28px 24px;
  }

  .nv-dotd-premium__desk {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    gap: 18px 22px;
    align-items: center;
  }

  .nv-dotd-premium__left {
    flex: none;
    max-width: 380px;
  }

  .nv-dotd-premium__title-copy > p {
    font-size: 15px;
    max-width: 40ch;
  }

  .nv-dotd-premium__title-copy h2 {
    font-size: clamp(32px, 3.1vw, 42px);
  }

  /* Center banner-like panel — split copy + product showcase */
  .nv-dotd-premium__stage {
    display: block;
    position: relative;
    min-height: 176px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(15, 61, 46, .1);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, .65) inset,
      0 14px 32px rgba(15, 61, 46, .08);
  }

  .nv-dotd-premium__stage-bg {
    position: absolute;
    inset: 0;
    background:
      radial-gradient(ellipse 55% 90% at 88% 50%, rgba(245, 158, 11, .28), transparent 58%),
      radial-gradient(ellipse 80% 70% at 8% 18%, rgba(245, 131, 0, .2), transparent 55%),
      radial-gradient(ellipse 50% 70% at 70% 100%, rgba(8, 115, 68, .35), transparent 55%),
      linear-gradient(125deg, #0f3d2e 0%, #176348 38%, #0a5c3c 68%, #9a3412 155%);
  }

  .nv-dotd-premium__stage-bg::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -28px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .14) 0%, transparent 68%);
    pointer-events: none;
  }

  .nv-dotd-premium__stage-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      repeating-linear-gradient(
        -18deg,
        transparent,
        transparent 11px,
        rgba(255, 255, 255, .035) 11px,
        rgba(255, 255, 255, .035) 12px
      );
    pointer-events: none;
  }

  .nv-dotd-premium__stage-body {
    position: relative;
    z-index: 1;
    height: 100%;
    min-height: 176px;
    padding: 16px 18px 16px 20px;
    display: grid;
    grid-template-columns: minmax(130px, .78fr) minmax(210px, 1.35fr);
    gap: 12px 14px;
    align-items: center;
    color: #fff;
  }

  .nv-dotd-premium__stage-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
  }

  .nv-dotd-premium__stage-kicker {
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fde68a;
    background: rgba(0, 0, 0, .22);
    border-radius: 999px;
    padding: 5px 10px;
    margin-bottom: 10px;
  }

  .nv-dotd-premium__stage-title {
    font-size: clamp(22px, 2.1vw, 30px);
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.1;
    margin: 0 0 6px;
  }

  .nv-dotd-premium__stage-sub {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, .82);
    max-width: 26ch;
  }

  .nv-dotd-premium__stage-cta {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #0f3d2e;
    background: linear-gradient(180deg, #fef3c7, #fbbf24);
    border-radius: 999px;
    padding: 7px 12px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
  }

  .nv-dotd-premium__stage-showcase {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    min-width: 0;
    padding: 10px 12px 8px 4px;
  }

  .nv-dotd-premium__stage-thumb {
    position: relative;
    flex: 0 0 auto;
    width: clamp(70px, 7vw, 92px);
    height: clamp(70px, 7vw, 92px);
    border-radius: 18px;
    overflow: visible;
    background: #fff;
    border: 3px solid rgba(255, 255, 255, .92);
    box-shadow:
      0 10px 24px rgba(0, 0, 0, .22),
      0 0 0 1px rgba(15, 61, 46, .08);
    margin-left: -16px;
    transition: transform .2s ease;
  }

  .nv-dotd-premium__stage-thumb:first-child {
    margin-left: 0;
  }

  .nv-dotd-premium__stage-thumb:nth-child(1) { z-index: 1; transform: rotate(-6deg) translateY(4px); }
  .nv-dotd-premium__stage-thumb:nth-child(2) { z-index: 2; transform: rotate(3deg) translateY(-6px); }
  .nv-dotd-premium__stage-thumb:nth-child(3) { z-index: 3; transform: rotate(-2deg) translateY(2px); }
  .nv-dotd-premium__stage-thumb:nth-child(4) { z-index: 4; transform: rotate(5deg) translateY(-4px); }

  .nv-dotd-premium__stage-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 15px;
    background: #fff;
  }

  .nv-dotd-premium__stage-off {
    position: absolute;
    top: -8px;
    right: -8px;
    z-index: 5;
    min-width: 34px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #dc2626, #ea580c);
    color: #fff;
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: -.02em;
    box-shadow: 0 4px 10px rgba(220, 38, 38, .35);
    border: 2px solid #fff;
  }

  .nv-dotd-premium .nv-dotd-premium__burst {
    width: 112px !important;
    height: 112px !important;
    align-self: center;
    margin-top: 0;
  }

  .nv-dotd-premium .nv-dotd-premium__burst span {
    font-size: 9px !important;
  }

  .nv-dotd-premium .nv-dotd-premium__burst strong {
    font-size: 28px !important;
  }

  .nv-dotd-premium__clock {
    padding: 14px 16px 13px;
    width: fit-content;
    max-width: 100%;
  }

  .nv-dotd-premium__unit b {
    min-width: 64px !important;
    width: auto !important;
    font-size: 22px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
  }

  .nv-dotd-carousel {
    margin: 6px 0 10px;
    padding: 0 28px;
  }

  .nv-dotd-carousel__nav {
    display: grid !important;
  }

  .nv-dotd-carousel__nav--prev { left: 0; }
  .nv-dotd-carousel__nav--next { right: 0; }

  .nv-dotd-carousel__slide {
    flex: 0 0 calc((100% - 48px) / 4) !important;
    width: calc((100% - 48px) / 4) !important;
    max-width: none !important;
  }

  .nv-dotd-premium__trust strong {
    font-size: 13px;
  }

  .nv-dotd-premium__trust > div span:last-child {
    font-size: 12px;
  }
}

@media (min-width: 1200px) {
  .nv-dotd-carousel__slide {
    flex: 0 0 calc((100% - 64px) / 5) !important;
    width: calc((100% - 64px) / 5) !important;
    max-width: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nv-dotd-premium__pulse,
  .nv-dotd-premium .nv-dotd-premium__burst,
  .nv-dotd-premium__sep {
    animation: none !important;
  }

  .nv-dotd-carousel__track.deal-rail,
  .nv-dotd-premium .nv-deal-card--premium,
  .nv-dotd-premium .nv-deal-card__img img,
  .nv-dotd-premium .nv-deal-wish,
  .nv-dotd-carousel__nav,
  .nv-dotd-premium__unit b {
    scroll-behavior: auto;
    transition: none;
  }

  .nv-dotd-premium .nv-deal-card--premium:hover {
    transform: none;
  }

  .nv-dotd-premium .nv-deal-card--premium:hover .nv-deal-card__img img {
    transform: none;
  }
}

/* ===== Shared premium campaigns (Flash / Featured / Clearance) ===== */
.nv-camp-premium { margin: 14px auto 10px; }
.nv-camp-premium__inner { text-align: left; }
.nv-camp-premium__view-all {
  display: flex !important;
  width: fit-content !important;
  max-width: 100%;
  min-height: 38px !important;
  margin: 8px auto 0 !important;
  padding: 7px 14px !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  border-radius: 999px !important;
  position: relative;
  z-index: 1;
  box-shadow: none !important;
}
.nv-camp-premium__inner {
  position: relative; overflow: hidden; padding: 20px 14px 18px;
  border-radius: 28px !important; border: 1px solid rgba(15, 23, 42, .08) !important;
  box-shadow: 0 1px 0 rgba(255,255,255,.7) inset, 0 18px 40px rgba(15,23,42,.07);
}
.nv-camp-premium__glow {
  position: absolute; inset: auto -18% -38% auto; width: 220px; height: 220px;
  border-radius: 50%; pointer-events: none; z-index: 0;
}
.nv-camp-premium__head { margin-bottom: 14px; position: relative; z-index: 1; }
.nv-camp-premium__desk {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.nv-camp-premium__left { flex: 1 1 220px; min-width: 0; }
.nv-camp-premium__title-copy { min-width: 0; }
.nv-camp-premium__stage { display: none; }
.nv-camp-premium .nv-camp-premium__live {
  display: inline-flex !important; align-items: center; gap: 7px;
  padding: 7px 12px 7px 10px !important; border-radius: 999px !important;
  color: #fff !important; font-size: 10px !important; font-weight: 800 !important;
  letter-spacing: .08em !important; text-transform: uppercase;
}
.nv-camp-premium__pulse {
  width: 7px; height: 7px; border-radius: 50%; background: #4ade80;
  box-shadow: 0 0 0 0 rgba(74,222,128,.5); animation: nv-dotd-pulse 1.6s ease-out infinite;
}
.nv-camp-premium .nv-camp-premium__live i,
.nv-camp-premium .nv-camp-premium__live svg { width: 13px !important; height: 13px !important; color: #fde68a !important; }
.nv-camp-premium__title-copy h2 {
  margin: 12px 0 6px; font-size: clamp(24px, 6.2vw, 38px); line-height: 1.08;
  font-weight: 850; letter-spacing: -.035em;
}
.nv-camp-premium__title-copy h2 em { font-style: normal; }
.nv-camp-premium__title-copy > p { margin: 0; color: #5b6b64; font-size: 13.5px; line-height: 1.45; max-width: 34ch; }
.nv-camp-premium .nv-camp-premium__burst {
  position: relative; flex: 0 0 auto; width: 78px !important; height: 78px !important;
  display: grid !important; place-content: center; text-align: center; color: #fff !important;
  border-radius: 50% !important; transform: rotate(-9deg); border: 0 !important;
  animation: nv-dotd-float 3.2s ease-in-out infinite; margin-top: 2px;
}
.nv-camp-premium__burst-ring {
  position: absolute; inset: 5px; border-radius: 50%;
  border: 1.5px dashed rgba(255,255,255,.7); pointer-events: none;
}
.nv-camp-premium .nv-camp-premium__burst span {
  position: relative; z-index: 1; font-size: 8px !important; font-weight: 800; letter-spacing: .06em; line-height: 1;
}
.nv-camp-premium .nv-camp-premium__burst strong {
  position: relative; z-index: 1; font-size: 20px !important; line-height: 1 !important; font-weight: 900 !important; margin: 2px 0;
}
.nv-camp-premium__urgency { margin: 14px 0 0; }
.nv-camp-premium__clock {
  padding: 12px; border-radius: 18px; background: rgba(255,255,255,.78);
  border: 1px solid rgba(15,23,42,.06); box-shadow: 0 10px 24px rgba(15,23,42,.04);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  width: fit-content; max-width: 100%;
}
.nv-camp-premium__clock-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; flex-wrap: wrap; }
.nv-camp-premium__clock .nv-deal__clock-label {
  display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important; font-weight: 800 !important; font-size: 12px !important;
}
.nv-camp-premium__hurry { font-size: 11px; font-weight: 700; border-radius: 999px; padding: 4px 9px; white-space: nowrap; }
.nv-camp-premium__units { display: flex; gap: 8px; align-items: flex-end; flex-wrap: nowrap; width: auto; }
.nv-camp-premium__sep { font-weight: 900; font-size: 18px; line-height: 1; opacity: .35; margin-top: -14px; animation: nv-dotd-blink 1s steps(1) infinite; }
.nv-camp-premium__unit { display: flex; flex-direction: column; align-items: center; gap: 5px; flex: 0 0 auto; width: auto; min-width: 0; }
.nv-camp-premium__unit b {
  width: auto !important; min-width: 56px !important; color: #fff !important; border-radius: 12px !important;
  padding: 10px 12px !important; font-size: 18px !important; font-weight: 850 !important; text-align: center; display: block; font-variant-numeric: tabular-nums;
}
.nv-camp-premium__unit span { color: #64748b; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.nv-camp-premium__carousel { margin: 2px -4px 8px; }
.nv-camp-premium .nv-deal-card--premium {
  height: 100%; border: 1px solid rgba(15,23,42,.06); border-radius: 22px; padding: 10px; background: #fff;
  box-shadow: 0 12px 30px rgba(15,23,42,.07); transition: transform .25s ease, box-shadow .25s ease;
}
.nv-camp-premium .nv-deal-card--premium:hover { transform: translateY(-4px); box-shadow: 0 18px 36px rgba(15,23,42,.12); }
.nv-camp-premium__trust { margin-top: 6px; gap: 8px; position: relative; z-index: 1; }
.nv-camp-premium__trust > div span:last-child { display: block; font-size: 10px; color: #64748b; font-weight: 600; line-height: 1.3; }

.nv-camp-premium--flash .nv-camp-premium__inner {
  background:
    linear-gradient(145deg, rgba(255,255,255,.6), transparent 42%),
    radial-gradient(ellipse 90% 70% at 100% -10%, rgba(249,115,22,.18), transparent 48%),
    radial-gradient(ellipse 70% 60% at -5% 0%, rgba(234,88,12,.12), transparent 50%),
    linear-gradient(165deg, #fff4eb 0%, #fffaf5 48%, #ffedd5 100%) !important;
  border-color: rgba(234,88,12,.16) !important;
}
.nv-camp-premium--flash .nv-camp-premium__glow { background: radial-gradient(circle, rgba(249,115,22,.2), transparent 68%); }
.nv-camp-premium--flash .nv-camp-premium__live { background: linear-gradient(135deg, #c2410c, #ea580c) !important; box-shadow: 0 8px 18px rgba(194,65,12,.28); }
.nv-camp-premium--flash .nv-camp-premium__pulse { background: #fdba74; }
.nv-camp-premium--flash .nv-camp-premium__title-copy h2 { color: #9a3412; }
.nv-camp-premium--flash .nv-camp-premium__title-copy h2 em { color: #ea580c; }
.nv-camp-premium--flash .nv-camp-premium__burst {
  background: radial-gradient(circle at 32% 28%, #fdba74, transparent 42%), radial-gradient(circle at 70% 78%, #c2410c, #ea580c 55%, #f97316 100%) !important;
  box-shadow: 0 14px 28px rgba(234,88,12,.34), 0 0 0 4px rgba(255,255,255,.55) !important;
}
.nv-camp-premium--flash .nv-deal__clock-label { color: #9a3412 !important; }
.nv-camp-premium--flash .nv-camp-premium__hurry { color: #c2410c; background: rgba(249,115,22,.14); }
.nv-camp-premium--flash .nv-camp-premium__sep { color: #c2410c; }
.nv-camp-premium--flash .nv-camp-premium__unit b { background: linear-gradient(180deg, #ea580c, #c2410c) !important; box-shadow: 0 1px 0 rgba(255,255,255,.18) inset, 0 8px 16px rgba(194,65,12,.22); }
.nv-camp-premium--flash .nv-deal-atc { background: #ea580c !important; box-shadow: 0 10px 20px rgba(234,88,12,.22); }
@media (hover: hover) {
  .nv-camp-premium--flash .nv-deal-atc:hover { background: #c2410c !important; }
}
.nv-camp-premium--flash .nv-camp-premium__view-all { background: #ffedd5 !important; border-color: #fdba74 !important; color: #c2410c !important; }
.nv-camp-premium--flash .nv-camp-premium__stage-bg {
  background:
    radial-gradient(ellipse 55% 90% at 88% 50%, rgba(253, 186, 116, .32), transparent 58%),
    radial-gradient(ellipse 80% 70% at 8% 18%, rgba(249, 115, 22, .28), transparent 55%),
    linear-gradient(125deg, #9a3412 0%, #c2410c 38%, #ea580c 72%, #fb923c 140%);
}
.nv-camp-premium--flash .nv-camp-premium__stage-cta {
  color: #9a3412;
  background: linear-gradient(180deg, #fff7ed, #fdba74);
}

.nv-camp-premium--featured .nv-camp-premium__inner {
  background:
    linear-gradient(145deg, rgba(255,255,255,.62), transparent 42%),
    radial-gradient(ellipse 90% 70% at 100% -10%, rgba(13,148,136,.14), transparent 48%),
    radial-gradient(ellipse 70% 60% at -5% 0%, rgba(15,118,110,.12), transparent 50%),
    linear-gradient(165deg, #ecfdf8 0%, #f7fffc 48%, #e6f7f2 100%) !important;
  border-color: rgba(15,118,110,.14) !important;
}
.nv-camp-premium--featured .nv-camp-premium__glow { background: radial-gradient(circle, rgba(13,148,136,.18), transparent 68%); }
.nv-camp-premium--featured .nv-camp-premium__live { background: linear-gradient(135deg, #0f766e, #0d9488) !important; box-shadow: 0 8px 18px rgba(15,118,110,.26); }
.nv-camp-premium--featured .nv-camp-premium__title-copy h2 { color: #115e59; }
.nv-camp-premium--featured .nv-camp-premium__title-copy h2 em { color: #0d9488; }
.nv-camp-premium--featured .nv-camp-premium__burst {
  background: radial-gradient(circle at 32% 28%, #5eead4, transparent 42%), radial-gradient(circle at 70% 78%, #0f766e, #0d9488 55%, #14b8a6 100%) !important;
  box-shadow: 0 14px 28px rgba(13,148,136,.3), 0 0 0 4px rgba(255,255,255,.55) !important;
}
.nv-camp-premium--featured .nv-deal-atc { background: #0d9488 !important; box-shadow: 0 10px 20px rgba(13,148,136,.2); }
@media (hover: hover) {
  .nv-camp-premium--featured .nv-deal-atc:hover { background: #0f766e !important; }
}
.nv-camp-premium--featured .nv-camp-premium__view-all { background: #ccfbf1 !important; border-color: #99f6e4 !important; color: #0f766e !important; }
.nv-camp-premium--featured .nv-camp-premium__stage-bg {
  background:
    radial-gradient(ellipse 55% 90% at 88% 50%, rgba(94, 234, 212, .28), transparent 58%),
    radial-gradient(ellipse 80% 70% at 8% 18%, rgba(13, 148, 136, .26), transparent 55%),
    linear-gradient(125deg, #115e59 0%, #0f766e 38%, #0d9488 72%, #14b8a6 140%);
}
.nv-camp-premium--featured .nv-camp-premium__stage-cta {
  color: #115e59;
  background: linear-gradient(180deg, #f0fdfa, #5eead4);
}

.nv-camp-premium--clearance .nv-camp-premium__inner {
  background:
    linear-gradient(145deg, rgba(255,255,255,.6), transparent 42%),
    radial-gradient(ellipse 90% 70% at 100% -10%, rgba(190,24,93,.12), transparent 48%),
    radial-gradient(ellipse 70% 60% at -5% 0%, rgba(159,18,57,.1), transparent 50%),
    linear-gradient(165deg, #fff1f5 0%, #fff8fa 48%, #ffe4ec 100%) !important;
  border-color: rgba(190,24,93,.14) !important;
}
.nv-camp-premium--clearance .nv-camp-premium__glow { background: radial-gradient(circle, rgba(225,29,72,.16), transparent 68%); }
.nv-camp-premium--clearance .nv-camp-premium__live { background: linear-gradient(135deg, #9f1239, #be185d) !important; box-shadow: 0 8px 18px rgba(159,18,57,.28); }
.nv-camp-premium--clearance .nv-camp-premium__pulse { background: #fb7185; }
.nv-camp-premium--clearance .nv-camp-premium__title-copy h2 { color: #9f1239; }
.nv-camp-premium--clearance .nv-camp-premium__title-copy h2 em { color: #e11d48; }
.nv-camp-premium--clearance .nv-camp-premium__burst {
  background: radial-gradient(circle at 32% 28%, #fb7185, transparent 42%), radial-gradient(circle at 70% 78%, #9f1239, #e11d48 55%, #f43f5e 100%) !important;
  box-shadow: 0 14px 28px rgba(225,29,72,.32), 0 0 0 4px rgba(255,255,255,.55) !important;
}
.nv-camp-premium--clearance .nv-deal-atc { background: #be185d !important; box-shadow: 0 10px 20px rgba(190,24,93,.22); }
@media (hover: hover) {
  .nv-camp-premium--clearance .nv-deal-atc:hover { background: #9f1239 !important; }
}
.nv-camp-premium--clearance .nv-camp-premium__view-all { background: #ffe4e6 !important; border-color: #fecdd3 !important; color: #9f1239 !important; }
.nv-camp-premium--clearance .nv-camp-premium__stage-bg {
  background:
    radial-gradient(ellipse 55% 90% at 88% 50%, rgba(251, 113, 133, .3), transparent 58%),
    radial-gradient(ellipse 80% 70% at 8% 18%, rgba(225, 29, 72, .26), transparent 55%),
    linear-gradient(125deg, #9f1239 0%, #be185d 38%, #e11d48 72%, #fb7185 140%);
}
.nv-camp-premium--clearance .nv-camp-premium__stage-cta {
  color: #9f1239;
  background: linear-gradient(180deg, #fff1f2, #fda4af);
}

@media (max-width: 767px) {
  .nv-camp-premium__trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nv-camp-premium .nv-deal-card--premium:hover { transform: none; }
}
@media (min-width: 640px) {
  .nv-camp-premium .nv-camp-premium__burst { width: 92px !important; height: 92px !important; }
  .nv-camp-premium .nv-camp-premium__burst strong { font-size: 24px !important; }
}
@media (min-width: 900px) {
  .nv-camp-premium__inner { padding: 30px 28px 24px; }
  .nv-camp-premium__desk {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    gap: 18px 22px;
    align-items: center;
  }
  .nv-camp-premium__left { flex: none; max-width: 380px; }
  .nv-camp-premium__title-copy h2 { font-size: clamp(30px, 3vw, 40px); }
  .nv-camp-premium__title-copy > p { font-size: 15px; max-width: 40ch; }

  .nv-camp-premium__stage {
    display: block;
    position: relative;
    min-height: 176px;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    box-shadow:
      0 1px 0 rgba(255, 255, 255, .45) inset,
      0 14px 32px rgba(15, 23, 42, .1);
  }
  .nv-camp-premium__stage-bg {
    position: absolute;
    inset: 0;
  }
  .nv-camp-premium__stage-bg::before {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -28px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, .16) 0%, transparent 68%);
    pointer-events: none;
  }
  .nv-camp-premium__stage-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      repeating-linear-gradient(
        -18deg,
        transparent,
        transparent 11px,
        rgba(255, 255, 255, .04) 11px,
        rgba(255, 255, 255, .04) 12px
      );
    pointer-events: none;
  }
  .nv-camp-premium__stage-body {
    position: relative;
    z-index: 1;
    height: 100%;
    min-height: 176px;
    padding: 16px 18px 16px 20px;
    display: grid;
    grid-template-columns: minmax(130px, .78fr) minmax(210px, 1.35fr);
    gap: 12px 14px;
    align-items: center;
    color: #fff;
  }
  .nv-camp-premium__stage-copy {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
  }
  .nv-camp-premium__stage-kicker {
    display: inline-flex;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: #fde68a;
    background: rgba(0, 0, 0, .22);
    border-radius: 999px;
    padding: 5px 10px;
    margin-bottom: 10px;
  }
  .nv-camp-premium__stage-title {
    font-size: clamp(22px, 2.1vw, 30px);
    font-weight: 900;
    letter-spacing: -.03em;
    line-height: 1.1;
    margin: 0 0 6px;
  }
  .nv-camp-premium__stage-sub {
    margin: 0 0 12px;
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, .84);
    max-width: 26ch;
  }
  .nv-camp-premium__stage-cta {
    display: inline-flex;
    align-items: center;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    border-radius: 999px;
    padding: 7px 12px;
    box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
  }
  .nv-camp-premium__stage-showcase {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0;
    min-width: 0;
    padding: 10px 12px 8px 4px;
  }
  .nv-camp-premium__stage-thumb {
    position: relative;
    flex: 0 0 auto;
    width: clamp(70px, 7vw, 92px);
    height: clamp(70px, 7vw, 92px);
    border-radius: 18px;
    overflow: visible;
    background: #fff;
    border: 3px solid rgba(255, 255, 255, .92);
    box-shadow:
      0 10px 24px rgba(0, 0, 0, .22),
      0 0 0 1px rgba(15, 23, 42, .08);
    margin-left: -16px;
  }
  .nv-camp-premium__stage-thumb:first-child { margin-left: 0; }
  .nv-camp-premium__stage-thumb:nth-child(1) { z-index: 1; transform: rotate(-6deg) translateY(4px); }
  .nv-camp-premium__stage-thumb:nth-child(2) { z-index: 2; transform: rotate(3deg) translateY(-6px); }
  .nv-camp-premium__stage-thumb:nth-child(3) { z-index: 3; transform: rotate(-2deg) translateY(2px); }
  .nv-camp-premium__stage-thumb:nth-child(4) { z-index: 4; transform: rotate(5deg) translateY(-4px); }
  .nv-camp-premium__stage-thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    border-radius: 15px;
    background: #fff;
  }
  .nv-camp-premium__stage-off {
    position: absolute;
    top: -8px;
    right: -8px;
    z-index: 5;
    min-width: 34px;
    height: 22px;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: linear-gradient(135deg, #dc2626, #ea580c);
    color: #fff;
    font-style: normal;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: -.02em;
    box-shadow: 0 4px 10px rgba(220, 38, 38, .35);
    border: 2px solid #fff;
  }

  .nv-camp-premium .nv-camp-premium__burst {
    width: 112px !important;
    height: 112px !important;
    align-self: center;
    margin-top: 0;
  }
  .nv-camp-premium .nv-camp-premium__burst span { font-size: 9px !important; }
  .nv-camp-premium .nv-camp-premium__burst strong { font-size: 28px !important; }
  .nv-camp-premium__clock { width: fit-content; max-width: 100%; padding: 14px 16px; }
  .nv-camp-premium__unit b { min-width: 64px !important; width: auto !important; font-size: 22px !important; padding: 12px 14px !important; }
  .nv-camp-premium__carousel { padding: 0 28px; margin: 6px 0 10px; }
  .nv-camp-premium .nv-dotd-carousel__nav { display: grid !important; }
}
@media (prefers-reduced-motion: reduce) {
  .nv-camp-premium__pulse, .nv-camp-premium .nv-camp-premium__burst, .nv-camp-premium__sep { animation: none !important; }
  .nv-camp-premium .nv-deal-card--premium:hover { transform: none; }
}

/* === kdf-mobile-premium.css === */
/**
 * Khan Dry Fruit — Mobile Premium Polish (3 Oct 2026)
 * Refined, subtle, elegant. Keeps original badges/tags untouched.
 * Mobile-first: best looking on phones.
 */

/* ===== Mobile Product Cards: Clean & Premium ===== */
@media (max-width: 768px) {
  /* Cards: soft shadow, smooth corners */
  .product-single-hover,
  .flash_deal_product,
  .nv-deal__card {
    border-radius: 16px !important;
    box-shadow: 0 2px 12px rgba(15, 61, 46, 0.07) !important;
    border: 1px solid rgba(15, 61, 46, 0.05) !important;
    overflow: hidden;
  }

  /* Product images: crisp */
  .product-single-hover img,
  .flash_deal_product img {
    border-radius: 12px 12px 0 0;
  }

  /* Titles: better readability */
  .product-single-hover .product-title,
  .flash_deal_product .product-title {
    font-size: 0.85rem !important;
    line-height: 1.35 !important;
    font-weight: 600 !important;
    color: #1a1a1a !important;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Prices: clear hierarchy */
  .product-single-hover .current-price,
  .flash_deal_product .current-price {
    font-size: 1rem !important;
    font-weight: 700 !important;
    color: #0f3d2e !important;
  }

  /* Section spacing: breathing room */
  .kdf-home-page > section,
  .nv-deal {
    margin-bottom: 4px !important;
  }

  /* Deal section: clean padding */
  .nv-dotd-premium__inner,
  .nv-camp-premium__inner {
    padding: 18px 14px !important;
  }

  /* Countdown: perfectly centered, readable */
  .nv-dotd-premium__units,
  .nv-camp-premium__units {
    gap: 6px !important;
    justify-content: center;
  }

  .nv-dotd-premium__unit b,
  .nv-camp-premium__unit b {
    font-size: 1.1rem !important;
    font-weight: 700 !important;
  }

  /* Search: no iOS zoom */
  input[type="search"], input[type="text"] {
    font-size: 16px !important;
  }

  /* Bottom nav: crisp */
  .mobile-bottom-nav, .kdf-mobile-nav {
    box-shadow: 0 -2px 16px rgba(0,0,0,0.08) !important;
  }
}

/* ===== Desktop: Subtle Polish ===== */
@media (min-width: 769px) {
  .product-single-hover,
  .flash_deal_product {
    transition: box-shadow 0.25s ease !important;
  }

  .product-single-hover:hover,
  .flash_deal_product:hover {
    box-shadow: 0 8px 24px rgba(15, 61, 46, 0.1) !important;
  }
}

/* === kdf-timer-tag.css === */
/**
 * Khan Dry Fruit — Timer Horizontal + Long Discount Tag (3 Oct 2026)
 * 1. Timer: single horizontal row on mobile (not 2x2 grid)
 * 2. Discount: long prominent strip tag
 */

/* ===== Timer: Horizontal Row on Mobile ===== */
@media (max-width: 768px) {
  .nv-dotd-premium__units,
  .nv-camp-premium__units {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
  }

  .nv-dotd-premium__unit,
  .nv-camp-premium__unit {
    flex: 0 1 auto !important;
    min-width: 0 !important;
  }

  .nv-dotd-premium__unit b,
  .nv-camp-premium__unit b {
    font-size: 0.95rem !important;
    padding: 8px 6px !important;
  }

  .nv-dotd-premium__unit span,
  .nv-camp-premium__unit span {
    font-size: 0.6rem !important;
  }

  .nv-dotd-premium__sep,
  .nv-camp-premium__sep {
    margin: 0 1px !important;
  }
}

/* ===== Long Discount Tag ===== */
.nv-discount-badge {
  display: inline-block !important;
  background: linear-gradient(90deg, #e11d48 0%, #f43f5e 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
  letter-spacing: 0.03em !important;
  box-shadow: 0 2px 8px rgba(225, 29, 72, 0.35) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.nv-small-discount {
  display: inline-block !important;
  background: linear-gradient(90deg, #e11d48 0%, #f43f5e 100%) !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.7rem !important;
  padding: 5px 14px !important;
  border-radius: 16px !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

/* === kdf-longtag.css === */
/* Long discount tags - more specific selectors */
.nv-product-card .nv-discount-badge,
.nv-product-card .nv-small-discount,
span.nv-discount-badge,
span.nv-small-discount {
  display: inline-block !important;
  min-width: 110px !important;
  text-align: center !important;
  background: linear-gradient(90deg, #dc2626 0%, #ef4444 50%, #dc2626 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.8rem !important;
  padding: 8px 24px !important;
  border-radius: 24px !important;
  letter-spacing: 0.05em !important;
  text-transform: uppercase !important;
  box-shadow: 0 3px 10px rgba(220, 38, 38, 0.4) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
}

/* === kdf-timer-colors.css === */
/**
 * Khan Dry Fruit — Multi-color Timer + Spacing Fix (3 Oct 2026)
 * 1. Each timer unit different color
 * 2. Right-side carousel spacing fix
 * 3. Applies to DOTD, Clearance, Featured, Flash sale
 */

/* ===== Multi-Color Timer Units ===== */
/* DAYS: Deep forest green (brand) */
.nv-dotd-premium__unit[data-unit="days"] b,
.nv-camp-premium__unit[data-unit="days"] b {
  background: linear-gradient(135deg, #0f3d2e, #166534) !important;
}

/* HRS: Rich amber/gold */
.nv-dotd-premium__unit[data-unit="hours"] b,
.nv-camp-premium__unit[data-unit="hours"] b {
  background: linear-gradient(135deg, #b45309, #d97706) !important;
}

/* MIN: Deep blue */
.nv-dotd-premium__unit[data-unit="mins"] b,
.nv-camp-premium__unit[data-unit="mins"] b {
  background: linear-gradient(135deg, #1e40af, #3b82f6) !important;
}

/* SEC: Urgent red */
.nv-dotd-premium__unit[data-unit="secs"] b,
.nv-camp-premium__unit[data-unit="secs"] b {
  background: linear-gradient(135deg, #b91c1c, #ef4444) !important;
}

/* Timer numbers: white, bold, readable */
.nv-dotd-premium__unit b,
.nv-camp-premium__unit b {
  color: #fff !important;
  text-shadow: 0 1px 3px rgba(0,0,0,0.3) !important;
}

/* ===== Right-Side Spacing Fix (Mobile) ===== */
@media (max-width: 768px) {
  /* Product carousel: proper padding so cards don't cut awkwardly */
  .nv-deal__cards,
  .nv-product-carousel,
  .owl-carousel,
  .swiper-wrapper {
    padding-right: 16px !important;
  }

  /* Deal section: balanced padding */
  .nv-dotd-premium__inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Timer: full width, no overflow */
  .nv-dotd-premium__clock,
  .nv-camp-premium__clock {
    max-width: 100% !important;
    overflow: hidden;
  }

  .nv-dotd-premium__units,
  .nv-camp-premium__units {
    max-width: 100% !important;
  }
}

/* ===== Timer full-width on mobile (3 Oct 2026) ===== */
@media (max-width: 768px) {
  .nv-dotd-premium__urgency {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .nv-dotd-premium__clock {
    width: 100% !important;
    max-width: 100% !important;
  }
  .nv-dotd-premium__units {
    width: 100% !important;
    justify-content: space-between !important;
  }
  .nv-dotd-premium__unit {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}

/* ===== Timer FULL width - aggressive (3 Oct 2026) ===== */
@media (max-width: 768px) {
  .nv-dotd-premium__left {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .nv-dotd-premium__urgency {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  .nv-dotd-premium__clock {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    box-sizing: border-box !important;
  }
}

/* ===== Timer Next-Level Design (3 Oct 2026) ===== */
@media (max-width: 768px) {
  /* Premium card with subtle gradient */
  .nv-dotd-premium__clock {
    background: linear-gradient(135deg, #ffffff 0%, #f8fdf9 100%) !important;
    border: 1px solid rgba(15, 61, 46, 0.1) !important;
    box-shadow: 
      0 2px 8px rgba(15, 61, 46, 0.06),
      0 12px 32px rgba(15, 61, 46, 0.1) !important;
    padding: 16px 14px 14px !important;
    border-radius: 20px !important;
    position: relative !important;
    overflow: hidden !important;
  }
  
  /* Subtle top accent line */
  .nv-dotd-premium__clock::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #166534, #d97706, #2563eb, #dc2626) !important;
    border-radius: 20px 20px 0 0 !important;
  }
  
  /* Larger, bolder numbers */
  .nv-dotd-premium__unit b {
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.02em !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.15) !important;
    font-variant-numeric: tabular-nums !important;
  }
  
  /* Premium gradient timer boxes */
  .nv-dotd-premium__unit {
    border-radius: 16px !important;
    box-shadow: 
      0 2px 6px rgba(0,0,0,0.12),
      inset 0 1px 0 rgba(255,255,255,0.2) !important;
    transition: transform 0.2s ease !important;
  }
  .nv-dotd-premium__unit:active {
    transform: scale(0.96) !important;
  }
  
  /* Refined labels */
  .nv-dotd-premium__unit span {
    font-size: 0.65rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    margin-top: 6px !important;
  }
  
  /* Better clock header */
  .nv-dotd-premium__clock-top {
    margin-bottom: 12px !important;
  }
  .nv-deal__clock-label {
    font-size: 0.95rem !important;
    font-weight: 800 !important;
  }
  
  /* Smooth seconds pulse */
  .nv-dotd-premium__unit[data-unit="seconds"] b {
    animation: kdfTick 1s ease-in-out infinite !important;
  }
  @keyframes kdfTick {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.85; }
  }
}

/* === kdf-ribbon-fix.css === */
/**
 * Khan Dry Fruit — Diagonal Ribbon + Timer Spacing (3 Oct 2026)
 * 1. Discount as diagonal corner ribbon (like reference screenshot)
 * 2. Timer card: no empty space on right
 */

/* ===== Diagonal Corner Ribbon for Discount ===== */
.nv-product-card {
  position: relative !important;
  overflow: hidden !important;
}

.nv-product-card .nv-discount-badge,
.nv-product-card .nv-small-discount,
span.nv-discount-badge,
span.nv-small-discount {
  position: absolute !important;
  top: 22px !important;
  left: -38px !important;
  transform: rotate(-45deg) !important;
  display: block !important;
  min-width: 140px !important;
  text-align: center !important;
  background: linear-gradient(90deg, #dc2626 0%, #f97316 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.85rem !important;
  padding: 7px 0 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 3px 10px rgba(220, 38, 38, 0.45) !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 10 !important;
  white-space: nowrap !important;
}

/* ===== Timer Card: Fill Width, No Empty Right Space ===== */
@media (max-width: 768px) {
  .nv-dotd-premium__clock,
  .nv-camp-premium__clock {
    width: 100% !important;
    max-width: 100% !important;
  }

  .nv-dotd-premium__units,
  .nv-camp-premium__units {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: space-between !important;
    padding: 0 4px !important;
  }

  .nv-dotd-premium__unit,
  .nv-camp-premium__unit {
    flex: 1 1 0 !important;
  }

  .nv-dotd-premium__unit b,
  .nv-camp-premium__unit b {
    width: 100% !important;
  }
}

/* ===== Diagonal Ribbon for DOTD/Campaign Cards ===== */
.nv-deal-card {
  position: relative !important;
  overflow: hidden !important;
}

.nv-deal-card .nv-deal-card__off,
span.nv-deal-card__off {
  position: absolute !important;
  top: 22px !important;
  left: -38px !important;
  transform: rotate(-45deg) !important;
  display: block !important;
  min-width: 140px !important;
  text-align: center !important;
  background: linear-gradient(90deg, #dc2626 0%, #f97316 100%) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 0.85rem !important;
  padding: 7px 0 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  box-shadow: 0 3px 10px rgba(220, 38, 38, 0.45) !important;
  border: none !important;
  border-radius: 0 !important;
  z-index: 10 !important;
  white-space: nowrap !important;
}

/* === kdf-physical-tag.css === */
/**
 * Khan Dry Fruit — Physical Price Tag (3 Oct 2026)
 * Looks like a REAL tag placed on the card (not digital)
 */

/* Remove old diagonal ribbons */
.nv-deal-card .nv-deal-card__off,
span.nv-deal-card__off,
.nv-product-card .nv-discount-badge,
span.nv-discount-badge,
.nv-product-card .nv-small-discount,
span.nv-small-discount {
  position: static !important;
  transform: none !important;
  display: none !important;
}

/* Physical tag: cream paper, red text, hole punch, slight tilt, shadow */
.nv-physical-tag {
  display: inline-block !important;
  position: relative !important;
  background: #fffbeb !important;
  color: #dc2626 !important;
  font-weight: 800 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 7px 16px 7px 26px !important;
  margin: 0 0 8px 2px !important;
  border-radius: 3px !important;
  border: 1px solid #fde68a !important;
  transform: rotate(-2deg) !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.18), 0 1px 2px rgba(0,0,0,0.1) !important;
  white-space: nowrap !important;
  z-index: 5 !important;
}

/* Hole punch on the left */
.nv-physical-tag::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 9px !important;
  height: 9px !important;
  background: #f8fafc !important;
  border-radius: 50% !important;
  border: 1.5px solid #d1d5db !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.15) !important;
}

/* String effect (subtle line from hole) */
.nv-physical-tag::after {
  content: "" !important;
  position: absolute !important;
  left: -6px !important;
  top: 50% !important;
  width: 8px !important;
  height: 1.5px !important;
  background: #9ca3af !important;
  transform: translateY(-50%) rotate(15deg) !important;
}

/* === kdf-tag-nextlevel.css === */
/**
 * Khan Dry Fruit — Physical Tag Next Level (3 Oct 2026)
 * Ultra-realistic small price tag
 */

.nv-physical-tag {
  display: inline-block !important;
  position: relative !important;
  /* Smaller, more delicate */
  font-size: 0.68rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.05em !important;
  padding: 5px 12px 5px 24px !important;
  margin: 0 0 6px 4px !important;
  /* Premium paper look */
  background: linear-gradient(135deg, #fffef7 0%, #fef9e7 50%, #fdf6d8 100%) !important;
  color: #b91c1c !important;
  border-radius: 4px !important;
  border: 1px solid #fde68a !important;
  /* Natural slight tilt */
  transform: rotate(-1.5deg) !important;
  /* Realistic layered shadow */
  box-shadow: 
    0 1px 2px rgba(0,0,0,0.08),
    0 4px 12px rgba(0,0,0,0.12),
    0 8px 24px rgba(0,0,0,0.06) !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  z-index: 5 !important;
}

/* Metal eyelet ring around hole */
.nv-physical-tag::before {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  /* Metal ring effect */
  background: radial-gradient(circle at 35% 35%, #f8fafc 0%, #e2e8f0 40%, #94a3b8 100%) !important;
  border: 1.5px solid #94a3b8 !important;
  box-shadow: 
    inset 0 1px 2px rgba(0,0,0,0.2),
    0 1px 1px rgba(255,255,255,0.8) !important;
}

/* Inner hole (dark center) */
.nv-physical-tag::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: #475569 !important;
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.4) !important;
}

/* === kdf-smooth-ui.css === */
/**
 * Khan Dry Fruit — Smooth UI (3 Oct 2026)
 * Fix ugly tap highlights and focus backgrounds on buttons
 */

/* Remove ugly default tap highlight on mobile */
*, *::before, *::after {
  -webkit-tap-highlight-color: transparent !important;
}

/* Buttons: smooth, no ugly background on click/focus */
button, a, .nv-add-cart, .nv-deal-atc {
  -webkit-tap-highlight-color: transparent !important;
  outline: none !important;
}

/* Custom subtle focus (keyboard accessibility) */
button:focus-visible, a:focus-visible {
  outline: 2px solid rgba(15, 61, 46, 0.4) !important;
  outline-offset: 2px !important;
}

/* Active state: subtle scale instead of ugly background */
.nv-add-cart:active, .nv-deal-atc:active,
button:active {
  transform: scale(0.98) !important;
  transition: transform 0.1s ease !important;
}

/* Smooth transitions on all interactive elements */
button, a {
  transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease !important;
}

/* 2-per-screen REVERTED 3 Oct 2026 - user wants single product */

/* ===== Smooth Hide-on-Scroll Header (Mobile) - 3 Oct 2026 ===== */
@media (max-width: 900px) {
  .nv-header {
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    will-change: transform !important;
  }
  .nv-header.nv-header--hidden {
    transform: translateY(-100%) !important;
  }
  /* Prevent layout shift */
  .nv-header.nv-header--hidden + * {
    margin-top: 0 !important;
  }
}

/* ===== Disable compact height changes on mobile (prevent jitter) - 3 Oct 2026 ===== */
@media (max-width: 900px) {
  /* Keep header height constant - no layout shifts */
  .nv-header.is-compact .nv-m-shift,
  .nv-header.is-compact .nv-m-search-wrap,
  .nv-header.is-compact .nv-topbar,
  .nv-header.is-compact .nv-nav {
    transform: none !important;
    margin: 0 !important;
    padding-top: inherit !important;
    padding-bottom: inherit !important;
    height: auto !important;
    max-height: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
  /* Smooth hide/show only via transform */
  .nv-header {
    transform: translateY(0) !important;
  }
  .nv-header.nv-header--hidden {
    transform: translateY(-110%) !important;
  }
}

/* === kdf-seo-premium.css === */
/**
 * Khan Dry Fruit — SEO Hub Accordion Design (Next-Level Compact & Expandable)
 * All 4 tabs collapsed by default on both Mobile & Desktop; click to expand downward.
 */

.kdf-pk-hub {
  max-width: 1160px;
  margin: 26px auto 16px;
  padding: 0 16px;
  color: #12291f;
  overflow-anchor: none;
}

/* === kdf-layout-static.css === */
/* KDF layout static CSS (extracted from grocery layout inline <style> blocks, 2026-10-03).
   Dynamic bits (theme CSS vars, sticky header, mobile bottom nav) stay inline in the layout. */

            .kdf-account-shell { padding: 12px 0 48px; min-height: 50vh; }
            .kdf-account-shell .user-profile-container { max-width: 1100px; margin-inline: auto; }
            .kdf-account-shell .btn--primary,
            .kdf-account-shell .btn-primary { background: #075B3A !important; border-color: #075B3A !important; }
            .kdf-account-shell a.text-primary,
            .kdf-account-shell .for-hover-link:hover { color: #075B3A !important; }
            .kdf-account-shell .loyalty-card,
            .kdf-account-shell .card { border-radius: 16px; border: 1px solid #e8edf2; box-shadow: 0 8px 24px rgba(15,23,42,.04); }
        

        :root {
            --store-header-z: 1000;
            --cart-overlay-z: 1100;
            --cart-drawer-z: 1110;
            --cart-modal-z: 1200;
            --kdf-checkout: #075B3A;
            --kdf-primary: #075B3A;
            --kdf-primary-hover: #043D28;
            --kdf-secondary: #F58300;
            --kdf-accent: #075B3A;
            --kdf-bg-page: #FAFAFA;
            --kdf-bg-header: #FFFFFF;
            --kdf-bg-footer: #020617;
            --kdf-bg-card: #FFFFFF;
            --kdf-bg-section: #F3F8EF;
            --kdf-heading: #1A2208;
            --kdf-body: #334155;
            --kdf-muted: #64748B;
            --kdf-footer: #CBD5E1;
            --kdf-link: #075B3A;
            --kdf-price: #075B3A;
            --kdf-price-old: #94A3B8;
            --kdf-sale: #F58300;
            --kdf-deep: #043D28;
            --nv-green: #075B3A;
            --nv-green-dark: #043D28;
            --nv-green-light: #EFF8EF;
            --store-primary: #075B3A;
            --store-secondary: var(--kdf-secondary);
            --store-accent: #075B3A;
            --store-background: var(--kdf-bg-page);
            --store-surface: var(--kdf-bg-section);
            --store-text: var(--kdf-heading);
            --store-muted: var(--kdf-muted);
            --store-border: #E1E8E2;
            --store-cart-badge: var(--kdf-secondary);
            --store-radius: 24px;
            --store-cart-bg: #075B3A;
            --store-cart-icon: #fff;
            --store-cart-size: 58px;
            --store-cart-radius: 18px;
            --store-button: #075B3A;
            --store-button-text: #fff;
            --store-button-hover: #043D28;
            --store-active-nav: #075B3A;
            --store-header-bg: var(--kdf-bg-header);
            --store-footer-bg: var(--kdf-bg-footer);
        }
        * { box-sizing: border-box; }
        body { margin: 0; background: var(--store-background, #f5f8f0); color: var(--kdf-body); font-family: "Segoe UI", system-ui, sans-serif; }
        a { color: inherit; text-decoration: none; }
        .wrap { width: min(100% - 80px, 1720px); max-width: none; margin: 0 auto; padding-inline: 0; }
        @media (min-width: 1920px) { .wrap { width: min(100% - 96px, 1760px); } }
        @media (min-width: 1280px) {
            .wrap { padding-inline: clamp(20px, 2.8vw, 40px); }
        }
        .store-announce { background: var(--store-announcement-bg, var(--store-primary)); color: var(--store-announcement-text, #fff); text-align: center; font-size: 13px; font-weight: 700; padding: 8px 12px; }
        .store-announce a { color: inherit; text-decoration: underline; }
        header.bar { top: 0; z-index: 20; background: var(--store-header-bg, #fff); color: var(--store-header-text, inherit); border-bottom: 1px solid var(--store-border, #eef3e8); box-shadow: 0 8px 24px rgba(15,23,42,.04); }
        .store-btn-primary { background: var(--store-button, var(--kdf-primary)); color: var(--store-button-text, #fff); border-radius: var(--store-radius, 12px); height: var(--store-button-height, 44px); border: 0; font-weight: 800; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
        .store-btn-primary:hover { transform: translateY(-1px); box-shadow: 0 8px 22px rgba(0,0,0,.10); }
        .store-btn-primary:active { transform: scale(.98); }
        .row { display: flex; align-items: center; gap: 14px; min-height: 64px; padding-top: 6px; padding-bottom: 4px; }
        .brand { display: flex; align-items: center; min-width: 0; background: transparent; border: 0; border-radius: 0; padding: 0; box-shadow: none; }
        .brand img { height: 52px; width: auto; display: block; }
        .search { flex: 0 1 380px; width: min(380px, 100%); max-width: 380px; position: relative; margin-right: auto; }
        .search .s-ico, .search .s-tools { position: absolute; top: 50%; transform: translateY(-50%); display: flex; gap: 10px; color: #94a3b8; }
        .search .s-ico { left: 16px; color: var(--store-button, var(--kdf-primary)); }
        .search .s-tools { right: 16px; }
        .search svg { width: 18px; height: 18px; }
        .search input { width: 100%; height: 48px; border-radius: 999px; border: 1px solid #e7eedd; padding: 0 86px 0 46px; background: #fff; font-size: 14px; box-shadow: 0 6px 16px rgba(15,23,42,.04); }
        .search input:focus { outline: 3px solid color-mix(in srgb, var(--store-button, var(--kdf-primary)) 18%, transparent); border-color: var(--store-button, var(--kdf-primary)); }
        .actions { display: flex; align-items: center; gap: 10px; margin-left: auto; flex-shrink: 0; }
        .pill { height: 44px; border-radius: 14px; border: 1px solid #e8edf2; background: #fff; display: flex; align-items: center; gap: 8px; padding: 0 12px; font-size: 13px; font-weight: 700; color: #1e293b; cursor: pointer; }
        .pill .pin { color: var(--kdf-primary); display: grid; place-items: center; }
        .pill .pin svg { width: 16px; height: 16px; }
        .pill small { display: block; color: #94a3b8; font-size: 9px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.1; }
        .pill .city { font-size: 13px; font-weight: 800; color: #0f172a; line-height: 1.15; }
        .pill .caret { color: #94a3b8; font-size: 10px; margin-left: 2px; }
        .cart, .icon-desk { height: 44px; border-radius: 14px; border: 1px solid #e8edf2; background: #fff; display: flex; align-items: center; gap: 8px; padding: 0 12px; font-size: 13px; font-weight: 700; color: #1e293b; }
        .icon-desk { width: 44px; justify-content: center; padding: 0; position: relative; }
        .cart-wrap { position: relative; }
        .cart { position: relative; }
        .bag-drop { display: none; position: absolute; top: calc(100% + 10px); right: 0; width: 340px; background: #fff; border: 1px solid #eef3e8; border-radius: 18px; box-shadow: 0 18px 40px rgba(15,23,42,.14); padding: 14px; z-index: 40; }
        .cart-wrap:hover .bag-drop, .cart-wrap:focus-within .bag-drop, .bag-drop.open { display: block; }
        .bag-drop::before { content: ""; position: absolute; top: -10px; left: 0; right: 0; height: 10px; }
        .bag-drop h4 { margin: 0 0 10px; font-size: 14px; color: #0f172a; }
        .bag-drop-line { display: grid; grid-template-columns: 48px 1fr auto; gap: 10px; align-items: center; padding: 8px 0; border-bottom: 1px solid #f1f5f9; }
        .bag-drop-line img { width: 48px; height: 48px; object-fit: contain; border-radius: 10px; background: #f8fafc; }
        .bag-drop-line strong { display: block; font-size: 13px; color: #0f172a; line-height: 1.25; }
        .bag-drop-line span { color: #64748b; font-size: 12px; }
        .bag-drop-total { display: flex; justify-content: space-between; margin: 10px 0; font-weight: 800; color: #0f172a; }
        .bag-drop-go { display: block; text-align: center; background: linear-gradient(180deg, color-mix(in srgb, var(--store-button, var(--kdf-primary)) 85%, #fff), var(--store-button, var(--kdf-primary))); color: var(--store-button-text, #fff); border-radius: 12px; padding: 12px; font-weight: 800; }
        .bag-drop-view { display: block; text-align: center; margin-top: 8px; color: #64748b; font-size: 13px; font-weight: 700; }
        .bag-drop-empty { color: #64748b; font-size: 13px; padding: 8px 0 4px; }
        .count { position: absolute; top: -6px; right: -6px; background: var(--kdf-secondary); color: #fff; border-radius: 99px; min-width: 18px; height: 18px; font-size: 11px; display: grid; place-items: center; }
        .login-btn { height: 44px; border-radius: 14px; border: 1px solid #e8edf2; padding: 0 16px; display: grid; place-items: center; font-weight: 800; }
        nav.cats { display: flex; gap: 4px; overflow: auto; padding: 0 0 10px; align-items: center; }
        nav.cats a { white-space: nowrap; background: transparent; color: #1A2208; border-radius: 8px; padding: 8px 10px; font-size: 14px; font-weight: 700; }
        nav.cats a.deal { color: #F58300; }
        .chip { border: 1px solid var(--store-border, #e7eedd); background: var(--store-surface, #f7faf4); color: var(--store-button-hover, var(--kdf-primary-hover)); border-radius: 12px; padding: 8px 10px; font-size: 11px; font-weight: 700; white-space: nowrap; line-height: 1.2; }
        .chip small { display: block; color: #64748b; font-size: 10px; font-weight: 600; }
        .subnav { display: none; }
        .announce { background: #0D2B00; color: #fff; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .04em; padding: 6px 12px; }
        .hero { margin-top: 18px; border-radius: 28px; padding: 36px; color: #fff; display: grid; grid-template-columns: 1.4fr .8fr; gap: 18px; background: linear-gradient(135deg, var(--kdf-deep, #043D28) 0%, var(--store-button, #075B3A) 55%, var(--kdf-secondary, #F58300) 100%); }
        .hero h1 { margin: 8px 0; font-size: clamp(34px, 5vw, 58px); line-height: .95; letter-spacing: -.03em; }
        .kicker { letter-spacing: .16em; text-transform: uppercase; font-size: 12px; opacity: .85; }
        .cta { display: inline-block; margin-top: 12px; background: #fff; color: var(--kdf-deep); border-radius: 999px; padding: 10px 16px; font-weight: 800; }
        .trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 16px auto 8px; max-width: 980px; }
        .trust div { background: #fff; border-radius: 16px; padding: 14px; box-shadow: 0 6px 18px rgba(15,23,42,.05); }
        .trust strong { display: block; color: var(--kdf-heading); }
        .trust span { color: var(--kdf-muted); font-size: 12px; }
        .section-title { display: flex; justify-content: space-between; align-items: end; margin: 22px 0 12px; gap: 12px; flex-wrap: wrap; }
        .section-title h2 { margin: 0; color: #182018; font-size: 28px; letter-spacing: -.03em; position: relative; }
        .section-title h2::after {
            content: ""; display: block; width: 36px; height: 3px; margin-top: 8px;
            border-radius: 999px; background: linear-gradient(90deg, var(--kdf-primary), var(--kdf-secondary));
        }
        .section-title .sub { width: 100%; margin: .25rem 0 0; color: #7b857e; font-size: 14px; font-weight: 500; }
        .view-all { color: #286b20; font-weight: 800; font-size: 13px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d8e6cc; border-radius: 999px; padding: 8px 14px; background: #fff; box-shadow: 0 4px 12px rgba(40,107,32,.06); transition: transform .15s, box-shadow .15s, border-color .15s; }
        .view-all:hover { transform: translateY(-1px); border-color: #c3d9a8; box-shadow: 0 8px 18px rgba(40,107,32,.1); }
        .cat-row { display: flex; gap: 14px; overflow: auto; padding: 4px 2px 16px; scrollbar-width: none; }
        .cat-row::-webkit-scrollbar { display: none; }
        .cat-row a { min-width: 92px; text-align: center; color: #334155; font-weight: 700; font-size: 13px; transition: color .15s; }
        .cat-row a:hover { color: var(--kdf-primary-hover); }
        .cat-row .tile {
            width: 86px; height: 86px; margin: 0 auto 8px; border-radius: 22px;
            background: linear-gradient(160deg, #fff 40%, #F5FAE8);
            border: 1px solid #e7eee0; box-shadow: 0 8px 18px rgba(15,23,42,.05);
            display: grid; place-items: center; padding: 8px;
            transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        }
        .cat-row a:hover .tile {
            transform: translateY(-3px);
            border-color: #d0e3b0;
            box-shadow: 0 12px 24px rgba(141, 183, 0, .14);
        }
        .cat-row .tile img { width: 100%; height: 100%; object-fit: contain; }
        .cat-row .tile-fallback {
            width: 100%; height: 100%; display: grid; place-items: center;
            border-radius: 16px; background: linear-gradient(135deg, #e8f5e1, #f4faf0);
            color: #1f6b1f; font-weight: 800; font-size: 28px;
        }

        /* ========== Premium product card system ========== */
        :root {
            --nv-primary: var(--store-button, var(--store-primary, #286b20));
            --nv-primary-dark: var(--store-button-hover, var(--kdf-primary-hover, #1f5819));
            --nv-primary-light: color-mix(in srgb, var(--nv-primary) 14%, #fff);
            --nv-text: #182018;
            --nv-muted: #7b857e;
            --nv-border: #e7ece3;
            --nv-discount: #ed3040;
            --nv-card-radius: 20px;
        }
        .nv-product-grid, .grid {
            display: grid;
            grid-template-columns: repeat(4, minmax(0, 1fr));
            gap: 16px;
        }
        .nv-product-card {
            position: relative;
            background: #fff;
            border: 1px solid #edf0eb;
            border-radius: var(--nv-card-radius);
            overflow: hidden;
            padding: 12px;
            display: flex;
            flex-direction: column;
            transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
            box-shadow: 0 5px 20px rgba(25, 50, 20, .05);
        }
        .nv-product-card:hover {
            transform: translateY(-4px);
            border-color: #d0e3b0;
            box-shadow: 0 16px 36px rgba(25, 50, 20, .12);
        }
        .nv-discount-badge {
            position: absolute; top: 12px; left: 12px; z-index: 5;
            display: inline-flex; align-items: center; min-height: 30px; padding: 6px 10px;
            border-radius: 9px; background: linear-gradient(135deg, #ff3345, #ed1c2e);
            color: #fff; font-size: 11px; font-weight: 800;
            box-shadow: 0 5px 14px rgba(237, 28, 46, 0.18);
        }
        .nv-status-badge {
            position: absolute; top: 12px; left: 12px; z-index: 5;
            display: inline-flex; align-items: center; min-height: 28px; padding: 5px 9px;
            border-radius: 9px; color: #fff; font-size: 10px; font-weight: 800; letter-spacing: .03em;
            background: var(--store-button, #075B3A);
        }
        .nv-status-badge--deal { background: linear-gradient(135deg, #ff3345, #ed1c2e); }
        .nv-status-badge--new { background: #2563eb; }
        .nv-status-badge--organic { background: #15803d; }
        .nv-status-badge--oos { background: #fef3f2; color: #b42318; }
        .nv-add-cart--restock {
            background: #fff !important;
            color: var(--store-button, #075B3A) !important;
            border: 1.5px solid var(--store-button, #075B3A) !important;
            box-shadow: none !important;
            height: 40px;
            font-size: 13px;
            font-weight: 750;
        }
        .nv-add-cart--restock:hover {
            background: color-mix(in srgb, var(--store-button, #075B3A) 8%, #fff) !important;
            filter: none;
            color: var(--store-button, #075B3A) !important;
        }
        .nv-add-cart--restock.is-done {
            border-color: color-mix(in srgb, var(--store-button, #075B3A) 35%, #cfe3d4) !important;
            background: color-mix(in srgb, var(--store-button, #075B3A) 8%, #fff) !important;
        }
        .nv-product-card.is-oos .nv-product-actions {
            grid-template-columns: 1fr;
        }
        .nv-product-card.is-oos .nv-add-cart--restock {
            width: 100%;
        }
        .v-cta-notify {
            display: none;
            width: 100%;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-height: 42px;
            border-radius: 12px;
            border: 1.5px solid var(--store-button, #075B3A);
            background: #fff;
            color: var(--store-button, #075B3A);
            font-size: 13.5px;
            font-weight: 750;
            font-family: inherit;
            cursor: pointer;
        }
        .variant-panel.is-oos .v-cta { display: none; }
        .variant-panel.is-oos .v-cta-notify { display: inline-flex; }
        .v-cta-notify.is-done {
            background: color-mix(in srgb, var(--store-button, #075B3A) 8%, #fff);
        }
        .nv-wishlist-btn {
            position: absolute; top: 12px; right: 12px; z-index: 6;
            width: 36px; height: 36px; display: grid; place-items: center;
            border: 1px solid #edf0eb; border-radius: 50%;
            background: rgba(255,255,255,.95); box-shadow: 0 5px 15px rgba(0,0,0,.07);
            cursor: pointer; color: #66706a; transition: .2s ease;
        }
        .nv-wishlist-btn:hover { transform: scale(1.06); border-color: #b8d59f; color: #e11d48; }
        .nv-wishlist-btn i, .nv-wishlist-btn svg { width: 16px; height: 16px; }
        .nv-product-image {
            position: relative; display: flex; align-items: center; justify-content: center;
            width: 100%; aspect-ratio: 1 / 0.86; overflow: hidden;
            border-radius: 15px;
            background: linear-gradient(165deg, #F7FBEB 0%, #fafbf8 55%, #fff 100%);
        }
        .nv-product-image img {
            width: 100%; height: 100%; object-fit: contain; transition: transform .35s ease;
        }
        .nv-product-card:hover .nv-product-image img { transform: scale(1.035); }
        .nv-product-content { display: flex; flex-direction: column; flex: 1; padding-top: 2px; }
        .nv-product-title {
            margin: 12px 0 7px; font-size: 15px; line-height: 1.35; font-weight: 750;
            display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
            min-height: 2.7em;
        }
        .nv-product-title a { color: var(--nv-text); text-decoration: none; }
        .nv-product-meta {
            display: flex; align-items: center; justify-content: space-between; gap: 8px;
            font-size: 12px; color: var(--nv-muted);
        }
        .nv-rating { display: inline-flex; align-items: center; gap: 4px; font-weight: 650; color: var(--nv-text); }
        .nv-rating i, .nv-rating svg { width: 14px; height: 14px; color: #f6b91c; fill: #f6b91c; }
        .nv-rating span, .nv-rating-empty { color: #98a09a; font-weight: 500; }
        .nv-delivery { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
        .nv-delivery i, .nv-delivery svg { width: 13px; height: 13px; }
        .nv-price-row {
            display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-top: 10px;
        }
        .nv-price-tag {
            display: inline-flex; align-items: center; justify-content: center;
            min-height: 36px; padding: 7px 12px; border-radius: 12px; width: auto; max-width: 100%;
            background: linear-gradient(135deg, #f0f8e8 0%, #e5f2d7 100%);
            border: 1px solid #d8eac6; box-shadow: 0 2px 8px rgba(46, 95, 30, 0.06);
        }
        .nv-current-price {
            color: #245d19; font-size: 17px; font-weight: 800; line-height: 1; white-space: nowrap;
        }
        .nv-old-price { color: #98a09a; font-size: 13px; font-weight: 500; white-space: nowrap; }
        .nv-small-discount {
            display: inline-flex; align-items: center; justify-content: center;
            min-height: 28px; padding: 4px 8px; border-radius: 9px;
            background: #fff0f1; color: #e63845; font-size: 11px; font-weight: 800; white-space: nowrap;
        }
        .nv-product-actions {
            display: grid;
            grid-template-columns: minmax(0, 1fr) 44px;
            grid-template-areas:
                "qty eye"
                "atc atc";
            gap: 8px;
            margin-top: 14px;
            padding-top: 12px;
            border-top: 1px solid #eef3ea;
            align-items: center;
        }
        .nv-quantity-control {
            grid-area: qty;
            display: inline-flex; align-items: center; justify-content: space-between;
            width: 100%; height: 44px; padding: 0 6px;
            border: 1px solid #e5eae2; border-radius: 12px; background: #fafcf9;
        }
        .nv-qty-btn {
            width: 32px; height: 34px; border: 0; background: transparent;
            color: #29432a; font-size: 18px; cursor: pointer; line-height: 1;
        }
        .nv-qty-value { min-width: 22px; text-align: center; font-size: 14px; font-weight: 750; }
        .nv-quick-view {
            grid-area: eye; width: 44px; height: 44px; display: grid; place-items: center;
            border: 1px solid #dce6d7; border-radius: 12px; background: #fff; color: #315d2a;
            text-decoration: none;
        }
        .nv-quick-view i, .nv-quick-view svg { width: 17px; height: 17px; }
        .nv-add-cart {
            grid-area: atc; width: 100%; height: 46px;
            display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            padding: 0 14px; border: 0; border-radius: 12px;
            background: linear-gradient(135deg, var(--store-button-hover, var(--nv-primary-dark)), var(--store-button, var(--nv-primary)));
            color: var(--store-button-text, #fff); font-size: 14px; font-weight: 800; letter-spacing: .01em;
            cursor: pointer; white-space: nowrap; line-height: 1;
            overflow: visible; text-overflow: clip;
            box-shadow: 0 8px 18px color-mix(in srgb, var(--store-button, var(--nv-primary)) 28%, transparent);
            transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
        }
        .nv-add-cart .nv-cart-text {
            white-space: nowrap; overflow: visible; text-overflow: clip; flex-shrink: 0;
        }
        @media (hover: hover) {
            .nv-add-cart:hover { transform: translateY(-1px); filter: brightness(1.04); color: var(--store-button-text, #fff); }
        }
        .nv-add-cart i, .nv-add-cart svg { width: 17px; height: 17px; flex-shrink: 0; }
        .nv-cart-loader {
            width: 15px; height: 15px; border: 2px solid rgba(255,255,255,.35);
            border-top-color: #fff; border-radius: 50%; animation: nvSpin .65s linear infinite;
        }
        @keyframes nvSpin { to { transform: rotate(360deg); } }

        @media (max-width: 991px) {
            .nv-product-grid, .grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        }
        @media (max-width: 767px) {
            .nv-product-grid, .grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
            .nv-product-card { padding: 9px; border-radius: 16px; }
            .nv-product-card:hover { transform: none; }
            .nv-product-image { aspect-ratio: 1 / .92; border-radius: 12px; }
            .nv-product-title { font-size: 13px; margin-top: 9px; min-height: 2.5em; }
            .nv-product-meta { font-size: 10.5px; gap: 4px; }
            .nv-price-row { gap: 6px; margin-top: 8px; }
            .nv-price-tag { min-height: 30px; padding: 5px 9px; border-radius: 9px; }
            .nv-current-price { font-size: 14px; }
            .nv-old-price { font-size: 10px; }
            .nv-small-discount { font-size: 9px; min-height: 24px; padding: 3px 6px; }
            .nv-product-actions {
                grid-template-columns: minmax(0, 1fr) 40px;
                gap: 8px;
                margin-top: 12px;
                padding-top: 10px;
            }
            .nv-quantity-control { height: 40px; border-radius: 10px; padding: 0 4px; }
            .nv-qty-btn { width: 28px; height: 30px; font-size: 16px; }
            .nv-qty-value { min-width: 18px; font-size: 13px; }
            .nv-quick-view { width: 40px; height: 40px; border-radius: 10px; }
            .nv-add-cart {
                height: 42px; padding: 0 12px; border-radius: 10px;
                font-size: 13px; gap: 6px;
            }
            .nv-add-cart .nv-cart-text { font-size: 13px; }
            .nv-wishlist-btn { width: 31px; height: 31px; top: 8px; right: 8px; }
            .nv-discount-badge, .nv-status-badge { top: 8px; left: 8px; min-height: 24px; padding: 4px 7px; font-size: 9px; }
            .section-title h2 { font-size: 20px; }
        }

        /* Shared ATC (variant drawer / deal cards) */
        .sale { color: var(--kdf-price); font-weight: 800; font-size: 18px; }
        .add {
            width: 100%; height: 44px; border: 0; border-radius: 14px;
            color: var(--store-button-text, #fff); cursor: pointer; font-weight: 800;
            background: linear-gradient(180deg, color-mix(in srgb, var(--store-button, var(--kdf-primary)) 85%, #fff), var(--store-button, var(--kdf-primary)));
        }
        .pdp { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 28px; align-items: start; margin-top: 18px; background: #fff; border-radius: 24px; padding: 18px; box-shadow: 0 8px 24px rgba(15,23,42,.06); }
        .pdp-gallery { background: #f8fafc; border-radius: 20px; }
        .pdp-photo { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border-radius: 20px; display: block; }
        .pdp-buy h1 { margin: 6px 0 8px; color: var(--kdf-heading); font-size: clamp(28px, 3vw, 40px); line-height: 1.08; letter-spacing: -.03em; }
        .pdp-price { color: var(--kdf-price); font-size: 32px; font-weight: 900; letter-spacing: -.03em; }
        .pdp-desc { color: #475569; line-height: 1.55; margin: 10px 0 14px; }
        .pdp-label { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #64748b; margin-bottom: 8px; }
        .pdp-weights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
        .pdp-weights button { text-align: left; background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; padding: 10px; cursor: pointer; color: #0f172a; }
        .pdp-weights button.on { border-color: var(--store-button, var(--kdf-primary)); background: color-mix(in srgb, var(--store-button, var(--kdf-primary)) 10%, #fff); }
        .pdp-weights strong, .pdp-weights span, .pdp-weights em { display: block; }
        .pdp-weights em { font-style: normal; color: var(--kdf-secondary); font-size: 11px; font-weight: 800; margin-top: 4px; }
        .pdp-weights span { color: #64748b; font-size: 13px; margin-top: 4px; }
        .pdp-qty { display: flex; align-items: center; gap: 8px; margin: 14px 0; }
        .pdp-qty button { width: 40px; height: 40px; border-radius: 12px; border: 1px solid #e2e8f0; background: #fff; font-size: 20px; cursor: pointer; }
        .pdp-qty input { width: 64px; height: 40px; text-align: center; border-radius: 12px; border: 1px solid #e2e8f0; }
        .pdp-qty strong { margin-left: auto; color: var(--kdf-heading); }
        .pdp-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
        .pdp-cta .filled { background: var(--kdf-secondary); border-color: var(--kdf-secondary); color: #fff; }
        .pdp-eta { color: #475569; font-size: 14px; }
        .pdp-trust { display: flex; flex-wrap: wrap; gap: 8px; }
        .pdp-trust span { background: #f7fbea; color: #3f6212; border-radius: 999px; padding: 6px 10px; font-size: 12px; font-weight: 800; }
        .price { color: var(--kdf-price); font-size: 32px; font-weight: 800; }
        .buy { display: flex; gap: 8px; align-items: center; margin-top: 12px; }
        .buy input { width: 72px; height: 44px; border-radius: 12px; border: 1px solid #e2e8f0; padding: 0 8px; }
        .outline, .filled { height: 44px; border-radius: 12px; padding: 0 16px; font-weight: 800; cursor: pointer; }
        .outline { background: #fff; color: var(--store-button, var(--kdf-primary)); border: 1px solid var(--store-button, var(--kdf-primary)); }
        .filled { background: var(--store-button, var(--kdf-primary)); color: var(--store-button-text, #fff); border: 1px solid var(--store-button, var(--kdf-primary)); }
        .crumb { margin-top: 16px; color: var(--kdf-muted); font-size: 13px; }
        .sheet { background: #fff; border-radius: 20px; padding: 16px; margin: 10px 0; box-shadow: 0 6px 18px rgba(15,23,42,.05); }
        .form { display: grid; gap: 10px; max-width: 560px; }
        .form input, .form textarea { width: 100%; padding: 12px; border-radius: 12px; border: 1px solid #e2e8f0; }
        .form button, .btn { background: var(--store-button, var(--kdf-primary)); color: var(--store-button-text, #fff); border: 0; border-radius: 12px; padding: 10px 14px; font-weight: 800; }
        .card { background: #fff; border-radius: 16px; }
        .deal-rail {
            display: grid;
            grid-template-columns: repeat(5, minmax(0, 1fr));
            gap: 18px;
            width: 100%;
            max-width: 100%;
            min-width: 0;
            padding: 2px 0 8px;
            overflow: visible;
            scroll-snap-type: none;
        }
        .deal-card {
            position: relative;
            width: 100%;
            min-width: 0;
            max-width: 100%;
            background: #fff;
            border: 1px solid #e8efe3;
            border-radius: 24px;
            padding: 10px;
            box-shadow: 0 12px 32px rgba(23,77,57,.08);
            box-sizing: border-box;
        }
        .deal-card h3 {
            margin: 0 0 6px; font-size: 15px; line-height: 1.3; min-height: 2.6em; font-weight: 800; color: #1e2f3a;
            display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
        }
        .deal-card h3 a { color: inherit; text-decoration: none; }
        .deal-badge { position: absolute; top: 12px; left: 12px; z-index: 3; display: inline-flex; align-items: center; gap: 5px; background: #ff5b42; color: #fff; border-radius: 999px; padding: 6px 11px; font-size: 11px; font-weight: 800; }
        .deal-badge i, .deal-badge svg { width: 12px; height: 12px; }
        .deal-prices { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; margin-bottom: 8px; }
        .deal-prices strong { color: #087344; font-size: 20px; font-weight: 900; }
        .deal-prices s { color: #94a3b8; font-size: 13px; }
        .deal-meta { color: #64748b; font-size: 12px; margin-bottom: 10px; min-height: 1.2em; }
        .deal-meta strong { color: #e83d32; }
        .nv-deal {
            margin: 18px auto 10px; padding: 0; border: 0; background: transparent;
            width: 100%; max-width: 1600px; box-sizing: border-box;
        }
        .nv-deal__inner {
            position: relative; overflow: hidden;
            width: 100%; max-width: 100%; box-sizing: border-box;
            padding: 22px 14px 18px; border-radius: 28px;
            border: 1px solid rgba(42, 104, 70, .12);
            background:
                radial-gradient(circle at 92% 8%, rgba(255,255,255,.9), transparent 28%),
                radial-gradient(ellipse at 8% 0%, rgba(112,173,71,.16), transparent 42%),
                radial-gradient(ellipse at 100% 40%, rgba(245,131,0,.08), transparent 36%),
                linear-gradient(145deg, #eef7e6 0%, #f7faf4 55%, #f3f8ee 100%);
        }
        .nv-deal__inner::before,
        .nv-deal__inner::after {
            content: ""; position: absolute; width: 88px; height: 88px; pointer-events: none; opacity: .18;
            background: radial-gradient(circle at 30% 30%, #70AD47, transparent 65%);
            border-radius: 40% 60% 55% 45%;
        }
        .nv-deal__inner::before { top: -18px; right: 48px; }
        .nv-deal__inner::after { top: 48px; right: 8px; width: 64px; height: 64px; opacity: .14; }
        .nv-deal__head { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; align-items: flex-start; margin-bottom: 14px; position: relative; z-index: 1; min-width: 0; }
        .nv-deal__intro { min-width: 0; flex: 1 1 220px; }
        .nv-deal__intro h2 { margin: 12px 0 6px; color: #174d39; font-size: clamp(28px, 7vw, 40px); line-height: 1.05; font-weight: 800; letter-spacing: -.03em; font-family: inherit; }
        .nv-deal__intro h2 em { font-style: normal; color: #F58300; }
        .nv-deal__intro p { margin: 0; color: #5f6f66; font-size: 14px; max-width: 36ch; line-height: 1.45; }
        .nv-deal__badge { display: inline-flex; align-items: center; gap: 7px; background: #174d39; color: #fff; border-radius: 999px; padding: 8px 14px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
        .nv-deal__badge i, .nv-deal__badge svg { width: 14px; height: 14px; color: #f5c518; }
        .nv-deal__badge i, .nv-deal__chip i, .nv-deal__trust i, .nv-deal-atc i, .nv-deal__view-all i { width: 14px; height: 14px; }
        .nv-deal__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
        .nv-deal__chip { display: inline-flex; align-items: center; gap: 6px; border: 1.5px dashed #94a3b8; border-radius: 999px; padding: 6px 12px; font-size: 12px; font-weight: 700; color: #334155; background: #fff; }
        .nv-deal__burst {
            flex: 0 0 auto; width: 92px; height: 92px; border-radius: 50%;
            display: grid; place-content: center; text-align: center; gap: 0;
            background: radial-gradient(circle at 35% 30%, #ff8a3d, #e11d48 72%);
            color: #fff; box-shadow: 0 10px 24px rgba(225,29,72,.28);
            transform: rotate(-8deg);
        }
        .nv-deal__burst span { font-size: 9px; font-weight: 800; letter-spacing: .06em; line-height: 1; }
        .nv-deal__burst strong { font-size: 22px; line-height: 1; font-weight: 900; }
        .nv-deal__urgency { margin-bottom: 14px; position: relative; z-index: 1; max-width: 100%; }
        .nv-deal__clock { text-align: left; max-width: 100%; }
        .nv-deal__clock-label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 800; color: #174d39; margin-bottom: 8px; text-transform: none; letter-spacing: 0; }
        .nv-deal__clock-label i, .nv-deal__clock-label svg { width: 14px; height: 14px; }
        .nv-deal .clock { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; max-width: 100%; }
        .nv-deal .clock b { background: #174d39; color: #fff; min-width: 48px; border-radius: 14px; padding: 10px 8px; font-size: 17px; font-weight: 800; text-align: center; display: inline-block; }
        .nv-deal .clock > span { color: #174d39; font-size: 10px; font-weight: 800; margin-right: 2px; }
        .nv-deal-card { width: 100%; min-width: 0; display: flex; flex-direction: column; }
        .nv-deal-card__media { position: relative; }
        .nv-deal-card__img { display: block; position: relative; overflow: hidden; border-radius: 18px; aspect-ratio: 1 / 1; background: #f7f9f6; }
        .nv-deal-card__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
        .nv-deal-wish {
            position: absolute; top: 12px; right: 12px; z-index: 3;
            width: 40px; height: 40px; border: 0; border-radius: 50%;
            display: grid; place-items: center; background: rgba(255,255,255,.96);
            color: #173b31; box-shadow: 0 4px 12px rgba(15,23,42,.1); cursor: pointer; text-decoration: none;
        }
        .nv-deal-wish.is-on { color: #e11d48; }
        .nv-deal-wish i, .nv-deal-wish svg { width: 16px; height: 16px; }
        .nv-deal-card__body { padding: 12px 6px 4px; display: flex; flex-direction: column; flex: 1; min-width: 0; }
        .nv-deal-card__rating { color: #ca8a04; font-size: 12px; font-weight: 700; margin-bottom: 8px; min-height: 1.2em; }
        .nv-deal-card__off { display: inline-flex; margin-left: auto; background: #fff0f2; color: #df294b; font-size: 11px; font-weight: 900; padding: 4px 8px; border-radius: 8px; }
        .nv-deal-card .deal-badge--todays_deal { background: #ff5b42; }
        .nv-deal-card .deal-badge--featured { background: #2563eb; }
        .nv-deal-card .deal-badge--clearance { background: #7c3aed; }
        .nv-deal-card .deal-badge--best_seller { background: #15803d; }
        .nv-deal-card .deal-badge--limited { background: #d97706; }
        .nv-deal-card .deal-badge--hot { background: #dc2626; }
        .nv-deal-card__rating span { color: #94a3b8; font-weight: 600; }
        .nv-deal-atc {
            width: 100%; min-height: 48px; margin-top: auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            background: #087344 !important; color: #fff !important; border: 0; border-radius: 16px;
            font-weight: 800; font-size: 15px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
        }
        @media (hover: hover) {
            .nv-deal-atc:hover { background: #075d38 !important; transform: translateY(-1px); box-shadow: 0 8px 18px rgba(27,67,50,.18); }
        }
        .nv-deal-atc:disabled { opacity: .65; cursor: not-allowed; transform: none; }
        @media (prefers-reduced-motion: reduce) {
            .nv-deal-atc { transition: none; }
            .nv-deal-atc:hover { transform: none; }
        }
        .nv-deal__trust { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 6px; position: relative; z-index: 1; width: 100%; max-width: 100%; }
        .nv-deal__trust > div { display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center; padding: 6px 2px; background: transparent; border: 0; min-width: 0; }
        .nv-deal__trust-ico {
            width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center;
            background: #e5f3dc; color: #18714d;
        }
        .nv-deal__trust-ico i, .nv-deal__trust-ico svg { width: 18px; height: 18px; }
        .nv-deal__trust strong { font-size: 11px; color: #174d39; font-weight: 800; line-height: 1.2; }
        .nv-deal__view-all {
            display: inline-flex; align-items: center; justify-content: center; gap: 8px;
            width: auto; max-width: 100%; box-sizing: border-box;
            min-height: 40px; margin: 10px auto 0; padding: 8px 16px;
            border-radius: 999px; border: 1px solid #d9ead1; background: #eef8e9;
            color: #087344; font-size: 13px; font-weight: 800; text-decoration: none;
            position: relative; z-index: 1;
        }
        .nv-deal__view-all:hover { background: #e4f3dc; }
        .nv-deal__view-all i, .nv-deal__view-all svg { width: 15px; height: 15px; }
        @media (max-width: 1399px) {
            .deal-rail { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
        }
        @media (max-width: 991px) {
            .deal-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
        }
        @media (min-width: 900px) {
            .nv-deal__inner { padding: 28px 24px 22px; }
            .nv-deal__intro h2 { font-size: clamp(34px, 3.2vw, 48px); }
            .nv-deal__intro p { font-size: 16px; }
            .nv-deal__head { align-items: center; }
            .nv-deal__burst { width: 110px; height: 110px; }
            .nv-deal__burst strong { font-size: 28px; }
            .nv-deal__trust { gap: 12px; margin-top: 10px; }
            .nv-deal__trust strong { font-size: 13px; }
            .nv-deal__trust-ico { width: 52px; height: 52px; }
            .nv-deal__view-all { min-height: 40px; font-size: 13px; margin-top: 10px; padding: 8px 16px; }
        }
        @media (max-width: 767px) {
            .deal-rail {
                display: flex;
                flex-wrap: nowrap;
                gap: 14px;
                overflow-x: auto;
                overflow-y: hidden;
                overscroll-behavior-x: contain;
                scroll-snap-type: x mandatory;
                scrollbar-width: none;
                -webkit-overflow-scrolling: touch;
                padding: 2px 1px 10px;
                width: 100%;
                max-width: 100%;
            }
            .deal-rail::-webkit-scrollbar { display: none; }
            .deal-card,
            .nv-deal-card {
                flex: 0 0 min(86vw, 360px);
                width: min(86vw, 360px);
                max-width: min(86vw, 360px);
                scroll-snap-align: start;
            }
            /* Premium carousel slides own their width — do not force 86vw on nested cards */
            .nv-dotd-carousel__slide .deal-card,
            .nv-dotd-carousel__slide .nv-deal-card {
                flex: none !important;
                width: 100% !important;
                max-width: 100% !important;
            }
            .nv-deal__trust strong { font-size: 10px; }
        }
        .nv-deal--flash .nv-deal__inner {
            background:
                radial-gradient(circle at 90% 10%, rgba(255,255,255,.88), transparent 30%),
                radial-gradient(ellipse at 0% 0%, rgba(245,131,0,.18), transparent 45%),
                radial-gradient(ellipse at 100% 60%, rgba(225,29,72,.08), transparent 40%),
                linear-gradient(145deg, #fff7ed 0%, #fffaf5 55%, #fef3e8 100%);
            border-color: rgba(245, 131, 0, .22);
        }
        .nv-deal--flash .nv-deal__badge { background: #c2410c; }
        .nv-deal--flash .nv-deal__intro h2 { color: #9a3412; }
        .nv-deal--flash .nv-deal__intro h2 em { color: #ea580c; }
        .nv-deal--flash .clock b { background: #c2410c; }
        .nv-deal--flash .nv-deal-atc { background: #ea580c !important; }
        @media (hover: hover) {
            .nv-deal--flash .nv-deal-atc:hover { background: #c2410c !important; }
        }
        .nv-deal--flash .nv-deal__view-all { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
        .nv-deal--clearance .nv-deal__inner {
            background:
                radial-gradient(circle at 90% 8%, rgba(255,255,255,.9), transparent 28%),
                radial-gradient(ellipse at 5% 0%, rgba(124,58,237,.12), transparent 42%),
                linear-gradient(145deg, #f5f3ff 0%, #faf8ff 55%, #f3eefe 100%);
            border-color: rgba(124, 58, 237, .18);
        }
        .nv-deal--clearance .nv-deal__badge { background: #6d28d9; }
        .nv-deal--clearance .nv-deal__intro h2 { color: #5b21b6; }
        .nv-deal--clearance .nv-deal__intro h2 em { color: #7c3aed; }
        .nv-deal__burst--clear { background: radial-gradient(circle at 35% 30%, #a78bfa, #6d28d9 72%); }
        .nv-deal--clearance .nv-deal-atc { background: #6d28d9 !important; }
        @media (hover: hover) {
            .nv-deal--clearance .nv-deal-atc:hover { background: #5b21b6 !important; }
        }
        .nv-deal--clearance .nv-deal__view-all { background: #ede9fe; border-color: #c4b5fd; color: #5b21b6; }
        .nv-deal + .nv-deal { margin-top: 22px; }
        .view-all-block {
            display: flex; align-items: center; justify-content: space-between; gap: 16px;
            max-width: 720px; margin: 22px auto 8px; text-decoration: none;
            background: #fff; border: 1px solid #d7e6c8; border-radius: 20px;
            padding: 16px 16px 16px 22px; color: #143028;
            box-shadow: 0 8px 24px rgba(0, 80, 55, .06);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }
        .view-all-block:hover { transform: translateY(-2px); border-color: #b7d7b0; box-shadow: 0 14px 32px rgba(0, 80, 55, .1); }
        .view-all-block:active { transform: translateY(0) scale(.99); }
        .view-all-block__copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
        .view-all-block strong { display: block; font-size: 18px; font-weight: 800; letter-spacing: -.02em; color: #143028; }
        .view-all-block__copy span { color: #5f6f66; font-size: 13px; font-weight: 600; }
        .view-all-block__go {
            width: 44px; height: 44px; border-radius: 999px; flex-shrink: 0;
            display: grid; place-items: center; background: #006b46; color: #fff;
            transition: transform .22s ease;
        }
        .view-all-block:hover .view-all-block__go { transform: translateX(3px); }
        .view-all-block__go svg { width: 18px; height: 18px; }
        #about, #deals, #shelf, #flash-sale, #featured-deal, #clearance-sale {
            scroll-margin-top: 120px;
        }
        .kdf-about {
            margin: 28px auto 10px;
            max-width: 980px;
            scroll-margin-top: 120px;
        }
        .kdf-about__stage {
            display: grid;
            grid-template-columns: minmax(0, 1.35fr) minmax(240px, .85fr);
            gap: 18px;
            align-items: stretch;
            padding: 22px 22px 24px;
            border-radius: 24px;
            border: 1px solid #d7e6dc;
            background:
                radial-gradient(120% 90% at 0% 0%, rgba(7, 91, 58, .10), transparent 55%),
                linear-gradient(160deg, #f4faf5 0%, #ffffff 48%, #f7fbf4 100%);
            box-shadow: 0 10px 28px rgba(0, 70, 45, .06);
        }
        .kdf-about__eyebrow {
            margin: 0 0 8px;
            font-size: 12px;
            font-weight: 800;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: #0b6b45;
        }
        .kdf-about__copy h2 {
            margin: 0 0 10px;
            font-size: clamp(1.35rem, 2.2vw, 1.85rem);
            line-height: 1.2;
            letter-spacing: -.02em;
            color: #143028;
            font-weight: 800;
        }
        .kdf-about__lead {
            margin: 0 0 14px;
            max-width: 54ch;
            color: #4b5c54;
            font-size: 15px;
            line-height: 1.55;
        }
        .kdf-about__points {
            list-style: none;
            margin: 0 0 18px;
            padding: 0;
            display: grid;
            gap: 8px;
        }
        .kdf-about__points li {
            display: flex;
            align-items: flex-start;
            gap: 10px;
            color: #243830;
            font-size: 14px;
            font-weight: 600;
            line-height: 1.4;
        }
        .kdf-about__points i,
        .kdf-about__points svg {
            width: 18px;
            height: 18px;
            flex: 0 0 auto;
            margin-top: 1px;
            color: #075B3A;
        }
        .kdf-about__actions {
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            align-items: center;
        }
        .kdf-about__btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-height: 42px;
            padding: 0 16px;
            border-radius: 999px;
            font-size: 14px;
            font-weight: 800;
            text-decoration: none;
            transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease;
        }
        .kdf-about__btn:active { transform: scale(.98); }
        .kdf-about__btn--primary {
            background: #075B3A;
            color: #fff !important;
            border: 1px solid #075B3A;
        }
        .kdf-about__btn--primary:hover { background: #043D28; border-color: #043D28; }
        .kdf-about__btn--ghost {
            background: #fff;
            color: #075B3A !important;
            border: 1px solid #b7d7b0;
        }
        .kdf-about__btn--ghost:hover { border-color: #075B3A; background: #eff8ef; }
        .kdf-about__btn--text {
            padding-inline: 8px;
            color: #5f6f66 !important;
            border: 0;
            background: transparent;
            min-height: 36px;
            font-weight: 700;
        }
        .kdf-about__btn--text:hover { color: #075B3A !important; }
        .kdf-about__aside {
            display: grid;
            gap: 10px;
            align-content: start;
        }
        .kdf-about__stat {
            padding: 14px 15px;
            border-radius: 16px;
            background: rgba(255,255,255,.88);
            border: 1px solid #e1ebe4;
        }
        .kdf-about__stat strong {
            display: block;
            margin-bottom: 4px;
            color: #143028;
            font-size: 15px;
            font-weight: 800;
            letter-spacing: -.01em;
        }
        .kdf-about__stat span {
            color: #66756e;
            font-size: 13px;
            line-height: 1.4;
        }
        @media (max-width: 900px) {
            .kdf-about { margin: 20px 0 8px; max-width: none; }
            .kdf-about__stage {
                grid-template-columns: 1fr;
                padding: 18px 16px 18px;
                border-radius: 20px;
                gap: 14px;
            }
            #about, #deals, #shelf, #flash-sale, #featured-deal, #clearance-sale {
                scroll-margin-top: 96px;
            }
        }
        .quality, .delivery-strip { margin: 18px auto; max-width: 980px; }
        .qlabel { font-size: 12px; letter-spacing: .12em; font-weight: 800; color: #7d8b84; margin: 0 0 10px; text-transform: uppercase; }
        .qgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
        .qcard {
            display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
            background: #fff; border-radius: 18px; padding: 14px 14px 16px;
            border: 1px solid #e4ebe7; text-decoration: none; color: inherit; min-height: 124px;
            box-shadow: 0 6px 18px rgba(0, 80, 55, .04);
            transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
        }
        .qcard:hover { transform: translateY(-3px); border-color: #b8d8c7; box-shadow: 0 14px 30px rgba(0, 70, 45, .1); }
        .qcard:active { transform: translateY(0) scale(.98); }
        .qico {
            width: 36px; height: 36px; border-radius: 12px; margin-bottom: 8px;
            display: grid; place-items: center; background: #eaf5ef; color: #006b46;
        }
        .qico svg { width: 18px; height: 18px; }
        .qcard strong { display: block; color: #143028; font-size: 15px; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; }
        .qcard > span:last-child { color: #68756f; font-size: 13px; line-height: 1.35; }
        .delivery-strip { background: #f3f8ee; border-radius: 22px; padding: 14px; }
        .drow { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
        @media (max-width: 900px) {
            .view-all-block { max-width: none; margin: 16px 0 6px; padding: 14px 14px 14px 16px; border-radius: 18px; }
            .view-all-block strong { font-size: 17px; }
            .qgrid { grid-template-columns: 1fr 1fr; gap: 10px; }
            .qcard { min-height: 0; padding: 14px 12px 15px; border-radius: 16px; }
            .qcard strong { font-size: 14px; }
            .drow { gap: 10px; }
            .delivery-strip { border-radius: 18px; padding: 12px; }
        }
        @media (prefers-reduced-motion: reduce) {
            .view-all-block, .view-all-block__go, .qcard { transition: none; }
            .view-all-block:hover, .qcard:hover, .view-all-block:hover .view-all-block__go { transform: none; }
        }
        .prefoot { display: none; }
        .service-grid { display: none; }
        .shop-chips { display: flex; gap: 8px; overflow: auto; margin: 12px 0; }
        .shop-chips a { background: #1e293b; color: #fff; border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 700; white-space: nowrap; }
        .foot-acc { display: none; }
        .foot-acc details { background: #1e293b; border-radius: 14px; margin-bottom: 8px; padding: 12px 14px; }
        .foot-acc summary { list-style: none; font-weight: 800; color: #fff; cursor: pointer; }
        .foot-acc a { color: #cbd5e1; padding: 6px 0; }
        .mcta { display: none; grid-template-columns: 1fr 1fr; gap: 8px; margin: 12px 0; }
        .mcta a { text-align: center; border-radius: 14px; padding: 12px; font-weight: 800; }
        .mcta .wa { background: #22c55e; color: #fff; }
        .mcta .call { border: 1px solid #334155; color: #fff; }
        /* Mobile nav drawer — ABOVE sticky header (z-index 1000) */
        .menu-sheet.sheet-back {
            z-index: 1090;
            background: rgba(0,0,0,0);
            transition: background .28s ease;
            pointer-events: none;
        }
        .menu-sheet.sheet-back.open {
            display: block !important;
            background: rgba(0,0,0,.35);
            pointer-events: auto;
        }
        .nav-drawer {
            position: fixed; top: 0; left: 0; bottom: 0;
            width: min(86vw, 360px); max-width: 100%;
            background: #fff; z-index: 1100;
            transform: translateX(-105%);
            transition: transform .28s ease;
            display: flex; flex-direction: column;
            box-shadow: 18px 0 40px rgba(15,23,42,.22);
            -webkit-overflow-scrolling: touch;
        }
        .menu-sheet.open .nav-drawer { transform: translateX(0); }
        .nav-drawer__head {
            flex-shrink: 0; z-index: 1110;
            background: #fff; color: #172116;
            padding: 12px 14px; min-height: 56px;
            display: flex; align-items: center; gap: 10px;
            border-bottom: 1px solid #eef3e8;
            box-shadow: 0 4px 16px rgba(15,23,42,.04);
        }
        .nav-drawer__head-btn {
            width: 42px; height: 42px; border: 0; border-radius: 14px;
            background: var(--nv-green-light, #f3f8ee); color: var(--store-button, #075B3A);
            display: grid; place-items: center; cursor: pointer; flex-shrink: 0; padding: 0;
        }
        .nav-drawer__head-btn[hidden] { display: none !important; }
        .nav-drawer__head-btn svg { width: 20px; height: 20px; stroke-width: 2; }
        .nav-drawer__head-btn.close { background: #172116; color: #fff; }
        .nav-drawer__brand {
            flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px;
            font-weight: 800; font-size: 15px; color: #172116;
        }
        .nav-drawer__brand img { height: 42px; width: auto; max-width: min(180px, 55vw); object-fit: contain; display: block; }
        .nav-drawer__brand-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .nav-drawer__auth { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 14px 4px; }
        .nav-drawer__auth a { text-align: center; border-radius: 12px; padding: 10px; font-weight: 800; font-size: 13px; }
        .nav-drawer__auth .in { border: 1px solid var(--store-button, #075B3A); color: var(--store-button, #075B3A); }
        .nav-drawer__auth .up { background: var(--store-button, #075B3A); color: var(--store-button-text, #fff); }
        .nav-drawer__scroll { overflow: auto; flex: 1; padding: 4px 0 28px; overscroll-behavior: contain; }
        .nav-drawer__row {
            display: flex; justify-content: space-between; align-items: center; gap: 12px;
            padding: 12px 16px; border-bottom: 1px solid #f1f5f9; color: #0f172a; font-weight: 700;
            width: 100%; background: transparent; border-left: 0; border-right: 0; border-top: 0;
            font: inherit; text-align: left; cursor: pointer; text-decoration: none;
        }
        @media (hover: hover) {
            .nav-drawer__row:hover { background: #f7fbea; }
        }
        .nav-drawer__row:focus-visible { background: #f7fbea; outline: none; }
        .nav-drawer__row .nd-left { display: flex; align-items: center; gap: 12px; min-width: 0; }
        .nav-drawer__ico {
            width: 36px; height: 36px; border-radius: 12px; background: var(--nv-green-light, #eff8ef); color: var(--store-button, #075B3A);
            display: grid; place-items: center; flex-shrink: 0;
        }
        .nav-drawer__ico svg { width: 18px; height: 18px; stroke-width: 1.9; }
        .nav-drawer__chev { color: #94a3b8; display: grid; place-items: center; }
        .nav-drawer__chev svg { width: 16px; height: 16px; }
        .nav-drawer__sec { color: var(--store-button, #075B3A); font-size: 11px; letter-spacing: .14em; font-weight: 800; padding: 14px 16px 6px; }
        .nav-drawer__city { margin: 8px 16px 4px; padding: 12px; border-radius: 14px; background: #f7fbea; border: 1px solid #e7eedd; }
        .nav-drawer__city label { display: block; font-size: 10px; letter-spacing: .1em; font-weight: 800; color: #64748b; margin-bottom: 6px; }
        .nav-drawer__city select { width: 100%; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; font-weight: 700; background: #fff; color: #0f172a; }
        .nv-menu-panel { display: none; }
        .nv-menu-panel.is-active { display: block; }
        body.menu-open {
            overflow: hidden !important;
            position: fixed;
            width: 100%;
            left: 0;
            right: 0;
        }
        body.menu-open .nv-header { z-index: 1000; }
        #nv-open-menu[aria-expanded="true"] { background: #172116; color: #fff; }
        .more-menu { position: relative; }
        .more-drop { display: none; position: absolute; top: calc(100% + 8px); right: 0; width: min(280px, 78vw); background: #fff; border-radius: 16px; box-shadow: 0 16px 40px rgba(15,23,42,.16); border: 1px solid #eef3e8; padding: 12px; z-index: 50; }
        .more-drop.open { display: block; }
        .more-drop h4 { margin: 0 0 8px; font-size: 13px; color: #0f172a; }
        .more-drop select { width: 100%; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px; font-weight: 700; margin-bottom: 8px; }
        .more-drop a { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; font-weight: 700; color: #0f172a; }
        .more-drop a:hover { background: #f8fafc; }
        .more-drop .md-ico { width: 32px; height: 32px; border-radius: 10px; background: #f3f8ee; color: var(--kdf-primary); display: grid; place-items: center; }
        .more-drop .md-ico svg { width: 16px; height: 16px; }
                .announce { background: #0D2B00; color: #fff; text-align: center; font-size: 12px; font-weight: 700; letter-spacing: .04em; padding: 8px 12px; }
        .announce b { color: #d4f06a; }
        .deal-head { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin: 8px 0 10px; }
        .deal-head h2 { margin: 0; color: #1A2208; font-size: 28px; }
        .clock { display: flex; gap: 6px; align-items: center; }
        .clock b { background: #111827; color: #fff; border-radius: 10px; min-width: 42px; text-align: center; padding: 6px 4px; }
        .clock span { font-size: 10px; color: #64748b; font-weight: 800; }
        .offer-row { display: flex; gap: 8px; overflow: auto; margin-bottom: 12px; }
        .offer { border: 1px dashed #c5d7a4; background: #f7fbea; color: #3f6212; border-radius: 999px; padding: 8px 12px; font-size: 12px; font-weight: 800; white-space: nowrap; }
        .news { display: none; }
        footer.site { background: var(--store-footer-bg, linear-gradient(180deg, #07111f 0%, #020617 100%)); color: var(--store-footer-text, #cbd5e1); padding: 0 0 28px; }
        footer.site > .wrap { max-width: 1080px; }
        .foot-inner { max-width: 1080px; margin: 0 auto; }
        .foot-news { background: #0b1220; border: 1px solid rgba(255,255,255,.06); border-radius: 20px; padding: 20px 22px; margin: -28px auto 28px; max-width: 720px; position: relative; z-index: 2; box-shadow: 0 16px 40px rgba(0,0,0,.25); }
        .foot-news .qlabel { color: #94a3b8; margin-bottom: 4px; }
        .foot-news h3 { margin: 0 0 6px; color: #fff; font-size: 22px; letter-spacing: -.02em; }
        .foot-news .sub { color: #94a3b8; font-size: 13px; margin: 0 0 12px; }
        .foot-news form { display: grid; grid-template-columns: 1fr auto; gap: 8px; max-width: 420px; }
        .foot-news input { width: 100%; border: 1px solid #334155; background: #111827; color: #fff; border-radius: 12px; padding: 11px 12px; box-sizing: border-box; }
        .foot-news button { background: var(--kdf-secondary); color: #fff; border: 0; border-radius: 12px; padding: 11px 16px; font-weight: 800; cursor: pointer; white-space: nowrap; }
        .foot-perks { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
        .foot-perks span { display: inline-flex; align-items: center; gap: 6px; background: #111827; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; padding: 7px 12px; font-size: 12px; color: #e2e8f0; font-weight: 700; }
        .foot-perks i { width: 18px; height: 18px; border-radius: 999px; background: rgba(141,183,0,.2); color: #d4f06a; display: grid; place-items: center; font-style: normal; font-size: 10px; }
        .foot-grid { display: grid; grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); gap: 18px 24px; align-items: start; }
        footer.site h3 { color: var(--store-footer-heading, #fff); margin: 0 0 12px; font-size: 11px; letter-spacing: .16em; }
        footer.site .foot-grid a { display: flex; align-items: center; gap: 8px; padding: 5px 0; color: var(--store-footer-text, #cbd5e1); font-size: 13px; }
        footer.site .foot-grid a:hover { color: #fff; }
        .foot-ico { width: 22px; height: 22px; border-radius: 7px; background: rgba(255,255,255,.06); color: #d4f06a; display: grid; place-items: center; flex-shrink: 0; }
        .foot-ico svg { width: 12px; height: 12px; }
        .foot-brand p { margin: 8px 0 0; color: #94a3b8; font-size: 13px; line-height: 1.45; max-width: 240px; }
        .short-card { background: transparent; border: 0; border-radius: 0; padding: 0; }
        .short-card a { display: flex !important; }
        .visit-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 22px auto 0; max-width: 720px; }
        .visit-card, .contact-card { background: #0b1220; border: 1px solid rgba(255,255,255,.06); border-radius: 16px; padding: 14px 16px; }
        .foot-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
        footer.site a.fbtn { display: inline-flex !important; width: auto !important; max-width: none; align-items: center; gap: 6px; border-radius: 999px; padding: 8px 14px; font-weight: 800; font-size: 13px; margin: 0; color: inherit; }
        .fbtn.green { background: var(--kdf-primary); color: #fff !important; }
        .fbtn.ghost { border: 1px solid #334155; color: #e2e8f0 !important; background: transparent; }
        .shop-chips { display: none; }
        .copy { margin-top: 18px; border-top: 1px solid rgba(255,255,255,.06); padding-top: 14px; text-align: center; color: #64748b; font-size: 12px; }
        body.kdf-cart-page .foot-news,
        body.kdf-cart-page .foot-perks,
        body.kdf-cart-page .news,
        body.kdf-checkout-page footer.site,
        body.kdf-checkout-page .foot-news,
        body.kdf-checkout-page .nv-header,
        body.kdf-checkout-page .nv-footer,
        body.kdf-checkout-page .bottom-nav,
        body.kdf-checkout-page .fab-top,
        body.kdf-checkout-page .kpk-wa,
        body.kdf-checkout-page .menu-sheet,
        body.kdf-checkout-page .nav-drawer,
        body.kdf-checkout-page .cart-drawer,
        body.kdf-checkout-page .orders-paused-banner { display: none !important; }
        body.kdf-checkout-page { padding-bottom: 0 !important; background: #f6f7f5; }
        body.kdf-checkout-page.has-bottom-nav { padding-bottom: 0 !important; }
        body.kdf-checkout-page .kdf-account-shell { padding: 0 0 32px; min-height: 70vh; }
        body.kdf-checkout-page .kdf-co-top {
            position: sticky; top: 0; z-index: 50; background: #fff;
            border-bottom: 1px solid #e8edf2;
            display: none;
        }
        body.kdf-checkout-page .kdf-co-top {
            display: flex; align-items: center; justify-content: space-between;
            gap: 12px; padding: 12px 18px; max-width: 1100px; margin: 0 auto;
            width: 100%; box-sizing: border-box;
        }
        body.kdf-checkout-page .kdf-co-top-wrap {
            display: block; background: #fff; border-bottom: 1px solid #e8edf2;
        }
        .kdf-co-logo { display: inline-flex; align-items: center; text-decoration: none; }
        .kdf-co-logo img { height: 42px; width: auto; object-fit: contain; }
        .kdf-co-secure {
            display: inline-flex; align-items: center; gap: 8px;
            color: #075B3A; font-size: 13px; font-weight: 700;
        }
        .kdf-co-secure svg { width: 16px; height: 16px; }
        @media (max-width: 991.98px) {
            body.kdf-checkout-page .kdf-order-summary__actions,
            body.kdf-checkout-page .kdf-order-summary__back { display: none !important; }
            body.kdf-checkout-page .bottom-sticky3.kdf-mobile-checkout-bar {
                position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100;
                display: block !important;
                padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
                border-top: 1px solid #e8edf2;
                background: #fff;
                box-shadow: 0 -8px 24px rgba(15, 61, 46, 0.12);
            }
            body.kdf-checkout-page .kdf-account-shell { padding-bottom: 120px; }
            .kdf-co-logo img { height: 36px; }
        }
        .bag-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); background: #0f172a; color: #fff; border-radius: 999px; padding: 10px 16px; font-weight: 800; font-size: 13px; z-index: 80; display: none; box-shadow: 0 12px 30px rgba(15,23,42,.25); }
        .bag-toast.show { display: block; }
        .v-cta button:disabled { opacity: .65; cursor: wait; }
        .slider { position: relative; margin: 24px auto 8px; border-radius: 28px; overflow: hidden; background: #f6f1e7; box-shadow: 0 8px 30px rgba(0, 80, 55, .08); aspect-ratio: 10 / 2.55; min-height: 300px; contain: layout; }
        .slide { position: absolute; inset: 0; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); align-items: center; color: #18352b; background: #f7f3ea; opacity: 0; visibility: hidden; pointer-events: none; z-index: 0; transition: opacity .5s ease; }
        .slide.on { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
        .slide .cap { display: flex; flex-direction: column; justify-content: center; gap: 14px; padding: 36px 28px 48px 72px; min-height: 0; overflow: hidden; }
        .slide .kicker { font-size: 12px; font-weight: 800; letter-spacing: .16em; color: #006b46; }
        .slide h1, .slide h2 { margin: 0; font-size: clamp(32px, 3.2vw, 52px); line-height: 1.02; letter-spacing: -.03em; color: #143028; font-weight: 750; }
        .slide .cap p { margin: 0; max-width: 460px; color: #5d6b64; font-size: 16px; line-height: 1.5; }
        .hero-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
        .hero-actions .cta { display: inline-flex; align-items: center; gap: 8px; background: #006b46; color: #fff; border-radius: 999px; padding: 13px 22px; font-weight: 800; }
        .hero-actions .cta.ghost { background: #fff; color: #143028; border: 1px solid #d7e0d8; }
        .hero-actions .cta:hover { transform: translateY(-2px); }
        .hero-benefits { display: flex; flex-wrap: wrap; gap: 14px 18px; margin-top: 8px; color: #2d463b; font-size: 13px; font-weight: 700; }
        .hero-benefits span { display: inline-flex; align-items: center; gap: 6px; }
        .hero-media { position: relative; height: 100%; min-height: 0; overflow: hidden; }
        .slide img, .hero-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; background: #f7f3ea; }
        .slide .mob { display: none; }
        .hero-media picture { position: absolute; inset: 0; display: block; }
        @media (min-width: 801px) {
            /* Reserve final art ratio from first paint (avoid :has() late layout jump / CLS) */
            .slider.has-art,
            .slider:has(.slide.has-art) {
                aspect-ratio: 3 / 1;
                min-height: 0;
                background: transparent;
                overflow: visible;
                margin-bottom: 28px;
                box-shadow: none;
            }
            .slider.has-art .slide,
            .slider:has(.slide.has-art) .slide {
                border-radius: 28px;
                overflow: hidden;
                box-shadow: 0 18px 50px rgba(20, 48, 40, .10);
            }
            .slider.has-art .dots,
            .slider:has(.slide.has-art) .dots { bottom: -22px; }
            .slide.has-art { display: block; background: #fff; }
            .slide.has-art .cap { display: none; }
            .slide.has-art .hero-media { position: absolute; inset: 0; background: #fff; }
            .slide.has-art .desk-hit { position: absolute; inset: 0; display: block; }
            .slide.has-art .desk-hit picture { position: absolute; inset: 0; }
            .slide.has-art .desk-hit img {
                position: absolute; inset: 0; width: 100%; height: 100%;
                object-fit: cover; object-position: center; background: #fff;
            }
        }
        .hero-arrow { display: none !important; }
        /* Fixed-height marquee — padding-left:100% was a major CLS driver */
        .marquee {
            overflow: hidden;
            background: #fff;
            border: 1px solid #e7eedd;
            border-radius: 999px;
            margin: 14px 0;
            height: 38px;
            min-height: 38px;
            contain: layout paint;
            display: flex;
            align-items: center;
        }
        .marquee p {
            display: inline-block;
            margin: 0;
            padding: 0;
            color: var(--store-button, var(--kdf-primary));
            font-weight: 700;
            font-size: 13px;
            line-height: 38px;
            white-space: nowrap;
            will-change: transform;
            animation: kdf-marquee 28s linear infinite;
        }
        @keyframes kdf-marquee {
            from { transform: translateX(100%); }
            to { transform: translateX(-100%); }
        }
        /* Reserve Lucide icon boxes before JS hydrates (reduces CLS) */
        i[data-lucide] {
            display: inline-block;
            width: 1em;
            height: 1em;
            vertical-align: -0.125em;
            flex-shrink: 0;
        }
        /* Hydrated Lucide SVGs: keep at 1em so icons can never blow up (footer fix 2026-10-06) */
        svg.lucide {
            width: 1em;
            height: 1em;
            vertical-align: -0.125em;
            flex-shrink: 0;
            max-width: 1.5em;
            max-height: 1.5em;
        }
        /* Footer social icons: never blow up (footer fix 2026-10-06) */
        .nv-social-ico {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            flex-shrink: 0;
            overflow: hidden;
        }
        .nv-social-ico svg {
            width: 20px;
            height: 20px;
            max-width: 20px;
            max-height: 20px;
            flex-shrink: 0;
        }
        @media (prefers-reduced-motion: reduce) {
            .slide { transition: none; }
            .marquee p { animation: none; transform: none; }
        }
        .mhead, .bottom-nav, .menu-sheet { display: none; }
        /* Right-side cart drawer (mobile + desktop) */
        .cart-drawer {
            position: fixed; inset: 0; z-index: var(--cart-overlay-z);
            display: block; pointer-events: none;
            opacity: 0; visibility: hidden;
            background: rgba(10, 20, 15, .48);
            transition: opacity .3s ease, visibility .3s;
        }
        .cart-drawer.is-open {
            pointer-events: auto;
            opacity: 1; visibility: visible;
        }
        .cart-drawer .cart-panel {
            position: fixed; top: 0; right: 0; bottom: 0;
            width: min(480px, 96vw); max-width: 480px;
            background: #fff; z-index: var(--cart-drawer-z);
            display: flex; flex-direction: column;
            transform: translate3d(100%, 0, 0);
            transition: transform .32s cubic-bezier(.2,.8,.2,1);
            box-shadow: -20px 0 60px rgba(0,0,0,.14);
            will-change: transform;
        }
        .cart-drawer.is-open .cart-panel {
            transform: translate3d(0, 0, 0);
        }
        body.cart-drawer-open { overflow: hidden; }
        .cart-drawer-header {
            flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px;
            padding: 18px 20px; border-bottom: 1px solid #E5E9E5; background: #fff;
            box-shadow: 0 1px 0 rgba(15,23,42,.04);
        }
        .cart-drawer-header__left { display: flex; align-items: center; gap: 12px; min-width: 0; }
        .cart-drawer-header__icon {
            width: 42px; height: 42px; border-radius: 14px; background: #f3f8ee; color: #0B6B45;
            display: grid; place-items: center; flex-shrink: 0;
        }
        .cart-drawer-header__icon svg { width: 20px; height: 20px; }
        .cart-drawer-header h2 { margin: 0; font-size: 20px; font-weight: 800; color: #0f172a; line-height: 1.2; }
        .cart-drawer-header .cart-count-label { margin: 2px 0 0; font-size: 13px; color: #64748b; font-weight: 600; }
        .cart-drawer-close {
            width: 44px; height: 44px; border: 0; border-radius: 12px; background: #f8fafc; color: #0f172a;
            display: grid; place-items: center; cursor: pointer; flex-shrink: 0;
            transition: background .2s, transform .2s;
        }
        .cart-drawer-close:hover { background: #eef3e8; transform: translateY(-1px); }
        .cart-drawer-close svg { width: 20px; height: 20px; }
        .cart-delivery {
            flex-shrink: 0; padding: 12px 20px 4px; background: #fff;
        }
        .cart-delivery__msg { font-size: 12px; font-weight: 700; color: #64748b; margin-bottom: 8px; }
        .cart-delivery__msg.is-free { color: #0B6B45; }
        .cart-delivery__bar { height: 8px; background: #f1f5f9; border-radius: 999px; overflow: hidden; }
        .cart-delivery__bar > i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--kdf-secondary), var(--kdf-primary)); transition: width .28s ease; }
        .bag-ok {
            display: none; margin: 0 20px 8px; background: #ecfdf5; color: #047857; border-radius: 12px;
            padding: 10px 12px; font-weight: 800; font-size: 13px;
        }
        .bag-ok.show { display: block; }
        .cart-items {
            flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain;
            padding: 4px 0 8px; -webkit-overflow-scrolling: touch;
        }
        .cart-empty {
            display: none; flex-direction: column; align-items: center; justify-content: center;
            text-align: center; padding: 48px 24px; color: #64748b; gap: 8px;
        }
        .cart-empty.is-visible { display: flex; }
        .cart-empty__ico {
            width: 64px; height: 64px; border-radius: 20px; background: #f3f8ee; color: #0B6B45;
            display: grid; place-items: center; margin-bottom: 8px;
        }
        .cart-empty__ico svg { width: 28px; height: 28px; }
        .cart-empty h3 { margin: 0; font-size: 18px; color: #0f172a; font-weight: 800; }
        .cart-empty p { margin: 0; font-size: 14px; max-width: 28ch; }
        .cart-item {
            display: grid; grid-template-columns: 76px minmax(0,1fr) auto; gap: 12px;
            padding: 14px 20px; border-bottom: 1px solid #f1f5f1; align-items: start;
            transition: opacity .22s ease, transform .22s ease;
        }
        .cart-item.is-removing { opacity: 0; transform: translateX(20px); }
        .cart-item img {
            width: 76px; height: 76px; object-fit: contain; border-radius: 12px; background: #F6F8F5;
            border: 1px solid #eef3e8;
        }
        .cart-item__body { min-width: 0; }
        .cart-item__name { display: block; font-size: 14px; font-weight: 800; color: #0f172a; line-height: 1.3; margin-bottom: 4px; }
        .cart-item__meta { display: block; font-size: 12px; color: #64748b; margin-bottom: 4px; }
        .cart-item__unit { display: block; font-size: 12px; font-weight: 700; color: #334155; margin-bottom: 8px; }
        .cart-item__unit s { color: #94a3b8; font-weight: 600; margin-left: 4px; }
        .cart-item__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
        .cart-qty {
            display: inline-flex; align-items: center; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; background: #fff;
        }
        .cart-qty button {
            width: 40px; height: 40px; border: 0; background: #fff; color: #0f172a; display: grid; place-items: center; cursor: pointer;
            transition: background .18s;
        }
        .cart-qty button:hover { background: #f3f8ee; }
        .cart-qty button:disabled { opacity: .45; cursor: wait; }
        .cart-qty button svg { width: 16px; height: 16px; }
        .cart-qty span { min-width: 28px; text-align: center; font-weight: 800; font-size: 14px; }
        .cart-item__btn {
            display: inline-flex; align-items: center; gap: 4px; border: 0; background: transparent;
            color: #64748b; font-size: 12px; font-weight: 700; cursor: pointer; padding: 6px 4px;
            transition: color .18s;
        }
        .cart-item__btn:hover { color: #0B6B45; }
        .cart-item__btn.is-danger:hover { color: #dc2626; }
        .cart-item__btn svg { width: 14px; height: 14px; }
        .cart-item__total { font-size: 15px; font-weight: 800; color: #0f172a; white-space: nowrap; padding-top: 2px; }
        .cart-summary {
            flex-shrink: 0; background: #fff; border-top: 1px solid #E5E9E5;
            padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px));
            box-shadow: 0 -8px 25px rgba(0,0,0,.08);
        }
        .cart-summary__rows { display: grid; gap: 8px; margin-bottom: 12px; }
        .cart-summary__row { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #64748b; font-weight: 600; }
        .cart-summary__row span:last-child { color: #0f172a; font-weight: 700; }
        .cart-summary__row.is-free span:last-child { color: #0B6B45; }
        .cart-summary__row.is-discount span:last-child { color: #dc2626; }
        .cart-summary__row.is-total { padding-top: 8px; border-top: 1px dashed #e5e9e5; font-size: 16px; color: #0f172a; font-weight: 800; }
        .cart-summary__row.is-total span:last-child { font-size: 18px; font-weight: 800; color: #0B6B45; }
        .cart-checkout {
            display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
            min-height: 54px; border: 0; border-radius: 14px; background: var(--kdf-checkout); color: #fff;
            font-size: 16px; font-weight: 750; text-decoration: none; cursor: pointer;
            transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
            box-shadow: 0 8px 20px rgba(11,107,69,.22);
        }
        .cart-checkout:hover { transform: translateY(-1px); color: #fff; }
        .cart-checkout:active { transform: scale(.98); }
        .cart-checkout.is-busy { cursor: progress; }
        .cart-checkout svg { width: 18px; height: 18px; }
        body.store-orders-paused .cart-checkout,
        body.store-orders-paused .nv-cta-buy,
        body.store-orders-paused #nv-buy,
        body.store-orders-paused #nv-sticky-buy,
        body.store-orders-paused button[name="next"][value="checkout"] { display: none !important; }
        body.store-orders-paused .nv-cta-add,
        body.store-orders-paused #nv-add,
        body.store-orders-paused #nv-sticky-add { opacity: .55; pointer-events: none; }
        .kpk-orders-paused-banner {
            background: #1C3E9D; color: #fff; text-align: center;
            padding: 10px 14px; font-size: 14px; font-weight: 600; position: sticky; top: 0; z-index: 1200;
        }
        .cart-summary__links { display: grid; gap: 8px; margin-top: 10px; }
        .cart-summary__link {
            display: block; text-align: center; color: #64748b; font-size: 13px; font-weight: 700;
            background: transparent; border: 0; cursor: pointer; padding: 6px; text-decoration: none;
        }
        .cart-summary__link.outline {
            border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px; color: #0f172a; background: #fff;
            transition: transform .18s, box-shadow .18s;
        }
        .cart-summary__link.outline:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(15,23,42,.06); }
        @media (max-width: 767px) {
            .cart-drawer .cart-panel { width: 94vw; max-width: 480px; }
            .cart-drawer-header { padding: 18px; }
            .cart-item { padding: 14px 18px; }
        }
        @media (max-width: 360px) {
            .cart-drawer .cart-panel { width: 100vw; max-width: none; }
        }
        @media (min-width: 768px) {
            .cart-drawer .cart-panel { width: min(460px, 100%); }
        }
        @media (min-width: 1024px) {
            .cart-drawer .cart-panel { width: min(480px, 100%); }
        }
        @media (prefers-reduced-motion: reduce) {
            .cart-drawer, .cart-drawer .cart-panel, .cart-item, .cart-checkout { transition: none !important; }
        }
        .dots { left: 50%; right: auto; transform: translateX(-50%); bottom: 16px; display: flex; gap: 8px; position: absolute; z-index: 2; }
        .dots button { width: 8px; height: 8px; border-radius: 99px; border: 0; background: #c5d0c8; padding: 0; }
        .dots button.on { background: #006b46; width: 22px; }
        .sheet-back { position: fixed; inset: 0; background: rgba(13,43,0,.42); z-index: 40; display: block; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .28s ease, visibility .28s ease; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); }
        .sheet-back.open { opacity: 1; visibility: visible; pointer-events: auto; }
        .sheet-back.menu-sheet { z-index: 1090; }
        .sheet-back#variant-sheet { z-index: var(--cart-modal-z); }
        .variant-panel {
            position: fixed; left: 50%; bottom: 0;
            transform: translate(-50%, 108%);
            width: min(440px, 100%);
            max-height: min(92vh, 720px);
            overflow: auto;
            background: linear-gradient(180deg, #F7FBEB 0%, #FFFFFF 56px);
            border-radius: 24px 24px 0 0;
            z-index: 41;
            padding: 0 0 calc(16px + env(safe-area-inset-bottom, 0px));
            box-shadow: 0 -20px 50px rgba(13, 43, 0, .22);
            transition: transform .34s cubic-bezier(.22, 1, .36, 1);
            -webkit-overflow-scrolling: touch;
        }
        .sheet-back.open .variant-panel { transform: translate(-50%, 0); }
        .variant-panel::before {
            content: "";
            display: block;
            width: 40px; height: 4px;
            margin: 10px auto 0;
            border-radius: 999px;
            background: #D5E3B8;
        }
        .vp-head {
            display: flex; justify-content: space-between; align-items: center;
            padding: 10px 18px 8px;
        }
        .vp-head strong {
            font-size: 16px; font-weight: 800; letter-spacing: -.015em;
            color: var(--kdf-heading);
        }
        .vp-head .vp-close {
            width: 34px; height: 34px; border: 0; border-radius: 50%;
            background: #EEF5DC; color: var(--kdf-heading);
            font-size: 20px; line-height: 1; cursor: pointer;
            display: grid; place-items: center;
            transition: background .15s, transform .15s;
        }
        .vp-head .vp-close:hover { background: #E2EEC4; transform: scale(1.04); }
        .vp-product {
            display: flex; gap: 14px; align-items: center;
            margin: 4px 16px 0; padding: 12px;
            border-radius: 16px; background: #fff;
            border: 1px solid #E5EED4;
            box-shadow: 0 6px 18px rgba(25, 50, 20, .05);
        }
        .vp-product img {
            width: 76px; height: 76px; flex-shrink: 0;
            object-fit: contain; border-radius: 14px;
            background: linear-gradient(160deg, #F5FAE8, #fff);
            border: 1px solid #EAF2D8;
        }
        .vp-product .vp-meta { min-width: 0; }
        .vp-product .vp-name {
            font-weight: 800; font-size: 15px; line-height: 1.3;
            color: var(--kdf-heading); letter-spacing: -.01em;
            display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
        }
        .vp-product .vp-stock {
            display: inline-flex; align-items: center; gap: 4px;
            margin-top: 6px; background: #ECF8E8; color: #2F7A1F;
            border-radius: 999px; padding: 3px 9px;
            font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase;
        }
        .vp-product .vp-stock::before {
            content: ""; width: 6px; height: 6px; border-radius: 50%; background: #4CAF28;
        }
        .vp-product .vp-price {
            margin-top: 6px; font-size: 20px; font-weight: 800;
            color: var(--kdf-price); letter-spacing: -.02em;
        }
        .vp-product .vp-price-meta {
            display: flex; align-items: center; gap: 8px; margin-top: 2px; flex-wrap: wrap;
        }
        .vp-product .vp-price-meta[hidden] { display: none !important; }
        .vp-product .vp-price-meta s {
            color: #94a3b8; font-size: 13px; font-weight: 600;
        }
        .vp-product .vp-price-meta span {
            color: var(--kdf-secondary, #F58300); font-size: 11px; font-weight: 800;
            letter-spacing: .02em;
        }
        .v-label {
            font-size: 11px; font-weight: 800; letter-spacing: .08em;
            text-transform: uppercase; color: #7A8A6A;
            margin: 16px 18px 10px;
        }
        .versions {
            display: grid; grid-template-columns: repeat(auto-fit, minmax(96px, 1fr)); gap: 10px;
            margin: 0 16px 14px;
        }
        .versions button {
            position: relative;
            background: #fff; color: var(--kdf-heading);
            border: 1.5px solid #E2EBD4; border-radius: 14px;
            padding: 12px 10px 11px; font-weight: 700; text-align: left;
            cursor: pointer; transition: border-color .18s, background .18s, box-shadow .18s, transform .15s;
        }
        .versions button:hover {
            border-color: color-mix(in srgb, var(--kdf-primary) 45%, #E2EBD4);
            transform: translateY(-1px);
        }
        .versions button.on {
            border-color: var(--store-button, var(--kdf-primary));
            background: color-mix(in srgb, var(--store-button, var(--kdf-primary)) 12%, #fff);
            color: var(--store-button-hover, var(--kdf-primary-hover));
            box-shadow: 0 6px 16px color-mix(in srgb, var(--store-button, var(--kdf-primary)) 18%, transparent);
        }
        .versions button.on::after {
            content: "✓";
            position: absolute; top: 7px; right: 8px;
            width: 18px; height: 18px; border-radius: 50%;
            background: var(--store-button, var(--kdf-primary));
            color: var(--store-button-text, #fff);
            font-size: 10px; font-weight: 800;
            display: grid; place-items: center; line-height: 1;
        }
        .versions strong, .versions em, .versions span { display: block; }
        .versions strong { font-size: 14px; letter-spacing: -.01em; }
        .versions em { font-style: normal; color: var(--kdf-secondary); font-size: 10px; font-weight: 800; margin-top: 4px; letter-spacing: .02em; }
        .versions span { color: #64748b; font-size: 12px; margin-top: 6px; font-weight: 700; }
        .versions button.on span { color: var(--store-button-hover, var(--kdf-primary-hover)); }
        .v-qty {
            display: flex; align-items: center; gap: 10px;
            margin: 4px 16px 14px; padding: 12px 14px;
            border-radius: 16px; background: #F7FAF0;
            border: 1px solid #E5EED4;
        }
        .v-qty .vq-ctrl {
            display: inline-flex; align-items: center;
            height: 42px; border-radius: 12px;
            border: 1.5px solid #DCE8C8; background: #fff;
            overflow: hidden;
        }
        .v-qty button {
            width: 40px; height: 42px; border: 0; background: transparent;
            color: var(--kdf-heading); font-size: 18px; font-weight: 700; cursor: pointer;
            transition: background .15s;
        }
        .v-qty button:hover { background: #F0F6E0; }
        .v-qty input {
            width: 44px; height: 42px; text-align: center;
            border: 0; border-left: 1px solid #E5EED4; border-right: 1px solid #E5EED4;
            background: #fff; font-weight: 800; font-size: 15px; color: var(--kdf-heading);
            -moz-appearance: textfield;
        }
        .v-qty input::-webkit-outer-spin-button,
        .v-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
        .v-qty .vq-total { margin-left: auto; text-align: right; }
        .v-qty .vq-total small { display: block; font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8A9780; }
        .v-qty .vq-total strong { font-size: 18px; font-weight: 800; color: var(--kdf-heading); letter-spacing: -.02em; }
        .v-cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 16px; }
        .v-cta button {
            height: 48px; border-radius: 14px; font-size: 14px; font-weight: 800;
            letter-spacing: .01em; transition: transform .15s, box-shadow .15s, filter .15s, background .15s;
        }
        .v-cta .outline {
            background: #fff;
            color: var(--store-button, var(--kdf-primary));
            border: 1.5px solid var(--store-button, var(--kdf-primary));
            box-shadow: 0 4px 12px color-mix(in srgb, var(--store-button, var(--kdf-primary)) 12%, transparent);
        }
        .v-cta .outline:hover {
            background: color-mix(in srgb, var(--store-button, var(--kdf-primary)) 8%, #fff);
            color: var(--store-button-hover, var(--kdf-primary-hover));
            border-color: var(--store-button-hover, var(--kdf-primary-hover));
        }
        .v-cta .filled {
            background: linear-gradient(
                180deg,
                color-mix(in srgb, var(--store-button, var(--kdf-primary)) 88%, #fff),
                var(--store-button, var(--kdf-primary))
            );
            border: 0;
            color: var(--store-button-text, #fff);
            box-shadow: 0 10px 22px color-mix(in srgb, var(--store-button, var(--kdf-primary)) 34%, transparent);
        }
        .v-cta .filled:hover {
            background: var(--store-button-hover, var(--kdf-primary-hover));
            filter: none;
        }
        .v-cta button:hover { transform: translateY(-1px); }
        .v-cta button:active { transform: translateY(0); }
        .v-cta button:disabled { opacity: .7; cursor: wait; transform: none; }
        @media (min-width: 768px) {
            .variant-panel {
                bottom: auto; top: 50%;
                transform: translate(-50%, calc(-50% + 24px)) scale(.96);
                border-radius: 22px;
                max-height: min(86vh, 640px);
                box-shadow: 0 28px 70px rgba(13, 43, 0, .28);
            }
            .sheet-back.open .variant-panel {
                transform: translate(-50%, -50%) scale(1);
            }
            .variant-panel::before { display: none; }
        }
        @media (prefers-reduced-motion: reduce) {
            .sheet-back, .variant-panel { transition: none !important; }
        }
        @media (max-width: 800px) {
            .slide .desk { display: none !important; }
            .slide .mob { display: block !important; }
        }
        .switch { display: flex; gap: 8px; overflow: auto; padding: 10px 0 0; }
        .switch a { white-space: nowrap; background: #fff; border-radius: 999px; padding: 6px 10px; font-size: 12px; border: 1px solid #e2e8f0; }
        .switch a.on { background: var(--kdf-deep); color: #fff; }
        @media (max-width: 900px) {
            .foot-grid, .visit-row, .hero, .trust, .grid { grid-template-columns: 1fr 1fr; }
            .pdp { grid-template-columns: 1fr; }
            .pill { display: none; }
        }
        @media (max-width: 800px) {
            body { background: #f7faf4; padding-bottom: 92px; }
            header.bar, .news, .trust, .marquee, .subnav, .trust-row, .mhead, .announce { display: none !important; }
            .slider { display: grid; width: 100%; border-radius: 18px; aspect-ratio: auto; min-height: 0; height: auto; margin-top: 14px; container-type: inline-size; }
            .slide { grid-area: 1 / 1; position: relative; inset: auto; width: 100%; height: auto; display: flex; flex-direction: column-reverse; }
            .hero-media { flex: none; width: 100%; height: auto; aspect-ratio: 3 / 4; }
            .slide img, .hero-media img { object-fit: cover; }
            .slide .cap { flex: 0 0 auto; padding: 14px 14px 28px; }
            .dots { top: calc(100cqw * 4 / 3 - 22px); bottom: auto; }
            .slide h1, .slide h2 { font-size: clamp(28px, 8vw, 40px); }
            main.wrap { padding-inline: 12px; width: 100%; max-width: none; }
            .deliver { display: none !important; }
            .m-top { display: grid; grid-template-columns: 44px 1fr auto; gap: 10px; align-items: center; padding: 10px 14px 0; }
            .icon-btn { width: 42px; height: 42px; border: 0; border-radius: 14px; background: #fff; box-shadow: 0 6px 16px rgba(15,23,42,.08); display: grid; place-items: center; color: #1e293b; position: relative; padding: 0; }
            .icon-btn svg { width: 20px; height: 20px; }
            .m-logo { justify-self: center; width: 74px; height: 52px; border-radius: 14px; border: 1.5px solid #d8e9b8; background: #fff; box-shadow: 0 6px 16px rgba(15,23,42,.06); display: grid; place-items: center; overflow: hidden; padding: 4px; }
            .m-logo img { width: 100%; height: 100%; object-fit: contain; }
            .m-actions { display: flex; gap: 8px; align-items: center; }
            .icon-btn .count { position: absolute; top: -4px; right: -4px; min-width: 18px; height: 18px; border-radius: 999px; background: var(--store-cart-badge, var(--kdf-secondary)); color: #fff; font-size: 10px; font-weight: 800; display: grid; place-items: center; }
            .bag-drop { display: none !important; }
            .m-search { margin: 10px 14px 0; position: relative; }
            .m-search input { width: 100%; height: 48px; border-radius: 999px; border: 1px solid #edf2e8; background: #fff; padding: 0 84px 0 44px; box-shadow: 0 6px 16px rgba(15,23,42,.05); font-size: 14px; }
            .m-search .s-ico, .m-search .s-tools { position: absolute; top: 50%; transform: translateY(-50%); color: var(--store-button, var(--kdf-primary)); display: flex; gap: 10px; }
            .m-search .s-ico { left: 16px; }
            .m-search .s-tools { right: 16px; color: #94a3b8; }
            .m-search svg { width: 18px; height: 18px; }
            .grid { grid-template-columns: 1fr 1fr; gap: 10px; }
            .bottom-nav {
                                grid-template-columns: repeat(5, minmax(0, 1fr));
                align-items: center;
                justify-items: center;
                position: fixed; left: 0; right: 0; bottom: 0; z-index: 35;
                min-height: 68px; height: auto;
                padding: 8px 4px calc(10px + env(safe-area-inset-bottom, 0px));
                background: color-mix(in srgb, var(--store-surface, #fff) 94%, transparent);
                border: 1px solid color-mix(in srgb, var(--store-primary) 10%, #e2e8f0);
                border-bottom: 0;
                border-radius: 22px 22px 0 0;
                box-shadow: 0 -10px 32px rgba(15, 23, 42, .12);
                backdrop-filter: blur(18px) saturate(1.2);
                -webkit-backdrop-filter: blur(18px) saturate(1.2);
                text-align: center;
            }
            .bottom-nav[data-nav-style="glass"] { background: rgba(255,255,255,.62); }
            .bottom-nav[data-nav-style="solid"] { background: var(--store-text, #0f172a); border-color: transparent; }
            .bottom-nav[data-nav-style="solid"] a, .bottom-nav[data-nav-style="solid"] .cart-label { color: #94a3b8; }
            .bottom-nav[data-nav-style="solid"] a.on { color: var(--store-active-nav, var(--kdf-primary)); }
            .bottom-nav[data-nav-style="gradient"] { background: linear-gradient(90deg, var(--store-primary), var(--store-secondary)); border-color: transparent; }
            .bottom-nav[data-nav-style="gradient"] a, .bottom-nav[data-nav-style="gradient"] .cart-label { color: rgba(255,255,255,.85); }
            .bottom-nav[data-nav-style="gradient"] a.on { color: #fff; }
            .bottom-nav[data-nav-style="minimal"] { background: transparent; border: 0; box-shadow: none; backdrop-filter: none; }
            .bottom-nav a, .bottom-nav button.nav-item {
                display: flex; flex-direction: column; align-items: center; justify-content: center;
                gap: 2px; width: 100%; max-width: 76px; min-width: 0;
                padding: 2px 0 0; margin: 0; border: 0; background: none;
                color: var(--store-muted, #64748b); font-size: 10.5px; font-weight: 750;
                letter-spacing: .01em; cursor: pointer; text-decoration: none;
                min-height: 52px; transition: color .18s ease, transform .18s ease;
                -webkit-appearance: none; appearance: none; font-family: inherit; line-height: 1.15;
            }
            .bottom-nav a.on { color: var(--store-active-nav, var(--kdf-primary)); }
            .bottom-nav[data-indicator="line"] a.on span.nav-label::after { content: ""; display: block; width: 14px; height: 2px; margin: 3px auto 0; border-radius: 99px; background: currentColor; }
            .bottom-nav[data-indicator="dot"] a.on span.nav-label::after { content: ""; display: block; width: 5px; height: 5px; margin: 3px auto 0; border-radius: 99px; background: currentColor; }
            .bottom-nav[data-indicator="pill"] a.on { background: color-mix(in srgb, var(--store-primary) 14%, transparent); border-radius: 12px; }
            .bottom-nav a.on .nav-ico { background: color-mix(in srgb, var(--store-primary) 14%, #fff); color: var(--store-active-nav, var(--kdf-primary)); }
            .bottom-nav .nav-ico { width: 40px; height: 34px; border-radius: 12px; display: grid; place-items: center; }
            .bottom-nav .nav-ico svg { width: 22px; height: 22px; stroke: currentColor; }
            .bottom-nav[data-icon-style="filled"] .nav-ico svg { fill: currentColor; stroke-width: 1.5; }
            .bottom-nav[data-icon-style="rounded"] .nav-ico { border-radius: 999px; background: color-mix(in srgb, var(--store-primary) 8%, #fff); }
            .bottom-nav[data-icon-style="duotone"] .nav-ico svg { stroke-width: 1.75; opacity: .95; }
            .bottom-nav .store-nav-cart {
                position: relative; justify-content: center; gap: 0;
                min-height: 58px; padding-top: 0; z-index: 2;
            }
            .bottom-nav[data-floating="1"] .store-nav-cart .cart-label {
                position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
                overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
            }
            .bottom-nav .hub,
            .bottom-nav .cart-icon-wrap {
                position: relative;
                width: var(--store-cart-size, 56px);
                height: var(--store-cart-size, 56px);
                margin: -22px auto 0;
                border-radius: 999px;
                display: grid;
                place-items: center;
                color: var(--store-cart-icon, #fff);
                background:
                    radial-gradient(120% 120% at 30% 20%, rgba(255,255,255,.28), transparent 55%),
                    linear-gradient(160deg, color-mix(in srgb, var(--store-cart-bg, var(--kdf-primary)) 88%, #fff), var(--store-cart-bg, var(--kdf-primary)));
                box-shadow:
                    0 12px 28px color-mix(in srgb, var(--store-primary) 38%, transparent),
                    0 2px 0 rgba(255,255,255,.25) inset;
                border: 3px solid var(--store-surface, #fff);
                transition: transform .2s ease, box-shadow .2s ease;
                flex-shrink: 0;
            }
            .bottom-nav[data-floating="0"] .hub,
            .bottom-nav[data-floating="0"] .cart-icon-wrap {
                margin-top: 0; width: 44px; height: 44px; border-width: 0;
            }
            .bottom-nav .hub:active,
            .bottom-nav .cart-icon-wrap:active { transform: scale(.95); }
            .bottom-nav .hub svg,
            .bottom-nav .cart-icon-wrap svg {
                width: 22px; height: 22px; display: block; margin: 0 auto;
                stroke: currentColor; stroke-linecap: round; stroke-linejoin: round;
            }
            .bottom-nav .hub .badge,
            .bottom-nav .hub .cart-badge,
            .bottom-nav .cart-icon-wrap .badge,
            .bottom-nav .cart-icon-wrap .cart-badge {
                position: absolute; top: -2px; right: -2px;
                min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px;
                background: var(--store-cart-badge, #ef4444); color: #fff;
                font-size: 10px; font-weight: 800; display: grid; place-items: center;
                border: 2px solid var(--store-surface, #fff);
                box-shadow: 0 4px 10px rgba(239, 68, 68, .35);
            }
            .bottom-nav .cart-label {
                display: block; width: 100%; text-align: center;
                color: var(--store-active-nav, var(--kdf-primary));
                font-weight: 800; font-size: 10.5px; line-height: 1.1;
                margin: 0; padding: 0;
            }
            .bottom-nav .nav-label {
                display: block; width: 100%; text-align: center;
                line-height: 1.1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
            }
            .bottom-nav a.nav-deals { color: var(--store-muted, #64748b); }
            .bottom-nav a.nav-deals .nav-label { color: #ea580c; font-weight: 800; }
            .bottom-nav a.nav-deals .nav-ico {
                background: color-mix(in srgb, #ea580c 12%, #fff);
                color: #ea580c;
            }

            /* ===== Bottom-nav next-level (2026-10-02): pure CSS, zero JS, GPU-only ===== */
            .bottom-nav {
                box-shadow: 0 -14px 38px rgba(15, 23, 42, .14), 0 1px 0 rgba(255, 255, 255, .55) inset;
            }
            .bottom-nav a .nav-ico {
                transition: transform .22s cubic-bezier(.34, 1.56, .64, 1), background-color .18s ease, color .18s ease, box-shadow .22s ease;
            }
            .bottom-nav a:active .nav-ico { transform: scale(.9); }
            .bottom-nav a.on .nav-ico {
                transform: translateY(-2px);
                box-shadow: 0 8px 16px color-mix(in srgb, var(--store-primary, #075b3a) 24%, transparent);
            }
            .bottom-nav .cart-icon-wrap {
                box-shadow:
                    0 14px 30px color-mix(in srgb, var(--store-primary, #075b3a) 42%, transparent),
                    0 0 0 5px color-mix(in srgb, var(--store-primary, #075b3a) 10%, transparent),
                    0 2px 0 rgba(255, 255, 255, .25) inset;
            }
            .bottom-nav .store-nav-cart:active .cart-icon-wrap { transform: scale(.93); }
            /* Deals attention pulse — gentle, tasteful, transform/opacity only */
            @keyframes kdfDealPulse {
                0%, 100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(234, 88, 12, .38); }
                50% { transform: scale(1.07); box-shadow: 0 0 0 8px rgba(234, 88, 12, 0); }
            }
            .bottom-nav a.nav-deals .nav-ico {
                position: relative;
                animation: kdfDealPulse 2.8s ease-in-out infinite;
            }
            @media (prefers-reduced-motion: reduce) {
                .bottom-nav a.nav-deals .nav-ico { animation: none; }
                .bottom-nav a .nav-ico { transition: none; }
            }
            /* Live deal-count badge — real count, hidden when zero */
            .bottom-nav .nav-deal-count {
                position: absolute; top: -5px; right: -7px;
                min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px;
                background: linear-gradient(135deg, #f43f5e, #e11d48);
                color: #fff; font-size: 10px; font-weight: 800; line-height: 1;
                display: grid; place-items: center;
                border: 2px solid var(--store-surface, #fff);
                box-shadow: 0 4px 10px rgba(225, 29, 72, .45);
                font-variant-numeric: tabular-nums;
                pointer-events: none;
            }

            .menu-sheet.open { display: block; }
            footer.site { background: var(--store-footer-bg, #07111f); border-radius: 28px 28px 0 0; padding-bottom: 96px; }
            .foot-grid { display: none; }
            .nav-drawer__ico { display: grid !important; width: 38px; height: 38px; border-radius: 12px; background: color-mix(in srgb, var(--store-button, #075B3A) 12%, #fff); color: var(--store-button, #075B3A); place-items: center; flex-shrink: 0; }
            .nav-drawer__ico svg { width: 18px; height: 18px; stroke: currentColor; }
            .nav-drawer__row .nd-left { display: flex !important; align-items: center; gap: 12px; }
            .foot-news { margin: 12px 0 18px; max-width: none; border-radius: 18px; }
            .foot-news form { grid-template-columns: 1fr; max-width: none; }
            .foot-news button { width: 100%; }
            .foot-perks { gap: 6px; }
            .visit-row { grid-template-columns: 1fr; max-width: none; }
            .shop-chips { display: flex; }
            .foot-acc, .mcta { display: grid; }
            .mcta { display: grid; }
                    }
    

    body.kdf-auth-portal {
        min-height: 100dvh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: rgba(17, 24, 20, .5);
        padding: calc(16px + env(safe-area-inset-top, 0px)) 14px calc(16px + env(safe-area-inset-bottom, 0px));
        overflow-x: hidden;
    }
    body.kdf-auth-portal .kdf-auth-modal {
        width: min(100%, 420px);
        max-height: calc(100dvh - 32px);
        margin: 0 auto;
        overflow: auto;
        background: #fff;
        border-radius: 24px;
        box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
        animation: kdf-auth-in .26s cubic-bezier(.22, .61, .36, 1);
    }
    @keyframes kdf-auth-in {
        from { opacity: 0; transform: translateY(12px) scale(.98); }
        to { opacity: 1; transform: none; }
    }
    @media (prefers-reduced-motion: reduce) {
        body.kdf-auth-portal .kdf-auth-modal { animation: none; }
    }
    body.kdf-auth-portal .kdf-auth-modal__head {
        position: sticky; top: 0; z-index: 2;
        display: flex; align-items: center; justify-content: center;
        min-height: 52px;
        padding: 12px 44px 0;
        background: #fff;
    }
    body.kdf-auth-portal .kdf-auth-modal__logo img {
        height: 32px; width: auto; max-width: 84px; object-fit: contain; display: block;
    }
    body.kdf-auth-portal .kdf-auth-modal__logo strong { color: #075B3A; font-size: 15px; }
    body.kdf-auth-portal .kdf-auth-modal__close {
        position: absolute; right: 10px; top: 10px;
        width: 32px; height: 32px; border-radius: 999px;
        display: grid; place-items: center;
        background: #f3f6f4; color: #334155; text-decoration: none;
    }
    body.kdf-auth-portal .kdf-auth-modal__close svg { width: 16px; height: 16px; }
    body.kdf-auth-portal main.wrap { width: 100%; margin: 0; padding: 0; }
    body.kdf-auth-portal .kdf-auth-page { max-width: none; margin: 0; padding: 0 6px; }
    body.kdf-auth-portal .kdf-auth-card {
        border: 0; box-shadow: none; border-radius: 0; background: transparent;
        padding: 6px 12px 4px;
    }
    body.kdf-auth-portal .kdf-auth-card h1 { font-size: 1.2rem; }
    body.kdf-auth-portal .kdf-auth-legal {
        display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 12px;
        padding: 4px 16px 16px;
    }
    body.kdf-auth-portal .kdf-auth-legal a { color: #7a867e; font-size: 11px; font-weight: 700; text-decoration: none; }
    body.kdf-auth-portal .bottom-nav,
    body.kdf-auth-portal .kpk-wa,
    body.kdf-auth-portal .hexa-ai-launcher,
    body.kdf-auth-portal .fab-top,
    body.kdf-auth-portal .nv-footer,
    body.kdf-auth-portal .kdf-acc-dock,
    body.kdf-auth-portal .nv-header { display: none !important; }


    body.kdf-account-app { background: #f4f7f2; padding-bottom: 0; }
    body.kdf-account-app .kdf-acc-top {
        position: sticky; top: 0; z-index: 40; display: grid;
        grid-template-columns: 40px minmax(0, 1fr) 36px 40px 40px;
        align-items: center; gap: 6px;
        min-height: 64px;
        padding: calc(8px + env(safe-area-inset-top, 0px)) 10px 8px;
        background: #fff;
        border-bottom: 1px solid #e6eee8;
    }
    body.kdf-account-app .kdf-acc-top__menu,
    body.kdf-account-app .kdf-acc-top__bell,
    body.kdf-account-app .kdf-acc-top__set {
        width: 40px; height: 40px; border: 1px solid #e6eee8; border-radius: 12px;
        background: #fff; color: #172116; display: grid; place-items: center; padding: 0; cursor: pointer;
        text-decoration: none; transition: background .18s ease, transform .18s ease;
    }
    body.kdf-account-app .kdf-acc-top__menu:active,
    body.kdf-account-app .kdf-acc-top__bell:active,
    body.kdf-account-app .kdf-acc-top__set:active { transform: scale(.96); background: #f3f8ef; }
    body.kdf-account-app .kdf-acc-top__menu svg,
    body.kdf-account-app .kdf-acc-top__bell svg,
    body.kdf-account-app .kdf-acc-top__set svg { width: 18px; height: 18px; }
    body.kdf-account-app .kdf-acc-top__brand {
        justify-self: center; display: flex; flex-direction: column; align-items: center; gap: 1px;
        min-width: 0; text-decoration: none; color: #075B3A;
    }
    body.kdf-account-app .kdf-acc-top__brand img { height: 26px; width: auto; max-width: 88px; object-fit: contain; }
    body.kdf-account-app .kdf-acc-top__brand strong { font-size: 13px; line-height: 1; }
    body.kdf-account-app .kdf-acc-top__brand span { font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #6b756d; }
    body.kdf-account-app .kdf-acc-top__avatar-link { display: grid; place-items: center; }
    body.kdf-account-app .kdf-acc-top__avatar {
        width: 34px; height: 34px; border-radius: 999px; object-fit: cover; background: #eef5ef; display: block;
    }
    body.kdf-account-app .kdf-acc-top__avatar--letter {
        display: grid; place-items: center; font-weight: 800; color: #075B3A; font-size: 14px;
    }
    body.kdf-account-app .kdf-acc-dot { display: none !important; }
    body.kdf-account-app .profile-aside-btn { display: none !important; }
    body.kdf-account-app .card.btn--primary .btn-light,
    body.kdf-account-app .card.btn--primary .btn-light span,
    body.kdf-account-app .card.btn--primary .text-primary {
        background: #fff !important; color: #075B3A !important; font-weight: 800;
    }
    body.kdf-account-app .text-info { color: #0f8a4b !important; }
    body.kdf-account-app .text-danger { color: #dc2626 !important; }
    body.kdf-account-app .__customer-profile .bg-light {
        background: #fff !important; border: 1px solid #e7eee8; border-radius: 16px !important;
    }
    body.kdf-account-app .ticket-welcome-btn {
        min-height: 40px; border-radius: 10px; font-weight: 800;
    }
    body.kdf-account-app .profile-aside-btn { display: none !important; }
    body.kdf-account-app .card.btn--primary .btn-light,
    body.kdf-account-app .card.btn--primary .btn-light span,
    body.kdf-account-app .card.btn--primary .text-primary {
        background: #fff !important; color: #075B3A !important; font-weight: 800;
    }
    body.kdf-account-app .text-info { color: #0f8a4b !important; }
    body.kdf-account-app .text-danger { color: #dc2626 !important; }
    body.kdf-account-app .__customer-profile .bg-light {
        background: #fff !important; border: 1px solid #e7eee8; border-radius: 16px !important;
    }
    body.kdf-account-app .ticket-welcome-btn {
        min-height: 40px; border-radius: 10px; font-weight: 800;
    }
    @media (min-width: 992px) {
        body.kdf-account-app .kdf-acc-top {
            grid-template-columns: minmax(0, 1fr) 40px 40px 40px;
            padding-left: 22px; padding-right: 22px;
        }
        body.kdf-account-app .kdf-acc-top__menu { display: none; }
        body.kdf-account-app .kdf-acc-top__brand { justify-self: start; flex-direction: row; gap: 10px; }
        body.kdf-account-app .kdf-acc-top__brand img { height: 34px; max-width: 120px; }
        body.kdf-account-app .kdf-acc-top__brand span { font-size: 13px; letter-spacing: .04em; }
    }
    body.kdf-account-app .bottom-nav,
    body.kdf-account-app .kpk-wa,
    body.kdf-account-app .hexa-ai-launcher,
    body.kdf-account-app .nv-header,
    body.kdf-account-app .nv-footer { display: none !important; }
    body.kdf-account-app .kdf-account-shell.is-switching .__customer-profile { opacity: .55; pointer-events: none; }
    @media (max-width: 991px) {
        body.kdf-account-app { padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px)); }
    }


    .kdf-account-shell { background: transparent; }
    .kdf-account-shell .user-profile-container { max-width: 1120px; }
    .kdf-account-shell .row {
        display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0;
        min-height: 0; padding: 0; margin-right: -12px; margin-left: -12px;
    }
    .kdf-account-shell [class*="col-"] { position: relative; width: 100%; padding-right: 12px; padding-left: 12px; }
    @media (min-width: 992px) {
        .kdf-account-shell .kdf-acc-side { flex: 0 0 280px; max-width: 280px; }
        .kdf-account-shell .__customer-profile { flex: 1 1 0; max-width: calc(100% - 280px); }
    }
    .kdf-acc-nav {
        position: sticky; top: 88px;
        background: #fff; border: 1px solid #e7eee8; border-radius: 20px;
        padding: 14px 10px 10px; box-shadow: 0 10px 28px rgba(15,23,42,.04);
    }
    .kdf-acc-nav__label {
        margin: 12px 10px 6px; font-size: 11px; letter-spacing: .12em;
        text-transform: uppercase; color: #7b8a80; font-weight: 800;
    }
    .kdf-acc-nav > a, .kdf-acc-auction a, .kdf-acc-sheet__body a {
        display: flex; align-items: center; gap: 12px;
        padding: 8px 10px; border-radius: 14px; color: #1a2208; text-decoration: none; min-height: 52px;
    }
    .kdf-acc-nav > a strong, .kdf-acc-auction a, .kdf-acc-sheet__body strong { display: block; font-size: 14px; font-weight: 700; line-height: 1.2; }
    .kdf-acc-nav > a small, .kdf-acc-sheet__body small { display: block; color: #7b8a80; font-size: 12px; font-weight: 600; margin-top: 1px; }
    .kdf-acc-nav > a.is-on, .kdf-acc-sheet__body a.is-on { background: #eff8ef; color: #075B3A; }
    .kdf-acc-copy { min-width: 0; flex: 1; }
    .kdf-acc-ico {
        width: 36px; height: 36px; border-radius: 12px; flex: 0 0 36px;
        display: grid; place-items: center; background: #f3f8ef; color: #075B3A;
    }
    .kdf-acc-nav > a.is-on .kdf-acc-ico, .kdf-acc-sheet__body a.is-on .kdf-acc-ico { background: #075B3A; color: #fff; }
    .kdf-ico {
        width: 18px; height: 18px; display: block;
        fill: none; stroke: currentColor; stroke-width: 1.75;
        stroke-linecap: round; stroke-linejoin: round;
    }
    .kdf-ico [fill="currentColor"] { fill: currentColor; stroke: none; }
    .kdf-acc-chev { flex: 0 0 16px; color: #94a3b8; display: grid; place-items: center; }
    .kdf-acc-chev .kdf-ico { width: 16px; height: 16px; }
    .kdf-dash__more, .kdf-acc-dot { display: grid; place-items: center; }
    .kdf-dash__more .kdf-ico, .kdf-acc-dot .kdf-ico { width: 18px; height: 18px; }
    .kdf-acc-auction { margin-top: 8px; padding-top: 4px; border-top: 1px solid #eef3e8; }
    .kdf-acc-auction a { padding: 8px 12px; font-size: 13px; }
    .kdf-dash { margin-bottom: 16px; }
    .kdf-dash__hero {
        background: linear-gradient(145deg, #043D28 0%, #075B3A 58%, #0a6b44 100%);
        color: #fff; border-radius: 22px; padding: 16px;
        box-shadow: 0 14px 30px rgba(4, 61, 40, .18);
    }
    .kdf-dash__top { display: flex; flex-direction: column; gap: 14px; }
    .kdf-dash__who { display: flex; gap: 12px; align-items: center; min-width: 0; }
    .kdf-dash__meta { min-width: 0; flex: 1; }
    .kdf-dash__avatar {
        width: 60px; height: 60px; border-radius: 50%; object-fit: cover;
        background: rgba(255,255,255,.18); flex: 0 0 60px; border: 2px solid rgba(255,255,255,.35);
    }
    .kdf-dash__avatar--letter { display: grid; place-items: center; font-weight: 800; font-size: 20px; color: #fff; }
    .kdf-dash__hello { margin: 0; font-size: 13px; color: rgba(255,255,255,.82); font-weight: 600; }
    .kdf-dash__hero h1 {
        margin: 3px 0 0; font-size: clamp(18px, 5vw, 24px); letter-spacing: -.03em; line-height: 1.15;
        color: #fff !important; font-weight: 800; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    }
    .kdf-dash__contact { margin: 4px 0 0; font-size: 13px; color: rgba(255,255,255,.78); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .kdf-dash__actions { display: flex; align-items: center; gap: 8px; }
    .kdf-dash__btn {
        display: inline-flex; align-items: center; justify-content: center; gap: 6px;
        min-height: 44px; padding: 0 14px; border-radius: 14px; background: #fff; color: #075B3A;
        font-weight: 800; font-size: 13px; flex: 1;
    }
    .kdf-dash__btn .kdf-ico { width: 16px; height: 16px; }
    .kdf-dash__btn--ghost { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.4); flex: 0 0 auto; }
    .kdf-dash__more, .kdf-acc-dot {
        width: 44px; height: 44px; min-width: 44px; border: 0; border-radius: 14px;
        background: rgba(255,255,255,.16); color: #fff; display: grid; place-items: center; flex: 0 0 44px;
    }
    .kdf-dash__more .kdf-ico, .kdf-acc-dot .kdf-ico { width: 18px; height: 18px; }
    .kdf-acc-dot {
        position: fixed; z-index: 44; left: 12px; bottom: calc(84px + env(safe-area-inset-bottom, 0px));
        background: #075B3A; box-shadow: 0 8px 18px rgba(7,91,58,.28);
    }
    body:has(.kdf-dash) .kdf-acc-dot { display: none !important; }
    .kdf-acc-sheet { position: fixed; inset: 0; z-index: 80; }
    .kdf-acc-sheet[hidden] { display: none !important; }
    .kdf-acc-sheet__back { position: absolute; inset: 0; border: 0; background: rgba(15,23,42,.45); }
    .kdf-acc-sheet__panel {
        position: absolute; left: 0; right: 0; bottom: 0; max-height: min(78vh, 640px);
        background: #fff; border-radius: 22px 22px 0 0; display: flex; flex-direction: column;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        animation: kdf-acc-up .22s ease;
    }
    @keyframes kdf-acc-up { from { transform: translateY(16px); opacity: .6; } to { transform: none; opacity: 1; } }
    .kdf-acc-sheet__grab { width: 42px; height: 4px; border-radius: 99px; background: #d7e0da; margin: 10px auto 0; }
    .kdf-acc-sheet__head { display: flex; align-items: center; justify-content: space-between; padding: 8px 16px 4px; }
    .kdf-acc-sheet__head button { width: 36px; height: 36px; border: 0; border-radius: 10px; background: #f3f8ef; color: #1a2208; font-size: 22px; }
    .kdf-acc-sheet__body { overflow: auto; padding: 4px 12px 16px; }
    .kdf-acc-sheet__body p { margin: 12px 6px 4px; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; color: #7b8a80; font-weight: 800; }
    .kdf-acc-sheet__body a:active { background: #f3f8ef; }
    .kdf-acc-sheet__body em { margin-left: auto; min-width: 22px; height: 22px; border-radius: 99px; background: #eff8ef; color: #075B3A; font-style: normal; font-size: 12px; font-weight: 800; display: grid; place-items: center; padding: 0 6px; }
    @media (min-width: 992px) {
        .kdf-acc-sheet, .kdf-acc-dot, .kdf-dash__more { display: none !important; }
        .kdf-dash__top { flex-direction: row; align-items: center; justify-content: space-between; }
        .kdf-dash__actions { flex: 0 0 auto; }
        .kdf-dash__btn { flex: 0 0 auto; }
    }
    .kdf-dash__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
    @media (min-width: 768px) { .kdf-dash__stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
    .kdf-stat {
        position: relative; display: block; background: #fff; border: 1px solid #e7eee8; border-radius: 18px;
        padding: 14px 14px 12px; color: #1a2208; box-shadow: 0 8px 20px rgba(15,23,42,.04); min-height: 118px;
        transition: transform .18s ease, box-shadow .18s ease;
    }
    .kdf-stat:active { transform: scale(.98); }
    .kdf-stat__ico {
        width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center;
        background: #eff8ef; color: #075B3A; margin-bottom: 8px;
    }
    .kdf-stat__ico .kdf-ico { width: 16px; height: 16px; }
    .kdf-stat__label { display: block; color: #64748b; font-size: 12px; font-weight: 700; }
    .kdf-stat strong { display: block; margin: 4px 0 2px; font-size: 20px; letter-spacing: -.03em; color: #075B3A; line-height: 1.15; }
    .kdf-stat small { display: block; color: #94a3b8; font-size: 11px; font-weight: 600; }
    .kdf-stat__go { position: absolute; right: 10px; bottom: 10px; color: #94a3b8; }
    .kdf-stat__go .kdf-ico { width: 14px; height: 14px; }
    .kdf-dash__orders { margin-top: 14px; background: #fff; border: 1px solid #e7eee8; border-radius: 20px; padding: 8px; }
    .kdf-dash__orders-head, .kdf-dash-order { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .kdf-dash__orders-head { padding: 8px 8px 4px; }
    .kdf-dash__orders-head h2 { margin: 0; font-size: 16px; }
    .kdf-dash__orders-head a { color: #075B3A; font-weight: 800; font-size: 13px; }
    .kdf-dash-order { padding: 10px 8px; border-radius: 14px; color: inherit; text-decoration: none; }
    .kdf-dash-order + .kdf-dash-order { border-top: 1px solid #f1f5f2; }
    .kdf-dash-order img, .kdf-dash-order__ph { width: 52px; height: 52px; border-radius: 12px; object-fit: cover; background: #f3f8ef; flex: 0 0 52px; }
    .kdf-dash-order__meta { flex: 1; min-width: 0; }
    .kdf-dash-order__meta strong, .kdf-dash-order__meta small, .kdf-dash-order__meta em { display: block; }
    .kdf-dash-order__meta small { color: #64748b; font-size: 12px; }
    .kdf-dash-order__meta em {
        display: inline-flex; margin-top: 4px; font-style: normal; font-size: 11px; font-weight: 800;
        color: #075B3A; background: #eff8ef; border-radius: 999px; padding: 2px 8px; width: fit-content;
        text-transform: capitalize;
    }
    .kdf-dash-order__meta em.is-canceled,
    .kdf-dash-order__meta em.is-failed { color: #b42318; background: #fef3f2; }
    .kdf-dash-order__meta em.is-pending { color: #b54708; background: #fffaeb; }
    .kdf-dash-order__sum { text-align: right; }
    .kdf-dash-order__sum b { display: block; color: #1a2208; }
    .kdf-dash-order__sum small { color: #075B3A; font-weight: 700; }
    .kdf-dash__empty { margin: 8px; padding: 18px 12px; text-align: center; color: #64748b; }
    .kdf-dash__empty strong { display: block; color: #1a2208; margin-bottom: 4px; }
    .kdf-dash__empty a {
        display: inline-flex; margin-top: 10px; min-height: 40px; align-items: center; padding: 0 14px;
        border-radius: 12px; background: #075B3A; color: #fff; font-weight: 800; font-size: 13px;
    }
    .kdf-account-shell .cus-shadow { border: 1px solid #e7eee8 !important; border-radius: 16px !important; background: #fff; }
    .kdf-order-open {
        display: inline-flex; margin-top: 8px; min-height: 34px; align-items: center;
        padding: 0 12px; border-radius: 999px; background: #075B3A; color: #fff !important;
        font-size: 13px; font-weight: 800;
    }
    .kdf-acc-dock {
        display: none; position: fixed; left: 8px; right: 8px; width: auto; max-width: calc(100vw - 16px);
        bottom: calc(8px + env(safe-area-inset-bottom, 0px));
        z-index: 45; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 4px; box-sizing: border-box;
        background: #fff; border: 1px solid #e7eee8; border-radius: 18px;
        box-shadow: 0 10px 30px rgba(15,23,42,.12); padding: 6px;
    }
    .kdf-acc-dock a { min-width: 0; overflow: hidden; text-align: center; padding: 8px 4px; border-radius: 12px; color: #64748b; font-size: 12px; font-weight: 800; white-space: nowrap; }
    .kdf-acc-dock a.is-on { background: #eff8ef; color: #075B3A; }
    @media (max-width: 991px) {
        .kdf-account-shell .kdf-acc-side,
        .kdf-account-shell .profile-aside-btn { display: none !important; }
        .kdf-account-shell .__customer-profile { flex: 0 0 100%; max-width: 100%; }
        body.kdf-account-page { padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px)); }
        body.kdf-account-page .bottom-nav { display: none !important; }
        body.kdf-account-page .kdf-acc-dock {
            display: grid; overflow: hidden;
            grid-template-columns: repeat(4, minmax(0, 1fr));
        }
        body.kdf-account-page .bottom-sticky_ele { display: none !important; }
        body.kdf-account-page .kpk-wa,
        body.kdf-account-page .kpk-ft__float-wa {
            width: 40px; height: 40px; right: 12px;
            bottom: calc(92px + env(safe-area-inset-bottom, 0px));
            z-index: 40;
        }
        body.kdf-account-page .kpk-wa__btn {
            width: 40px; height: 40px; min-height: 40px; padding: 0;
            border-radius: 50%; justify-content: center;
        }
        body.kdf-account-page     }

/* === GLOBAL icon safety net — ALL viewports incl. mobile (footer fix 2026-10-06) === */
i[data-lucide] { display: inline-block; width: 1em; height: 1em; vertical-align: -0.125em; flex-shrink: 0; }
svg.lucide { width: 1em !important; height: 1em !important; vertical-align: -0.125em; flex-shrink: 0; max-width: 24px !important; max-height: 24px !important; }
.nv-social-ico { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; flex-shrink: 0; overflow: hidden; }
.nv-social-ico svg { width: 20px !important; height: 20px !important; max-width: 20px !important; max-height: 20px !important; flex-shrink: 0; }
footer svg:not([width]):not(.lucide) { max-width: 48px !important; max-height: 48px !important; }
/* === NUCLEAR SVG safety net 2026-10-06: NO svg without width attr can exceed 64px === */
svg:not([width]) { max-width: 64px !important; max-height: 64px !important; }

/* === kdf-chrome-static.css === */
/* KDF header/footer/cart-drawer static CSS (extracted from partial inline <style>, 2026-10-03). */
/* --- from header.blade.php --- */

:root {
    --nv-green: var(--store-button, var(--store-primary, #075B3A));
    --nv-green-dark: var(--store-button-hover, var(--kdf-deep, #043D28));
    --nv-green-light: var(--store-surface, var(--kdf-bg-section, #EFF8EF));
    --nv-orange: var(--store-secondary, var(--kdf-secondary, #F58300));
    --nv-text: var(--store-text, var(--kdf-heading, #172116));
    --nv-muted: var(--store-muted, var(--kdf-muted, #6F7A70));
    --nv-border: var(--store-border, #E4E9E2);
    --nv-white: #FFFFFF;
}
.nv-container { width: min(100% - 80px, 1720px); margin-inline: auto; }
@media (min-width: 1920px) {
    .nv-container { width: min(100% - 96px, 1760px); }
    .nv-mega { width: min(100% - 96px, 1760px); }
}
@media (prefers-reduced-motion: reduce) {
    .nv-mega { transition: none; }
    .nv-ticker-track { animation: none; }
}
.nv-ticker { overflow: hidden; flex: 1; min-width: 0; }
.nv-ticker-track {
    display: flex; align-items: center; gap: 42px; width: max-content;
    animation: nv-ticker 36s linear infinite;
}
.nv-ticker:hover .nv-ticker-track { animation-play-state: paused; }
.nv-ticker .nv-top-item { gap: 10px; }
.nv-ticker .nv-top-item::before {
    content: ""; width: 5px; height: 5px; border-radius: 99px; background: currentColor; opacity: .75;
}
.nv-topbar-left.is-ticker { flex: 1; min-width: 0; flex-wrap: nowrap; }
.nv-m-promo.is-scroll { display: block; padding: 0 0 0 14px; }
.nv-m-promo.is-scroll .nv-ticker-track { padding: 9px 0; }
@keyframes nv-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
.nv-header {
    position: sticky; top: 0; z-index: 1000; background: var(--nv-white);
    overflow-anchor: none;
}
.nv-header.is-scrolled { box-shadow: 0 8px 30px rgba(0,0,0,.08); }
.nv-header.is-compact.is-scrolled { box-shadow: 0 6px 20px rgba(0,0,0,.07); }
.nv-header svg { width: 1em; height: 1em; stroke-width: 1.9; }

/* Desktop: collapse topbar + category nav on scroll (keep search bar) */
@media (min-width: 901px) {
    .nv-desktop .nv-topbar,
    .nv-desktop .nv-nav {
        overflow: hidden;
        transition:
            max-height .32s cubic-bezier(.22, .61, .36, 1),
            opacity .22s ease,
            border-color .22s ease;
        will-change: max-height, opacity;
    }
    .nv-desktop .nv-topbar { max-height: 48px; }
    .nv-desktop .nv-nav { max-height: 80px; }
    .nv-desktop .nv-nav.mega-open {
        max-height: none !important;
        overflow: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }
    .nv-header.is-compact .nv-desktop .nv-topbar {
        max-height: 0;
        opacity: 0;
        border-bottom-color: transparent;
        pointer-events: none;
    }
    .nv-header.is-compact .nv-desktop .nv-nav:not(.mega-open) {
        max-height: 0;
        opacity: 0;
        border-bottom-color: transparent;
        pointer-events: none;
    }
    .nv-main-inner {
        transition: min-height .32s cubic-bezier(.22, .61, .36, 1), padding .32s cubic-bezier(.22, .61, .36, 1);
    }
    .nv-logo img {
        transition: height .32s cubic-bezier(.22, .61, .36, 1), max-width .32s cubic-bezier(.22, .61, .36, 1);
    }
    .nv-logo .nv-tag {
        transition: opacity .2s ease, max-height .32s ease, margin .32s ease;
        max-height: 20px;
        overflow: hidden;
    }
    .nv-header.is-compact .nv-main-inner {
        min-height: 64px;
        padding-top: 6px;
        padding-bottom: 6px;
    }
    .nv-header.is-compact .nv-logo img {
        height: 44px;
        max-width: 140px;
    }
    .nv-header.is-compact .nv-logo .nv-tag {
        opacity: 0;
        max-height: 0;
        margin: 0;
    }
}
@media (min-width: 901px) and (prefers-reduced-motion: reduce) {
    .nv-desktop .nv-topbar,
    .nv-desktop .nv-nav,
    .nv-main-inner,
    .nv-logo img,
    .nv-logo .nv-tag {
        transition: none;
    }
}

.nv-topbar {
    background: var(--nv-green); color: #fff; font-size: 12.5px; font-weight: 600;
}
.nv-topbar-inner {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    min-height: 38px; padding: 6px 0;
}
.nv-topbar-left, .nv-topbar-right { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.nv-top-item, .nv-topbar-right a {
    display: inline-flex; align-items: center; gap: 7px; color: #fff; white-space: nowrap; opacity: .96;
}
.nv-top-item svg, .nv-topbar-right a svg { width: 15px; height: 15px; flex-shrink: 0; }
.nv-topbar-right a:hover { opacity: 1; text-decoration: underline; }

.nv-main { border-bottom: 1px solid var(--nv-border); background: #fff; }
.nv-main-inner {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto auto;
    align-items: center; gap: 18px; min-height: 88px; padding: 10px 0;
}
.nv-logo { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
.nv-logo img { height: 56px; width: 156px; max-width: 156px; display: block; object-fit: contain; object-position: left center; }
.nv-logo .nv-tag { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: var(--nv-muted); font-weight: 700; }
.nv-account { position: relative; }
.nv-account-menu {
    display: none; position: absolute; right: 0; top: calc(100% + 8px); z-index: 40;
    min-width: 196px; background: #fff; border: 1px solid var(--nv-border); border-radius: 14px;
    box-shadow: 0 16px 40px rgba(0,0,0,.1); padding: 6px;
}
.nv-account:hover .nv-account-menu, .nv-account:focus-within .nv-account-menu { display: block; }
.nv-account-menu a { display: block; padding: 9px 12px; border-radius: 10px; font-size: 13px; font-weight: 700; color: var(--nv-text); }
.nv-account-menu a:hover { background: var(--nv-green-light); color: var(--nv-green); }
.nv-nav-links a.active { color: var(--nv-green); position: relative; }
.nv-nav-links a.active::after {
    content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 2px;
    background: var(--nv-green); border-radius: 999px;
}

.nv-search-wrapper { position: relative; width: 100%; max-width: 720px; justify-self: center; }
.nv-search {
    display: flex; align-items: center; height: 58px; border-radius: 30px;
    background: #fff; border: 1px solid #DDE5DC; box-shadow: 0 3px 16px rgba(0,0,0,.05);
    padding: 4px 4px 4px 16px; gap: 8px; transition: border-color .2s, box-shadow .2s;
}
.nv-search:focus-within {
    border-color: var(--nv-green);
    box-shadow: 0 0 0 4px rgba(7,91,58,.08);
}
.nv-search-icon { color: var(--nv-muted); width: 20px; height: 20px; flex-shrink: 0; }
.nv-search input {
    flex: 1; min-width: 0; border: 0; outline: none; background: transparent;
    font-size: 15px; font-weight: 500; color: var(--nv-text); height: 100%;
}
.nv-search input::placeholder { color: #9aa39a; font-weight: 500; }
.nv-search-category {
    display: inline-flex; align-items: center; gap: 4px; border: 0; border-left: 1px solid var(--nv-border);
    background: transparent; padding: 0 8px; height: 36px; max-width: 150px; color: var(--nv-text); font-weight: 700; font-size: 13px; cursor: pointer; white-space: nowrap;
}
.nv-search-category svg { width: 16px; height: 16px; color: var(--nv-muted); }
.nv-search-submit {
    width: 48px; height: 48px; border: 0; border-radius: 50%; background: var(--nv-green); color: #fff;
    display: grid; place-items: center; cursor: pointer; flex-shrink: 0; transition: background .2s;
}
.nv-search-submit:hover { background: var(--nv-green-dark); }
.nv-search-submit svg { width: 22px; height: 22px; }
.nv-search-suggestions {
    display: none; position: absolute; left: 0; right: 0; top: calc(100% + 8px);
    background: #fff; border: 1px solid var(--nv-border); border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0,0,0,.12); z-index: 50; overflow: hidden; max-height: 360px; overflow-y: auto;
}
.nv-search-suggestions.open { display: block; animation: nvSugIn .18s ease; }
.nv-sug-item {
    display: flex; align-items: center; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #f3f5f2;
    color: var(--nv-text); font-weight: 600; font-size: 14px;
}
.nv-sug-item:hover, .nv-sug-item.on { background: var(--nv-green-light); }
.nv-sug-item img { width: 40px; height: 40px; object-fit: contain; border-radius: 10px; background: #f8faf8; }
.nv-sug-empty { padding: 16px; color: var(--nv-muted); font-size: 13px; }
.nv-sug-head {
    padding: 12px 14px 2px; font-size: 11px; font-weight: 800;
    letter-spacing: .08em; text-transform: uppercase; color: var(--nv-muted);
}
.nv-sug-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 10px 14px 14px; }
.nv-sug-chip {
    border: 1.5px solid var(--nv-border); background: #fbfdf8; color: var(--nv-text);
    font-size: 13px; font-weight: 700; border-radius: 999px; padding: 8px 14px;
    cursor: pointer; min-height: 44px; font-family: inherit;
}
.nv-sug-chip:active { background: var(--nv-green-light); border-color: var(--nv-green); }

.nv-location {
    display: flex; align-items: center; gap: 8px; min-height: 54px; padding: 8px 12px;
    border: 1px solid var(--nv-border); border-radius: 16px; background: #fff; cursor: pointer;
    color: var(--nv-text); font: inherit; transition: transform .2s, box-shadow .2s, border-color .2s;
}
.nv-location:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.07); border-color: #cfd8cc; }
.nv-location > svg:first-child { width: 20px; height: 20px; color: var(--nv-green); flex-shrink: 0; }
.nv-location span { display: flex; flex-direction: column; align-items: flex-start; line-height: 1.15; text-align: left; }
.nv-location small { font-size: 10px; color: var(--nv-muted); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.nv-location strong { font-size: 13px; font-weight: 800; }
.nv-location > svg:last-child { width: 16px; height: 16px; color: var(--nv-muted); }

.nv-header-actions { display: flex; align-items: center; gap: 8px; }
.nv-action {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    min-width: 64px; height: 54px; padding: 6px 10px; border: 1px solid var(--nv-border); border-radius: 16px;
    background: #fff; color: var(--nv-text); transition: transform .2s, box-shadow .2s, border-color .2s;
}
.nv-action:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(0,0,0,.07); }
.nv-icon-wrap { position: relative; display: grid; place-items: center; }
.nv-icon-wrap svg { width: 22px; height: 22px; }
.nv-action-label { font-size: 10px; font-weight: 700; color: var(--nv-muted); }
.nv-cart-total { font-size: 11px; font-weight: 800; color: var(--nv-text); line-height: 1; }
.nv-badge {
    position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px;
    display: flex; align-items: center; justify-content: center; border-radius: 999px;
    background: #F97316; color: #fff; font-size: 11px; font-weight: 800; line-height: 1;
    border: 2px solid #fff; box-shadow: 0 2px 6px rgba(249,115,22,.25);
}
.nv-badge:empty, .nv-badge.is-zero { display: none; }
.nv-badge.pop { animation: nv-pop .25s ease; }
@keyframes nv-pop { 0% { transform: scale(.7); } 70% { transform: scale(1.08); } 100% { transform: scale(1); } }
@media (prefers-reduced-motion: reduce) {
    .nv-badge.pop { animation: none; }
}
.nv-m-ico#nv-open-cart {
    width: 40px; height: 40px; border-radius: 12px; background: #fff;
    border: 1px solid #E2E8E3; box-shadow: 0 4px 12px rgba(15,23,42,.06);
    transition: background .2s, transform .2s, border-color .2s;
}
@media (hover: hover) {
    .nv-m-ico#nv-open-cart:hover {
        background: #f3f8ee; border-color: #cfe0b8; transform: translateY(-1px);
    }
}
.nv-m-ico#nv-open-cart:active,
body.cart-drawer-open .nv-m-ico#nv-open-cart {
    background: #f3f8ee; border-color: #cfe0b8; transform: translateY(-1px);
}
.nv-action#nv-desk-cart .nv-icon-wrap {
    width: 40px; height: 40px; border-radius: 12px; background: #fff;
}
body.cart-drawer-open .nv-action#nv-desk-cart {
    background: #f3f8ee; border-color: #cfe0b8;
}

.nv-nav {
    border-bottom: 1px solid var(--nv-border); background: #fff; position: relative;
}
.nv-nav.mega-open { max-height: none; z-index: 70; }
.nv-nav-inner { display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 10px 0 8px; }
.nv-all-products {
    display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px;
    border: 0; border-radius: 10px; background: var(--nv-green); color: #fff; font-weight: 800; font-size: 14px; cursor: pointer;
}
.nv-all-products svg { width: 18px; height: 18px; }
.nv-nav-links { display: flex; align-items: center; gap: 2px; flex: 1; min-width: 0; overflow-x: auto; }
.nv-nav-links a {
    display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; padding: 10px 11px;
    border-radius: 8px; font-size: 14px; font-weight: 700; color: var(--nv-text);
}
@media (hover: hover) {
    .nv-nav-links a:hover { color: var(--nv-green); background: var(--nv-green-light); }
}
.nv-nav-links a svg { width: 15px; height: 15px; }
.nv-nav-links .nv-deals { color: var(--nv-orange); }
.nv-nav-links .nv-hot {
    background: #ef4444; color: #fff; border-radius: 999px; padding: 1px 6px; font-size: 10px; font-weight: 800; margin-left: 2px;
}
.nv-nav-extra { display: flex; gap: 4px; margin-left: auto; flex-shrink: 0; }
.nv-nav-extra a { color: var(--nv-muted); font-weight: 700; font-size: 13px; padding: 8px 10px; }

.nv-mega {
    display: none;
    position: absolute; left: 50%; top: calc(100% + 10px); z-index: 2000;
    width: min(100% - 80px, 1720px);
    background: #fff; border: 1px solid #e5ebe7; border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 50, 35, .12);
    opacity: 0; transform: translate(-50%, -8px);
    transition: opacity .2s ease, transform .2s ease;
}
.nv-mega.open {
    display: block;
    opacity: 1; transform: translate(-50%, 0);
}
.nv-mega-inner {
    display: flex; flex-direction: column; gap: 0; min-height: 0;
    width: 100%; margin: 0 auto; max-height: min(70vh, 520px); overflow: auto;
}
.nv-mega-columns {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 24px;
    padding: 20px 8px 12px; flex: 1;
}
.nv-mega-col h4 { margin: 0 0 10px; font-size: 13px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.nv-mega-col h4 a { color: var(--nv-green); display: flex; align-items: center; gap: 8px; }
.nv-mega-thumb { width: 34px; height: 34px; border-radius: 10px; object-fit: cover; background: #eef5ef; flex-shrink: 0; }
.nv-mega-all { margin-top: 6px; font-weight: 800 !important; color: var(--nv-green) !important; }
.nv-mega-col a {
    display: block; padding: 5px 0; font-weight: 650; color: var(--nv-text); font-size: 13.5px;
}
.nv-mega-col a:hover { color: var(--nv-green); }
.nv-mega-col a small { color: var(--nv-muted); font-weight: 600; margin-left: 4px; }
.nv-mega-foot {
    border-top: 1px solid var(--nv-border); padding: 12px 8px; display: flex; justify-content: flex-end;
}
.nv-mega-foot a {
    color: var(--nv-green); font-weight: 750; font-size: 13px; display: inline-flex; align-items: center; gap: 4px;
}
.nv-mega-cats, .nv-mega-sub, .nv-mega-promo, .nv-mega-feat { display: none; }
@media (max-width: 900px) {
    .nv-mega-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.nv-feat-row span { font-size: 12px; color: var(--nv-muted); }

.nv-loc-sheet {
    display: none; position: fixed; inset: 0; background: rgba(2,6,23,.45); z-index: 1100;
}
.nv-loc-sheet.open { display: grid; place-items: center; padding: 16px; }
.nv-loc-panel {
    width: min(420px, 100%); background: #fff; border-radius: 18px; padding: 18px; box-shadow: 0 20px 50px rgba(0,0,0,.2);
}
.nv-loc-panel h3 { margin: 0 0 12px; font-size: 16px; }
.nv-loc-panel select {
    width: 100%; height: 46px; border-radius: 12px; border: 1px solid var(--nv-border); padding: 0 12px; font: inherit; margin-bottom: 12px;
}
.nv-loc-panel .row { display: flex; gap: 8px; }
.nv-loc-panel button {
    flex: 1; height: 44px; border-radius: 12px; border: 0; font-weight: 800; cursor: pointer;
}
.nv-loc-ok { background: var(--nv-green); color: #fff; }
.nv-loc-cancel { background: #f1f5f1; color: var(--nv-text); }

.nv-mobile { display: none; }
.nv-m-promo {
    background: var(--nv-green); color: #fff; text-align: center; font-size: 12px; font-weight: 700;
    padding: 8px 14px; display: flex; align-items: center; justify-content: center; gap: 8px;
    letter-spacing: .01em; line-height: 1.5;
    -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
}
.nv-m-promo svg { width: 14px; height: 14px; }

.nv-m-bar {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
    padding: 10px 12px 8px;
    background: #fff;
}
.nv-m-ico {
    width: 40px; height: 40px; border: 1px solid #e8efe3; border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .05);
    display: grid; place-items: center;
    color: #1f2a1c; position: relative; padding: 0; cursor: pointer;
    transition: transform .18s ease, border-color .18s ease;
}
.nv-m-ico:active { transform: scale(.96); }
.nv-m-ico svg { width: 19px; height: 19px; stroke-width: 1.9; }
.nv-m-actions { display: flex; gap: 7px; align-items: center; }

.nv-m-logo {
    justify-self: center;
    display: flex; align-items: center; justify-content: center;
    max-width: min(168px, 46vw);
    height: 52px;
    text-decoration: none;
    background: transparent;
    border: 0;
    box-shadow: none;
    padding: 0;
}
.nv-m-logo img {
    height: 52px; width: auto; max-width: 100%;
    object-fit: contain;
    display: block;
}

.nv-m-search-wrap {
    position: relative;
    padding: 0 12px 12px;
    background: #fff;
    margin: 0;
}
.nv-m-search {
    display: flex;
    align-items: center;
    height: 52px;
    border-radius: 16px;
    border: 1.5px solid #dce6d6;
    background: linear-gradient(180deg, #fbfdf8 0%, #fff 100%);
    padding: 4px 4px 4px 14px;
    gap: 8px;
    box-shadow: 0 8px 22px rgba(7, 91, 58, .07);
    transition: border-color .2s, box-shadow .2s;
}
.nv-m-search:focus-within {
    border-color: var(--nv-green);
    box-shadow: 0 0 0 4px rgba(7, 91, 58, .12), 0 10px 24px rgba(7, 91, 58, .08);
    background: #fff;
}
.nv-m-search .nv-m-search-ico {
    width: 20px; height: 20px; color: var(--nv-green); flex-shrink: 0;
}
.nv-m-search input {
    flex: 1; border: 0; outline: none; font-size: 15px; font-weight: 550;
    background: transparent; min-width: 0; color: var(--nv-text); height: 100%;
}
.nv-m-search input::placeholder { color: #8a9688; font-weight: 500; }
/* Rotating-placeholder fade: the swap is a gentle fade so it never reads as
   typed text. Class toggled by JS (nvPlaceholderRotate). */
.nv-m-search input::placeholder, .nv-search input::placeholder { transition: opacity .38s ease; }
.nv-m-search input.nv-ph-fade::placeholder, .nv-search input.nv-ph-fade::placeholder { opacity: 0; }
.nv-m-search button[type="submit"] {
    width: 44px; height: 44px; border: 0; border-radius: 12px;
    background: var(--nv-green); color: #fff;
    display: grid; place-items: center; flex-shrink: 0;
    box-shadow: 0 6px 14px rgba(7, 91, 58, .28);
}
.nv-m-search button[type="submit"]:active { transform: scale(.96); }
.nv-m-search button[type="submit"] svg { width: 20px; height: 20px; }
.nv-m-search-suggestions {
    display: none; position: absolute; left: 12px; right: 12px; top: calc(100% - 4px);
    background: #fff; border: 1px solid var(--nv-border); border-radius: 16px;
    box-shadow: 0 16px 40px rgba(0,0,0,.14); z-index: 60; overflow: hidden;
    max-height: min(52vh, 360px); overflow-y: auto;
}
.nv-m-search-suggestions.open { display: block; animation: nvSugIn .18s ease; }
@keyframes nvSugIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
/* Custom clear button replaces the native search cancel control */
.nv-m-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; appearance: none; display: none; }
.nv-m-search-clear {
    width: 32px; height: 32px; border: 0; border-radius: 50%;
    background: #eef2ec; color: #5c6b58; display: grid; place-items: center;
    flex-shrink: 0; cursor: pointer;
}
.nv-m-search-clear[hidden] { display: none; }
.nv-m-search-clear svg { width: 16px; height: 16px; }
@media (prefers-reduced-motion: reduce) { .nv-m-search-suggestions.open, .nv-search-suggestions.open { animation: none; } }

@media (max-width: 1199px) {
    .nv-topbar-left .nv-top-item:nth-child(n+3) { display: none; }
    .nv-main-inner { grid-template-columns: auto 1fr auto; gap: 12px; }
    .nv-location { display: none; }
    .nv-nav-extra { display: none; }
    .nv-mega-inner { grid-template-columns: 200px 1fr 220px; }
    .nv-mega-promo { display: none; }
}
@media (max-width: 900px) {
    .nv-desktop { display: none !important; }
    .nv-mobile { display: block; }
    .nv-header {
        background: transparent;
        padding-top: env(safe-area-inset-top, 0px);
        box-shadow: none;
        overflow: hidden;
    }
    /* Mobile search fix: while the suggestion dropdown is open, let it overflow
       the header instead of being clipped. The announcement ticker keeps its own
       overflow:hidden, so it is unaffected. */
    .nv-header.nv-search-open { overflow: visible; }
    .nv-header.is-scrolled { box-shadow: none; }
    .nv-header::before {
        content: "";
        position: absolute;
        top: 0; left: 0; right: 0;
        height: env(safe-area-inset-top, 0px);
        background: var(--nv-green);
        pointer-events: none;
    }
    .nv-header.is-compact { pointer-events: none; }
    .nv-header.is-compact::before { background: #fff; }
    .nv-m-shift {
        transform: translate3d(0, 0, 0);
        transition:
            transform 280ms cubic-bezier(.22, .61, .36, 1),
            margin-bottom 280ms cubic-bezier(.22, .61, .36, 1);
        will-change: transform, margin-bottom;
    }
    .nv-header.is-compact .nv-m-shift {
        transform: translate3d(0, calc(-1 * var(--nv-m-hide, 0px)), 0);
        margin-bottom: calc(-1 * var(--nv-m-hide, 0px));
    }
    .nv-header.is-compact .nv-m-search-wrap {
        pointer-events: auto;
        position: relative;
        z-index: 2;
        box-shadow: 0 10px 22px rgba(15, 23, 42, .06);
        background: #fff;
        /* Breathing room: in compact mode the logo row is translated away, so give
           the search bar offset from the top edge (header safe-area padding still applies). */
        padding-top: 8px;
    }
    /* PDP: on product detail pages the header (incl. the search bar) scrolls
       naturally with the page — it must never sit stuck/floating over the product.
       Homepage and listing pages keep the sticky discovery header. */
    body.nv-page-pdp .nv-header { position: static; }
    body.nv-page-pdp .nv-header.is-compact .nv-m-shift { transform: none; margin-bottom: 0; }
    body.nv-page-pdp .nv-header.is-compact { pointer-events: auto; }
}
@media (max-width: 900px) and (prefers-reduced-motion: reduce) {
    .nv-m-shift { transition: none; }
}
@media (min-width: 901px) {
    .nv-mobile { display: none !important; }
}

/* --- from footer.blade.php --- */

.nv-footer {
    --nv-green: var(--store-button, var(--store-primary, #075B3A));
    --nv-green-dark: var(--store-button-hover, #043D28);
    --nv-green-light: #EFF8EF;
    --nv-cream: #FDF8F4;
    --nv-footer-bg: #032F23;
    --nv-footer-bg-dark: #021F18;
    --nv-footer-card: #073C2D;
    --nv-footer-border: rgba(255,255,255,.12);
    --nv-footer-text: #FFFFFF;
    --nv-footer-muted: #B8C9C0;
    --nv-accent: #8AC926;
    --nv-orange: #FF7A00;
    --nv-radius-md: 16px;
    --nv-radius-lg: 24px;
    margin-top: 40px;
    color: var(--nv-footer-text);
    font-family: "Segoe UI", system-ui, sans-serif;
}
.nv-footer svg { width: 1em; height: 1em; stroke-width: 1.9; }
.nv-ft-container { width: min(calc(100% - 32px), 1760px); margin-inline: auto; }

/* Newsletter */
.nv-ft-news-wrap { padding: 0 0 8px; margin-top: -8px; position: relative; z-index: 2; }
.nv-ft-news {
    background: var(--nv-cream); color: #172116; border-radius: var(--nv-radius-lg);
    padding: 28px 32px; box-shadow: 0 16px 40px rgba(3,47,35,.12);
    display: grid; grid-template-columns: 1.1fr 1fr; gap: 24px; align-items: center;
    border: 1px solid #E8EFE6;
}
.nv-ft-news .eyebrow { color: var(--nv-green); font-size: 11px; font-weight: 800; letter-spacing: .14em; margin: 0 0 6px; }
.nv-ft-news h2 { margin: 0 0 8px; font-size: clamp(22px, 2.4vw, 30px); letter-spacing: -.02em; color: #0f1f16; }
.nv-ft-news p { margin: 0; color: #6F7A70; font-size: 14px; line-height: 1.5; max-width: 40ch; }
.nv-newsletter-form { display: flex; gap: 10px; align-items: stretch; }
.nv-newsletter-input {
    flex: 1; display: flex; align-items: center; gap: 10px; background: #fff;
    border: 1px solid #DDE5DC; border-radius: 999px; padding: 4px 4px 4px 16px; min-height: 52px;
}
.nv-newsletter-input svg { width: 18px; height: 18px; color: #6F7A70; flex-shrink: 0; }
.nv-newsletter-input input {
    flex: 1; border: 0; outline: none; background: transparent; font-size: 15px; min-width: 0; color: #172116;
}
.nv-newsletter-form button {
    display: inline-flex; align-items: center; gap: 8px; border: 0; border-radius: 999px;
    background: var(--nv-green); color: #fff; font-weight: 800; padding: 0 22px; cursor: pointer;
    white-space: nowrap; transition: background .18s ease;
}
.nv-newsletter-form button:hover { background: var(--nv-green-dark); }
.nv-newsletter-form button:disabled { opacity: .7; cursor: wait; }
.nv-newsletter-form button svg { width: 16px; height: 16px; }
.nv-ft-privacy { display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 12px; color: #6F7A70; }
.nv-ft-privacy a { color: var(--nv-green); font-weight: 700; text-decoration: underline; }
.nv-ft-privacy svg { width: 14px; height: 14px; }

/* Trust strip */
.nv-ft-trust {
    background: var(--nv-green-light); color: #172116; border-radius: var(--nv-radius-md);
    margin: 18px auto 0; padding: 18px 20px;
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px;
}
.nv-ft-trust-item { display: flex; align-items: center; gap: 12px; }
.nv-ft-trust-ico {
    width: 44px; height: 44px; border-radius: 12px; background: #fff; color: var(--nv-green);
    display: grid; place-items: center; flex-shrink: 0; border: 1px solid #d8e8d4;
}
.nv-ft-trust-ico svg { width: 22px; height: 22px; }
.nv-ft-trust strong { display: block; font-size: 13px; color: #0f1f16; }
.nv-ft-trust span { font-size: 12px; color: #6F7A70; }

/* Main */
.nv-ft-main {
    background: linear-gradient(180deg, #052e21 0%, var(--nv-footer-bg) 40%, var(--nv-footer-bg-dark) 100%);
    margin-top: 22px; padding: 40px 0 28px; border-radius: 28px 28px 0 0;
}
.nv-ft-grid {
    display: grid;
    grid-template-columns: minmax(200px, 1.2fr) minmax(150px, .85fr) 280px minmax(160px, .9fr) minmax(190px, 1.05fr);
    gap: 28px 22px;
    align-items: start;
}
.nv-ft-brand img {
    height: 48px; width: auto; object-fit: contain; background: #fff; border-radius: 10px; padding: 4px 8px;
}
.nv-ft-brand p { margin: 12px 0 16px; color: var(--nv-footer-muted); font-size: 13px; line-height: 1.55; max-width: 34ch; }
.nv-ft-follow { margin: 0 0 8px !important; color: #fff !important; font-size: 11px !important; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.nv-ft-social { display: flex; flex-wrap: wrap; gap: 8px; max-width: 100%; }
.nv-ft-social a.nv-social-ico,
.nv-social-ico {
    width: 34px; height: 34px; border-radius: 999px; border: 1px solid var(--nv-footer-border);
    display: grid; place-items: center; color: #fff; background: transparent;
    transition: transform .18s ease, background .18s ease, border-color .18s, outline .18s;
    flex-shrink: 0;
}
.nv-ft-social a.nv-social-ico:hover,
.nv-ft-social a.nv-social-ico:focus-visible,
.nv-social-ico:hover,
.nv-social-ico:focus-visible {
    transform: translateY(-2px); background: rgba(138,201,38,.15); border-color: var(--nv-accent);
    outline: 2px solid var(--nv-accent); outline-offset: 2px;
}
.nv-ft-social a.nv-social-ico svg,
.nv-social-ico svg { width: 15px; height: 15px; display: block; }

.nv-ft-col h3 {
    margin: 0 0 14px; font-size: 11px; letter-spacing: .16em; color: #fff; font-weight: 800;
}
.nv-ft-link {
    display: flex; align-items: center; justify-content: space-between; gap: 8px;
    padding: 6px 0; color: var(--nv-footer-muted); font-size: 13.5px; font-weight: 600;
    transition: color .18s ease;
}
.nv-ft-link svg { width: 14px; height: 14px; opacity: 0; transform: translateX(-4px); transition: .18s ease; }
.nv-ft-link:hover { color: #fff; }
.nv-ft-link:hover svg { opacity: 1; transform: translateX(0); }

.nv-ft-contact-row {
    display: flex; gap: 10px; align-items: flex-start; margin-bottom: 12px; color: var(--nv-footer-muted); font-size: 13px; line-height: 1.45;
}
.nv-ft-contact-row svg { width: 16px; height: 16px; color: var(--nv-accent); margin-top: 2px; flex-shrink: 0; }
.nv-ft-contact-row a { color: #fff; font-weight: 700; }
.nv-ft-contact-row small { display: block; color: var(--nv-footer-muted); font-size: 11px; margin-top: 2px; }
.nv-ft-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.nv-ft-btn {
    display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 8px 12px;
    font-size: 12px; font-weight: 800; border: 1px solid var(--nv-footer-border); color: #fff;
}
.nv-ft-btn.solid { background: var(--nv-accent); color: #032F23; border-color: transparent; }
.nv-ft-btn:hover { border-color: var(--nv-accent); }

.nv-ft-app h3 { margin-bottom: 8px; }
.nv-ft-app p { margin: 0 0 12px; color: var(--nv-footer-muted); font-size: 13px; }
.nv-ft-stores { display: flex; flex-direction: column; gap: 8px; }
.nv-ft-store {
    display: inline-flex; align-items: center; gap: 10px; background: #000; border-radius: 10px;
    padding: 8px 12px; color: #fff; border: 1px solid rgba(255,255,255,.2); max-width: 180px;
}
.nv-ft-store svg { width: 22px; height: 22px; }
.nv-ft-store small { display: block; font-size: 9px; opacity: .8; letter-spacing: .04em; text-transform: uppercase; }
.nv-ft-store strong { font-size: 13px; }
.nv-ft-qr { margin-top: 12px; text-align: center; max-width: 110px; }
.nv-ft-qr img, .nv-ft-qr canvas { width: 88px; height: 88px; background: #fff; border-radius: 10px; padding: 4px; }
.nv-ft-qr span { display: block; margin-top: 6px; font-size: 11px; color: var(--nv-footer-muted); }

/* Payments + trust */
.nv-ft-pay {
    margin: 0 0 28px; padding: 0;
    display: block;
}
.nv-ft-pay-title { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--nv-footer-muted); margin-bottom: 8px; }
.nv-ft-pay-logos { display: flex; flex-wrap: wrap; gap: 8px; }
.nv-ft-pay-chip {
    background: rgba(255,255,255,.06); border: 1px solid var(--nv-footer-border); border-radius: 10px;
    padding: 8px 12px; font-size: 12px; font-weight: 800; color: #fff; display: inline-flex; align-items: center; gap: 6px;
}
.nv-ft-pay-chip svg { width: 16px; height: 16px; color: var(--nv-accent); }
.nv-ft-accept { width: 100%; margin-bottom: 16px; }
.nv-ft-accept__bar {
    display: flex; align-items: center; gap: 14px; flex-wrap: nowrap;
    padding: 12px 16px 12px 20px; border-radius: 22px;
    background: radial-gradient(140% 220% at 50% 0%, #16305c 0%, #0a1428 48%, #060b16 100%);
    border: 1.5px solid rgba(96, 168, 255, .78);
    box-shadow: 0 0 0 1px rgba(18, 52, 120, .55), 0 0 26px rgba(48, 128, 255, .32), inset 0 0 22px rgba(46, 120, 255, .14);
}
.nv-ft-accept__label {
    flex: 0 0 auto; font-size: 16px; font-weight: 900; letter-spacing: .14em;
    color: #fff; white-space: nowrap;
}
.nv-ft-accept__label span { color: #F5C518; }
.nv-ft-accept__methods { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 280px; min-width: 0; align-items: center; }
.nv-ft-accept__chip {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px;
    padding: 5px 14px; border-radius: 16px; color: #fff; flex: 0 0 auto;
    background: linear-gradient(180deg, #121c36 0%, #0a1224 100%);
    border: 1.5px solid rgba(96, 168, 255, .62);
    box-shadow: 0 0 12px rgba(48, 128, 255, .2), inset 0 1px 0 rgba(255,255,255,.07);
    font-size: 14px; font-weight: 800; letter-spacing: .01em; line-height: 1;
}
.nv-ft-accept__mark { width: 28px; height: 28px; display: grid; place-items: center; flex: 0 0 28px; }
.nv-footer .nv-ft-accept__mark svg { width: 28px; height: 28px; display: block; }
.nv-ft-accept__chip--logo { padding: 4px 12px; }
.nv-footer .nv-ft-accept__chip--visa svg { width: 68px; height: 24px; display: block; }
.nv-footer .nv-ft-accept__chip--mc svg { width: 52px; height: 30px; display: block; }
.nv-footer .nv-ft-accept__chip--jazz svg { width: 42px; height: 42px; display: block; }
@media (max-width: 1280px) {
    .nv-ft-accept__bar { flex-wrap: wrap; padding: 12px; }
    .nv-ft-accept__methods { flex-basis: 100%; }
    .nv-ft-badges { margin-left: 0; flex-basis: 100%; justify-content: flex-start; }
}
@media (max-width: 700px) {
    .nv-ft-accept__methods { display: grid; grid-template-columns: 1fr 1fr; }
    .nv-ft-accept__chip { justify-content: flex-start; min-width: 0; }
    .nv-ft-accept__chip--logo { justify-content: center; }
}
.nv-ft-badges {
    display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end;
    margin-left: auto; flex: 0 1 460px;
}
.nv-ft-badge {
    display: inline-flex; align-items: center; gap: 7px; background: var(--nv-footer-card);
    border: 1px solid var(--nv-footer-border); border-radius: 999px; padding: 7px 12px;
    font-size: 11px; font-weight: 700; color: #e8f5e9;
}
.nv-ft-badge svg { width: 14px; height: 14px; color: var(--nv-accent); }

/* Bottom */
.nv-ft-posts {
    margin-top: 26px; padding-top: 18px;
    border-top: 1px solid var(--nv-footer-border);
}
.nv-ft-posts__head {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    margin-bottom: 12px;
}
.nv-ft-posts__head h3 {
    margin: 0; font-size: 11px; letter-spacing: .16em; color: #fff; font-weight: 800;
}
.nv-ft-posts__all { color: #e4c36a; font-size: 12px; font-weight: 800; text-decoration: none; }
.nv-ft-posts__all:hover { color: #fff; }
.nv-ft-posts__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nv-ft-post {
    display: flex; flex-direction: column; gap: 6px; min-height: 88px;
    padding: 12px 14px; border-radius: 14px; text-decoration: none;
    color: #fff; background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
}
.nv-ft-post strong { font-size: 13px; font-weight: 750; line-height: 1.35; }
.nv-ft-post span { color: var(--nv-footer-muted); font-size: 11px; font-weight: 650; }
.nv-ft-post:hover { border-color: rgba(138,201,38,.7); }
@media (max-width: 900px) {
    .nv-ft-posts__row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
    .nv-ft-posts__row { grid-template-columns: 1fr; }
}
.nv-ft-bottom {
    background: var(--nv-footer-bg-dark); border-top: 1px solid var(--nv-footer-border);
    padding: 22px 0 18px;
}
.nv-ft-bottom-inner {
    display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; justify-content: space-between;
    color: var(--nv-footer-muted); font-size: 12px;
    padding-right: 76px;
}
.nv-ft-seo { display: flex; flex-wrap: wrap; gap: 6px; }
.nv-ft-seo a {
    border: 1px solid var(--nv-footer-border); border-radius: 999px; padding: 5px 10px;
    color: var(--nv-footer-muted); font-weight: 700; font-size: 11px;
}
.nv-ft-seo a:hover, .nv-ft-seo a.on { border-color: var(--nv-accent); color: #fff; background: rgba(138,201,38,.12); }
.nv-ft-legal { display: flex; flex-wrap: wrap; gap: 10px; }
.nv-ft-legal a { color: var(--nv-footer-muted); }
.nv-ft-legal a:hover { color: #fff; }
.nv-ft-col--cta { min-width: 0; }
.nv-ft-grid .nv-ft-launch { width: 100%; margin: 0; }
.nv-ft-launch {
    display: flex; flex-direction: column; align-items: stretch; gap: 8px;
    width: 100%; margin: 0; padding: 14px;
    text-align: center; box-sizing: border-box;
    border-radius: 20px; background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
}
.nv-ft-launch__kpk,
.nv-ft-launch__cta,
.nv-ft-launch__name {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    text-decoration: none; max-width: 100%; box-sizing: border-box; cursor: pointer;
    -webkit-tap-highlight-color: transparent; touch-action: manipulation;
    transition: background .18s ease, border-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}
.nv-ft-launch__kpk:focus-visible,
.nv-ft-launch__cta:focus-visible,
.nv-ft-launch__name:focus-visible,
.nv-ft-launch__brand p a:focus-visible { outline: 1px solid rgba(228,195,106,.8); outline-offset: 3px; }
.nv-ft-launch__kpk {
    width: 100%; min-height: 40px; padding: 0 16px; border-radius: 999px; white-space: nowrap;
    color: #f5c518; font-size: 12px; font-weight: 800; letter-spacing: .08em;
    background: transparent;
    border: 1px solid rgba(245, 197, 24, .45);
}
.nv-ft-launch__kpk:hover { border-color: rgba(245, 197, 24, .8); color: #ffe58a; }
.nv-ft-launch__cta {
    width: 100%; min-height: 46px; padding: 0 18px; border-radius: 999px;
    background: #0f8a4b; color: #fff; font-size: 15px; font-weight: 800; white-space: nowrap;
    box-shadow: 0 8px 18px rgba(8, 90, 48, .28);
}
.nv-ft-launch__cta:hover { background: #0c7a42; color: #fff; box-shadow: 0 10px 20px rgba(8, 90, 48, .34); }
.nv-ft-launch__cta:active,
.nv-ft-launch__kpk:active,
.nv-ft-launch__name:active { transform: scale(.98); }
.nv-ft-launch__kpk:hover svg,
.nv-ft-launch__cta:hover svg,
.nv-ft-launch__name:hover svg { transform: translateX(3px); }
.nv-footer .nv-ft-launch svg { width: 16px; height: 16px; display: block; flex: 0 0 16px; transition: transform .18s ease; }
.nv-ft-launch__brand { display: flex; flex-direction: column; align-items: stretch; gap: 8px; width: 100%; }
.nv-ft-launch__name {
    width: 100%; min-height: 40px; padding: 0 16px; border-radius: 999px; white-space: nowrap;
    color: #e8f5e9; font-size: 14px; font-weight: 800;
    border: 1px solid rgba(255,255,255,.22);
}
.nv-ft-launch__name:hover { color: #fff; border-color: rgba(255,255,255,.45); }
.nv-ft-launch__brand p {
    margin: 2px 0 0; padding-top: 8px;
    border-top: 1px solid rgba(255,255,255,.08);
    color: rgba(255,255,255,.5); font-size: 11px; font-weight: 650; line-height: 1.4;
}
.nv-ft-launch__brand p a {
    color: #e4c36a; text-decoration: none; font-weight: 800;
}
.nv-ft-launch__brand p a:hover { color: #f4de9a; }
@media (prefers-reduced-motion: reduce) {
    .nv-ft-launch__kpk, .nv-ft-launch__cta, .nv-ft-launch__name, .nv-footer .nv-ft-launch svg { transition: none; }
}

/* Accordion mobile */
.nv-ft-acc-btn {
    display: none; width: 100%; border: 0; background: transparent; color: #fff;
    font-weight: 800; font-size: 12px; letter-spacing: .14em; text-align: left;
    padding: 12px 0; border-bottom: 1px solid var(--nv-footer-border); cursor: pointer;
    align-items: center; justify-content: space-between;
}
.nv-ft-acc-btn svg { width: 18px; height: 18px; transition: transform .2s; }
.nv-ft-acc-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
.nv-ft-acc-panel { display: block; }

/* Toast */
.nv-toast {
    position: fixed; bottom: 24px; right: 24px; z-index: 1200; display: none;
    background: #0f172a; color: #fff; border-radius: 12px; padding: 12px 16px;
    font-weight: 700; font-size: 13px; box-shadow: 0 12px 30px rgba(0,0,0,.25); max-width: min(360px, calc(100vw - 32px));
}
.nv-toast.show { display: block; }
.nv-toast.ok { background: var(--nv-green); }
.nv-toast.err { background: #b42318; }

@media (max-width: 1199px) {
    .nv-ft-grid { grid-template-columns: 1fr 1fr; }
    .nv-ft-col--cta { grid-column: 1 / -1; }
    .nv-ft-grid .nv-ft-launch { width: min(100%, 320px); margin-inline: auto; }
    .nv-ft-news { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .nv-ft-trust { grid-template-columns: 1fr 1fr; }
    .nv-ft-grid { grid-template-columns: 1fr; gap: 8px; }
    .nv-ft-brand { margin-bottom: 12px; }
    .nv-ft-acc-btn { display: flex; }
    .nv-ft-acc-panel { display: none; padding-bottom: 8px; }
    .nv-ft-acc-panel.is-open { display: block; }
    .nv-ft-col h3.desk-only { display: none; }
    .nv-newsletter-form { flex-direction: column; }
    .nv-newsletter-form button { height: 48px; justify-content: center; }
    .nv-ft-main { border-radius: 24px 24px 0 0; padding-bottom: 88px; }
    .nv-toast { left: 16px; right: 16px; bottom: 16px; }
    .nv-ft-qr { display: none; }
}
@media (max-width: 480px) {
    .nv-ft-trust { grid-template-columns: 1fr; }
}

/* --- from cart-drawer.blade.php --- */

    :root {
        --cart-overlay-z: 1100;
        --cart-drawer-z: 1110;
        --master-checkout: var(--store-checkout, var(--kdf-checkout, var(--store-primary, #0B6B45)));
        --master-accent: var(--store-button, var(--store-primary, var(--kdf-primary, #075B3A)));
        --master-success: var(--store-success, var(--kdf-checkout, #0B6B45));
        --master-accent-soft: color-mix(in srgb, var(--master-accent) 14%, #fff);
        --master-secondary: var(--store-secondary, var(--kdf-secondary, #F58300));
    }
    .cart-drawer {
        position: fixed; inset: 0; z-index: var(--cart-overlay-z);
        display: block; pointer-events: none;
        opacity: 0; visibility: hidden;
        background: rgba(10, 20, 15, .48);
        transition: opacity .3s ease, visibility .3s;
        overflow: hidden;
    }
    .cart-drawer.is-open {
        pointer-events: auto;
        opacity: 1; visibility: visible;
    }
    .cart-drawer .cart-panel {
        position: fixed; top: 0; right: 0; bottom: 0;
        width: min(480px, 96%); max-width: 480px;
        background: #fff; z-index: var(--cart-drawer-z);
        display: flex; flex-direction: column;
        transform: translate3d(100%, 0, 0);
        transition: transform .32s cubic-bezier(.2,.8,.2,1);
        box-shadow: -20px 0 60px rgba(0,0,0,.14);
        will-change: transform;
    }
    .cart-drawer.is-open .cart-panel { transform: translate3d(0, 0, 0); }
    body.cart-drawer-open { overflow: hidden; }
    .cart-drawer-header {
        flex-shrink: 0; display: flex; align-items: center; justify-content: space-between; gap: 12px;
        padding: 18px 20px; border-bottom: 1px solid #E5E9E5; background: #fff;
        box-shadow: 0 1px 0 rgba(15,23,42,.04);
    }
    .cart-drawer-header__left { display: flex; align-items: center; gap: 12px; min-width: 0; }
    .cart-drawer-header__icon {
        width: 42px; height: 42px; border-radius: 14px;
        background: var(--master-accent-soft); color: var(--master-success);
        display: grid; place-items: center; flex-shrink: 0;
    }
    .cart-drawer-header__icon svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.9; }
    .cart-drawer-header h2 { margin: 0; font-size: 20px; font-weight: 800; color: #0f172a; line-height: 1.2; }
    .cart-drawer-header .cart-count-label { margin: 2px 0 0; font-size: 13px; color: #64748b; font-weight: 600; }
    .cart-drawer-close {
        width: 44px; height: 44px; border: 0; border-radius: 12px; background: #f8fafc; color: #0f172a;
        display: grid; place-items: center; cursor: pointer; flex-shrink: 0;
        transition: background .2s, transform .2s;
    }
    .cart-drawer-close:hover { background: #eef3e8; transform: translateY(-1px); }
    .cart-drawer-close svg { width: 20px; height: 20px; stroke: currentColor; fill: none; stroke-width: 1.9; }
    .cart-delivery { flex-shrink: 0; padding: 12px 20px 4px; background: #fff; }
    .cart-delivery__msg { font-size: 12px; font-weight: 700; color: #64748b; margin-bottom: 8px; }
    .cart-delivery__msg.is-free { color: var(--master-success); }
    .cart-delivery__bar { height: 8px; background: #f1f5f9; border-radius: 999px; overflow: hidden; }
    .cart-delivery__bar > i {
        display: block; height: 100%; width: 0;
        background: linear-gradient(90deg, var(--master-secondary), var(--master-accent));
        transition: width .28s ease;
    }
    .bag-ok {
        display: none; margin: 0 20px 8px; background: #ecfdf5; color: #047857; border-radius: 12px;
        padding: 10px 12px; font-weight: 800; font-size: 13px;
    }
    .bag-ok.show { display: block; }
    .cart-items {
        flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain;
        padding: 4px 0 8px; -webkit-overflow-scrolling: touch;
    }
    .cart-empty {
        display: none; flex-direction: column; align-items: center; justify-content: center;
        text-align: center; padding: 48px 24px; color: #64748b; gap: 8px;
    }
    .cart-empty.is-visible { display: flex; }
    .cart-empty__ico {
        width: 64px; height: 64px; border-radius: 20px;
        background: var(--master-accent-soft); color: var(--master-success);
        display: grid; place-items: center; margin-bottom: 8px;
    }
    .cart-empty__ico svg { width: 28px; height: 28px; stroke: currentColor; fill: none; stroke-width: 1.9; }
    .cart-empty h3 { margin: 0; font-size: 18px; color: #0f172a; font-weight: 800; }
    .cart-empty p { margin: 0; font-size: 14px; max-width: 28ch; }
    .cart-item {
        display: grid; grid-template-columns: 76px minmax(0,1fr) auto; gap: 12px;
        padding: 14px 20px; border-bottom: 1px solid #f1f5f1; align-items: start;
        transition: opacity .22s ease, transform .22s ease;
    }
    .cart-item.is-removing { opacity: 0; transform: translateX(20px); }
    .cart-item img {
        width: 76px; height: 76px; object-fit: contain; border-radius: 12px; background: #F6F8F5;
        border: 1px solid #eef3e8;
    }
    .cart-item__body { min-width: 0; }
    .cart-item__name { display: block; font-size: 14px; font-weight: 800; color: #0f172a; line-height: 1.3; margin-bottom: 4px; }
    .cart-item__meta { display: block; font-size: 12px; color: #64748b; margin-bottom: 4px; }
    .cart-item__unit { display: block; font-size: 12px; font-weight: 700; color: #334155; margin-bottom: 8px; }
    .cart-item__unit s { color: #94a3b8; font-weight: 600; margin-left: 4px; }
    .cart-item__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
    .cart-qty {
        display: inline-flex; align-items: center; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; background: #fff;
    }
    .cart-qty button {
        width: 40px; height: 40px; border: 0; background: #fff; color: #0f172a; display: grid; place-items: center; cursor: pointer;
        transition: background .18s;
    }
    .cart-qty button:hover { background: var(--master-accent-soft); }
    .cart-qty button:disabled { opacity: .45; cursor: wait; }
    .cart-qty button svg { width: 16px; height: 16px; stroke: currentColor; fill: none; stroke-width: 1.9; }
    .cart-qty span { min-width: 28px; text-align: center; font-weight: 800; font-size: 14px; }
    .cart-item__btn {
        display: inline-flex; align-items: center; gap: 4px; border: 0; background: transparent;
        color: #64748b; font-size: 12px; font-weight: 700; cursor: pointer; padding: 6px 4px;
        transition: color .18s;
    }
    .cart-item__btn:hover { color: var(--master-success); }
    .cart-item__btn.is-danger:hover { color: #dc2626; }
    .cart-item__btn svg { width: 14px; height: 14px; stroke: currentColor; fill: none; stroke-width: 1.9; }
    .cart-item__total { font-size: 15px; font-weight: 800; color: #0f172a; white-space: nowrap; padding-top: 2px; }
    .cart-summary {
        flex-shrink: 0; background: #fff; border-top: 1px solid #E5E9E5;
        padding: 16px 20px calc(16px + env(safe-area-inset-bottom, 0px));
        box-shadow: 0 -8px 25px rgba(0,0,0,.08);
    }
    .cart-summary__rows { display: grid; gap: 8px; margin-bottom: 12px; }
    .cart-summary__row { display: flex; justify-content: space-between; align-items: center; font-size: 14px; color: #64748b; font-weight: 600; }
    .cart-summary__row span:last-child { color: #0f172a; font-weight: 700; }
    .cart-summary__row.is-free span:last-child { color: var(--master-success); }
    .cart-summary__row.is-discount span:last-child { color: #dc2626; }
    .cart-summary__row.is-total { padding-top: 8px; border-top: 1px dashed #e5e9e5; font-size: 16px; color: #0f172a; font-weight: 800; }
    .cart-summary__row.is-total span:last-child { font-size: 18px; font-weight: 800; color: var(--master-success); }
    .cart-checkout {
        display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%;
        min-height: 54px; border: 0; border-radius: 14px; background: var(--master-checkout); color: #fff;
        font-size: 16px; font-weight: 750; text-decoration: none; cursor: pointer;
        transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
        box-shadow: 0 8px 20px color-mix(in srgb, var(--master-checkout) 28%, transparent);
    }
    .cart-checkout:hover { transform: translateY(-1px); color: #fff; }
    .cart-checkout:active { transform: scale(.98); }
    .cart-checkout.is-busy { cursor: progress; }
    .cart-checkout svg { width: 18px; height: 18px; stroke: currentColor; fill: none; stroke-width: 1.9; }
    .cart-summary__links { display: grid; gap: 8px; margin-top: 10px; }
    .cart-summary__link {
        display: block; text-align: center; color: #64748b; font-size: 13px; font-weight: 700;
        background: transparent; border: 0; cursor: pointer; padding: 6px; text-decoration: none;
    }
    .cart-summary__link.outline {
        border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px; color: #0f172a; background: #fff;
        transition: transform .18s, box-shadow .18s;
    }
    .cart-summary__link.outline:hover { transform: translateY(-1px); box-shadow: 0 6px 14px rgba(15,23,42,.06); }
    .bag-toast {
        position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%);
        background: #0f172a; color: #fff; border-radius: 999px; padding: 10px 16px;
        font-weight: 800; font-size: 13px; z-index: 1120; display: none;
        box-shadow: 0 12px 30px rgba(15,23,42,.25);
    }
    .bag-toast.show { display: block; }
    @media (max-width: 767px) {
        .cart-drawer .cart-panel { width: 94%; max-width: 480px; }
        .cart-drawer-header { padding: 18px; }
        .cart-item { padding: 14px 18px; }
    }
    @media (max-width: 360px) {
        .cart-drawer .cart-panel { width: 100%; max-width: none; }
    }
    @media (min-width: 768px) {
        .cart-drawer .cart-panel { width: min(460px, 100%); }
    }
    @media (min-width: 1024px) {
        .cart-drawer .cart-panel { width: min(480px, 100%); }
    }
    @media (prefers-reduced-motion: reduce) {
        .cart-drawer, .cart-drawer .cart-panel, .cart-item, .cart-checkout { transition: none !important; }
    }

/* FB in-app browser guards (2026-10-04): FB WebView inflates safe-area env() values and font boosting; its own top chrome covers the status area, so the notch strip would merge with the promo bar. */
html.fb-iab .nv-header::before { display: none; }
html.fb-iab .bottom-nav { padding-bottom: 10px; }
/* FB IAB (2026-10-04): FB WebView reports a large env(safe-area-inset-top) which
   .nv-header turns into padding-top -> white gap above header. FBs own native top
   toolbar already covers the status area, so zero it inside FB IAB only. */
html.fb-iab .nv-header { padding-top: 0 !important; }
/* Promo bar OFF (2026-10-04): mobile header was transparent (designed for the
   promo era). Without the promo bar the transparent safe-area padding shows
   scrolled page content through it. Solid bg when promo is disabled. */
@media (max-width: 900px) {
    .nv-header.nv-no-promo { background: var(--nv-white); }
}

/* Footer delivery cities — collapsible on mobile (47 cities) */
.nv-ft-cities-toggle { display: none; }
@media (max-width: 900px) {
    .nv-ft-cities .nv-ft-city-extra { display: none; }
    .nv-ft-cities.is-open .nv-ft-city-extra { display: inline-block; }
    .nv-ft-cities-toggle {
        display: inline-flex; align-items: center; gap: 6px;
        margin-top: 10px; padding: 8px 16px; border-radius: 999px;
        border: 1px solid var(--nv-footer-border); background: transparent;
        color: var(--nv-footer-muted); font-size: 12.5px; font-weight: 700;
        cursor: pointer; -webkit-tap-highlight-color: transparent; font-family: inherit;
    }
    .nv-ft-cities-toggle svg { width: 16px; height: 16px; transition: transform .2s; }
    .nv-ft-cities-toggle .nv-ft-cities-toggle__less { display: none; }
    .nv-ft-cities.is-open .nv-ft-cities-toggle .nv-ft-cities-toggle__less { display: inline; }
    .nv-ft-cities.is-open .nv-ft-cities-toggle .nv-ft-cities-toggle__more { display: none; }
    .nv-ft-cities.is-open .nv-ft-cities-toggle svg { transform: rotate(180deg); }
    .nv-ft-cities.is-open .nv-ft-cities-toggle { border-color: var(--nv-accent); color: #fff; }
}

/* Footer delivery cities - premium redesign */
.nv-ft-delivery { border-top: 1px solid rgba(255,255,255,.08); }
.nv-ft-delivery-head { display: flex; align-items: center; gap: 14px; margin: 0 0 16px; }
.nv-ft-delivery-ico { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 14px; flex: 0 0 42px; background: linear-gradient(135deg, rgba(138,201,38,.25), rgba(138,201,38,.07)); border: 1px solid rgba(138,201,38,.4); color: #b9e14f; box-shadow: 0 6px 16px -6px rgba(138,201,38,.35); }
.nv-ft-delivery-ico svg { display: block; }
.nv-ft-delivery-titles { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.nv-ft-delivery-eyebrow { font-size: 11px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: var(--nv-accent); }
.nv-ft-delivery-title { font-size: 15px; font-weight: 700; letter-spacing: .01em; color: #ffffff; }
.nv-ft-delivery .nv-ft-delivery-nav { display: flex; flex-wrap: wrap; gap: 10px; }
.nv-ft-delivery .nv-ft-delivery-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.14); background: rgba(255,255,255,.04); color: #dcebe3; font-size: 12.5px; font-weight: 600; letter-spacing: .01em; text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease; }
.nv-ft-delivery .nv-ft-delivery-nav a svg { display: block; color: var(--nv-accent); flex: 0 0 auto; }
.nv-ft-delivery .nv-ft-delivery-nav a:hover { transform: translateY(-2px); border-color: var(--nv-accent); background: rgba(138,201,38,.13); color: #ffffff; box-shadow: 0 8px 18px -8px rgba(138,201,38,.45); }
.nv-ft-delivery .nv-ft-delivery-nav a:focus-visible { outline: 2px solid var(--nv-accent); outline-offset: 2px; }
.nv-ft-delivery .nv-ft-cities-toggle { margin-top: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 10px 20px; border-radius: 999px; cursor: pointer; font-family: inherit; border: 1px solid rgba(138,201,38,.45); background: rgba(138,201,38,.1); color: #eaf6d2; font-size: 13px; font-weight: 700; transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease; }
.nv-ft-delivery .nv-ft-cities-toggle:hover { background: var(--nv-accent); border-color: var(--nv-accent); color: #052b1f; transform: translateY(-1px); }
.nv-ft-delivery .nv-ft-cities-toggle svg { width: 16px; height: 16px; transition: transform .25s ease; }
.nv-ft-delivery.is-open .nv-ft-cities-toggle svg { transform: rotate(180deg); }
@keyframes nv-ft-city-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.nv-ft-delivery.is-open .nv-ft-city-extra { animation: nv-ft-city-in .35s ease both; }
@media (min-width: 901px) {
    .nv-ft-delivery .nv-ft-cities-toggle { display: none; }
}
@media (max-width: 900px) {
    .nv-ft-delivery .nv-ft-delivery-nav a.nv-ft-city-extra { display: none; }
    .nv-ft-delivery.is-open .nv-ft-delivery-nav a.nv-ft-city-extra { display: inline-flex; }
    .nv-ft-delivery-title { font-size: 13.5px; }
    .nv-ft-delivery-ico { width: 38px; height: 38px; flex-basis: 38px; border-radius: 12px; }
    .nv-ft-delivery .nv-ft-delivery-nav { gap: 8px; }
    .nv-ft-delivery .nv-ft-delivery-nav a { padding: 8px 14px; font-size: 12px; }
}


/* === KDF NEXT-LEVEL ZERO-CLS & CROSS-BROWSER STABILITY (FB / IG / Safari / Chrome / Edge) === */
html {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
a, button, input, select, textarea, summary, [role="button"] {
    touch-action: manipulation;
    -webkit-tap-highlight-color: transparent;
}
/* Pre-reserve exact 1em box for Lucide icons before JS replaces <i> with <svg> (prevents icon-swap layout shift) */
i[data-lucide] {
    display: inline-block;
    width: 1em;
    height: 1em;
    vertical-align: -0.125em;
    flex-shrink: 0;
}
/* Lock header layout height (no layout shift / no bounce), while allowing smooth GPU slide-up on scroll down */
.nv-header,
.nv-header.is-compact {
    pointer-events: auto !important;
    overflow-anchor: none;
    transition: transform 0.28s cubic-bezier(0.22, 0.61, 0.36, 1), box-shadow 0.25s ease !important;
    will-change: transform;
    transform: translate3d(0, 0, 0) !important;
}
.nv-header.nv-header--hidden {
    transform: translate3d(0, -105%, 0) !important;
    box-shadow: none !important;
    pointer-events: none !important;
}
@media (min-width: 901px) {
    .nv-header.is-compact .nv-desktop .nv-topbar {
        max-height: 48px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        border-bottom-color: inherit !important;
    }
    .nv-header.is-compact .nv-desktop .nv-nav:not(.mega-open) {
        max-height: 80px !important;
        opacity: 1 !important;
        pointer-events: auto !important;
        border-bottom-color: inherit !important;
    }
    .nv-header.is-compact .nv-main-inner {
        min-height: 76px !important;
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
    .nv-header.is-compact .nv-logo img {
        height: 52px !important;
        max-width: 168px !important;
    }
    .nv-header.is-compact .nv-logo .nv-tag {
        opacity: 1 !important;
        max-height: 20px !important;
    }
}
@media (max-width: 900px) {
    .nv-header.is-compact .nv-m-shift {
        transform: none !important;
        margin-bottom: 0 !important;
    }
    .nv-header.is-compact .nv-m-search-wrap {
        padding-top: 0 !important;
        box-shadow: none !important;
    }
}
/* Prevent scroll-anchoring jumps inside carousels, sliders, and grids */
.slider,
.deal-rail,
.cat-row,
.nv-product-grid,
.nv-pdp,
.nv-gallery {
    overflow-anchor: none;
}
/* Lock product & deal card media aspect ratios before images finish decoding */
.nv-product-card .nv-product-image {
    aspect-ratio: 480 / 414;
}
.nv-deal-card .nv-deal-card__img {
    aspect-ratio: 1 / 1;
}

/* ===== Next-Level Deal of the Day & Campaign Product Cards + Compact Timer ===== */
.nv-deal-card .nv-deal-card__off,
span.nv-deal-card__off {
    position: static !important;
    transform: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    margin-left: auto !important;
    padding: 4px 10px !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, #dc2626 0%, #ea580c 100%) !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: 0.03em !important;
    box-shadow: 0 3px 10px rgba(220, 38, 38, 0.24) !important;
    white-space: nowrap !important;
}
.nv-dotd-premium .nv-deal-card--premium,
.nv-camp-premium .nv-deal-card--premium {
    border: 1px solid rgba(15, 61, 46, 0.1) !important;
    border-radius: 22px !important;
    padding: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 10px 28px rgba(15, 61, 46, 0.08), 0 2px 6px rgba(15, 23, 42, 0.04) !important;
}
.nv-dotd-premium .nv-deal-card__img,
.nv-camp-premium .nv-deal-card__img {
    border-radius: 16px !important;
    background: radial-gradient(circle at 50% 42%, #ffffff 0%, #f4f8f2 100%) !important;
    border: 1px solid rgba(15, 61, 46, 0.06) !important;
    padding: 6px !important;
}
.nv-dotd-premium .deal-card h3,
.nv-camp-premium .deal-card h3 {
    font-size: 15.5px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    color: #0f291e !important;
    margin: 2px 0 6px !important;
}
.nv-dotd-premium .deal-prices,
.nv-camp-premium .deal-prices {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px 8px !important;
    margin: 4px 0 10px !important;
    padding: 8px 10px !important;
    background: #f6fbf7 !important;
    border-radius: 12px !important;
    border: 1px solid rgba(8, 115, 68, 0.1) !important;
}
.nv-dotd-premium .deal-prices strong,
.nv-camp-premium .deal-prices strong {
    font-size: 18px !important;
    font-weight: 900 !important;
    color: #075B3A !important;
    letter-spacing: -0.02em !important;
}
.nv-dotd-premium .deal-prices s,
.nv-camp-premium .deal-prices s {
    font-size: 12.5px !important;
    color: #94a3b8 !important;
    font-weight: 600 !important;
}
.nv-dotd-premium .nv-deal-atc,
.nv-camp-premium .nv-deal-atc {
    min-height: 46px !important;
    border-radius: 14px !important;
    font-size: 14.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0.01em !important;
    background: linear-gradient(135deg, #0b6e46 0%, #075B3A 100%) !important;
    box-shadow: 0 8px 20px rgba(7, 91, 58, 0.22) !important;
}
@media (max-width: 767px) {
    /* Larger, clearer product cards on mobile + sleek compact timer so products dominate the screen */
    .nv-dotd-carousel__slide {
        flex: 0 0 min(78vw, 286px) !important;
        width: min(78vw, 286px) !important;
        max-width: min(78vw, 286px) !important;
    }
    .nv-dotd-premium__clock,
    .nv-camp-premium__clock {
        padding: 11px 12px 10px !important;
        border-radius: 16px !important;
    }
    .nv-dotd-premium__clock-top,
    .nv-camp-premium__clock-top {
        margin-bottom: 8px !important;
    }
    .nv-dotd-premium__unit b,
    .nv-camp-premium__unit b {
        font-size: 1.2rem !important;
        padding: 7px 6px !important;
        border-radius: 11px !important;
    }
}
