/* =========================================================================
   Nuvedo 2026 — one stylesheet.
   1. Tokens & base   2. Layout & type   3. Buttons & forms   4. Header & drawer
   5. Footer & tab bar 6. Product cards  7. Product page     8. Cart
   9. Checkout        10. Side cart      11. WooCommerce bits 12. Utilities
   ========================================================================= */

/* 1. Tokens & base ------------------------------------------------------- */
@font-face { font-family: "DDIN"; src: url(../fonts/D-DIN.woff) format("woff"); font-weight: 400; font-display: swap; }
@font-face { font-family: "DDIN"; src: url(../fonts/D-DIN-Bold.woff) format("woff"); font-weight: 700; font-display: swap; }

:root {
	--nv-terracotta: #c75328;
	--nv-terracotta-dark: #a8441f;
	--nv-teal: #254b51;
	--nv-teal-dark: #1d3b40;
	--nv-gold: #edba67;
	--nv-gold-tint: #fbf1df;
	--nv-green: #188030;
	--nv-green-dark: #126325;
	--nv-page: #f6f9f7; /* page background: a whisper of the brand sage (#C1D2C7) */
	--nv-ground: #edf3ef; /* panels, image wells: light sage */
	--nv-surface: #ffffff;
	--nv-border: #e2e9e5;
	--nv-border-strong: #d8cfc6;
	--nv-ink: #1f2d2f;
	--nv-text: #2b2b2b;
	--nv-muted: #6b625b;
	--nv-success-bg: #e8f4ea;
	--nv-error: #b42318;
	--nv-radius-sm: 10px;
	--nv-radius: 16px;
	--nv-radius-lg: 22px;
	--nv-shadow: 0 1px 2px rgba(31, 45, 47, .06), 0 8px 24px -12px rgba(31, 45, 47, .18);
	--nv-shadow-lg: 0 24px 60px -24px rgba(31, 45, 47, .35);
	--nv-font: "DDIN", "Helvetica Neue", Arial, sans-serif;
	--nv-gutter: 16px;
	--nv-max: 1280px;
	--nv-header-h: 64px;
	--nv-tabbar-h: 64px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: calc(var(--nv-header-h) + 16px); }
html.nv-locked { overflow: hidden; }
body {
	margin: 0;
	background: var(--nv-page);
	color: var(--nv-text);
	font-family: var(--nv-font);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
img, svg, video { max-width: 100%; height: auto; }
html, body { overflow-x: clip; }
img { display: block; }
a { color: var(--nv-terracotta-dark); text-underline-offset: 2px; }
a:hover { color: #7f3317; }
button { font-family: inherit; }
:focus-visible { outline: 3px solid var(--nv-gold); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { color: var(--nv-ink); line-height: 1.15; margin: 0 0 .5em; font-weight: 700; }
p { margin: 0 0 1em; }
hr { border: 0; border-top: 1px solid var(--nv-border); margin: 24px 0; }

.screen-reader-text, .nv-sr {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.nv-skip { position: absolute; left: 12px; top: -60px; z-index: 1000; background: var(--nv-teal); color: #fff; padding: 10px 16px; border-radius: 999px; }
.nv-skip:focus { top: 12px; }

/* 2. Layout & type ------------------------------------------------------- */
.nv-container { width: 100%; max-width: var(--nv-max); margin-inline: auto; padding-inline: var(--nv-gutter); }
.nv-main { min-height: 50vh; }
.nv-section { padding-block: 32px; }
.nv-h1 { font-size: clamp(28px, 4vw, 40px); letter-spacing: -.5px; }
.nv-h2 { font-size: clamp(24px, 3vw, 34px); letter-spacing: -.3px; margin: 0; }
.nv-eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--nv-terracotta-dark); }
.nv-eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--nv-terracotta); }
.nv-section-head { margin-bottom: 18px; }
.nv-page-head { margin-bottom: 20px; }
.nv-prose { max-width: 72ch; }
.nv-prose img { border-radius: var(--nv-radius-sm); }
.nv-prose ul, .nv-prose ol { padding-left: 1.2em; }
.nv-prose a { word-break: break-word; }
.nv-empty { color: var(--nv-muted); }
.nv-link { display: inline-flex; align-items: center; gap: 6px; background: none; border: 0; padding: 8px 0; color: var(--nv-teal); font-size: 15px; font-weight: 700; text-decoration: none; cursor: pointer; }
.nv-link:hover { color: var(--nv-terracotta-dark); }

@media (min-width: 768px) {
	:root { --nv-gutter: 32px; --nv-header-h: 76px; }
	.nv-section { padding-block: 48px; }
}

/* 3. Buttons & forms ------------------------------------------------------ */
.nv-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 48px; padding: 0 22px; border: 2px solid transparent; border-radius: 999px;
	font-family: var(--nv-font); font-size: 16px; font-weight: 700; line-height: 1.1; text-align: center; text-decoration: none;
	cursor: pointer; transition: background-color .15s, color .15s, border-color .15s, transform .15s, box-shadow .15s;
	-webkit-tap-highlight-color: transparent;
}
.nv-btn:active { transform: translateY(1px); }
.nv-btn--primary, .nv-btn--primary:visited { background: var(--nv-terracotta); color: #fff; }
.nv-btn--primary:hover { background: var(--nv-terracotta-dark); color: #fff; }
.nv-btn--green, .nv-btn--green:visited { background: var(--nv-green); color: #fff; }
.nv-btn--green:hover { background: var(--nv-green-dark); color: #fff; }
.nv-btn--teal { background: var(--nv-teal); color: #fff; }
.nv-btn--teal:hover { background: var(--nv-teal-dark); color: #fff; }
.nv-btn--outline { background: #fff; border-color: var(--nv-teal); color: var(--nv-teal); }
.nv-btn--outline:hover { background: var(--nv-teal); color: #fff; }
.nv-btn--outline-green { background: #fff; border-color: var(--nv-green); color: var(--nv-green); }
.nv-btn--ghost { background: transparent; color: var(--nv-teal); border-color: var(--nv-border-strong); }
.nv-btn--sm { min-height: 42px; padding: 0 16px; font-size: 15px; }
.nv-btn--lg { min-height: 56px; padding: 0 28px; font-size: 17px; }
.nv-btn--block { display: flex; width: 100%; }
.nv-btn.is-loading, .nv-btn:disabled { opacity: .6; pointer-events: none; }
.nv-btn.is-disabled { background: #e7e2dc; color: var(--nv-muted); pointer-events: none; }
.nv-btn svg { flex: 0 0 auto; }

input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], input[type="url"], select, textarea,
.select2-container--default .select2-selection--single {
	width: 100%; min-height: 50px; padding: 12px 14px;
	border: 1px solid var(--nv-border-strong); border-radius: 12px; background: #fff;
	color: var(--nv-text); font-family: var(--nv-font); font-size: 16px; line-height: 1.3;
	transition: border-color .15s, box-shadow .15s;
}
textarea { min-height: 96px; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--nv-teal); box-shadow: 0 0 0 3px rgba(37, 75, 81, .15); }
.select2-container--default .select2-selection--single { display: flex; align-items: center; padding: 0 14px; }
.select2-container--default .select2-selection--single .select2-selection__rendered { padding: 0; line-height: 1.3; color: var(--nv-text); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 48px; right: 8px; }
.select2-dropdown { border-color: var(--nv-border-strong); border-radius: 12px; overflow: hidden; }

.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; color: #4a433d; }
.woocommerce form .form-row .required { color: var(--nv-error); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid input.input-text, .woocommerce form .form-row.woocommerce-invalid select { border-color: var(--nv-error); }
.woocommerce form .form-row.woocommerce-validated input.input-text { border-color: #8fb79a; }
.woocommerce form .form-row .description { font-size: 13px; color: var(--nv-muted); }

/* Quantity (WC Quantity Plus Minus Button plugin wraps the input; plain input styled too) */
.quantity { display: inline-flex; align-items: center; height: 46px; border: 1px solid var(--nv-border-strong); border-radius: 999px; background: #fff; overflow: hidden; }
.quantity input.qty { width: 44px; min-height: 0; height: 100%; padding: 0; border: 0; border-radius: 0; text-align: center; font-weight: 700; -moz-appearance: textfield; box-shadow: none !important; }
.quantity input.qty::-webkit-outer-spin-button, .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.quantity .wqpmb_minus, .quantity .wqpmb_plus, .quantity .minus, .quantity .plus {
	width: 42px; height: 100%; border: 0 !important; background: transparent !important; color: var(--nv-teal) !important; font-size: 20px; font-weight: 700; cursor: pointer; padding: 0; box-shadow: none !important;
}
.quantity .wqpmb_minus:hover, .quantity .wqpmb_plus:hover { background: var(--nv-gold-tint) !important; }

/* WC Quantity Plus Minus plugin puts the buttons beside .quantity inside .qib-button-wrapper */
.qib-button-wrapper { display: inline-flex; align-items: center; height: 46px; border: 1px solid var(--nv-border-strong); border-radius: 999px; background: #fff; overflow: hidden; flex: 0 0 auto; }
.qib-button-wrapper .quantity { height: 100%; border: 0; border-radius: 0; background: transparent; }
.qib-button-wrapper .qib-button { width: 40px; height: 100% !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--nv-teal) !important; font-size: 20px !important; font-weight: 700; line-height: 1 !important; cursor: pointer; box-shadow: none !important; }
.qib-button-wrapper .qib-button:hover { background: var(--nv-gold-tint) !important; }
.nv-product__buy .qib-button-wrapper { height: 52px; }
.nv-line__qty .qib-button-wrapper { height: 40px; }
.nv-line__qty .qib-button-wrapper .qib-button { width: 34px; }

/* Custom checkbox */
.nv-check { position: relative; display: flex; align-items: flex-start; gap: 12px; cursor: pointer; }
.nv-check input { position: absolute; opacity: 0; width: 22px; height: 22px; margin: 0; }
.nv-check__box { flex: 0 0 22px; width: 22px; height: 22px; margin-top: 1px; border: 2px solid var(--nv-border-strong); border-radius: 6px; background: #fff; transition: all .15s; }
.nv-check input:checked + .nv-check__box { background: var(--nv-teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/14px no-repeat; border-color: var(--nv-teal); }
.nv-check input:focus-visible + .nv-check__box { outline: 3px solid var(--nv-gold); outline-offset: 2px; }
.nv-check__text { font-size: 15px; color: var(--nv-muted); }
.nv-check__text strong { color: var(--nv-ink); }

/* 4. Header & drawer ----------------------------------------------------- */
.nv-offer { background: var(--nv-teal); color: #f6e2b9; font-size: 13px; }
.nv-offer__inner { display: flex; justify-content: center; align-items: center; gap: 10px; min-height: 36px; padding-block: 6px; color: inherit; text-decoration: none; text-align: center; }
.nv-offer__inner:hover { color: #fff; }
.nv-offer__cta { flex: 0 0 auto; color: var(--nv-gold); font-weight: 700; white-space: nowrap; }
@media (max-width: 599px) { .nv-offer__text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } }

.nv-header { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .96); backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid var(--nv-border); transition: box-shadow .2s; }
.admin-bar .nv-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .nv-header { top: 32px; } }
.nv-header.is-scrolled { box-shadow: 0 6px 20px -14px rgba(31, 45, 47, .35); }
.nv-header__bar { display: flex; align-items: center; gap: 8px; min-height: var(--nv-header-h); }
.nv-header__logo { display: flex; align-items: center; margin-right: auto; }
.nv-header__logo .nv-logo { height: 36px; width: auto; }
.nv-logo--text { font-size: 24px; font-weight: 700; color: var(--nv-teal); text-decoration: none; }
.nv-header__icon { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 0; border-radius: 50%; background: transparent; color: var(--nv-text); cursor: pointer; text-decoration: none; }
.nv-header__icon:hover { background: var(--nv-ground); color: var(--nv-terracotta-dark); }
.nv-header__actions { display: flex; align-items: center; }
.nv-cart-count { position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--nv-terracotta); color: #fff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.nv-cart-count.is-empty { display: none; }

.nv-nav { display: none; }
.nv-header__search { display: none; }
body.nv-search-open .nv-header__search { display: block; position: absolute; left: 0; right: 0; top: 100%; padding: 10px var(--nv-gutter) 14px; background: #fff; border-bottom: 1px solid var(--nv-border); box-shadow: var(--nv-shadow); }

@media (max-width: 1023px) {
	.nv-header__logo { margin-inline: auto; }
	.nv-hide-mobile { display: none; }
}
@media (min-width: 1024px) {
	.nv-header__menu-btn, .nv-header__search-btn { display: none; }
	.nv-header__bar { gap: 28px; }
	.nv-header__logo { margin-right: 0; }
	.nv-header__logo .nv-logo { height: 44px; }
	.nv-nav { display: block; flex: 1; }
	.nv-nav__list { display: flex; flex-wrap: wrap; gap: 4px 24px; margin: 0; padding: 0; list-style: none; }
	.nv-nav__list > li { position: relative; }
	.nv-nav__list > li > a { display: inline-flex; align-items: center; gap: 4px; min-height: var(--nv-header-h); color: var(--nv-text); font-size: 16px; text-decoration: none; border-bottom: 2px solid transparent; }
	.nv-nav__list > li > a:hover, .nv-nav__list > li.current-menu-item > a, .nv-nav__list > li.current-menu-ancestor > a { color: var(--nv-terracotta-dark); border-bottom-color: var(--nv-terracotta); }
	.nv-nav__list > li.menu-item-has-children > a::after { content: ""; width: 7px; height: 7px; margin-left: 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .6; }
	.nv-nav__list .sub-menu {
		position: absolute; left: -16px; top: 100%; z-index: 60; min-width: 260px; margin: 0; padding: 10px; list-style: none;
		background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); box-shadow: var(--nv-shadow-lg);
		opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s;
	}
	.nv-nav__list > li:hover > .sub-menu, .nv-nav__list > li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
	.nv-nav__list .sub-menu a { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 10px; color: var(--nv-text); text-decoration: none; font-size: 15px; }
	.nv-nav__list .sub-menu a:hover { background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); }
	.nv-nav__list .sub-menu img { width: 44px; height: 44px; object-fit: contain; border-radius: 8px; background: var(--nv-ground); }
	/* Shop: full-width panel with category tiles + side links */
	.nv-header__bar { position: relative; }
	.nv-nav__list > li.nv-mega { position: static; }
	.nv-nav__list > li.nv-mega > .sub-menu {
		left: 0; right: 0; top: calc(100% - 1px); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 280px; grid-auto-flow: dense;
		gap: 4px 16px; min-width: 0; padding: 24px; border-radius: 0 0 var(--nv-radius-lg) var(--nv-radius-lg);
	}
	.nv-nav__list > li.nv-mega > .sub-menu > li.nv-tile-item { grid-row: 1 / span 6; }
	.nv-nav__list > li.nv-mega > .sub-menu > li:not(.nv-tile-item) { grid-column: 4; border-bottom: 1px solid var(--nv-border); }
	.nv-nav__list > li.nv-mega > .sub-menu > li:not(.nv-tile-item) > a { padding: 12px 6px; font-size: 15px; }
	.nv-nav__list > li.nv-mega > .sub-menu > li:not(.nv-tile-item) > a::after { content: "→"; margin-left: auto; color: var(--nv-terracotta); }
	.nv-nav__list > li.nv-mega > .sub-menu > li.nv-view-all { border-bottom: 0; }
	.nv-nav__list > li.nv-mega > .sub-menu > li.nv-view-all > a { font-weight: 700; color: var(--nv-terracotta-dark); }
	.nv-nav__list .sub-menu a.nv-tile { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; height: 100%; min-height: 250px; padding: 14px 18px 18px; border-radius: 18px; color: var(--nv-ink); }
	.nv-nav__list .sub-menu a.nv-tile:hover { color: var(--nv-ink); filter: brightness(.97); }
	.nv-tile__img { display: block; width: 100%; }
	.nv-nav__list .sub-menu .nv-tile__img img { width: 100%; height: 150px; object-fit: contain; border-radius: 0; background: transparent; }
	.nv-tile__name { font-size: 19px; font-weight: 700; line-height: 1.2; }
	.nv-tile__desc { font-size: 14px; line-height: 1.4; opacity: .85; }
.nv-drawer__menu .nv-tile__desc { display: none; }
.nv-tile__cta { margin-top: auto; font-size: 14px; font-weight: 700; }
/* Category tile colours: fixed per category (same as the homepage "journey" cards); position fallback for new categories */
li.nv-tile-item:nth-child(1) a.nv-tile { background: #EEBB67; }
li.nv-tile-item:nth-child(2) a.nv-tile { background: #C1D2C7; }
li.nv-tile-item:nth-child(3) a.nv-tile { background: #2f6a73; color: #fff; }
li.nv-tile-item:nth-child(4) a.nv-tile { background: #d4a373; }
li.nv-tile-item a.nv-tile.nv-tile--grow-mushrooms { background: #EEBB67; color: #2e1f05; }
li.nv-tile-item a.nv-tile.nv-tile--wellness-products { background: #C1D2C7; color: #1f2d27; }
li.nv-tile-item a.nv-tile.nv-tile--dry-mushrooms { background: #2f6a73; color: #fff; }
li.nv-tile-item a.nv-tile.nv-tile--dry-mushrooms:hover { color: #fff; }
	/* Other sub-menus (Learn): compact list with the menu icons */
	.nv-nav__list > li:not(.nv-mega) > .sub-menu { min-width: 300px; }
	.nv-nav__list > li:not(.nv-mega) > .sub-menu img { width: 40px; height: 40px; padding: 4px; }
	.nv-header__search { display: block; width: 240px; }
	.nv-header__search .dgwt-wcas-search-wrapp { max-width: none; }
}
/* FiboSearch (Pirx style: the magnifier is the submit button) */
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp { position: relative; padding: 0 !important; background: transparent !important; }
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	height: 44px !important; min-height: 44px; padding: 0 16px 0 44px !important; border: 1px solid var(--nv-border-strong) !important; border-radius: 999px !important;
	background: #fff !important; box-shadow: none !important; font-family: var(--nv-font); font-size: 15px !important; line-height: 44px; color: var(--nv-text);
}
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input:focus { border-color: var(--nv-teal) !important; box-shadow: 0 0 0 3px rgba(37, 75, 81, .15) !important; }
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit {
	position: absolute !important; left: 6px !important; top: 50% !important; right: auto !important; bottom: auto !important; transform: translateY(-50%) !important;
	display: flex !important; align-items: center; justify-content: center; width: 34px !important; height: 34px !important; min-width: 0 !important; min-height: 0 !important;
	margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 50% !important; background: transparent !important; box-shadow: none !important; color: var(--nv-muted) !important; opacity: 1 !important;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit:hover { background: var(--nv-ground) !important; color: var(--nv-terracotta) !important; }
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp button.dgwt-wcas-search-submit::before { display: none !important; }
.dgwt-wcas-search-wrapp .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier { position: static !important; width: 16px !important; height: 16px !important; max-width: none !important; margin: 0 !important; fill: currentColor !important; opacity: 1 !important; }
.dgwt-wcas-search-wrapp .dgwt-wcas-preloader { right: 12px !important; left: auto !important; }
.dgwt-wcas-search-wrapp .dgwt-wcas-voice-search { display: none !important; }

/* Drawer */
.nv-drawer { position: fixed; inset: 0; z-index: 100; }
.nv-drawer__backdrop { position: absolute; inset: 0; background: rgba(20, 30, 32, .45); opacity: 0; transition: opacity .25s; }
.nv-drawer__panel { position: absolute; left: 0; top: 0; bottom: 0; width: min(390px, 92vw); display: flex; flex-direction: column; background: var(--nv-ground); transform: translateX(-100%); transition: transform .25s ease; box-shadow: var(--nv-shadow-lg); }
.nv-drawer.is-open .nv-drawer__backdrop { opacity: 1; }
.nv-drawer.is-open .nv-drawer__panel { transform: none; }
.nv-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px 10px 20px; background: #fff; border-bottom: 1px solid var(--nv-border); }
.nv-drawer__head .nv-logo { height: 34px; width: auto; }
.nv-drawer__body { flex: 1; overflow-y: auto; padding: 12px 16px; overscroll-behavior: contain; }
.nv-drawer__menu, .nv-drawer__menu .sub-menu { margin: 0; padding: 0; list-style: none; }
.nv-drawer__menu > li { position: relative; border-bottom: 1px solid var(--nv-border); }
.nv-drawer__menu > li > a { display: flex; align-items: center; min-height: 54px; padding-right: 48px; color: var(--nv-ink); font-size: 18px; font-weight: 700; text-decoration: none; }
.nv-sub-toggle { position: absolute; right: 0; top: 5px; width: 44px; height: 44px; border: 0; background: none; cursor: pointer; }
.nv-sub-toggle::before { content: ""; position: absolute; left: 16px; top: 14px; width: 9px; height: 9px; border-right: 2px solid var(--nv-muted); border-bottom: 2px solid var(--nv-muted); transform: rotate(45deg); transition: transform .2s; }
.nv-drawer__menu li.is-open > .nv-sub-toggle::before { transform: translateY(5px) rotate(-135deg); border-color: var(--nv-terracotta); }
.nv-drawer__head .nv-header__logo { margin: 0; }
.nv-drawer__search { margin-bottom: 12px; }
.nv-drawer__menu .sub-menu { display: none; padding-bottom: 12px; }
.nv-drawer__menu li.is-open > .sub-menu { display: flex; flex-direction: column; gap: 2px; }
.nv-drawer__menu .sub-menu a { display: flex; align-items: center; gap: 12px; min-height: 48px; padding: 6px 4px; color: var(--nv-ink); font-size: 16px; text-decoration: none; }
.nv-drawer__menu .sub-menu img { flex: 0 0 auto; width: 40px; height: 40px; padding: 5px; border-radius: 10px; background: #fff; border: 1px solid var(--nv-border); object-fit: contain; }
/* Shop group: white card, 2-up category tiles, then plain links */
.nv-drawer__menu > li.nv-mega { margin: 4px 0 8px; padding: 0 12px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); }
.nv-drawer__menu > li.nv-mega > .nv-sub-toggle { right: 4px; }
.nv-drawer__menu > li.nv-mega.is-open > .sub-menu { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.nv-drawer__menu > li.nv-mega > .sub-menu > li:not(.nv-tile-item) { grid-column: 1 / -1; border-top: 1px solid var(--nv-border); }
.nv-drawer__menu > li.nv-mega > .sub-menu > li:not(.nv-tile-item) + li:not(.nv-tile-item) { border-top: 0; }
.nv-drawer__menu > li.nv-mega > .sub-menu > li.nv-view-all > a { font-weight: 700; color: var(--nv-terracotta-dark); }
.nv-drawer__menu a.nv-tile { flex-direction: column; align-items: flex-start; gap: 2px; min-height: 0; height: 100%; padding: 8px 10px 10px; border-radius: 14px; }
.nv-drawer__menu .nv-tile__img img { width: 100%; height: 76px; padding: 0; border: 0; border-radius: 0; background: transparent; object-fit: contain; }
.nv-drawer__menu .nv-tile__name { font-size: 14px; }
.nv-drawer__menu .nv-tile__cta { display: none; }
.nv-drawer__foot { padding: 12px 16px calc(16px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--nv-border); }
.nv-drawer__offer { display: block; margin-bottom: 10px; padding: 10px 12px; border-radius: 12px; background: var(--nv-gold-tint); color: #5b4a3c; font-size: 14px; text-decoration: none; }
.nv-drawer__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nv-drawer__actions .nv-btn { min-height: 48px; padding: 0 10px; font-size: 14px; }

/* Bottom sheet (offers) */
.nv-sheet { position: fixed; inset: 0; z-index: 100; }
.nv-sheet__backdrop { position: absolute; inset: 0; background: rgba(20, 30, 32, .45); opacity: 0; transition: opacity .25s; }
.nv-sheet__panel { position: absolute; left: 0; right: 0; bottom: 0; max-height: 80vh; overflow-y: auto; padding: 8px 20px calc(24px + env(safe-area-inset-bottom)); background: #fff; border-radius: 22px 22px 0 0; transform: translateY(100%); transition: transform .25s ease; }
.nv-sheet.is-open .nv-sheet__backdrop { opacity: 1; }
.nv-sheet.is-open .nv-sheet__panel { transform: none; }
.nv-sheet__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; background: #fff; padding-top: 8px; }
.nv-sheet__head h2 { margin: 0; font-size: 22px; }
@media (min-width: 768px) {
	.nv-sheet__panel { left: auto; right: 24px; bottom: 24px; width: 420px; border-radius: 22px; transform: translateY(24px); opacity: 0; transition: transform .25s, opacity .25s; }
	.nv-sheet.is-open .nv-sheet__panel { opacity: 1; }
}

/* 5. Footer & tab bar ---------------------------------------------------- */
.nv-footer { margin-top: 48px; background: #111; color: #c9c9c9; font-size: 14px; }
.nv-footer a { color: #fff; text-decoration: none; }
.nv-footer a:hover { color: var(--nv-gold); }
.nv-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 20px; padding-block: 32px 20px; }
.nv-footer__brand { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.nv-footer__logo .nv-logo { height: 34px; width: auto; filter: brightness(0) invert(1); }
.nv-footer__tagline { margin: 0; color: var(--nv-gold); font-size: 14px; letter-spacing: .3px; }
.nv-footer__social { display: flex; gap: 8px; }
.nv-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: rgba(255, 255, 255, .08); transition: background-color .15s; }
.nv-footer__social a:hover { background: var(--nv-terracotta); color: #fff; }
.nv-footer__social svg { width: 18px; height: 18px; }
.nv-footer__title { margin: 0 0 8px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; }
.nv-footer__links { margin: 0; padding: 0; list-style: none; }
.nv-footer__links a { display: block; padding: 4px 0; color: #c9c9c9; }
.nv-footer__links a:hover { color: #fff; }
.nv-footer__col:last-child { grid-column: 1 / -1; }
.nv-footer__address { font-style: normal; line-height: 1.6; }
.nv-footer__meta { margin: 6px 0 0; }
.nv-footer__meta strong { color: #fff; }
.nv-footer__contact { display: flex; flex-direction: column; gap: 4px; margin: 8px 0 0; font-weight: 700; }
.nv-footer__contact a { display: inline-flex; align-items: center; gap: 8px; }
.nv-footer__contact svg { color: var(--nv-gold); }
.nv-footer__bottom { display: flex; flex-direction: column; gap: 12px; padding-block: 14px 22px; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 13px; color: #9a9a9a; }
.nv-footer__copy { display: flex; align-items: center; gap: 10px; margin: 0; }
.nv-footer__mark { width: 28px; height: 28px; filter: brightness(0) invert(1); opacity: .85; }
.nv-footer--slim { margin-top: 32px; background: transparent; color: var(--nv-muted); }
.nv-footer--slim .nv-container { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-block: 24px 32px; text-align: center; }
.nv-footer--slim a { color: var(--nv-teal); }
@media (min-width: 768px) {
	.nv-footer__grid { grid-template-columns: 1.1fr 1.2fr .9fr 1.3fr; gap: 32px; padding-block: 40px 24px; }
	.nv-footer__brand { grid-column: auto; flex-direction: column; align-items: flex-start; justify-content: flex-start; }
	.nv-footer__col:last-child { grid-column: auto; }
	.nv-footer__links--2col { columns: 2; column-gap: 20px; }
	.nv-footer__bottom { flex-direction: row; justify-content: space-between; align-items: center; }
}

.nv-secure { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.nv-secure__text { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--nv-muted); letter-spacing: .2px; }
.nv-secure__logos { width: 100%; max-width: 300px; height: auto; }
.nv-secure--dark { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 10px; padding: 8px 12px; border-radius: 12px; background: #fff; }
.nv-secure--dark .nv-secure__text { font-size: 12px; }
.nv-secure--dark .nv-secure__logos { max-width: 220px; }
.nv-secure--compact { padding: 8px 0 2px; }
.nv-secure--compact .nv-secure__logos { max-width: 240px; }

.nv-whatsapp { position: fixed; right: 16px; bottom: calc(var(--nv-tabbar-h) + 16px + env(safe-area-inset-bottom)); z-index: 40; display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: var(--nv-green); color: #fff; box-shadow: 0 12px 24px -10px rgba(0, 0, 0, .5); transition: transform .2s, bottom .2s; }
.nv-whatsapp:hover { color: #fff; transform: scale(1.06); }
.nv-whatsapp svg { width: 28px; height: 28px; }

.nv-tabbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 4px 4px env(safe-area-inset-bottom); background: rgba(255, 255, 255, .96); backdrop-filter: blur(12px); border-top: 1px solid var(--nv-border); }
.nv-tabbar a, .nv-tabbar button { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-height: 56px; border: 0; background: none; color: var(--nv-text); font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }
.nv-tabbar__offers { color: var(--nv-terracotta) !important; }
.nv-tabbar .nv-cart-count { top: 4px; right: auto; left: 54%; }
body:has(.nv-tabbar) { padding-bottom: calc(var(--nv-tabbar-h) + env(safe-area-inset-bottom)); }
.nv-offers-fab { display: none; }
@media (min-width: 1024px) {
	.nv-tabbar { display: none; }
	body:has(.nv-tabbar) { padding-bottom: 0; }
	.nv-whatsapp { bottom: 24px; right: 24px; }
	.nv-offers-fab { position: fixed; left: 0; top: 50%; z-index: 40; display: flex; align-items: center; gap: 6px; padding: 12px 10px; border: 0; border-radius: 12px 0 0 12px; background: var(--nv-terracotta); color: #fff; font-weight: 700; writing-mode: vertical-rl; transform: translateY(-50%) rotate(180deg); /* rotated: these corners end up on the right */ cursor: pointer; box-shadow: var(--nv-shadow); }
	.nv-offers-fab svg { transform: rotate(180deg); } /* undo the tab's rotation so the gift stays upright */
}

/* 6. Product cards ------------------------------------------------------- */
ul.products { margin: 0; padding: 0; list-style: none; }
.nv-grid, ul.products.columns-4, ul.products.columns-3, .woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.nv-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(168px, 46%); gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; margin-inline: calc(var(--nv-gutter) * -1); padding-inline: var(--nv-gutter); scrollbar-width: thin; }
.nv-rail > li { scroll-snap-align: start; }
@media (min-width: 768px) {
	.nv-grid, ul.products.columns-4, .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
	.nv-rail { grid-auto-columns: minmax(220px, 31%); gap: 20px; }
}
@media (min-width: 1024px) {
	.nv-grid, ul.products.columns-4, .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.nv-rail { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; margin-inline: 0; padding-inline: 0; }
}
.woocommerce ul.products li.product, .nv-card {
	position: relative; display: flex; flex-direction: column; gap: 6px; width: auto !important; margin: 0 !important; float: none !important;
	padding: 10px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); transition: box-shadow .2s, transform .2s;
}
.nv-card:hover { box-shadow: var(--nv-shadow); }
.nv-card__media { position: relative; display: block; overflow: hidden; border-radius: 12px; background: var(--nv-ground); aspect-ratio: 1 / 1; }
.nv-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.nv-card:hover .nv-card__img { transform: scale(1.04); }
.nv-card__badge { position: absolute; left: 8px; top: 8px; padding: 4px 9px; border-radius: 999px; background: var(--nv-terracotta); color: #fff; font-size: 12px; font-weight: 700; }
.nv-card__title { margin: 4px 0 0; font-size: 15px; line-height: 1.3; min-height: 2.6em; }
.nv-card__title a { color: var(--nv-ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.nv-card__rating { display: inline-flex; align-items: center; gap: 4px; font-size: 13px; color: var(--nv-ink); font-weight: 700; }
.nv-card__rating svg { color: #e0a21b; }
.nv-card__rating span { color: var(--nv-muted); font-weight: 400; }
.nv-card__price { font-size: 17px; font-weight: 700; color: var(--nv-ink); }
.nv-card__price del { color: var(--nv-muted); font-weight: 400; font-size: 14px; margin-right: 4px; }
.nv-card__price ins { text-decoration: none; }
.nv-price-from { font-size: .8em; font-weight: 400; color: var(--nv-muted); }
.nv-card__actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 6px; margin-top: auto; padding-top: 6px; }
.nv-card__actions--single { grid-template-columns: 1fr; }
.nv-card__actions .nv-btn { min-width: 0; }
/* Narrow cards (phone carousels, 2-up grids): stack the two buttons so neither spills out */
.nv-card { container-type: inline-size; }
@container (max-width: 250px) { .nv-card__actions { grid-template-columns: minmax(0, 1fr); } }
.nv-card__actions .nv-btn { min-height: 42px; padding: 0 8px; font-size: 14px; }
.nv-card .added_to_cart, .nv-card a.added_to_cart.wc-forward, .nv-card__actions .added_to_cart, .nv-recs a.added_to_cart { display: none !important; }
.nv-card .add_to_cart_button.loading { opacity: .6; }
.nv-card .add_to_cart_button.added::after { content: "✓"; margin-left: 6px; font-weight: 700; }
.nv-card .add_to_cart_button.loading { pointer-events: none; }
.nv-card .add_to_cart_button.loading::after { content: ""; width: 14px; height: 14px; margin-left: 8px; border: 2px solid rgba(255, 255, 255, .5); border-top-color: #fff; border-radius: 50%; animation: nvSpin .7s linear infinite; }
@media (min-width: 768px) {
	.nv-card { padding: 14px; gap: 8px; }
	.nv-card__title { font-size: 16px; }
	.nv-card__actions .nv-btn { min-height: 44px; font-size: 15px; }
}

/* 7. Product page -------------------------------------------------------- */
.nv-crumbs { display: flex; flex-wrap: wrap; gap: 6px; padding: 14px 0; font-size: 14px; color: var(--nv-muted); }
.nv-crumbs a { color: var(--nv-muted); text-decoration: none; }
.nv-crumbs a:hover { color: var(--nv-terracotta-dark); }
.nv-product__top { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
.nv-product__gallery, .nv-product__buy { min-width: 0; }
.nv-product__gallery .woocommerce-product-gallery { max-width: 100%; overflow: hidden; }
@media (min-width: 900px) {
	.nv-product__top { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 48px; align-items: start; }
	.nv-product__gallery { position: sticky; top: calc(var(--nv-header-h) + 20px); }
}
/* Gallery (WooCommerce flexslider + Product Video Gallery plugin) */
.nv-product__gallery .woocommerce-product-gallery { position: relative; margin: 0; opacity: 1 !important; }
.nv-product__gallery .woocommerce-product-gallery__wrapper { margin: 0; }
.nv-product__gallery .woocommerce-product-gallery__image img, .nv-product__gallery .flex-viewport { border-radius: var(--nv-radius); background: #fff; }
.nv-product__gallery .flex-control-thumbs { display: flex; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; overflow-x: auto; }
.nv-product__gallery .flex-control-thumbs li { flex: 0 0 72px; }
.nv-product__gallery .flex-control-thumbs img { width: 72px; height: 72px; object-fit: cover; border-radius: 10px; border: 2px solid transparent; opacity: .75; cursor: pointer; transition: opacity .15s, border-color .15s; }
.nv-product__gallery .flex-control-thumbs img.flex-active, .nv-product__gallery .flex-control-thumbs img:hover { opacity: 1; border-color: var(--nv-terracotta); }
.nv-product__gallery .woocommerce-product-gallery__trigger { position: absolute; right: 12px; top: 12px; z-index: 5; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; box-shadow: var(--nv-shadow); font-size: 0; }
.nv-product__gallery .woocommerce-product-gallery__trigger::before { content: ""; width: 14px; height: 14px; border: 2px solid var(--nv-ink); border-radius: 50%; }
.nv-product__gallery .flex-direction-nav { display: none; }

/* Buy box */
.nv-product__buy { display: flex; flex-direction: column; gap: 12px; }
.nv-product__buy > * { margin: 0; }
.nv-product__tagline { order: 0; font-size: 14px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--nv-terracotta-dark); }
.nv-product__title { font-size: clamp(26px, 3.4vw, 38px); letter-spacing: -.4px; }
.nv-rating { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.nv-rating__stars { position: relative; display: inline-block; color: #e3dcd4; letter-spacing: 2px; }
.nv-rating__stars::before { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--nv-rating); overflow: hidden; color: #e0a21b; white-space: nowrap; }
.nv-rating__link { color: var(--nv-ink); font-weight: 700; }
.nv-product__buy > .price, .woocommerce div.product .nv-product__buy p.price { font-size: 30px; font-weight: 700; color: var(--nv-ink); }
.nv-product__buy > .price del { font-size: 18px; font-weight: 400; color: var(--nv-muted); }
.nv-product__buy > .price ins { text-decoration: none; }
.nv-price-note { margin-top: -8px !important; font-size: 14px; color: var(--nv-muted); }
.woocommerce-product-details__short-description { color: #4a433d; }
.nv-benefits { display: flex; flex-wrap: wrap; gap: 6px; padding: 0; list-style: none; }
.nv-benefits__item { display: inline-flex; align-items: center; gap: 6px; padding: 4px 12px 4px 4px; border-radius: 999px; background: #fff; border: 1px solid var(--nv-border); font-size: 13px; font-weight: 700; line-height: 1.2; color: var(--nv-teal); white-space: nowrap; }
.nv-benefits__item:not(:has(span:not(:empty))) { padding-right: 4px; }
.nv-benefits__item img { width: 26px; height: 26px; object-fit: contain; }

/* Add to cart form */
.nv-product__buy form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius-lg); }
.nv-product__buy form.cart > *:not(.quantity):not(.qib-button-wrapper):not(.single_add_to_cart_button):not(.nv-buy-now) { flex-basis: 100%; }
.nv-product__buy form.variations_form .single_variation_wrap { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.nv-product__buy .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; width: 100%; }
.nv-product__buy .single_add_to_cart_button, .nv-product__buy .nv-buy-now {
	flex: 1 1 140px; min-height: 52px; padding: 0 18px; border: 0; border-radius: 999px; font-size: 17px; font-weight: 700; cursor: pointer;
}
.nv-product__buy .single_add_to_cart_button { background: var(--nv-terracotta) !important; color: #fff !important; }
.nv-product__buy .single_add_to_cart_button:hover { background: var(--nv-terracotta-dark) !important; }
.nv-product__buy .single_add_to_cart_button.disabled { opacity: .55; }
.nv-product__buy .nv-buy-now { background: var(--nv-green); color: #fff; }
.nv-product__buy .nv-buy-now:hover { background: var(--nv-green-dark); }
.nv-product__buy a.added_to_cart.wc-forward { display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex-basis: 100%; min-height: 48px; margin: 0; padding: 0 22px; border: 2px solid var(--nv-terracotta); border-radius: 999px; background: #fff; color: var(--nv-terracotta-dark); font-size: 16px; font-weight: 700; line-height: 1.1; text-decoration: none; transition: background-color .15s, color .15s; }
.nv-product__buy a.added_to_cart.wc-forward:hover { background: var(--nv-terracotta); color: #fff; }
.nv-product__buy .quantity { flex: 0 0 auto; height: 52px; }
.nv-product__buy table.variations { width: 100%; border: 0; margin: 0; }
.nv-product__buy table.variations th, .nv-product__buy table.variations td { display: block; padding: 0; border: 0; text-align: left; }
.nv-product__buy table.variations label { font-weight: 700; font-size: 15px; }
.nv-product__buy .reset_variations { font-size: 14px; }
.nv-product__buy .woocommerce-variation-price { display: none; }
.nv-product__buy .stock { margin: 0; font-size: 14px; font-weight: 700; }
.nv-product__buy .stock.in-stock { color: var(--nv-green); }
.nv-product__buy .stock.out-of-stock { color: var(--nv-error); }
/* WPC Variations Radio Buttons: pack picker */
.woovr-variations { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.woovr-variation { position: relative; display: flex !important; align-items: center; gap: 12px; padding: 14px 16px !important; margin: 0 !important; border: 2px solid var(--nv-border) !important; border-radius: 14px !important; background: #fff !important; cursor: pointer; transition: border-color .15s, background-color .15s; }
.woovr-variation:hover { border-color: var(--nv-border-strong) !important; }
.woovr-variation-active, .woovr-variation:has(input:checked) { border-color: var(--nv-terracotta) !important; background: #fff8f4 !important; }
.woovr-variation-radio input { accent-color: var(--nv-terracotta); width: 20px; height: 20px; }
.woovr-variation-image img { width: 48px; height: 48px; object-fit: cover; border-radius: 8px; }
.woovr-variation-info { flex: 1; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; }
.woovr-variation-name { font-weight: 700; color: var(--nv-ink); }
.woovr-variation-price { font-weight: 700; color: var(--nv-ink); }
.woovr-variation-price del { font-weight: 400; color: var(--nv-muted); font-size: 14px; }
.woovr-variation-price ins { text-decoration: none; }
.nv-pack-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-weight: 700; color: var(--nv-ink); }
.nv-pack-price del { font-size: 14px; font-weight: 400; color: var(--nv-muted); }
.nv-pack-price ins { text-decoration: none; }
.nv-pack-save { padding: 2px 8px; border-radius: 999px; background: var(--nv-success-bg); color: var(--nv-green); font-size: 12px; font-weight: 700; }
.woovr-variation-description { flex-basis: 100%; font-size: 13px; color: var(--nv-muted); }
.nv-plan-badge { position: absolute; right: 12px; top: -11px; padding: 3px 10px; border-radius: 999px; background: var(--nv-gold); color: #3d2a06; font-size: 11px; font-weight: 700; letter-spacing: .4px; text-transform: uppercase; }
.nv-plan-badge--12 { background: var(--nv-teal); color: #fff; }
.nv-plan-badge--6 { background: var(--nv-terracotta); color: #fff; }
/* Discount rules bulk table */
.awdr-bulk-customizable-table, .wdr_bulk_table_msg { width: 100%; font-size: 14px; }
.awdr-bulk-customizable-table table { width: 100%; border-collapse: collapse; border-radius: 12px; overflow: hidden; border: 1px solid var(--nv-border); }
.awdr-bulk-customizable-table th, .awdr-bulk-customizable-table td { padding: 10px; border-bottom: 1px solid var(--nv-border); background: #fff; }

.nv-trust { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 0; list-style: none; font-size: 14px; color: #4a433d; }
.nv-trust li { display: inline-flex; align-items: center; gap: 6px; }
.nv-trust svg { color: var(--nv-teal); }

/* Shark Tank badge on the gallery */
@media (max-width: 899px) { .nv-product__gallery { position: relative; } }
.nv-gallery-badge { position: absolute; left: 12px; top: 12px; z-index: 6; display: block; width: 76px; height: 76px; border-radius: 50%; background: #fff; box-shadow: var(--nv-shadow); overflow: hidden; transition: transform .2s; }
.nv-gallery-badge:hover { transform: rotate(-6deg) scale(1.05); }
.nv-gallery-badge img { width: 100%; height: 100%; object-fit: contain; }
@media (min-width: 900px) { .nv-gallery-badge { width: 96px; height: 96px; left: auto; right: 16px; top: 16px; } .nv-product__gallery .woocommerce-product-gallery__trigger { top: auto; bottom: 12px; } }
.nv-rating { flex-wrap: wrap; }
.nv-rating__sep { color: var(--nv-border-strong); }
.nv-rating__link--qa { font-weight: 400; color: var(--nv-teal); }
.nv-pack-group { margin: 6px 0 -2px; font-size: 14px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--nv-muted); }
.nv-pack-group:first-child { margin-top: 0; }
.nv-pack-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.nv-pack-short { font-size: 16px; font-weight: 700; color: var(--nv-ink); }
.nv-pack-size { margin-left: 6px; font-size: 13px; font-weight: 400; color: var(--nv-muted); }
@media (min-width: 900px) {
	.nv-pack-grid--subs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nv-pack-grid--once { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nv-pack-grid--subs .woovr-variation { flex-direction: column; align-items: flex-start !important; gap: 6px; padding: 22px 14px 14px !important; }
	.nv-pack-grid--subs .woovr-variation-info { flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; }
	.nv-pack-grid--subs .woovr-variation-selector { position: absolute; top: 20px; right: 12px; }
	.nv-pack-grid--subs .nv-pack-size { display: block; margin: 0; }
	.nv-pack-grid--subs .nv-pack-price { flex-direction: column; align-items: flex-start; gap: 2px; }
	.nv-pack-grid--subs .nv-pack-price ins, .nv-pack-grid--subs .nv-pack-price > .amount { font-size: 18px; }
	.nv-pack-grid--subs .nv-plan-badge { left: 12px; right: auto; }
	.nv-pack-grid--once .woovr-variation { padding: 14px !important; }
	.nv-pack-grid--once .woovr-variation-info { flex-direction: column; align-items: flex-start; gap: 2px; }
}

/* Why you'll love it */
.nv-highlights__grid { display: grid; gap: 14px; }
@media (min-width: 768px) { .nv-highlights__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; } }
.nv-highlight { display: flex; flex-direction: column; gap: 10px; padding: 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: 18px; }
.nv-highlight__num { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 12px; background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); font-weight: 700; }
.nv-highlight__title { font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--nv-ink); }
.nv-highlight__text { font-size: 15px; line-height: 1.55; color: #5b534c; }

/* Sections below the fold */
.nv-product__more { margin-top: 16px; }
.nv-product__more > .nv-section { border-top: 1px solid var(--nv-border); }
.nv-accordion { display: flex; flex-direction: column; gap: 10px; max-width: 900px; }
.nv-accordion__item { background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); overflow: hidden; }
.nv-accordion__title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 18px; font-size: 17px; font-weight: 700; color: var(--nv-ink); cursor: pointer; list-style: none; }
.nv-accordion__title::-webkit-details-marker { display: none; }
.nv-accordion__title svg { flex: 0 0 auto; color: var(--nv-terracotta); transition: transform .2s; }
.nv-accordion__item[open] .nv-accordion__title svg { transform: rotate(180deg); }
.nv-accordion__body { padding: 0 18px 18px; color: #4a433d; }
.nv-reports__grid { display: grid; gap: 12px; }
@media (min-width: 768px) { .nv-reports__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.nv-report { display: flex; align-items: center; gap: 14px; padding: 16px 18px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
a.nv-report:hover { border-color: var(--nv-teal); box-shadow: var(--nv-shadow); color: inherit; }
.nv-report__text { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.nv-report__name { font-weight: 700; color: var(--nv-ink); }
.nv-report__desc { font-size: 14px; color: var(--nv-muted); }
.nv-report__icon { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); }

/* Reviews / Q&A tabs */
.nv-reviews .woocommerce-tabs { margin: 0; }
.nv-reviews .wc-tabs { display: flex; gap: 8px; margin: 0 0 18px !important; padding: 0 !important; list-style: none; border: 0 !important; overflow-x: auto; }
.nv-reviews .wc-tabs::before, .nv-reviews .wc-tabs::after, .nv-reviews .wc-tabs li::before, .nv-reviews .wc-tabs li::after { display: none !important; }
.nv-reviews .wc-tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; border-radius: 0 !important; }
.nv-reviews .wc-tabs li a { display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px !important; border-radius: 999px; background: #fff; border: 1px solid var(--nv-border-strong); color: var(--nv-ink) !important; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nv-reviews .wc-tabs li.active a { background: var(--nv-teal); border-color: var(--nv-teal); color: #fff !important; }
.nv-reviews .woocommerce-Tabs-panel { margin: 0 !important; padding: 0 !important; }
#reviews .commentlist { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
#reviews .commentlist li .comment_container { padding: 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); }
#reviews .commentlist li img.avatar { float: left; width: 40px; height: 40px; border-radius: 50%; margin-right: 12px; }
#reviews .star-rating { color: #e0a21b; }
#review_form_wrapper { margin-top: 20px; padding: 18px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); }
#review_form .submit { background: var(--nv-terracotta); color: #fff; border: 0; border-radius: 999px; min-height: 48px; padding: 0 24px; font-weight: 700; cursor: pointer; }

/* Sticky Add to cart */
.nv-sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 46; background: rgba(255, 255, 255, .97); backdrop-filter: blur(12px); border-top: 1px solid var(--nv-border); box-shadow: 0 -10px 30px -18px rgba(31, 45, 47, .4); transform: translateY(110%); transition: transform .25s ease; padding-bottom: env(safe-area-inset-bottom); }
.nv-sticky-atc.is-visible { transform: none; }
.nv-sticky-atc__inner { display: flex; align-items: center; gap: 12px; min-height: 68px; padding-block: 8px; }
.nv-sticky-atc__product { flex: 1; min-width: 0; display: flex; align-items: center; gap: 10px; }
.nv-sticky-atc__img { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; }
.nv-sticky-atc__text { min-width: 0; display: flex; flex-direction: column; }
.nv-sticky-atc__name { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 14px; font-weight: 700; color: var(--nv-ink); }
.nv-sticky-atc__price { font-size: 15px; font-weight: 700; }
.nv-sticky-atc__price del { display: none; }
.nv-sticky-atc__price ins { text-decoration: none; }
.nv-sticky-atc__btn { flex: 0 0 auto; }
/* On product pages the sticky bar takes the tab bar's place on phones. */
.single-product .nv-tabbar { transition: transform .25s; }
body.nv-sticky-atc-on .nv-tabbar { transform: translateY(110%); }
body.nv-sticky-atc-on .nv-whatsapp { bottom: calc(84px + env(safe-area-inset-bottom)); }
@media (min-width: 1024px) {
	.nv-sticky-atc { top: 0; bottom: auto; transform: translateY(-110%); border-top: 0; border-bottom: 1px solid var(--nv-border); }
	.admin-bar .nv-sticky-atc { top: 32px; }
	.nv-sticky-atc__img { width: 44px; height: 44px; }
	body.nv-sticky-atc-on .nv-whatsapp { bottom: 24px; }
}
.wpcsb-wrapper { display: none !important; }

/* 8. Cart ---------------------------------------------------------------- */
.nv-shop-page { padding-block: 20px 8px; }
.nv-cart__head { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.nv-cart__head .nv-h1 { margin: 0; }
.nv-cart__count { color: var(--nv-muted); }
.nv-cart__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 900px) {
	.nv-cart__layout { grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; }
	.nv-cart__summary { position: sticky; top: calc(var(--nv-header-h) + 20px); }
}
.nv-savings-banner { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding: 12px 14px; border-radius: 12px; background: var(--nv-success-bg); color: #1f5c2c; font-size: 15px; font-weight: 700; }
.nv-savings-banner svg { flex: 0 0 auto; }
.nv-lines { display: flex; flex-direction: column; gap: 10px; }
.nv-lines__head { display: none; }
@media (min-width: 768px) {
	.nv-lines__head { display: grid; grid-template-columns: 96px minmax(0, 1fr) 140px 120px 40px; gap: 8px 14px; padding: 0 18px 2px; font-size: 13px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--nv-muted); }
	.nv-lines__head-product { grid-column: 1 / 3; }
	.nv-lines__head > span:nth-child(2) { text-align: center; }
	.nv-line__qty { justify-self: center; }
	.nv-lines__head-price { text-align: right; }
}
.nv-savings-banner span { flex: 1; min-width: 0; }
.nv-savings-banner strong, .nv-savings-banner strong .amount { white-space: nowrap; color: inherit; }
.nv-line {
	display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; grid-template-areas: "img info remove" "qty qty total";
	gap: 8px 14px; padding: 14px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius);
}
.nv-line__img { grid-area: img; }
.nv-line__img img { width: 64px; height: 64px; object-fit: cover; border-radius: 12px; }
@media (max-width: 767px) { .nv-line__name { font-size: 15px; } .nv-line__qty { justify-self: start; } }
.nv-line__info { grid-area: info; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.nv-line__name { color: var(--nv-ink); font-weight: 700; text-decoration: none; line-height: 1.3; }
.nv-line__info dl.variation { display: flex; flex-wrap: wrap; gap: 0 6px; margin: 0; font-size: 14px; color: var(--nv-muted); }
.nv-line__info dl.variation dt, .nv-line__info dl.variation dd, .nv-line__info dl.variation p { margin: 0; font-weight: 400; }
.nv-line__unit { font-size: 13px; color: var(--nv-muted); }
.nv-line__qty { grid-area: qty; align-self: center; }
.nv-line__qty .quantity { height: 40px; }
.nv-line__qty .quantity input.qty { width: 36px; }
.nv-line__qty .quantity .wqpmb_minus, .nv-line__qty .quantity .wqpmb_plus { width: 36px; }
.nv-line__total { grid-area: total; align-self: center; text-align: right; font-weight: 700; color: var(--nv-ink); }
.nv-line__was { display: block; font-size: 13px; font-weight: 400; color: var(--nv-muted); }
.nv-line__remove { grid-area: remove; justify-self: end; }
.nv-line__remove a.remove { display: inline-flex !important; align-items: center; justify-content: center; width: 36px !important; height: 36px !important; border-radius: 50%; color: var(--nv-muted) !important; background: transparent !important; font-size: 0 !important; }
.nv-line__remove a.remove:hover { background: #fdecea !important; color: var(--nv-error) !important; }
@media (min-width: 768px) {
	.nv-line { grid-template-columns: 96px minmax(0, 1fr) 140px 120px 40px; grid-template-areas: "img info qty total remove"; align-items: center; padding: 16px 18px; }
	.nv-line__img img { width: 96px; height: 96px; }
	.nv-line__remove { align-self: center; }
}
.nv-cart__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 6px; padding: 14px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); }
.nv-coupon { display: flex; gap: 8px; flex: 1 1 280px; }
.nv-coupon input { flex: 1; min-height: 48px; text-transform: uppercase; }
.nv-coupon input::placeholder { text-transform: none; }
.nv-coupon.is-loading { opacity: .6; pointer-events: none; }
.nv-update-cart { display: none; }
.nv-update-cart:not([disabled]) { display: inline-flex; }
.nv-cart__links { display: flex; flex-wrap: wrap; gap: 4px 18px; width: 100%; }

.nv-summary { padding: 20px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius-lg); box-shadow: var(--nv-shadow); }
.nv-summary__title { margin: 0 0 12px; font-size: 22px; }
.nv-totals { width: 100%; margin: 0 0 16px; border-collapse: collapse; border: 0 !important; }
.nv-totals th, .nv-totals td { padding: 8px 0 !important; border: 0 !important; background: none !important; font-size: 15px; vertical-align: top; }
.nv-totals th { text-align: left; font-weight: 400; color: #4a433d; }
.nv-totals td { text-align: right; font-weight: 700; color: var(--nv-ink); }
.nv-totals td::before { display: none !important; }
.nv-totals { table-layout: auto; }
.nv-totals th { width: auto !important; padding-right: 14px !important; line-height: 1.35; }
.nv-totals td { width: 1%; white-space: nowrap; }
.nv-totals td .woocommerce-shipping-methods, .nv-totals td .woocommerce-shipping-destination, .nv-totals td .shipping-calculator-button { white-space: normal; }
.nv-totals .order-total td small, .nv-totals .includes_tax { white-space: nowrap; }
/* Shipping row: the options get the full width, one line each (radio + name left, price right),
   instead of squeezing long carrier names (e.g. "Delhivery B2C Priority Air") into the narrow price column. */
.nv-totals th { width: 38% !important; }
.nv-totals td { width: auto; }
.nv-totals .woocommerce-shipping-totals td { white-space: normal; text-align: left; }
.nv-totals .woocommerce-shipping-methods { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.nv-totals .woocommerce-shipping-methods li { display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 0; text-indent: 0 !important; line-height: 1.3; }
.nv-totals .woocommerce-shipping-methods li input[type="radio"] { flex: 0 0 auto; margin: 2px 0 0 !important; accent-color: var(--nv-terracotta); }
.nv-totals ul.woocommerce-shipping-methods li label, .woocommerce .nv-totals ul#shipping_method li label { display: flex !important; flex: 1; justify-content: space-between; align-items: baseline; gap: 12px; margin: 0; font-weight: 600; cursor: pointer; }
.nv-totals .woocommerce-shipping-methods li label .amount { flex: 0 0 auto; white-space: nowrap; font-weight: 700; }
.nv-totals .woocommerce-shipping-methods li:only-child input[type="radio"] { display: none; }
.nv-totals .woocommerce-shipping-destination, .nv-totals .shipping-calculator-button { text-align: right; }
.nv-totals tr { display: table-row !important; }
.nv-totals .cart-discount td, .nv-totals .nv-totals__discount td, .nv-totals .cart-discount th, .nv-totals .nv-totals__discount th { color: var(--nv-green); }
.nv-totals .order-total th, .nv-totals .order-total td { padding-top: 14px !important; border-top: 1px solid var(--nv-border) !important; font-size: 20px; font-weight: 700; color: var(--nv-ink); }
.nv-totals .order-total small, .nv-totals .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--nv-muted); }
.nv-totals .order-savings th, .nv-totals .order-savings td { color: var(--nv-green) !important; font-weight: 700; }
.nv-totals .woocommerce-shipping-methods { margin: 0; padding: 0; list-style: none; }
.nv-totals .woocommerce-shipping-methods li { margin: 0 0 4px; }
.nv-totals .woocommerce-shipping-destination, .nv-totals .shipping-calculator-button { font-size: 13px; font-weight: 400; }
.nv-summary__cta .checkout-button { margin: 0 !important; }
.nv-summary__trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 16px; margin: 14px 0; padding: 0; list-style: none; font-size: 14px; color: #4a433d; }
.nv-summary__trust li { display: inline-flex; align-items: center; gap: 6px; }
.nv-summary__trust svg { color: var(--nv-teal); }
.nv-mobile-bar { display: none; }
@media (max-width: 899px) {
	.woocommerce-cart .nv-mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 47; display: flex; align-items: center; gap: 12px; padding: 10px var(--nv-gutter) calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--nv-border); box-shadow: 0 -10px 30px -18px rgba(31, 45, 47, .4); }
	.nv-mobile-bar__total { flex: 1; display: flex; flex-direction: column; font-size: 18px; font-weight: 700; color: var(--nv-ink); }
	.nv-mobile-bar__total > span { font-size: 12px; font-weight: 400; color: var(--nv-muted); }
	.nv-mobile-bar__total small { display: none; }
	.nv-mobile-bar .nv-btn { min-height: 50px; }
	.woocommerce-cart .nv-tabbar, .woocommerce-cart .nv-whatsapp { display: none; }
	body.woocommerce-cart { padding-bottom: 84px; }
}
.nv-recs--cart { margin-top: 12px; }
.nv-cart-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 48px 16px; text-align: center; }
.nv-cart-empty__icon { display: flex; align-items: center; justify-content: center; width: 88px; height: 88px; border-radius: 50%; background: var(--nv-gold-tint); color: var(--nv-terracotta); }
.nv-cart-empty p { color: var(--nv-muted); max-width: 420px; }

/* 9. Checkout ------------------------------------------------------------ */
.nv-header--checkout { position: static; }
.nv-header--checkout .nv-header__bar { justify-content: space-between; }
.nv-header--checkout .nv-header__logo { margin: 0; }
.nv-header__back, .nv-header__secure { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-size: 14px; font-weight: 700; color: var(--nv-teal); text-decoration: none; }
@media (max-width: 599px) { .nv-header__back span, .nv-header__secure span { display: none; } .nv-header__back, .nv-header__secure { width: 44px; justify-content: center; } }
.woocommerce-checkout .nv-shop-page { max-width: 1200px; }
.woocommerce-form-login-toggle .woocommerce-info { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.woocommerce-form-login { margin: 0 0 20px !important; padding: 18px !important; background: #fff; border: 1px solid var(--nv-border) !important; border-radius: var(--nv-radius) !important; }
.nv-social-login { margin-bottom: 14px; }
.nv-checkout__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; align-items: start; }
@media (min-width: 900px) {
	.nv-checkout__layout { grid-template-columns: minmax(0, 1fr) 420px; gap: 32px; }
	.nv-checkout__side { position: sticky; top: 20px; }
	.nv-checkout__peek { display: none; }
}
.nv-checkout__peek { margin-bottom: 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); }
.nv-checkout__peek summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding: 0 16px; cursor: pointer; list-style: none; color: var(--nv-teal); font-weight: 700; }
.nv-checkout__peek summary::-webkit-details-marker { display: none; }
.nv-checkout__peek summary > span { display: inline-flex; align-items: center; gap: 8px; }
.nv-checkout__peek[open] summary svg.nv-icon--chevron { transform: rotate(180deg); }
.nv-checkout__peek-total { color: var(--nv-ink); font-size: 18px; }
.nv-checkout__peek-total small { display: none; }
.nv-checkout__peek-body .nv-summary { border: 0; box-shadow: none; border-top: 1px solid var(--nv-border); border-radius: 0 0 var(--nv-radius) var(--nv-radius); }
.nv-checkout__peek-body .nv-summary__title { display: none; }

.nv-step { margin-bottom: 16px; padding: 20px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius-lg); }
.nv-step__title { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 20px; }
.nv-step__num { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 50%; background: var(--nv-teal); color: #fff; font-size: 15px; }
.nv-step__note { display: flex; align-items: center; gap: 6px; margin: -8px 0 14px; font-size: 14px; color: var(--nv-muted); }
.nv-step .woocommerce-billing-fields > h3, .nv-step .woocommerce-additional-fields > h3 { display: none; }
.nv-step .woocommerce-billing-fields__field-wrapper, .nv-step .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 12px; }
.nv-step .form-row { grid-column: 1 / -1; }
@media (min-width: 600px) {
	.nv-step .form-row-first { grid-column: 1; }
	.nv-step .form-row-last { grid-column: 2; }
}
.nv-step #ship-to-different-address { margin: 8px 0 12px; font-size: 16px; }
.nv-step #ship-to-different-address label { display: flex; align-items: center; gap: 10px; font-weight: 700; cursor: pointer; }
.nv-step #ship-to-different-address input { width: 20px; height: 20px; accent-color: var(--nv-teal); }
body.nv-guest .ocwma_select_shipping, body.nv-guest .form_option_shipping { display: none !important; }

/* Payment methods */
.nv-methods { margin: 0 0 16px !important; padding: 0 !important; list-style: none; border: 0 !important; display: flex; flex-direction: column; gap: 10px; }
.nv-methods li.wc_payment_method { position: relative; margin: 0 !important; padding: 0 !important; border: 2px solid var(--nv-border); border-radius: 14px; background: #fff; transition: border-color .15s, background-color .15s; }
.nv-methods li.wc_payment_method:has(input:checked) { border-color: var(--nv-terracotta); background: #fff8f4; }
.nv-methods li.wc_payment_method > input { position: absolute; left: 16px; top: 22px; width: 20px; height: 20px; margin: 0; accent-color: var(--nv-terracotta); }
.nv-methods li.wc_payment_method > label { display: flex !important; align-items: center; flex-wrap: wrap; gap: 8px; min-height: 64px; margin: 0 !important; padding: 12px 16px 12px 48px !important; font-weight: 700; color: var(--nv-ink); cursor: pointer; }
.nv-methods li.wc_payment_method > label img { max-height: 24px; width: auto; margin: 0 !important; }
.nv-methods .payment_box { margin: 0 !important; padding: 0 16px 14px 48px !important; background: transparent !important; color: var(--nv-muted); font-size: 14px; }
.nv-methods .payment_box::before { display: none !important; }
.nv-methods .payment_box p:last-child { margin: 0; }
.nv-place-order { display: flex; flex-direction: column; gap: 14px; margin: 0 !important; padding: 0 !important; }
.nv-place-order .woocommerce-terms-and-conditions-wrapper { font-size: 14px; color: var(--nv-muted); }
.nv-place-order .woocommerce-privacy-policy-text p { margin: 0 0 8px; }
.nv-place-order .woocommerce-form__label-for-checkbox { display: flex !important; align-items: flex-start; gap: 10px; font-weight: 400 !important; color: var(--nv-text); cursor: pointer; }
.nv-place-order .woocommerce-form__label-for-checkbox input { flex: 0 0 auto; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--nv-teal); }
#place_order { float: none !important; width: 100%; min-height: 58px; font-size: 18px; }
.nv-secure--checkout { margin-top: 4px; }

/* Summary on checkout */
.nv-review__items { display: flex; flex-direction: column; gap: 12px; margin: 0 0 14px; padding: 0; list-style: none; }
.nv-review__item { display: flex; align-items: center; gap: 12px; }
.nv-review__thumb { position: relative; flex: 0 0 56px; }
.nv-review__thumb img { width: 56px; height: 56px; object-fit: cover; border-radius: 10px; border: 1px solid var(--nv-border); }
.nv-review__qty { position: absolute; right: -6px; top: -6px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--nv-teal); color: #fff; font-size: 12px; font-weight: 700; line-height: 22px; text-align: center; }
.nv-review__info { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 14px; }
.nv-review__name { font-weight: 700; color: var(--nv-ink); line-height: 1.3; }
.nv-review__info dl.variation { display: flex; flex-wrap: wrap; gap: 0 4px; margin: 0; color: var(--nv-muted); }
.nv-review__info dl.variation dt, .nv-review__info dl.variation dd, .nv-review__info dl.variation p { margin: 0; font-weight: 400; }
.nv-review__price { font-weight: 700; color: var(--nv-ink); white-space: nowrap; }
.nv-coupon--checkout { margin-top: 12px; }
.nv-urgency { margin: 0 0 12px; padding: 10px 12px; border-radius: 12px; background: #fff4e5; color: #8a4b00; font-size: 14px; font-weight: 700; }
.nv-gift-wrap { margin: 4px 0 12px; padding: 14px; border-radius: 14px; background: var(--nv-gold-tint); }
.nv-addons { margin-top: 12px; padding-top: 14px; border-top: 1px dashed var(--nv-border-strong); }
.nv-addons__title { margin: 0 0 10px; font-size: 14px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; color: var(--nv-terracotta-dark); }
.nv-addon { display: flex; align-items: center; gap: 12px; padding: 8px 0; }
.nv-addon__img { width: 48px; height: 48px; object-fit: cover; border-radius: 10px; }
.nv-addon__body { flex: 1; min-width: 0; display: flex; flex-direction: column; font-size: 14px; }
.nv-addon__name { font-weight: 700; color: var(--nv-ink); line-height: 1.25; }
.nv-addon__price del { color: var(--nv-muted); font-size: 13px; }
.nv-addon__price ins { text-decoration: none; }
.nv-addon .nv-btn { min-height: 38px; padding: 0 12px; font-size: 14px; }
.woocommerce-checkout .blockUI.blockOverlay { background: rgba(255, 255, 255, .6) !important; border-radius: var(--nv-radius); }

/* Thank-you page */
.woocommerce-order { max-width: 860px; margin-inline: auto; }
.woocommerce-thankyou-order-received { padding: 18px 20px; border-radius: var(--nv-radius); background: var(--nv-success-bg); color: #1f5c2c; font-size: 20px; font-weight: 700; }
.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; margin: 16px 0 24px !important; padding: 0 !important; list-style: none; }
.woocommerce-order-overview li { margin: 0 !important; padding: 14px !important; border: 1px solid var(--nv-border) !important; border-radius: 14px; background: #fff; font-size: 13px !important; text-transform: uppercase; color: var(--nv-muted); }
.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 16px !important; text-transform: none; color: var(--nv-ink); }
.woocommerce-order-details, .woocommerce-customer-details { padding: 20px; margin-bottom: 20px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius-lg); }
.woocommerce table.shop_table { border: 0; border-radius: 0; }

/* 10. Side cart (Xootix) -------------------------------------------------- */
.xoo-wsc-modal .xoo-wsc-container, .xoo-wsc-slider { font-family: var(--nv-font) !important; }
.xoo-wsc-container, .xoo-wsc-slider { width: min(420px, 100vw) !important; max-width: min(420px, 100vw) !important; right: calc(-1 * min(420px, 100vw)) !important; }
.xoo-wsc-cart-active .xoo-wsc-container, .xoo-wsc-slider-active .xoo-wsc-slider { right: 0 !important; }
.xoo-wsc-container { background: var(--nv-ground) !important; box-shadow: var(--nv-shadow-lg); }
.xoo-wsc-footer-txt { display: none !important; }
/* "Products you might like" drawer: sits beside the 420px cart (plugin assumes 320px); on phones it opens over the cart */
.xoo-wsc-drawer { width: 340px !important; max-width: 340px !important; background: #fff !important; box-shadow: var(--nv-shadow-lg); }
.xoo-wsc-drawer-active .xoo-wsc-drawer { right: min(420px, 100vw) !important; }
.xoo-wsc-drawer .xoo-wsc-sp-title, .xoo-wsc-drawer .xoo-wsc-sp-title a { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; }
.xoo-wsc-drawer .xoo-wsc-sp-container { margin: 0; border: 0; border-radius: 0; }
@media (max-width: 759px) {
	.xoo-wsc-drawer { width: 100vw !important; max-width: 100vw !important; }
	.xoo-wsc-drawer-active .xoo-wsc-drawer { right: 0 !important; z-index: 1000000 !important; }
}
.xoo-wsc-header { padding: 16px 18px !important; background: #fff !important; border-bottom: 1px solid var(--nv-border) !important; }
.xoo-wsch-text { font-size: 22px !important; font-weight: 700 !important; color: var(--nv-ink) !important; }
.xoo-wsch-close { color: var(--nv-ink) !important; font-size: 22px !important; }
.xoo-wsch-basket .xoo-wscb-icon { color: var(--nv-terracotta) !important; }
.xoo-wscb-count { background: var(--nv-terracotta) !important; color: #fff !important; }
.xoo-wsc-body { padding: 12px !important; background: var(--nv-ground) !important; }
.xoo-wsc-body, .xoo-wsc-body span.amount, .xoo-wsc-body a { font-size: 15px !important; color: var(--nv-ink) !important; }
.xoo-wsc-products { display: flex; flex-direction: column; gap: 10px; }
.xoo-wsc-product { margin: 0 !important; padding: 12px !important; background: #fff !important; border: 1px solid var(--nv-border) !important; border-radius: var(--nv-radius) !important; box-shadow: none !important; }
.xoo-wsc-img-col { width: 76px !important; }
.xoo-wsc-img-col img { width: 76px !important; height: 76px !important; object-fit: cover; border-radius: 12px; }
.xoo-wsc-sum-col { padding-left: 12px !important; }
.xoo-wsc-pname, .xoo-wsc-pname a { font-size: 15px !important; font-weight: 700 !important; line-height: 1.3 !important; text-decoration: none !important; }
.xoo-wsc-product dl.variation, .xoo-wsc-product .variation { font-size: 13px !important; color: var(--nv-muted) !important; }
.xoo-wsc-pprice, .xoo-wsc-ptotal { font-weight: 700 !important; }
.xoo-wsc-qty-price span, .xoo-wsc-qty-price { color: var(--nv-muted) !important; font-size: 13px !important; }
.xoo-wsc-qty-box { height: 36px !important; border: 1px solid var(--nv-border-strong) !important; border-radius: 999px !important; overflow: hidden; background: #fff !important; }
.xoo-wsc-qty-box .xoo-wsc-chng { width: 34px !important; border: 0 !important; background: transparent !important; color: var(--nv-teal) !important; font-size: 18px !important; }
.xoo-wsc-qty-box input.xoo-wsc-qty { width: 34px !important; border: 0 !important; background: transparent !important; color: var(--nv-ink) !important; font-weight: 700 !important; min-height: 0; }
.xoo-wsc-smr-del { color: var(--nv-muted) !important; font-size: 16px !important; }
.xoo-wsc-smr-del:hover { color: var(--nv-error) !important; }
.xoo-wsc-pdel { color: var(--nv-muted) !important; }
.xoo-wsc-footer { padding: 14px 18px calc(14px + env(safe-area-inset-bottom)) !important; background: #fff !important; box-shadow: 0 -10px 30px -18px rgba(31, 45, 47, .35) !important; color: var(--nv-ink) !important; }
.xoo-wsc-ft-totals { margin-bottom: 10px; }
.xoo-wsc-ft-amt { padding: 4px 0 !important; font-size: 15px !important; color: var(--nv-ink) !important; }
.xoo-wsc-ft-amt-label { color: #4a433d !important; }
.xoo-wsc-ft-amt-value { font-weight: 700 !important; }
.xoo-wsc-ft-amt-total { margin-top: 6px; padding-top: 10px !important; border-top: 1px solid var(--nv-border); font-size: 18px !important; }
.xoo-wsc-ft-amt-savings, .xoo-wsc-ft-amt-discount, .xoo-wsc-ft-amt-savings .xoo-wsc-ft-amt-value { color: var(--nv-green) !important; }
.xoo-wsc-footer-txt { font-size: 13px !important; color: var(--nv-muted) !important; }
.xoo-wsc-ft-buttons-cont { display: grid !important; grid-template-columns: 1fr 1fr; gap: 8px !important; }
.xoo-wsc-ft-btn {
	display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px !important; margin: 0 !important; padding: 0 14px !important;
	border: 2px solid var(--nv-border-strong) !important; border-radius: 999px !important; background: #fff !important; color: var(--nv-teal) !important;
	font-family: var(--nv-font) !important; font-size: 15px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; transition: background-color .15s, color .15s;
}
.xoo-wsc-ft-btn:hover { background: var(--nv-ground) !important; color: var(--nv-terracotta-dark) !important; }
.xoo-wsc-ft-btn-checkout { grid-column: 1 / -1; min-height: 54px !important; border-color: var(--nv-terracotta) !important; background: var(--nv-terracotta) !important; color: #fff !important; font-size: 17px !important; }
.xoo-wsc-ft-btn-checkout:hover { background: var(--nv-terracotta-dark) !important; border-color: var(--nv-terracotta-dark) !important; color: #fff !important; }
.xoo-wsc-ft-btn-checkout .amount, .xoo-wsc-ft-btn-checkout span { color: #fff !important; }
.xoo-wsc-sp-container { margin-top: 14px; padding: 14px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); }
.xoo-wsc-sp-heading { display: block; margin-bottom: 10px !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: .8px; text-transform: uppercase; color: var(--nv-terracotta-dark) !important; }
.xoo-wsc-sp-product { align-items: center; gap: 10px; }
.xoo-wsc-sp-left-col img { width: 60px !important; height: 60px !important; object-fit: cover; border-radius: 10px; }
.xoo-wsc-sp-title, .xoo-wsc-sp-title a { font-size: 14px !important; font-weight: 700 !important; line-height: 1.25 !important; text-decoration: none !important; }
.xoo-wsc-sp-atc .button, .xoo-wsc-sp-atc a.button { min-height: 34px !important; padding: 0 14px !important; border: 0 !important; border-radius: 999px !important; background: var(--nv-teal) !important; color: #fff !important; font-size: 13px !important; font-weight: 700 !important; line-height: 34px !important; }
.xoo-wsc-coupon-trigger, .xoo-wsc-toggle-trigger { display: inline-flex; align-items: center; gap: 6px; padding: 8px 0 !important; color: var(--nv-teal) !important; font-weight: 700 !important; font-size: 14px !important; }
.xoo-wsc-slider { background: #fff !important; }
.xoo-wsc-sl-apply-coupon input[type="text"], .xoo-wsc-slider input[type="text"] { min-height: 46px; border-radius: 12px !important; }
.xoo-wsc-slider .button, .xoo-wsc-sl-apply-coupon button { min-height: 46px !important; border-radius: 999px !important; background: var(--nv-teal) !important; color: #fff !important; font-weight: 700 !important; border: 0 !important; }
.xoo-wsc-empty-cart { padding: 40px 16px !important; text-align: center; }
.xoo-wsc-empty-cart > span { font-size: 18px !important; font-weight: 700; color: var(--nv-ink) !important; }
.xoo-wsc-empty-cart .xoo-wsc-btn, .xoo-wsc-empty-cart a { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; margin-top: 12px; padding: 0 24px !important; border-radius: 999px !important; background: var(--nv-terracotta) !important; color: #fff !important; font-weight: 700 !important; text-decoration: none !important; }
.xoo-wsc-notice-container .xoo-wsc-notices li { border-radius: 10px; font-size: 14px; }
.xoo-wsc-basket { display: none !important; }
.xoo-wsc-body .nv-savings-banner { margin: 0 0 10px; font-size: 14px; }

/* 11. WooCommerce bits ---------------------------------------------------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-noreviews, p.no-comments {
	display: block; margin: 0 0 16px !important; padding: 14px 16px 14px 18px !important; line-height: 1.5;
	border: 0 !important; border-left: 4px solid var(--nv-teal) !important; border-radius: 12px; background: #fff !important; color: var(--nv-ink) !important; box-shadow: var(--nv-shadow); list-style: none;
}
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before { display: none !important; }
.woocommerce-message { border-left-color: var(--nv-green) !important; }
.woocommerce-error { border-left-color: var(--nv-error) !important; }
.woocommerce-error li { margin: 0; }
.woocommerce-message .button, .woocommerce-info .button { float: right; margin: -4px 0 0 12px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--nv-teal); color: #fff; font-weight: 700; text-decoration: none; display: inline-flex; align-items: center; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
	min-height: 46px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--nv-teal); color: #fff; font-family: var(--nv-font); font-size: 15px; font-weight: 700; line-height: 46px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--nv-teal-dark); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--nv-terracotta); }
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover { background: var(--nv-terracotta-dark); }
.woocommerce .star-rating { color: #e0a21b; }
.woocommerce-pagination ul { display: flex; gap: 6px; justify-content: center; padding: 0; list-style: none; border: 0 !important; }
.woocommerce-pagination ul li { border: 0 !important; }
.woocommerce-pagination a, .woocommerce-pagination span { display: inline-flex; align-items: center; justify-content: center; min-width: 42px; height: 42px; border-radius: 50%; background: #fff; border: 1px solid var(--nv-border); }
/* My account */
.woocommerce-account .nv-shop-page { padding-block: 28px 8px; }
.nv-auth { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 1040px; margin: 0 auto; }
.nv-auth::before, .nv-auth::after { display: none !important; }
.nv-auth .col-1, .nv-auth .col-2 { float: none !important; width: auto !important; max-width: none !important; }
.nv-auth__card { padding: 26px 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius-lg); box-shadow: var(--nv-shadow); }
.nv-auth__card--register { background: linear-gradient(180deg, var(--nv-gold-tint) 0%, #fff 55%); }
.nv-auth__title { margin: 0; font-size: clamp(26px, 3vw, 32px); }
.nv-auth__lead { margin: 6px 0 18px; color: var(--nv-muted); }
.nv-auth form.login, .nv-auth form.register { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none; box-shadow: none; }
.nv-auth .nv-social-login { margin-bottom: 18px; }
.nv-auth .nv-social-login .nsl-container-buttons { padding: 0 !important; }
.nv-auth .nv-social-login .nsl-container, .nv-auth .nv-social-login .nsl-container-buttons { display: block !important; width: 100% !important; max-width: none !important; }
.nv-auth .nv-social-login .nsl-container-buttons a { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
.nv-auth .nv-social-login .nsl-button { display: flex !important; justify-content: center; width: 100% !important; max-width: none !important; min-height: 50px; border: 1px solid var(--nv-border-strong) !important; border-radius: 999px !important; box-shadow: none !important; }
.nv-auth .nv-social-login::after { content: "or"; display: flex; align-items: center; gap: 12px; margin-top: 18px; color: var(--nv-muted); font-size: 13px; text-transform: uppercase; letter-spacing: 1px; background: linear-gradient(var(--nv-border), var(--nv-border)) left center / 42% 1px no-repeat, linear-gradient(var(--nv-border), var(--nv-border)) right center / 42% 1px no-repeat; justify-content: center; }
.nv-auth__perks { display: flex; flex-direction: column; gap: 10px; margin: 14px 0 20px; padding: 0; list-style: none; }
.nv-auth__perks li { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: #4a433d; }
.nv-auth__perks svg { flex: 0 0 auto; margin-top: 2px; color: var(--nv-terracotta); }
.nv-auth__perks strong { color: var(--nv-terracotta-dark); }
.nv-auth__row { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.nv-auth__row .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; font-weight: 400 !important; color: var(--nv-text); }
.nv-auth__row input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--nv-teal); }
.nv-auth__lost { font-size: 14px; font-weight: 700; }
.nv-auth button.woocommerce-form-login__submit, .nv-auth button.woocommerce-form-register__submit {
	flex: 1 1 100%; width: 100%; min-height: 52px !important; margin: 4px 0 0 !important; padding: 0 24px !important; border-radius: 999px !important;
	background: var(--nv-terracotta) !important; color: #fff !important; font-size: 17px !important; line-height: 1 !important;
}
.nv-auth button.woocommerce-form-login__submit:hover, .nv-auth button.woocommerce-form-register__submit:hover { background: var(--nv-terracotta-dark) !important; }
.nv-auth .woocommerce-privacy-policy-text { font-size: 13px; color: var(--nv-muted); }
.nv-auth .g-recaptcha { margin: 4px 0 14px; }
/* WooCommerce show-password eye inside the field */
.woocommerce form .password-input, .password-input { position: relative; display: block; }
.woocommerce form .show-password-input, .show-password-input {
	position: absolute !important; right: 10px; top: 50%; transform: translateY(-50%); width: 34px; height: 34px; padding: 0 !important; margin: 0 !important;
	border: 0 !important; border-radius: 50% !important; background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b625b' stroke-width='2'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 18px no-repeat !important; cursor: pointer; box-shadow: none !important; font-size: 0 !important;
}
.woocommerce form .show-password-input::after, .show-password-input::after { display: none !important; }
.woocommerce form .show-password-input.display-password, .show-password-input.display-password { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23254b51' stroke-width='2'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M4 4l16 16'/%3E%3C/svg%3E") !important; }
@media (min-width: 900px) {
	.nv-auth { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
	.nv-auth__card { padding: 36px 34px; }
}
/* Signed in: sidebar + content (phones: tiles on the dashboard, chip row elsewhere) */
.woocommerce-account.logged-in .nv-shop-page > .woocommerce { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 18px; }
.woocommerce-account.logged-in .nv-shop-page > .woocommerce > * { flex: 1 1 100%; min-width: 0; order: -1; }
.woocommerce-account.logged-in .nv-shop-page > .woocommerce > .woocommerce-MyAccount-navigation { order: 1; }
.woocommerce-account.logged-in .nv-shop-page > .woocommerce > .woocommerce-MyAccount-content { order: 2; }
.nv-acc-nav { float: none !important; width: auto !important; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; overflow: hidden; }
.nv-acc-nav__profile { display: none; align-items: center; gap: 14px; padding: 20px; background: linear-gradient(135deg, var(--nv-teal) 0%, #2f5d63 100%); color: #fff; }
.nv-acc-nav__avatar { flex: 0 0 50px; height: 50px; border-radius: 50%; background: var(--nv-gold); color: #3d2a06; display: flex; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; }
.nv-acc-nav__who { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.nv-acc-nav__name { font-size: 18px; font-weight: 700; }
.nv-acc-nav__email { font-size: 13px; color: #cfdcdc; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nv-acc-nav ul { display: flex; gap: 6px; margin: 0; padding: 8px; list-style: none; overflow-x: auto; scrollbar-width: none; }
.nv-acc-nav ul::-webkit-scrollbar { display: none; }
.nv-acc-nav li { flex: 0 0 auto; }
.nv-acc-nav a { display: flex; align-items: center; gap: 10px; min-height: 42px; padding: 0 12px; border-radius: 12px; color: var(--nv-ink); font-size: 15px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nv-acc-nav__icon { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 10px; background: var(--nv-ground); color: var(--nv-ink); }
.nv-acc-nav li.is-active a, .nv-acc-nav a:hover { background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); }
.nv-acc-nav li.is-active .nv-acc-nav__icon, .nv-acc-nav a:hover .nv-acc-nav__icon { background: #fff; color: var(--nv-terracotta-dark); }
.nv-acc-nav .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--nv-muted); }
.woocommerce-MyAccount-content { float: none !important; width: auto !important; min-width: 0; padding: 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; }
body.nv-account-dashboard .woocommerce-MyAccount-content, body.nv-account-orders .woocommerce-MyAccount-content { padding: 0; background: transparent; border: 0; }
/* Phones: dashboard shows tiles, so hide the chip row there */
@media (max-width: 899px) {
	body.nv-account-dashboard .nv-acc-nav { display: none; }
	.nv-acc-nav { border-radius: 16px; }
	.nv-acc-nav a { min-height: 38px; padding: 0 12px 0 6px; font-size: 14px; }
	.nv-acc-nav__icon { width: 28px; height: 28px; }
}
@media (min-width: 900px) {
	.woocommerce-account.logged-in .nv-shop-page > .woocommerce { flex-wrap: wrap; gap: 32px; }
	.woocommerce-account.logged-in .nv-shop-page > .woocommerce > .woocommerce-MyAccount-navigation { flex: 0 0 290px; }
	.woocommerce-account.logged-in .nv-shop-page > .woocommerce > .woocommerce-MyAccount-content { flex: 1 1 0; }
	.nv-acc-nav { position: sticky; top: calc(var(--nv-header-h) + 20px); }
	.nv-acc-nav__profile { display: flex; }
	.nv-acc-nav ul { flex-direction: column; padding: 10px; overflow: visible; }
	.nv-acc-nav a { min-height: 46px; }
}
/* Dashboard */
.nv-dash { display: flex; flex-direction: column; gap: 18px; }
.nv-dash__hello { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px; }
.nv-dash__title { margin: 4px 0 0; font-size: clamp(28px, 3.4vw, 40px); }
.nv-dash__lead { margin: 6px 0 0; color: var(--nv-muted); }
.nv-dash__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px; }
.nv-stat { display: flex; align-items: center; gap: 12px; padding: 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: 18px; color: var(--nv-ink); text-decoration: none; transition: border-color .15s, transform .15s; }
.nv-stat:hover { border-color: var(--nv-teal); transform: translateY(-2px); color: var(--nv-ink); }
.nv-stat__icon { flex: 0 0 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; }
.nv-stat--gold .nv-stat__icon { background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); }
.nv-stat--green .nv-stat__icon { background: var(--nv-success-bg); color: var(--nv-green); }
.nv-stat--teal .nv-stat__icon { background: #e9f0f0; color: var(--nv-teal); }
.nv-stat__text { display: flex; flex-direction: column; min-width: 0; }
.nv-stat__label { font-size: 13px; color: var(--nv-muted); }
.nv-stat__value { font-size: 22px; font-weight: 700; line-height: 1.2; }
.nv-dash__tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.nv-dash-tile { display: flex; flex-direction: column; gap: 10px; padding: 14px; background: #fff; border: 1px solid var(--nv-border); border-radius: 16px; color: var(--nv-ink); font-weight: 700; line-height: 1.25; text-decoration: none; }
.nv-dash-tile__icon { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px; background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); }
@media (min-width: 900px) { .nv-dash__tiles { display: none; } }
.nv-dash__card { padding: 20px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; }
.nv-dash__card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.nv-dash__card-head h3 { margin: 0; font-size: 20px; }
.nv-dash__card-head a { font-size: 14px; font-weight: 700; }
.nv-dash__trio { display: grid; gap: 14px; }
@media (min-width: 900px) { .nv-dash__trio { grid-template-columns: repeat(3, minmax(0, 1fr)); } .nv-dash__card { padding: 24px; } }
.nv-dash__card--small .nv-dash__card-head h3 { font-size: 17px; }
.nv-dash__address { margin: 0; font-style: normal; font-size: 14px; line-height: 1.6; color: #4a433d; }
.nv-dash__muted { margin: 0; font-size: 14px; color: #4a433d; }
.nv-dash__card--help { background: linear-gradient(135deg, var(--nv-teal) 0%, #2f5d63 100%); border: 0; color: #cfdcdc; }
.nv-dash__card--help h3 { margin: 0; color: #fff; font-size: 17px; }
.nv-dash__card--help p { margin: 6px 0 12px; font-size: 14px; }
.nv-dash__logout { display: flex; align-items: center; justify-content: center; gap: 8px; height: 48px; border-radius: 999px; border: 1px solid var(--nv-border-strong); background: #fff; color: var(--nv-muted); font-weight: 700; text-decoration: none; }
@media (min-width: 900px) { .nv-dash__logout { display: none; } }
/* Order cards (dashboard + Orders page) */
.nv-orders { display: flex; flex-direction: column; gap: 10px; }
.nv-order { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; grid-template-areas: "img main status" "total total actions"; align-items: center; gap: 10px 12px; padding: 14px; background: #fff; border: 1px solid var(--nv-border); border-radius: 16px; }
.nv-dash__card .nv-order { background: var(--nv-ground); }
.nv-order__img { grid-area: img; }
.nv-order__img img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; }
.nv-order__main { grid-area: main; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nv-order__no { font-size: 16px; font-weight: 700; text-decoration: none; color: var(--nv-ink); }
.nv-order__no:hover { color: var(--nv-terracotta-dark); }
.nv-order__meta { font-size: 13px; color: var(--nv-muted); }
.nv-order__status { grid-area: status; justify-self: end; padding: 4px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.nv-order__status--active { background: #fff4e5; color: #8a4b00; }
.nv-order__status--done { background: var(--nv-success-bg); color: #1f5c2c; }
.nv-order__status--stopped { background: #fdecea; color: var(--nv-error); }
.nv-order__total { grid-area: total; font-size: 17px; font-weight: 700; color: var(--nv-ink); }
.nv-order__total del { font-weight: 400; color: var(--nv-muted); font-size: 14px; }
.nv-order__actions { grid-area: actions; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.nv-order__btn { display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 999px; font-size: 13px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.nv-order__btn--primary { background: var(--nv-teal); color: #fff; }
.nv-order__btn--primary:hover { background: var(--nv-teal-dark); color: #fff; }
.nv-order__btn--outline { border: 1px solid var(--nv-teal); color: var(--nv-teal); background: #fff; }
.nv-order__btn--outline:hover { background: var(--nv-teal); color: #fff; }
@media (min-width: 900px) {
	.nv-order { grid-template-columns: 64px minmax(0, 1fr) 130px 130px auto; grid-template-areas: "img main status total actions"; gap: 18px; padding: 14px 16px; }
	.nv-order__img img { width: 64px; height: 64px; }
	.nv-order__status { justify-self: start; }
}
.woocommerce-MyAccount-content button:not(.show-password-input):not(.nv-sub-toggle), .woocommerce-MyAccount-content input[type="submit"], .woocommerce-MyAccount-content .button:not(.nv-order__btn) {
	display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px !important; border: 0 !important; border-radius: 999px !important;
	background: var(--nv-teal) !important; color: #fff !important; font-family: var(--nv-font); font-size: 15px !important; font-weight: 700; line-height: 1 !important; text-decoration: none; cursor: pointer;
}
.woocommerce-MyAccount-content button:not(.show-password-input):hover, .woocommerce-MyAccount-content input[type="submit"]:hover { background: var(--nv-teal-dark) !important; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3 { font-size: 20px; margin: 0 0 10px; }
.woocommerce-MyAccount-content .woocommerce-Addresses { display: grid; gap: 16px; }
@media (min-width: 768px) { .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr 1fr; } }
.woocommerce-MyAccount-content .woocommerce-Address { float: none !important; width: auto !important; padding: 16px; border: 1px solid var(--nv-border); border-radius: 16px; }
.woocommerce-MyAccount-content .woocommerce-Address-title { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.woocommerce-MyAccount-content .woocommerce-Address-title a { font-size: 14px; font-weight: 700; }
.nv-acc-head { margin-bottom: 14px; }
.nv-acc-head__title { margin: 0; font-size: clamp(26px, 3vw, 34px); }
.nv-acc-head__lead { margin: 4px 0 0; color: var(--nv-muted); }
.nv-acc-pager { display: flex; justify-content: space-between; gap: 10px; margin-top: 16px; }
.nv-acc-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 40px 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; text-align: center; }
.woocommerce form.login:not(.nv-auth form), .woocommerce form.lost_reset_password { max-width: 520px; margin: 0 auto 20px !important; padding: 26px !important; background: #fff; border: 1px solid var(--nv-border) !important; border-radius: var(--nv-radius-lg) !important; }

/* Blog cards, 404 */
.nv-post-grid { display: grid; gap: 18px; }
@media (min-width: 768px) { .nv-post-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nv-post-card__link { display: block; height: 100%; overflow: hidden; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); color: inherit; text-decoration: none; }
.nv-post-card__img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.nv-post-card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; }
.nv-post-card__date { font-size: 13px; color: var(--nv-muted); }
.nv-post-card__title { font-size: 18px; font-weight: 700; line-height: 1.3; color: var(--nv-ink); }
.nv-post-card__more { font-weight: 700; color: var(--nv-terracotta-dark); }
.nv-article__img { margin-bottom: 20px; border-radius: var(--nv-radius); }
.nv-404 { display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; padding-block: 64px; }
.nv-404__search { width: min(480px, 100%); }

/* WooCommerce's own CSS has higher specificity than our base rules; restate the important bits. */
ul.products::before, ul.products::after, .woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; content: none !important; }
.woocommerce a.nv-btn, .woocommerce button.nv-btn, .woocommerce a.button.nv-btn, .woocommerce button.button.nv-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 22px; line-height: 1.1; font-size: 16px; border-radius: 999px; text-align: center;
}
.woocommerce .nv-btn--primary, .woocommerce a.button.nv-btn--primary, .woocommerce a.button.alt.nv-btn--primary { background: var(--nv-terracotta); color: #fff; }
.woocommerce .nv-btn--primary:hover, .woocommerce a.button.nv-btn--primary:hover { background: var(--nv-terracotta-dark); color: #fff; }
.woocommerce .nv-btn--sm, .woocommerce a.button.nv-btn--sm { min-height: 42px; padding: 0 16px; font-size: 15px; }
.woocommerce .nv-btn--lg, .woocommerce a.button.nv-btn--lg { min-height: 56px; padding: 0 28px; font-size: 17px; }
.woocommerce .nv-card__actions .nv-btn { min-height: 42px; padding: 0 8px; font-size: 14px; }
@media (min-width: 768px) { .woocommerce .nv-card__actions .nv-btn { min-height: 44px; font-size: 15px; } }
.woocommerce .nv-summary__cta a.checkout-button { display: flex; width: 100%; padding: 0 24px; font-size: 17px; line-height: 1.1; }
.woocommerce form .form-row .input-text, .woocommerce form .form-row select, .woocommerce-page form .form-row .input-text {
	min-height: 50px; padding: 12px 14px; border: 1px solid var(--nv-border-strong); border-radius: 12px; background: #fff; font-size: 16px; line-height: 1.3;
}
.woocommerce form .form-row textarea.input-text { min-height: 96px; }
.woocommerce form .form-row .input-text:focus, .woocommerce form .form-row select:focus { border-color: var(--nv-teal); box-shadow: 0 0 0 3px rgba(37, 75, 81, .15); outline: none; }
.woocommerce-checkout #payment, .woocommerce-checkout #payment ul.payment_methods { background: transparent !important; border-radius: 0; }
.woocommerce-checkout #payment div.form-row { padding: 0 !important; }
/* Multiple Shipping Address plugin buttons */
.ocwma_select_billing, .ocwma_select_shipping { margin-bottom: 12px; }
button.form_option_billing, button.form_option_shipping, .form_option_billing button, .form_option_shipping button, button.ocwma_add_billing, button.ocwma_add_shipping, .ocwma_btn, [class*="ocwma"] .button {
	min-height: 40px; padding: 0 16px !important; border: 2px solid var(--nv-teal) !important; border-radius: 999px !important; background: #fff !important; color: var(--nv-teal) !important; font-family: var(--nv-font) !important; font-size: 14px !important; font-weight: 700; cursor: pointer;
}
.nv-cart__summary .nv-totals th, .nv-cart__summary .nv-totals td { border-top: 0 !important; }

/* Checkout notices (returning customer, affiliate code, discount applied): compact rows, not big cards. */
.woocommerce-checkout .woocommerce-info, .woocommerce-checkout .woocommerce-message { padding: 10px 14px !important; font-size: 14px; box-shadow: none; border: 1px solid var(--nv-border) !important; border-left-width: 4px !important; margin-bottom: 10px !important; }

/* Checkout: returning-customer card, tucked fields */
.nv-login-card { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin-bottom: 14px; padding: 14px 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: var(--nv-radius); font-size: 15px; color: var(--nv-ink); }
.nv-login-card__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.nv-login-card__google .nsl-container { margin: 0 !important; }
.nv-login-card__google .nsl-container-buttons { padding: 0 !important; }
.nv-login-card__google .nsl-button { border-radius: 999px !important; min-height: 42px; box-shadow: none !important; border: 1px solid var(--nv-border-strong) !important; }
.nv-is-tucked { display: none !important; }
.nv-gst-toggle, .nv-saved-toggle { margin: -4px 0 10px; padding: 6px 0; font-size: 14px; }
.nv-saved-address { margin-bottom: 12px; padding: 12px; border-radius: 12px; background: var(--nv-ground); }
.nv-saved-address:empty { display: none; }
body.nv-guest .nv-saved-address { display: none; }
.nv-step .woocommerce-billing-fields__field-wrapper > .nv-gst-toggle { grid-column: 1 / -1; justify-self: start; }

/* Product cards: equal buttons, brand price colour, quick view as a small round button on the photo */
.woocommerce ul.products li.product .nv-card__actions .nv-btn, .nv-card__actions .nv-btn {
	display: inline-flex !important; align-items: center; justify-content: center; height: 44px; min-height: 44px; margin: 0 !important; padding: 0 8px !important;
	line-height: 1.1 !important; font-size: 15px !important; border-radius: 999px !important; white-space: nowrap;
}
@media (max-width: 767px) { .woocommerce ul.products li.product .nv-card__actions .nv-btn, .nv-card__actions .nv-btn { height: 42px; min-height: 42px; font-size: 14px !important; } }
.woocommerce ul.products li.product .price, .nv-card__price, .nv-card__price .amount { color: var(--nv-ink) !important; }
.woocommerce ul.products li.product .price del, .woocommerce ul.products li.product .price del .amount { color: var(--nv-muted) !important; opacity: 1; }
.nv-card .nv-qv-button { position: absolute; top: 18px; right: 18px; z-index: 3; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .94); color: var(--nv-ink); box-shadow: var(--nv-shadow); cursor: pointer; opacity: 0; transform: translateY(-4px); transition: opacity .2s, transform .2s, color .15s; }
.nv-card:hover .nv-qv-button, .nv-card:focus-within .nv-qv-button, .nv-card .nv-qv-button:focus-visible { opacity: 1; transform: none; }
.nv-card .nv-qv-button:hover { color: var(--nv-terracotta); }
@media (hover: none) { .nv-card .nv-qv-button { display: none; } }

/* Reviews: one card per review (no inner box), centred tab labels */
#reviews .commentlist li .comment_container { display: flex; gap: 12px; }
#reviews .commentlist li img.avatar { float: none; position: static; flex: 0 0 40px; margin: 0; padding: 0; border: 0; background: none; }
#reviews .commentlist li .comment-text { flex: 1; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0; }
#reviews .commentlist li .comment-text p.meta { margin: 0 0 6px; font-size: 14px; color: var(--nv-muted); }
#reviews .commentlist li .comment-text .description p { margin: 0 0 8px; }
#reviews .commentlist li .star-rating { float: right; }
/* Beat WooCommerce's default (absolute, bordered) review avatar */
.woocommerce #reviews #comments ol.commentlist li .comment_container { display: flex; align-items: flex-start; gap: 14px; }
.woocommerce #reviews #comments ol.commentlist li img.avatar { position: static; float: none; flex: 0 0 44px; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; background: var(--nv-ground, #f3ede4); box-shadow: none; }
.woocommerce #reviews #comments ol.commentlist li .comment-text { flex: 1; min-width: 0; margin: 0; padding: 0; border: 0; }
.woocommerce #reviews #comments ol.commentlist li .comment-text p.meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; min-height: 44px; margin: 0 0 6px; }
.nv-reviews .wc-tabs li a { line-height: 1.1 !important; padding-block: 0 !important; }

/* ===================== Homepage ===================== */
.nv-center { display: flex; justify-content: center; margin-top: 20px; }
.nv-row-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 16px; margin-bottom: 18px; }
.nv-row-head .nv-section-head { margin: 0; }
.nv-btn--glass { background: rgba(255, 255, 255, .55); border-color: rgba(37, 75, 81, .25); color: var(--nv-teal); backdrop-filter: blur(10px); }
.nv-btn--glass:hover { background: #fff; color: var(--nv-teal); }
.nv-btn--gold { background: var(--nv-gold); color: #3d2a06; }
.nv-btn--gold:hover { background: #e3a94c; color: #3d2a06; }

/* Hero */
.nv-hero { position: relative; overflow: hidden; background: #f7ecdc; }
.nv-hero__glow { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.nv-hero__glow--1 { width: 520px; height: 520px; right: -160px; top: -200px; background: #f2a477; opacity: .55; }
.nv-hero__glow--2 { width: 420px; height: 420px; right: 30%; bottom: -220px; background: #edba67; opacity: .55; }
.nv-hero__glow--3 { width: 360px; height: 360px; left: -160px; top: 30%; background: #9cc3bd; opacity: .4; }
.nv-hero__grain { position: absolute; inset: 0; opacity: .12; mix-blend-mode: multiply; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.nv-hero__inner { position: relative; padding-block: 22px 18px; }
.nv-hero__slides { position: relative; }
.nv-hero__slide { display: none; }
.nv-hero__slide.is-active { display: grid; gap: 22px; animation: nvFade .5s ease; }
@keyframes nvFade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.nv-hero__pill { display: inline-flex; align-items: center; gap: 8px; height: 34px; padding: 0 14px 0 10px; border-radius: 999px; background: rgba(255, 255, 255, .6); border: 1px solid rgba(255, 255, 255, .9); backdrop-filter: blur(10px); font-size: 13px; font-weight: 700; color: var(--nv-teal); }
.nv-hero__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--nv-green); animation: nvPulse 1.8s ease-out infinite; }
@keyframes nvPulse { 0% { box-shadow: 0 0 0 0 rgba(24, 128, 48, .55); } 100% { box-shadow: 0 0 0 10px rgba(24, 128, 48, 0); } }
.nv-hero__title { margin: 14px 0 0; font-size: clamp(48px, 7vw, 104px); line-height: .92; letter-spacing: -2px; color: var(--nv-ink); }
.nv-hero__accent { position: relative; display: inline-block; color: var(--nv-terracotta); }
.nv-hero__accent svg { position: absolute; left: 4px; bottom: -.18em; width: 100%; height: .22em; }
.nv-hero__text { margin: 26px 0 0; max-width: 500px; font-size: clamp(16px, 1.6vw, 20px); line-height: 1.55; color: #5b4a3c; }
.nv-hero__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.nv-hero__cta { padding-right: 8px !important; box-shadow: 0 14px 28px -12px rgba(199, 83, 40, .8); }
.nv-hero__cta-arrow { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: #fff; color: var(--nv-terracotta); }
.nv-hero__media { position: relative; }
.nv-hero__arch { position: relative; height: clamp(340px, 46vw, 560px); margin-left: clamp(16px, 4vw, 70px); border-radius: 999px 999px 32px 32px; overflow: hidden; box-shadow: 0 40px 80px -36px rgba(70, 35, 15, .6); }
.nv-hero__img { width: 100%; height: 100%; object-fit: cover; object-position: 70% center; }
.nv-hero__arch::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(0deg, rgba(31, 45, 47, .5), transparent); }
.nv-hero__count { position: absolute; right: 18px; bottom: 16px; z-index: 1; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .22); backdrop-filter: blur(8px); color: #fff; font-size: 13px; font-weight: 700; }
.nv-hero__media { touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.nv-hero__pager { position: absolute; right: 16px; bottom: 14px; z-index: 2; display: flex; align-items: center; gap: 6px; }
.nv-hero__pager .nv-hero__count { position: static; }
.nv-hero__step { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--nv-ink); box-shadow: 0 6px 16px -6px rgba(0, 0, 0, .4); cursor: pointer; transition: transform .15s, background-color .15s; }
.nv-hero__step:hover { background: #fff; transform: scale(1.06); }

.nv-hero__badge { position: absolute; z-index: 3; width: 112px; height: 112px; border-radius: 50%; background: var(--nv-teal); box-shadow: 0 16px 30px -12px rgba(0, 0, 0, .45); }
.nv-hero__ring { position: absolute; inset: 0; animation: nvSpin 18s linear infinite; }
.nv-hero__ring text { fill: var(--nv-gold); font-size: 11.5px; font-weight: 700; letter-spacing: 3px; font-family: var(--nv-font); }
@keyframes nvSpin { to { transform: rotate(360deg); } }
.nv-hero__badge-core { position: absolute; inset: 16px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: #fff; overflow: hidden; }
.nv-hero__badge-core img { width: 90%; height: 90%; object-fit: contain; }
.nv-hero__float { position: absolute; z-index: 3; display: flex; flex-direction: column; gap: 2px; width: 150px; padding: 9px; border-radius: 18px; background: rgba(255, 255, 255, .78); border: 1px solid rgba(255, 255, 255, .9); backdrop-filter: blur(14px); box-shadow: 0 20px 36px -18px rgba(70, 35, 15, .45); color: var(--nv-ink); text-decoration: none; animation: nvFloat 5s ease-in-out infinite; }
.nv-hero__float:hover { color: var(--nv-ink); }
@keyframes nvFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
.nv-hero__float-img { width: 100%; height: 96px; object-fit: cover; border-radius: 12px; margin-bottom: 4px; }
.nv-hero__float-name { font-size: 13px; font-weight: 700; line-height: 1.2; }
.nv-hero__float-price { font-size: 13px; color: #5b4a3c; }
.nv-hero__float-price del { display: none; }
.nv-hero__float-price ins { text-decoration: none; }
.nv-hero__trust { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.nv-hero__trust li { display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 14px 0 5px; border-radius: 999px; background: rgba(255, 255, 255, .6); border: 1px solid rgba(255, 255, 255, .9); font-size: 13px; font-weight: 700; color: var(--nv-teal); }
.nv-hero__trust-icon { display: flex; align-items: center; justify-content: center; width: 28px; height: 28px; border-radius: 50%; background: var(--nv-gold-tint); }
.nv-hero__trust-icon img { width: 20px; height: 20px; object-fit: contain; }
.nv-hero__tabs { display: flex; gap: 8px; margin-top: 18px; overflow-x: auto; }
.nv-hero__tab { position: relative; overflow: hidden; flex: 1 0 auto; display: flex; align-items: center; gap: 10px; min-height: 58px; padding: 6px 12px 8px 6px; border: 1px solid rgba(255, 255, 255, .9); border-radius: 14px; background: rgba(255, 255, 255, .45); font-family: var(--nv-font); font-size: 14px; font-weight: 700; color: #5b4a3c; text-align: left; cursor: pointer; }
.nv-hero__tab img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.nv-hero__tab span { display: flex; flex-direction: column; line-height: 1.2; }
.nv-hero__tab small { font-weight: 400; color: var(--nv-muted); }
.nv-hero__tab.is-active { background: rgba(255, 255, 255, .9); color: var(--nv-ink); }
.nv-hero__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--nv-terracotta); transform: scaleX(0); transform-origin: left; }
.nv-hero__tab.is-active .nv-hero__progress { animation: nvProgress 6s linear forwards; }
@keyframes nvProgress { to { transform: scaleX(1); } }
.nv-hero.is-paused .nv-hero__progress { animation-play-state: paused; }
.nv-marquee { overflow: hidden; height: 46px; display: flex; align-items: center; background: var(--nv-teal); color: #f6e2b9; }
.nv-marquee__track { display: flex; gap: 32px; padding-left: 32px; white-space: nowrap; font-size: 17px; font-weight: 700; animation: nvMarquee 40s linear infinite; }
.nv-marquee__track span { display: inline-flex; align-items: center; gap: 32px; }
.nv-marquee__track i { font-style: normal; color: var(--nv-gold); }
@keyframes nvMarquee { to { transform: translateX(-50%); } }
@media (max-width: 899px) {
	.nv-hero__badge { left: -6px; top: -18px; width: 92px; height: 92px; }
	.nv-hero__badge-core { inset: 14px; }
	.nv-hero__float { right: -6px; bottom: 54px; width: 118px; }
	.nv-hero__float-img { height: 70px; }
	.nv-hero__float-name { font-size: 12px; }
}
@media (min-width: 900px) {
	.nv-hero__inner { padding-block: 52px 28px; }
	.nv-hero__slide.is-active { grid-template-columns: minmax(0, 1fr) minmax(0, 560px); gap: 48px; align-items: center; }
	.nv-hero__badge { left: -20px; top: 24px; width: 140px; height: 140px; }
	.nv-hero__badge-core { inset: 22px; }
	.nv-hero__float { right: -24px; top: 80px; width: 180px; }
	.nv-hero__float-img { height: 120px; }
	.nv-hero__trust { position: absolute; left: 0; bottom: 20px; margin: 0; max-width: 46%; }
	.nv-hero__copy { padding-bottom: 70px; }
	.nv-hero__tab { flex: 0 0 240px; }
}

/* Category chips */
.nv-chips { display: flex; gap: 8px; margin: 0 calc(var(--nv-gutter) * -1) 18px; padding: 0 var(--nv-gutter) 4px; overflow-x: auto; scrollbar-width: none; }
.nv-chips::-webkit-scrollbar { display: none; }
@media (min-width: 900px) { .nv-chips { justify-content: center; flex-wrap: wrap; margin-inline: 0; padding-inline: 0; } }
.nv-chip { flex: 0 0 auto; min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--nv-teal); color: #fff; font-family: var(--nv-font); font-size: 15px; font-weight: 700; cursor: pointer; transition: background-color .15s; }
.nv-chip.is-active { background: var(--nv-terracotta); }
.nv-home-tabs__panel { min-height: 300px; transition: opacity .2s; }
.nv-home-tabs__panel.is-loading { opacity: .4; }

/* NuMushTe */
.nv-numushte { background: var(--nv-teal); color: #fff; }
.nv-numushte__inner { display: grid; gap: 28px; padding-block: 40px; }
.nv-numushte__intro { text-align: center; }
.nv-numushte__img { width: 200px; margin: 0 auto; }
.nv-numushte__title { margin: 12px 0 0; color: #fff; font-size: clamp(36px, 4vw, 52px); }
.nv-numushte__phon { margin: 0; color: var(--nv-gold); font-size: 18px; }
.nv-numushte__text { margin: 10px auto 0; max-width: 360px; color: #e6eeee; font-size: 18px; line-height: 1.45; }
.nv-numushte__tags { display: flex; justify-content: center; gap: 8px; margin: 14px 0 0; }
.nv-numushte__tags span { padding: 4px 12px; border-radius: 999px; border: 1px solid rgba(255, 255, 255, .3); font-size: 13px; }
.nv-pillars { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.nv-pillar { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 12px; border-radius: 16px; background: rgba(255, 255, 255, .08); text-align: center; font-size: 15px; font-weight: 700; line-height: 1.35; }
.nv-pillar__icon { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: 50%; background: var(--nv-gold-tint); }
.nv-pillar__icon img { width: 40px; height: 40px; object-fit: contain; }
@media (min-width: 900px) {
	.nv-numushte__inner { grid-template-columns: 360px minmax(0, 1fr); gap: 64px; align-items: center; padding-block: 64px; }
	.nv-numushte__img { width: 300px; }
	.nv-pillar { flex-direction: row; text-align: left; padding: 24px; font-size: 18px; }
	.nv-pillar__icon { flex: 0 0 72px; width: 72px; height: 72px; }
}

/* Featured in */
.nv-news { grid-auto-columns: minmax(260px, 80%); }
@media (min-width: 768px) { .nv-news { grid-auto-columns: minmax(280px, 31%); } }
@media (min-width: 1024px) { .nv-news.nv-rail { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 40px) / 3); overflow-x: auto; } }
.nv-news__card { display: flex; flex-direction: column; gap: 10px; padding: 20px; background: #fff; border: 1px solid var(--nv-border); border-radius: 18px; scroll-snap-align: start; }
.nv-news__logo { height: 56px; width: auto; max-width: 200px; object-fit: contain; object-position: left; }
.nv-news__title { margin: 0; font-size: 17px; line-height: 1.3; }
.nv-news__quote { margin: 0; color: #5b534c; font-size: 14px; line-height: 1.55; }
.nv-news__more { margin-top: auto; font-weight: 700; font-size: 14px; }

/* Journey */
.nv-journey__title { max-width: 560px; margin-bottom: 96px; }
.nv-journey__grid { display: grid; gap: 96px 20px; }
@media (min-width: 768px) { .nv-journey__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .nv-journey__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nv-journey__card { display: flex; flex-direction: column; padding: 0 22px 24px; border-radius: 22px; background: var(--nv-card-bg); color: #1f2d27; text-decoration: none; transition: transform .2s; }
.nv-journey__card:hover { transform: translateY(-4px); color: #1f2d27; }
.nv-journey__card.is-dark, .nv-journey__card.is-dark:hover { color: #fff; }
.nv-journey__img { width: 220px; height: 180px; margin: -90px auto 8px; object-fit: contain; }
.nv-journey__name { font-size: 22px; font-weight: 700; }
.nv-journey__desc { flex: 1; margin-top: 8px; font-size: 15px; line-height: 1.5; }
.nv-journey__cta { align-self: flex-start; margin-top: 16px; padding: 10px 20px; border-radius: 999px; background: #fff; color: var(--nv-terracotta-dark); font-size: 15px; font-weight: 700; }

/* Our story */
.nv-story { position: relative; background: #1d2b2d var(--nv-story-img) center / cover no-repeat; color: #fff; }
.nv-story::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 30, 32, .92) 0%, rgba(20, 30, 32, .75) 50%, rgba(20, 30, 32, .2) 100%); }
.nv-story__inner { position: relative; padding-block: 56px; }
.nv-story__copy { max-width: 560px; }
.nv-story__title { color: #fff; font-size: clamp(32px, 4vw, 44px); margin: 0; }
.nv-story__quote { margin: 8px 0 0; color: var(--nv-gold); font-size: 20px; font-style: italic; }
.nv-story__text { margin: 16px 0 20px; color: #dfe7e7; font-size: 16px; line-height: 1.65; }
@media (min-width: 900px) { .nv-story__inner { padding-block: 88px; } }

/* Reviews + revolution */
.nv-duo { display: grid; gap: 24px; }
@media (min-width: 900px) { .nv-duo { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: stretch; } }
.nv-duo__title { font-size: clamp(24px, 2.6vw, 30px); margin-bottom: 14px; }
.nv-duo__widget { margin-bottom: 16px; }
.nv-revolution { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 32px; border-radius: 22px; overflow: hidden; background: #3d2a1a var(--nv-rev-img) center / cover; color: #fff; isolation: isolate; }
.nv-revolution::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(40, 26, 14, .62); }
.nv-revolution__title { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 32px); }
.nv-revolution__text { color: #f3ebe3; font-size: 15px; line-height: 1.6; }
.nv-revolution .nv-btn { align-self: flex-start; }

/* Partners: two slow logo rows, faded edges, colour on hover */
.nv-partners__card { display: grid; gap: 22px; padding: 26px 0; border-radius: 24px; background: var(--nv-gold-tint); overflow: hidden; }
.nv-partners__intro { padding: 0 22px; }
.nv-partners__intro .nv-h2 { margin: 0; }
.nv-partners__text { margin: 8px 0 0; color: var(--nv-muted); font-size: 15px; }
.nv-partners__rows { display: flex; flex-direction: column; gap: 14px; min-width: 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.nv-partners__row { overflow: hidden; }
.nv-partners__track { display: flex; gap: 14px; width: max-content; margin: 0; padding: 0; list-style: none; animation: nvLogos 45s linear infinite; }
.nv-partners__row.is-reverse .nv-partners__track { animation-direction: reverse; animation-duration: 55s; }
.nv-partners__rows:hover .nv-partners__track { animation-play-state: paused; }
@keyframes nvLogos { to { transform: translateX(calc(-50% - 7px)); } }
.nv-partners__logo { display: flex; align-items: center; justify-content: center; width: 190px; height: 92px; padding: 14px 18px; border-radius: 16px; background: #fff; border: 1px solid var(--nv-border); }
.nv-partners__logo img { width: 100%; height: 100%; max-width: 150px; max-height: 50px; object-fit: contain; transition: transform .25s; }
.nv-partners__logo:hover { border-color: var(--nv-border-strong); }
.nv-partners__logo:hover img { transform: scale(1.06); }
@media (min-width: 900px) {
	.nv-partners__card { grid-template-columns: 320px minmax(0, 1fr); align-items: center; gap: 24px; padding: 36px 0; }
	.nv-partners__intro { padding: 0 0 0 40px; }
	.nv-partners__logo { width: 220px; height: 104px; padding: 16px 22px; }
}
@media (prefers-reduced-motion: reduce) {
	.nv-partners__track { animation: none; flex-wrap: wrap; width: auto; padding: 0 22px; }
	.nv-partners__logo[aria-hidden="true"] { display: none; }
	.nv-partners__rows { -webkit-mask-image: none; mask-image: none; }
}

/* Blog rail */
.nv-rail--posts { grid-auto-columns: minmax(250px, 78%); }
@media (min-width: 768px) { .nv-rail--posts { grid-auto-columns: minmax(250px, 31%); } }

/* Newsletter */
.nv-eyebrow--light { color: var(--nv-gold); }
.nv-eyebrow--light::before { background: var(--nv-gold); }
.nv-newsletter { position: relative; display: grid; gap: 24px; padding: 28px 22px; border-radius: 26px; overflow: hidden; background: linear-gradient(135deg, #254b51 0%, #1d3b40 60%, #2f5d63 100%); color: #e6eeee; isolation: isolate; }
.nv-newsletter__glow { position: absolute; z-index: -1; right: -120px; top: -120px; width: 380px; height: 380px; border-radius: 50%; background: var(--nv-terracotta); filter: blur(110px); opacity: .45; }
.nv-newsletter__title { margin: 0; color: #fff; font-size: clamp(28px, 3.4vw, 40px); letter-spacing: -.4px; }
.nv-newsletter__text { margin: 10px 0 0; max-width: 460px; color: #cfdcdc; font-size: 16px; line-height: 1.55; }
.nv-newsletter__perks { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.nv-newsletter__perks li { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 13px; font-weight: 700; }
.nv-newsletter__perks svg { color: var(--nv-gold); }
.nv-newsletter__img { justify-self: center; width: min(260px, 80%); height: auto; margin: 4px 0 -28px; filter: drop-shadow(0 12px 24px rgba(0, 0, 0, .35)); }
.nv-newsletter__form { padding: 18px; border-radius: 20px; background: rgba(255, 255, 255, .96); box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .5); color: var(--nv-text); }
.nv-newsletter__form .wpcf7-form { display: grid; grid-template-columns: 1fr; gap: 12px; }
.nv-newsletter__form .wpcf7-form > .cta_form-wrapper, .nv-newsletter__form .wpcf7-form > .cta_form-wrapper > p, .nv-newsletter__form .wpcf7-form > p { display: contents; }
.nv-newsletter__form .hidden-fields-container { display: none; }
.nv-newsletter__form label { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 13px; font-weight: 700; color: #4a433d; }
.nv-newsletter__form label br { display: none; }
.nv-newsletter__form input.wpcf7-form-control:not([type="submit"]) { min-height: 50px; border-radius: 12px; }
.nv-newsletter__form input[type="submit"] { align-self: end; width: 100%; min-height: 50px; margin: 0; padding: 0 28px; border: 0; border-radius: 999px; background: var(--nv-terracotta); color: #fff; font-family: var(--nv-font); font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 12px 24px -12px rgba(199, 83, 40, .8); }
.nv-newsletter__form input[type="submit"]:hover { background: var(--nv-terracotta-dark); }
.nv-newsletter__form .wpcf7-spinner { position: absolute; }
.nv-newsletter__form .wpcf7-response-output { grid-column: 1 / -1; margin: 0 !important; padding: 10px 12px !important; border-radius: 10px; font-size: 14px; }
.nv-newsletter__form .wpcf7-not-valid-tip { font-size: 12px; font-weight: 400; }
@media (min-width: 600px) {
	.nv-newsletter__form .wpcf7-form { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 900px) {
	.nv-newsletter { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "copy form" "img form"; align-items: center; gap: 8px 56px; padding: 56px 56px 0; }
	.nv-newsletter__copy { grid-area: copy; align-self: end; }
	.nv-newsletter__form { grid-area: form; margin-bottom: 56px; }
	.nv-newsletter__img { grid-area: img; justify-self: start; align-self: end; width: 380px; max-width: 100%; margin: 18px 0 0 -10px; }
	.nv-newsletter__form { padding: 26px; }
}

@media (prefers-reduced-motion: reduce) { .nv-hero__ring, .nv-hero__float, .nv-marquee__track, .nv-hero__dot { animation: none; } }

/* Quick view (Xootix) */
/* Quick view modal (theme-built; replaces the Quick View plugin) */
.nv-qv-open, .nv-qv-open body { overflow: hidden; }
.nv-qv { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 64px 88px 32px; opacity: 0; transition: opacity .2s ease; }
.nv-qv[hidden] { display: none; }
.admin-bar .nv-qv { top: var(--wp-admin--admin-bar--height, 32px); } /* admin bar sits above everything */
.nv-qv.is-open { opacity: 1; }
.nv-qv__backdrop { position: absolute; inset: 0; background: rgba(15, 22, 24, .72); }
.nv-qv__dialog { position: relative; width: min(1180px, 100%); max-height: 100%; display: flex; flex-direction: column; background: #fff; border-radius: 24px; box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .45); transform: translateY(14px) scale(.985); transition: transform .25s ease; }
.nv-qv.is-open .nv-qv__dialog { transform: none; }
.nv-qv__body { min-height: 320px; overflow-y: auto; overscroll-behavior: contain; border-radius: inherit; }
.nv-qv.is-loading .nv-qv__body { opacity: .45; pointer-events: none; }
.nv-qv.is-loading .nv-qv__dialog::after { content: ""; position: absolute; left: 50%; top: 50%; width: 36px; height: 36px; margin: -18px 0 0 -18px; border: 3px solid var(--nv-border); border-top-color: var(--nv-terracotta); border-radius: 50%; animation: nv-spin .8s linear infinite; }
@keyframes nv-spin { to { transform: rotate(360deg); } }
.nv-qv__close { position: absolute; top: -48px; right: 0; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; }
.nv-qv__close:hover { background: rgba(255, 255, 255, .26); }
.nv-qv__nav { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin-top: -26px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; }
.nv-qv__nav:hover { background: rgba(255, 255, 255, .26); }
.nv-qv__nav[hidden] { display: none; }
.nv-qv__nav--prev { left: 20px; }
.nv-qv__nav--next { right: 20px; }
.nv-qv__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 36px; padding: 28px; }
.nv-qv__gallery { position: sticky; top: 0; align-self: start; min-width: 0; }
.nv-qv__main { position: relative; overflow: hidden; border-radius: 18px; background: var(--nv-ground, #f6f1ea); }
.nv-qv__main .nv-qv__img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.nv-qv__main .onsale { position: absolute; top: 14px; left: 14px; z-index: 1; margin: 0; }
.nv-qv__thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); gap: 8px; margin-top: 10px; }
.nv-qv__thumb { display: block; padding: 0; overflow: hidden; aspect-ratio: 1; border: 2px solid transparent; border-radius: 10px; background: #fff; cursor: pointer; opacity: .8; transition: opacity .15s, border-color .15s; }
.nv-qv__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nv-qv__thumb:hover, .nv-qv__thumb.is-active { opacity: 1; border-color: var(--nv-terracotta); }
.nv-qv__summary { min-width: 0; padding-top: 4px; }
.nv-qv__title { margin: 0; font-size: clamp(24px, 2.6vw, 32px); padding-right: 8px; }
.nv-qv__title a { color: var(--nv-ink); text-decoration: none; }
.nv-qv__title a:hover { color: var(--nv-terracotta-dark); }
.nv-qv__summary .woocommerce-product-details__short-description { font-size: 15px; color: #4a433d; }
.nv-qv__summary .product_meta { font-size: 14px; color: var(--nv-muted); }
.nv-qv__details { align-self: flex-start; }
.nv-qv__summary a.added_to_cart { display: none !important; }
.nv-qv__summary form.cart > .wpcsb-id { display: none; } /* sticky-bar plugin marker: takes a row in the modal */
.nv-qv__summary form.cart:not(.variations_form) > .qib-button-wrapper { flex: 0 0 auto; }
@media (min-width: 560px) and (max-width: 899px) { .nv-qv__gallery { width: min(100%, 460px); margin-inline: auto; } }
.nv-qv__summary form.cart:not(.variations_form) .single_add_to_cart_button, .nv-qv__summary form.cart:not(.variations_form) .nv-buy-now { flex: 1 1 140px; }
.nv-qv__error { padding: 40px; text-align: center; }
@media (max-width: 899px) {
	.nv-qv { align-items: flex-end; padding: 56px 0 0; }
	.nv-qv__dialog { border-radius: 22px 22px 0 0; transform: translateY(40px); }
	.nv-qv__close { top: -48px; right: 12px; }
	.nv-qv__nav { display: none; }
	.nv-qv__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 16px 16px 24px; }
	.nv-qv__gallery { position: static; }
	.nv-qv__thumbs { display: flex; overflow-x: auto; scrollbar-width: none; }
	.nv-qv__thumb { flex: 0 0 60px; }
}

/* Shop toolbar */
.woocommerce-products-header__title, .nv-wc > h1.page-title { margin: 18px 0 12px; font-size: clamp(28px, 4vw, 40px); }
.nv-shop-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin: 18px 0 22px; }
.nv-shop-bar__head { display: flex; flex-wrap: nowrap; align-items: flex-end; justify-content: space-between; gap: 12px; flex: 1 1 100%; }
.nv-shop-bar__titles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nv-shop-bar__desc { margin: 0 0 2px; max-width: 60ch; font-size: 16px; color: #4a433d; }
.nv-shop-bar__title { margin: 0; font-size: clamp(28px, 4vw, 40px); line-height: 1.1; }
.nv-shop-bar__cats { display: flex; gap: 8px; min-width: 0; margin: 0 calc(var(--nv-gutter) * -1); padding: 2px var(--nv-gutter) 4px; overflow-x: auto; scrollbar-width: none; flex: 1 1 100%; }
.nv-shop-bar__cats::-webkit-scrollbar { display: none; }
.nv-chip-link { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 40px; padding: 0 16px; border-radius: 999px; background: #fff; border: 1px solid var(--nv-border-strong); color: var(--nv-ink); font-size: 14px; font-weight: 700; text-decoration: none; white-space: nowrap; transition: background-color .15s, color .15s, border-color .15s; }
.nv-chip-link:hover { border-color: var(--nv-teal); color: var(--nv-teal); }
.nv-chip-link.is-active { background: var(--nv-teal); border-color: var(--nv-teal); color: #fff; }
.nv-shop-bar__tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 1 1 100%; }
.nv-shop-bar .woocommerce-result-count { margin: 0 !important; float: none !important; font-size: 14px; color: var(--nv-muted); }
.nv-shop-bar .woocommerce-ordering { margin: 0 !important; float: none !important; }
.nv-shop-bar .woocommerce-ordering select.orderby {
	-webkit-appearance: none; appearance: none; width: auto !important; height: 36px !important; min-height: 36px !important; padding: 0 32px 0 14px !important; border: 1px solid var(--nv-border-strong) !important; border-radius: 999px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b625b' stroke-width='2.4'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right 12px center / 12px no-repeat !important;
	font-family: var(--nv-font); font-size: 13px !important; font-weight: 700; line-height: 34px !important; color: var(--nv-ink); cursor: pointer; box-shadow: none !important;
}
.nv-shop-bar .woocommerce-result-count { font-size: 13px !important; }
.nv-shop-bar__subcats { display: flex; flex-wrap: wrap; gap: 6px 16px; flex: 1 1 100%; padding-top: 4px; border-top: 1px solid var(--nv-border); }
.nv-subchip { padding: 6px 0; font-size: 14px; color: var(--nv-muted); text-decoration: none; border-bottom: 2px solid transparent; }
.nv-subchip:hover { color: var(--nv-ink); }
.nv-subchip.is-active { color: var(--nv-terracotta-dark); font-weight: 700; border-bottom-color: var(--nv-terracotta); }
@media (min-width: 900px) {
	.nv-shop-bar { flex-wrap: wrap; }
	.nv-shop-bar__cats { flex: 1 1 100%; flex-wrap: wrap; margin: 0; padding: 0; overflow: visible; }
}

/* Product tabs (Reviews / Q&A): beat WooCommerce's ".woocommerce div.product .woocommerce-tabs ul.tabs li a" */
.woocommerce div.product .nv-reviews .woocommerce-tabs ul.tabs { display: flex; gap: 8px; margin: 0 0 20px !important; padding: 0 !important; border: 0 !important; overflow-x: auto; }
.woocommerce div.product .nv-reviews .woocommerce-tabs ul.tabs li { display: block; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: none !important; }
.woocommerce div.product .nv-reviews .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .nv-reviews .woocommerce-tabs ul.tabs li::after { display: none !important; }
.woocommerce div.product .nv-reviews .woocommerce-tabs ul.tabs li a {
	display: inline-flex !important; align-items: center; justify-content: center; height: 44px; padding: 0 20px !important; line-height: 1 !important;
	border: 1px solid var(--nv-border-strong); border-radius: 999px; background: #fff; color: var(--nv-ink) !important; font-size: 15px; font-weight: 700; white-space: nowrap;
}
.woocommerce div.product .nv-reviews .woocommerce-tabs ul.tabs li.active a { background: var(--nv-teal); border-color: var(--nv-teal); color: #fff !important; }
.woocommerce div.product .nv-reviews .woocommerce-tabs .panel { margin: 0 !important; padding: 0 !important; }
.woocommerce #reviews #comments h2, .woocommerce-Reviews-title { margin: 0 0 14px; font-size: 22px; }
/* Review form */
#review_form_wrapper { padding: 20px !important; }
#review_form #reply-title, .comment-reply-title { display: block; margin: 0 0 12px; font-size: 18px; font-weight: 700; color: var(--nv-ink); }
#review_form .comment-form-rating label, #review_form .comment-form-comment label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; color: #4a433d; }
#review_form p.stars { margin: 0 0 14px; }
#review_form p.stars a { width: 1.6em; height: 1.6em; font-size: 22px; color: #e0a21b; text-decoration: none; }
#review_form p.stars a::before { color: #e0a21b; }
#review_form textarea { min-height: 120px; border-radius: 14px; }
#review_form .form-submit { margin: 12px 0 0; }
#review_form .form-submit input#submit, #review_form .submit { min-height: 48px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--nv-terracotta) !important; color: #fff !important; font-family: var(--nv-font); font-size: 16px; font-weight: 700; line-height: 1; cursor: pointer; }
#review_form .form-submit input#submit:hover { background: var(--nv-terracotta-dark) !important; }
.woocommerce-noreviews { box-shadow: none !important; border: 1px solid var(--nv-border) !important; border-left: 4px solid var(--nv-teal) !important; }

/* Account: notices span the full width above menu + content */
.woocommerce-account .nv-shop-page > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* Orders table: compact actions; cards on phones (WooCommerce's small-screen CSS is not loaded) */
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions { white-space: nowrap; }
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-actions .button, .woocommerce-MyAccount-content .woocommerce-orders-table .button {
	display: inline-flex !important; align-items: center; height: 34px; min-height: 34px !important; margin: 2px 4px 2px 0 !important; padding: 0 14px !important;
	border-radius: 999px !important; font-size: 13px !important; line-height: 1 !important;
}
.woocommerce-MyAccount-content .woocommerce-orders-table .button.invoice, .woocommerce-MyAccount-content .woocommerce-orders-table .button:not(.view) { background: #fff !important; color: var(--nv-teal) !important; border: 1px solid var(--nv-teal) !important; }
.woocommerce-MyAccount-content mark { background: none; color: inherit; font-weight: 700; }
.woocommerce-MyAccount-content .woocommerce-orders-table__cell-order-status { font-weight: 700; color: var(--nv-teal); }
@media (max-width: 767px) {
	.woocommerce-MyAccount-content { padding: 14px; }
	.woocommerce-MyAccount-content table.shop_table_responsive thead { display: none; }
	.woocommerce-MyAccount-content table.shop_table_responsive, .woocommerce-MyAccount-content table.shop_table_responsive tbody { display: block; }
	.woocommerce-MyAccount-content table.shop_table_responsive tr { display: grid; grid-template-columns: 1fr 1fr; gap: 4px 12px; margin-bottom: 10px; padding: 12px 14px; border: 1px solid var(--nv-border); border-radius: 14px; background: var(--nv-ground); }
	.woocommerce-MyAccount-content table.shop_table_responsive td, .woocommerce-MyAccount-content table.shop_table_responsive th { display: block; padding: 2px 0 !important; border: 0 !important; text-align: left !important; font-size: 14px; }
	.woocommerce-MyAccount-content table.shop_table_responsive td::before { content: attr(data-title); display: block; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--nv-muted); }
	.woocommerce-MyAccount-content table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; padding-top: 6px !important; }
	.woocommerce-MyAccount-content table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before { display: none; }
}

/* ===================== Content pages ===================== */
/* About */
.nv-about-hero { background: #d68a4f var(--nv-about-bg) center / cover; overflow: hidden; }
.nv-about-hero__inner { display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: clamp(300px, 46vw, 560px); padding-block: 32px; }
.nv-about-hero__art { width: min(780px, 100%); height: auto; filter: drop-shadow(0 18px 30px rgba(70, 35, 15, .25)); }
.nv-about-hero__photo { width: min(520px, 90%); height: auto; margin-bottom: 18px; border-radius: 22px; }
.nv-mv { position: relative; background: var(--nv-teal) var(--nv-mv-img) center / cover no-repeat; color: #fff; isolation: isolate; }
.nv-mv::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(29, 59, 64, .82); }
.nv-mv__grid { display: grid; gap: 16px; padding-block: 48px; }
@media (min-width: 900px) { .nv-mv__grid { grid-template-columns: 1fr 1fr; gap: 28px; padding-block: 80px; } }
.nv-mv__card { position: relative; padding: 30px 26px; border-radius: 24px; background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .15); backdrop-filter: blur(6px); overflow: hidden; }
.nv-mv__card::after { content: ""; position: absolute; right: -60px; top: -60px; width: 180px; height: 180px; border-radius: 50%; border: 14px solid rgba(237, 186, 103, .25); }
.nv-mv__label { display: inline-block; margin-bottom: 12px; font-size: clamp(28px, 3vw, 36px); font-weight: 700; color: var(--nv-gold); }
.nv-mv__card p { margin: 0; font-size: 18px; line-height: 1.6; color: #e6eeee; }
.nv-story-about { position: relative; overflow: hidden; }
.nv-story-about__mush { position: absolute; width: 160px; opacity: .18; pointer-events: none; }
.nv-story-about__mush--l { left: -40px; bottom: 20px; }
.nv-story-about__mush--r { right: -40px; top: 20px; }
@media (max-width: 899px) { .nv-story-about__mush { display: none; } }
.nv-story-about__grid { position: relative; display: grid; gap: 24px; align-items: start; }
@media (min-width: 900px) { .nv-story-about__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 56px; } }
.nv-story-about__text .nv-prose { font-size: 17px; line-height: 1.7; color: #3d3833; }
.nv-story-about__text .nv-prose strong { color: var(--nv-terracotta-dark); }
.nv-story-about__quote { position: relative; padding: 36px 28px 28px; border-radius: 26px; background: var(--nv-gold-tint); }
@media (min-width: 900px) { .nv-story-about__quote { position: sticky; top: calc(var(--nv-header-h) + 24px); } }
.nv-story-about__mark { position: absolute; top: -10px; left: 20px; font-size: 120px; line-height: 1; font-weight: 700; color: var(--nv-terracotta); }
.nv-story-about__quote blockquote { margin: 18px 0 0; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.3; font-weight: 700; color: var(--nv-ink); }
.nv-story-about__sub { margin: 16px 0 0; padding-top: 16px; border-top: 1px solid rgba(168, 68, 31, .2); font-size: 17px; color: var(--nv-terracotta-dark); font-style: italic; }
.nv-values { background: #fff; border-block: 1px solid var(--nv-border); }
.nv-values__grid { display: grid; gap: 14px; }
@media (min-width: 700px) { .nv-values__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .nv-values__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nv-value { padding: 24px 22px; border-radius: 20px; background: var(--nv-ground); border: 1px solid var(--nv-border); transition: transform .2s, box-shadow .2s; }
.nv-value:hover { transform: translateY(-3px); box-shadow: var(--nv-shadow); }
.nv-value__swirl { width: 40px; height: 40px; }
.nv-value__title { margin: 12px 0 8px; font-size: 22px; color: var(--nv-terracotta-dark); }
.nv-value__text { margin: 0; font-size: 15px; line-height: 1.6; color: #4a433d; }
.nv-team__head { max-width: 720px; margin-bottom: 26px; }
.nv-team__lead { margin: 10px 0 0; color: #4a433d; font-size: 17px; line-height: 1.6; }
.nv-team__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
@media (min-width: 768px) { .nv-team__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 22px; } }
@media (min-width: 1100px) { .nv-team__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nv-member { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.nv-member__photo { position: relative; width: 100%; aspect-ratio: 1 / 1; margin-bottom: 8px; overflow: hidden; background: var(--nv-gold-tint); }
.nv-member__photo img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1); transition: filter .3s, transform .3s; }
.nv-member:hover .nv-member__photo img { filter: none; transform: scale(1.04); }
.nv-member__photo--0 { border-radius: 58% 42% 50% 50% / 50% 55% 45% 50%; }
.nv-member__photo--1 { border-radius: 45% 55% 40% 60% / 55% 45% 55% 45%; }
.nv-member__photo--2 { border-radius: 52% 48% 60% 40% / 42% 58% 42% 58%; }
.nv-member__photo--3 { border-radius: 40% 60% 55% 45% / 60% 40% 60% 40%; }
.nv-member__in { position: absolute; right: 10%; bottom: 10%; display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 50%; background: #fff; color: #0a66c2; font-weight: 700; text-decoration: none; box-shadow: var(--nv-shadow); }
.nv-member__role { padding: 3px 10px; border-radius: 999px; background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); font-size: 12px; font-weight: 700; }
.nv-member__name { margin: 2px 0 0; font-size: 20px; line-height: 1.2; color: var(--nv-ink); }
.nv-member__first { color: var(--nv-teal); }
.nv-member__bio summary { cursor: pointer; font-size: 14px; font-weight: 700; color: var(--nv-teal); list-style: none; }
.nv-member__bio summary::-webkit-details-marker { display: none; }
.nv-member__bio summary::after { content: " +"; }
.nv-member__bio[open] summary::after { content: " −"; }
.nv-member__bio p { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: #4a433d; }
/* Shared page CTA */
.nv-page-cta { position: relative; display: grid; gap: 20px; align-items: center; padding: 30px 24px; border-radius: 26px; overflow: hidden; background: linear-gradient(135deg, var(--nv-teal) 0%, #2f5d63 100%); color: #cfdcdc; }
.nv-page-cta__title { margin: 0; color: #fff; font-size: clamp(26px, 3vw, 36px); }
.nv-page-cta__copy p { margin: 10px 0 20px; font-size: 17px; }
.nv-page-cta__img { width: min(260px, 70%); justify-self: center; }
@media (min-width: 900px) { .nv-page-cta { grid-template-columns: minmax(0, 1fr) 320px; padding: 48px 56px; } .nv-page-cta__img { width: 100%; } }

/* Page hero (content pages) */
.nv-page-hero { position: relative; overflow: hidden; background: radial-gradient(70% 120% at 85% 0%, #f2c39b 0%, rgba(242, 195, 155, 0) 60%), linear-gradient(180deg, #fbf1df 0%, #f6e6cf 100%); }
.nv-page-hero.has-image { background: var(--nv-teal) var(--nv-hero-img) center / cover no-repeat; color: #fff; }
.nv-page-hero.has-image::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(20, 35, 38, .85) 0%, rgba(20, 35, 38, .55) 60%, rgba(20, 35, 38, .3) 100%); }
.nv-page-hero__inner { position: relative; padding-block: 44px 40px; max-width: var(--nv-max); }
@media (min-width: 900px) { .nv-page-hero__inner { padding-block: 72px 64px; } }
.nv-page-hero__title { margin: 6px 0 0; max-width: 760px; font-size: clamp(34px, 5vw, 60px); line-height: 1.02; letter-spacing: -1px; color: var(--nv-ink); }
.nv-page-hero.has-image .nv-page-hero__title { color: #fff; }
.nv-page-hero .nv-eyebrow--light { color: var(--nv-terracotta-dark); }
.nv-page-hero .nv-eyebrow--light::before { background: var(--nv-terracotta); }
.nv-page-hero.has-image .nv-eyebrow--light { color: var(--nv-gold); }
.nv-page-hero.has-image .nv-eyebrow--light::before { background: var(--nv-gold); }
.nv-page-hero__intro { margin: 14px 0 0; max-width: 620px; font-size: 18px; line-height: 1.55; color: #5b4a3c; }
.nv-page-hero.has-image .nv-page-hero__intro { color: #e6eeee; }
/* FAQ */
.nv-faq-tabs { display: flex; gap: 8px; margin: 0 calc(var(--nv-gutter) * -1) 22px; padding: 2px var(--nv-gutter) 6px; overflow-x: auto; scrollbar-width: none; }
.nv-faq-tabs::-webkit-scrollbar { display: none; }
@media (min-width: 900px) { .nv-faq-tabs { flex-wrap: wrap; margin-inline: 0; padding-inline: 0; } }
.nv-faq-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 0 8px 0 18px; border: 2px solid var(--nv-tab); border-radius: 999px; background: #fff; color: var(--nv-ink); font-family: var(--nv-font); font-size: 15px; font-weight: 700; cursor: pointer; transition: background-color .15s, color .15s; }
.nv-faq-tab__count { display: inline-flex; align-items: center; justify-content: center; min-width: 30px; height: 30px; padding: 0 8px; border-radius: 999px; background: var(--nv-tab); color: #fff; font-size: 13px; }
.nv-faq-tab.is-active { background: var(--nv-tab); color: #fff; }
.nv-faq-tab.is-active .nv-faq-tab__count { background: rgba(255, 255, 255, .25); }
.nv-faq-panel__title { margin: 0 0 14px; font-size: 22px; }
.nv-faq-panel .nv-accordion { max-width: none; }
.nv-accordion__body.nv-prose { max-width: none; } /* answers use the full card width */
.nv-faq-help { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 28px; padding: 18px 20px; border-radius: 18px; background: var(--nv-gold-tint); font-weight: 700; color: var(--nv-ink); }
.nv-faq-help span { margin-right: auto; font-size: 18px; }
/* Contact */
.nv-contact__grid { display: grid; gap: 20px; align-items: start; }
@media (min-width: 900px) { .nv-contact__grid { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px; } }
.nv-contact__form, .nv-contact__card { padding: 24px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; }
.nv-contact__title { margin: 0 0 16px; font-size: 22px; }
.nv-contact__form .wpcf7-form p { margin: 0 0 14px; }
.nv-contact__form label { display: block; font-size: 14px; font-weight: 700; color: #4a433d; }
.nv-contact__form label br { display: none; }
.nv-contact__form .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
.nv-contact__form input[type="submit"] { min-height: 52px; padding: 0 32px; border: 0; border-radius: 999px; background: var(--nv-terracotta); color: #fff; font-family: var(--nv-font); font-size: 16px; font-weight: 700; cursor: pointer; }
.nv-contact__form input[type="submit"]:hover { background: var(--nv-terracotta-dark); }
.nv-contact__side { display: flex; flex-direction: column; gap: 16px; }
.nv-contact__list { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.nv-contact__list a, .nv-contact__row { display: flex; align-items: center; gap: 14px; padding: 10px; border-radius: 14px; color: var(--nv-text); text-decoration: none; transition: background-color .15s; }
.nv-contact__list a:hover { background: var(--nv-ground); }
.nv-contact__list strong { display: block; font-size: 13px; color: var(--nv-muted); font-weight: 700; }
.nv-contact__icon { flex: 0 0 44px; height: 44px; border-radius: 14px; background: var(--nv-gold-tint); color: var(--nv-terracotta-dark); display: flex; align-items: center; justify-content: center; }
.nv-contact__icon--green { background: var(--nv-success-bg); color: var(--nv-green); }
.nv-contact__map { overflow: hidden; border-radius: 22px; border: 1px solid var(--nv-border); }
.nv-contact__map iframe { display: block; width: 100%; height: 300px; border: 0; }
/* Community */
.nv-circle-intro { max-width: 820px; margin: 0 auto; font-size: 18px; line-height: 1.7; }
.nv-circle-intro > p:first-child { font-size: clamp(24px, 3vw, 32px); font-weight: 700; color: var(--nv-ink); line-height: 1.2; }
.nv-circle-intro blockquote, .nv-circle-intro em { color: var(--nv-terracotta-dark); }
.nv-gallery-rail { grid-auto-columns: minmax(240px, 78%); }
@media (min-width: 768px) { .nv-gallery-rail { grid-auto-columns: minmax(260px, 34%); } }
@media (min-width: 1024px) { .nv-gallery-rail.nv-rail { grid-auto-flow: column; grid-template-columns: none; grid-auto-columns: calc((100% - 40px) / 3); overflow-x: auto; margin: 0; padding-bottom: 10px; } }
.nv-gallery-card { margin: 0; overflow: hidden; background: #fff; border: 1px solid var(--nv-border); border-radius: 20px; scroll-snap-align: start; }
.nv-gallery-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.nv-gallery-card figcaption { padding: 14px 16px 16px; font-size: 14px; line-height: 1.5; color: #4a433d; }
.nv-circle-programs__card { max-width: none; padding: 32px 28px; border-radius: 26px; background: linear-gradient(135deg, var(--nv-teal) 0%, #2f5d63 100%); color: #dfe7e7; font-size: 17px; line-height: 1.7; }
.nv-circle-programs__card h1, .nv-circle-programs__card h2, .nv-circle-programs__card h3, .nv-circle-programs__card strong { color: #fff; }
.nv-circle-programs__card a { color: var(--nv-gold); }
/* Workshops */
.nv-workshops__list { display: grid; gap: 28px; }
.nv-workshop { display: grid; gap: 0; overflow: hidden; background: #fff; border: 1px solid var(--nv-border); border-radius: 24px; box-shadow: 0 10px 30px -18px rgba(37, 75, 81, .35); }
@media (min-width: 900px) { .nv-workshop { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: start; background: linear-gradient(90deg, var(--nv-cream, #f6efe6) calc(5 / 12 * 100%), #fff 0); } }
.nv-workshop__media { display: grid; gap: 10px; padding: 16px; background: var(--nv-cream, #f6efe6); }
@media (min-width: 900px) { .nv-workshop__media { position: sticky; top: 110px; padding: 22px; background: transparent; } }
.nv-workshop__poster { display: block; overflow: hidden; border-radius: 16px; }
.nv-workshop__poster img { display: block; width: 100%; border-radius: 16px; height: auto; max-height: 560px; object-fit: contain; transition: transform .4s ease; }
.nv-workshop__poster:hover img { transform: scale(1.02); }
.nv-workshop__gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: 8px; }
.nv-workshop__gallery a { display: block; overflow: hidden; border-radius: 10px; aspect-ratio: 1; background: #fff; }
.nv-workshop__gallery img { width: 100%; height: 100%; object-fit: cover; }
.nv-workshop__body { display: flex; flex-direction: column; gap: 14px; padding: 22px 22px 26px; }
@media (min-width: 900px) { .nv-workshop__body { padding: 32px 36px 34px; } }
.nv-workshop__title { margin: 0; font-size: clamp(22px, 2.4vw, 28px); line-height: 1.2; }
.nv-workshop__apply { align-self: flex-start; }
.nv-workshop__text { position: relative; font-size: 15px; color: #4a433d; }
.nv-workshop__text p:last-child { margin-bottom: 0; }
.nv-workshop__text.is-folded { max-height: 340px; overflow: hidden; }
.nv-workshop__text.is-folded::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 90px; background: linear-gradient(rgba(255, 255, 255, 0), #fff); pointer-events: none; }
.nv-workshop__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding-top: 6px; border-top: 1px dashed var(--nv-border); }
.nv-workshop__more { padding: 8px 0; border: 0; background: none; color: var(--nv-terracotta); font: inherit; font-weight: 700; cursor: pointer; }
.nv-workshop__more::after { content: " ↓"; }
.nv-workshop__more[aria-expanded="true"]::after { content: " ↑"; }
/* Store locator */
.nv-stores.store-locator-wrap { max-width: none !important; margin: 0 !important; padding: 32px 0 !important; background: transparent !important; }
.nv-stores .store-locator-title { display: none; }
.nv-stores .store-locator-search { margin: 0 0 18px !important; padding: 0 !important; }
.nv-stores .store-locator-grid { margin: 0 !important; padding: 0 !important; }
.nv-stores .store-locator-list { padding: 0 4px 0 0 !important; border: 0 !important; background: transparent !important; }
.nv-stores__search { position: relative; max-width: 520px; margin-bottom: 18px; color: var(--nv-muted); }
.nv-stores__search svg { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); }
.nv-stores__search input { padding-left: 44px !important; border-radius: 999px !important; }
.nv-stores__grid { display: grid !important; gap: 16px; }
@media (min-width: 900px) { .nv-stores__grid { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); align-items: stretch; } }
.nv-stores__map { min-height: 360px; border-radius: 22px; overflow: hidden; border: 1px solid var(--nv-border); }
@media (min-width: 900px) { .nv-stores__map { min-height: 560px; } }
.nv-stores__list { display: flex; flex-direction: column; gap: 10px; max-height: 560px; overflow-y: auto; padding-right: 4px; }
.nv-store { padding: 16px; background: #fff; border: 1px solid var(--nv-border); border-radius: 16px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.nv-store:hover, .nv-store.active { border-color: var(--nv-terracotta); box-shadow: var(--nv-shadow); }
.nv-store__name { margin: 0 0 6px; font-size: 17px; }
.nv-store__meta { display: flex; flex-direction: column; gap: 4px; font-size: 14px; color: #4a433d; }
.nv-store__meta span { display: flex; align-items: flex-start; gap: 6px; }
.nv-store__meta svg { flex: 0 0 auto; margin-top: 2px; color: var(--nv-terracotta); }
/* Blog */
.nv-blog-feature { display: grid; gap: 0; margin-bottom: 24px; overflow: hidden; background: #fff; border: 1px solid var(--nv-border); border-radius: 24px; color: inherit; text-decoration: none; transition: box-shadow .2s; }
.nv-blog-feature:hover { box-shadow: var(--nv-shadow); color: inherit; }
@media (min-width: 900px) { .nv-blog-feature { grid-template-columns: 1.2fr 1fr; } }
.nv-blog-feature__img { width: 100%; height: 100%; min-height: 240px; object-fit: cover; }
.nv-blog-feature__body { display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 26px; }
.nv-blog-feature__title { font-size: clamp(24px, 2.8vw, 34px); font-weight: 700; line-height: 1.15; color: var(--nv-ink); }
.nv-blog-feature__excerpt { color: #4a433d; line-height: 1.6; }
.nv-blog-feature__meta { font-size: 14px; font-weight: 700; color: var(--nv-terracotta-dark); }
.nv-post-card__link { display: flex; flex-direction: column; }
.nv-post-card__body { flex: 1; }
.nv-post-card__more { margin-top: auto; }
/* Article */
.nv-article__narrow { max-width: 780px; }
.nv-article__head { padding-top: 28px; }
.nv-article__title { margin: 14px 0 10px; font-size: clamp(32px, 4.6vw, 52px); line-height: 1.08; letter-spacing: -.6px; }
.nv-article__meta { margin: 0; color: var(--nv-muted); font-size: 15px; }
.nv-article__meta strong { color: var(--nv-ink); }
.nv-article__hero { max-width: 1100px; margin-top: 26px; }
.nv-article__hero img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 24px; }
.nv-article__body { max-width: none; padding-block: 32px 8px; font-size: 18px; line-height: 1.75; color: #33302c; }
.nv-article__body h2, .nv-article__body h3 { margin-top: 1.6em; }
.nv-article__body img { margin-block: 1.2em; }
.nv-article__body a { word-break: break-word; }
.nv-article__body blockquote { margin: 1.5em 0; padding: 18px 22px; border-left: 4px solid var(--nv-terracotta); border-radius: 0 16px 16px 0; background: var(--nv-gold-tint); font-size: 20px; }
.nv-author { display: flex; gap: 18px; margin: 28px 0 8px; padding: 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; }
.nv-author__avatar { flex: 0 0 60px; height: 60px; border-radius: 50%; background: var(--nv-teal); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; }
.nv-author__name { margin: 2px 0 6px; font-size: 20px; }
.nv-author__bio { font-size: 15px; color: #4a433d; }
.nv-author__bio p:last-child { margin-bottom: 0; }
.nv-author__social { display: flex; gap: 14px; margin-top: 10px; font-size: 14px; font-weight: 700; }
/* Info card + thank you */
.nv-info-card { max-width: 860px; margin: 0 auto; padding: 28px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; font-size: 17px; line-height: 1.7; }
.nv-thanks { display: flex; flex-direction: column; align-items: center; gap: 10px; max-width: 620px; margin: 0 auto; padding: 48px 24px; text-align: center; background: #fff; border: 1px solid var(--nv-border); border-radius: 26px; }
.nv-thanks__icon { display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 50%; background: var(--nv-success-bg); color: var(--nv-green); }
.nv-thanks p { color: var(--nv-muted); }
.nv-thanks__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; }

/* Finders (weather + wellness) */
.nv-finder-hero { background: radial-gradient(70% 120% at 85% 0%, #f2c39b 0%, rgba(242, 195, 155, 0) 60%), linear-gradient(180deg, #fbf1df 0%, #f6e6cf 100%); }
.nv-finder-hero__inner { display: grid; gap: 20px; align-items: center; padding-block: 36px 30px; }
@media (min-width: 900px) { .nv-finder-hero__inner { grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; padding-block: 64px 56px; } }
.nv-finder-hero__title { margin: 6px 0 0; font-size: clamp(32px, 4.6vw, 54px); line-height: 1.05; letter-spacing: -.8px; }
.nv-finder-hero__lead { margin: 14px 0 0; max-width: 560px; font-size: 18px; line-height: 1.55; color: #5b4a3c; }
.nv-finder-hero__img { width: min(300px, 70%); justify-self: center; }
.nv-finder { display: flex; flex-direction: column; gap: 16px; max-width: 900px; }
.nv-finder__step { margin: 0; padding: 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; }
.nv-finder__step legend { float: left; width: 100%; display: flex; align-items: center; gap: 10px; margin-bottom: 14px; padding: 0; font-size: 19px; font-weight: 700; color: var(--nv-ink); }
.nv-finder__step legend + * { clear: both; }
.nv-finder__hint { margin: 0 0 12px; font-size: 14px; color: var(--nv-muted); }
.nv-finder__fields { display: grid; gap: 12px; }
@media (min-width: 768px) { .nv-finder__fields { grid-template-columns: 1fr 1fr 1.4fr; } }
.nv-finder__fields label { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 700; color: #4a433d; }
.nv-finder__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.nv-finder__chips.is-required { outline: 2px dashed var(--nv-terracotta); outline-offset: 6px; border-radius: 12px; }
.nv-finder__scale { display: flex; gap: 8px; margin-bottom: 10px; }
.nv-choice { position: relative; cursor: pointer; }
.nv-choice input { position: absolute; opacity: 0; }
.nv-choice span { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1.5px solid var(--nv-border-strong); border-radius: 999px; background: #fff; font-size: 15px; font-weight: 700; color: var(--nv-ink); transition: all .15s; }
.nv-choice--num span { justify-content: center; width: 52px; padding: 0; }
.nv-choice input:checked + span { background: var(--nv-teal); border-color: var(--nv-teal); color: #fff; }
.nv-choice input:focus-visible + span { outline: 3px solid var(--nv-gold); outline-offset: 2px; }
.nv-finder > .nv-btn { align-self: flex-start; }
.nv-finder-result { margin-top: 28px; }
.nv-finder-result__title { margin: 18px 0 16px; }
.nv-weather-card { padding: 20px; border-radius: 22px; background: linear-gradient(135deg, var(--nv-teal) 0%, #2f5d63 100%); color: #fff; }
.nv-weather-card__title { margin: 0 0 12px; font-weight: 700; }
.nv-weather-card__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 0; }
.nv-weather-card__grid div { padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .1); }
.nv-weather-card__grid dt { font-size: 12px; color: #cfdcdc; }
.nv-weather-card__grid dd { margin: 2px 0 0; font-size: 20px; font-weight: 700; }
.nv-finder-result .nv-urgency { margin-top: 12px; }
.nv-finder-empty { display: flex; flex-direction: column; align-items: center; gap: 8px; margin-top: 16px; padding: 28px; text-align: center; background: #fff; border: 1px solid var(--nv-border); border-radius: 22px; }
.nv-finder-empty__sign { font-weight: 700; color: var(--nv-terracotta-dark); }
.nv-grid > li[hidden] { display: none !important; }
.nv-benefit-lines { font-size: 13px; line-height: 1.45; color: #4a433d; }
.nv-benefit-lines p { margin: 0 0 4px; }
.nv-finder__note { margin-top: 14px; font-size: 13px; color: var(--nv-muted); }
/* Default page body (+ contents list for long pages) */
.nv-page-body { display: grid; gap: 20px; align-items: start; }
@media (min-width: 1000px) { .nv-page-body.has-toc { grid-template-columns: 260px minmax(0, 1fr); gap: 36px; } }
.nv-page-card { min-width: 0; padding: 26px 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: 24px; }
@media (min-width: 768px) { .nv-page-card { padding: 40px 44px; } }
.nv-page-card__body { max-width: 780px; font-size: 17px; line-height: 1.7; color: #33302c; }
.nv-page-card__body h2 { margin-top: 1.6em; font-size: 24px; scroll-margin-top: calc(var(--nv-header-h) + 20px); }
.nv-page-card__body h2:first-child { margin-top: 0; }
.nv-page-card__body table { width: 100%; border-collapse: collapse; font-size: 15px; }
.nv-page-card__body td, .nv-page-card__body th { padding: 10px; border: 1px solid var(--nv-border); }
.nv-page-card__updated { margin: 24px 0 0; padding-top: 16px; border-top: 1px solid var(--nv-border); font-size: 13px; color: var(--nv-muted); }
.nv-toc { padding: 18px; background: #fff; border: 1px solid var(--nv-border); border-radius: 20px; }
@media (min-width: 1000px) { .nv-toc { position: sticky; top: calc(var(--nv-header-h) + 20px); max-height: calc(100vh - var(--nv-header-h) - 40px); overflow-y: auto; } }
.nv-toc__title { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--nv-terracotta-dark); }
.nv-toc ol { margin: 0; padding-left: 18px; font-size: 14px; line-height: 1.5; }
.nv-toc li { margin: 6px 0; }
.nv-toc a { color: var(--nv-ink); text-decoration: none; }
.nv-toc a:hover { color: var(--nv-terracotta-dark); }
@media (max-width: 999px) { .nv-toc ol { columns: 1; } }
/* Plugin forms inside page cards (Track order, affiliate, Tutor registration) */
.nv-page-card form .form-row, .nv-page-card form p { margin: 0 0 14px; }
.nv-page-card form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 700; color: #4a433d; }
.nv-page-card form button, .nv-page-card form input[type="submit"], .nv-page-card .button, .nv-page-card .tutor-btn-primary, .nv-page-card .yith-wcaf-submit {
	display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 28px !important; border: 0 !important; border-radius: 999px !important;
	background: var(--nv-terracotta) !important; color: #fff !important; font-family: var(--nv-font) !important; font-size: 16px !important; font-weight: 700; line-height: 1 !important; cursor: pointer; text-decoration: none;
}
.nv-page-card form button:hover, .nv-page-card form input[type="submit"]:hover { background: var(--nv-terracotta-dark) !important; }
.nv-page-card .track_order { max-width: 560px; }
/* YITH affiliate registration: drop the plugin's nested grey boxes */
.nv-page-card .yith-wcaf-registration-form, .nv-page-card .yith-wcaf-registration-form .forms-container, .nv-page-card .yith-wcaf-registration-form .register-form, .nv-page-card .yith-wcaf-registration-form form.register {
	max-width: 560px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; box-shadow: none !important; float: none !important; width: auto !important;
}
.nv-page-card .yith-wcaf-registration-form .register-title { margin: 0 0 16px; font-size: 22px; }
.nv-page-card .yith-wcaf-registration-form form.register button { width: 100%; }

/* 12. Utilities ----------------------------------------------------------- */
.nv-mobile-only { display: block; }
@media (min-width: 900px) { .nv-mobile-only { display: none; } }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Tutor LMS course listing: restyle only (markup, filters and cart stay Tutor's) */
.nv-course-listing .tutor-courses-wrap { max-width: var(--nv-container, 1240px); margin: 0 auto; padding: 40px 20px 72px; }
@media (min-width: 900px) { .nv-course-listing .tutor-courses-wrap { padding: 56px 24px 96px; } }
.nv-course-listing .tutor-courses-wrap .tutor-d-xl-none .tutor-fs-3 { font-size: 22px; font-weight: 700; }
.nv-course-listing .tutor-course-filter-container > * { position: sticky; top: 110px; padding: 22px; background: #fff; border: 1px solid var(--nv-border); border-radius: 20px; }
.nv-course-listing .tutor-course-filter .tutor-form-control, .nv-course-listing .tutor-course-filter input[type="search"], .nv-course-listing .tutor-courses-wrap select, .nv-course-listing .tutor-courses-wrap .tutor-js-form-select { border-radius: 999px; border-color: var(--nv-border); }
.nv-course-listing .tutor-course-filter .tutor-widget-title, .nv-course-listing .tutor-course-filter h3 { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--nv-terracotta); }
.nv-course-listing .tutor-course-filter .tutor-form-check-input:checked { background-color: var(--nv-terracotta); border-color: var(--nv-terracotta); }
.nv-course-listing .tutor-course-filter .tutor-btn-outline-primary { border-radius: 999px; }
.nv-course-listing .tutor-course-card, .nv-course-listing .tutor-card.tutor-course-card { overflow: hidden; border: 1px solid var(--nv-border); border-radius: 22px; box-shadow: none; transition: transform .25s ease, box-shadow .25s ease; }
.nv-course-listing .tutor-course-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -20px rgba(37, 75, 81, .45); }
.nv-course-listing .tutor-course-card .tutor-course-name, .nv-course-listing .tutor-course-card .tutor-course-name a { font-size: 19px; font-weight: 700; line-height: 1.3; color: var(--nv-ink); text-decoration: none; }
.nv-course-listing .tutor-course-card .tutor-course-name a:hover { color: var(--nv-terracotta); }
.nv-course-listing .tutor-course-card .tutor-ratings-stars { color: #EEBB67; }
.nv-course-listing .tutor-course-card .tutor-card-footer { background: #faf6f1; border-top: 1px solid var(--nv-border); }
.nv-course-listing .tutor-course-card .tutor-btn { border-radius: 999px; font-weight: 700; }
.nv-course-listing .tutor-course-card .tutor-btn-outline-primary { background: var(--nv-terracotta); border-color: var(--nv-terracotta); color: #fff; }
.nv-course-listing .tutor-course-card .tutor-btn-outline-primary:hover { background: var(--nv-terracotta-dark, #a8481f); border-color: var(--nv-terracotta-dark, #a8481f); color: #fff; }
.nv-course-listing .tutor-course-card .tutor-avatar { background: var(--nv-teal, #254b51); }
.nv-course-listing .tutor-courses-wrap > .tutor-d-xl-none .tutor-fs-3 { visibility: hidden; } /* title is already in the hero; keep Tutor's filter toggle */
.nv-course-listing .tutor-courses-wrap > .tutor-d-xl-none { margin-bottom: 12px; }

/* Checkout exit survey (Popup Maker #16816, content + CF7 form unchanged) */
.pum-theme-1967.pum-overlay, .pum-overlay.pum-theme-1967 { background: rgba(15, 22, 24, .6) !important; }
#popmake-16816.pum-container { width: calc(100% - 32px) !important; max-width: 520px !important; left: 50% !important; transform: translateX(-50%); margin-top: 8vh; padding: 26px 24px 22px !important; background: #fff !important; border-radius: 22px !important; box-shadow: 0 30px 70px -20px rgba(0, 0, 0, .45) !important; font-family: var(--nv-font); }
@media (max-width: 599px) { #popmake-16816.pum-container { top: auto !important; bottom: 0 !important; margin: 0 !important; width: 100% !important; max-height: 92vh; overflow-y: auto; border-radius: 22px 22px 0 0 !important; } }
#popmake-16816 .pum-content { color: #4a433d !important; font-size: 16px; line-height: 1.5; }
#popmake-16816 .pum-content:focus { outline: 0; }
#popmake-16816 h3 { margin: 0 32px 8px 0; font-size: 24px; font-weight: 700; line-height: 1.2; color: var(--nv-ink); }
#popmake-16816 .pum-content > span { color: var(--nv-terracotta-dark) !important; font-weight: 700 !important; }
#popmake-16816 .exit-reasons { display: grid; gap: 8px; margin: 16px 0 18px; }
#popmake-16816 .exit-reasons label { display: flex; align-items: center; gap: 12px; margin: 0; padding: 12px 14px; border: 1.5px solid var(--nv-border); border-radius: 14px; background: #fff; color: var(--nv-ink); font-size: 15px; line-height: 1.35; cursor: pointer; transition: border-color .15s, background-color .15s; }
#popmake-16816 .exit-reasons label:hover { border-color: #d9c9b6; }
#popmake-16816 .exit-reasons label:has(input:checked) { border-color: var(--nv-terracotta); background: #fdf3ee; }
#popmake-16816 .exit-reasons input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; margin: 0; accent-color: var(--nv-terracotta); }
#popmake-16816 .pum-content > div:empty, #popmake-16816 .pum-content > div:has(> code), #popmake-16816 .pum-content > p:empty { display: none; }
#popmake-16816 div:has(> .exit-btn) { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; }
#popmake-16816 .exit-btn, #popmake-16816 .continue-btn { flex: 1 1 180px; display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 20px; border: 2px solid var(--nv-terracotta); border-radius: 999px; font-size: 16px; font-weight: 700; text-decoration: none !important; white-space: nowrap; transition: background-color .15s, color .15s; }
#popmake-16816 .exit-btn { background: #fff; color: var(--nv-terracotta-dark) !important; }
#popmake-16816 .exit-btn:hover { background: #fdf3ee; }
#popmake-16816 .continue-btn { order: -1; background: var(--nv-terracotta); color: #fff !important; }
#popmake-16816 .continue-btn:hover { background: var(--nv-terracotta-dark); border-color: var(--nv-terracotta-dark); }
#popmake-16816 .wpcf7, #popmake-16816 .wpcf7 form { margin: 0; }
#popmake-16816 .wpcf7-submit, #popmake-16816 .wpcf7-spinner, #popmake-16816 .wpcf7-response-output, #popmake-16816 .wpcf7 form > p:empty { display: none !important; }
#popmake-16816 .pum-close { width: 36px !important; height: 36px !important; top: 16px !important; right: 16px !important; padding: 0 !important; border-radius: 50% !important; background: var(--nv-ground, #f3ede4) !important; color: var(--nv-ink) !important; font-size: 0 !important; box-shadow: none !important; }
#popmake-16816 .pum-close::before { content: "×"; font-size: 24px; line-height: 36px; }
#popmake-16816 .exit-btn.pum-close, #popmake-16816 .continue-btn.pum-close { position: static !important; width: auto !important; height: auto !important; border-radius: 999px !important; font-size: 16px !important; }
#popmake-16816 .exit-btn.pum-close { background: #fff !important; color: var(--nv-terracotta-dark) !important; }
#popmake-16816 .continue-btn.pum-close { background: var(--nv-terracotta) !important; color: #fff !important; }
#popmake-16816 .exit-btn.pum-close::before, #popmake-16816 .continue-btn.pum-close::before { content: none; }

/* Phones: side cart opens straight to the cart. The plugin's "Products you might like" drawer would
   otherwise slide over the cart contents (suggestions still show on the cart page and at checkout). */
@media (max-width: 767px) {
	.xoo-wsc-drawer, .xoo-wsc-dtg-icon { display: none !important; }
}

/* Mailchimp's "Claim 10% off" tab (inside its shadow root, see main.js) sits above our bottom bars on phones. */
body { --nv-mc-offset: 0px; }
@media (max-width: 899px) {
	body { --nv-mc-offset: calc(76px + env(safe-area-inset-bottom)); }
}
