/*!
 * Nori — Honesty Fridge · front-end stylesheet
 * Plugin: nori-fridge · file: assets/nori-fridge.css · prefix: nvf-
 *
 * Source of truth: Output/design-review-shop-2026-09-05/{System,Main,Desktop,Product,Cart,Checkout}.dc.html
 * Mobile-first. One breakpoint: (min-width: 1024px) = desktop. Everything above 1023px is "desktop".
 *
 * Markup contract (PHP prints, JS binds):
 *   <html class="nvf-js">                       added by an inline script in wp_head (JS-on flag)
 *   body.nvf                                    always
 *   body.nvf-has-bar                            front page / shop / single product (bottom bar space)
 *   body.nvf-page-product / -cart / -checkout   page flags
 *   header.nvf-header … footer.nvf-footer … div.nvf-bar (PHP), div.nvf-intro (Elementor widget 509e208, re-filled via REST)
 *
 * Elementor widgets hidden by data-id (scoped by the page's .elementor-{postId} wrapper):
 *   Home 986      hide 4990515 (theme-site-logo), 0b74311 (woocommerce-menu-cart), 327469e (divider), ae3457b (footer text-editor)
 *                 KEEP 509e208 (intro text-editor), fe9a4bc (woocommerce-notices), e279515 (woocommerce-products grid)
 *   Cart 998      hide 699b0bc (theme-site-logo), 112a443 (button "← Back to Menu"), d311ad9 (divider), d149dd0 (footer text-editor)
 *                 KEEP bc9828f (woocommerce-cart shortcode widget – holds the nvf-cart mount)
 *   Checkout 1012 hide 83c3f1b (theme-site-logo), 703e47d (divider), 7bd9b44 (footer text-editor)
 *                 KEEP 11f9651 (button "← Back to Cart" – restyled as ghost pill), 40ef0db (woocommerce-checkout-page widget)
 *   Theme (Hello Elementor, single product only): #site-header, #site-footer hidden.
 *
 * Specificity notes: Woo layout rules are up to (0,4,2) [.woocommerce.columns-3 ul.products li.product], the Elementor
 * page CSS for the grid title is (0,6,2), Elementor Pro checkout rules carry IDs [(1,4,0) inputs, (2,2,0) #place_order].
 * Selectors below are built to beat those without !important; !important is used only where Elementor forces a
 * layout value (ul.products display/grid/gap, widget hiding) or where [hidden] must win over an author display.
 */

/* ------------------------------------------------------------------------------------------------
   00 · Tokens
   ------------------------------------------------------------------------------------------------ */
:root {
  --nvf-green-deep: #0E4236;
  --nvf-green: #1A6756;
  --nvf-gold: #C6A052;
  --nvf-gold-light: #E6CF75;
  --nvf-gold-deep: #6E5726;
  --nvf-cream: #F7F2E7;
  --nvf-sand: #ECE3CC;
  --nvf-white: #FFFFFF;
  --nvf-ink: #1A1A1A;
  --nvf-body: #4A4A4A;
  --nvf-muted: #5A5752;
  --nvf-label: #8a7d63;
  --nvf-placeholder: #9a958c;
  --nvf-border: rgba(198,160,82,.3);
  --nvf-border-soft: rgba(198,160,82,.22);
  --nvf-border-tile: rgba(198,160,82,.25);
  --nvf-border-header: rgba(198,160,82,.28);
  --nvf-border-pay: rgba(198,160,82,.35);
  --nvf-border-strong: rgba(198,160,82,.6);
  --nvf-input-border: rgba(7,37,29,.18);
  --nvf-focus-ring: rgba(14,66,54,.12);
  --nvf-ghost-hover: rgba(14,66,54,.06);
  --nvf-error: #b81c23;
  --nvf-shadow: 0 4px 16px rgba(7,37,29,.05);
  --nvf-serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --nvf-sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --nvf-script: 'Pinyon Script', 'Brush Script MT', cursive;
  --nvf-pill: 999px;
  --nvf-tap: 44px;
  --nvf-header-h: 68px;
  --nvf-bar-h: 68px;
}

/* ------------------------------------------------------------------------------------------------
   01 · Page base — cream ground, Poppins, gold-deep links (kills the legacy pink #cc3366 / blue)
   ------------------------------------------------------------------------------------------------ */
body.nvf {
  margin: 0;
  background: var(--nvf-cream);
  color: var(--nvf-body);
  font-family: var(--nvf-sans);
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  color-scheme: light;
  overflow-x: hidden;
  overflow-x: clip;
}
body.nvf a { color: var(--nvf-gold-deep); }
body.nvf a:hover { color: var(--nvf-green-deep); }
body.nvf button,
body.nvf input,
body.nvf select,
body.nvf textarea,
body.nvf .button,
body.nvf .elementor-button { font-family: var(--nvf-sans); }

/* border-box on everything the plugin draws */
body.nvf .nvf-header, body.nvf .nvf-header *,
body.nvf .nvf-footer, body.nvf .nvf-footer *,
body.nvf .nvf-bar, body.nvf .nvf-bar *,
body.nvf .nvf-intro, body.nvf .nvf-intro *,
body.nvf .nvf-step, body.nvf .nvf-step *,
body.nvf .nvf-qty, body.nvf .nvf-qty *,
body.nvf .nvf-also, body.nvf .nvf-also *,
body.nvf .nvf-cart, body.nvf .nvf-cart *,
body.nvf .nvf-checkout__head, body.nvf .nvf-checkout__head *,
body.nvf .nvf-btn { box-sizing: border-box; }

/* [hidden] must beat the author display values set below (flex / inline-flex) */
body.nvf .nvf-header [hidden],
body.nvf .nvf-bar[hidden],
body.nvf .nvf-bar [hidden],
body.nvf .nvf-cart [hidden],
body.nvf .nvf-step [hidden],
body.nvf .nvf-step[hidden] { display: none !important; }

/* room for the fixed bottom bar (mobile only – see desktop block); the bar never shows on pages without that room */
body.nvf.nvf-has-bar:has(.nvf-bar:not([hidden])) { padding-bottom: 84px; }
body.nvf:not(.nvf-has-bar) .nvf-bar { display: none !important; }

/* ------------------------------------------------------------------------------------------------
   02 · Legacy chrome off — theme header/footer + duplicated Elementor widgets (ids listed in header)
   ------------------------------------------------------------------------------------------------ */
body.nvf #site-header,
body.nvf #site-footer { display: none !important; }

body.nvf .elementor-986 .elementor-element-4990515,
body.nvf .elementor-986 .elementor-element-0b74311,
body.nvf .elementor-986 .elementor-element-327469e,
body.nvf .elementor-986 .elementor-element-ae3457b,
body.nvf .elementor-998 .elementor-element-699b0bc,
body.nvf .elementor-998 .elementor-element-112a443,
body.nvf .elementor-998 .elementor-element-d311ad9,
body.nvf .elementor-998 .elementor-element-d149dd0,
body.nvf .elementor-1012 .elementor-element-83c3f1b,
body.nvf .elementor-1012 .elementor-element-703e47d,
body.nvf .elementor-1012 .elementor-element-7bd9b44 { display: none !important; }

/* Elementor boxed containers on the three shop pages: no own padding / margin / max-width —
   every nvf block brings its own gutters (16px mobile, 64px desktop) so the design values are literal. */
body.nvf .elementor-986 .e-con,
body.nvf .elementor-998 .e-con,
body.nvf .elementor-1012 .e-con {
  --padding-top: 0;
  --padding-right: 0;
  --padding-bottom: 0;
  --padding-left: 0;
  --margin-top: 0;
  --margin-bottom: 0;
  --container-max-width: 100%;
}
/* no 20px flex gap between the (empty) notices row and the product grid */
body.nvf .elementor-986 .elementor-element-ca53bfd { --gap: 0; --row-gap: 0; --column-gap: 0; }

/* ------------------------------------------------------------------------------------------------
   03 · Header (sticky) — mobile: 68px, logo 52, cart circle with gold badge
   ------------------------------------------------------------------------------------------------ */
body.nvf .nvf-header {
  position: sticky;
  top: 0;
  z-index: 90;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  height: var(--nvf-header-h);
  padding: 0 16px;
  background: var(--nvf-cream);
  border-bottom: 1px solid var(--nvf-border-header);
}
body.nvf .nvf-header__brand {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}
body.nvf .nvf-header__brand:hover { color: inherit; }
body.nvf .nvf-header__logo {
  display: block;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
  max-width: none;
  object-fit: contain;
}
body.nvf .nvf-header__stack { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
body.nvf .nvf-header__eyebrow {
  font: 500 9px/1.2 var(--nvf-sans);
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--nvf-gold-deep);
}
body.nvf .nvf-header__word {
  font: 500 19px/1 var(--nvf-serif);
  color: var(--nvf-green-deep);
  white-space: nowrap;
}
body.nvf .nvf-header__right { display: flex; align-items: center; gap: 22px; flex: 0 0 auto; }
body.nvf .nvf-header__back { display: none; }
body.nvf .nvf-header__cart {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--nvf-tap);
  height: var(--nvf-tap);
  border: 1px solid var(--nvf-border-strong);
  border-radius: 50%;
  background: var(--nvf-white);
  color: var(--nvf-green-deep);
  text-decoration: none;
}
body.nvf .nvf-header__cart:hover { color: var(--nvf-green-deep); border-color: var(--nvf-gold); }
body.nvf .nvf-header__cart:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf .nvf-header__bag { display: block; flex: 0 0 auto; width: 20px; height: 20px; }
body.nvf .nvf-header__count {
  position: absolute;
  top: -4px;
  right: -4px;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: var(--nvf-pill);
  background: var(--nvf-gold);
  color: var(--nvf-ink);
  font: 500 11px/1 var(--nvf-sans);
}
body.nvf .nvf-header__total { display: none; }
body.nvf .nvf-header__checkout { display: none; }

/* ------------------------------------------------------------------------------------------------
   04 · Footer — centered, 12px, gold-deep links with 44px tap height
   ------------------------------------------------------------------------------------------------ */
body.nvf .nvf-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 22px 16px 24px;
  text-align: center;
  font: 400 12px/1.5 var(--nvf-sans);
  color: var(--nvf-muted);
}
body.nvf .nvf-footer__line {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0 8px;
}
body.nvf .nvf-footer__line a,
body.nvf .nvf-footer__home {
  display: inline-flex;
  align-items: center;
  min-height: var(--nvf-tap);
  color: var(--nvf-gold-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
body.nvf .nvf-footer__line a:hover,
body.nvf .nvf-footer__home:hover { color: var(--nvf-green-deep); }
body.nvf .nvf-footer__dot { color: var(--nvf-muted); }
body.nvf .nvf-footer__home { font-size: 13px; }

/* ------------------------------------------------------------------------------------------------
   05 · Bottom bar (mobile) — 68px green, light-gold CTA (the only place #E6CF75 is used)
   ------------------------------------------------------------------------------------------------ */
body.nvf .nvf-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 95;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: var(--nvf-bar-h);
  padding: 12px 16px;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  background: var(--nvf-green-deep);
  color: var(--nvf-cream);
}
body.nvf .nvf-bar__sum { display: flex; flex-direction: column; gap: 1px; min-width: 0; }
body.nvf .nvf-bar__count { font: 300 12px/1.3 var(--nvf-sans); color: rgba(247,242,231,.8); }
body.nvf .nvf-bar__total { font: 500 17px/1.2 var(--nvf-sans); color: var(--nvf-cream); }
body.nvf .nvf-bar__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  height: var(--nvf-tap);
  padding: 0 22px;
  border-radius: var(--nvf-pill);
  background: var(--nvf-gold-light);
  color: var(--nvf-green-deep);
  font: 500 13px/1 var(--nvf-sans);
  letter-spacing: .1em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
}
body.nvf .nvf-bar__cta:hover { color: var(--nvf-green-deep); filter: brightness(1.04); }
body.nvf .nvf-bar__cta:focus-visible { outline: 2px solid var(--nvf-cream); outline-offset: 2px; }

/* ------------------------------------------------------------------------------------------------
   06 · Shared type components — eyebrow, label, h1 (+ script accent), lead
   ------------------------------------------------------------------------------------------------ */
body.nvf .nvf-eyebrow {
  display: block;
  font: 500 10px/1.4 var(--nvf-sans);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--nvf-gold-deep);
}
body.nvf .nvf-label {
  display: block;
  font: 500 10px/1.4 var(--nvf-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nvf-label);
}
body.nvf .nvf-h1 {
  margin: 0;
  padding: 0;
  font: 500 34px/1.05 var(--nvf-serif);
  letter-spacing: 0;
  color: var(--nvf-green-deep);
}
body.nvf .nvf-now {
  font-family: var(--nvf-script);
  font-weight: 400;
  font-style: normal;
  color: var(--nvf-gold);
}
body.nvf .nvf-lead {
  margin: 0;
  font: 300 14.5px/1.6 var(--nvf-sans);
  color: var(--nvf-body);
}

/* Intro block (front page, Elementor text widget 509e208) */
body.nvf .nvf-intro {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 22px 16px 10px;
}

/* ------------------------------------------------------------------------------------------------
   07 · Product list (front page) — mobile rows, "Variante A"
   Woo markup: ul.products > li.product > a.woocommerce-LoopProduct-link > img + h2 + span.price ; a.add_to_cart_button
   JS adds li.nvf-group separators and appends div.nvf-step to each li.product
   ------------------------------------------------------------------------------------------------ */
/* legacy add-to-cart link only disappears when the stepper JS is running */
.nvf-js body.nvf .elementor-widget-woocommerce-products ul.products li.product:not(.nvf-item--native) a.add_to_cart_button,
.nvf-js body.nvf .elementor-widget-woocommerce-products ul.products li.product:not(.nvf-item--native) a.added_to_cart { display: none !important; }
/* Fallback until the intro widget 509e208 is refilled: keep a gutter around the stock paragraph */
body.nvf .elementor-986 .elementor-element-509e208 .elementor-widget-container > p { padding: 22px 16px 10px; margin: 0; }

body.nvf .elementor-widget-woocommerce-products ul.products {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  row-gap: 0 !important;
  column-gap: 0 !important;
  grid-template-columns: none !important;
  width: 100%;
  max-width: 100%;
  margin: 0 !important;
  padding: 6px 16px 0;
  list-style: none;
  box-sizing: border-box;
}
body.nvf .elementor-widget-woocommerce-products ul.products::before,
body.nvf .elementor-widget-woocommerce-products ul.products::after { content: none; display: none; }

/* row */
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  float: none;
  clear: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 12px 0;
  text-align: left;
  border: 0;
  border-bottom: 1px solid var(--nvf-border-soft);
  background: transparent;
  list-style: none;
  box-sizing: border-box;
}

/* the product link carries tile + title + price: 2-column grid, tile spans both rows */
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link {
  position: relative;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 12px;
  row-gap: 3px;
  align-items: center;
  align-content: center;
  flex: 1 1 0%;
  min-width: 0;
  margin: 0;
  padding: 0;
  color: var(--nvf-ink);
  text-decoration: none;
}
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link:hover { color: var(--nvf-ink); }
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; border-radius: 10px; }

/* 64px sand tile, 56px cut-out image inside */
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link img {
  grid-row: 1 / span 2;
  grid-column: 1;
  display: block;
  width: 64px;
  height: 64px;
  margin: 0;
  padding: 3px;
  background: var(--nvf-sand);
  border: 1px solid var(--nvf-border-tile);
  border-radius: 10px;
  object-fit: contain;
  box-shadow: none;
  box-sizing: border-box;
}
body.nvf .elementor-widget.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
  grid-column: 2;
  text-align: left;
  align-self: end;
  min-width: 0;
  margin: 0;
  padding: 0;
  font: 500 15px/1.35 var(--nvf-sans);
  color: var(--nvf-ink);
  overflow-wrap: anywhere;
}
body.nvf .elementor-widget.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price {
  grid-column: 2;
  text-align: left;
  align-self: start;
  display: block;
  margin: 0;
  padding: 0;
  font: 500 15px/1.3 var(--nvf-sans);
  color: var(--nvf-green-deep);
}
body.nvf .elementor-widget.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price * { color: inherit; font-weight: inherit; }
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .onsale,
body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .star-rating { display: none; }

/* group separators inserted by JS */
body.nvf ul.products li.nvf-group {
  display: block;
  width: 100%;
  margin: 0;
  padding: 18px 0 6px;
  border: 0;
  list-style: none;
  font: 500 10px/1.4 var(--nvf-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nvf-label);
}

/* ------------------------------------------------------------------------------------------------
   08 · Stepper — idle: 44px gold circle (+) · active: 44px green pill  [−] n [+]
   The pill shape comes from the container's radius + overflow; the segments paint the green, so
   no state class is needed on .nvf-step.
   ------------------------------------------------------------------------------------------------ */
body.nvf .nvf-step {
  display: inline-flex;
  align-items: stretch;
  flex: 0 0 auto;
  height: var(--nvf-tap);
  margin: 0 0 0 auto;
  border-radius: var(--nvf-pill);
  overflow: hidden;
}
body.nvf .nvf-step button {
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1;
  cursor: pointer;
  outline: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
body.nvf .nvf-step svg { display: block; flex: 0 0 auto; width: 16px; height: 16px; pointer-events: none; }
body.nvf .nvf-step .nvf-step__add {
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--nvf-tap);
  height: var(--nvf-tap);
  border-radius: 50%;
  background: var(--nvf-gold);
  color: var(--nvf-ink);
}
body.nvf .nvf-step .nvf-step__add svg { width: 18px; height: 18px; }
body.nvf .nvf-step .nvf-step__dec,
body.nvf .nvf-step .nvf-step__inc {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: var(--nvf-tap);
  background: var(--nvf-green-deep);
  color: var(--nvf-cream);
}
body.nvf .nvf-step .nvf-step__n {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: var(--nvf-tap);
  padding: 0;
  background: var(--nvf-green-deep);
  color: var(--nvf-cream);
  font: 500 15px/1 var(--nvf-sans);
  font-variant-numeric: tabular-nums;
  text-align: center;
}
body.nvf .nvf-step:focus-within { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf .nvf-step[aria-busy="true"],
body.nvf .nvf-step button[disabled] { opacity: .65; pointer-events: none; }
@media (hover: hover) {
  body.nvf .nvf-step .nvf-step__add:hover { filter: brightness(1.04); }
  body.nvf .nvf-step .nvf-step__dec:hover,
  body.nvf .nvf-step .nvf-step__inc:hover { background: var(--nvf-green); }
}

/* ------------------------------------------------------------------------------------------------
   09 · Single product page (Hello Elementor theme template + Woo hooks)
   ------------------------------------------------------------------------------------------------ */
body.nvf.nvf-page-product .woocommerce-breadcrumb,
body.nvf.nvf-page-product section.related,
body.nvf.nvf-page-product .product_meta,
body.nvf.nvf-page-product .woocommerce-tabs,
body.nvf.nvf-page-product .up-sells { display: none; }
body.nvf.nvf-page-product.woocommerce div.product div.images .woocommerce-product-gallery__trigger { display: none; }

/* single column, 720 max */
body.nvf.nvf-page-product #primary { margin: 0; padding: 0; }
body.nvf.nvf-page-product .site-main {
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px 40px;
  box-sizing: border-box;
}
body.nvf.nvf-page-product .woocommerce-notices-wrapper:empty { display: none; }

/* back link */
body.nvf.nvf-page-product .nvf-back {
  display: inline-flex;
  align-items: center;
  min-height: var(--nvf-tap);
  margin: 14px 0 0;
  font: 400 13px/1.2 var(--nvf-sans);
  color: var(--nvf-gold-deep);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
body.nvf.nvf-page-product .nvf-back:hover { color: var(--nvf-green-deep); }

/* kill Woo's 48% / 48% float layout */
body.nvf.nvf-page-product.woocommerce div.product { position: relative; margin: 0; }
body.nvf.nvf-page-product.woocommerce div.product div.images,
body.nvf.nvf-page-product.woocommerce div.product div.summary {
  float: none;
  clear: both;
  width: 100%;
  margin: 0;
}

/* gallery = white card */
body.nvf.nvf-page-product.woocommerce div.product div.images {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 250px;
  margin-top: 14px;
  padding: 20px;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-border);
  border-radius: 14px;
  box-sizing: border-box;
}
body.nvf.nvf-page-product.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { width: 100%; margin: 0; }
body.nvf.nvf-page-product.woocommerce div.product div.images .woocommerce-product-gallery__image,
body.nvf.nvf-page-product.woocommerce div.product div.images .woocommerce-product-gallery__image a {
  display: flex;
  align-items: center;
  justify-content: center;
}
body.nvf.nvf-page-product.woocommerce div.product div.images img {
  display: block;
  width: 210px;
  max-width: 100%;
  height: 210px;
  margin: 0 auto;
  object-fit: contain;
  box-shadow: none;
}

/* summary */
body.nvf.nvf-page-product.woocommerce div.product div.summary {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 18px 0 0;
  padding: 0;
}
body.nvf.nvf-page-product.woocommerce div.product div.summary .nvf-eyebrow { letter-spacing: .16em; color: var(--nvf-label); }
body.nvf.nvf-page-product.woocommerce div.product h1.product_title {
  clear: none;
  margin: 0;
  padding: 0;
  font: 500 32px/1.1 var(--nvf-serif);
  letter-spacing: 0;
  color: var(--nvf-green-deep);
}
body.nvf.nvf-page-product.woocommerce div.product p.price {
  display: flex;
  align-items: baseline;
  gap: 5px;
  margin: 0;
  font: 500 22px/1.2 var(--nvf-sans);
  color: var(--nvf-green-deep);
}
body.nvf.nvf-page-product.woocommerce div.product p.price * { color: inherit; font-weight: inherit; }
body.nvf.nvf-page-product.woocommerce div.product .woocommerce-product-details__short-description {
  margin: 4px 0 0;
  font: 300 14.5px/1.6 var(--nvf-sans);
  color: var(--nvf-body);
}
body.nvf.nvf-page-product.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 0 .6em; }
body.nvf.nvf-page-product.woocommerce div.product .woocommerce-product-details__short-description p:last-child { margin-bottom: 0; }

/* add-to-cart form: [ stepper ] [ gold pill flex:1 ] */
body.nvf.nvf-page-product.woocommerce div.product form.cart {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 12px;
  margin: 10px 0 0;
  padding: 0;
}
body.nvf.nvf-page-product.woocommerce div.product form.cart div.quantity {
  display: flex;
  flex: 0 0 auto;
  float: none;
  margin: 0;
}
/* no-JS fallback: plain 44px field */
body.nvf.nvf-page-product.woocommerce div.product form.cart div.quantity input.qty {
  width: 64px;
  height: var(--nvf-tap);
  margin: 0;
  padding: 0 8px;
  border: 1px solid var(--nvf-input-border);
  border-radius: 8px;
  background: var(--nvf-white);
  color: var(--nvf-ink);
  font: 500 15px/1 var(--nvf-sans);
  text-align: center;
  box-sizing: border-box;
}
body.nvf.nvf-page-product.woocommerce div.product form.cart .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 1 0%;
  min-width: 0;
  height: 48px;
  margin: 0;
  padding: 0 26px;
  float: none;
  border: 0;
  border-radius: var(--nvf-pill);
  background: var(--nvf-gold);
  color: var(--nvf-ink);
  font: 500 14px/1 var(--nvf-sans);
  letter-spacing: 0;
  text-transform: none;
  text-shadow: none;
  box-shadow: none;
  white-space: nowrap;
  cursor: pointer;
}
body.nvf.nvf-page-product.woocommerce div.product form.cart .single_add_to_cart_button:hover { background: var(--nvf-gold); color: var(--nvf-ink); filter: brightness(.97); }
body.nvf.nvf-page-product.woocommerce div.product form.cart .single_add_to_cart_button:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf.nvf-page-product.woocommerce div.product form.cart .single_add_to_cart_button.disabled,
body.nvf.nvf-page-product.woocommerce div.product form.cart .single_add_to_cart_button[disabled] { opacity: .6; cursor: not-allowed; }

/* JS wraps input.qty: div.nvf-qty > button.nvf-qty__dec + input.qty + button.nvf-qty__inc (green pill) */
body.nvf .nvf-qty {
  display: inline-flex;
  align-items: stretch;
  height: var(--nvf-tap);
  border-radius: var(--nvf-pill);
  background: var(--nvf-green-deep);
  overflow: hidden;
}
body.nvf .nvf-qty button {
  -webkit-appearance: none;
  appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: var(--nvf-tap);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nvf-cream);
  font: 400 20px/1 var(--nvf-sans);
  cursor: pointer;
  outline: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
body.nvf .nvf-qty button svg { display: block; width: 16px; height: 16px; pointer-events: none; }
body.nvf .nvf-qty input.qty,
body.nvf.nvf-page-product.woocommerce div.product form.cart div.quantity .nvf-qty input.qty {
  width: 34px;
  min-width: 22px;
  height: var(--nvf-tap);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nvf-cream);
  font: 500 15px/1 var(--nvf-sans);
  font-variant-numeric: tabular-nums;
  text-align: center;
  outline: none;
  -moz-appearance: textfield;
  appearance: textfield;
}
body.nvf .nvf-qty input.qty::-webkit-outer-spin-button,
body.nvf .nvf-qty input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body.nvf .nvf-qty:focus-within { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
@media (hover: hover) {
  body.nvf .nvf-qty button:hover { background: var(--nvf-green); }
}

/* "Also in the fridge" — 3 small cards, horizontal */
body.nvf .nvf-also {
  display: flex;
  flex-direction: column;
  gap: 10px;
  clear: both;
  margin: 26px 0 0;
  padding: 0;
}
body.nvf .nvf-also__row {
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 0 0 4px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
body.nvf .nvf-also__row::-webkit-scrollbar { display: none; }
body.nvf .nvf-also__card {
  display: flex;
  flex: 0 0 108px;
  flex-direction: column;
  gap: 6px;
  width: 108px;
  padding: 8px;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-border);
  border-radius: 10px;
  color: var(--nvf-ink);
  text-decoration: none;
}
body.nvf .nvf-also__card:hover { color: var(--nvf-ink); border-color: var(--nvf-gold); }
body.nvf .nvf-also__card:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf .nvf-also__img {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  background: var(--nvf-sand);
  border-radius: 6px;
  overflow: hidden;
}
body.nvf .nvf-also__img img { display: block; width: 72px; max-width: 100%; height: 72px; margin: 0; object-fit: contain; }
body.nvf .nvf-also__name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 31px;
  overflow: hidden;
  font: 500 12px/1.3 var(--nvf-sans);
  color: var(--nvf-ink);
}
body.nvf .nvf-also__price { font: 500 13px/1.2 var(--nvf-sans); color: var(--nvf-green-deep); }
body.nvf .nvf-also__price * { color: inherit; font-weight: inherit; }

/* ------------------------------------------------------------------------------------------------
   10 · Cart page — JS renders into [data-nvf-cart-mount]; Woo's table stays as the no-JS fallback
   ------------------------------------------------------------------------------------------------ */
.nvf-js body.nvf.nvf-page-cart .woocommerce-cart-form,
.nvf-js body.nvf.nvf-page-cart .cart-collaterals,
.nvf-js body.nvf.nvf-page-cart .wc-empty-cart-message,
.nvf-js body.nvf.nvf-page-cart .return-to-shop { display: none !important; }
/* Elementor cart widget wrappers: strip the white section boxes / 2-col grid that would remain around the hidden form */
.nvf-js body.nvf.nvf-page-cart .elementor-widget-woocommerce-cart .e-cart__container { display: block; }
.nvf-js body.nvf.nvf-page-cart .elementor-widget-woocommerce-cart .e-cart-section {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.nvf-js body.nvf.nvf-page-cart .elementor-widget-woocommerce-cart .e-cart-section:not(:has([data-nvf-cart-mount])) { display: none; }

body.nvf .nvf-cart {
  width: 100%;
  max-width: 512px;
  margin: 0 auto;
  padding: 0 16px 30px;
}
body.nvf .nvf-cart a:not(.nvf-btn) { color: var(--nvf-gold-deep) !important; }
body.nvf .nvf-cart a:not(.nvf-btn):hover { color: var(--nvf-green-deep) !important; }
body.nvf .nvf-cart__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 0 10px;
}
body.nvf .nvf-cart__head .nvf-eyebrow { letter-spacing: .16em; color: var(--nvf-label); }
body.nvf .nvf-cart__head .nvf-h1,
body.nvf .nvf-checkout__head .nvf-h1 { font-size: 32px; line-height: 1.1; }

body.nvf .nvf-cart__rows,
body.nvf .nvf-cart__items { display: flex; flex-direction: column; }

/* row: [tile] [name / "2 × $3.50"] [stepper] */
body.nvf .nvf-row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--nvf-border-soft);
}
body.nvf .nvf-row__img,
body.nvf .nvf-row__tile {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 64px;
  width: 64px;
  height: 64px;
  background: var(--nvf-sand);
  border: 1px solid var(--nvf-border-tile);
  border-radius: 10px;
  overflow: hidden;
}
body.nvf .nvf-row img { display: block; width: 56px; max-width: 100%; height: 56px; margin: 0; object-fit: contain; }
/* if the tile IS the <img> (no wrapper) it still reads as a 64px sand tile */
body.nvf .nvf-row img.nvf-row__img,
body.nvf .nvf-row img.nvf-row__tile { width: 64px; height: 64px; padding: 3px; }
body.nvf .nvf-row__body,
body.nvf .nvf-row__text {
  display: flex;
  flex: 1 1 0%;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
body.nvf .nvf-row__name,
body.nvf .nvf-row__title { font: 500 15px/1.35 var(--nvf-sans); color: var(--nvf-ink); overflow-wrap: anywhere; }
body.nvf .nvf-row__sub,
body.nvf .nvf-row__meta { font: 300 12.5px/1.4 var(--nvf-sans); color: var(--nvf-muted); }
body.nvf .nvf-row .nvf-step { margin-left: auto; }

/* totals card */
body.nvf .nvf-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 18px 0 0;
  padding: 18px;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-border);
  border-radius: 14px;
  box-shadow: var(--nvf-shadow);
}
body.nvf .nvf-card p { margin: 0; }
body.nvf .nvf-card__row,
body.nvf .nvf-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  font: 400 14px/1.4 var(--nvf-sans);
  color: var(--nvf-body);
}
body.nvf .nvf-card__row > :last-child,
body.nvf .nvf-line > :last-child { font-weight: 500; color: var(--nvf-ink); white-space: nowrap; }
body.nvf .nvf-card__row--total,
body.nvf .nvf-line--total { font-size: 16px; font-weight: 500; color: var(--nvf-ink); }
body.nvf .nvf-card__row--total > :last-child,
body.nvf .nvf-line--total > :last-child { font-size: 20px; color: var(--nvf-green-deep); }
body.nvf .nvf-card__divider,
body.nvf .nvf-divider,
body.nvf .nvf-card hr { height: 1px; margin: 0; border: 0; background: var(--nvf-border-tile); }
body.nvf .nvf-card__note,
body.nvf .nvf-note { font: 300 12px/1.5 var(--nvf-sans); color: var(--nvf-muted); }

/* buttons */
body.nvf .nvf-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: var(--nvf-pill);
  font: 500 14px/1 var(--nvf-sans);
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
/* colour !important: the Elementor cart widget rule `.woocommerce a:not(.a):not(.b):not(.c):not(.d)` is (0,6,1) */
body.nvf .nvf-btn--gold { height: 48px; padding: 0 26px; background: var(--nvf-gold); color: var(--nvf-ink) !important; }
body.nvf .nvf-btn--gold:hover { color: var(--nvf-ink) !important; filter: brightness(.97); }
body.nvf .nvf-btn--ghost {
  height: var(--nvf-tap);
  padding: 0 22px;
  border: 1.5px solid var(--nvf-green-deep);
  background: transparent;
  color: var(--nvf-green-deep) !important;
  font-size: 13px;
}
body.nvf .nvf-btn--ghost:hover { background: var(--nvf-ghost-hover); color: var(--nvf-green-deep) !important; }
body.nvf .nvf-btn:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf .nvf-cart__actions { display: flex; flex-direction: column; gap: 10px; padding: 16px 0 0; }
body.nvf .nvf-cart > .nvf-btn { margin-top: 10px; }
body.nvf .nvf-cart > .nvf-card + .nvf-btn,
body.nvf .nvf-cart > .nvf-empty + .nvf-btn { margin-top: 16px; }
body.nvf .nvf-empty { margin: 8px 0 0; font: 300 14.5px/1.6 var(--nvf-sans); color: var(--nvf-body); }

/* ------------------------------------------------------------------------------------------------
   11 · Checkout page — Elementor Pro checkout widget (legacy 2-col) → one 480px column of white cards
   ------------------------------------------------------------------------------------------------ */
/* Elementor "← Back to Cart" button → ghost pill */
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 {
  width: 100%;
  max-width: 512px;
  margin: 14px auto 0;
  padding: 0 16px;
  box-sizing: border-box;
}
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 .elementor-button-wrapper { display: flex; }
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: var(--nvf-tap);
  padding: 0 22px;
  border: 1.5px solid var(--nvf-green-deep);
  border-radius: var(--nvf-pill);
  background: transparent;
  color: var(--nvf-green-deep);
  font: 500 13px/1 var(--nvf-sans);
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
  box-shadow: none;
}
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 .elementor-button:hover,
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 .elementor-button:focus { background: var(--nvf-ghost-hover); color: var(--nvf-green-deep); }
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 .elementor-button-content-wrapper { display: flex; align-items: center; gap: 6px; }
body.nvf.nvf-page-checkout .elementor-1012 .elementor-element-11f9651 .elementor-button-text { color: inherit; }

/* column */
body.nvf.nvf-page-checkout .elementor-widget-woocommerce-checkout-page .woocommerce {
  width: 100%;
  max-width: 512px;
  margin: 0 auto;
  padding: 0 16px 30px;
  box-sizing: border-box;
}
body.nvf .nvf-checkout__head {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 22px 0 12px;
}
body.nvf.nvf-page-checkout form.checkout { margin: 0; }
body.nvf.nvf-page-checkout .elementor-widget-woocommerce-checkout-page .e-checkout__container {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
}
body.nvf.nvf-page-checkout .e-checkout__column,
body.nvf.nvf-page-checkout .e-checkout__column-inner { display: block; width: 100%; margin: 0; padding: 0; }
body.nvf.nvf-page-checkout .e-sticky-right-column,
body.nvf.nvf-page-checkout .e-sticky-right-column--active { position: static; top: auto; }
body.nvf.nvf-page-checkout .woocommerce .col2-set,
body.nvf.nvf-page-checkout .woocommerce #customer_details .col2-set .col-1,
body.nvf.nvf-page-checkout .woocommerce #customer_details .col2-set .col-2 {
  float: none;
  width: 100%;
  margin: 0;
  padding: 0;
}
body.nvf.nvf-page-checkout .woocommerce .col2-set::before,
body.nvf.nvf-page-checkout .woocommerce .col2-set::after { content: none; display: none; }
/* Elementor paints its own section boxes on these – reset, the cards below take over */
body.nvf.nvf-page-checkout .woocommerce #customer_details .col-1,
body.nvf.nvf-page-checkout .woocommerce .e-checkout__order_review {
  display: block;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
body.nvf.nvf-page-checkout .woocommerce-billing-fields h3,
body.nvf.nvf-page-checkout #order_review_heading,
body.nvf.nvf-page-checkout .woocommerce-additional-fields { display: none; }

/* cards */
body.nvf.nvf-page-checkout .woocommerce .woocommerce-billing-fields,
body.nvf.nvf-page-checkout .woocommerce #order_review,
body.nvf.nvf-page-checkout .woocommerce #payment {
  display: block;
  margin: 0;
  padding: 18px;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-border);
  border-radius: 14px;
  box-shadow: var(--nvf-shadow);
  box-sizing: border-box;
}
body.nvf.nvf-page-checkout .woocommerce #order_review,
body.nvf.nvf-page-checkout .woocommerce #payment { margin: 12px 0 0; }

/* fields */
body.nvf.nvf-page-checkout .woocommerce form .form-row,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row { margin: 0 0 12px; padding: 0; }
body.nvf.nvf-page-checkout .woocommerce form .form-row:last-child,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row:last-child { margin-bottom: 0; }
body.nvf.nvf-page-checkout .woocommerce form .form-row::before,
body.nvf.nvf-page-checkout .woocommerce form .form-row::after { content: none; display: none; }
body.nvf.nvf-page-checkout .woocommerce form .form-row label,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row label {
  display: block;
  margin: 0 0 6px;
  font: 500 10px/1.4 var(--nvf-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--nvf-label);
}
body.nvf.nvf-page-checkout .woocommerce form .form-row .required,
body.nvf.nvf-page-checkout .woocommerce form .form-row .optional { display: none; }
body.nvf.nvf-page-checkout .woocommerce form .form-row .woocommerce-input-wrapper { display: block; }
body.nvf.nvf-page-checkout .woocommerce form .form-row .input-text,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row .input-text,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row select {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0 14px;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-input-border);
  border-radius: 8px;
  color: var(--nvf-ink);
  font: 400 15px/1.2 var(--nvf-sans);
  letter-spacing: normal;
  box-shadow: none;
  box-sizing: border-box;
  outline: none;
}
body.nvf.nvf-page-checkout .woocommerce form .form-row textarea.input-text,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row textarea {
  height: auto;
  min-height: 96px;
  padding: 12px 14px;
  line-height: 1.5;
  resize: vertical;
}
body.nvf.nvf-page-checkout .woocommerce form .form-row .input-text:focus,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row .input-text:focus,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row select:focus {
  border-color: var(--nvf-green-deep);
  box-shadow: 0 0 0 3px var(--nvf-focus-ring);
}
body.nvf.nvf-page-checkout .woocommerce form .form-row .input-text::placeholder { color: var(--nvf-placeholder); opacity: 1; }
body.nvf.nvf-page-checkout .woocommerce form .form-row.woocommerce-invalid .input-text,
body.nvf.nvf-page-checkout .woocommerce #customer_details .form-row.woocommerce-invalid .input-text { border-color: var(--wc-red, var(--nvf-error)); }
body.nvf.nvf-page-checkout .woocommerce form .form-row.woocommerce-invalid label { color: var(--nvf-label); }

/* order review table → simple lines: item × qty … price · divider · Subtotal · Total */
body.nvf.nvf-page-checkout #order_review table.shop_table {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
  border-spacing: 0;
  border-radius: 0;
  background: transparent;
  font: 400 14px/1.4 var(--nvf-sans);
  color: var(--nvf-ink);
}
body.nvf.nvf-page-checkout #order_review table.shop_table thead { display: none; }
body.nvf.nvf-page-checkout #order_review table.shop_table th,
body.nvf.nvf-page-checkout #order_review table.shop_table td {
  padding: 6px 0;
  border: 0;
  background: transparent;
  vertical-align: baseline;
  line-height: 1.4;
  text-align: left;
  font-weight: 400;
  color: var(--nvf-ink);
}
body.nvf.nvf-page-checkout #order_review table.shop_table tbody tr:first-child td { padding-top: 0; }
body.nvf.nvf-page-checkout #order_review table.shop_table td.product-total,
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot td { text-align: right; font-weight: 500; white-space: nowrap; }
body.nvf.nvf-page-checkout #order_review table.shop_table .product-quantity { font-weight: 500; }
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot tr:first-child th,
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot tr:first-child td { padding-top: 12px; border-top: 1px solid var(--nvf-border-tile); }
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot tr.cart-subtotal th { color: var(--nvf-body); }
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot tr.order-total th { padding-bottom: 0; font-size: 16px; font-weight: 500; color: var(--nvf-ink); }
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot tr.order-total td { padding-bottom: 0; font-size: 20px; font-weight: 500; color: var(--nvf-green-deep); }
body.nvf.nvf-page-checkout #order_review table.shop_table tfoot tr.order-total td strong { font-weight: 500; }
body.nvf.nvf-page-checkout #order_review table.shop_table small.includes_tax { display: block; font: 300 12px/1.4 var(--nvf-sans); color: var(--nvf-muted); }
body.nvf.nvf-page-checkout #order_review .woocommerce-Price-amount { color: inherit; font-weight: inherit; }

/* payment: methods first, PayPal smart buttons, then Place order, then the privacy note */
body.nvf.nvf-page-checkout .woocommerce #payment { display: flex; flex-direction: column; }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods {
  order: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  list-style: none;
  text-align: left;
}
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods::before,
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods::after,
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li::before,
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li::after { content: none; display: none; }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-border-pay);
  border-radius: 10px;
  line-height: 1.4;
  font-weight: 400;
  text-align: left;
}
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li:has(> input:checked) { border: 1.5px solid var(--nvf-green-deep); }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li input.input-radio {
  position: absolute;
  top: 17px;
  left: 14px;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--nvf-green-deep);
  cursor: pointer;
}
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li input.input-radio:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li label {
  display: flex;
  flex: 1 1 100%;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  margin: 0;
  padding: 0 14px 0 46px;
  font: 500 14px/1.3 var(--nvf-sans);
  color: var(--nvf-ink);
  cursor: pointer;
  box-sizing: border-box;
}
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li label img {
  float: none;
  width: auto;
  max-width: none;
  height: 20px;
  margin: 0 0 0 auto;
  padding: 0;
  vertical-align: middle;
}
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li label img + img { margin-left: 4px; }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li label a { float: none; margin-left: auto; padding: 0; font-size: 12px; color: var(--nvf-gold-deep); }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li div.payment_box {
  position: static;
  flex: 1 1 100%;
  width: 100%;
  margin: 0;
  padding: 0 14px 12px 46px;
  background: transparent;
  border: 0;
  border-radius: 0;
  font: 300 12.5px/1.5 var(--nvf-sans);
  color: var(--nvf-muted);
  box-sizing: border-box;
}
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li div.payment_box::before { content: none; display: none; }
body.nvf.nvf-page-checkout #payment ul.wc_payment_methods li div.payment_box p { margin: 0; }

/* PayPal smart buttons: the PPCP plugin prints .ppc-button-wrapper / #ppc-button-* AFTER #payment (siblings inside
   .e-checkout__order_review-2) and hides #place_order via .ppcp-hidden; they take the full column width */
body.nvf.nvf-page-checkout .ppc-button-wrapper,
body.nvf.nvf-page-checkout [id^="ppc-button-"],
body.nvf.nvf-page-checkout .ppcp-button-apm { width: 100%; max-width: none; margin: 0; }
body.nvf.nvf-page-checkout .ppc-button-wrapper > [id^="ppc-button-"]:not(:empty),
body.nvf.nvf-page-checkout .e-checkout__order_review-2 > [id^="ppc-button-"]:not(:empty),
body.nvf.nvf-page-checkout .ppcp-button-apm { margin-top: 12px; }
body.nvf.nvf-page-checkout .ppcp-messages { margin-top: 12px; }

body.nvf.nvf-page-checkout #payment .form-row.place-order {
  order: 3;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
}
body.nvf.nvf-page-checkout #payment .form-row.place-order noscript { order: 0; }
body.nvf.nvf-page-checkout #payment #place_order {
  -webkit-appearance: none;
  appearance: none;
  order: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 52px;
  margin: 18px 0 0;
  padding: 0 26px;
  float: none;
  border: 0;
  border-radius: var(--nvf-pill);
  background: var(--nvf-gold);
  color: var(--nvf-ink);
  font: 500 15px/1 var(--nvf-sans);
  letter-spacing: 0;
  text-transform: none;
  text-shadow: none;
  box-shadow: none;
  box-sizing: border-box;
  cursor: pointer;
}
body.nvf.nvf-page-checkout #payment #place_order:hover { background: var(--nvf-gold); color: var(--nvf-ink); filter: brightness(.97); }
body.nvf.nvf-page-checkout #payment #place_order:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
body.nvf.nvf-page-checkout #payment #place_order[disabled],
body.nvf.nvf-page-checkout #payment #place_order.disabled { opacity: .6; cursor: not-allowed; }
body.nvf.nvf-page-checkout #payment .woocommerce-terms-and-conditions-wrapper { order: 2; margin: 0; }
body.nvf.nvf-page-checkout .woocommerce-privacy-policy-text {
  margin: 12px 0 0;
  text-align: center;
  font: 300 12px/1.6 var(--nvf-sans);
  color: var(--nvf-muted);
}
body.nvf.nvf-page-checkout .woocommerce-privacy-policy-text p { margin: 0; font-size: 12px; font-weight: 300; color: inherit; }
body.nvf.nvf-page-checkout .woocommerce-privacy-policy-text a { color: var(--nvf-gold-deep); text-decoration: underline; text-underline-offset: 2px; }
body.nvf.nvf-page-checkout .woocommerce-privacy-policy-text a:hover { color: var(--nvf-green-deep); }

/* ------------------------------------------------------------------------------------------------
   12 · Woo notices (validation errors, "added to cart", empty cart without JS) — same card language
   ------------------------------------------------------------------------------------------------ */
body.nvf .woocommerce-message,
body.nvf .woocommerce-info,
body.nvf .woocommerce-error {
  margin: 12px 0;
  padding: 14px 16px 14px 44px;
  background: var(--nvf-white);
  border: 1px solid var(--nvf-border);
  border-top: 3px solid var(--nvf-green-deep);
  border-radius: 10px;
  color: var(--nvf-body);
  font: 300 14px/1.5 var(--nvf-sans);
  list-style: none;
}
body.nvf .woocommerce-message::before,
body.nvf .woocommerce-info::before { color: var(--nvf-green-deep); }
body.nvf .woocommerce-error { border-top-color: var(--wc-red, var(--nvf-error)); }
body.nvf .woocommerce-error::before { color: var(--wc-red, var(--nvf-error)); }
body.nvf .woocommerce-message a.button,
body.nvf .woocommerce-info a.button,
body.nvf .woocommerce-error a.button {
  display: inline;
  float: none;
  margin: 0 0 0 8px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--nvf-gold-deep);
  font: 500 14px/1.5 var(--nvf-sans);
  text-decoration: underline;
}

/* ------------------------------------------------------------------------------------------------
   13 · Motion
   ------------------------------------------------------------------------------------------------ */
body.nvf .nvf-step .nvf-step__add,
body.nvf .nvf-step .nvf-step__dec,
body.nvf .nvf-step .nvf-step__inc,
body.nvf .nvf-qty button,
body.nvf .nvf-btn,
body.nvf .nvf-bar__cta,
body.nvf .nvf-header__cart,
body.nvf .nvf-header__checkout,
body.nvf .nvf-also__card { transition: background-color .15s ease, border-color .15s ease, color .15s ease, filter .15s ease; }
@media (prefers-reduced-motion: reduce) {
  body.nvf .nvf-step .nvf-step__add,
  body.nvf .nvf-step .nvf-step__dec,
  body.nvf .nvf-step .nvf-step__inc,
  body.nvf .nvf-qty button,
  body.nvf .nvf-btn,
  body.nvf .nvf-bar__cta,
  body.nvf .nvf-header__cart,
  body.nvf .nvf-header__checkout,
  body.nvf .nvf-also__card { transition: none; }
}

/* ================================================================================================
   14 · DESKTOP (≥ 1024px) — header 104 / logo 80 / back link + cart pill + gold checkout pill,
        bar off, intro centered, 4-column white cards, wider product page
   ================================================================================================ */
@media (min-width: 1024px) {
  /* bar → header pill takes over */
  body.nvf.nvf-has-bar { padding-bottom: 0; }
  body.nvf .nvf-bar { display: none !important; }

  /* header */
  body.nvf .nvf-header { height: 104px; padding: 0 64px; }
  body.nvf .nvf-header__logo { width: 80px; height: 80px; }
  body.nvf .nvf-header__word { font-size: 24px; }
  body.nvf .nvf-header__back {
    display: inline-flex;
    align-items: center;
    min-height: var(--nvf-tap);
    font: 400 14px/1.2 var(--nvf-sans);
    color: var(--nvf-gold-deep);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    white-space: nowrap;
  }
  body.nvf .nvf-header__back:hover { color: var(--nvf-green-deep); }
  body.nvf .nvf-header__cart {
    width: auto;
    height: var(--nvf-tap);
    padding: 0 18px;
    gap: 10px;
    border-radius: var(--nvf-pill);
  }
  body.nvf .nvf-header__count {
    position: static;
    display: inline-flex;
    min-width: 0;
    height: auto;
    padding: 0;
    background: transparent;
    color: var(--nvf-green-deep);
    font: 500 14px/1 var(--nvf-sans);
  }
  /* "3 · $10.50" — the separator is drawn here; JS writes plain "3" and "$10.50" */
  body.nvf .nvf-header__count:not([hidden]) + .nvf-header__total:not(:empty)::before { content: "\00B7"; margin: 0 6px 0 0; }
  body.nvf .nvf-header__total {
    display: inline-flex;
    align-items: center;
    font: 500 14px/1 var(--nvf-sans);
    color: var(--nvf-green-deep);
    white-space: nowrap;
  }
  body.nvf .nvf-header__checkout {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: var(--nvf-tap);
    padding: 0 22px;
    border-radius: var(--nvf-pill);
    background: var(--nvf-gold);
    color: var(--nvf-ink);
    font: 500 14px/1 var(--nvf-sans);
    text-decoration: none;
    white-space: nowrap;
  }
  body.nvf .nvf-header__checkout:hover { color: var(--nvf-ink); filter: brightness(.97); }
  body.nvf .nvf-header__checkout:focus-visible { outline: 2px solid var(--nvf-gold-deep); outline-offset: 2px; }
  body.nvf .nvf-header__checkout[hidden] { display: none !important; }

  /* footer */
  body.nvf .nvf-footer { gap: 6px; padding: 56px 64px 40px; font-size: 13px; }

  /* intro */
  body.nvf .nvf-intro { align-items: center; gap: 10px; padding: 56px 64px 28px; text-align: center; }
  body.nvf .nvf-h1 { font-size: 48px; }
  body.nvf .nvf-lead { max-width: 560px; font-size: 16px; }
  body.nvf .nvf-cart__head .nvf-h1,
  body.nvf .nvf-checkout__head .nvf-h1 { font-size: 40px; }

  /* product grid: 4 white cards, 20px gap, 1312 content (1440 − 2×64) */
  body.nvf .elementor-widget-woocommerce-products ul.products {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    row-gap: 20px !important;
    column-gap: 20px !important;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto !important;
    padding: 0 64px;
  }
  body.nvf ul.products li.nvf-group { display: none; }
  body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    min-width: 0;
    padding: 16px 16px 70px;
    background: var(--nvf-white);
    border: 1px solid var(--nvf-border);
    border-radius: 14px;
    box-shadow: var(--nvf-shadow);
  }
  body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link {
    position: static;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 10px;
    width: 100%;
    text-align: left;
  }
  body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link:focus-visible { outline-offset: -2px; }
  body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product a.woocommerce-LoopProduct-link img {
    width: 100%;
    height: 180px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
  }
  body.nvf .elementor-widget.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .woocommerce-loop-product__title {
    align-self: auto; /* the mobile grid's align-self:end would mean "right edge" in this flex column */
    min-height: 42px;
    line-height: 1.4;
    text-align: left;
  }
  /* bottom row: price left, stepper right (both pinned to the card's bottom padding) */
  body.nvf .elementor-widget.elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .price {
    position: absolute;
    left: 16px;
    bottom: 16px;
    display: flex;
    align-items: center;
    height: var(--nvf-tap);
    font-size: 16px;
  }
  body.nvf .elementor-widget-woocommerce-products.elementor-wc-products ul.products li.product .nvf-step {
    position: absolute;
    right: 16px;
    bottom: 16px;
    margin: 0;
  }

  /* product page */
  body.nvf.nvf-page-product .site-main { padding-bottom: 64px; }
  body.nvf.nvf-page-product .nvf-back { margin-top: 24px; }
  body.nvf.nvf-page-product.woocommerce div.product div.images { min-height: 320px; padding: 24px; }
  body.nvf.nvf-page-product.woocommerce div.product div.images img { width: 280px; height: 280px; }
  body.nvf.nvf-page-product.woocommerce div.product h1.product_title { font-size: 40px; }
  body.nvf .nvf-also__row { overflow: visible; }
}

@media (min-width: 1024px) {
  body.nvf .elementor-986 .elementor-element-509e208 .elementor-widget-container > p { padding: 56px 64px 28px; text-align: center; }
}

/* ------------------------------------------------------------------ */
/* 13b. Order-received (thank-you) page — body.nvf-page-received       */
/* ------------------------------------------------------------------ */
body.nvf.nvf-page-received .elementor-1012 .elementor-element-11f9651 { display: none !important; }
body.nvf.nvf-page-received .woocommerce-order .nvf-received__head ~ .woocommerce-thankyou-order-received { display: none; }
body.nvf.nvf-page-received .woocommerce-thankyou-order-received { font-family: 'Cormorant Garamond', Georgia, serif; font-size: 32px; font-weight: 500; line-height: 1.1; color: var(--nvf-green-deep); margin: 6px 0 14px; }
body.nvf.nvf-page-received .woocommerce-thankyou-order-received small { display: block; margin-top: 10px; font-family: 'Poppins', system-ui, sans-serif; font-size: 14.5px; font-weight: 300; line-height: 1.6; color: var(--nvf-body); }
body.nvf.nvf-page-received .woocommerce-thankyou-order-received small a { color: var(--nvf-green-deep); font-weight: 500; }
body.nvf.nvf-page-received .woocommerce-customer-details { display: none; }
body.nvf.nvf-page-received .nvf-received__head { display: flex; flex-direction: column; gap: 6px; padding: 6px 0 20px; }
body.nvf.nvf-page-received .nvf-received__head .nvf-h1 { margin: 0; font-size: 32px; line-height: 1.1; }
body.nvf.nvf-page-received .nvf-received__head .nvf-lead { margin: 2px 0 0; font-size: 14.5px; font-weight: 300; line-height: 1.6; color: var(--nvf-body); }
body.nvf.nvf-page-received .nvf-received__head .nvf-lead strong { font-weight: 500; color: var(--nvf-ink); }
body.nvf.nvf-page-received ul.woocommerce-order-overview {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px;
  margin: 0 0 22px; padding: 18px; list-style: none;
  background: #FFFFFF; border: 1px solid var(--nvf-border); border-radius: 14px; box-shadow: 0 4px 16px rgba(7,37,29,.05);
}
body.nvf.nvf-page-received ul.woocommerce-order-overview::before,
body.nvf.nvf-page-received ul.woocommerce-order-overview::after { content: none; display: none; }
body.nvf.nvf-page-received ul.woocommerce-order-overview li {
  float: none; margin: 0; padding: 0; border: 0 !important; min-width: 0; font-size: 0; line-height: 0;
}
body.nvf.nvf-page-received ul.woocommerce-order-overview li::before {
  display: block; font-family: 'Poppins', system-ui, sans-serif; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; line-height: 1.4; color: var(--nvf-label);
}
body.nvf.nvf-page-received ul.woocommerce-order-overview li.order::before { content: 'Order'; }
body.nvf.nvf-page-received ul.woocommerce-order-overview li.date::before { content: 'Date'; }
body.nvf.nvf-page-received ul.woocommerce-order-overview li.total::before { content: 'Total'; }
body.nvf.nvf-page-received ul.woocommerce-order-overview li.method::before { content: 'Payment'; }
body.nvf.nvf-page-received ul.woocommerce-order-overview li.email::before { content: 'Email'; }
body.nvf.nvf-page-received ul.woocommerce-order-overview li strong {
  display: block; margin-top: 4px; font-family: 'Poppins', system-ui, sans-serif; font-size: 15px; font-weight: 500; letter-spacing: 0; text-transform: none; line-height: 1.35; color: var(--nvf-ink); overflow-wrap: anywhere;
}
body.nvf.nvf-page-received ul.woocommerce-order-overview li.total strong { color: var(--nvf-green-deep); }
body.nvf.nvf-page-received .woocommerce-order h2 {
  font-family: 'Cormorant Garamond', Georgia, serif; font-size: 26px; font-weight: 500; line-height: 1.1; color: var(--nvf-green-deep); margin: 6px 0 12px;
}
body.nvf.nvf-page-received table.woocommerce-table--order-details {
  width: 100%; table-layout: fixed; border-collapse: separate; border-spacing: 0; margin: 0 0 18px;
  background: #FFFFFF; border: 1px solid var(--nvf-border); border-radius: 14px; overflow: hidden; box-shadow: 0 4px 16px rgba(7,37,29,.05);
  font-family: 'Poppins', system-ui, sans-serif;
}
/* fixed 70/30 columns: a long text cell (customer note) can no longer squeeze the product column */
body.nvf.nvf-page-received table.woocommerce-table--order-details th:first-child,
body.nvf.nvf-page-received table.woocommerce-table--order-details td:first-child { width: 70%; overflow-wrap: anywhere; }
body.nvf.nvf-page-received table.woocommerce-table--order-details thead { display: none; }
body.nvf.nvf-page-received table.woocommerce-table--order-details th,
body.nvf.nvf-page-received table.woocommerce-table--order-details td {
  padding: 13px 16px; border: 0; border-bottom: 1px solid rgba(198,160,82,.22); font-size: 14px; line-height: 1.4; vertical-align: middle; background: transparent;
}
body.nvf.nvf-page-received table.woocommerce-table--order-details td.product-name { font-weight: 500; color: var(--nvf-ink); }
body.nvf.nvf-page-received table.woocommerce-table--order-details td.product-name a { color: var(--nvf-ink); text-decoration: none; }
body.nvf.nvf-page-received table.woocommerce-table--order-details .product-quantity { font-weight: 300; color: var(--nvf-muted); }
body.nvf.nvf-page-received table.woocommerce-table--order-details td.product-total,
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot td { text-align: right; font-weight: 500; color: var(--nvf-green-deep); white-space: nowrap; }
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot th { text-align: left; font-weight: 400; color: var(--nvf-muted); }
/* Woo's "Actions: Pay / Cancel" row (unpaid/failed orders) — Pay already sits above as a gold pill */
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:has(th.order-actions--heading) { display: none !important; } /* !important: the stacked note-row rule below has higher specificity and sets display:block */
/* Total = last labelled row (scope="row"); separate rules so an unsupported selector only drops itself */
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:last-child th,
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:last-child td { border-bottom: 0; font-size: 16px; font-weight: 500; color: var(--nvf-ink); }
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:last-child td { font-size: 20px; color: var(--nvf-green-deep); }
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) th,
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) td { border-bottom: 0; font-size: 16px; font-weight: 500; color: var(--nvf-ink); }
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) td { font-size: 20px; color: var(--nvf-green-deep); }
/* rows after Total (customer note): stack label over full-width text instead of squeezing into the 30% column */
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) ~ tr { display: block; border-top: 1px solid rgba(198,160,82,.22); padding: 12px 16px 13px; }
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) ~ tr th,
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) ~ tr td { display: block; width: 100%; box-sizing: border-box; padding: 0; border: 0; text-align: left; white-space: normal; overflow-wrap: anywhere; font-size: 13px; font-weight: 300; color: var(--nvf-muted); }
body.nvf.nvf-page-received table.woocommerce-table--order-details tfoot tr:nth-last-child(1 of :has(th[scope="row"])) ~ tr th { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: var(--nvf-label); margin-bottom: 4px; }
/* failed order: our head already says "Payment not completed." — hide Woo's duplicate notice, keep only "Pay" as a gold pill */
body.nvf.nvf-page-received .woocommerce-order .woocommerce-thankyou-order-failed { display: none; }
body.nvf.nvf-page-received .woocommerce-order .woocommerce-thankyou-order-failed-actions { margin: 0 0 22px; }
body.nvf.nvf-page-received .woocommerce-order .woocommerce-thankyou-order-failed-actions .button {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; padding: 0 22px; box-sizing: border-box; margin: 0;
  border: 0; border-radius: 999px; background: var(--nvf-gold); color: var(--nvf-green-deep);
  font-family: 'Poppins', system-ui, sans-serif; font-size: 15px; font-weight: 500; text-decoration: none; cursor: pointer;
}
body.nvf.nvf-page-received .woocommerce-order .woocommerce-thankyou-order-failed-actions .button:hover { background: var(--nvf-green-deep); color: var(--nvf-cream); }
body.nvf.nvf-page-received .woocommerce-order .woocommerce-thankyou-order-failed-actions .button:not(.pay),
body.nvf.nvf-page-received .woocommerce-order .woocommerce-thankyou-order-failed-actions .button.pay + .button { display: none; }
body.nvf.nvf-page-received table.woocommerce-table--order-details small.includes_tax,
body.nvf.nvf-page-received ul.woocommerce-order-overview li strong small.includes_tax { display: block; font-family: 'Poppins', system-ui, sans-serif; font-size: 12px; font-weight: 300; line-height: 1.4; color: var(--nvf-muted); white-space: normal; }
body.nvf.nvf-page-received .nvf-received__actions { margin: 8px 0 12px; }
body.nvf.nvf-page-received .nvf-received__actions .nvf-btn--ghost {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 44px; padding: 0 22px; box-sizing: border-box;
  border: 1.5px solid var(--nvf-green-deep); border-radius: 999px; background: transparent; color: var(--nvf-green-deep);
  font-family: 'Poppins', system-ui, sans-serif; font-size: 14px; font-weight: 500; text-decoration: none;
}
body.nvf.nvf-page-received .nvf-received__actions .nvf-btn--ghost:hover { background: var(--nvf-ghost-hover); }
@media (min-width: 1024px) {
  body.nvf.nvf-page-received ul.woocommerce-order-overview { padding: 20px 22px; gap: 16px 24px; }
  body.nvf.nvf-page-received .nvf-received__head .nvf-h1 { font-size: 40px; }
  body.nvf.nvf-page-received .nvf-received__head .nvf-lead { font-size: 15px; }
}
body.nvf.nvf-page-received form.woocommerce-verify-email { margin: 0 0 24px; }
body.nvf.nvf-page-received form.woocommerce-verify-email > p:first-of-type { margin: 0 0 18px; font-size: 14.5px; font-weight: 300; line-height: 1.6; color: var(--nvf-body); }
body.nvf.nvf-page-received form.woocommerce-verify-email > p:first-of-type a { color: var(--nvf-green-deep); font-weight: 500; }
body.nvf.nvf-page-received form.woocommerce-verify-email label { display: block; margin: 0 0 6px; font-family: 'Poppins', system-ui, sans-serif; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: var(--nvf-label); }
body.nvf.nvf-page-received form.woocommerce-verify-email button,
body.nvf.nvf-page-received form.woocommerce-verify-email .button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 48px; margin: 14px 0 0; padding: 0 22px; box-sizing: border-box; border: 0; border-radius: 999px; background: var(--nvf-green-deep); color: var(--nvf-cream); font-family: 'Poppins', system-ui, sans-serif; font-size: 15px; font-weight: 500; letter-spacing: .01em; cursor: pointer; }
body.nvf.nvf-page-received form.woocommerce-verify-email button:hover,
body.nvf.nvf-page-received form.woocommerce-verify-email .button:hover { background: var(--nvf-green); color: var(--nvf-cream); }
