/*
Theme Name:     kadence-child
Description:    NOORWA child theme. The Light of Arabic Scent.
Author:         Noorwa
Author URI:     https://noorwa.com
Template:       kadence
Version:        2.0.0
*/

/* ===== 1. Tokens: 8pt grid. Spacing values used: 4, 8, 12, 16, 24, 32, 48, 64, 96, 128 (plus 112 section and 20 mobile gutter, as specified) ===== */
:root {
	--nw-black: #0E0D0C;
	--nw-charcoal: #1C1A18;
	--nw-gold: #C6A15B;
	--nw-gold-deep: #A8843C;
	--nw-cream: #F5EFE4;
	--nw-paper: #FFFFFF;
	--nw-text: #1C1A18;
	--nw-muted: #6E675E;
	--nw-line: rgba(198, 161, 91, 0.14);
	--nw-serif: "Playfair Display", Georgia, "Times New Roman", serif;
	--nw-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--s4: 4px; --s8: 8px; --s12: 12px; --s16: 16px; --s24: 24px; --s32: 32px; --s48: 48px; --s64: 64px; --s96: 96px; --s128: 128px;
	--nw-max: 1280px;
	--nw-gutter: 20px;
	--nw-section: 64px;
	--nw-header-h: 64px;
	--nw-radius: 2px;
	--nw-shadow: 0 24px 48px rgba(0, 0, 0, 0.08);
}
/* Kadence colour variables: html:root outranks the old customizer values so no default blue remains */
html:root {
	--global-body-font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--global-heading-font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	--global-palette1: #C6A15B;
	--global-palette2: #A8843C;
	--global-palette-highlight: #A8843C;
	--global-palette-highlight-alt: #C6A15B;
	--global-palette-highlight-alt2: #A8843C;
	--global-palette-btn-bg: #C6A15B;
	--global-palette-btn-bg-hover: #A8843C;
	--global-palette-btn: #0E0D0C;
	--global-palette-btn-hover: #FFFFFF;
	--global-palette7: #F5EFE4;
	--global-palette8: #F5EFE4;
	--global-palette9: #FFFFFF;
	--global-palette3: #1C1A18;
	--global-palette4: #1C1A18;
	--global-palette5: #6E675E;
	--global-palette6: #6E675E;
}
@media (min-width: 900px) {
	:root { --nw-gutter: 32px; --nw-section: 112px; --nw-header-h: 76px; }
}

/* ===== 2. Base and typography ===== */
html { -webkit-text-size-adjust: 100%; }
html body, html body #wrapper, html body .site, html body.wp-site-blocks { background: var(--nw-cream) !important; }
html body {
	color: var(--nw-text);
	font-family: var(--nw-sans) !important;
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: clip;
}
img { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4, html body .entry-title, html body .page-title { font-family: var(--nw-serif) !important; font-weight: 400 !important; color: var(--nw-charcoal); text-wrap: balance; }
html body h1 { font-size: 38px; line-height: 1.12; }
html body h2 { font-size: 30px; line-height: 1.15; }
html body h3 { font-size: 24px; line-height: 1.3; }
@media (min-width: 900px) { html body h1 { font-size: 56px; line-height: 1.08; } html body h2 { font-size: 40px; } }
html body input, html body select, html body textarea, html body button { font-family: var(--nw-sans); }
.nw-eyebrow { display: block; margin: 0 0 var(--s12); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold-deep); }
.nw-secondary { font-size: 14px; line-height: 1.65; }
.nw-wrap { max-width: var(--nw-max); margin: 0 auto; padding: 0 var(--nw-gutter); }
.content-container, .site-container { max-width: var(--nw-max); }
.nw-section { padding-block: var(--nw-section); }
.nw-section-head { max-width: 640px; margin: 0 auto var(--s48); text-align: center; }
.nw-section-head h2 { margin: 0 0 var(--s16); }
.nw-section-head p { margin: 0; font-size: 16px; color: var(--nw-muted); }
.nw-section--paper { background: var(--nw-paper); }
.nw-hairline { border: 0; border-top: 1px solid var(--nw-line); margin: 0; }
:focus-visible { outline: 2px solid var(--nw-gold-deep); outline-offset: 2px; }
.nw-link, .nw-legal a, .nw-prose a { text-decoration: none; background: linear-gradient(var(--nw-gold), var(--nw-gold)) 0 100% / 100% 1px no-repeat; }
.nw-link:hover, .nw-legal a:hover, .nw-prose a:hover { background-size: 100% 2px; }

/* ===== 3. Buttons (54px, 12px caps, gold primary) ===== */
.nw-btn, html body .button, .wp-block-button__link,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
html body .nw-signup button, html body .nw-signup .ff-btn-submit {
	display: inline-flex; align-items: center; justify-content: center;
	height: 54px; padding: 0 36px; box-sizing: border-box;
	background: var(--nw-gold); color: var(--nw-black); border: 1px solid var(--nw-gold); border-radius: var(--nw-radius);
	font: 600 12px/1 var(--nw-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.nw-btn:hover, html body .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
html body .nw-signup button:hover { background: var(--nw-gold-deep); border-color: var(--nw-gold-deep); color: var(--nw-paper); }
.nw-btn--line, html body .nw-card .button { background: transparent; color: var(--nw-charcoal); border-color: var(--nw-charcoal); }
.nw-btn--line:hover, html body .nw-card .button:hover { background: var(--nw-charcoal); color: var(--nw-cream); border-color: var(--nw-charcoal); }
.nw-btn--ghost { background: transparent; color: var(--nw-cream); border-color: rgba(245, 239, 228, 0.6); }
.nw-btn--ghost:hover { background: var(--nw-cream); color: var(--nw-black); border-color: var(--nw-cream); }

/* ===== 4. Announcement bar and header ===== */
.nw-topbar { min-height: 36px; padding: var(--s8) var(--nw-gutter); box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: var(--nw-gold); color: var(--nw-black); text-align: center; }
.nw-topbar p { margin: 0; font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.18em; text-transform: uppercase; }
.nw-header { position: sticky; top: 0; z-index: 50; background: var(--nw-cream); border-bottom: 1px solid var(--nw-line); }
.admin-bar .nw-header { top: 32px; }
.nw-header__inner { max-width: var(--nw-max); margin: 0 auto; height: var(--nw-header-h); padding: 0 var(--nw-gutter); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: var(--s16); }
.nw-logo { font: 400 24px/1 var(--nw-serif); letter-spacing: 0.35em; text-indent: 0.35em; color: var(--nw-charcoal); text-decoration: none; text-align: center; }
.nw-burger { justify-self: start; width: 44px; height: 44px; padding: 0; background: transparent; border: 0; display: flex; flex-direction: column; justify-content: center; gap: 6px; cursor: pointer; }
html body .nw-burger, html body .nw-burger:hover, html body .nw-burger:focus { background: transparent !important; box-shadow: none; }
.nw-burger span { display: block; width: 24px; height: 2px; background: var(--nw-charcoal); transition: transform 0.2s ease, opacity 0.2s ease; }
.is-open .nw-burger span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.is-open .nw-burger span:nth-child(2) { opacity: 0; }
.is-open .nw-burger span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
.nw-header__tools { justify-self: end; display: flex; gap: var(--s24); align-items: center; }
.nw-tool, .nw-nav li a { font: 600 12px/1 var(--nw-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; color: var(--nw-charcoal); white-space: nowrap; }
.nw-tool:hover, .nw-nav li a:hover { color: var(--nw-gold-deep); }
.nw-tool--account { display: none; }
.nw-bag-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; margin-left: var(--s4); padding: 0 var(--s4); box-sizing: border-box; background: var(--nw-gold); color: var(--nw-black); font-size: 11px; border-radius: 10px; }
.nw-nav { display: none; position: absolute; top: var(--nw-header-h); left: 0; right: 0; background: var(--nw-cream); border-bottom: 1px solid var(--nw-line); padding: var(--s8) var(--nw-gutter) var(--s24); }
.is-open .nw-nav { display: block; }
.nw-nav ul { list-style: none; margin: 0; padding: 0; }
.nw-nav li a { display: block; padding: var(--s16) 0; border-bottom: 1px solid var(--nw-line); }
@media (min-width: 900px) {
	.nw-header__inner { grid-template-columns: auto 1fr auto; gap: var(--s48); }
	.nw-burger { display: none; }
	.nw-logo { text-align: left; text-indent: 0; }
	.nw-nav { display: block; position: static; background: transparent; border: 0; padding: 0; }
	.nw-nav ul { display: flex; gap: var(--s32); }
	.nw-nav li a { display: inline; padding: 0; border: 0; }
	.nw-tool--account { display: inline; }
}

/* ===== 5. Footer ===== */
.nw-footer { background: var(--nw-black); color: rgba(245, 239, 228, 0.8); padding: var(--s64) 0 var(--s24); font-size: 14px; }
.nw-footer__inner { max-width: var(--nw-max); margin: 0 auto; padding: 0 var(--nw-gutter); display: grid; grid-template-columns: 1fr; gap: var(--s48); }
.nw-footer .nw-logo { display: block; color: var(--nw-cream); text-align: left; text-indent: 0; margin-bottom: var(--s16); }
.nw-footer__brand p { max-width: 320px; margin: 0; line-height: 1.7; }
.nw-footer h4 { margin: 0 0 var(--s16); font: 600 11px/1.4 var(--nw-sans) !important; letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold); }
.nw-footer ul { list-style: none; margin: 0; padding: 0; font-size: 14px; line-height: 2.2; }
.nw-footer a { color: rgba(245, 239, 228, 0.8); text-decoration: none; }
.nw-footer a:hover { color: var(--nw-gold); text-decoration: underline; text-decoration-color: var(--nw-gold); text-underline-offset: 4px; }
.nw-pay { max-width: var(--nw-max); margin: var(--s48) auto 0; padding: var(--s24) var(--nw-gutter) 0; display: flex; flex-wrap: wrap; gap: var(--s8); }
.nw-pay span { display: inline-flex; align-items: center; height: 32px; padding: 0 var(--s12); border: 1px solid rgba(207, 199, 184, 0.35); border-radius: var(--nw-radius); font: 600 11px/1 var(--nw-sans); letter-spacing: 0.08em; text-transform: uppercase; color: rgba(245, 239, 228, 0.8); }
.nw-footer__bottom { max-width: var(--nw-max); margin: var(--s24) auto 0; padding: var(--s24) var(--nw-gutter) 0; border-top: 1px solid var(--nw-line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--s12); font: 400 13px/1.65 var(--nw-sans); color: rgba(245, 239, 228, 0.55); }
@media (min-width: 900px) { .nw-footer__inner { grid-template-columns: 2fr 1fr 1fr 1fr; } }

/* ===== 6. Product cards and grids (one template for every product) ===== */
html body ul.products { display: grid !important; grid-template-columns: repeat(2, 1fr); gap: var(--s16); margin: 0; padding: 0; list-style: none; }
@media (min-width: 700px) { html body ul.products { grid-template-columns: repeat(3, 1fr); gap: var(--s32); } }
@media (min-width: 1100px) { html body ul.products { grid-template-columns: repeat(4, 1fr); } }
html body ul.products li.nw-card { display: flex; flex-direction: column; width: auto !important; margin: 0 !important; float: none !important; padding: 0; position: relative; background: var(--nw-paper); border-radius: var(--nw-radius); box-shadow: none; }
.nw-media { position: relative; display: block; aspect-ratio: 4 / 5; box-sizing: border-box; padding: 12%; background: var(--nw-cream); overflow: hidden; box-shadow: var(--nw-shadow); border-radius: var(--nw-radius); }
.nw-media img { width: 100%; height: 100%; object-fit: contain; display: block; mix-blend-mode: multiply; transition: transform 0.4s ease; }
.nw-card:hover .nw-media img, .nw-tilelink:hover img { transform: scale(1.04); }
.nw-badge { position: absolute; top: var(--s12); left: var(--s12); z-index: 2; padding: var(--s8) var(--s12); background: var(--nw-black); color: var(--nw-gold); font: 600 11px/1 var(--nw-sans); letter-spacing: 0.14em; text-transform: uppercase; border-radius: var(--nw-radius); }
.nw-card__body { display: flex; flex-direction: column; flex: 1; padding: var(--s16) var(--s24) var(--s24); }
.nw-card__eyebrow { margin: 0 0 var(--s8); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold-deep); }
html body .nw-card__name, html body .nw-card__name a { margin: 0 0 var(--s4); font: 400 20px/1.3 var(--nw-serif) !important; color: var(--nw-charcoal); text-decoration: none; }
.nw-card__notes { margin: 0 0 var(--s12); font-size: 14px; line-height: 1.65; color: var(--nw-muted); min-height: 24px; }
.nw-meters { display: grid; gap: var(--s4); margin: 0 0 var(--s12); min-height: 28px; }
.nw-meter { display: flex; align-items: center; justify-content: space-between; gap: var(--s12); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--nw-muted); }
.nw-meter__bar { display: inline-flex; gap: var(--s4); }
.nw-meter__bar i { width: 24px; height: 4px; background: rgba(198, 161, 91, 0.25); }
.nw-meter__bar i.on { background: var(--nw-gold); }
.nw-rating { display: flex; align-items: center; gap: var(--s8); margin: 0 0 var(--s12); min-height: 24px; font-size: 14px; color: var(--nw-muted); }
.nw-rating .star-rating { margin: 0; float: none; }
.nw-priceline { display: flex; align-items: baseline; gap: var(--s8); margin: 0 0 var(--s16); font: 600 16px/1.4 var(--nw-sans); color: var(--nw-text); }
.nw-priceline del, .price del { font-size: 14px; font-weight: 400; text-decoration: line-through; opacity: 0.6; }
.nw-priceline ins, .price ins { text-decoration: none; background: transparent; }
.nw-card__cta { margin-top: auto; }
html body .nw-card__cta .button { width: 100%; }

/* ===== 7. Shop and category pages ===== */
html body .entry-hero .entry-header { min-height: 0 !important; padding: var(--s48) 0 var(--s24); }
html body .entry-hero .entry-hero-container-inner, html body .entry-hero .hero-section-overlay { background: var(--nw-cream) !important; }
html body .entry-hero .entry-hero-container-inner { padding-block: 0; min-height: 0; }
html body .entry-hero h1, html body .entry-hero .entry-title { color: var(--nw-charcoal); font-size: 38px; }
@media (min-width: 900px) { html body .entry-hero h1, html body .entry-hero .entry-title { font-size: 56px; } }
html body .kadence-woo-toggle { display: none !important; }
.nw-cat-intro { max-width: 760px; margin: 0 auto var(--s48); text-align: center; font-size: 16px; line-height: 1.7; color: var(--nw-muted); }
.nw-cat-intro p { margin: 0 0 var(--s16); }
.woocommerce-result-count, .woocommerce-ordering { font-size: 14px; }

/* ===== 8. Product page ===== */
.nw-pdp { padding-block: var(--s24) var(--s64); }
.nw-pdp__grid { display: grid; grid-template-columns: 1fr; gap: var(--s32); align-items: start; }
@media (min-width: 900px) { .nw-pdp__grid { grid-template-columns: 55fr 45fr; gap: var(--s64); } .nw-pdp__buy { position: sticky; top: calc(var(--nw-header-h) + var(--s32)); } }
html body .woocommerce-breadcrumb { margin: 0 0 var(--s24); font-size: 12px; letter-spacing: 0.04em; color: var(--nw-muted); }
.woocommerce-product-gallery { margin: 0 !important; width: 100% !important; float: none !important; }
.woocommerce-product-gallery__image { background: var(--nw-cream); border-radius: var(--nw-radius); box-shadow: var(--nw-shadow); overflow: hidden; }
.woocommerce-product-gallery__image a { display: block; aspect-ratio: 4 / 5; box-sizing: border-box; padding: 12%; }
.woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; }
.flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, 1fr); gap: var(--s8); margin: var(--s16) 0 0 !important; padding: 0; list-style: none; }
.flex-control-thumbs li { width: auto !important; float: none !important; margin: 0 !important; background: var(--nw-cream); border-radius: var(--nw-radius); overflow: hidden; }
.flex-control-thumbs img { aspect-ratio: 4 / 5; width: 100%; object-fit: contain; padding: var(--s8); box-sizing: border-box; mix-blend-mode: multiply; opacity: 0.6; cursor: pointer; }
.flex-control-thumbs img.flex-active, .flex-control-thumbs img:hover { opacity: 1; }
html body div.product .nw-pdp__buy, html body .nw-pdp__buy.summary { width: 100% !important; float: none !important; margin: 0; min-width: 0; }
html body div.product .nw-pdp__gallery, html body .nw-pdp__gallery .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0; min-width: 0; }
.nw-pdp__buy .nw-eyebrow { margin: 0 0 var(--s8); }
html body.single-product .product_title { margin: 0 0 var(--s8); font-size: 36px; line-height: 1.2; }
.nw-subtitle { margin: 0 0 var(--s12); font-size: 14px; line-height: 1.65; color: var(--nw-muted); }
html body.single-product .woocommerce-product-rating { margin: 0 0 var(--s16); }
html body.single-product .summary .price, html body.single-product .nw-pdp__buy .price { margin: 0 0 var(--s24); font: 600 16px/1.4 var(--nw-sans); color: var(--nw-text); }
.nw-pdp__buy .nw-meters { margin-bottom: var(--s24); }
.nw-options { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--s8); margin: 0 0 var(--s24); }
.nw-option { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--s4); min-height: 72px; padding: var(--s12) var(--s8); box-sizing: border-box; background: var(--nw-paper); color: var(--nw-text); border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); text-align: center; text-decoration: none; cursor: pointer; font: 400 12px/1.3 var(--nw-sans); letter-spacing: 0; text-transform: none; height: auto; }
.nw-option strong { font-weight: 600; font-size: 13px; }
.nw-option span { color: var(--nw-muted); }
.nw-option.is-on { border-color: var(--nw-charcoal); box-shadow: inset 0 0 0 1px var(--nw-charcoal); }
.nw-option--best { border-color: var(--nw-gold); background: rgba(198, 161, 91, 0.12); }
.nw-option--best em { position: absolute; top: -9px; left: 50%; transform: translateX(-50%); padding: var(--s4) var(--s8); background: var(--nw-gold); color: var(--nw-black); font: 600 10px/1 var(--nw-sans); letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap; font-style: normal; border-radius: var(--nw-radius); }
html body.single-product form.cart { display: flex; flex-wrap: wrap; gap: var(--s16); margin: 0 0 var(--s12); }
html body.single-product form.cart.variations_form { display: block; }
html body.single-product table.variations { width: 100%; margin: 0 0 var(--s16); border: 0; }
html body.single-product table.variations th, html body.single-product table.variations td { display: block; padding: 0; border: 0; text-align: left; }
html body.single-product table.variations label { display: block; margin: 0 0 var(--s8); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-muted); }
html body.single-product table.variations select { width: 100%; height: 54px; padding: 0 var(--s16); border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); background: var(--nw-paper); font: 400 16px var(--nw-sans); }
html body.single-product .single_variation_wrap, html body.single-product .woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: var(--s16); }
html body.single-product div.product form.cart .single_add_to_cart_button,
html body.single-product div.product form.cart .single_add_to_cart_button.disabled,
html body.single-product div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed { flex: 1 1 0; width: auto; min-width: 0; height: 56px !important; background: var(--nw-gold) !important; color: var(--nw-black) !important; border: 1px solid var(--nw-gold) !important; border-radius: var(--nw-radius); }
html body.single-product div.product form.cart .single_add_to_cart_button:hover { background: var(--nw-gold-deep) !important; border-color: var(--nw-gold-deep) !important; color: var(--nw-paper) !important; }
html body.single-product .woocommerce-variation-add-to-cart { display: flex; width: 100%; gap: var(--s16); }
html body.single-product .single_add_to_cart_button.disabled, html body.single-product .single_add_to_cart_button.wc-variation-selection-needed { opacity: 0.45; cursor: not-allowed; }
html body.single-product .quantity .qty { height: 56px; width: 72px; border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); text-align: center; font: 600 16px var(--nw-sans); }
.nw-delivery { margin: var(--s16) 0 var(--s24); display: grid; gap: var(--s4); font-size: 14px; line-height: 1.65; color: var(--nw-text); }
.nw-delivery p { margin: 0; }
.nw-delivery strong { font-weight: 600; }
.nw-trustrow { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s16); padding: var(--s24) 0; border-top: 1px solid var(--nw-line); border-bottom: 1px solid var(--nw-line); }
.nw-trustrow div { display: flex; align-items: center; gap: var(--s12); font-size: 13px; line-height: 1.4; color: var(--nw-text); }
.nw-icon { flex: none; width: 28px; height: 28px; fill: none; stroke: var(--nw-gold-deep); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.nw-block { margin-top: var(--s64); }
.nw-block--ritual { margin-top: var(--s48); }
.nw-block__title { margin: 0 0 var(--s24); text-align: left; }
.nw-ritual { display: grid; grid-template-columns: 1fr; gap: var(--s16); }
@media (min-width: 700px) { .nw-ritual { grid-template-columns: repeat(3, 1fr); gap: var(--s24); } }
.nw-ritual__item { display: grid; grid-template-columns: 96px 1fr; gap: var(--s16); align-items: center; padding: var(--s16); background: var(--nw-paper); border-radius: var(--nw-radius); }
.nw-ritual__item .nw-media { padding: var(--s8); box-shadow: none; }
.nw-ritual__txt { display: grid; gap: var(--s8); font-size: 14px; }
.nw-ritual__txt strong { font: 400 18px/1.3 var(--nw-serif); }
.nw-ritual__txt .nw-btn { height: 40px; padding: 0 var(--s16); }
.nw-reviews__summary { display: flex; align-items: center; gap: var(--s16); margin: 0 0 var(--s24); font-size: 14px; color: var(--nw-muted); }
.nw-reviews__avg { font: 400 40px/1 var(--nw-serif); color: var(--nw-charcoal); }
html body .nw-reviews #reviews h2.woocommerce-Reviews-title { display: none; }
html body .nw-reviews #review_form_wrapper { display: none; margin-top: var(--s24); }
html body .nw-reviews.is-writing #review_form_wrapper { display: block; }
.nw-reviews .commentlist { padding: 0; list-style: none; }
.nw-reviews .commentlist li { padding: var(--s24) 0; border-top: 1px solid var(--nw-line); }
.nw-reviews .woocommerce-noreviews { margin: 0 0 var(--s16); color: var(--nw-muted); }
.nw-sections { display: grid; gap: var(--s64); }
.nw-sections h3 { margin: 0 0 var(--s16); }
.nw-prose p { margin: 0 0 var(--s16); }
.nw-prose ul { margin: 0 0 var(--s16); padding-left: var(--s24); }
.nw-notes { display: grid; gap: var(--s8); margin: 0 0 var(--s24); max-width: 560px; }
.nw-notes__row { display: grid; grid-template-columns: 96px 1fr; gap: var(--s16); padding: var(--s12) 0; border-bottom: 1px solid var(--nw-line); font-size: 15px; }
.nw-notes__row span:first-child { font: 600 11px/1.9 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold-deep); }
.nw-sections table.woocommerce-product-attributes { width: 100%; max-width: 560px; border: 0; }
.nw-sections table.woocommerce-product-attributes th, .nw-sections table.woocommerce-product-attributes td { padding: var(--s12) 0; border: 0; border-bottom: 1px solid var(--nw-line); text-align: left; font-size: 15px; background: transparent; }
.nw-sections table.woocommerce-product-attributes th { width: 96px; font: 600 11px/1.9 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold-deep); }
.nw-sections table.woocommerce-product-attributes p { margin: 0; }
.nw-faq { border-top: 1px solid var(--nw-line); }
.nw-faq details { padding: var(--s16) 0; border-bottom: 1px solid var(--nw-line); }
.nw-faq summary { display: flex; justify-content: space-between; gap: var(--s16); cursor: pointer; list-style: none; font: 600 14px/1.5 var(--nw-sans); }
.nw-faq summary::-webkit-details-marker { display: none; }
.nw-faq summary::after { content: "+"; color: var(--nw-gold-deep); font-size: 20px; line-height: 1; }
.nw-faq details[open] summary::after { content: "\2013"; }
.nw-faq__a { padding-top: var(--s12); color: var(--nw-muted); font-size: 15px; }
.nw-faq__a p { margin: 0; }
html body .related.products { margin-top: var(--s64); }
html body .related.products > h2 { margin: 0 0 var(--s32); font-size: 30px; text-align: left; }
.nw-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: flex; align-items: center; justify-content: space-between; gap: var(--s12); padding: var(--s12) var(--nw-gutter) calc(var(--s12) + env(safe-area-inset-bottom, 0px)); background: var(--nw-paper); border-top: 1px solid var(--nw-line); box-shadow: 0 -4px 16px rgba(14, 13, 12, 0.08); }
.nw-sticky[hidden] { display: none; }
.nw-sticky__info { display: grid; min-width: 0; font-size: 13px; }
.nw-sticky__title { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nw-sticky__btn { flex: none; height: 56px; padding: 0 var(--s24); }

/* ===== 9. Cart, checkout, forms ===== */
.nw-shipbar { margin: 0 0 var(--s24); padding: var(--s16); background: var(--nw-paper); border: 1px solid var(--nw-line); border-radius: var(--nw-radius); }
.nw-shipbar p { margin: 0 0 var(--s8); font: 600 13px/1.4 var(--nw-sans); }
.nw-shipbar__track { height: 6px; background: rgba(198, 161, 91, 0.25); }
.nw-shipbar__track span { display: block; height: 100%; background: var(--nw-gold); }
.nw-addon { display: grid; grid-template-columns: 56px 1fr auto; gap: var(--s12); align-items: center; margin: var(--s16) 0; padding: var(--s12); background: var(--nw-paper); border: 1px solid var(--nw-line); border-radius: var(--nw-radius); }
.nw-addon__img img { width: 56px; height: 56px; object-fit: cover; display: block; }
.nw-addon__text { display: grid; font-size: 13px; line-height: 1.4; }
.nw-addon .nw-btn { height: 44px; padding: 0 var(--s16); }
.nw-checkout-trust { margin: var(--s12) 0 0; text-align: center; font-size: 12px; color: var(--nw-muted); }
html body.woocommerce-checkout input.input-text, html body.woocommerce-checkout select, html body.woocommerce-checkout textarea { min-height: 54px; border-radius: var(--nw-radius); border: 1px solid rgba(28, 26, 24, 0.1); background: var(--nw-paper); font-family: var(--nw-sans); font-size: 16px; }
html body.woocommerce-checkout #place_order { width: 100%; height: 56px; }
html body.woocommerce-checkout #payment, html body.woocommerce-checkout .woocommerce-checkout-review-order { background: var(--nw-paper); border-radius: var(--nw-radius); }

/* ===== 10. Homepage ===== */
.nw-home { width: 100vw; margin-left: calc(50% - 50vw); }
.nw-hero { padding: var(--s24) 0 var(--s48); }
.nw-hero__panel { display: grid; grid-template-columns: 1fr; gap: var(--s32); align-items: center; padding: var(--s32) var(--s24); background: rgba(198, 161, 91, 0.16); border-radius: var(--nw-radius); }
.nw-hero h1 { margin: 0 0 var(--s16); color: var(--nw-charcoal); }
.nw-hero__lead { margin: 0 0 var(--s32); max-width: 480px; font-size: 16px; line-height: 1.7; color: var(--nw-text); }
.nw-hero__actions { display: flex; flex-wrap: wrap; gap: var(--s16); margin-bottom: var(--s32); }
.nw-hero__visual { display: block; text-decoration: none; }
.nw-hero__visual .nw-media { background: var(--nw-paper); }
.nw-proof { display: flex; flex-wrap: wrap; font-size: 13px; line-height: 1.4; color: var(--nw-muted); }
.nw-proof > span { padding: var(--s8) var(--s16); border-left: 1px solid var(--nw-line); }
.nw-proof > span:first-child { padding-left: 0; border-left: 0; }
.nw-proof .star-rating { display: inline-block; vertical-align: middle; margin-right: var(--s8); float: none; }
@media (min-width: 900px) { .nw-hero { padding: var(--s32) 0 var(--s64); } .nw-hero__panel { grid-template-columns: 55fr 45fr; gap: var(--s64); padding: var(--s64); } }
.nw-trust { border-top: 1px solid var(--nw-line); border-bottom: 1px solid var(--nw-line); background: var(--nw-cream); }
.nw-trust__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s24) var(--s16); padding-block: var(--s48); }
.nw-trust__grid div { display: grid; justify-items: start; gap: var(--s4); }
.nw-trust__grid .nw-icon { margin-bottom: var(--s8); }
.nw-trust__grid strong { font: 600 14px/1.4 var(--nw-sans); color: var(--nw-text); }
.nw-trust__grid span { font-size: 13px; line-height: 1.5; color: var(--nw-muted); }
@media (min-width: 700px) { .nw-trust__grid { grid-template-columns: repeat(4, 1fr); } }
.nw-promo { background: rgba(198, 161, 91, 0.16); padding-block: var(--s48); }
.nw-promo__inner { display: grid; gap: var(--s24); align-items: center; justify-items: start; }
.nw-promo h2 { margin: 0; }
.nw-more { margin: var(--s48) 0 0; text-align: center; }
@media (min-width: 900px) { .nw-promo__inner { grid-template-columns: 1fr auto; } }
.nw-steps { display: grid; grid-template-columns: 1fr; gap: var(--s24); }
@media (min-width: 700px) { .nw-steps { grid-template-columns: repeat(3, 1fr); gap: var(--s32); } }
.nw-step { display: grid; justify-items: start; gap: var(--s8); padding: var(--s24); background: var(--nw-cream); border-radius: var(--nw-radius); }
.nw-step__n { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-bottom: var(--s8); border: 1px solid var(--nw-gold-deep); border-radius: 50%; font: 400 18px/1 var(--nw-serif); color: var(--nw-gold-deep); }
.nw-step strong { font: 400 20px/1.3 var(--nw-serif); color: var(--nw-charcoal); }
.nw-step p { margin: 0; font-size: 14px; line-height: 1.65; color: var(--nw-muted); }
.nw-quiz { max-width: 720px; margin: 0 auto; }
.nw-quiz__progress { display: flex; gap: var(--s8); margin: 0 0 var(--s8); }
.nw-quiz__progress span { flex: 1; height: 4px; background: rgba(198, 161, 91, 0.25); }
.nw-quiz__progress span.on { background: var(--nw-gold); }
.nw-quiz__count { margin: 0 0 var(--s24); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-muted); text-align: center; }
.nw-quiz__q { margin: 0 0 var(--s24); font: 400 24px/1.3 var(--nw-serif); text-align: center; color: var(--nw-charcoal); }
.nw-quiz__opts { display: grid; gap: var(--s12); }
.nw-quiz__opts button { height: 54px; padding: 0 var(--s24); background: var(--nw-paper); color: var(--nw-text); border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); font: 500 15px/1 var(--nw-sans); letter-spacing: 0; text-transform: none; cursor: pointer; }
.nw-quiz__opts button:hover { border-color: var(--nw-gold-deep); background: var(--nw-paper); color: var(--nw-text); }
.nw-quiz__result { display: grid; gap: var(--s24); justify-items: center; text-align: center; }
.nw-quiz__card { display: grid; grid-template-columns: 120px 1fr; gap: var(--s24); align-items: center; width: 100%; padding: var(--s24); box-sizing: border-box; background: var(--nw-paper); border-radius: var(--nw-radius); text-align: left; }
.nw-quiz__card .nw-media { padding: var(--s8); box-shadow: none; }
.nw-quiz__info { display: grid; gap: var(--s8); }
.nw-quiz__info strong { font: 400 24px/1.2 var(--nw-serif); }
.nw-quiz__info em { font-style: normal; color: var(--nw-muted); font-size: 14px; }
.nw-quiz__info .nw-btn { justify-self: start; }
html body .nw-quiz__again { background: transparent; color: var(--nw-charcoal); border: 0; height: auto; padding: var(--s8); text-decoration: underline; font: 500 14px var(--nw-sans); letter-spacing: 0; text-transform: none; }
.nw-tiles { display: grid; grid-template-columns: 1fr; gap: var(--s24); }
@media (min-width: 600px) { .nw-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .nw-tiles { grid-template-columns: repeat(3, 1fr); } }
.nw-tilelink { display: grid; gap: var(--s16); text-decoration: none; }
.nw-tilelink__img { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: rgba(198, 161, 91, 0.16); border-radius: var(--nw-radius); }
.nw-tilelink img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.4s ease; }
.nw-tilelink__text { display: grid; gap: var(--s4); }
.nw-tilelink__text strong { font: 400 24px/1.2 var(--nw-serif); color: var(--nw-charcoal); }
.nw-tilelink__text span { font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold-deep); }
.nw-newsletter { background: rgba(198, 161, 91, 0.16); color: var(--nw-text); padding-block: var(--nw-section); text-align: center; }
.nw-newsletter h3 { margin: 0 0 var(--s8); color: var(--nw-charcoal); }
.nw-newsletter p { margin: 0 0 var(--s24); color: var(--nw-muted); }
.nw-newsletter__inner { max-width: 560px; margin: 0 auto; }
html body .nw-newsletter form { display: flex; flex-wrap: wrap; gap: var(--s8); }
html body .nw-newsletter .ff-el-group, html body .nw-newsletter .ff-t-container { flex: 1; min-width: 200px; margin: 0; }
html body .nw-newsletter .ff_submit_btn_wrapper { margin: 0; }
html body .nw-newsletter input[type="email"], html body .nw-newsletter input[type="text"] { width: 100%; height: 54px; padding: 0 var(--s16); box-sizing: border-box; border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); background: var(--nw-paper); color: var(--nw-text); font: 400 16px var(--nw-sans); }
html body .nw-newsletter label { color: var(--nw-text); }
html body .nw-newsletter .ff-btn-submit { background: var(--nw-gold) !important; color: var(--nw-black) !important; border-color: var(--nw-gold) !important; }
.nw-reviewgrid { display: grid; grid-template-columns: 1fr; gap: var(--s24); }
@media (min-width: 700px) { .nw-reviewgrid { grid-template-columns: repeat(3, 1fr); } }
.nw-review { margin: 0; padding: var(--s24); background: var(--nw-paper); border-radius: var(--nw-radius); }
.nw-review__stars { margin-bottom: var(--s8); color: var(--nw-gold); letter-spacing: 3px; }
.nw-review blockquote { margin: 0 0 var(--s16); padding: 0; border: 0; font-size: 15px; }
.nw-review figcaption { font-size: 13px; color: var(--nw-muted); }

/* ===== 11. Policy pages ===== */
.nw-legal { max-width: 760px; margin: 0 auto; padding-bottom: var(--s48); font-size: 16px; line-height: 1.7; }
.nw-legal__updated { margin: 0 0 var(--s32); color: var(--nw-muted); font-size: 14px; }
.nw-legal h2 { margin: var(--s48) 0 var(--s12); font-size: 30px; }
.nw-legal h3 { margin: var(--s24) 0 var(--s8); font: 600 16px/1.4 var(--nw-sans) !important; }
.nw-legal ul { margin: 0 0 var(--s16); padding-left: var(--s24); }
.nw-legal li { margin-bottom: var(--s8); }
.nw-legal .nw-legal__note { margin: var(--s24) 0; padding: var(--s16) var(--s24); background: var(--nw-paper); border-left: 3px solid var(--nw-gold); }

/* ===== Palette enforcement for forms, tables and checkout ===== */
html body .required, html body abbr.required { color: var(--nw-gold-deep) !important; text-decoration: none; }
html body input, html body select, html body textarea, html body option, html body .select2-selection__rendered, html body .select2-results__option { color: var(--nw-text) !important; }
html body input::placeholder, html body textarea::placeholder { color: var(--nw-muted); }
html body .select2-container .select2-selection--single { height: 54px; display: flex; align-items: center; border-radius: var(--nw-radius); }
html body table, html body table td, html body table th, html body .select2-selection, html body .select2-dropdown, html body fieldset, html body .wc-upe-form, html body .woocommerce-checkout-review-order-table td, html body .woocommerce-checkout-review-order-table th, html body .shop_table td, html body .shop_table th { border-color: var(--nw-line) !important; }
html body input[type="text"], html body input[type="email"], html body input[type="tel"], html body input[type="number"], html body input[type="password"], html body select, html body textarea { border-color: rgba(28, 26, 24, 0.1) !important; }

/* ===== Spacing enforcement (Kadence heading margins would otherwise win) ===== */
html body .nw-home h1, html body .nw-home h2 { margin: 0 0 var(--s16); }
html body .nw-home h3 { margin: 0 0 var(--s8); }
html body .nw-home .nw-section-head h2:last-child { margin-bottom: 0; }
html body .nw-card__cta .button, html body .nw-ritual__txt .nw-btn { padding: 0 var(--s24) !important; }
html body .nw-newsletter .ff-t-container { gap: var(--s8); }
html body .nw-pdp h1, html body .nw-pdp h2, html body .nw-pdp h3 { margin-top: 0; }

html body .nw-pdp .nw-subtitle { margin: 0 0 var(--s12) !important; }
html body .nw-pdp .nw-delivery p { margin: 0 !important; }
html body .nw-pdp li { padding-left: 0 !important; }


/* ===== Product page template: left thumbnails, chip options, steps, review summary ===== */
@media (min-width: 900px) {
	.woocommerce-product-gallery { display: grid !important; grid-template-columns: 80px 1fr; gap: var(--s16); align-items: start; }
	.woocommerce-product-gallery .flex-viewport { grid-column: 2; grid-row: 1; }
	.woocommerce-product-gallery .flex-control-thumbs { grid-column: 1; grid-row: 1; grid-template-columns: 1fr; margin: 0 !important; max-height: 640px; overflow-y: auto; align-content: start; scrollbar-width: thin; }
	.woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { grid-column: 2; }
}
html body.single-product .product_title { font-size: 26px; line-height: 1.25; }
@media (min-width: 900px) { html body.single-product .product_title { font-size: 30px; } }
.nw-short { margin: 0 0 var(--s24); }
.nw-short ul { margin: 0; padding: 0; list-style: none; display: grid; gap: var(--s8); }
.nw-short li { position: relative; padding-left: var(--s24) !important; font-size: 15px; line-height: 1.6; color: var(--nw-text); }
.nw-short li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 6px; border-left: 2px solid var(--nw-gold-deep); border-bottom: 2px solid var(--nw-gold-deep); transform: rotate(-45deg); }
.nw-chips { display: flex; flex-wrap: wrap; gap: var(--s8); margin: 0 0 var(--s8); }
.nw-chip { height: 44px; min-width: 56px; padding: 0 var(--s16); box-sizing: border-box; background: var(--nw-paper); color: var(--nw-text); border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); font: 500 14px/1 var(--nw-sans); letter-spacing: 0; text-transform: none; cursor: pointer; }
html body .nw-chip:hover { border-color: var(--nw-charcoal); background: var(--nw-paper); color: var(--nw-text); }
html body .nw-chip.is-on { border-color: var(--nw-charcoal); box-shadow: inset 0 0 0 1px var(--nw-charcoal); background: var(--nw-paper); color: var(--nw-text); }
html body.single-product table.variations select.nw-hidden { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
html body.single-product .reset_variations { display: none !important; }
html body.single-product .woocommerce-variation-description { margin: 0 0 var(--s16); padding: var(--s16); background: rgba(198, 161, 91, 0.16); border-radius: var(--nw-radius); font-size: 14px; line-height: 1.65; }
html body.single-product .woocommerce-variation-description p { margin: 0; }
html body.single-product .woocommerce-variation-price { margin: 0 0 var(--s12); }
.nw-reviews__summary { flex-wrap: wrap; gap: var(--s24) var(--s48); align-items: center; padding: var(--s24); background: var(--nw-paper); border-radius: var(--nw-radius); }
.nw-reviews__score { display: grid; gap: var(--s4); justify-items: start; }
.nw-hist { display: grid; gap: var(--s4); min-width: 220px; flex: 1; max-width: 360px; font-size: 13px; }
.nw-hist__row { display: grid; grid-template-columns: 48px 1fr 24px; gap: var(--s8); align-items: center; }
.nw-hist__bar { height: 6px; background: rgba(198, 161, 91, 0.25); }
.nw-hist__bar i { display: block; height: 100%; background: var(--nw-gold); }
@media (min-width: 700px) { .nw-reviews .commentlist { columns: 2; column-gap: var(--s24); } .nw-reviews .commentlist li { break-inside: avoid; margin: 0 0 var(--s24); padding: var(--s24); background: var(--nw-paper); border: 0; border-radius: var(--nw-radius); } }
.nw-recent__row { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--s16); }
@media (min-width: 700px) { .nw-recent__row { grid-template-columns: repeat(5, 1fr); } }
.nw-mini { display: grid; gap: var(--s8); text-decoration: none; font-size: 13px; line-height: 1.4; color: var(--nw-text); }
.nw-mini strong { font-weight: 600; }
.nw-empty { grid-column: 1 / -1; max-width: 560px; margin: var(--s48) auto; padding: var(--s48) var(--s24); text-align: center; background: var(--nw-paper); border-radius: var(--nw-radius); }
.nw-empty p { margin: 0 0 var(--s24); color: var(--nw-muted); }
html body ul.products li.nw-card .nw-media { box-shadow: none; }
html body .nw-card__name, html body .nw-card__name a { font-size: 18px !important; }


/* Fixes after first live check */
html body .nw-pdp .nw-short li { padding-left: var(--s24) !important; }
.nw-block .nw-step { background: var(--nw-paper); }
html body .nw-reviews .woocommerce-noreviews { display: none; }
html body .nw-home ul.products { grid-template-columns: repeat(auto-fit, minmax(220px, 280px)); justify-content: center; }
@media (min-width: 1100px) { html body .nw-home ul.products { grid-template-columns: repeat(4, 1fr); } html body .nw-home ul.products:has(> li:nth-child(-n+3):last-child) { grid-template-columns: repeat(auto-fit, minmax(220px, 280px)); } }


/* ===== Mockup 1: scrolling image column + fixed buy box, bands, rows ===== */
.nw-gallery { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; margin: 0 calc(-1 * var(--nw-gutter)); padding: 0 var(--nw-gutter); scrollbar-width: none; }
.nw-gallery::-webkit-scrollbar { display: none; }
.nw-shot { flex: 0 0 86%; scroll-snap-align: center; margin: 0; aspect-ratio: 1 / 1; background: var(--nw-paper); border-radius: var(--nw-radius); overflow: hidden; }
.nw-shot img { width: 100%; height: 100%; object-fit: cover; display: block; }
@media (min-width: 900px) {
	.nw-gallery { display: grid; gap: var(--s16); overflow: visible; margin: 0; padding: 0; scroll-snap-type: none; }
	.nw-shot { flex: none; }
	.nw-pdp__grid { grid-template-columns: minmax(0, 58fr) minmax(0, 42fr); }
}
.nw-band { position: relative; padding-block: var(--s64); background: var(--nw-paper); box-shadow: 0 0 0 100vmax var(--nw-paper); clip-path: inset(0 -100vmax); }
.nw-head { max-width: 640px; margin: 0 auto var(--s48); text-align: center; }
.nw-head h3 { font-size: 30px; line-height: 1.15; margin: 0; }
.nw-notecards { display: grid; grid-template-columns: 1fr; gap: var(--s16); }
@media (min-width: 700px) { .nw-notecards { grid-template-columns: repeat(3, 1fr); } }
.nw-notecard { padding: var(--s24); background: var(--nw-cream); border-radius: var(--nw-radius); }
.nw-notecard span { display: block; margin-bottom: var(--s8); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold-deep); }
.nw-notecard strong { font: 400 20px/1.3 var(--nw-serif); }
.nw-rows { margin-top: var(--s96); }
.nw-row { display: grid; grid-template-columns: 1fr; gap: var(--s32); align-items: center; }
.nw-row + .nw-row { margin-top: var(--s64); }
.nw-row__pic { aspect-ratio: 4 / 5; background: var(--nw-paper); border-radius: var(--nw-radius); overflow: hidden; }
.nw-row__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nw-row__copy h3 { font-size: 30px; line-height: 1.15; margin: 0 0 var(--s16); }
.nw-row__copy .nw-prose { max-width: 460px; color: var(--nw-muted); }
@media (min-width: 900px) { .nw-row { grid-template-columns: 1fr 1fr; gap: var(--s96); } .nw-row--flip .nw-row__pic { order: 2; } }
.nw-benefits { display: grid; grid-template-columns: 1fr; gap: var(--s16); }
@media (min-width: 700px) { .nw-benefits { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .nw-benefits { grid-template-columns: repeat(4, 1fr); } }
.nw-benefit { display: flex; gap: var(--s12); align-items: flex-start; padding: var(--s24); background: var(--nw-cream); border-radius: var(--nw-radius); font-size: 15px; line-height: 1.6; }
.nw-textcol { max-width: 760px; margin-inline: auto; }
.nw-step { background: var(--nw-cream); }
html body .nw-block .nw-step { background: var(--nw-cream); }
html body .related.products, .nw-recent { margin-top: var(--s96); }


/* ===== Round 3: buy box accordions, sample reviews ===== */
@media (min-width: 900px) {
	html body .nw-pdp__buy { max-height: calc(100vh - var(--nw-header-h) - var(--s48)); overflow-y: auto; scrollbar-width: thin; padding-right: var(--s8); }
}
.nw-acc { margin-top: var(--s24); border-top: 1px solid var(--nw-line); }
.nw-acc details { border-bottom: 1px solid var(--nw-line); }
.nw-acc summary { display: flex; justify-content: space-between; gap: var(--s16); padding: var(--s16) 0; cursor: pointer; list-style: none; font: 600 14px/1.5 var(--nw-sans); }
.nw-acc summary::-webkit-details-marker { display: none; }
.nw-acc summary::after { content: "+"; color: var(--nw-gold-deep); font-size: 20px; line-height: 1; }
.nw-acc details[open] summary::after { content: "\2013"; }
.nw-acc__body { padding: 0 0 var(--s24); font-size: 14px; line-height: 1.65; }
.nw-acc__body table.woocommerce-product-attributes { width: 100%; border: 0; }
.nw-acc__body table.woocommerce-product-attributes th, .nw-acc__body table.woocommerce-product-attributes td { padding: var(--s8) 0; border: 0; border-bottom: 1px solid var(--nw-line); text-align: left; font-size: 14px; background: transparent; }
.nw-acc__body table.woocommerce-product-attributes th { width: 110px; font: 600 11px/1.9 var(--nw-sans); letter-spacing: 0.18em; text-transform: uppercase; color: var(--nw-gold-deep); }
.nw-acc__body table.woocommerce-product-attributes p { margin: 0; }
.nw-acc__q { margin: var(--s16) 0 var(--s4) !important; font-weight: 600; }
.nw-acc__q:first-child { margin-top: 0 !important; }
.nw-acc__a { margin: 0 !important; color: var(--nw-muted); }
.nw-sample { margin: 0 0 var(--s24); font-size: 12px; text-align: center; color: var(--nw-muted); }
.nw-wall { columns: 1; column-gap: var(--s16); }
@media (min-width: 700px) { .nw-wall { columns: 2; } }
@media (min-width: 1100px) { .nw-wall { columns: 3; } }
.nw-rev { break-inside: avoid; margin: 0 0 var(--s16); padding: var(--s24); background: var(--nw-paper); border-radius: var(--nw-radius); }
.nw-rev .nw-review__stars { margin-bottom: var(--s8); color: var(--nw-gold); letter-spacing: 3px; }
.nw-rev blockquote { margin: 0 0 var(--s12); padding: 0; border: 0; font-size: 15px; }
.nw-rev figcaption { font-size: 13px; color: var(--nw-muted); }
.nw-rev__ph { height: 160px; margin-bottom: var(--s12); border-radius: var(--nw-radius); background: rgba(198, 161, 91, 0.25); }


/* ===== Round 11: product page aligned with the homepage ===== */
/* buy box: no inner scroll; JS pins a tall box by its bottom */
@media (min-width: 900px) {
	html body .nw-pdp__buy { max-height: none !important; overflow: visible !important; padding-right: 0; top: var(--nw-stick, 32px) !important; }
}
html body.single-product .product_title { font: 400 34px/1.15 var(--nw-serif) !important; letter-spacing: 0; margin: 0 0 var(--s8); }
html body.single-product .summary .price, html body.single-product .nw-pdp__buy .price { font: 500 14px/1.4 var(--nw-sans); letter-spacing: 0.12em; }
.nw-pdp__buy .nw-subtitle { font-size: 14px; }
/* square, outlined options like the homepage */
html body .nw-chip { border-radius: 0; background: transparent; border: 1px solid rgba(28, 26, 24, 0.2); font: 500 11px/1 var(--nw-sans); letter-spacing: 0.14em; text-transform: uppercase; height: 44px; }
html body .nw-chip:hover { background: transparent; }
html body .nw-chip.is-on { background: transparent; border-color: var(--nw-charcoal); box-shadow: none; }
.nw-swatches { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 var(--s8); }
.nw-sw { width: 72px; padding: 0; background: transparent; border: 1px solid transparent; text-align: center; cursor: pointer; font: 500 10px/1.3 var(--nw-sans); letter-spacing: 0.1em; text-transform: uppercase; color: var(--nw-charcoal); }
html body .nw-sw:hover { background: transparent; color: var(--nw-charcoal); }
.nw-sw img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; background: var(--nw-paper); border: 1px solid rgba(28, 26, 24, 0.12); }
.nw-sw span { display: block; padding: 6px 0 4px; }
html body .nw-sw.is-on img { border-color: var(--nw-charcoal); box-shadow: 0 0 0 1px var(--nw-charcoal); }
html body.single-product table.variations tr.nw-hidden-row { display: none; }
html body.single-product div.product form.cart .single_add_to_cart_button, html body.single-product div.product form.cart .single_add_to_cart_button.disabled, html body.single-product div.product form.cart .single_add_to_cart_button.wc-variation-selection-needed { border-radius: 0 !important; height: 52px !important; font-size: 11px; letter-spacing: 0.18em; }
html body.single-product .quantity .qty { border-radius: 0; height: 52px; border-color: rgba(28, 26, 24, 0.2); }
html body.single-product .woocommerce-variation-description { border-radius: 0; }
html body.single-product .nw-option { display: none; }
.nw-trustrow { grid-template-columns: repeat(2, 1fr); gap: var(--s12) var(--s16); padding: var(--s16) 0; font: 500 11px/1.4 var(--nw-sans); letter-spacing: 0.1em; text-transform: uppercase; }
.nw-trustrow div { font-size: 11px; color: var(--nw-muted); }
.nw-trustrow .nw-icon { width: 22px; height: 22px; }
/* notes table + photo */
.nw-notessplit { display: grid; grid-template-columns: 1fr; gap: var(--s32); align-items: start; margin-top: var(--s96); }
@media (min-width: 900px) { .nw-notessplit { grid-template-columns: 1fr 2fr; gap: var(--s64); } .nw-notessplit--solo { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } }
.nw-smallhead { margin: 0 0 var(--s24); font: 500 14px/1.4 var(--nw-sans) !important; letter-spacing: 0.2em; text-transform: uppercase; }
.nw-notetable__row { display: grid; grid-template-columns: 80px 1fr; gap: var(--s16); padding: var(--s16) 0; border-top: 1px solid rgba(28, 26, 24, 0.12); }
.nw-notetable__row:last-child { border-bottom: 1px solid rgba(28, 26, 24, 0.12); }
.nw-notetable__row span { font: 500 11px/1.9 var(--nw-sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--nw-muted); }
.nw-notetable__row strong { font: 400 16px/1.7 var(--nw-sans); white-space: pre-line; }
.nw-notessplit__pic { aspect-ratio: 4 / 3; overflow: hidden; background: var(--nw-paper); }
.nw-notessplit__pic img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* image rows: photos fill their frames */
.nw-row__pic { position: relative; }
html body .nw-row__pic img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
/* emerald band */
.nw-band--accent { background: var(--nw-accent); box-shadow: 0 0 0 100vmax var(--nw-accent); color: var(--nw-accent-ink); }
.nw-band--accent .nw-eyebrow { color: var(--nw-gold); }
.nw-band--accent .nw-head h3 { color: var(--nw-accent-ink); }
html body .nw-band--accent .nw-benefit { background: transparent; border: 1px solid rgba(245, 239, 228, 0.25); border-radius: 0; color: var(--nw-accent-ink); }
.nw-band--accent .nw-icon { stroke: var(--nw-gold); }
/* tiles everywhere (shop, category, related) */
html body ul.products li.nw-card { background: transparent; box-shadow: none; border-radius: 0; }
html body ul.products li.nw-card .nw-media { aspect-ratio: 1 / 1; padding: 0; background: #F0ECE4; box-shadow: none; border-radius: 0; }
html body ul.products li.nw-card .nw-media img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; }
html body ul.products li.nw-card .nw-badge { background: var(--nw-cream); color: var(--nw-charcoal); border-radius: 0; font-size: 10px; letter-spacing: 0.14em; }
html body ul.products li.nw-card .nw-card__body { padding: 0; }
html body ul.products li.nw-card .nw-card__name { margin: 16px 0 2px; font: 600 12.5px/1.5 var(--nw-sans) !important; letter-spacing: 0.12em; text-transform: uppercase; }
html body ul.products li.nw-card .nw-card__name a { font: inherit !important; letter-spacing: inherit; }
.nw-card__sub { margin: 0 0 12px; font-size: 13px; color: var(--nw-muted); }
html body ul.products li.nw-card .nw-card__btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 40px; padding: 0; box-sizing: border-box; background: transparent; border: 1px solid var(--nw-charcoal); border-radius: 0; color: var(--nw-charcoal); font: 600 11px/1 var(--nw-sans); letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
html body ul.products li.nw-card .nw-card__btn:hover { background: var(--nw-charcoal); color: var(--nw-cream); }
html body ul.products li.nw-card a.added_to_cart { display: block; margin-top: 8px; font-size: 12px; }
html body .related.products > h2, html body .nw-recent .nw-block__title { margin: 0 0 var(--s24); font: 500 14px/1.4 var(--nw-sans) !important; letter-spacing: 0.2em; text-transform: uppercase; }
.nw-mini { font-size: 12px; }
.nw-mini .nw-media { aspect-ratio: 1 / 1; padding: 0; box-shadow: none; border-radius: 0; background: #F0ECE4; }
.nw-mini .nw-media img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: normal; }
.nw-mini strong { font: 600 11.5px/1.4 var(--nw-sans); letter-spacing: 0.12em; text-transform: uppercase; }
/* sticky bar */
.nw-sticky { border-radius: 0; }
.nw-sticky__title { font: 600 11.5px/1.4 var(--nw-sans); letter-spacing: 0.12em; text-transform: uppercase; }
html body .nw-sticky__btn { border-radius: 0; height: 48px; }


/* ===== Social profiles, share, explore links ===== */
.nw-social { display: flex; gap: 12px; align-items: center; }
.nw-social a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid rgba(28, 26, 24, 0.18); color: var(--nw-charcoal); transition: background .2s, color .2s, border-color .2s; }
.nw-social a:hover { background: var(--nw-charcoal); color: var(--nw-cream); border-color: var(--nw-charcoal); }
.nw-social svg { width: 18px; height: 18px; display: block; }
.nw-social--footer a { border-color: rgba(245, 239, 228, 0.35); color: var(--nw-accent-ink, #F5EFE4); }
.nw-social--footer a:hover { background: var(--nw-gold); border-color: var(--nw-gold); color: var(--nw-black); }
.nw-footer__follow { display: block; margin: var(--s24) 0 var(--s12); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-gold); }
.h-follow { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; margin-top: 28px; font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-muted); }
.nw-share { margin-top: var(--s24); display: grid; gap: var(--s16); }
.nw-share__row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s12) var(--s16); }
.nw-share__lab { min-width: 108px; font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--nw-muted); }
.nw-share__btns { display: flex; flex-wrap: wrap; gap: var(--s8); }
.nw-share__btns a, .nw-share__btns button { display: inline-flex; align-items: center; height: 34px; padding: 0 var(--s12); box-sizing: border-box; background: transparent; border: 1px solid rgba(28, 26, 24, 0.18); border-radius: 0; color: var(--nw-charcoal); font: 500 11px/1 var(--nw-sans); letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; cursor: pointer; }
html body .nw-share__btns a:hover, html body .nw-share__btns button:hover { background: var(--nw-charcoal); color: var(--nw-cream); border-color: var(--nw-charcoal); }
.nw-explore { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s8) var(--s24); margin: var(--s64) 0 0; padding-top: var(--s24); border-top: 1px solid var(--nw-line); font: 500 12px/1.4 var(--nw-sans); letter-spacing: 0.08em; }
.nw-explore__lab { font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; color: var(--nw-muted); }
.nw-explore a { color: var(--nw-charcoal); border-bottom: 1px solid var(--nw-charcoal); padding-bottom: 2px; text-decoration: none; }
.nw-explore a:hover { color: var(--nw-gold-deep); border-color: var(--nw-gold-deep); }
.nw-empty .nw-explore { justify-content: center; border-top: 0; margin-top: var(--s24); padding-top: 0; }
html body .nw-home .h-slide__txt h2.h-title { margin: 0 0 20px; font-size: clamp(36px, 4.4vw, 64px); line-height: 1.08; }
.nw-legal .nw-social { margin: var(--s16) 0; }


/* ===== Offer strip (from Site Control EJ) ===== */
.sce-offer { background: var(--nw-gold); color: var(--nw-black); }
.sce-offer__in { max-width: 1360px; margin: 0 auto; padding: 16px max(20px, env(safe-area-inset-right, 0px)) 16px max(20px, env(safe-area-inset-left, 0px)); display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 12px 24px; }
.sce-offer__text { margin: 0; font: 600 12px/1.5 var(--nw-sans); letter-spacing: 0.16em; text-transform: uppercase; }
.sce-offer__code { padding: 6px 12px; border: 1px dashed var(--nw-black); font: 600 12px/1 var(--nw-sans); letter-spacing: 0.18em; }
html body .sce-offer__btn { display: inline-flex; align-items: center; height: 36px; padding: 0 20px; background: var(--nw-black); color: var(--nw-cream); border-radius: 0; font: 600 11px/1 var(--nw-sans); letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; }
html body .sce-offer__btn:hover { background: var(--nw-accent); }
.nw-topbar a { color: inherit; text-decoration: none; }
.nw-topbar a:hover { text-decoration: underline; text-underline-offset: 3px; }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; animation: none !important; } }

.nw-rev__title { display: block; margin-bottom: var(--s4); font-weight: 600; font-size: 15px; }

/* ===== Reviews wall: copy of the Exscentia (Loox) widget. Poppins, white cards, 8px radius, soft 3px shadow ===== */
.nw-wrap-wide { max-width: var(--nw-max); margin: 0 auto; font-family: "Poppins", sans-serif; }
.nw-revhead { display: flex; justify-content: space-between; align-items: center; gap: var(--s16); margin-bottom: 20px; padding: 0 7px; }
.nw-revsum { font: 400 16px/25px "Poppins", sans-serif; color: #282828; }
.nw-revsum summary { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; list-style: none; }
.nw-revsum summary::-webkit-details-marker { display: none; }
.nw-revsum summary::after { content: ""; width: 7px; height: 7px; margin: -3px 0 0 -2px; border-right: 2px solid #282828; border-bottom: 2px solid #282828; transform: rotate(45deg); }
.nw-revsum[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.nw-revsum .nw-hist { margin-top: 12px; min-width: 240px; font-size: 13px; }
.nw-revsum--empty { color: #73777B; }
.nw-stars { display: inline-flex; gap: 2px; }
.nw-star { display: block; width: var(--s, 14px); height: var(--s, 14px); }
.nw-star__bg { fill: #E8E8E8; }
.nw-star__fg { fill: #000; }
.nw-star--full .nw-star__bg { fill: #000; }
.nw-revtools { display: flex; gap: 8px; }
html body .nw-reviews__write, html body .nw-revfilter { display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 6px 12px; box-sizing: border-box; background: transparent; border: 1px solid #E8E8E8; border-radius: 8px; color: #000; font: 400 16px/1.2 "Poppins", sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; }
html body .nw-reviews__write:hover, html body .nw-revfilter:hover { background: #fff; color: #000; border-color: #000; }
.nw-revfilter { width: 40px; padding: 0; }
.nw-revfilter svg { width: 20px; height: 20px; fill: none; stroke: #000; stroke-width: 1.8; stroke-linecap: round; }
.nw-filterbar { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 7px 16px; }
.nw-filterbar[hidden] { display: none; }
.nw-filterbar button { height: 32px; padding: 0 12px; background: transparent; border: 1px solid #E8E8E8; border-radius: 8px; font: 400 13px "Poppins", sans-serif; cursor: pointer; color: #000; }
.nw-filterbar button.is-on { border-color: #000; }
html body .nw-wall { columns: 2; column-gap: 0; }
@media (min-width: 700px) { html body .nw-wall { columns: 3; } }
@media (min-width: 1100px) { html body .nw-wall { columns: 4; } }
html body .nw-rev { display: block; break-inside: avoid; margin: 7px; padding: 0; overflow: hidden; background: #fff; border-radius: 8px; box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); font: 400 12px/17.14px "Poppins", sans-serif; color: #000; }
.nw-rev[hidden] { display: none; }
.nw-rev__media { position: relative; background: #E8E8E8; }
.nw-rev__media img, .nw-rev__media video { display: block; width: 100%; height: auto; }
.nw-rev__ph { aspect-ratio: 9 / 16; background: #A8B8A8; }
.nw-rev__ph--video { aspect-ratio: 9 / 16; }
.nw-play { position: absolute; inset: 0; margin: auto; width: 64px; height: 64px; padding: 0; border: 3px solid #fff; border-radius: 50%; background: transparent; cursor: pointer; box-sizing: border-box; }
.nw-play::after { content: ""; position: absolute; left: 22px; top: 16px; border-style: solid; border-width: 11px 0 11px 18px; border-color: transparent transparent transparent #fff; }
.nw-rev__video.is-playing .nw-play { display: none; }
.nw-rev__box { padding: 10px 0; }
.nw-rev__name { display: flex; align-items: center; gap: 4px; padding: 0 10px; font: 700 16px/22.86px "Poppins", sans-serif; }
.nw-rev__check { flex: none; width: 14px; height: 14px; }
.nw-rev__check circle { fill: #000; }
.nw-rev__check path { fill: none; stroke: #fff; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.nw-rev__date { padding: 5px 10px 0; font-size: 11px; line-height: 15.71px; color: #73777B; }
.nw-rev__stars { padding: 10px 10px 0; }
.nw-rev__text { padding: 10px 10px 0; font-size: 14px; line-height: 19px; white-space: pre-wrap; }
.nw-rev__meta { margin-top: 8px; padding: 10px 10px 0; }
.nw-rev__lab { font-size: 11px; line-height: 15.71px; color: #A3A3A3; }
.nw-rev__val { margin-bottom: 5px; font-size: 13px; line-height: 18.57px; }
html body #review_form_wrapper #commentform { max-width: 560px; margin-top: var(--s24); }
html body #commentform label { display: block; margin: 0 0 var(--s4); font-size: 13px; font-weight: 600; }
html body #commentform input[type="text"], html body #commentform input[type="email"], html body #commentform select, html body #commentform textarea { width: 100%; padding: var(--s12) var(--s16); box-sizing: border-box; background: var(--nw-paper); border: 1px solid rgba(28, 26, 24, 0.1); border-radius: var(--nw-radius); font: 400 15px var(--nw-sans); }
html body #commentform p { margin: 0 0 var(--s16); }
html body #commentform .nw-form-note { font-size: 12px; color: var(--nw-muted); }
html body #commentform input[type="file"] { font-size: 13px; }

/* WooCommerce floats the review form; keep it inside the band */
html body .nw-reviews #review_form_wrapper, html body .nw-reviews #reviews, html body .nw-reviews #comments { float: none !important; width: 100% !important; clear: both; }
.nw-reviews::after { content: ""; display: block; clear: both; }
html body .nw-reviews #commentform { margin-bottom: 0; }

html body .nw-rev__media { display: block; width: 100%; box-sizing: border-box; }

/* ===== Homepage (Mockup 2): Exscentia layout, Phlur tiles. Emerald is the second colour. ===== */
:root { --nw-accent: #1B3A32; --nw-accent-ink: #F5EFE4; --nw-sand: #F1E9DA; --nw-tile: #F0ECE4; --hmax: 1360px; --hpad: max(20px, env(safe-area-inset-left, 0px)); --hpadr: max(20px, env(safe-area-inset-right, 0px)); }
.nw-home { width: 100vw; margin-left: calc(50% - 50vw); background: var(--nw-cream); color: var(--nw-charcoal); }
.nw-home img { display: block; max-width: 100%; }
.nw-home a { text-decoration: none; }
.h-in { max-width: var(--hmax); margin: 0 auto; padding-left: var(--hpad); padding-right: var(--hpadr); }
html body .nw-home h1, html body .nw-home h2, html body .nw-home h3 { margin: 0; font-family: var(--nw-serif) !important; font-weight: 400 !important; }
.h-cap { font: 500 11px/1.4 var(--nw-sans); letter-spacing: 0.2em; text-transform: uppercase; color: var(--nw-muted); }
.h-eyebrow { display: block; margin-bottom: 16px; color: var(--nw-gold-deep); font: 600 11px/1.4 var(--nw-sans); letter-spacing: 0.22em; text-transform: uppercase; }
.h-sec { padding-block: 72px; }
.h-sec--flush { padding-top: 0; }
.h-head { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 28px; }
html body .nw-home .h-head h2 { font: 500 14px/1.4 var(--nw-sans) !important; letter-spacing: 0.2em; text-transform: uppercase; }
.h-link { font: 500 12px/1.4 var(--nw-sans); letter-spacing: 0.08em; border-bottom: 1px solid var(--nw-charcoal); padding-bottom: 2px; color: var(--nw-charcoal); }
html body .nw-home .h-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 32px; box-sizing: border-box; border: 1px solid var(--nw-charcoal); border-radius: 0; background: transparent; color: var(--nw-charcoal); font: 600 11px/1 var(--nw-sans); letter-spacing: 0.18em; text-transform: uppercase; transition: background .25s, color .25s, border-color .25s; }
html body .nw-home .h-btn:hover { background: var(--nw-charcoal); color: var(--nw-cream); }
html body .nw-home .h-btn--gold { background: var(--nw-gold); border-color: var(--nw-gold); color: var(--nw-black); }
html body .nw-home .h-btn--gold:hover { background: var(--nw-gold-deep); border-color: var(--nw-gold-deep); color: #fff; }
html body .nw-home .h-btn--light { border-color: var(--nw-accent-ink); color: var(--nw-accent-ink); }
html body .nw-home .h-btn--light:hover { background: var(--nw-accent-ink); color: var(--nw-accent); }
.h-btn--wide { width: 100%; }
.rv.pre { opacity: 0.01; transform: translateY(2rem); }
.rv.pre.show { opacity: 1; transform: none; transition: opacity .3s cubic-bezier(.4,0,.2,1) var(--d, 0s), transform .3s cubic-bezier(.4,0,.2,1) var(--d, 0s); }

/* hero: split slideshow */
.h-hero { position: relative; display: grid; grid-template-columns: 1fr; background: var(--sand); }
.h-slide { display: none; grid-template-columns: 1fr; }
.h-slide.on { display: grid; animation: fade .7s ease; }
@keyframes fade { from { opacity: 0.2; } to { opacity: 1; } }
.h-slide__txt { padding: 48px var(--padr) 72px var(--pad); display: flex; flex-direction: column; justify-content: center; order: 2; }
.h-slide__txt h1 { font-size: clamp(36px, 4.4vw, 64px); line-height: 1.08; margin-bottom: 20px; }
.h-slide__txt p { max-width: 420px; margin-bottom: 32px; color: var(--muted); }
.h-slide__cta { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.h-slide__img { aspect-ratio: 1 / 1; order: 1; overflow: hidden; }
.h-slide__img img { width: 100%; height: 100%; object-fit: cover; }
.h-dots { position: absolute; left: var(--pad); bottom: 28px; display: flex; gap: 12px; align-items: center; font: 500 11px/1 var(--sans); letter-spacing: 0.2em; }
.h-dots button { width: 28px; height: 2px; padding: 0; border: 0; background: rgba(28, 26, 24, 0.25); }
.h-dots button.on { background: var(--ink); }
@media (min-width: 900px) {
	.h-slide { grid-template-columns: 1fr 1fr; min-height: min(78vh, 700px); }
	.h-slide__txt { order: 1; padding: 64px 64px 96px max(48px, calc((100vw - var(--max)) / 2 + var(--pad))); }
	.h-slide__img { order: 2; aspect-ratio: auto; }
	.h-dots { left: max(48px, calc((100vw - var(--max)) / 2 + var(--pad))); }
}

/* trust line */
.h-trust { border-bottom: 1px solid var(--line); }
.h-trust .h-in { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; padding-block: 20px; font: 500 11px/1.5 var(--sans); letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); text-align: center; }
@media (min-width: 800px) { .h-trust .h-in { grid-template-columns: repeat(4, 1fr); } }

/* product tiles */
.h-tiles { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 900px) { .h-tiles { grid-template-columns: repeat(4, 1fr); gap: 20px; } }
.h-tile { display: block; }
.h-tile__img { position: relative; aspect-ratio: 1 / 1; background: var(--tile); overflow: hidden; }
.h-tile__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.h-tile:hover .h-tile__img img { transform: scale(1.04); }
.h-badge { position: absolute; top: 12px; left: 12px; padding: 5px 8px; background: var(--ivory); font: 600 10px/1 var(--sans); letter-spacing: 0.14em; text-transform: uppercase; }
.h-tile__name { margin: 16px 0 2px; font: 600 12.5px/1.5 var(--sans); letter-spacing: 0.12em; text-transform: uppercase; }
.h-tile__sub { margin-bottom: 12px; font-size: 13px; color: var(--muted); }
.h-tile .h-btn { width: 100%; height: 40px; padding: 0; letter-spacing: 0.14em; }

/* spotlight */
.h-spot { display: grid; grid-template-columns: 1fr; gap: 32px; align-items: center; }
@media (min-width: 900px) { .h-spot { grid-template-columns: 1.05fr 1fr; gap: 96px; } }
.h-spot__img { aspect-ratio: 1 / 1; background: var(--tile); overflow: hidden; }
.h-spot__img img { width: 100%; height: 100%; object-fit: cover; }
.h-spot h2 { font-size: clamp(30px, 3.4vw, 44px); line-height: 1.1; margin-bottom: 12px; }
.h-spot .h-price { margin-bottom: 24px; font: 500 14px/1 var(--sans); letter-spacing: 0.12em; }
.h-spot ul { list-style: none; margin: 0 0 28px; padding: 0; display: grid; gap: 8px; color: var(--muted); font-size: 14px; }
.h-spot li::before { content: ""; display: inline-block; width: 18px; height: 1px; margin-right: 12px; vertical-align: middle; background: var(--gold); }
.h-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.h-chips span { padding: 11px 16px; border: 1px solid var(--line); font: 500 11px/1 var(--sans); letter-spacing: 0.14em; text-transform: uppercase; }
.h-chips span.on { border-color: var(--ink); }

/* statement */
.h-statement { text-align: center; }
.h-statement h2 { font-size: clamp(30px, 3.6vw, 48px); line-height: 1.15; margin-bottom: 20px; }
.h-statement p { max-width: 560px; margin: 0 auto 28px; color: var(--muted); }
.h-rule { width: 48px; height: 1px; margin: 0 auto 28px; background: var(--gold); }

/* banner */
.h-banner { background: var(--accent); color: var(--accent-ink); }
.h-banner .h-grid { display: grid; grid-template-columns: 1fr; }
.h-banner__img { aspect-ratio: 1 / 1; overflow: hidden; }
.h-banner__img img { width: 100%; height: 100%; object-fit: cover; }
.h-banner__txt { padding: 56px var(--padr) 64px var(--pad); display: flex; flex-direction: column; justify-content: center; }
.h-banner__txt h2 { font-size: clamp(32px, 3.8vw, 52px); line-height: 1.1; margin-bottom: 20px; }
.h-banner__txt p { max-width: 420px; margin-bottom: 32px; color: rgba(245, 239, 228, 0.8); }
.h-banner .h-eyebrow { color: var(--gold); }
@media (min-width: 900px) { .h-banner .h-grid { grid-template-columns: 1fr 1fr; } .h-banner__txt { padding: 64px max(48px, calc((100vw - var(--max)) / 2 + var(--pad))) 64px 96px; } .h-banner__img { aspect-ratio: auto; min-height: 560px; } }

/* categories */
.h-cats { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 800px) { .h-cats { grid-template-columns: repeat(3, 1fr); } }
.h-cat__img { aspect-ratio: 4 / 5; background: var(--tile); overflow: hidden; margin-bottom: 16px; }
.h-cat__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.h-cat:hover .h-cat__img img { transform: scale(1.04); }
.h-cat__img--soon { display: grid; place-items: center; background: var(--sand); color: var(--gold-deep); font: 400 22px/1.3 var(--serif); text-align: center; padding: 24px; }
.h-cat h3 { font: 600 12.5px/1.5 var(--sans); letter-spacing: 0.14em; text-transform: uppercase; }
.h-cat span { font-size: 13px; color: var(--muted); }


/* quote */
.h-quote { text-align: center; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.h-quote p { font: 400 clamp(28px, 4vw, 52px)/1.2 var(--serif); color: var(--gold-deep); }
.h-quote span { display: block; margin-top: 20px; }



.h-news { background: var(--nw-sand); text-align: center; }
html body .nw-home .h-slide__txt h1 { margin: 0 0 20px; }
html body .nw-home .h-slide__txt p { margin: 0 0 32px; }
html body .nw-home .h-head h2 { margin: 0; }
html body .nw-home .h-spot h2 { margin: 0 0 12px; }
html body .nw-home .h-spot .h-price { margin: 0 0 24px; }
html body .nw-home .h-spot ul { margin: 0 0 28px; padding: 0; }
html body .nw-home .h-spot li { padding: 0; }
html body .nw-home .h-statement h2 { margin: 0 0 20px; }
html body .nw-home .h-statement p { margin: 0 auto 28px; }
html body .nw-home .h-rule { margin: 0 auto 28px; }
html body .nw-home .h-banner__txt h2 { margin: 0 0 20px; }
html body .nw-home .h-banner__txt p { margin: 0 0 32px; }
html body .nw-home .h-cat h3 { margin: 0; font-family: var(--nw-sans) !important; font-weight: 600 !important; font-size: 12.5px; letter-spacing: 0.14em; text-transform: uppercase; line-height: 1.5; }
html body .nw-home .h-quote p { margin: 0; }
html body .nw-home .h-news h2 { margin: 0 0 8px; font-size: 32px; }
html body .nw-home .h-news p { margin: 0 0 24px; color: var(--nw-muted); }
html body .nw-home .h-tile__name { margin: 16px 0 2px; }
html body .nw-home .h-tile__sub { margin: 0 0 12px; }
html body .nw-home .h-slide__txt p, html body .nw-home .h-statement p, html body .nw-home .h-banner__txt p { line-height: 1.7; }

.h-revrow { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(240px, 1fr); gap: 0; overflow-x: auto; padding: 4px 0 12px; scrollbar-width: thin; }
@media (min-width: 1000px) { .h-revrow { grid-auto-columns: 25%; } }
.h-note { margin-bottom: 20px; font-size: 12px; color: var(--nw-muted); }
.h-news form, .h-news .frm-fluent-form { max-width: 520px; margin: 0 auto; }
html body .h-news form { display: flex; gap: 8px; flex-wrap: wrap; }
html body .h-news .ff-el-group, html body .h-news .ff-t-container { flex: 1; min-width: 200px; margin: 0; }
html body .h-news .ff_submit_btn_wrapper { margin: 0; }
html body .h-news input[type="email"], html body .h-news input[type="text"] { width: 100%; height: 48px; padding: 0 16px; box-sizing: border-box; border: 1px solid rgba(28, 26, 24, 0.12); border-radius: 0; background: #fff; font: 400 14px var(--nw-sans); }
html body .h-news .ff-btn-submit { height: 48px; background: var(--nw-gold) !important; color: var(--nw-black) !important; border: 1px solid var(--nw-gold) !important; border-radius: 0 !important; }

/* ===== Sitewide chrome in the second colour: announcement bar, header layout, footer ===== */
.nw-topbar { background: var(--nw-accent); color: var(--nw-accent-ink); }
.nw-topbar p { font-weight: 500; letter-spacing: 0.2em; }
@media (min-width: 900px) {
	.nw-header__inner { grid-template-columns: 1fr auto 1fr; grid-template-areas: "left logo tools" "nav nav nav"; height: auto; padding-top: 12px; row-gap: 0; }
	.nw-burger { grid-area: left; display: none; }
	.nw-logo { grid-area: logo; text-align: center; text-indent: 0.42em; font-size: 26px; color: var(--nw-gold-deep); padding: 8px 0 12px; }
	.nw-header__tools { grid-area: tools; }
	.nw-nav { grid-area: nav; border-top: 1px solid var(--nw-line); }
	.nw-nav ul { justify-content: center; gap: 36px; }
	.nw-nav li a { font-size: 11px; font-weight: 500; letter-spacing: 0.2em; display: block; padding: 14px 0; }
}
.nw-footer { background: var(--nw-accent); }

/* Mockup 2 variable names, scoped to the homepage */
.nw-home { --sand: #F1E9DA; --ink: #1C1A18; --muted: #6E675E; --gold: #C6A15B; --gold-deep: #A8843C; --tile: #F0ECE4; --ivory: #F5EFE4; --accent: #1B3A32; --accent-ink: #F5EFE4; --line: rgba(28, 26, 24, 0.12); --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; --serif: "Playfair Display", Georgia, serif; --pad: max(20px, env(safe-area-inset-left, 0px)); --padr: max(20px, env(safe-area-inset-right, 0px)); --max: 1360px; }

/* variation extras: no empty tinted box, no exact supplier stock count */
html body.single-product .woocommerce-variation-description:empty, html body.single-product .woocommerce-variation-description:has(> p:empty:only-child) { display: none; }
html body.single-product .woocommerce-variation-availability { display: none; }

html body .nw-home .h-slide__txt p.h-slide__price { margin: 0 0 20px; font: 500 14px/1.4 var(--nw-sans); letter-spacing: 0.12em; color: var(--nw-charcoal); }

html body .nw-home .h-banner__txt p.h-band__price { margin: 0 0 12px; font: 500 14px/1.4 var(--nw-sans); letter-spacing: 0.12em; color: var(--nw-accent-ink); }

/* banner heading and text on the emerald band: light, not charcoal */
html body .nw-home .h-banner__txt h2 { color: var(--nw-accent-ink); }
html body .nw-home .h-banner__txt p { color: rgba(245, 239, 228, 0.85); }
html body .nw-home .h-banner__txt p.h-band__price { color: var(--nw-accent-ink); }

/* Store-wide reviews block on product pages without their own reviews */
.nw-storehead { margin: 0 0 20px; text-align: center; }
.nw-storehead h2 { margin: 0 0 8px; }
.nw-storehead p { margin: 0; font-size: 14px; color: var(--nw-muted); }
.nw-storehead a, .nw-rev__val a { color: inherit; text-decoration: underline; }

/* Which product a store-wide review is for: name left, small product photo bottom right */
.nw-rev__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; padding: 0 10px; }
.nw-rev__foot .nw-rev__meta { margin: 0; padding: 8px 0 0; min-width: 0; }
.nw-rev__thumb { flex: none; display: block; width: var(--nwt, 64px); height: var(--nwt, 64px); overflow: hidden; border-radius: 6px; background: #E8E8E8; }
.nw-rev__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* Blog cards: home (6), product pages (3), What is Perfumery? page */
.nw-blog { padding: 56px 0; }
.nw-blog__in { max-width: 1200px; margin: 0 auto; padding: 0 24px; }
.nw-blog h2 { margin: 0 0 8px; text-align: center; font-family: var(--nw-serif); font-weight: 400; }
.nw-blog__sub { margin: 0 0 28px; text-align: center; color: var(--nw-muted); }
.nw-blogrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px 24px; }
@media (max-width: 800px) { .nw-blogrid { grid-template-columns: 1fr; } }
.nw-bcard a { display: block; color: inherit; text-decoration: none; }
.nw-bcard__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--nw-paper); }
.nw-bcard__img img, .nw-bcard__ph { display: block; width: 100%; height: 100%; object-fit: cover; }
.nw-bcard__date { display: block; margin: 12px 0 4px; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--nw-muted); }
.nw-bcard h3 { margin: 0 0 8px; font: 400 21px/1.3 var(--nw-serif); }
.nw-bcard__txt { display: block; font-size: 14px; line-height: 1.6; color: var(--nw-muted); }
.nw-bcard a:hover h3 { text-decoration: underline; }
.nw-blog__all { margin: 28px 0 0; text-align: center; }
.nw-blog__all a { color: inherit; text-decoration: underline; }
.nw-blog__pages { display: flex; justify-content: center; gap: 12px; margin-top: 32px; }
.nw-blog__pages span { font-weight: 700; }
