/* NF-UX-CONTENT-CORRECTION-STAGING-V1 — focused customer-experience layer. */

:root { --nf-experience-shell: 1600px; }

.nf-shell { width: min(var(--nf-experience-shell), 94vw); }

/* Clear, owner-controlled account access. */
.nf-account-link {
	display: inline-flex;
	min-height: 2.75rem;
	align-items: center;
	gap: .55rem;
	padding: .55rem .8rem;
	border: 1px solid var(--nf-premium-line);
	border-radius: .7rem;
	color: var(--nf-graphite);
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .035em;
}
.nf-account-link:hover { border-color: var(--nf-cobalt); background: var(--nf-cobalt); color: #fff; }
.nf-account-link svg { width: 1.12rem; fill: none; stroke: currentcolor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.nf-header.is-scrolled .nf-account-link { border-color: rgb(255 255 255 / 18%); background: rgb(255 255 255 / 7%); color: #fff; }
.nf-nav__account-mobile { display: none; }

/* Product-first grids with stable image stages and quieter controls. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.nf-latest ul.products,
.nf-soft-checkout .woocommerce ul.products,
.nf-soft-checkout .woocommerce-page ul.products,
.nf-soft-checkout .nf-latest ul.products,
body:not(.nf-catalogue-mode) .woocommerce ul.products,
body:not(.nf-catalogue-mode) .woocommerce-page ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 1.55vw, 1.55rem);
	align-items: stretch;
}
.woocommerce ul.products li.product.nf-product-card { height: auto; border-radius: 1rem; }
.nf-product-card__media { aspect-ratio: 1; padding: .8rem; background: #fff; }
.woocommerce ul.products li.product .nf-product-card__image,
.woocommerce-page ul.products li.product .nf-product-card__image {
	width: 100%;
	height: 100%;
	background: transparent;
	object-fit: contain;
	object-position: center;
	transform: scale(var(--nf-card-media-scale, 1));
	transform-origin: center;
}
.nf-card-gallery__controls { min-height: 3rem; grid-template-columns: 2.75rem 1fr 2.75rem; }
.nf-card-gallery__button { min-width: 2.75rem; min-height: 2.75rem; }
.nf-product-card__body { min-height: 12rem; grid-template-rows: auto auto auto auto 1fr; }
.nf-stock-quantity { margin: .62rem 0 0; color: #486056; font-size: .68rem; font-weight: 700; }
.nf-product-card__cart { align-self: end; }

/* Category discovery without decorative numbering. */
.nf-catalogue-head .nf-kicker,
.nf-category-rail__item.is-current :is(.nf-category-rail__count, .nf-category-rail__arrow) { color: #b0c2ff; }
.nf-category-rail__item { grid-template-columns: minmax(0, 1fr) auto; }
.nf-category-rail__name { grid-column: 1; align-self: center; margin: 0; padding-inline-end: 1.6rem; }
.nf-category-rail__count { grid-column: 2; align-self: start; }
.nf-category-rail__arrow { bottom: .55rem; }
.nf-area-card__copy { grid-template-columns: 1fr auto; }
.nf-area-card__copy h3 { grid-column: 1; }

/* Account and FAQ use compact, page-specific introductions. */
.nf-account-hero,
.nf-faq-hero,
.nf-commerce-hero { padding-block: clamp(3.2rem, 6vw, 5.6rem); background: var(--nf-graphite); color: #fff; }
.nf-account-hero__inner,
.nf-faq-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.nf-account-hero h1,
.nf-faq-hero h1 { margin: .5rem 0 0; font-size: clamp(3rem, 5.3vw, 5.6rem); letter-spacing: -.065em; line-height: .92; }
.nf-account-hero__inner > p,
.nf-faq-hero__inner > p { max-width: 540px; margin: 0; color: rgb(255 255 255 / 66%); }
.nf-account-content,
.nf-faq-content { background: var(--nf-premium-surface); }
.nf-commerce-hero h1 { margin: .35rem 0 0; font-size: clamp(2.8rem, 4.8vw, 4.8rem); letter-spacing: -.06em; line-height: .94; }
.nf-commerce-page-content { padding-block: clamp(2.4rem, 5vw, 4.8rem); background: #fff; }
.nf-commerce-page-content > .nf-shell { max-width: 1320px; }

.nf-faq { max-width: 1180px; margin-inline: auto; border-top: 1px solid var(--nf-premium-line); }
.nf-faq__item { margin: 0; border: 0; border-bottom: 1px solid var(--nf-premium-line); background: transparent; }
.nf-faq__item h2 { margin: 0; }
.nf-faq__item h2 button {
	display: grid;
	width: 100%;
	min-height: 4.5rem;
	grid-template-columns: minmax(0, 1fr) 1.4rem;
	align-items: center;
	gap: 1rem;
	padding: 1.15rem 0;
	border: 0;
	background: transparent;
	color: var(--nf-graphite);
	font-weight: 750;
	line-height: 1.4;
	text-align: start;
}
.nf-faq__item h2 button:hover { color: var(--nf-cobalt); }
.nf-faq__item h2 button[aria-expanded="true"] { color: var(--nf-graphite); }
.nf-faq__item h2 button[aria-expanded="true"] i { color: var(--nf-cobalt); }
.nf-faq__item h2 button i { position: relative; display: block; width: 1.2rem; height: 1.2rem; justify-self: end; }
.nf-faq__item h2 button i::before,
.nf-faq__item h2 button i::after { position: absolute; top: 50%; left: 50%; width: .9rem; height: 2px; background: currentcolor; content: ""; transform: translate(-50%, -50%); }
.nf-faq__item h2 button i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 150ms ease; }
.nf-faq__item h2 button[aria-expanded="true"] i::after { transform: translate(-50%, -50%); }
.nf-faq__answer { padding: 0 0 1.35rem; border: 0; background: transparent; }
.nf-faq__answer p { max-width: 900px; margin: 0; color: var(--nf-premium-muted); }
.nf-faq [data-nf-faq-button]:disabled { cursor: default; opacity: 1; }
.nf-faq [data-nf-faq-button]:disabled i { visibility: hidden; }

.nf-account-content > .nf-shell { max-width: 1180px; }
.nf-account-content .u-columns.col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.nf-account-content .u-columns.col2-set::before,
.nf-account-content .u-columns.col2-set::after { display: none; content: none; }
.nf-account-content .u-column1,
.nf-account-content .u-column2,
.nf-account-content .woocommerce-MyAccount-navigation,
.nf-account-content .woocommerce-MyAccount-content { padding: clamp(1.25rem, 2.8vw, 2rem); border: 1px solid var(--nf-premium-line); border-radius: 1rem; background: #fff; }
.nf-account-content .u-columns.col2-set > .u-column1,
.nf-account-content .u-columns.col2-set > .u-column2 {
	float: none;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
}
.nf-account-content .woocommerce-form { margin: 0; padding: 0; border: 0; }
.nf-account-content input[type="text"],
.nf-account-content input[type="email"],
.nf-account-content input[type="password"] { min-height: 3.2rem; border: 1px solid var(--nf-premium-line); border-radius: .55rem; }
.nf-account-content .button { min-height: 3rem; border-color: var(--nf-cobalt) !important; border-radius: .55rem !important; background: var(--nf-cobalt) !important; color: #fff !important; }
.nf-account-content .woocommerce-MyAccount-navigation { float: inline-start; width: 27%; }
.nf-account-content .woocommerce-MyAccount-content { float: inline-end; width: 70%; min-height: 280px; }
.nf-account-content .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.nf-account-content .woocommerce-MyAccount-navigation a { display: block; padding: .75rem 0; border-bottom: 1px solid var(--nf-premium-line); }

/* Policies read as a clear customer centre; review state stays in admin. */
.nf-policy-card h2 { margin-top: 0; }
.nf-policy-toggle[hidden] { display: none; }
.nf-footer__legal h2 a { color: inherit; }
.nf-policy-review-hero { overflow: clip; }
.nf-policy-review-hero::before,
.nf-policy-review-hero::after { content: none; }
.nf-policy-review-hero__grid { grid-template-columns: minmax(0, 1fr); }
.nf-policy-review-hero__grid > div { min-width: 0; }
.nf-policy-review-hero h1,
.nf-policy-reading--public :where(h1, h2, h3) { max-width: 100%; overflow-wrap: break-word; }
.nf-policy-reading--public > h1:first-of-type { display: none; }
.nf-policy-card__meta { display: flex; }
.nf-policy-card__meta b { color: var(--nf-graphite); }

/* The three approved public channels share one predictable component. */
.nf-contact-channels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nf-contact-channels--footer { grid-template-columns: 1fr; }
.nf-instagram-icon { fill: none; stroke: currentcolor; stroke-width: 1.65; }

/* Keep product and shipping totals visually distinct. */
.woocommerce-cart .woocommerce-cart-form { margin-bottom: 1.5rem; }
.woocommerce .cart_totals tr.cart-subtotal > *,
.woocommerce .cart_totals tr.woocommerce-shipping-totals > *,
.woocommerce .cart_totals tr.order-total > *,
.woocommerce-checkout-review-order-table tr.cart-subtotal > *,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > *,
.woocommerce-checkout-review-order-table tr.order-total > * { padding-block: .9rem; border-top: 1px solid var(--nf-premium-line); }
.woocommerce .cart_totals tr.woocommerce-shipping-totals,
.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals { background: #f5f7ff; }

/* Checkout fields keep a complete RTL reading order and textual error state. */
.woocommerce-checkout form.checkout .form-row,
.woocommerce-checkout form.checkout .form-row :where(input, select, textarea),
.woocommerce-checkout form.checkout .select2-container { box-sizing: border-box; max-width: 100%; }
.woocommerce-checkout form.checkout .select2-container { width: 100% !important; }
.woocommerce-checkout form.checkout .select2-selection--single { min-height: 3.1rem; }
.woocommerce-checkout form.checkout .select2-selection--single .select2-selection__rendered { padding-block: .72rem; line-height: 1.5; }
.woocommerce-checkout form.checkout .form-row [id$="_description"],
.woocommerce-checkout form.checkout .nf-field-error { display: block; margin-top: .45rem; color: #9b1c1c; font-size: .78rem; font-weight: 650; line-height: 1.45; }
.woocommerce-checkout form.checkout .nf-field-error[hidden] { display: none; }
html[dir="rtl"] .woocommerce-checkout form.checkout .form-row,
html[dir="rtl"] .woocommerce-checkout .select2-results__option,
html[dir="rtl"] .woocommerce-checkout .select2-search__field { direction: rtl; text-align: right; }
html[dir="rtl"] .woocommerce-checkout .select2-selection__rendered { padding-right: .85rem; padding-left: 2.3rem; text-align: right; }

/* Keep controls from selecting their chrome while leaving customer copy readable and selectable. */
.nf-brand,
.nf-nav,
.nf-kicker,
.nf-product-card,
.nf-area-card,
.nf-category-rail,
.nf-button,
.nf-card-gallery__controls { -webkit-user-select: none; user-select: none; }
img[data-nf-protected-media="1"] { -webkit-touch-callout: none; -webkit-user-drag: none; user-select: none; }

@media (max-width: 1180px) {
	.nf-account-link span { display: none; }
	.nf-account-link { width: 2.75rem; justify-content: center; padding: 0; border-radius: 50%; }
}

@media (max-width: 959px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.nf-latest ul.products,
	.nf-soft-checkout .woocommerce ul.products,
	.nf-soft-checkout .woocommerce-page ul.products,
	.nf-soft-checkout .nf-latest ul.products,
	body:not(.nf-catalogue-mode) .woocommerce ul.products,
	body:not(.nf-catalogue-mode) .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
	.nf-shell { width: calc(100% - 2rem); }
	.nf-account-hero__inner,
	.nf-faq-hero__inner { grid-template-columns: 1fr; gap: 1rem; }
	.nf-account-content .u-columns.col2-set { grid-template-columns: 1fr; }
	.nf-account-content .woocommerce-MyAccount-navigation,
	.nf-account-content .woocommerce-MyAccount-content { float: none; width: 100%; }
	.nf-nav__account-mobile { display: list-item; }
	.nf-icon-link,
	.nf-menu-toggle { width: 2.75rem; height: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; }
	.nf-nav__mobile-utility .nf-language a { display: inline-flex; min-width: 2.75rem; min-height: 2.75rem; align-items: center; justify-content: center; }
}

@media (max-width: 640px) {
	/* FlexSlider's translated track is vulnerable to off-canvas RTL/mobile
	 * compositing. Keep its native active-slide state, but render that state
	 * directly so the primary image remains visible and swipe/thumbnail controls
	 * continue to drive the same WooCommerce gallery. */
	.woocommerce-product-gallery .flex-viewport {
		height: auto !important;
		overflow: hidden;
	}
	.woocommerce-product-gallery .woocommerce-product-gallery__wrapper {
		display: block !important;
		width: 100% !important;
		transform: none !important;
	}
	.woocommerce-product-gallery .woocommerce-product-gallery__image {
		display: none !important;
		float: none !important;
		width: 100% !important;
		margin: 0 !important;
	}
	.woocommerce-product-gallery .woocommerce-product-gallery__image.flex-active-slide {
		display: grid !important;
	}
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.nf-latest ul.products,
	.nf-soft-checkout .woocommerce ul.products,
	.nf-soft-checkout .woocommerce-page ul.products,
	.nf-soft-checkout .nf-latest ul.products,
	body:not(.nf-catalogue-mode) .woocommerce ul.products,
	body:not(.nf-catalogue-mode) .woocommerce-page ul.products { grid-template-columns: 1fr; gap: 1rem; }
	.nf-product-card__media { aspect-ratio: 1; padding: .35rem; }
	.nf-product-card__body { min-height: 0; }
	.nf-contact-channels { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
	.nf-shell { width: calc(100% - 1.5rem); }
	.nf-header__utility { gap: .45rem; }
	.nf-header__utility > .nf-language { display: none; }
	.nf-account-link { width: 2.75rem; min-height: 2.75rem; }
	.nf-account-hero,
	.nf-faq-hero { padding-block: 2.8rem; }
	.nf-account-hero h1,
	.nf-faq-hero h1 { font-size: clamp(2.65rem, 14vw, 3.65rem); }
	.nf-faq__item h2 button { min-height: 4.25rem; padding: .95rem 0; font-size: .94rem; }
	.nf-faq__answer { padding: 0 0 1.1rem; }
}

html[dir="rtl"] .nf-account-link,
html[dir="rtl"] .nf-faq__item h2 button { letter-spacing: 0; }

/* NF-PREMIUM-CUSTOMER-EXPERIENCE-V3 — restrained, product-first storefront. */
:root {
	--nf-experience-shell: 1480px;
	--nf-page-gutter: clamp(1.25rem, 4vw, 4.5rem);
	--nf-stage: #f1f2f4;
	--nf-stage-soft: #f6f7f8;
	--nf-product-media-stage: #e6e3e1;
	--nf-radius-card: 1.15rem;
}

/* Private-launch gate: finished brand presentation with approved contact paths. */
body.nf-gate-page {
	min-height: 100vh;
	margin: 0;
	background: var(--nf-graphite);
	color: #fff;
}
.nf-gate-language {
	position: absolute;
	z-index: 2;
	top: clamp(1.25rem, 3vw, 2.5rem);
	inset-inline-end: clamp(1.25rem, 4vw, 4rem);
	display: flex;
	align-items: center;
	gap: .55rem;
	font-size: .78rem;
	font-weight: 750;
}
.nf-gate-language a { color: rgb(255 255 255 / 65%); }
.nf-gate-language a[aria-current="page"] { color: #fff; }
.nf-gate-main {
	position: relative;
	z-index: 1;
	display: grid;
	min-height: 100vh;
	padding: clamp(5rem, 10vw, 9rem) var(--nf-page-gutter, 2rem);
	place-items: center;
}
.nf-gate-main__inner { width: min(62rem, 100%); }
.nf-gate-main h1 {
	max-width: 58rem;
	margin: 1rem 0 1.5rem;
	font-size: clamp(3.2rem, 8vw, 7.8rem);
	letter-spacing: -.07em;
	line-height: .9;
}
html[dir="rtl"] .nf-gate-main h1 { max-width: 54rem; letter-spacing: 0; line-height: 1.12; }
.nf-gate-main__intro { max-width: 42rem; margin: 0; color: rgb(255 255 255 / 68%); font-size: clamp(1rem, 1.8vw, 1.25rem); }
.nf-gate-contact { margin-top: clamp(3rem, 7vw, 5.5rem); padding-top: 1.4rem; border-top: 1px solid rgb(255 255 255 / 16%); }
.nf-gate-contact h2 { margin: 0 0 1rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
html[dir="rtl"] .nf-gate-contact h2 { letter-spacing: 0; }
.nf-gate-contact .nf-contact-channels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nf-gate-contact .nf-contact-channels a { min-height: 5rem; border-color: rgb(255 255 255 / 16%); background: rgb(255 255 255 / 5%); color: #fff; }
.nf-gate-contact .nf-contact-channels a:hover { border-color: #8aa5ff; background: rgb(1 62 253 / 18%); }
.nf-gate-contact .nf-contact-channels small { color: rgb(255 255 255 / 58%); }
@media (max-width: 700px) {
	.nf-gate-main { padding-inline: 1.2rem; }
	.nf-gate-main h1 { font-size: clamp(3rem, 15vw, 4.8rem); }
	.nf-gate-contact .nf-contact-channels { grid-template-columns: 1fr; }
}

.nf-shell { width: min(var(--nf-experience-shell), calc(100% - (2 * var(--nf-page-gutter)))); }
.nf-section { padding-block: clamp(3.5rem, 5.5vw, 5.75rem); }
.nf-section-heading { margin-bottom: clamp(1.75rem, 2.8vw, 2.75rem); }
.nf-section-heading h2 { max-width: 760px; font-size: clamp(2.25rem, 4.2vw, 4.4rem); letter-spacing: -.055em; line-height: .98; }
html[dir="rtl"] .nf-section-heading h2 { letter-spacing: 0; line-height: 1.15; }

/* A quiet, durable header without an internal-status strip. */
.nf-header { border-bottom: 1px solid rgb(13 19 28 / 8%); background: rgb(255 255 255 / 94%); backdrop-filter: blur(18px); }
.nf-header__inner { min-height: 4.85rem; }
.nf-brand__wordmark { font-size: 1.02rem; letter-spacing: .14em; }
.nf-nav__list { gap: clamp(.75rem, 1.7vw, 1.55rem); }
.nf-nav__list a { color: #46505d; font-size: .875rem; letter-spacing: .01em; }
.nf-nav__list a:hover,
.nf-nav__list a.is-current { color: var(--nf-graphite); }
.nf-nav__list a.is-current::after { background: var(--nf-cobalt); }
.nf-account-link { min-height: 2.75rem; border-color: rgb(13 19 28 / 12%); background: #fff; }
.nf-account-link span { display: inline; }
.nf-header__utility .nf-language { font-size: .8125rem; }
.nf-header__utility .nf-language a { display: inline-flex; min-height: 2.75rem; align-items: center; }
.nf-header__utility .nf-language span { color: #737b86; }
.nf-header.is-scrolled .nf-language span { color: #a9b2c0; }
.nf-header:not(.is-scrolled) .nf-menu-toggle { border-color: rgb(13 19 28 / 18%); }
.nf-header .nf-nav__list .current-menu-item > a { color: var(--nf-graphite); }
.nf-header.is-scrolled .nf-nav__list a:hover,
.nf-header.is-scrolled .nf-nav__list .current-menu-item > a { color: #fff; }

/* Home remains expressive while its shopping surfaces stay disciplined. */
.nf-hero { min-height: min(780px, calc(100svh - 4.85rem)); padding-block: clamp(4rem, 7vw, 7rem); }
.nf-hero__inner { gap: clamp(3rem, 6vw, 6rem); }
.nf-hero h1 { max-width: 760px; font-size: clamp(4rem, 7.4vw, 7.6rem); letter-spacing: -.045em; }
html[dir="rtl"] .nf-hero h1 { letter-spacing: 0; }
.nf-hero__intro { max-width: 620px; font-size: clamp(1rem, 1.25vw, 1.15rem); }
.nf-hero-product {
	overflow: visible;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #fff;
}
.nf-hero-product__stage {
	aspect-ratio: auto;
	padding: 0;
	background: transparent;
	box-shadow: none;
}
.nf-hero-product__stage img {
	display: block;
	width: 100%;
	height: auto;
	padding: 0;
	object-fit: contain;
	box-shadow: none;
	filter: none;
}
.nf-hero-product__meta {
	padding: 1rem 0 0;
	border: 0;
	background: transparent;
	color: #fff;
}
.nf-hero-product__meta span { color: rgb(255 255 255 / 58%); }
.nf-hero-product__meta i { color: #8aa5ff; }

/* Five equal category doors: no arbitrary oversized second row. */
.nf-area-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(.85rem, 1.3vw, 1.25rem);
}
.nf-area-card,
.nf-area-card:nth-child(4),
.nf-area-card:nth-child(5) {
	display: grid;
	grid-column: auto;
	grid-template-rows: auto 1fr;
	min-width: 0;
	border: 1px solid rgb(13 19 28 / 8%);
	border-radius: var(--nf-radius-card);
	background: #fff;
	box-shadow: none;
}
.nf-area-card__image {
	aspect-ratio: 1 / 1;
	padding: .75rem;
	background: #fff;
}
.nf-area-card__image img { width: 100%; height: 100%; object-fit: contain; box-shadow: none; filter: none; }
.nf-area-card__copy { min-height: 5.4rem; align-content: center; padding: 1rem 1.05rem; }
.nf-area-card__copy h3 { font-size: clamp(.84rem, 1vw, .98rem); line-height: 1.35; }
.nf-area-card__copy i { display: grid; width: 2.1rem; height: 2.1rem; border-radius: 50%; background: #eef2ff; place-items: center; }
.nf-area-card:hover { border-color: rgb(13 19 28 / 14%); transform: translateY(-2px); box-shadow: none; }
.nf-area-card:hover .nf-area-card__image img { transform: scale(1.01); }

/* Product grids: equal stages, readable cards and controls that never cover media. */
.woocommerce ul.products,
.woocommerce-page ul.products,
.nf-latest ul.products,
.nf-soft-checkout .woocommerce ul.products,
.nf-soft-checkout .woocommerce-page ul.products,
.nf-soft-checkout .nf-latest ul.products,
body:not(.nf-catalogue-mode) .woocommerce ul.products,
body:not(.nf-catalogue-mode) .woocommerce-page ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.1rem, 1.65vw, 1.7rem);
}
.woocommerce ul.products li.product.nf-product-card {
	border: 1px solid rgb(13 19 28 / 8%) !important;
	border-radius: var(--nf-radius-card);
	box-shadow: none;
}
.woocommerce ul.products li.product.nf-product-card:hover { transform: translateY(-2px); box-shadow: none; }
.nf-product-card__media {
	display: grid;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	aspect-ratio: 1 / 1;
	padding: clamp(.65rem, 1.15vw, .9rem);
	overflow: hidden;
	border: 0;
	background: var(--nf-product-media-stage);
	box-shadow: none;
	place-items: center;
}
.nf-product-card__image-link {
	display: grid;
	width: 100%;
	height: 100%;
	overflow: hidden;
	border: 0;
	background: transparent;
	box-shadow: none;
	place-items: center;
}
.woocommerce ul.products li.product .nf-product-card__image,
.woocommerce-page ul.products li.product .nf-product-card__image {
	width: 100%;
	height: 100%;
	max-width: 100%;
	max-height: 100%;
	margin: 0;
	border: 0;
	background: transparent;
	object-fit: contain;
	object-position: center;
	transform: none;
	transition: none;
	box-shadow: none;
	filter: none;
}
.nf-card-gallery__controls {
	position: relative;
	display: grid;
	min-height: 3.15rem;
	grid-template-columns: 3.15rem 1fr 3.15rem;
	padding: 0;
	border-top: 1px solid rgb(13 19 28 / 8%);
	border-bottom: 0;
	background: #fff;
}
.nf-card-gallery__controls[hidden] { display: none; }
.nf-card-gallery__button {
	display: grid;
	min-width: 3.15rem;
	min-height: 3.15rem;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--nf-graphite);
	place-items: center;
}
.nf-card-gallery__button:hover { background: #eef2ff; color: var(--nf-cobalt); }
.nf-card-gallery__button:first-child { border-inline-end: 1px solid rgb(13 19 28 / 8%); }
.nf-card-gallery__button:last-child { border-inline-start: 1px solid rgb(13 19 28 / 8%); }
.nf-card-gallery__button span { font-size: 1.45rem; line-height: 1; }
.nf-card-gallery__position { align-self: center; color: #58616e; font-size: .75rem; font-weight: 750; letter-spacing: .04em; text-align: center; }
.nf-product-card__body { min-height: 10.8rem; flex: 1 0 auto; grid-template-rows: auto auto 1fr auto; padding: 1.15rem 1.15rem 1.25rem; }
.nf-product-card__category { margin-bottom: .55rem; color: #59616d; font-size: .75rem; line-height: 1.45; }
.woocommerce ul.products li.product .nf-product-card__body .woocommerce-loop-product__title { min-height: 2.65em; font-size: 1.02rem; line-height: 1.32; }
.nf-product-card__meta { margin-top: .95rem; }
.woocommerce ul.products li.product .nf-product-card__body .price { font-size: 1rem; }
.nf-product-card__details { min-height: 2.75rem; border-color: rgb(13 19 28 / 16%); font-size: .75rem; }
.nf-product-card .nf-stock-quantity { display: none; }
.nf-product-card__cart { margin-top: .75rem; }
.woocommerce ul.products li.product .nf-product-card__cart .button { min-height: 2.9rem; border-radius: .65rem; }

/* Product media uses one continuous warm-neutral stage; source art is not boxed twice. */
.woocommerce div.product div.images .flex-viewport,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	border: 0;
	border-radius: 0;
	background: var(--nf-product-media-stage);
	box-shadow: none;
}
.woocommerce div.product div.images .woocommerce-product-gallery__image,
.woocommerce div.product div.images .woocommerce-product-gallery__image > a {
	padding: 0;
	background: var(--nf-product-media-stage);
}
.woocommerce div.product div.images .woocommerce-product-gallery__image > a { overflow: hidden; border: 0; border-radius: 0; box-shadow: none; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	object-position: center;
	box-shadow: none;
	filter: none;
}
.woocommerce div.product div.images .flex-control-thumbs { gap: .65rem; margin-top: .75rem; }
.woocommerce div.product div.images .flex-control-thumbs li { overflow: visible; border: 0; border-radius: 0; background: var(--nf-product-media-stage); box-shadow: none; }
.woocommerce div.product div.images .flex-control-thumbs img {
	padding: .25rem 0 .45rem;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: var(--nf-product-media-stage);
	object-fit: contain;
	box-shadow: none;
	filter: none;
}
.woocommerce div.product div.images .flex-control-thumbs img.flex-active,
.woocommerce div.product div.images .flex-control-thumbs img[aria-pressed="true"] { border-color: var(--nf-cobalt); opacity: 1; }
.nf-product-card__media::before,
.nf-product-card__media::after,
.nf-product-card__image-link::before,
.nf-product-card__image-link::after,
.woocommerce-product-gallery__image::before,
.woocommerce-product-gallery__image::after { display: none; content: none; }
.nf-single-gallery__controls { margin-top: .75rem; border: 1px solid rgb(13 19 28 / 9%); border-radius: .75rem; background: #fff; }
.nf-single-gallery__controls button { min-width: 3rem; min-height: 3rem; }

/* Product names and the purchase row need room to read, especially model codes. */
.woocommerce div.product .product_title {
	font-size: clamp(2.125rem, 3.8vw, 3.75rem);
	letter-spacing: -.035em;
	line-height: 1.08;
	overflow-wrap: break-word;
}
html[dir="rtl"] .woocommerce div.product .product_title { letter-spacing: 0; line-height: 1.25; }
.woocommerce div.product .summary form.cart:not(.variations_form):not(.grouped_form),
.woocommerce div.product .summary .woocommerce-variation-add-to-cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .75rem;
}
.woocommerce div.product .summary form.cart::before,
.woocommerce div.product .summary form.cart::after { content: none; }
.woocommerce div.product .summary form.cart div.quantity {
	float: none;
	width: 3.375rem;
	margin: 0;
	flex: 0 0 3.375rem;
}
.woocommerce div.product .summary form.cart .quantity .qty {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.25rem;
	padding: .6rem .25rem;
	border: 1px solid #b8c1cf;
	border-radius: .65rem;
	background: #fff;
	color: var(--nf-graphite);
	font-size: 1rem;
	line-height: 1.5;
}
.woocommerce div.product .summary form.cart .single_add_to_cart_button {
	display: inline-flex;
	float: none;
	width: 12rem;
	max-width: 100%;
	min-height: 3.25rem;
	align-items: center;
	justify-content: center;
	padding: .85rem 1.25rem;
	margin: 0;
	border-radius: .65rem;
	font-size: .9375rem;
	font-weight: 750;
	line-height: 1.4;
	text-align: center;
}
.nf-product-glance dl > div:last-child:nth-child(odd) { grid-column: 1 / -1; }

/* The cart uses one outer card and touch-sized item controls. */
.woocommerce-cart .woocommerce-cart-form table.shop_table { margin: 0; border: 0; border-radius: 0; }
.woocommerce-cart .cart_totals table.shop_table { border: 0; border-radius: 0; }
.woocommerce-cart .woocommerce table.cart .product-thumbnail { width: 6rem; }
.woocommerce-cart .woocommerce table.cart .product-thumbnail img {
	display: block;
	width: 4.5rem;
	max-width: none;
	height: 4.5rem;
	border-radius: .4rem;
	object-fit: contain;
}
.woocommerce-cart .woocommerce table.cart .product-name a { color: var(--nf-graphite); font-weight: 650; }
.woocommerce-cart .woocommerce table.cart .quantity .qty {
	box-sizing: border-box;
	width: 3.75rem;
	min-height: 2.75rem;
	padding: .45rem .3rem;
	border: 1px solid #b8c1cf;
	border-radius: .55rem;
	background: #fff;
	color: var(--nf-graphite);
	font-size: 1rem;
}
.woocommerce-cart .woocommerce table.cart a.remove {
	display: inline-flex;
	width: 2.75rem;
	height: 2.75rem;
	align-items: center;
	justify-content: center;
	border: 1px solid #dbe0e7;
	border-radius: 50%;
	background: transparent;
	color: #667085 !important;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
}
.woocommerce-cart .woocommerce table.cart a.remove:hover { border-color: #f0b9b4; background: #fff0ee; color: #b42318 !important; }
.woocommerce-cart .woocommerce-cart-form .button { min-height: 2.75rem; border-radius: .55rem; }

/* Billing and optional shipping share a readable column in classic checkout. */
.woocommerce-checkout form.checkout { display: flow-root; }
.woocommerce-checkout form.checkout #customer_details,
.woocommerce-checkout form.checkout #order_review,
.woocommerce-checkout form.checkout #order_review_heading { box-sizing: border-box; min-width: 0; }
.woocommerce-checkout form.checkout #customer_details { display: flow-root; width: 100%; }
.woocommerce-checkout form.checkout #order_review { display: flow-root; }
.woocommerce-checkout form.checkout #customer_details::before,
.woocommerce-checkout form.checkout #customer_details::after { content: none; }
.woocommerce-checkout form.checkout #customer_details > .col-1,
.woocommerce-checkout form.checkout #customer_details > .col-2 { float: none; width: 100%; }
.woocommerce-checkout form.checkout #customer_details > .col-2 { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--nf-premium-line); }
.woocommerce-checkout form.checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout form.checkout #order_review_heading { font-size: 1.25rem; line-height: 1.4; }
.woocommerce-checkout form.checkout .woocommerce-billing-fields > h3 { margin: 0 0 1.25rem; }
.woocommerce-checkout form.checkout #order_review_heading { margin: 2rem 0 .9rem; }
.woocommerce-checkout form.checkout #ship-to-different-address { margin: 0; font-size: 1rem; line-height: 1.5; }
.woocommerce-checkout form.checkout #ship-to-different-address label { display: flex; min-height: 2.75rem; align-items: center; gap: .65rem; cursor: pointer; }
.woocommerce-checkout form.checkout #ship-to-different-address input { width: 1.2rem; height: 1.2rem; margin: 0; flex: 0 0 1.2rem; }
.woocommerce-checkout form.checkout #customer_details .shipping_address { margin-top: 1rem; }
.woocommerce-checkout form.checkout #customer_details :is(input.input-text, textarea, select) { min-height: 3rem; padding: .65rem .8rem; border-radius: .55rem; font-size: 1rem; }
.woocommerce-checkout form.checkout #customer_details .form-row { margin-bottom: 1rem; }
.woocommerce-checkout form.checkout #customer_details .form-row label { margin-bottom: .35rem; font-size: .875rem; line-height: 1.5; }
.woocommerce-checkout form.checkout #order_review table.shop_table { width: 100%; border: 0; border-radius: 0; }
.woocommerce-checkout form.checkout #order_review table.shop_table .product-name { overflow-wrap: break-word; }
.woocommerce-checkout form.checkout #order_review table.shop_table .product-total { white-space: nowrap; }
.woocommerce-checkout form.checkout #place_order { border-radius: .65rem; }

/* Related products retain the shared card, but never inherit compressed widths. */
.woocommerce div.product .related {
	clear: both;
	width: 100%;
	min-width: 0;
}
.woocommerce div.product .related ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
	align-items: stretch;
}
.woocommerce div.product .related ul.products li.product.nf-product-card {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: stretch;
	flex-direction: column;
}
.woocommerce div.product .related ul.products li.product .nf-product-card__media {
	align-self: stretch;
	display: grid;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	min-height: 0;
	flex: none;
}
.woocommerce div.product .related ul.products li.product .nf-card-gallery__controls {
	display: grid;
	min-height: 3.15rem;
	grid-template-columns: 3.15rem minmax(0, 1fr) 3.15rem;
	flex: none;
}
.woocommerce div.product .related ul.products li.product .nf-card-gallery__controls[hidden] { display: none; }
.woocommerce div.product .related ul.products li.product .nf-product-card__body {
	display: grid;
	min-width: 0;
	flex: 1 0 auto;
}
.woocommerce div.product .related ul.products li.product .woocommerce-loop-product__title {
	overflow-wrap: break-word;
}
.woocommerce div.product .related .nf-product-card__meta { margin-top: .95rem; }
.woocommerce div.product .related .nf-product-card__cart { width: 100%; margin-top: .8rem; }
.woocommerce div.product .related .nf-product-card__cart .button {
	display: flex;
	width: 100%;
	min-width: 0;
	align-items: center;
	justify-content: center;
	padding-inline: 1rem;
	white-space: normal;
}

/* WooCommerce's icon-font chevron can degrade into a replacement square. */
.woocommerce-cart .cart-collaterals .shipping-calculator-button::after,
.woocommerce-checkout .cart-collaterals .shipping-calculator-button::after,
.woocommerce .shipping-calculator-button::after {
	display: inline-block;
	width: .45rem;
	height: .45rem;
	margin-right: 0;
	margin-left: 0;
	margin-inline-start: .55rem;
	border-right: 1.5px solid currentcolor;
	border-bottom: 1.5px solid currentcolor;
	font-family: inherit;
	content: "";
	transform: translateY(-.12rem) rotate(45deg);
}

/* Compact page identities replace generic billboard headings. */
.nf-about-hero__inner { min-height: 0; grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); padding-block: clamp(4.5rem, 7vw, 7rem); }
.nf-about-hero h1,
.nf-contact-intro h1,
.nf-policy-centre-hero h1,
.nf-account-hero h1,
.nf-faq-hero h1 {
	font-size: clamp(2.8rem, 4.5vw, 4.8rem);
	letter-spacing: -.055em;
	line-height: .98;
}
html[dir="rtl"] .nf-about-hero h1,
html[dir="rtl"] .nf-contact-intro h1,
html[dir="rtl"] .nf-policy-centre-hero h1,
html[dir="rtl"] .nf-account-hero h1,
html[dir="rtl"] .nf-faq-hero h1 { letter-spacing: 0; line-height: 1.15; }
.nf-about-hero__image { border-radius: 1.2rem; background: var(--nf-stage); }
.nf-about-hero__image img { aspect-ratio: 1.15; padding: 0; object-fit: cover; }
.nf-contact-intro { padding-block: clamp(3.75rem, 5.5vw, 5.25rem); background: linear-gradient(135deg, #0d131c 0%, #111b2a 100%); }
.nf-contact-intro__grid { grid-template-columns: minmax(0, .9fr) minmax(360px, .8fr); }
.nf-contact-intro .nf-contact-channels { grid-template-columns: 1fr; }
.nf-contact-intro .nf-contact-channels a { min-height: 4.75rem; }
.nf-policy-centre-hero { padding-block: clamp(3.25rem, 4.5vw, 4.75rem); }
.nf-policy-centre-hero__inner { grid-template-columns: minmax(0, .85fr) minmax(340px, .65fr); }
.nf-policy-centre-hero h1 { font-size: clamp(2.75rem, 4vw, 4.25rem); }
.nf-policy-centre__notice { border-radius: 1rem; }
.nf-policy-grid { align-items: stretch; gap: 1rem; }
.nf-policy-card { min-height: 16rem; border-radius: 1rem; }
.nf-policy-card h2 { font-size: clamp(1.1rem, 1.4vw, 1.35rem); }
.nf-account-hero,
.nf-faq-hero { padding-block: clamp(3rem, 4.5vw, 4.5rem); }
.nf-account-content .u-column1,
.nf-account-content .u-column2 { border-radius: 1rem; box-shadow: 0 14px 34px rgb(13 19 28 / 5%); }
.nf-about-transparency__inner { display: grid; grid-template-columns: minmax(0, .8fr) minmax(340px, .75fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.nf-about-transparency__copy { max-width: 620px; }
.nf-about-transparency__copy p { margin: 0 0 1.4rem; color: var(--nf-premium-muted); }

/* Footer: concise navigation and public channels, without internal identifiers. */
.nf-footer { padding-top: clamp(2.75rem, 4.5vw, 4.25rem); }
.nf-footer__lead { align-items: end; padding-block: 0 2rem; border-bottom: 1px solid rgb(255 255 255 / 12%); }
.nf-footer__lead > div > p { max-width: 430px; }
.nf-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 3.25rem); padding-block: 2rem; }
.nf-footer__grid > div { min-width: 0; }
.nf-footer__grid h2 { margin-bottom: .45rem; color: #c4ccd8; font-size: .75rem; letter-spacing: .07em; line-height: 1.6; }
.nf-footer__grid a,
.nf-footer__grid p,
.nf-footer__grid span { color: #c4ccd8; font-size: .875rem; }
.nf-footer__grid > div > a { min-height: 2rem; display: inline-flex; align-items: center; }
.nf-footer__bottom p { color: #b3becd; font-size: .75rem; letter-spacing: .025em; }
.nf-footer__contact-cta:hover { border-color: #98b0ff; color: #b0c2ff; }
.nf-footer__business { padding-inline-start: 0; border-inline-start: 0; }
.nf-footer__business .nf-contact-channels { margin-top: 1rem; }
.nf-contact-channels--footer a { min-height: 3.5rem; }
.nf-contact-channels--footer small { color: #b3becd; font-size: .75rem; }

/* Utility pages stay calm, and labels remain readable on navy sections. */
:is(.nf-hero, .nf-account-hero, .nf-faq-hero, .nf-commerce-hero, .nf-contact-intro, .nf-policy-centre-hero, .nf-policy-review-hero, .nf-support-cta) .nf-kicker { color: #a7bdff; font-size: .8125rem; line-height: 1.4; }
.nf-empty-cart { max-width: 760px; padding: clamp(1.5rem, 3.5vw, 2.75rem); border-radius: .85rem; }
.nf-empty-cart h2 { font-size: clamp(1.75rem, 3vw, 2.6rem); line-height: 1.15; letter-spacing: -.035em; }
html[dir="rtl"] .nf-empty-cart h2 { letter-spacing: 0; line-height: 1.4; }
.nf-empty-cart > p:not(.nf-kicker) { margin-block: 1rem 1.5rem; }
.nf-commerce-hero h1 { font-size: clamp(2.4rem, 4vw, 3.75rem); line-height: 1.1; }
html[dir="rtl"] .nf-commerce-hero h1 { letter-spacing: 0; line-height: 1.25; }

/* Clear focus is part of the visual system, not a browser afterthought. */
:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid #88a8ff;
	outline-offset: 3px;
}

@media (max-width: 1279px) {
	.nf-area-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nf-area-card,
	.nf-area-card:nth-child(4),
	.nf-area-card:nth-child(5) { grid-column: auto; }
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.nf-latest ul.products,
	.nf-soft-checkout .woocommerce ul.products,
	.nf-soft-checkout .woocommerce-page ul.products,
	.nf-soft-checkout .nf-latest ul.products,
	body:not(.nf-catalogue-mode) .woocommerce ul.products,
	body:not(.nf-catalogue-mode) .woocommerce-page ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.nf-product-preview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 959px) {
	.nf-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nf-area-card,
	.nf-area-card:nth-child(4),
	.nf-area-card:nth-child(5) { grid-column: auto; }
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.nf-latest ul.products,
	.nf-soft-checkout .woocommerce ul.products,
	.nf-soft-checkout .woocommerce-page ul.products,
	.nf-soft-checkout .nf-latest ul.products,
	body:not(.nf-catalogue-mode) .woocommerce ul.products,
	body:not(.nf-catalogue-mode) .woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.woocommerce div.product .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.nf-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 821px) {
	body.nf-menu-open { overflow: auto; }
	.nf-header .nf-nav__list li:not(.nf-nav__account-mobile) { display: list-item; }
}

@media (min-width: 821px) and (max-width: 1180px) {
	.nf-account-link span { display: none; }
	.nf-header__inner { gap: 1rem; }
	.nf-nav__list { gap: .75rem; }
	.nf-header .nf-brand__wordmark { font-size: .875rem; }
	.nf-header__utility { gap: .55rem; }
}

@media (min-width: 821px) and (max-width: 960px) {
	.nf-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: .75rem; }
	.nf-header .nf-nav { min-width: 0; max-width: 100%; }
	.nf-header .nf-nav__list { flex-wrap: wrap; justify-content: center; gap: 0 .65rem; }
	.nf-header .nf-nav__list a { display: flex; min-height: 2.75rem; align-items: center; padding-block: .5rem; }
	.nf-header .nf-nav__list a::after { bottom: .25rem; }
}

@media (min-width: 1024px) {
	/* A contained float keeps the separate review heading and card together. */
	.woocommerce-checkout form.checkout #customer_details { float: left; width: calc(58% - 1rem); }
	html[dir="rtl"] .woocommerce-checkout form.checkout #customer_details { float: right; }
	.woocommerce-checkout form.checkout #order_review_heading,
	.woocommerce-checkout form.checkout #order_review { clear: none; width: calc(42% - 1rem); margin-inline-start: calc(58% + 1rem); }
	.woocommerce-checkout form.checkout #order_review_heading { margin-top: 0; }
	.woocommerce-checkout form.checkout > .woocommerce-NoticeGroup-checkout { width: 100%; clear: both; }
}

@media (max-width: 768px) {
	.woocommerce-cart .woocommerce table.cart td.product-thumbnail { display: block; width: auto; text-align: start !important; }
	.woocommerce-cart .woocommerce table.cart td.product-thumbnail::before { content: none; }
	.woocommerce-cart .woocommerce table.cart td.product-thumbnail a { display: inline-block; }
	.woocommerce-cart .woocommerce table.cart .product-name { overflow-wrap: break-word; }
}

@media (max-width: 820px) {
	:root { --nf-page-gutter: 1.15rem; }
	/* A fixed panel must be relative to the viewport, not a filtered header. */
	.nf-header,
	.nf-header.is-scrolled { backdrop-filter: none; -webkit-backdrop-filter: none; }
	.nf-header { background: #fff; }
	.nf-header.is-scrolled { background: var(--nf-graphite); }
	.nf-header__inner { min-height: 4.4rem; }
	.nf-header__utility > .nf-account-link { display: none; }
	.nf-header__utility > .nf-cart-link { display: inline-grid; }
	.nf-header .nf-nav,
	body.admin-bar .nf-header .nf-nav {
		position: fixed;
		top: var(--nf-menu-top, calc(4.4rem + var(--wp-admin--admin-bar--height, 0px)));
		inset-inline: 0;
		bottom: auto;
		box-sizing: border-box;
		width: 100%;
		height: auto;
		max-height: calc(100vh - var(--nf-menu-top, calc(4.4rem + var(--wp-admin--admin-bar--height, 0px))));
		max-height: calc(100dvh - var(--nf-menu-top, calc(4.4rem + var(--wp-admin--admin-bar--height, 0px))));
		padding: .75rem var(--nf-page-gutter) max(1.5rem, env(safe-area-inset-bottom));
		overflow-y: auto;
		overscroll-behavior-y: contain;
		background: var(--nf-graphite);
		border-top: 1px solid rgb(255 255 255 / 12%);
		box-shadow: 0 18px 28px rgb(13 19 28 / 18%);
	}
	.nf-header .nf-nav.is-open { display: block; }
	.nf-header .nf-nav__list { display: block; margin: 0; padding: 0; }
	.nf-header .nf-nav__list li { display: list-item; }
	.nf-header .nf-nav__list a,
	.nf-header.is-scrolled .nf-nav__list a {
		display: flex;
		min-height: 3.25rem;
		align-items: center;
		padding: .7rem .5rem;
		border-bottom: 1px solid rgb(255 255 255 / 12%);
		color: #e4e9f1;
		font-size: 1.125rem;
		font-weight: 650;
		line-height: 1.5;
		letter-spacing: 0;
		white-space: normal;
	}
	.nf-header .nf-nav__list a::after { content: none; }
	.nf-header .nf-nav__list a:is(:hover, .is-current),
	.nf-header .nf-nav__list .current-menu-item > a { background: rgb(255 255 255 / 6%); color: #b0c2ff; }
	.nf-nav__mobile-utility { margin-top: 1rem; padding-inline: .5rem; }
	.nf-header .nf-nav__mobile-utility .nf-language { gap: .75rem; font-size: 1rem; }
	.nf-header .nf-nav__mobile-utility .nf-language a { min-height: 2.75rem; padding-inline: .45rem; color: #c4ccd8; }
	.nf-header .nf-nav__mobile-utility .nf-language a:is(.is-active, :hover) { color: #fff; }
	.nf-header .nf-nav__mobile-utility .nf-language span { color: #7c8ba0; }
	.nf-hero { min-height: 0; padding-block: 3.75rem 4.5rem; }
	.nf-hero h1 { font-size: clamp(3.5rem, 15vw, 5.2rem); }
	.nf-hero__inner { gap: 2.5rem; }
	.nf-section { padding-block: 3.25rem; }
	.nf-about-hero__inner,
	.nf-contact-intro__grid,
	.nf-policy-centre-hero__inner,
	.nf-about-transparency__inner { grid-template-columns: 1fr; gap: 2rem; }
	.nf-about-hero__image { order: -1; }
	.nf-footer__lead { align-items: start; }
}

@media (max-width: 600px) {
	.woocommerce div.product .product_title { font-size: clamp(2rem, 8vw, 2.65rem); }
	.woocommerce div.product .summary form.cart .single_add_to_cart_button { width: auto; flex: 1 1 12rem; }
	.nf-area-grid { grid-template-columns: minmax(0, 1fr); }
	.nf-area-card,
	.nf-area-card:nth-child(4),
	.nf-area-card:nth-child(5) { grid-column: auto; }
	.nf-area-card__image { aspect-ratio: 1.28; }
	.nf-area-card__copy { min-height: 4.75rem; }
	.nf-area-card__copy h3 { margin: 0; font-size: 1rem; }
	.woocommerce ul.products,
	.woocommerce-page ul.products,
	.nf-latest ul.products,
	.nf-soft-checkout .woocommerce ul.products,
	.nf-soft-checkout .woocommerce-page ul.products,
	.nf-soft-checkout .nf-latest ul.products,
	body:not(.nf-catalogue-mode) .woocommerce ul.products,
	body:not(.nf-catalogue-mode) .woocommerce-page ul.products { grid-template-columns: 1fr; gap: 1.25rem; }
	.nf-product-preview-grid { grid-template-columns: minmax(0, 1fr) !important; }
	.woocommerce div.product .related ul.products { grid-template-columns: minmax(0, 1fr); }
	.nf-product-card__media { aspect-ratio: 1 / 1; }
	.nf-product-card__body { min-height: 0; padding: 1.1rem; }
	.nf-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 1rem; }
	.nf-footer__grid > div { padding: 0; border: 0; gap: .25rem; }
	.nf-footer__grid .nf-footer__legal,
	.nf-footer__grid .nf-footer__business { grid-column: 1 / -1; }
	.nf-footer__grid > div > a { min-height: 2.5rem; }
	.nf-about-hero h1,
	.nf-contact-intro h1,
	.nf-policy-centre-hero h1,
	.nf-account-hero h1,
	.nf-faq-hero h1 { font-size: clamp(2.5rem, 12vw, 3.25rem); }
	.nf-contact-intro { padding-block: 3.75rem; }
	.nf-policy-review-hero { padding-block: 1.4rem 2.8rem; }
	.nf-policy-review-hero__back { margin-bottom: 2rem; }
	html[dir="rtl"] .nf-policy-review-hero h1 { font-size: clamp(2rem, 9vw, 2.9rem); line-height: 1.28; letter-spacing: 0; }
	.nf-policy-summary { padding: 1.15rem; }
	.woocommerce-checkout form.checkout .form-row-first,
	.woocommerce-checkout form.checkout .form-row-last { float: none !important; width: 100% !important; }
	.woocommerce-checkout form.checkout .select2-dropdown { max-width: calc(100vw - 2rem); }
}

@media (prefers-reduced-motion: reduce) {
	.nf-area-card,
	.nf-area-card__image img,
	.nf-product-card { transition: none; }
}

/* Contact form card has no companion column in current markup; center it instead of leaving it pinned right by the two-column grid. */
.nf-contact-form-section__inner:has(> .nf-contact-form-wrap:only-child) {
	display: block;
	max-width: 760px;
	margin-inline: auto;
}

/* My Account dashboard body comes from WooCommerce core text (not theme markup) and was
   using unstyled default links/spacing that clashed with the rest of the site. */
.nf-account-content .woocommerce-MyAccount-content > p:first-of-type {
	padding-bottom: 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--nf-premium-line);
	font-size: 1.05rem;
}
.nf-account-content .woocommerce-MyAccount-content > p:first-of-type strong {
	color: var(--nf-graphite);
}
.nf-account-content .woocommerce-MyAccount-content a {
	color: var(--nf-cobalt);
	font-weight: 700;
	text-decoration: none;
}
.nf-account-content .woocommerce-MyAccount-content a:hover {
	text-decoration: underline;
}
.nf-account-content .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: .5rem;
	border-top: 1px solid var(--nf-premium-line);
}
.nf-account-content .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: #b42318;
}

/* NF form polish 2026-09-10: separate address text from dropdown indicators. */
.woocommerce form.woocommerce-shipping-calculator .form-row {
    min-width: 0;
    text-align: start;
}
.woocommerce form .select2-container {
    max-width: 100%;
    min-width: 0;
    width: 100% !important;
}
.woocommerce form .select2-container .select2-selection--single {
    position: relative;
    min-height: 3.1rem;
    height: auto;
    text-align: start;
}
.woocommerce form .select2-container .select2-selection--single .select2-selection__rendered {
    padding: .72rem 2.75rem .72rem .85rem;
    line-height: 1.5;
    text-align: start;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.woocommerce form .select2-container .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: .75rem;
    left: auto;
    width: 1.25rem;
    height: 1.25rem;
    transform: translateY(-50%);
}
html[dir="rtl"] .woocommerce form .select2-container .select2-selection--single .select2-selection__rendered {
    padding-right: .85rem;
    padding-left: 2.75rem;
    direction: rtl;
    text-align: right;
}
html[dir="rtl"] .woocommerce form .select2-container .select2-selection--single .select2-selection__arrow {
    left: .75rem;
    right: auto;
}
/* Native fallback stays usable while SelectWoo is unavailable or loading. */
.woocommerce form #customer_details .form-row select:not(.select2-hidden-accessible),
.woocommerce form .form-row select:not(.select2-hidden-accessible) {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    min-height: 3.1rem;
    padding: .72rem 2.75rem .72rem .85rem;
    font-size: 1rem;
    line-height: 1.5;
    text-align: start;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2355606d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .85rem center;
    background-size: 1rem;
}
html[dir="rtl"] .woocommerce form #customer_details .form-row select:not(.select2-hidden-accessible),
html[dir="rtl"] .woocommerce form .form-row select:not(.select2-hidden-accessible) {
    padding-right: .85rem;
    padding-left: 2.75rem;
    background-position: left .85rem center;
    direction: rtl;
    text-align: right;
}

/* Comfortable form text; product typography and the navy/cobalt identity stay intact. */
.nf-contact-form label:not(.nf-contact-form__consent) { font-size: .875rem; line-height: 1.5; }
.nf-contact-form .nf-contact-form__consent { font-size: .875rem; line-height: 1.65; align-items: start; }
.nf-contact-form input:not([type="checkbox"]):not([type="hidden"]),
.nf-contact-form select, .nf-contact-form textarea,
.woocommerce form .input-text, .woocommerce form .select2-selection__rendered {
    font-size: 1rem;
}
.nf-contact-form textarea { min-height: 11rem; }
.nf-contact-form .nf-button { min-height: 3rem; gap: 0; }
.nf-contact-form :is(input, select, textarea, button):focus-visible,
.woocommerce :is(input, select, textarea, button, a):focus-visible {
    outline: 2px solid #0635ff;
    outline-offset: 3px;
}
.nf-business-contact { overflow-wrap: anywhere; }

/* Long country names remain readable on narrow screens. */
.woocommerce form .select2-container .select2-selection--single .select2-selection__rendered { white-space: normal; overflow-wrap: break-word; }
/* Maintain readable contrast in the dark About-page help panel. */
.nf-about-transparency .nf-about-transparency__copy p { color: #d5dce7; }
.nf-about-transparency .nf-text-link { color: #fff; text-decoration: underline; text-underline-offset: .25em; }
.nf-about-transparency .nf-text-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

/* Consistent native contact selector in WebKit, Firefox and Chromium. */
.nf-contact-form select {
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    width: 100%;
    min-height: 3.1rem;
    padding: .72rem 2.75rem .72rem .85rem;
    border: 1px solid #c9d0db;
    border-radius: .65rem;
    box-shadow: none;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%2355606d' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right .85rem center;
    background-size: 1rem;
    color: #0d131c;
    font-weight: 500;
    line-height: 1.5;
    text-align: start;
}
html[dir="rtl"] .nf-contact-form select {
    padding-right: .85rem;
    padding-left: 2.75rem;
    background-position: left .85rem center;
}
.nf-contact-form .nf-contact-form__consent { font-weight: 400; }
.nf-contact-form :is(input, select, textarea) { scroll-margin-top: 6rem; }
