/* =====================================================================
   Navrang theme styles (v4, layout modelled on the client's reference
   sites zofffoods.com / ramdevstore.com). Tokens come from theme.json.
   Type: Oswald condensed caps for headlines and section titles, Poppins
   for everything else. White page, flat brand-colour bands.
   ===================================================================== */

:root {
  --nv-radius: 16px;
  --nv-radius-sm: 10px;
  --nv-header-h: 76px;
  --nv-ease: cubic-bezier(.2, .6, .2, 1);
  --nv-shadow: 0 6px 20px rgba(43, 24, 16, .08);
}

html { scroll-behavior: smooth; }
[id] { scroll-margin-top: calc(var(--nv-header-h) + 1rem); }
body { background: var(--wp--preset--color--white); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
img { height: auto; }
a:focus-visible, button:focus-visible, .wp-block-button__link:focus-visible { outline: 2px solid var(--wp--preset--color--maroon); outline-offset: 2px; }

/* ---------- Type helpers ---------- */
.nv-h {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .01em;
  line-height: 1.02;
  font-size: clamp(1.9rem, 3.4vw, 2.75rem);
  color: var(--wp--preset--color--maroon);
  margin: 0 0 .5rem;
}
.nv-h--light { color: #fff; }
.nv-section__head > * + * { margin-top: .5rem; }
.nv-section__row { margin-bottom: 1.25rem; }
.nv-section__row .nv-h { margin: 0; }
.nv-section__link { margin: 0; font-weight: 600; }
.nv-section__link a { display: inline-block; padding: .6rem 0; }
.nv-section__link a { color: var(--wp--preset--color--maroon); text-decoration: none; }
.nv-section__link a:hover { text-decoration: underline; }
.nv-eyebrow { font-size: .8rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--maroon); margin-bottom: .35rem !important; }
.nv-placeholder { color: var(--wp--preset--color--sand); font-size: .95rem; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .15s, color .15s, border-color .15s, transform .1s; border-radius: 999px; }
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1.5px solid var(--wp--preset--color--maroon); padding: calc(.8rem - 1.5px) calc(1.5rem - 1.5px); }
.wp-block-button.is-style-outline .wp-block-button__link:not(.has-text-color) { color: var(--wp--preset--color--maroon); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--maroon); color: var(--wp--preset--color--white); }
.nv-btn-light .wp-block-button__link { background: #fff; color: var(--wp--preset--color--maroon-deep); font-weight: 700; padding: .9rem 2rem; }
.nv-btn-light .wp-block-button__link:hover { background: var(--wp--preset--color--cream); color: var(--wp--preset--color--maroon-deep); }
.nv-btn-block { width: 100%; }
.nv-btn-block .wp-block-button__link { display: block; width: 100%; text-align: center; }
.nv-btn-whatsapp .wp-block-button__link { background: #25D366; color: #fff; }
.nv-btn-whatsapp .wp-block-button__link:hover { background: #1DA851; color: #fff; }

/* ---------- Header: nav left, logo centre, icons right ---------- */
.nv-topbar p { margin: 0; }
.nv-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--wp--preset--color--sand);
  transition: box-shadow .2s;
}
.nv-header.is-scrolled { box-shadow: 0 1px 8px rgba(0, 0, 0, .06); }
.nv-header__row > .nv-nav, .nv-header__row > .nv-header__actions { flex: 1 1 0; min-width: 0; }
.nv-header__row > .nv-logo { flex: 0 0 auto; }
.nv-logo img { max-height: 56px; width: auto; }
.nv-nav a { color: var(--wp--preset--color--ink); font-weight: 500; transition: color .15s; padding: .5rem 0; }
.nv-nav a:hover, .nv-nav .current-menu-item > a { color: var(--wp--preset--color--maroon); }
/* all three header actions are 44px boxes with the icon centred, so search / account / cart share one baseline */
.nv-header__actions .wp-block-search { margin: 0; flex: 0 0 auto; }
.nv-header__actions .wp-block-search__inside-wrapper { overflow: visible; align-items: center; }
.nv-header__actions .wp-block-search__input { height: 44px; box-sizing: border-box; }
.nv-header__actions .wp-block-search__button,
.nv-header__actions .wc-block-customer-account__link,
.nv-header__actions .wc-block-mini-cart__button { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; margin: 0; background: transparent; border: 0; cursor: pointer; color: var(--wp--preset--color--ink); }
.nv-header__actions .wp-block-search__button svg,
.nv-header__actions .wc-block-customer-account__account-icon,
.nv-header__actions .wc-block-mini-cart__button svg { width: 24px; height: 24px; display: block; }
.nv-header__actions .wc-block-mini-cart__button,
.nv-header__actions .wc-block-customer-account__account-icon { color: var(--wp--preset--color--ink); }
.wc-block-mini-cart__badge { background: var(--wp--preset--color--maroon); color: #fff; border: 0; }

/* ---------- Category circles ---------- */
.nv-cats .nv-cats__row { gap: 1.5rem; overflow-x: auto; scrollbar-width: none; justify-content: safe center !important; padding-bottom: .25rem; }   /* centred when it fits, scrolls when it does not */
.nv-cats .nv-cats__row::-webkit-scrollbar { display: none; }
.nv-cat { width: 128px; flex: 0 0 auto; }
.nv-cat__img { margin: 0 auto .5rem; width: 104px; }
.nv-cat__img img {
  display: block; width: 104px; height: 104px; object-fit: cover; object-position: center 30%;
  border-radius: 50%;
  border: 3px solid var(--wp--preset--color--maroon);
  box-shadow: 0 0 0 3px var(--wp--preset--color--saffron-light, #F9D27A);
  transition: transform .2s var(--nv-ease);
}
.nv-cat:hover .nv-cat__img img { transform: scale(1.05); }
.nv-cat__label { margin: 0; font-size: .82rem; font-weight: 700; line-height: 1.2; }
.nv-cat__label a { display: inline-block; padding: .35rem 0; color: var(--wp--preset--color--ink); text-decoration: none; }

/* ---------- Hero slider ---------- */
/* Each slide: composed banner as background (pack photo right, blurred backdrop), colour wash from the left under the copy. */
.nv-slider { position: relative; }
.nv-slider__track {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
.nv-slider__track::-webkit-scrollbar { display: none; }
.nv-slide {
  --c: var(--wp--preset--color--maroon);
  position: relative;
  isolation: isolate;
  flex: 0 0 100%;
  width: 100%;
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: clamp(460px, 35vw, 640px);
  padding-top: 3rem; padding-bottom: 3.5rem;
  padding-left: clamp(1.5rem, 6vw, 6rem) !important;
  padding-right: clamp(1.5rem, 6vw, 6rem) !important;
}
.nv-slide--maroon { --c: var(--wp--preset--color--maroon); }
.nv-slide--green { --c: var(--wp--preset--color--green); }
.nv-slide--tomato { --c: var(--wp--preset--color--tomato); }
.nv-slide--saffron { --c: var(--wp--preset--color--saffron); }
.nv-slide::before {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(90deg, var(--c) 0%, var(--c) 30%, color-mix(in srgb, var(--c) 80%, transparent) 46%, color-mix(in srgb, var(--c) 0%, transparent) 66%);
}
.nv-slide > * { margin-left: 0 !important; }
.nv-slide__kicker { font-weight: 700; font-size: .85rem; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .75rem; opacity: .9; }
.nv-slide__title {
  font-family: var(--wp--preset--font-family--display);
  font-weight: 700;
  text-transform: uppercase;
  font-size: clamp(2.4rem, 4.6vw, 4.4rem);
  line-height: .98;
  letter-spacing: .01em;
  color: inherit;
  margin: 0 0 1rem;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .12);
}
.nv-slide__text { font-size: 1.1rem; max-width: 30rem; margin: 0 0 1.5rem; }
.nv-slider__arrow {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 44px; height: 44px; border-radius: 50%; border: 0;
  background: rgba(255, 255, 255, .92); color: var(--wp--preset--color--maroon-deep);
  font-size: 1.4rem; line-height: 1; cursor: pointer; z-index: 2;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .18);
}
.nv-slider__arrow--prev { left: 14px; }
.nv-slider__arrow--next { right: 14px; }
.nv-slider__dots { position: absolute; left: 0; right: 0; bottom: 14px; display: flex; justify-content: center; gap: 8px; z-index: 2; pointer-events: none; }   /* strip must not swallow arrow taps */
.nv-slider__dot { width: 24px; height: 24px; border-radius: 50%; border: 6px solid transparent; padding: 0; background: rgba(255, 255, 255, .55); background-clip: padding-box; cursor: pointer; pointer-events: auto; }   /* 12px dot, 24px hit area */
.nv-slider__dot.is-active { background: #fff; }

/* ---------- Marquee band ---------- */
.nv-marquee { overflow: hidden; padding: .55rem 0; }
.nv-marquee__track {
  display: flex; width: max-content; white-space: nowrap;
  font-family: var(--wp--preset--font-family--display);
  font-weight: 600; font-size: 1.3rem; letter-spacing: .04em; text-transform: uppercase;
  animation: nv-marquee 40s linear infinite;
}
.nv-marquee__track span { padding-right: 1.5rem; }
.nv-marquee:hover .nv-marquee__track { animation-play-state: paused; }
@keyframes nv-marquee { to { transform: translateX(-50%); } }

/* ---------- USP badges ---------- */
.nv-usps__row { gap: 1.5rem; }
.nv-usp { margin: 0; padding-top: 5.25rem; position: relative; font-size: .85rem; color: var(--wp--preset--color--ink-soft); }
.nv-usp strong { display: block; font-size: 1rem; color: var(--wp--preset--color--ink); margin-bottom: .15rem; }
.nv-usp::before {
  content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%);
  width: 72px; height: 72px; border-radius: 50%;
  background: var(--bg) var(--icon) center / 34px no-repeat;
}
.nv-usp--delivery { --bg: var(--wp--preset--color--green); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 7h11v9H3zM14 10h4l3 3v3h-7z'/%3E%3Ccircle cx='7' cy='18' r='2'/%3E%3Ccircle cx='17' cy='18' r='2'/%3E%3C/svg%3E"); }
.nv-usp--fssai { --bg: var(--wp--preset--color--maroon); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4-3 7-7 9-4-2-7-5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E"); }
.nv-usp--fresh { --bg: var(--wp--preset--color--saffron); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h12l1 4H5zM5 8h14v11a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E"); }
.nv-usp--whatsapp { --bg: #25D366; --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20l1.5-4A8 8 0 1 1 8 18.5z'/%3E%3Cpath d='M9 10c.5 2 2 3.5 4 4l1.5-1.5 2 1-.5 2c-4 .5-8-3.5-7.5-7.5l2-.5 1 2z'/%3E%3C/svg%3E"); }

/* ---------- Product cards (colour tile + chips + pill button) ---------- */
.nv-products__grid .wc-block-product-template {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(300px, 46%), 1fr));
  gap: 1.75rem;
  max-width: 900px;
  margin-inline: auto;
}
.wc-block-product-template .wc-block-product { display: flex; flex-direction: column; }
.wc-block-product-template .wc-block-product > .wp-block-woocommerce-product-button { margin-top: auto; }
.wc-block-product { --tile: var(--wp--preset--color--maroon); text-align: left; }
.wc-block-product.product_tag-limbu-phudina { --tile: var(--wp--preset--color--green); }
.wc-block-product.product_tag-tomato { --tile: var(--wp--preset--color--tomato); }
.wc-block-product .wc-block-components-product-image {
  background: var(--tile);
  border-radius: var(--nv-radius);
  padding: 12px;
  margin-bottom: 1rem;
  transition: transform .25s var(--nv-ease), box-shadow .25s var(--nv-ease);
}
.wc-block-product:hover .wc-block-components-product-image { transform: translateY(-4px); box-shadow: var(--nv-shadow); }
.wc-block-product .wc-block-components-product-image img { display: block; width: 100%; aspect-ratio: 7 / 10; object-fit: cover; border-radius: var(--nv-radius-sm); }
.wc-block-product .nv-card__title { margin: 0 0 .25rem; font-size: 1.1rem; font-weight: 700; }
.wc-block-product .nv-card__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.wc-block-product .nv-card__title a:hover { color: var(--wp--preset--color--maroon); }
.wc-block-product .nv-card__summary { color: var(--wp--preset--color--ink-soft); margin: 0 0 .5rem; }
.wc-block-product .nv-card__summary p { margin: 0; }
.wc-block-product .nv-card__price { color: var(--wp--preset--color--maroon-deep); font-weight: 700; font-size: 1.05rem; margin-bottom: .6rem; }
.wc-block-product .nv-chips { display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .9rem; }
.wc-block-product .nv-chips a {
  display: inline-block; box-sizing: border-box; padding: .5rem .85rem; line-height: 1.25; border-radius: 6px; font-size: .8rem; font-weight: 600;
  color: var(--wp--preset--color--ink); background: var(--wp--preset--color--cream); border: 1px solid var(--wp--preset--color--sand); text-decoration: none;
}
.wc-block-product .nv-chips a:hover { background: var(--wp--preset--color--maroon); border-color: var(--wp--preset--color--maroon); color: #fff; }
.wc-block-product .nv-card__btn { width: 100%; }
.wc-block-product .nv-card__btn .wc-block-components-product-button__button {
  display: flex; width: 100%; justify-content: center;
  border-radius: 999px; background: var(--wp--preset--color--maroon); color: #fff;
  font-weight: 700; font-size: .95rem; padding: .85rem 1.4rem;
  transition: background-color .15s, transform .1s;
}
.wc-block-product .nv-card__btn .wc-block-components-product-button__button:hover { background: var(--wp--preset--color--maroon-deep); }
.wc-block-product .wc-block-components-product-sale-badge { background: var(--wp--preset--color--saffron); color: var(--wp--preset--color--ink); border: 0; }

/* ---------- Pack-size cards ---------- */
.nv-sizes__grid { gap: 1.25rem; }
.nv-sizecard { border-radius: var(--nv-radius); padding: 1rem; box-shadow: var(--nv-shadow); transition: transform .25s var(--nv-ease); }
.nv-sizecard:hover { transform: translateY(-4px); }
.nv-sizecard__img { margin: 0 0 .75rem; }
.nv-sizecard__img img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--nv-radius-sm); }
.nv-sizecard__wt { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.6rem; line-height: 1; color: var(--wp--preset--color--maroon); margin: 0 0 .15rem; }
.nv-sizecard__name { font-size: 1rem; font-weight: 700; margin: 0 0 .15rem; }
.nv-sizecard__use { font-size: .85rem; color: var(--wp--preset--color--ink-soft); margin: 0 0 .5rem; }
.nv-sizecard__price { font-weight: 700; color: var(--wp--preset--color--maroon-deep); margin: 0 0 .75rem; }
.nv-sizecard .wp-block-buttons { margin: 0; }
.nv-sizecard .wp-block-button__link { padding: .7rem 1rem; font-size: .9rem; }

/* ---------- Behind the crunch ---------- */
.nv-story__img { margin: 0 auto; max-width: 440px; }
.nv-story__img img {
  display: block; width: 100%; aspect-ratio: 1; object-fit: cover; object-position: center 35%;
  border-radius: 50%; border: 10px solid var(--wp--preset--color--cream);
  box-shadow: 0 0 0 3px var(--wp--preset--color--saffron);
}
.nv-feats { gap: 1.25rem 1.5rem; margin-top: 1.5rem; }
.nv-feat { margin: 0; padding-left: 4.4rem; position: relative; font-size: .9rem; color: var(--wp--preset--color--ink-soft); min-height: 56px; }
.nv-feat strong { display: block; font-size: 1rem; color: var(--wp--preset--color--ink); margin-bottom: .15rem; }
.nv-feat::before { content: ""; position: absolute; left: 0; top: 0; width: 56px; height: 56px; border-radius: 50%; background: var(--bg) var(--icon) center / 28px no-repeat; }
.nv-feat--taste { --bg: var(--wp--preset--color--maroon); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19c0-8 5-13 14-14-1 9-6 14-14 14z'/%3E%3Cpath d='M5 19l9-9'/%3E%3C/svg%3E"); }
.nv-feat--quality { --bg: var(--wp--preset--color--saffron); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='9' r='6'/%3E%3Cpath d='M9 14l-2 7 5-2 5 2-2-7'/%3E%3C/svg%3E"); }
.nv-feat--pouch { --bg: var(--wp--preset--color--green); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4h12l1 4H5zM5 8h14v11a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2z'/%3E%3Cpath d='M9 12h6'/%3E%3C/svg%3E"); }
.nv-feat--label { --bg: var(--wp--preset--color--tomato); --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E"); }

/* ---------- Good Food Good Mood banner ---------- */
.nv-banner__box { border-radius: 24px; overflow: hidden; }
.nv-banner__grid { margin: 0; align-items: stretch; }
.nv-banner__art { min-height: 380px; }
.nv-banner__img { margin: 0; height: 100%; }
.nv-banner__img img { display: block; width: 100%; height: 100%; min-height: 380px; object-fit: cover; object-position: center top; }
.nv-banner__copy { padding: 2.5rem clamp(1.5rem, 4vw, 3.5rem); }
.nv-banner__copy .nv-slide__kicker { color: var(--wp--preset--color--saffron); }
.nv-moments__grid { gap: 1rem 1.5rem; margin-top: 1.25rem; }
.nv-moment { margin: 0; padding-left: 3.4rem; position: relative; font-size: .9rem; opacity: .95; }
.nv-moment strong { display: block; font-size: 1rem; margin-bottom: .1rem; }
.nv-moment::before { content: ""; position: absolute; left: 0; top: .1rem; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: rgba(255, 255, 255, .14) var(--icon) center / 60% no-repeat; }
.nv-moment--tea { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23F0A21F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h17v8a6 6 0 0 1-6 6h-5a6 6 0 0 1-6-6z'/%3E%3Cpath d='M22 14h2a3 3 0 0 1 0 6h-2M12 3c0 2-2 2-2 4M17 3c0 2-2 2-2 4M4 29h20'/%3E%3C/svg%3E"); }
.nv-moment--party { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23F0A21F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 15h24l-2 8a5 5 0 0 1-5 4H11a5 5 0 0 1-5-4z'/%3E%3Ccircle cx='10' cy='11' r='2'/%3E%3Ccircle cx='16' cy='8' r='2'/%3E%3Ccircle cx='22' cy='11' r='2'/%3E%3C/svg%3E"); }
.nv-moment--travel { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23F0A21F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='9' width='18' height='20' rx='4'/%3E%3Cpath d='M12 9V6a4 4 0 0 1 8 0v3M7 17h18M12 22h8'/%3E%3C/svg%3E"); }
.nv-moment--tiffin { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%23F0A21F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='22' height='16' rx='3'/%3E%3Cpath d='M5 18h22M12 11V8h8v3M16 18v9'/%3E%3C/svg%3E"); }

/* ---------- Ingredients & nutrition ---------- */
.nv-frame { margin: 0; }
.nv-frame img { display: block; width: 100%; border-radius: var(--nv-radius); }
.nv-frame--sticky { position: sticky; top: calc(var(--nv-header-h) + 24px); }
.nv-label .nv-frame img { aspect-ratio: 904 / 1330; object-fit: cover; }
.nv-label__h { font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--maroon); margin: 1.25rem 0 .35rem; }
.nv-label__facts > .wp-block-column > .nv-label__h:first-child { margin-top: 0; }
.nv-label__table table { border-collapse: collapse; }
.nv-label__table td { border: 0; border-bottom: 1px solid var(--wp--preset--color--sand); padding: .45rem .5rem; }
.nv-label__table tr td:last-child { text-align: right; font-weight: 600; color: var(--wp--preset--color--maroon-deep); }
.nv-label__table tr:nth-child(4) td:first-child, .nv-label__table tr:nth-child(5) td:first-child,
.nv-label__table tr:nth-child(7) td:first-child, .nv-label__table tr:nth-child(8) td:first-child { padding-left: 1.5rem; }
.nv-label__table figcaption { font-size: .78rem; color: var(--wp--preset--color--ink-soft); text-align: left; }

/* ---------- Reviews ---------- */
.nv-reviews__grid { gap: 1.5rem; }
.nv-review { background: #fff; border: 1px solid var(--wp--preset--color--sand); border-radius: var(--nv-radius); padding: 1.5rem; height: 100%; transition: border-color .2s; }
.nv-review:hover { border-color: var(--wp--preset--color--saffron); }
.nv-review__stars { color: var(--wp--preset--color--saffron); letter-spacing: .05em; margin: 0 0 .6rem; }
.nv-review__quote { font-size: 1rem; line-height: 1.55; margin: 0 0 .9rem; }
.nv-review__by { font-size: .82rem; font-weight: 600; color: var(--wp--preset--color--ink-soft); margin: 0; }

/* ---------- CTA ---------- */
.nv-cta h2 { margin: 0 0 .5rem; color: var(--wp--preset--color--maroon-deep); }
.nv-cta p { color: var(--wp--preset--color--ink); }
.nv-cta p:last-child { margin-bottom: 0; }
.nv-cta__buttons { flex-shrink: 0; }
.nv-coupon { display: inline-block; border: 1.5px dashed var(--wp--preset--color--maroon); border-radius: 6px; padding: .15rem .6rem; font-weight: 700; letter-spacing: .06em; color: var(--wp--preset--color--maroon-deep); }

/* ---------- Footer (dark, like the reference) ---------- */
.nv-footer a { color: var(--wp--preset--color--cream); text-decoration: none; }
.nv-footer a:hover { color: #fff; text-decoration: underline; }
.nv-footer__logo img { max-height: 56px; width: auto; filter: brightness(0) invert(1); }
.nv-footer__title { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.05rem; letter-spacing: .06em; text-transform: uppercase; color: var(--wp--preset--color--saffron); margin: 0 0 .75rem; }
.nv-footer__links { list-style: none; padding: 0; margin: 0; font-size: .95rem; }
.nv-footer__links li { margin-bottom: .45rem; }
.nv-footer__rule { opacity: .25; }
.nv-footer p { margin: 0 0 1rem; }

/* ---------- WooCommerce pages ---------- */
.woocommerce-Tabs-panel--description p { max-width: 76ch; }
.wc-block-grid__products { justify-content: center; }
@media (min-width: 1024px) {
  .post-type-archive-product .wc-block-product-template__responsive.columns-3 { grid-template-columns: repeat(auto-fit, minmax(280px, 360px)); justify-content: center; }
  .single-product .wc-block-product-template.is-flex-container.columns-5 > li { width: calc(25% - 1.25rem); }
}
@media (max-width: 1023px) {
  .wc-block-catalog-sorting select, .woocommerce-ordering select, .wc-block-components-quantity-selector input { min-height: 44px; }
  .single-product h1.wp-block-post-title { font-size: 2.25rem; }
  .wp-block-woocommerce-product-meta .wp-block-group.is-nowrap { flex-wrap: wrap; }
  .woocommerce .wp-block-woocommerce-product-image-gallery { max-width: 100%; }
  .single-product .wc-block-product-template.is-flex-container.columns-5 > li { width: calc(33.333% - .8333em); }
}
@media (min-width: 600px) and (max-width: 1023px) {
  .single-product .wp-block-columns.alignwide:not(.nv-footer__grid) > .wp-block-column { flex-basis: 50% !important; }
}

/* ---------- Motion ---------- */
html.js .nv-section { opacity: 0; transform: translateY(12px); transition: opacity .5s var(--nv-ease), transform .5s var(--nv-ease); }
html.js .nv-section.nv-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
  html.js .nv-section { opacity: 1; transform: none; }
  .nv-marquee__track { animation: none; }
}

/* ---------- Responsive ---------- */
@media (min-width: 600px) and (max-width: 1100px) {
  .nv-footer .nv-footer__grid { display: grid !important; grid-template-columns: repeat(4, 1fr); row-gap: 1.5rem; }
  .nv-footer .nv-footer__grid > .wp-block-column:first-child { grid-column: 1 / -1; max-width: 40rem; }
}
@media (max-width: 1023px) {
  /* header: [menu] [logo] [search cart account] */
  .nv-header .nv-nav .wp-block-navigation__responsive-container-open { display: inline-flex; }
  .nv-header .nv-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
  .nv-nav .wp-block-navigation__responsive-container-open,
  .nv-nav .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0; margin-left: -10px; }
  .nv-nav .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
  .wp-block-navigation.nv-nav:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open { background-color: #fff; color: var(--wp--preset--color--ink); }
  .nv-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: .25rem; }
  .nv-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.25rem; font-weight: 600; padding: .6rem 0; }
  .nv-header__actions { gap: 0; margin-right: -10px; }
  .nv-usps__row { grid-template-columns: 1fr 1fr !important; }
  .nv-sizes__grid { grid-template-columns: 1fr 1fr !important; }
}
@media (min-width: 782px) and (max-width: 1023px) {
  .nv-label .nv-label__facts { flex-wrap: wrap !important; }
  .nv-label .nv-label__facts > .wp-block-column { flex-basis: 100% !important; }
}
@media (min-width: 600px) and (max-width: 781px) {
  .nv-story .wp-block-columns.alignwide, .nv-label .wp-block-columns.alignwide { flex-wrap: nowrap !important; }
  .nv-story .wp-block-columns.alignwide > .wp-block-column, .nv-label .wp-block-columns.alignwide > .wp-block-column:last-child { flex-basis: 55% !important; }
  .nv-story .wp-block-columns.alignwide > .wp-block-column:first-child, .nv-label .wp-block-columns.alignwide > .wp-block-column:first-child { flex-basis: 45% !important; }
  .nv-footer .nv-footer__grid { grid-template-columns: 1fr 1fr; }
  /* tablets: compact desktop banner (320px tall keeps the pack in the right 40%), copy capped at half width on a wider wash */
  .nv-slide { min-height: 0; height: 320px; padding: 1.5rem 2rem 1.5rem 4.5rem !important; }   /* left inset clears the prev arrow */
  .nv-slide::before { background: linear-gradient(90deg, var(--c) 0%, var(--c) 42%, color-mix(in srgb, var(--c) 82%, transparent) 54%, color-mix(in srgb, var(--c) 0%, transparent) 70%); }
  .nv-slide > * { max-width: 50% !important; }
  .nv-slide__kicker { font-size: .72rem; margin-bottom: .4rem; }
  .nv-slide__title { font-size: clamp(1.6rem, 3.6vw, 2.1rem); margin-bottom: .6rem; }
  .nv-slide__text { font-size: .9rem; margin-bottom: 1rem; }
  .nv-slide .wp-block-button__link { padding: .65rem 1.3rem; font-size: .875rem; }
  .nv-slider__dots { bottom: 8px; }
  .nv-feats { grid-template-columns: 1fr !important; }
}
@media (max-width: 781px) {
  :root { --nv-header-h: 64px; }
  .nv-logo img { max-height: 44px; }
  /* category circles scroll sideways */
  .nv-cats .nv-cats__row { scroll-snap-type: x proximity; gap: 1rem; }
  .nv-cat { width: 100px; scroll-snap-align: start; }
  .nv-cat__img, .nv-cat__img img { width: 84px; height: 84px; }
  .nv-cat__label { font-size: .75rem; }
  .nv-marquee__track { font-size: 1.05rem; }
  .nv-banner__grid { flex-wrap: wrap !important; }
  .nv-banner__grid > .wp-block-column { flex-basis: 100% !important; }
  .nv-banner__art { min-height: 0; }
  .nv-banner__img img { min-height: 0; aspect-ratio: 4 / 3; }
  .nv-frame--sticky { position: static; }
  .nv-footer__links li { margin-bottom: 0; }
  .nv-footer__links a { display: inline-block; padding: .55rem 0; }
  .nv-hero__cta, .nv-cta__buttons { flex-wrap: nowrap; width: 100%; gap: .6rem; }
  .nv-cta__buttons > .wp-block-button { flex: 1 1 0; min-width: 0; }
  .nv-cta__buttons .wp-block-button__link { display: block; width: 100%; white-space: nowrap; font-size: .875rem; padding-inline: .5rem; }
}
@media (max-width: 599px) {
  /* slider on phones: the pack (right part of the banner) sits in a square stage on top, copy on the colour below */
  .nv-slide { min-height: 0; padding: 100vw 1.5rem 3.5rem !important; text-align: center; background-size: 100vw auto !important; background-position: center top !important; }
  /* square mobile banners with the pack centred (scripts/make-slides.py) */
  .nv-slide--maroon { background-image: url("../img/slide-1-lineup-m.jpg") !important; }
  .nv-slide--green { background-image: url("../img/slide-2-limbu-m.jpg") !important; }
  .nv-slide--tomato { background-image: url("../img/slide-3-tomato-m.jpg") !important; }
  .nv-slide--saffron { background-image: url("../img/slide-4-lifestyle-m.jpg") !important; }
  .nv-slider__arrow { z-index: 3; }
  .nv-slide::before { background: linear-gradient(180deg, transparent 0, transparent calc(100vw - 72px), var(--c) 100vw); }
  .nv-slide > * { margin-left: auto !important; margin-right: auto !important; }
  .nv-slide__text { margin-inline: auto; }
  .nv-slide .wp-block-buttons { justify-content: center; }
  .nv-slider__arrow { top: auto; bottom: 10px; transform: none; width: 40px; height: 40px; }
  .nv-slider__dots { bottom: 20px; }
  /* product cards scroll sideways on phones (reference: zofffoods.com mobile) */
  .nv-products .nv-products__grid .wc-block-product-template.wc-block-product-template { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 1rem; max-width: none; margin-inline: calc(-1 * var(--wp--preset--spacing--30)); padding: 0 var(--wp--preset--spacing--30) .5rem; scroll-padding-inline: var(--wp--preset--spacing--30); }
  .nv-products .nv-products__grid .wc-block-product-template::-webkit-scrollbar { display: none; }
  .nv-products .nv-products__grid .wc-block-product { flex: 0 0 80%; scroll-snap-align: start; }
  .nv-label h2 { font-size: clamp(1.35rem, 6.4vw, 2.5rem); white-space: nowrap; }
  .nv-moments__grid, .nv-feats { grid-template-columns: 1fr !important; }
  .nv-story__img { max-width: 280px; }
}
@media (max-width: 480px) {
  .nv-usps__row { gap: 1rem; }
  .nv-usp { font-size: .78rem; padding-top: 4.5rem; }
  .nv-usp::before { width: 60px; height: 60px; background-size: 28px; }
  .nv-sizes__grid { gap: .75rem; }
  .nv-sizecard { padding: .75rem; }
  .nv-sizecard .wp-block-button__link { padding: .6rem .5rem; font-size: .8rem; }
  .single-product .wc-block-product-template.is-flex-container.columns-5 > li { width: calc(50% - .625em); }
}
@media (max-width: 359px) {
  .nv-cta__buttons .wp-block-button__link { font-size: .78rem; padding-inline: .2rem; }
}
