/* ==========================================================================
   NOVVIA Design System
   ========================================================================== */

:root {
	--nv-blue: #a9b9cf;
	--nv-blue-dark: #5f7591; /* WCAG AA: mind. 4.5:1 Kontrast auf Weiß für Textnutzung */
	--nv-blue-light: #c5d1e0;
	--nv-blue-soft: #edf1f6;
	--nv-black: #120d0d;
	--nv-cream: #fdf3ea;
	--nv-copper: #b8956b;
	--nv-copper-light: #d4b896;
	--nv-green: #6b8f7a;
	--nv-green-dark: #567a65;
	--nv-green-soft: #e9f1ec;
	--nv-white: #ffffff;
	--nv-off-white: #fdf3ea;
	--nv-gray-50: #f8f4ef;
	--nv-gray-100: #ece8e3;
	--nv-gray-200: #d8d4cf;
	--nv-gray-300: #c8c4bf;
	--nv-gray-400: #a8a4a0;
	--nv-gray-500: #7a7572;
	--nv-gray-700: #3d3838;
	--nv-gray-800: #2d2828;
	--nv-gray-900: #120d0d;

	--nv-trust-bar-height: 2.25rem;

	--nv-font-serif: "Cormorant Garamond", "Times New Roman", serif;
	--nv-font-sans: "Manrope", system-ui, -apple-system, sans-serif;

	--nv-radius-sm: 4px;
	--nv-radius-md: 8px;
	--nv-radius-lg: 16px;
	--nv-radius-xl: 24px;

	--nv-shadow-sm: 0 4px 20px rgba(26, 26, 24, 0.04);
	--nv-shadow-md: 0 12px 40px rgba(26, 26, 24, 0.08);

	--nv-transition: 0.25s cubic-bezier(0.4, 0, 0.2, 1);
	--nv-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--nv-duration-fast: 0.28s;
	--nv-duration-medium: 0.55s;
	--nv-container: 1280px;
	--nv-gutter: clamp(1.25rem, 4vw, 2.5rem);
	--nv-header-height: 72px;
}

*, *::before, *::after { box-sizing: border-box; }

html {
	scroll-behavior: smooth;
	-webkit-font-smoothing: antialiased;
	background: var(--nv-white);
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus,
.nv-skip-link:focus {
	position: fixed;
	top: 0.75rem;
	left: 0.75rem;
	z-index: 10000;
	width: auto;
	height: auto;
	padding: 0.75rem 1rem;
	margin: 0;
	overflow: visible;
	clip: auto;
	white-space: normal;
	background: var(--nv-black);
	color: var(--nv-white);
	border-radius: var(--nv-radius-sm);
	box-shadow: var(--nv-shadow-md);
}

.nv-skip-link {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

:focus {
	outline: none;
}

:focus-visible {
	outline: 2px solid var(--nv-blue-dark);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

body.novvia-theme {
	margin: 0;
	font-family: var(--nv-font-sans);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	color: var(--nv-gray-700);
	background: var(--nv-white);
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

.nv-container {
	width: min(100% - var(--nv-gutter) * 2, var(--nv-container));
	margin-inline: auto;
}

.nv-eyebrow {
	margin: 0 0 0.75rem;
	font-family: var(--nv-font-sans);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--nv-blue-dark);
}

.nv-section-title {
	margin: 0;
	font-family: var(--nv-font-serif);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	line-height: 1.15;
	color: var(--nv-gray-900);
}

.nv-section-text {
	margin: 1rem 0 0;
	max-width: 42rem;
	font-family: var(--nv-font-sans);
	font-size: 1.05rem;
	font-weight: 400;
	color: var(--nv-gray-500);
}

.nv-section-head {
	margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.nv-section-head--center {
	text-align: center;
}

.nv-section-head--center .nv-section-text {
	margin-inline: auto;
}

.nv-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.95rem 1.75rem;
	border: 1px solid transparent;
	border-radius: var(--nv-radius-sm);
	font-family: var(--nv-font-sans);
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: background var(--nv-transition), color var(--nv-transition), border-color var(--nv-transition), transform var(--nv-transition);
}

.nv-btn:hover { transform: translateY(-1px); }

.nv-btn--primary {
	background: var(--nv-blue);
	color: var(--nv-black);
}

.nv-btn--primary:hover {
	background: var(--nv-blue-dark);
	color: var(--nv-black);
}

.nv-btn--secondary {
	background: transparent;
	border-color: var(--nv-gray-200);
	color: var(--nv-gray-900);
}

.nv-btn--secondary:hover {
	border-color: var(--nv-blue);
	color: var(--nv-blue);
}

.nv-btn--ghost {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(255, 255, 255, 0.35);
	color: var(--nv-white);
	backdrop-filter: blur(8px);
}

.nv-btn--ghost:hover {
	background: var(--nv-white);
	color: var(--nv-blue-dark);
}

.nv-btn.is-added {
	background: var(--nv-blue-dark);
}

/* Trust bar */
.nv-trust-bar {
	background: var(--nv-black);
	color: var(--nv-cream);
	font-family: var(--nv-font-sans);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.03em;
}

.nv-trust-bar__inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75rem 2rem;
	margin: 0;
	padding: 0.65rem var(--nv-gutter);
	list-style: none;
}

.nv-trust-bar__viewport {
	overflow: hidden;
}

.nv-trust-bar__item {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

.nv-trust-bar__item svg {
	color: var(--nv-copper-light);
	flex-shrink: 0;
}

/* Header */
.nv-site-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--nv-white);
	border-bottom: 1px solid var(--nv-gray-100);
}

.nv-site-header__inner {
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "start logo actions";
	align-items: center;
	gap: 0.5rem 1rem;
	min-height: var(--nv-header-height);
}

.nv-site-header__start {
	grid-area: start;
}

.nv-site-header__logo {
	grid-area: logo;
	display: flex;
	align-items: center;
	align-self: center;
	justify-self: center;
	line-height: 1;
	font-family: var(--nv-font-serif);
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--nv-gray-900);
	letter-spacing: 0.02em;
}

.nv-site-logo-fallback {
	display: inline-flex;
	align-items: center;
	font-family: var(--nv-font-serif);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-decoration: none;
	color: inherit;
}

.nv-site-header__logo a,
.nv-site-header__logo .custom-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	color: inherit;
}

.nv-site-header__logo img,
.nv-site-header__logo .custom-logo {
	display: block;
	max-height: 44px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.nv-header__actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.125rem;
}

/* Navigation */
.nv-nav {
	grid-area: nav;
	min-width: 0;
}

.nv-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-nav__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.15rem 1.35rem;
}

.nv-nav .menu-item {
	position: relative;
}

.nv-nav__item-row {
	display: flex;
	align-items: center;
	gap: 0.15rem;
}

.nv-nav .nv-nav__link {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.45rem 0;
	font-family: var(--nv-font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: none;
	white-space: nowrap;
	color: var(--nv-gray-700);
	transition: color var(--nv-transition);
}

/* Esthetic Finder — prominent nav CTA */
.nv-nav__root-row {
	display: contents;
}

.nv-header-finder {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	transition:
		background var(--nv-transition),
		color var(--nv-transition),
		transform var(--nv-transition),
		box-shadow var(--nv-transition);
}

.nv-header-finder--desktop {
	padding: 0.55rem 1.05rem;
	border-radius: 999px;
	background: var(--nv-blue);
	color: var(--nv-black);
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
	box-shadow: 0 1px 0 rgba(18, 13, 13, 0.06);
	flex-shrink: 0;
}

.nv-header-finder--desktop:hover {
	background: var(--nv-blue-dark);
	color: var(--nv-black);
	transform: translateY(-1px);
}

.nv-header-finder--desktop.is-active {
	box-shadow: inset 0 0 0 2px rgba(18, 13, 13, 0.18);
}

.nv-header-finder__icon {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
}

.nv-header-finder__copy {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	min-width: 0;
}

.nv-header-finder__label {
	line-height: 1.2;
}

.nv-header-finder__sub {
	font-size: 0.8rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.35;
	color: rgba(18, 13, 13, 0.72);
}

.nv-header-finder__arrow {
	display: inline-flex;
	flex: 0 0 auto;
	margin-left: auto;
	opacity: 0.65;
}

.nv-header-finder--mobile {
	display: none;
	width: calc(100% - 2rem);
	margin: 1rem 1rem 0.35rem;
	padding: 0.95rem 1rem;
	border-radius: var(--nv-radius-md);
	background: linear-gradient(135deg, var(--nv-blue) 0%, #b8d4f0 100%);
	color: var(--nv-black);
	border: 1px solid rgba(18, 13, 13, 0.08);
	box-shadow: var(--nv-shadow-sm);
}

.nv-header-finder--mobile .nv-header-finder__label {
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
}

.nv-header-finder--mobile:hover {
	transform: translateY(-1px);
	box-shadow: var(--nv-shadow-md);
}

.nv-header-finder--bar {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 999px;
	background: var(--nv-blue);
	color: var(--nv-black);
	box-shadow: 0 1px 0 rgba(18, 13, 13, 0.06);
}

.nv-header-finder--bar:hover {
	background: var(--nv-blue-dark);
	color: var(--nv-black);
	transform: translateY(-1px);
}

.nv-header-finder--bar.is-active {
	box-shadow: inset 0 0 0 2px rgba(18, 13, 13, 0.18);
}

.nv-header-finder--bar .nv-header-finder__copy,
.nv-header-finder--bar .nv-header-finder__arrow {
	display: none;
}

.nv-nav .nv-nav__link:hover,
.nv-nav .current-menu-item > .nv-nav__item-row > .nv-nav__link,
.nv-nav .current-menu-ancestor > .nv-nav__item-row > .nv-nav__link {
	color: var(--nv-blue-dark);
}

.nv-nav .menu-item-has-children > .nv-nav__item-row > .nv-nav__link::after {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	opacity: 0.65;
	transition: transform 0.25s var(--nv-ease-out);
}

.nv-nav__subtoggle {
	display: none;
}

.nv-nav .menu-item-has-children::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	height: 0.85rem;
	z-index: 301;
}

/* Desktop mega menu panel */
.nv-nav__mega {
	display: none;
}

/* Scroll & motion (enabled with .nv-js from animations.js) */
html.nv-js .nv-reveal {
	opacity: 0;
	transform: translate3d(0, 18px, 0);
	transition:
		opacity var(--nv-duration-medium) var(--nv-ease-out),
		transform var(--nv-duration-medium) var(--nv-ease-out);
	will-change: opacity, transform;
}

html.nv-js .nv-reveal.is-revealed {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}

html.nv-js .nv-reveal-fade {
	opacity: 0;
	transform: none;
	transition: opacity var(--nv-duration-medium) var(--nv-ease-out);
	will-change: opacity;
}

html.nv-js .nv-reveal-fade.is-revealed {
	opacity: 1;
}

html.nv-js .nv-trust-tile.nv-reveal-fade:nth-child(2) { transition-delay: 0.06s; }
html.nv-js .nv-trust-tile.nv-reveal-fade:nth-child(3) { transition-delay: 0.12s; }
html.nv-js .nv-trust-tile.nv-reveal-fade:nth-child(4) { transition-delay: 0.18s; }

html.nv-js .nv-concern-card.nv-reveal:nth-child(5n + 2) { transition-delay: 0.05s; }
html.nv-js .nv-concern-card.nv-reveal:nth-child(5n + 3) { transition-delay: 0.1s; }
html.nv-js .nv-concern-card.nv-reveal:nth-child(5n + 4) { transition-delay: 0.15s; }
html.nv-js .nv-concern-card.nv-reveal:nth-child(5n) { transition-delay: 0.2s; }

.nv-nav__mega-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.15rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid var(--nv-gray-100);
}

.nv-nav__mega-head-title {
	margin: 0;
	font-family: var(--nv-font-serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--nv-gray-900);
}

.nv-nav__mega-all {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: var(--nv-font-sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--nv-blue-dark);
	white-space: nowrap;
	transition: color var(--nv-transition);
}

.nv-nav__mega-all:hover {
	color: var(--nv-gray-900);
}

.nv-nav__mega-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-nav__mega-list--links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.15rem 2rem;
}

.nv-nav__mega-columns {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem 2.5rem;
}

.nv-nav__mega-column-title {
	margin: 0 0 0.65rem;
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--nv-gray-500);
}

.nv-nav__mega-column-title-link {
	color: inherit;
	text-decoration: none;
	transition: color var(--nv-duration-fast) var(--nv-ease-out);
}

.nv-nav__mega-column-title-link:hover,
.nv-nav__mega-column-title-link:focus-visible {
	color: var(--nv-gray-900);
	text-decoration: underline;
}

.nv-nav__mega-column-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.nv-nav__mega-column-list .nv-nav__mega-link {
	padding: 0.45rem 0;
}

.nv-nav__mega-group + .nv-nav__mega-group {
	margin-top: 1.35rem;
}

.nv-nav__mega-group-title {
	margin: 0 0 0.65rem;
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--nv-gray-500);
}

.nv-nav__mega-list--mobile {
	display: none;
}

.nv-nav__mega-mobile-heading {
	padding: 0.85rem 0 0.25rem;
}

.nv-nav__mega-mobile-heading:first-child {
	padding-top: 0;
}

.nv-nav__mega-mobile-heading-label {
	display: block;
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--nv-gray-500);
}

.nv-nav__mega-list--brands {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
}

.nv-nav__mega-brand-card {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 100%;
	padding: 1.1rem 1rem;
	text-decoration: none;
	color: inherit;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
	transition: box-shadow var(--nv-transition), border-color var(--nv-transition), transform var(--nv-transition);
}

.nv-nav__mega-brand-card:hover,
.nv-nav__mega-brand-card:focus-visible {
	border-color: var(--nv-gray-200);
	box-shadow: var(--nv-shadow-sm);
	transform: translateY(-2px);
}

.nv-nav__mega-brand-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 3.25rem;
	margin-bottom: 0.85rem;
}

.nv-nav__mega-brand-card__logo img {
	display: block;
	max-width: 100%;
	max-height: 2.5rem;
	width: auto;
	height: auto;
	object-fit: contain;
}

.nv-nav__mega-brand-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.nv-nav__mega-brand-card__title {
	font-family: var(--nv-font-sans);
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.35;
	color: var(--nv-gray-900);
}

.nv-nav__mega-brand-card__meta {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--nv-blue-dark);
}

.nv-nav__mega-link {
	display: block;
	padding: 0.55rem 0;
	font-family: var(--nv-font-sans);
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.45;
	text-decoration: none;
	color: var(--nv-gray-700);
	border-radius: var(--nv-radius-sm);
	transition: color var(--nv-transition), background var(--nv-transition);
}

.nv-nav__mega-link:hover,
.nv-nav__mega-link:focus-visible {
	color: var(--nv-blue-dark);
	background: var(--nv-gray-50);
}

.nv-nav__mega-list--concerns {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1rem;
}

.nv-nav__mega-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 168px;
	overflow: hidden;
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
	text-decoration: none;
	background: var(--nv-gray-50);
	transition: border-color var(--nv-transition), box-shadow var(--nv-transition), transform var(--nv-transition);
}

.nv-nav__mega-card:hover,
.nv-nav__mega-card:focus-visible {
	border-color: var(--nv-blue-light);
	box-shadow: var(--nv-shadow-sm);
	transform: translateY(-2px);
}

.nv-nav__mega-card__media {
	position: absolute;
	inset: 0;
	background-color: var(--nv-gray-100);
	background-size: cover;
	background-position: center;
	transition: transform 0.55s ease;
}

.nv-nav__mega-card:hover .nv-nav__mega-card__media,
.nv-nav__mega-card:focus-visible .nv-nav__mega-card__media {
	transform: scale(1.04);
}

.nv-nav__mega-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(18, 13, 13, 0.9) 0%,
		rgba(18, 13, 13, 0.45) 55%,
		rgba(18, 13, 13, 0.15) 100%
	);
}

.nv-nav__mega-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: flex-end;
	gap: 0.35rem;
	padding: 1rem;
}

.nv-nav__mega-card-item--has-image .nv-nav__mega-card__body {
	min-height: 168px;
}

.nv-nav__mega-card__title {
	font-family: var(--nv-font-sans);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--nv-gray-900);
}

.nv-nav__mega-card-item--has-image .nv-nav__mega-card__title {
	color: var(--nv-white);
}

.nv-nav__mega-card__desc {
	font-family: var(--nv-font-sans);
	font-size: 0.78rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--nv-gray-500);
}

.nv-nav__mega-card-item--has-image .nv-nav__mega-card__desc {
	color: rgba(255, 255, 255, 0.88);
}

.nv-nav__mobile-shell {
	width: 100%;
}

.nv-nav__toolbar {
	display: none;
}

.nv-nav-overlay {
	display: none;
}

body.nv-nav-open {
	overflow: hidden;
}

.nv-header__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--nv-gray-900);
	transition: background var(--nv-transition), color var(--nv-transition);
}

.nv-header__icon-btn:hover {
	background: var(--nv-gray-50);
	color: var(--nv-blue);
}

.nv-header__cart-count {
	position: absolute;
	top: 6px;
	right: 6px;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--nv-blue);
	color: var(--nv-black);
	font-family: var(--nv-font-sans);
	font-size: 0.65rem;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
}

.nv-header__cart-count.is-empty {
	display: none;
}

body.nv-cart-open {
	overflow: hidden;
}

/* Fallback: keep off-canvas cart hidden even if cart-drawer.css fails to load */
.nv-cart-drawer {
	position: fixed;
	inset: 0;
	z-index: 10000;
	visibility: hidden;
	pointer-events: none;
}

body.nv-search-open {
	overflow: hidden;
}

/* Search overlay */
.nv-search {
	position: fixed;
	inset: 0;
	z-index: 9990;
	display: flex;
	flex-direction: column;
	pointer-events: none;
}

.nv-search__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(18, 13, 13, 0.42);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	opacity: 0;
	transition: opacity var(--nv-duration-medium) var(--nv-ease-out);
}

.nv-search__panel {
	position: relative;
	z-index: 1;
	width: 100%;
	padding-block: clamp(1.25rem, 4vw, 2rem);
	background: linear-gradient(180deg, var(--nv-white) 0%, var(--nv-off-white) 100%);
	border-bottom: 1px solid var(--nv-gray-100);
	box-shadow: var(--nv-shadow-md);
	transform: translateY(-110%);
	opacity: 0;
	transition:
		transform var(--nv-duration-medium) var(--nv-ease-out),
		opacity var(--nv-duration-fast) var(--nv-ease-out);
}

.nv-search.is-open {
	pointer-events: auto;
}

.nv-search.is-open .nv-search__backdrop {
	opacity: 1;
}

.nv-search.is-open .nv-search__panel {
	transform: translateY(0);
	opacity: 1;
}

.nv-search__inner {
	display: grid;
	gap: 0.75rem;
}

.nv-search__form {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
	align-items: center;
	gap: 0.75rem 1rem;
	padding: 0.35rem 0.35rem 0.35rem 1.15rem;
	border: 1px solid var(--nv-gray-200);
	border-radius: 999px;
	background: var(--nv-white);
	box-shadow: var(--nv-shadow-sm);
	transform: scale(0.96);
	opacity: 0;
	transition:
		transform calc(var(--nv-duration-medium) + 0.1s) var(--nv-ease-out),
		opacity calc(var(--nv-duration-medium) + 0.05s) var(--nv-ease-out),
		border-color var(--nv-transition),
		box-shadow var(--nv-transition);
}

.nv-search.is-open .nv-search__form {
	transform: scale(1);
	opacity: 1;
}

.nv-search__form:focus-within {
	border-color: var(--nv-gray-200);
	box-shadow: var(--nv-shadow-sm);
}

.nv-search__icon {
	display: inline-flex;
	color: var(--nv-gray-500);
}

.nv-search__input {
	width: 100%;
	min-width: 0;
	border: 0;
	background: transparent;
	font-family: var(--nv-font-sans);
	font-size: clamp(1rem, 2.5vw, 1.15rem);
	color: var(--nv-gray-900);
	outline: none;
	box-shadow: none;
}

.nv-search__input:focus,
.nv-search__input:focus-visible {
	outline: none;
	box-shadow: none;
}

.nv-search__input::placeholder {
	color: var(--nv-gray-500);
}

.nv-search__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 1.35rem;
	border: 0;
	border-radius: 999px;
	background: var(--nv-black);
	color: var(--nv-white);
	font-family: var(--nv-font-sans);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	transition: background var(--nv-transition), transform var(--nv-transition);
}

.nv-search__submit:hover {
	background: var(--nv-gray-700);
}

.nv-search__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--nv-gray-700);
	cursor: pointer;
	transition: background var(--nv-transition), color var(--nv-transition), transform var(--nv-transition);
}

.nv-search__close:hover {
	background: var(--nv-gray-50);
	color: var(--nv-black);
	transform: rotate(90deg);
}

.nv-search__hint {
	margin: 0;
	font-family: var(--nv-font-sans);
	font-size: 0.82rem;
	color: var(--nv-gray-500);
	text-align: center;
	opacity: 0;
	transform: translateY(8px);
	transition:
		opacity calc(var(--nv-duration-medium) + 0.15s) var(--nv-ease-out),
		transform calc(var(--nv-duration-medium) + 0.15s) var(--nv-ease-out);
}

.nv-search.is-open .nv-search__hint {
	opacity: 1;
	transform: translateY(0);
}

.nv-search__field {
	position: relative;
	display: grid;
	gap: 0.65rem;
}

.nv-search-suggest {
	display: grid;
	gap: 0.5rem;
	padding: 0.35rem 0.25rem 0;
}

.nv-search-suggest__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	gap: 0.35rem;
	max-height: min(52vh, 26rem);
	overflow: auto;
}

.nv-search-suggest__item.is-active .nv-search-suggest__link,
.nv-search-suggest__link:hover,
.nv-search-suggest__link:focus-visible {
	background: var(--nv-off-white);
	outline: none;
	box-shadow: inset 0 0 0 1px var(--nv-gray-200);
}

.nv-search-suggest__link {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.65rem 0.85rem;
	border-radius: var(--nv-radius-md);
	color: inherit;
	text-decoration: none;
	transition: background var(--nv-transition), box-shadow var(--nv-transition);
}

.nv-search-suggest__link--product {
	align-items: flex-start;
}

.nv-search-suggest__thumb {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	border-radius: var(--nv-radius-sm);
	overflow: hidden;
	background: var(--nv-gray-100);
}

.nv-search-suggest__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.nv-search-suggest__body {
	display: grid;
	gap: 0.15rem;
	min-width: 0;
}

.nv-search-suggest__eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--nv-gray-500);
}

.nv-search-suggest__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--nv-gray-900);
	line-height: 1.35;
}

.nv-search-suggest__price {
	font-size: 0.85rem;
	color: var(--nv-gray-700);
}

.nv-search-suggest__price .amount {
	font-weight: 600;
}

.nv-search-suggest__all {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.55rem 0.85rem;
	border-radius: 999px;
	background: var(--nv-blue-dark);
	color: var(--nv-white);
	font-size: 0.85rem;
	font-weight: 600;
	text-decoration: none;
}

.nv-search-suggest__all:hover,
.nv-search-suggest__all:focus-visible {
	color: var(--nv-white);
	background: var(--nv-blue);
}

.nv-search-inline-wrap {
	position: relative;
	margin-bottom: 1.5rem;
	max-width: 36rem;
}

.nv-search-suggest--inline {
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 0;
	right: 0;
	z-index: 20;
	padding: 0.65rem;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
	box-shadow: var(--nv-shadow-md);
}

.nv-search-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	align-items: center;
	margin-bottom: 0;
	max-width: none;
}

.nv-search-inline__input {
	flex: 1 1 14rem;
	min-width: 0;
	min-height: 48px;
	padding: 0 1.15rem;
	border: 1px solid var(--nv-gray-200);
	border-radius: 999px;
	background: var(--nv-white);
	font-family: var(--nv-font-sans);
	font-size: 1rem;
	color: var(--nv-gray-900);
	transition: border-color var(--nv-transition), box-shadow var(--nv-transition);
}

.nv-search-inline__input:focus {
	outline: none;
	border-color: var(--nv-blue);
	box-shadow: 0 0 0 4px rgba(169, 185, 207, 0.25);
}

@media (max-width: 640px) {
	.nv-search__form {
		grid-template-columns: auto 1fr auto;
		padding-inline-start: 1rem;
		border-radius: var(--nv-radius-lg);
	}

	.nv-search__submit {
		grid-column: 1 / -1;
		width: 100%;
	}

	.nv-search__close {
		grid-row: 1;
		grid-column: 3;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nv-search__backdrop,
	.nv-search__panel,
	.nv-search__form,
	.nv-search__hint,
	.nv-search__close {
		transition: none;
	}
}

.nv-nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--nv-gray-900);
}

.nv-nav-toggle:hover {
	background: var(--nv-gray-50);
}

/* Sections */
.nv-section {
	padding-block: clamp(4rem, 8vw, 7rem);
}

.nv-section--white { background: var(--nv-white); }
.nv-section--cream { background: var(--nv-cream); }
.nv-section--muted { background: var(--nv-gray-50); }
.nv-section--blue { background: var(--nv-blue-soft); }

/* Hero */
.nv-hero {
	position: relative;
	min-height: clamp(580px, 85vh, 880px);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	overflow: hidden;
	background: linear-gradient(135deg, var(--nv-black) 0%, #2a3544 40%, var(--nv-blue-dark) 100%);
	color: var(--nv-white);
}

.nv-hero--has-image {
	min-height: clamp(700px, 94vh, 1020px);
	background: var(--nv-cream);
}

.nv-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
	background:
		radial-gradient(circle at 80% 20%, rgba(253, 243, 234, 0.12), transparent 42%),
		linear-gradient(180deg, rgba(18, 13, 13, 0.15), rgba(18, 13, 13, 0.45));
}

.nv-hero--has-image .nv-hero__bg {
	background: transparent;
}

.nv-hero__bg-media {
	position: absolute;
	inset: -8% 0;
	pointer-events: none;
	will-change: transform;
	overflow: hidden;
}

.nv-hero--has-image .nv-hero__bg-media {
	inset: 0;
}

.nv-hero__bg-image {
	display: block;
	width: 100%;
	height: calc(100% + 16%);
	min-height: 100%;
	object-fit: cover;
	object-position: var(--nv-hero-focus, right 38%);
}

.nv-hero--has-image .nv-hero__bg-image {
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: var(--nv-hero-focus, center center);
}

.nv-hero__bg--has-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(
			100deg,
			rgba(18, 13, 13, 0.9) 0%,
			rgba(18, 13, 13, 0.78) 30%,
			rgba(18, 13, 13, 0.42) 48%,
			rgba(18, 13, 13, 0.12) 62%,
			transparent 78%
		);
}

.nv-hero--has-image .nv-hero__bg--has-image::after {
	background:
		linear-gradient(
			95deg,
			rgba(18, 13, 13, 0.93) 0%,
			rgba(18, 13, 13, 0.82) 24%,
			rgba(18, 13, 13, 0.48) 38%,
			rgba(18, 13, 13, 0.08) 48%,
			transparent 54%
		);
}

.nv-hero__content {
	position: relative;
	z-index: 1;
	width: min(100% - var(--nv-gutter) * 2, var(--nv-container));
	max-width: var(--nv-container);
	margin-inline: auto;
	padding-block: clamp(4rem, 10vw, 6rem);
	text-align: left;
}

.nv-hero__content .nv-eyebrow,
.nv-hero__title,
.nv-hero__text,
.nv-hero__actions {
	max-width: 720px;
}

.nv-hero--has-image .nv-hero__content {
	padding-block: clamp(3rem, 7.5vw, 4.75rem);
	padding-bottom: clamp(4.5rem, 10vw, 7rem);
}

.nv-hero--has-image .nv-hero__title {
	font-size: clamp(2.1rem, 4.2vw, 3.35rem);
	margin-bottom: 1rem;
}

.nv-hero--has-image .nv-hero__text {
	font-size: clamp(0.95rem, 1.25vw, 1.05rem);
	line-height: 1.65;
	margin-bottom: 1.5rem;
}

.nv-hero--has-image .nv-hero__actions {
	gap: 0.85rem;
}

.nv-hero__title {
	margin: 0 0 1.25rem;
	font-family: var(--nv-font-serif);
	font-size: clamp(2.5rem, 5.5vw, 4.25rem);
	font-weight: 600;
	line-height: 1.08;
}

.nv-hero__text {
	margin: 0 0 2rem;
	max-width: 38rem;
	font-family: var(--nv-font-sans);
	font-size: 1.1rem;
	font-weight: 400;
	line-height: 1.8;
	color: rgba(255, 255, 255, 0.88);
}

.nv-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.nv-hero .nv-eyebrow { color: var(--nv-cream); }

.nv-hero .nv-btn--ghost {
	background: rgba(18, 13, 13, 0.42);
	border-color: rgba(255, 255, 255, 0.72);
	box-shadow: 0 1px 2px rgba(18, 13, 13, 0.18);
	text-shadow: 0 1px 2px rgba(18, 13, 13, 0.35);
}

@media (prefers-reduced-motion: reduce) {
	.nv-hero__bg-media {
		inset: 0;
		transform: none !important;
	}

	.nv-hero__bg-image {
		height: 100%;
	}
}

/* Trust tiles — overlap hero */
.nv-section--trust {
	position: relative;
	z-index: 2;
	margin-top: -5.5rem;
	padding-top: 0;
	padding-bottom: clamp(4rem, 8vw, 7rem);
	background: transparent;
}

.nv-hero--has-image + .nv-section--trust {
	margin-top: -7rem;
}

.nv-section--trust::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 5.5rem;
	bottom: 0;
	background: var(--nv-cream);
	z-index: -1;
}

.nv-hero--has-image + .nv-section--trust::before {
	top: 7rem;
}

.nv-trust-tiles {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	position: relative;
	z-index: 2;
}

.nv-trust-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.4rem;
	padding: 1.75rem 1.5rem;
	text-align: center;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
	box-shadow: var(--nv-shadow-sm);
}

.nv-trust-tile__icon {
	flex-shrink: 0;
	color: var(--nv-blue);
}

.nv-trust-tile__symbol {
	font-size: 2.125rem;
	line-height: 1;
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

.nv-trust-tile__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	width: 100%;
}

.nv-trust-tile__title {
	margin: 0;
	font-family: var(--nv-font-sans);
	font-size: 1.05rem;
	font-weight: 600;
	line-height: 1.25;
	color: var(--nv-gray-900);
}

.nv-trust-tile__text {
	margin: 0;
	font-family: var(--nv-font-sans);
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.45;
	color: var(--nv-gray-500);
}

/* Concern grid */
.nv-concern-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1.25rem;
}

.nv-concern-card {
	position: relative;
	display: block;
	min-height: 280px;
	overflow: hidden;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-lg);
	text-decoration: none;
	transition: border-color var(--nv-transition), box-shadow var(--nv-transition), transform var(--nv-transition);
}

.nv-concern-card:hover {
	border-color: var(--nv-blue-light);
	box-shadow: var(--nv-shadow-md);
	transform: translateY(-3px);
}

.nv-concern-card__media {
	position: absolute;
	inset: 0;
	background-color: var(--nv-gray-100);
	background-size: cover;
	background-position: center;
	transition: transform 0.65s ease;
}

.nv-concern-card:hover .nv-concern-card__media {
	transform: scale(1.05);
}

.nv-concern-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(18, 13, 13, 0.88) 0%,
		rgba(18, 13, 13, 0.45) 50%,
		rgba(18, 13, 13, 0.2) 100%
	);
}

.nv-concern-card__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	min-height: 280px;
	padding: 1.75rem;
}

.nv-concern-card.has-bg-image .nv-concern-card__content {
	justify-content: flex-end;
}

.nv-concern-card__title {
	margin: 0 0 0.75rem;
	font-family: var(--nv-font-sans);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--nv-gray-900);
}

.nv-concern-card.has-bg-image .nv-concern-card__title {
	color: var(--nv-white);
}

.nv-concern-card__text {
	margin: 0;
	flex: 1;
	font-family: var(--nv-font-sans);
	font-size: 0.95rem;
	font-weight: 400;
	color: var(--nv-gray-500);
}

.nv-concern-card.has-bg-image .nv-concern-card__text {
	flex: 0;
	color: rgba(255, 255, 255, 0.88);
}

.nv-concern-card__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 1.25rem;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--nv-blue);
}

.nv-concern-card.has-bg-image .nv-concern-card__link {
	color: var(--nv-cream);
}

/* Brands */
.nv-brand-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 1rem;
}

.nv-brand-card {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100px;
	padding: 1.25rem;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
	font-family: var(--nv-font-sans);
	font-size: 1rem;
	font-weight: 500;
	color: var(--nv-gray-700);
	text-decoration: none;
	transition: border-color var(--nv-transition), box-shadow var(--nv-transition);
}

.nv-brand-card--has-logo {
	padding: 1rem 1.25rem;
}

.nv-brand-card__logo {
	display: block;
	width: auto;
	max-width: 100%;
	max-height: 3.25rem;
	height: auto;
	object-fit: contain;
}

.nv-brand-card__label {
	text-align: center;
	line-height: 1.3;
}

.nv-brand-card:hover {
	border-color: var(--nv-blue-light);
	box-shadow: var(--nv-shadow-sm);
}

/* Product grid */
.nv-product-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(1.5rem, 3vw, 2.25rem);
}

/* Product slider (e.g. homepage bestsellers) */
.nv-product-slider {
	position: relative;
}

.nv-product-slider__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.nv-product-slider__viewport::-webkit-scrollbar {
	display: none;
}

.nv-product-slider__track {
	display: flex;
	gap: clamp(1.5rem, 3vw, 2.25rem);
}

.nv-product-slider__track > .nv-product-card {
	flex: 0 0 calc((100% - (clamp(1.5rem, 3vw, 2.25rem) * 2)) / 3);
	scroll-snap-align: start;
	min-width: 0;
}

.nv-product-slider__btn {
	position: absolute;
	top: 38%;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--nv-gray-100);
	border-radius: 50%;
	background: var(--nv-white);
	box-shadow: 0 8px 24px rgba(18, 13, 13, 0.1);
	color: var(--nv-gray-900);
	cursor: pointer;
	transition: border-color var(--nv-transition), box-shadow var(--nv-transition), opacity var(--nv-transition), transform var(--nv-transition);
}

.nv-product-slider__btn:hover:not(:disabled) {
	border-color: var(--nv-blue-light);
	box-shadow: 0 12px 28px rgba(18, 13, 13, 0.12);
	transform: translateY(-1px);
}

.nv-product-slider__btn:disabled {
	opacity: 0.35;
	cursor: default;
}

.nv-product-slider__btn--prev {
	left: -0.35rem;
	transform: translateX(-50%);
}

.nv-product-slider__btn--prev:hover:not(:disabled) {
	transform: translateX(-50%) translateY(-1px);
}

.nv-product-slider__btn--next {
	right: -0.35rem;
	transform: translateX(50%);
}

.nv-product-slider__btn--next:hover:not(:disabled) {
	transform: translateX(50%) translateY(-1px);
}

.nv-product-card {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.nv-product-card__media {
	position: relative;
}

.nv-product-card__image {
	display: block;
	aspect-ratio: 1 / 1;
	border-radius: var(--nv-radius-xl);
	background: var(--nv-gray-50);
	overflow: hidden;
}

.nv-product-card__image-stack {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

.nv-product-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.nv-product-card__img--primary,
.nv-product-card__img--hover {
	transition: opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.nv-product-card__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.nv-product-card__img--hover {
	opacity: 0;
	z-index: 2;
	pointer-events: none;
}

.nv-product-card.has-hover-image:hover .nv-product-card__img--hover,
.nv-product-card.has-hover-image:focus-within .nv-product-card__img--hover {
	opacity: 1;
}

.nv-product-card.has-hover-image:hover .nv-product-card__img--primary,
.nv-product-card.has-hover-image:focus-within .nv-product-card__img--primary {
	opacity: 0;
}

.nv-product-card:not(.has-hover-image) .nv-product-card__photo {
	transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.nv-product-card:not(.has-hover-image):hover .nv-product-card__photo {
	transform: scale(1.03);
}

.nv-product-card--unavailable .nv-product-card__photo {
	opacity: 0.68;
}

.nv-product-card__stock {
	position: absolute;
	top: 0.85rem;
	left: 0.85rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: 0.35rem 0.7rem;
	border-radius: 999px;
	background: var(--nv-gray-900);
	box-shadow: 0 4px 16px rgba(18, 13, 13, 0.12);
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--nv-white);
}

.nv-product-card__rating {
	position: absolute;
	top: 0.85rem;
	right: 0.85rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	padding: 0.35rem 0.65rem;
	border-radius: 999px;
	background: var(--nv-white);
	box-shadow: 0 4px 16px rgba(18, 13, 13, 0.08);
	font-family: var(--nv-font-sans);
	font-size: 0.8rem;
	font-weight: 600;
	line-height: 1;
	color: var(--nv-gray-900);
}

.nv-product-card__rating svg {
	color: #e8b84a;
}

.nv-product-card__actions {
	position: absolute;
	right: 0;
	bottom: 1rem;
	left: 0;
	z-index: 3;
	display: flex;
	justify-content: center;
	padding: 0 1rem;
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity 0.3s ease, transform 0.3s ease;
}

.nv-product-card:hover .nv-product-card__actions,
.nv-product-card:focus-within .nv-product-card__actions {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

.nv-product-card__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: min(100%, 220px);
	padding: 0.9rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--nv-white);
	box-shadow: 0 10px 30px rgba(18, 13, 13, 0.14);
	font-family: var(--nv-font-sans);
	font-size: 0.875rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.01em;
	color: var(--nv-gray-900);
	text-decoration: none;
	text-transform: none;
	transition: transform var(--nv-transition), box-shadow var(--nv-transition), background var(--nv-transition);
}

.nv-product-card__cta:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 36px rgba(18, 13, 13, 0.16);
	color: var(--nv-gray-900);
}

.nv-product-card__cta--secondary {
	background: rgba(255, 255, 255, 0.96);
}

.nv-product-card__cta-label--mobile {
	display: none;
}

.nv-product-card__body {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 0 0.15rem;
}

.nv-product-card__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.nv-product-card__tag {
	display: inline-flex;
	align-items: center;
	padding: 0.3rem 0.7rem;
	border: 1px solid var(--nv-gray-200);
	border-radius: 999px;
	background: var(--nv-white);
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--nv-gray-700);
}

.nv-product-card__tag--low-stock {
	border-color: #e8c97a;
	background: #fff8eb;
	font-weight: 600;
	color: #8a5a12;
}

.nv-product-card__title {
	margin: 0;
	font-family: var(--nv-font-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--nv-gray-900);
}

.nv-product-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color var(--nv-transition);
}

.nv-product-card__title a:hover {
	color: var(--nv-blue-dark);
}

.nv-product-card__price {
	margin: 0;
	font-family: var(--nv-font-sans);
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--nv-gray-900);
}

.nv-product-card__price .woocommerce-Price-amount {
	font-weight: 500;
}

/* Product of month */
.nv-section--pom {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background: transparent;
}

.nv-pom-panel {
	background: linear-gradient(145deg, #eef3f8 0%, #e7edf5 42%, #edf2f7 100%);
	border-radius: var(--nv-radius-xl);
	overflow: hidden;
	box-shadow: var(--nv-shadow-sm);
}

.nv-pom {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 4vw, 3.75rem);
	align-items: center;
	padding: clamp(2rem, 4vw, 3.25rem) 0 clamp(1.5rem, 3vw, 2.25rem);
}

.nv-pom__visual {
	position: relative;
	min-height: clamp(18rem, 34vw, 26rem);
	display: flex;
	align-items: center;
	justify-content: center;
}

.nv-pom__figure {
	position: relative;
	z-index: 2;
	margin: 0;
	width: min(100%, 20rem);
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.nv-pom__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
	filter: drop-shadow(0 18px 28px rgba(18, 13, 13, 0.12));
}

.nv-pom__stamp {
	position: absolute;
	z-index: 3;
	left: clamp(0.5rem, 4vw, 1.5rem);
	bottom: clamp(0.5rem, 4vw, 1.25rem);
	width: clamp(4.5rem, 11vw, 5.75rem);
	height: clamp(4.5rem, 11vw, 5.75rem);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.15rem;
	padding: 0.55rem;
	text-align: center;
	color: var(--nv-white);
	background: linear-gradient(145deg, #5d9a90 0%, #4a857c 100%);
	box-shadow: 0 10px 24px rgba(42, 78, 72, 0.22);
}

.nv-pom__stamp-icon {
	font-size: 1.15rem !important;
	line-height: 1;
	font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
}

.nv-pom__stamp-label {
	font-family: var(--nv-font-sans);
	font-size: 0.52rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.25;
	text-transform: uppercase;
}

.nv-pom__content {
	max-width: 34rem;
}

.nv-pom__eyebrow {
	margin: 0 0 0.65rem;
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #4a857c;
}

.nv-pom__title {
	margin: 0;
	font-family: var(--nv-font-serif);
	font-size: clamp(1.85rem, 3.2vw, 2.65rem);
	font-weight: 500;
	line-height: 1.12;
	color: var(--nv-gray-900);
}

.nv-pom__price {
	margin: 0.85rem 0 0;
	font-family: var(--nv-font-sans);
	font-size: 1.05rem;
	font-weight: 500;
	color: var(--nv-gray-700);
}

.nv-pom__price .woocommerce-Price-amount {
	font-weight: 600;
	color: var(--nv-gray-900);
}

.nv-pom__price del {
	opacity: 0.55;
	font-weight: 400;
}

.nv-pom__divider {
	width: 2.75rem;
	height: 1px;
	margin: 1.15rem 0 1rem;
	background: rgba(95, 117, 145, 0.35);
}

.nv-pom__tagline {
	margin: 0 0 0.75rem;
	font-family: var(--nv-font-sans);
	font-size: clamp(1rem, 1.6vw, 1.125rem);
	font-weight: 600;
	line-height: 1.45;
	color: var(--nv-gray-900);
}

.nv-pom__text {
	margin: 0 0 1.75rem;
	font-family: var(--nv-font-sans);
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--nv-gray-600);
}

.nv-btn--pom {
	margin-top: 0.25rem;
	min-width: min(100%, 15rem);
	padding-inline: 2rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-size: 0.78rem;
	font-weight: 600;
}

.nv-pom-trust {
	background: var(--nv-white);
	border-top: 1px solid rgba(95, 117, 145, 0.12);
}

.nv-pom-trust__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.nv-pom-trust__item {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.65rem;
	min-height: 4.25rem;
	padding: 1rem 1.15rem;
	font-family: var(--nv-font-sans);
	font-size: 0.8125rem;
	font-weight: 500;
	line-height: 1.35;
	color: var(--nv-gray-700);
	text-align: left;
	border-right: 1px solid rgba(95, 117, 145, 0.12);
}

.nv-pom-trust__item:last-child {
	border-right: 0;
}

.nv-pom-trust__icon {
	flex: 0 0 auto;
	font-size: 1.35rem !important;
	line-height: 1;
	color: var(--nv-blue);
	font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
}

/* CTA band */
.nv-cta-band {
	padding: clamp(3rem, 6vw, 5rem);
	background: linear-gradient(135deg, var(--nv-black), #2a3544 55%, var(--nv-blue-dark));
	border-radius: var(--nv-radius-lg);
	color: var(--nv-white);
	text-align: center;
}

.nv-cta-band__title {
	margin: 0 0 1rem;
	font-family: var(--nv-font-serif);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 500;
}

.nv-cta-band__text {
	margin: 0 auto 1.75rem;
	max-width: 36rem;
	font-family: var(--nv-font-sans);
	font-weight: 400;
	color: rgba(255, 255, 255, 0.85);
}

/* Testimonials */
.nv-section--testimonials {
	background: var(--nv-white);
}

.nv-testimonial-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}

.nv-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 1.15rem;
	min-height: 100%;
	margin: 0;
	padding: 1.75rem 1.75rem 1.5rem;
	overflow: hidden;
	background: linear-gradient(155deg, var(--nv-gray-50) 0%, var(--nv-white) 62%);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-lg);
	box-shadow: var(--nv-shadow-sm);
	transition:
		transform var(--nv-duration-fast) var(--nv-ease-out),
		box-shadow var(--nv-duration-fast) var(--nv-ease-out),
		border-color var(--nv-transition);
}

.nv-testimonial::before {
	content: "\201C";
	position: absolute;
	top: 0.35rem;
	right: 1.1rem;
	font-family: var(--nv-font-serif);
	font-size: clamp(3.5rem, 8vw, 4.75rem);
	font-weight: 500;
	line-height: 1;
	color: var(--nv-blue);
	opacity: 0.14;
	pointer-events: none;
}

.nv-testimonial:hover {
	transform: translateY(-3px);
	border-color: var(--nv-blue-light);
	box-shadow: var(--nv-shadow-md);
}

.nv-testimonial__stars {
	display: inline-flex;
	gap: 0.15rem;
	color: var(--nv-copper);
}

.nv-testimonial__quote {
	position: relative;
	z-index: 1;
	margin: 0;
	font-family: var(--nv-font-serif);
	font-size: clamp(1.05rem, 2vw, 1.2rem);
	font-style: italic;
	font-weight: 500;
	line-height: 1.55;
	color: var(--nv-gray-900);
}

.nv-testimonial__footer {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: auto;
	padding-top: 1rem;
	border-top: 1px solid rgba(18, 13, 13, 0.06);
}

.nv-testimonial__avatar {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background: linear-gradient(145deg, var(--nv-blue-soft), var(--nv-blue-light));
	color: var(--nv-gray-900);
	font-family: var(--nv-font-sans);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.nv-testimonial__author {
	font-family: var(--nv-font-sans);
	font-size: 0.875rem;
	font-style: normal;
	font-weight: 600;
	line-height: 1.35;
	color: var(--nv-gray-700);
}

/* About teaser */
.nv-about-teaser {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: 3rem;
	align-items: center;
}

.nv-about-teaser--text-only {
	grid-template-columns: minmax(0, 46rem);
	justify-content: center;
}

.nv-about-teaser--text-only .nv-about-teaser__content {
	text-align: center;
}

.nv-about-teaser--text-only .nv-btn {
	margin-inline: auto;
}

.nv-about-teaser__media {
	min-height: 360px;
	background: linear-gradient(145deg, var(--nv-gray-100), var(--nv-gray-50));
	border-radius: var(--nv-radius-lg);
}

/* Blog grid */
.nv-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}

.nv-blog-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
	overflow: hidden;
	transition: box-shadow var(--nv-transition);
}

.nv-blog-card:hover { box-shadow: var(--nv-shadow-sm); }

.nv-blog-card__image {
	display: block;
	position: relative;
	flex-shrink: 0;
	aspect-ratio: 16 / 10;
	background: var(--nv-gray-100);
	overflow: hidden;
}

.nv-blog-card__image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.nv-blog-card__body {
	flex: 1;
	padding: 1.5rem;
}

.nv-blog-card__title {
	margin: 0 0 0.5rem;
	font-family: var(--nv-font-sans);
	font-size: 1.1rem;
	font-weight: 600;
	color: var(--nv-gray-900);
}

.nv-blog-card__meta {
	margin: 0;
	font-size: 0.8rem;
	color: var(--nv-gray-500);
}

.nv-blog-card__placeholder {
	display: block;
	position: absolute;
	inset: 0;
	background:
		linear-gradient(135deg, var(--nv-gray-100), var(--nv-blue-soft));
}

.nv-section-cta {
	margin: 2rem 0 0;
	text-align: center;
}

/* Suchergebnisse ohne Produkte */
.nv-entry-list {
	display: grid;
	gap: 1rem;
}

.nv-search-item {
	padding: 1.25rem 1.5rem;
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-md);
}

.nv-search-item__title {
	margin: 0 0 0.35rem;
	font-family: var(--nv-font-sans);
	font-size: 1.05rem;
	font-weight: 600;
}

.nv-search-item__title a {
	color: var(--nv-gray-900);
}

.nv-search-item__title a:hover {
	color: var(--nv-blue-dark);
}

/* Newsletter */
.nv-newsletter {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: center;
	padding: clamp(2rem, 5vw, 3.5rem);
	background: var(--nv-white);
	border: 1px solid var(--nv-gray-100);
	border-radius: var(--nv-radius-lg);
}

.nv-newsletter__form {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.nv-newsletter__form-row {
	display: flex;
	gap: 0.75rem;
}

.nv-newsletter__form input[type="email"] {
	flex: 1;
	padding: 0.95rem 1rem;
	border: 1px solid var(--nv-gray-200);
	border-radius: var(--nv-radius-sm);
	background: var(--nv-white);
}

.nv-newsletter__hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
	pointer-events: none;
}

.nv-newsletter__feedback {
	margin: 0;
	padding: 0.85rem 1rem;
	font-family: var(--nv-font-sans);
	font-size: 0.9rem;
	line-height: 1.5;
	border-radius: var(--nv-radius-sm);
}

.nv-newsletter__feedback.is-success {
	color: #027a48;
	background: #ecfdf3;
	border: 1px solid #abefc6;
}

.nv-newsletter__feedback.is-error {
	color: #b42318;
	background: #fef3f2;
	border: 1px solid #fecdca;
}

.nv-newsletter__form.is-success .nv-newsletter__form-row {
	display: none;
}

/* Footer */
.nv-site-footer {
	padding-block: 4rem 2rem;
	background: var(--nv-black);
	color: var(--nv-cream);
}

.nv-site-footer__grid {
	display: grid;
	grid-template-columns: 1.5fr repeat(3, 1fr);
	gap: 2rem;
	margin-bottom: 3rem;
}

.nv-site-footer__brand {
	font-family: var(--nv-font-serif);
	font-size: 1.5rem;
	font-weight: 500;
	color: var(--nv-white);
}

.nv-site-footer__contact {
	margin-top: 0.75rem;
}

.nv-site-footer__text {
	margin: 1rem 0 0;
	max-width: 22rem;
	font-size: 0.9rem;
	color: #b8b3ae;
}

.nv-site-footer h3 {
	margin: 0 0 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--nv-copper-light);
}

.nv-site-footer ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.nv-site-footer li + li { margin-top: 0.5rem; }

.nv-site-footer a {
	font-size: 0.9rem;
	color: var(--nv-gray-200);
	transition: color var(--nv-transition);
}

.nv-site-footer a:hover { color: var(--nv-white); }

.nv-site-footer__withdrawal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 1.5rem;
	margin-bottom: 2rem;
	padding: 1.25rem 1.5rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--nv-radius-md);
	background: rgba(255, 255, 255, 0.04);
}

.nv-site-footer__withdrawal-text {
	margin: 0;
	max-width: 42rem;
	font-family: var(--nv-font-sans);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: #d8d3cd;
}

.nv-btn--withdrawal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 0.8rem 1.35rem;
	border: 1px solid rgba(255, 255, 255, 0.92);
	border-radius: var(--nv-radius-sm);
	background: var(--nv-white);
	font-family: var(--nv-font-sans);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--nv-black);
	text-decoration: none;
	white-space: nowrap;
	transition: background var(--nv-transition), color var(--nv-transition), border-color var(--nv-transition), transform var(--nv-transition);
}

.nv-btn--withdrawal:hover,
.nv-btn--withdrawal:focus-visible {
	background: transparent;
	border-color: var(--nv-white);
	color: var(--nv-white);
	transform: translateY(-1px);
}

.nv-site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	font-size: 0.8rem;
	color: #b8b3ae;
}

/* Mobile */
@media (max-width: 1024px) {
	.nv-trust-tiles,
	.nv-product-grid { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }

	.nv-product-slider__track > .nv-product-card {
		flex-basis: calc((100% - clamp(1.5rem, 3vw, 2.25rem)) / 2);
	}

	.nv-product-slider__btn--prev {
		left: 0.25rem;
		transform: none;
	}

	.nv-product-slider__btn--prev:hover:not(:disabled) {
		transform: translateY(-1px);
	}

	.nv-product-slider__btn--next {
		right: 0.25rem;
		transform: none;
	}

	.nv-product-slider__btn--next:hover:not(:disabled) {
		transform: translateY(-1px);
	}
	.nv-concern-grid,
	.nv-testimonial-grid,
	.nv-blog-grid { grid-template-columns: repeat(2, 1fr); }
	.nv-brand-grid { grid-template-columns: repeat(3, 1fr); }
	.nv-pom,
	.nv-about-teaser,
	.nv-newsletter { grid-template-columns: 1fr; }

	.nv-pom {
		gap: 1.75rem;
		padding-top: 1.75rem;
	}

	.nv-pom__visual {
		min-height: 16rem;
	}

	.nv-pom__content {
		max-width: none;
	}

	.nv-pom-trust__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.nv-pom-trust__item:nth-child(2) {
		border-right: 0;
	}

	.nv-pom-trust__item:nth-child(1),
	.nv-pom-trust__item:nth-child(2) {
		border-bottom: 1px solid rgba(95, 117, 145, 0.12);
	}

	.nv-btn--pom {
		width: 100%;
	}
	.nv-site-footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 1181px) and (max-width: 1320px) {
	.nv-nav__list {
		gap: 0.85rem;
	}

	.nv-nav__link {
		font-size: 0.75rem;
	}
}

@media (min-width: 1181px) {
	.nv-site-header__inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1.25rem 2rem;
	}

	.nv-site-header__start {
		display: none;
	}

	.nv-site-header__logo {
		justify-self: auto;
		flex: 0 0 auto;
		align-self: center;
	}

	.nv-site-header__logo img,
	.nv-site-header__logo .custom-logo {
		max-height: 54px;
	}

	.nv-site-header {
		overflow: visible;
	}

	.nv-nav {
		flex: 1 1 auto;
		display: flex;
		justify-content: center;
		position: static;
		transform: none;
		width: auto;
		background: transparent;
		box-shadow: none;
		overflow: visible;
	}

	.nv-nav__root-row {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 1.15rem;
		flex-wrap: nowrap;
	}

	.nv-header-finder--mobile {
		display: none !important;
	}

	.nv-header-finder--bar {
		display: none !important;
	}

	.nv-nav__mega {
		display: block;
		position: fixed;
		left: 0;
		right: 0;
		width: 100%;
		top: var(--nv-mega-top, 72px);
		padding: 1.35rem 0 1.75rem;
		background: var(--nv-white);
		border-top: 1px solid var(--nv-gray-100);
		box-shadow: var(--nv-shadow-md);
		z-index: 300;
		opacity: 0;
		visibility: hidden;
		transform: translate3d(0, -10px, 0);
		pointer-events: none;
		transition:
			opacity var(--nv-duration-fast) var(--nv-ease-out),
			transform 0.34s var(--nv-ease-out),
			visibility 0s linear 0.34s;
	}

	.nv-nav__mega::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 100%;
		height: 0.85rem;
	}

	.nv-nav__mega-inner {
		padding-inline: var(--nv-gutter);
		opacity: 0;
		transform: translate3d(0, 6px, 0);
		transition:
			opacity 0.32s var(--nv-ease-out) 0.04s,
			transform 0.36s var(--nv-ease-out) 0.04s;
	}

	.nv-nav__mega-list--mobile {
		display: none;
	}

	.nv-nav__mega-item:hover > .nv-nav__mega,
	.nv-nav__mega-item:focus-within > .nv-nav__mega,
	.nv-nav__mega-item.is-mega-open > .nv-nav__mega {
		opacity: 1;
		visibility: visible;
		transform: translate3d(0, 0, 0);
		pointer-events: auto;
		transition:
			opacity var(--nv-duration-fast) var(--nv-ease-out),
			transform 0.34s var(--nv-ease-out),
			visibility 0s;
	}

	.nv-nav__mega-item:hover > .nv-nav__mega .nv-nav__mega-inner,
	.nv-nav__mega-item:focus-within > .nv-nav__mega .nv-nav__mega-inner,
	.nv-nav__mega-item.is-mega-open > .nv-nav__mega .nv-nav__mega-inner {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	.nv-nav__mega-item.is-mega-open > .nv-nav__item-row > .nv-nav__link::after,
	.nv-nav__mega-item:hover > .nv-nav__item-row > .nv-nav__link::after,
	.nv-nav__mega-item:focus-within > .nv-nav__item-row > .nv-nav__link::after {
		transform: rotate(-135deg) translateY(-1px);
	}

	.nv-nav__mega-list--concerns .nv-nav__mega-card-item {
		opacity: 0;
		transform: translate3d(0, 8px, 0);
		transition:
			opacity 0.3s var(--nv-ease-out),
			transform 0.34s var(--nv-ease-out);
	}

	.nv-nav__mega-item:hover > .nv-nav__mega .nv-nav__mega-list--concerns .nv-nav__mega-card-item,
	.nv-nav__mega-item:focus-within > .nv-nav__mega .nv-nav__mega-list--concerns .nv-nav__mega-card-item,
	.nv-nav__mega-item.is-mega-open > .nv-nav__mega .nv-nav__mega-list--concerns .nv-nav__mega-card-item {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}

	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(1) { transition-delay: 0.04s; }
	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(2) { transition-delay: 0.07s; }
	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(3) { transition-delay: 0.1s; }
	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(4) { transition-delay: 0.13s; }
	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(5) { transition-delay: 0.16s; }
	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(6) { transition-delay: 0.19s; }
	.nv-nav__mega-list--concerns .nv-nav__mega-card-item:nth-child(n + 7) { transition-delay: 0.22s; }

	.nv-nav__mega-item > .nv-nav__mega .sub-menu:not(.nv-nav__mega-list--mobile) {
		display: grid;
		position: static;
		min-width: 0;
		padding: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.nv-nav__mega-item:hover > .nv-nav__item-row > .nv-nav__link,
	.nv-nav__mega-item:focus-within > .nv-nav__item-row > .nv-nav__link {
		color: var(--nv-blue-dark);
	}

	.nv-nav__mobile-shell {
		display: contents;
	}

	.nv-nav__toolbar {
		display: none;
	}

	.nv-nav__viewport {
		display: block;
		overflow: visible;
	}

	.nv-nav__track {
		display: block;
		width: auto;
		height: auto;
		transform: none !important;
	}

	.nv-nav__panel {
		width: auto;
		height: auto;
		overflow: visible;
		padding: 0;
	}

	.nv-nav__panel--sub {
		display: none !important;
	}

	.nv-nav-toggle {
		display: none;
	}
}

@media (max-width: 1180px) {
	.nv-site-header__inner {
		grid-template-columns: 1fr auto 1fr;
	}

	.nv-header-finder--desktop {
		display: none !important;
	}

	.nv-header-finder--mobile {
		display: flex;
	}

	.nv-header-finder--bar {
		display: inline-flex;
	}

	.nv-nav__root-row {
		display: block;
	}

	.nv-nav__panel--root .nv-header-finder--desktop {
		display: none !important;
	}

	.nv-site-header__start {
		justify-self: start;
	}

	.nv-site-header__logo {
		justify-self: center;
	}

	.nv-header__actions {
		justify-self: end;
	}

	.nv-nav-overlay {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 250;
		background: rgba(18, 13, 13, 0.45);
		opacity: 0;
		transition: opacity 0.3s var(--nv-ease-out);
	}

	.nv-nav-overlay:not([hidden]) {
		opacity: 1;
	}

	.nv-nav-overlay[hidden] {
		display: none;
	}

	.nv-nav {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		z-index: 300;
		grid-area: unset;
		width: min(100%, 380px);
		max-width: 100%;
		height: 100dvh;
		background: var(--nv-white);
		box-shadow: var(--nv-shadow-md);
		transform: translateX(-105%);
		transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
		pointer-events: none;
	}

	.nv-nav.is-open {
		transform: translateX(0);
		pointer-events: auto;
	}

	.nv-nav__mobile-shell {
		display: flex;
		flex-direction: column;
		height: 100%;
		min-height: 0;
	}

	.nv-nav__toolbar {
		display: grid;
		grid-template-columns: auto 1fr auto;
		align-items: center;
		gap: 0.5rem;
		min-height: var(--nv-header-height);
		padding: 0 1rem;
		border-bottom: 1px solid var(--nv-gray-100);
	}

	.nv-nav__panel-title {
		margin: 0;
		font-family: var(--nv-font-sans);
		font-size: 0.95rem;
		font-weight: 600;
		text-align: center;
		color: var(--nv-gray-900);
	}

	.nv-nav__back,
	.nv-nav__close {
		display: inline-flex;
		align-items: center;
		gap: 0.25rem;
		min-width: 44px;
		min-height: 44px;
		padding: 0 0.5rem;
		border: 0;
		border-radius: var(--nv-radius-sm);
		background: transparent;
		color: var(--nv-gray-900);
	}

	.nv-nav__back[hidden] {
		display: none;
	}

	.nv-nav__back-label {
		font-size: 0.85rem;
		font-weight: 500;
	}

	.nv-nav__viewport {
		position: relative;
		display: block;
		flex: 1;
		min-height: 0;
		overflow: hidden;
	}

	.nv-nav__track {
		position: relative;
		width: 100%;
		height: 100%;
	}

	.nv-nav__panel {
		width: 100%;
		height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
		padding: 0.5rem 0 2rem;
		-webkit-overflow-scrolling: touch;
		transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s ease;
	}

	.nv-nav__panel--sub {
		position: absolute;
		inset: 0;
		z-index: 2;
		background: var(--nv-white);
		transform: translateX(100%);
		visibility: hidden;
		pointer-events: none;
	}

	.nv-nav__track.is-sub-open .nv-nav__panel--root {
		transform: translateX(-18%);
		opacity: 0.35;
	}

	.nv-nav__track.is-sub-open .nv-nav__panel--sub {
		transform: translateX(0);
		visibility: visible;
		pointer-events: auto;
	}

	.nv-nav__panel--root .nv-nav__list,
	.nv-nav__list--sub {
		flex-direction: column;
		align-items: stretch;
		gap: 0;
	}

	.nv-nav .menu-item {
		border-bottom: 1px solid var(--nv-gray-100);
	}

	.nv-nav .menu-item-has-children::after {
		display: none;
	}

	.nv-nav .menu-item-has-children > .nv-nav__item-row > .nv-nav__link::after {
		display: none;
	}

	.nv-nav__item-row {
		width: 100%;
	}

	.nv-nav .nv-nav__link {
		flex: 1;
		padding: 1rem 1.25rem;
		white-space: normal;
		font-size: 0.95rem;
	}

	.nv-nav__item-row {
		justify-content: space-between;
	}

	.nv-nav__subtoggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 44px;
		height: 44px;
		margin-right: 0.35rem;
		border: 0;
		border-radius: 50%;
		background: var(--nv-gray-50);
		color: var(--nv-gray-700);
	}

	.nv-nav__subtoggle-icon {
		display: block;
		width: 0.5rem;
		height: 0.5rem;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		transform: rotate(-45deg) translateX(-1px);
	}

	.nv-nav .menu-item-has-children > .nv-nav__item-row {
		cursor: pointer;
	}

	.nv-nav .sub-menu,
	.nv-nav__mega {
		display: none !important;
	}

	.nv-nav__link--overview {
		font-weight: 600;
		color: var(--nv-blue-dark);
	}

	.nv-nav__list--sub .nv-nav__mega-card {
		flex-direction: row;
		align-items: center;
		min-height: 0;
		margin: 0 1rem;
		border: 0;
		border-radius: var(--nv-radius-sm);
		background: transparent;
		transform: none;
	}

	.nv-nav__list--sub .nv-nav__mega-card:hover,
	.nv-nav__list--sub .nv-nav__mega-card:focus-visible {
		background: var(--nv-gray-50);
		box-shadow: none;
		transform: none;
	}

	.nv-nav__list--sub .nv-nav__mega-card__media {
		position: relative;
		flex-shrink: 0;
		width: 56px;
		height: 56px;
		border-radius: var(--nv-radius-sm);
	}

	.nv-nav__list--sub .nv-nav__mega-card__overlay {
		display: none;
	}

	.nv-nav__list--sub .nv-nav__mega-card__body {
		min-height: 0;
		padding: 0.75rem 0.85rem;
		justify-content: center;
	}

	.nv-nav__list--sub .nv-nav__mega-card__title {
		color: var(--nv-gray-900);
		font-size: 0.95rem;
	}

	.nv-nav__list--sub .nv-nav__mega-card__desc {
		display: none;
	}

	.nv-nav__list--sub .nv-nav__mega-link {
		padding: 1rem 1.25rem;
		font-size: 0.95rem;
	}

	.nv-nav__list--sub .nv-nav__mega-mobile-heading {
		padding: 0.85rem 1.25rem 0.35rem;
	}

	.nv-nav__list--sub .nv-nav__mega-brand-card {
		flex-direction: row;
		align-items: center;
		min-height: 0;
		margin: 0;
		padding: 0.85rem 1.25rem;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
		transform: none;
	}

	.nv-nav__list--sub .nv-nav__mega-brand-card:hover,
	.nv-nav__list--sub .nv-nav__mega-brand-card:focus-visible {
		background: var(--nv-gray-50);
		box-shadow: none;
		transform: none;
	}

	.nv-nav__list--sub .nv-nav__mega-brand-card__logo {
		min-height: 0;
		width: 3.5rem;
		margin: 0 0.85rem 0 0;
	}

	.nv-nav__list--sub .nv-nav__mega-brand-card__logo img {
		max-height: 2rem;
	}
}

@media (max-width: 768px) {

	.nv-concern-grid,
	.nv-section .nv-product-grid,
	.nv-testimonial-grid,
	.nv-blog-grid,
	.nv-brand-grid {
		grid-template-columns: 1fr;
	}

	.nv-trust-tiles {
		grid-template-columns: 1fr;
		gap: 0.85rem;
	}

	.nv-trust-tile {
		padding: 1.15rem 0.85rem;
	}

	.nv-trust-tile__symbol {
		font-size: 1.75rem;
	}

	.nv-trust-tile__title {
		font-size: 0.92rem;
	}

	.nv-trust-tile__text {
		font-size: 0.78rem;
		line-height: 1.4;
	}

	.nv-pom-trust__list {
		grid-template-columns: 1fr;
	}

	.nv-pom-trust__item {
		justify-content: flex-start;
		min-height: 3.5rem;
		padding: 0.85rem 1rem;
		font-size: 0.78rem;
		border-right: 0;
		border-bottom: 1px solid rgba(95, 117, 145, 0.12);
	}

	.nv-pom-trust__item:last-child {
		border-bottom: 0;
	}

	.nv-pom__stamp {
		left: 0.75rem;
		bottom: 0.75rem;
	}

	.nv-btn--pom {
		width: 100%;
	}

	.nv-product-slider__track > .nv-product-card {
		flex-basis: min(82vw, 320px);
	}

	.nv-section--trust {
		margin-top: 0;
		padding-bottom: clamp(3rem, 8vw, 5rem);
	}

	.nv-section--trust::before {
		top: 0;
	}

	.nv-hero__actions { flex-direction: column; }
	.nv-hero__actions .nv-btn { width: 100%; }

	.nv-newsletter__form-row { flex-direction: column; }

	.nv-site-footer__grid { grid-template-columns: 1fr; }
}

/* Migrated page content (ex–WPBakery pages) */
.nv-entry-content {
	font-family: var(--nv-font-sans);
	font-size: 1rem;
	line-height: 1.75;
	color: var(--nv-gray-700);
}

.nv-entry-content > *:first-child { margin-top: 0; }
.nv-entry-content > *:last-child { margin-bottom: 0; }

.nv-entry-content h2,
.nv-entry-content h3,
.nv-entry-content h4 {
	margin: 2rem 0 0.75rem;
	font-family: var(--nv-font-serif);
	font-weight: 600;
	color: var(--nv-gray-900);
}

.nv-entry-content h2 { font-size: clamp(1.5rem, 3vw, 2rem); }
.nv-entry-content h3 { font-size: 1.35rem; }

.nv-entry-content p,
.nv-entry-content ul,
.nv-entry-content ol {
	margin: 0 0 1.25rem;
}

.nv-entry-content ul,
.nv-entry-content ol {
	padding-left: 1.25rem;
}

.nv-entry-content a {
	color: var(--nv-blue-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.nv-entry-content img,
.nv-entry-content .nv-migrated-image {
	max-width: 100%;
	height: auto;
	border-radius: var(--nv-radius-md);
	margin: 1.5rem 0;
}

.nv-entry-content .nv-migrated-actions {
	margin: 1.5rem 0 2rem;
}

.nv-entry-content .nv-migrated-products {
	margin-top: 1rem;
}
