/*
 * 2026 rebuild — chrome + section styles for pages using get_header('rebuild').
 * Tokens come from main.css (--pv-color-*, --pv-goal-*, --pv-text-*).
 * Interaction specs from the Figma annotations:
 *  - menu: black indicator bar slides between items; arrow appears subtly
 *  - footer links: underline draws in left→right
 *  - buttons: arrow appears, text shifts left to make room
 */

body.pv-2026 {
	background: var(--pv-color-white);
	color: var(--pv-color-black);
	font-family: var(--pv-font-body);
	font-size: var(--pv-text-body);
	font-weight: 400; /* Figma running text is Public Sans Regular */
	line-height: var(--pv-leading-body);
	-webkit-font-smoothing: antialiased; /* Figma parity — subpixel AA fattens glyphs */
	-moz-osx-font-smoothing: grayscale;
}

.pv-2026 .pv26-main { display: block; }

/* ── Header ─────────────────────────────────────────────────────────── */

.pv26-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: var(--pv-color-white);
}

.pv26-header__bar {
	position: relative; /* anchors the indicator AND full-width dropdown */
	display: flex;
	align-items: stretch;
	height: 80px;
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px; /* header content sits on the same 48/1392 lines as the hero */
}

.pv26-header__logo {
	display: flex;
	align-items: center;
	padding: 0 40px 0 0; /* flush left with the hero edge */
	border-right: 1px solid var(--pv-border-default);
}

.pv26-header__logo img { height: 46px; width: auto; }

.pv26-header__nav {
	display: flex;
	align-items: stretch;
}

.pv26-header__item {
	display: flex;
	border-right: 1px solid var(--pv-border-default);
}

.pv26-header__link {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 0 26px;
	font-family: var(--pv-font-heading);
	font-size: 14px;
	font-weight: 400;
	color: var(--pv-color-black);
	text-decoration: none;
	white-space: nowrap;
}

.pv26-header__arrow {
	display: inline-flex;
	align-items: center;
	max-width: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-width 0.25s ease, opacity 0.25s ease;
}

.pv26-arrow { display: block; flex: none; }

.pv26-header__link:hover .pv26-header__arrow,
.pv26-header__dropdown a:hover .pv26-header__arrow {
	max-width: 1.2em;
	opacity: 1;
}

/* Sliding black indicator (positioned by rebuild.js) */
.pv26-header__indicator {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 3px;
	width: 0;
	background: var(--pv-color-black);
	transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1), width 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s ease;
	opacity: 0;
}

.pv26-header__nav.has-active .pv26-header__indicator { opacity: 1; }

/* Dropdown panels */
.pv26-header__dropdown {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--pv-color-white);
	border-radius: 0 0 var(--pv-radius) var(--pv-radius);
	box-shadow: 0 24px 40px rgba(0, 0, 0, 0.08);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
}

.pv26-header__item.has-dropdown:hover .pv26-header__dropdown,
.pv26-header__item.has-dropdown:focus-within .pv26-header__dropdown {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pv26-header__dropdown-inner {
	padding: 48px 40px 56px;
}

.pv26-header__dropdown-title {
	font-weight: 700;
	margin: 0 0 32px;
}

.pv26-header__dropdown-list {
	list-style: none;
	margin: 0;
	padding: 0;
	max-width: 420px; /* Figma: underlines hug a single column, not the panel */
}

.pv26-header__dropdown-list.is-columns {
	column-count: 2;
	column-gap: 72px;
	max-width: 912px;
}

.pv26-header__dropdown-list li {
	break-inside: avoid;
	border-bottom: 1px solid var(--pv-border-default);
}

.pv26-header__dropdown-list a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 16px 0;
	color: var(--pv-color-black);
	text-decoration: none;
	font-size: 20px;
	font-weight: 400;
}

.pv26-header__dropdown-cta {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 24px;
	margin-top: 32px;
	font-weight: 700;
}

.pv26-header__actions {
	display: flex;
	align-items: stretch;
	margin-left: auto;
}

.pv26-header__actions > * {
	position: relative;
	display: flex;
	align-items: center;
	padding: 0 22px;
	border-left: 1px solid var(--pv-border-default);
	font-size: 14px;
}

.pv26-header__actions .pv-header__icon svg { height: 19px; width: auto; }

.pv26-header__actions .pv-header__cart-count {
	position: absolute;
	top: 22px;
	right: 12px;
	min-width: 17px;
	height: 17px;
	padding: 0 4px;
	display: grid;
	place-content: center;
	border-radius: var(--pv-radius-full);
	background: var(--pv-color-accent);
	color: var(--pv-color-white);
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}

.pv26-header__actions .pv-header__cart-count.is-empty { display: none; }

.pv26-header__actions > *:last-child { padding-right: 0; } /* flush right with the hero edge */

/* ── Buttons ────────────────────────────────────────────────────────── */

.pv26-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	padding: 14px 30px;
	border-radius: var(--pv-radius-full);
	font-family: var(--pv-font-body);
	font-size: var(--pv-text-body);
	font-weight: 500;
	line-height: var(--pv-leading-body);
	text-decoration: none;
	cursor: pointer;
	border: 0;
	transition: gap 0.25s ease;
}

.pv26-btn--primary { background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-btn--outline { background: transparent; color: var(--pv-color-black); border: 1px solid var(--pv-color-black); }
.pv26-btn--outline-light { background: transparent; color: var(--pv-color-white); border: 1px solid var(--pv-color-white); }

.pv26-btn__arrow {
	display: inline-flex;
	align-items: center;
	max-width: 0;
	opacity: 0;
	overflow: hidden;
	transition: max-width 0.25s ease, opacity 0.25s ease;
}

.pv26-btn:hover { gap: 8px; }
.pv26-btn:hover .pv26-btn__arrow { max-width: 1.2em; opacity: 1; }

/* ── Hero ───────────────────────────────────────────────────────────── */

.pv26-hero {
	padding: 0 48px;
	max-width: var(--pv-page-max);
	margin: 0 auto;
}

.pv26-hero__media {
	position: relative;
	height: 700px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
}

.pv26-hero__media.is-placeholder {
	background:
		radial-gradient(120% 90% at 78% 40%, #d9cfc4 0%, rgba(217, 207, 196, 0) 60%),
		linear-gradient(135deg, #efe9e1 0%, #e4dbd0 55%, #d8ccc0 100%);
}

.pv26-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.pv26-hero__content {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: clamp(32px, 8.6%, 122px);
	max-width: 660px;
}

.pv26-hero__title {
	margin: 0 0 34px;
	font-family: var(--pv-font-heading);
	font-size: var(--pv-text-h1);
	font-weight: 700;
	line-height: var(--pv-leading-tight);
	color: var(--pv-color-white);
}

.pv26-hero__sub {
	margin: 0 0 42px;
	max-width: 615px;
	color: var(--pv-color-black);
}

.pv26-hero__ctas { display: flex; gap: 18px; }
.pv26-hero__ctas .pv26-btn--primary { font-size: 13px; font-weight: 700; }

/* ── Newsletter + footer ────────────────────────────────────────────── */

.pv26-newsletter {
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px;
}

.pv26-newsletter__inner {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 64px;
	align-items: center;
	border-radius: 26px;
	padding: 56px 64px;
	color: var(--pv-color-white);
	background:
		radial-gradient(90% 130% at 85% 10%, rgba(239, 126, 63, 0.55) 0%, rgba(239, 126, 63, 0) 55%),
		radial-gradient(120% 160% at 15% 90%, #3c2f55 0%, rgba(60, 47, 85, 0) 70%),
		linear-gradient(115deg, #4a3a63 0%, var(--pv-color-primary) 60%, #9a5f8d 100%);
}

.pv26-newsletter__title {
	margin: 0;
	align-self: center;
	font-family: var(--pv-font-heading);
	font-size: var(--pv-text-h2);
	font-weight: 700;
	line-height: 1.1;
}

.pv26-newsletter__lead { margin: 0 0 18px; }

.pv26-newsletter__form { display: flex; gap: 12px; }

.pv26-newsletter__input {
	flex: 1;
	border: 0;
	border-radius: var(--pv-radius-full);
	padding: 14px 24px;
	font: inherit;
	color: var(--pv-color-black);
	background: rgba(255, 255, 255, 0.55);
}

.pv26-newsletter__input::placeholder { color: rgba(0, 0, 0, 0.55); }

.pv26-newsletter__consent {
	display: flex;
	gap: 10px;
	margin-top: 16px;
	font-size: var(--pv-text-label);
	align-items: flex-start;
}

.pv26-newsletter__consent input {
	appearance: none;
	-webkit-appearance: none;
	flex: none;
	width: 20px;
	height: 20px;
	margin-top: 1px;
	border: 1.5px solid var(--pv-color-white);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	display: inline-grid;
	place-content: center;
}

.pv26-newsletter__consent input::before {
	content: '';
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--pv-color-white);
	transform: scale(0);
	transition: transform 0.15s ease;
}

.pv26-newsletter__consent input:checked::before { transform: scale(1); }
.pv26-newsletter__inner > * { position: relative; z-index: 1; }


.pv26-footer {
	margin-top: 56px;
	padding-bottom: 40px;
}

.pv26-footer__panel {
	max-width: var(--pv-page-max);
	margin: 56px auto 0;
	padding: 0 48px;
}

/* Currency switcher stands on its own, no chrome (Rein). */
.pv26-footer__currency { display: inline-flex; align-items: center; gap: 8px; flex: none; }
.pv26-footer__payrow { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }

.pv26-flag { display: block; flex: none; width: 20px; height: 20px; border-radius: 50%; }

.pv26-currency-form { display: inline-flex; align-items: center; }

.pv26-currency-select {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='black' fill='none' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right center no-repeat;
	font: inherit;
	font-size: 14px;
	font-weight: 500;
	color: var(--pv-color-black);
	cursor: pointer;
	padding: 0 18px 0 0;
	line-height: 1;
}

.pv26-footer__cols {
	display: grid;
	grid-template-columns: repeat(5, 1fr); /* Goals column dropped (Rein, 2026-09-08) */
	gap: 0;
	background: var(--pv-color-grey);
	border-radius: 26px;
	padding: 64px 12px;
}

.pv26-footer__col { padding: 0 28px; min-width: 0; }
.pv26-footer__col + .pv26-footer__col { border-left: 1px solid var(--pv-border-default); }

.pv26-footer__heading {
	margin: 0 0 18px;
	font-size: var(--pv-text-label);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--pv-goal-foundation);
}

.pv26-footer__col ul { list-style: none; margin: 0; padding: 0; font-size: 14px; }
.pv26-footer__col li { margin: 0 0 12px; }

.pv26-footer__col a {
	color: var(--pv-color-black);
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-repeat: no-repeat;
	background-position: 0 100%;
	background-size: 0 1px;
	transition: background-size 0.25s ease;
}

.pv26-footer__col a:hover { background-size: 100% 1px; }

.pv26-footer__meta,
.pv26-footer__legal {
	max-width: var(--pv-page-max);
	margin: 44px auto 0;
	padding: 0 48px;
}

.pv26-footer__meta {
	display: grid;
	grid-template-columns: 2fr 1fr; /* icons 2/3, disclaimer 1/3 — one line (Rein) */
	gap: 48px;
	align-items: start;
}

/* Payment marks: one slim, quiet strip (32px) — a trust line, not buttons. */
.pv26-footer__payments {
	display: inline-flex;
	gap: 16px;
	flex-wrap: wrap;
	align-items: center;
	min-height: 36px;
	padding: 8px 22px;
	border-radius: var(--pv-radius-full);
	background: var(--pv-color-grey);
}

.pv26-footer__payments img, .pv26-footer__payments svg { height: 14px; width: auto; }
.pv26-footer__payments img[src*='ideal'], .pv26-footer__payments img[src*='wero'], .pv26-footer__payments img[src*='mobilepay'] { height: 17px; }

/* Payment marks live in soft pill chips (Figma). */
.pv26-footer__payments > * {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 24px;
	padding: 0;
	background: transparent;
	overflow: visible;
}

.pv26-footer__paylabel { font-size: 12px; }

.pv26-footer__disclaimer {
	margin: 0;
	font-size: 14px;
	color: var(--pv-color-black);
}

.pv26-footer__legal {
	display: flex;
	gap: 10px;
	margin-top: 28px;
	font-size: 14px;
	color: var(--pv-color-black);
}

.pv26-footer__legal a { color: inherit; }
.pv26-footer__legal > * + *::before { content: '-'; margin-right: 10px; }

.pv26-footer__legal a { color: inherit; text-decoration: none; }
.pv26-footer__legal a:hover { text-decoration: underline; }

/* ── Section stubs (visible skeleton during the build) ──────────────── */

.pv26-stub {
	max-width: var(--pv-page-max);
	margin: 24px auto;
	padding: 0 48px;
}

.pv26-stub__inner {
	border: 2px dashed var(--pv-border-default);
	border-radius: 26px;
	padding: 72px 0;
	text-align: center;
	color: var(--pv-neutral-300);
	font-family: var(--pv-font-heading);
}

@media (prefers-reduced-motion: reduce) {
	.pv26-header__indicator,
	.pv26-header__arrow,
	.pv26-btn,
	.pv26-btn__arrow,
	.pv26-footer__col a,
	.pv26-header__dropdown { transition: none; }
}

/* ── Shared section primitives ──────────────────────────────────────── */

.pv26-reviews, .pv26-partner, .pv26-goals, .pv26-formula, .pv26-bestsellers,
.pv26-quality, .pv26-membership {
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px;
}

.pv26-partner, .pv26-goals, .pv26-formula, .pv26-bestsellers, .pv26-quality,
.pv26-membership { margin-top: 82px; }

.pv26-articles { margin-top: 82px; }

.pv26-reviews + .pv26-partner { margin-top: 26px; } /* strip hugs hero + partner */

.pv26-h2 {
	margin: 0 0 40px;
	font-size: var(--pv-text-h2);
	font-weight: 700;
	line-height: 1;
}

.pv26-h2--funnel { font-family: var(--pv-font-heading); }

.pv26-section-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	margin-bottom: 40px;
}

.pv26-section-head .pv26-h2 { margin-bottom: 10px; }
.pv26-section-head__sub { margin: 0; }
.pv26-section-head--ondark { color: var(--pv-color-white); }

.pv26-card {
	border-radius: 26px;
	position: relative;
	overflow: hidden;
	padding: 64px 96px;
	min-height: 533px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.pv26-card--orange {
	color: var(--pv-color-black);
	background:
		radial-gradient(85% 120% at 82% 18%, #f9a03f 0%, rgba(249, 160, 63, 0) 60%),
		radial-gradient(110% 140% at 12% 88%, #d95f27 0%, rgba(217, 95, 39, 0) 65%),
		linear-gradient(120deg, #f08a45 0%, var(--pv-color-accent) 55%, #e2661f 100%);
}

.pv26-card--purple {
	color: var(--pv-color-white);
	background:
		radial-gradient(80% 120% at 80% 15%, #8d5f86 0%, rgba(141, 95, 134, 0) 55%),
		radial-gradient(100% 130% at 20% 95%, #2c2440 0%, rgba(44, 36, 64, 0) 70%),
		linear-gradient(120deg, #3a3153 0%, var(--pv-goal-foundation) 50%, var(--pv-color-primary) 100%);
}

/* LifeCells — rebuilt in CSS (Rein, 2026-09-02) so the circles can float
 * independently: a base gradient per surface, then two translucent
 * gradient discs (::before = the light/left cell, ::after = the dark/right
 * cell) that drift on opposite paths. Colours sampled from the AI masters
 * (assets/img/lifecells/*.webp stay for the static goal cards).
 * Per-surface knobs: --pv-lc-base, --pv-lc-a/--pv-lc-b (disc fills),
 * --pv-lc-a-size/-x/-y and --pv-lc-b-size/-x/-y (disc diameter as % of
 * the surface width, and position of the disc's top-left corner). */
.pv26-lifecells {
	isolation: isolate;
	background: var(--pv-lc-base);
}

.pv26-lifecells::before,
.pv26-lifecells::after {
	content: '';
	position: absolute;
	aspect-ratio: 1;
	border-radius: 50%;
	pointer-events: none;
	will-change: transform;
}

.pv26-lifecells::before {
	width: var(--pv-lc-a-size, 40%);
	left: var(--pv-lc-a-x, 3%);
	top: var(--pv-lc-a-y, -6%);
	background: var(--pv-lc-a);
	animation: pv26-cell-a 34s ease-in-out infinite alternate;
}

.pv26-lifecells::after {
	width: var(--pv-lc-b-size, 44%);
	left: var(--pv-lc-b-x, 48%);
	top: var(--pv-lc-b-y, 42%);
	background: var(--pv-lc-b);
	animation: pv26-cell-b 42s ease-in-out infinite alternate;
}

/* Opposite journeys; % here is of the disc itself, so ~10% ≈ 50px on a card. */
@keyframes pv26-cell-a {
	from { transform: translate(-9%, 7%) scale(0.97); }
	45%  { transform: translate(3%, -4%) scale(1.04); }
	to   { transform: translate(9%, 5%) scale(1); }
}

@keyframes pv26-cell-b {
	from { transform: translate(8%, -6%) scale(1.03); }
	55%  { transform: translate(-3%, 3%) scale(0.98); }
	to   { transform: translate(-9%, -8%) scale(1.05); }
}

/* Orange (partner + membership cards, quiz card) */
.pv26-card--orange, .pv26-quiz-card {
	--pv-lc-base:
		radial-gradient(circle 620px at 108% 18%, rgba(214, 78, 32, 0.32) 0%, rgba(214, 78, 32, 0.32) 99%, transparent 100%),
		linear-gradient(112deg, #f7923f 0%, #f27e3c 42%, #e6662c 76%, #dd5a2a 100%);
	--pv-lc-a: radial-gradient(circle at 68% 28%, rgba(255, 201, 96, 0.82) 0%, rgba(252, 170, 66, 0.72) 48%, rgba(246, 141, 58, 0.64) 100%);
	--pv-lc-b: radial-gradient(circle at 42% 32%, rgba(206, 74, 30, 0.58) 0%, rgba(184, 50, 22, 0.66) 70%, rgba(170, 44, 20, 0.7) 100%);
}

/* Purple (quality card, newsletter) */
.pv26-card--purple, .pv26-newsletter__inner {
	--pv-lc-base:
		radial-gradient(circle 560px at 92% 118%, rgba(36, 30, 56, 0.55) 0%, rgba(36, 30, 56, 0.55) 99%, transparent 100%),
		linear-gradient(108deg, #2a2340 0%, #3c2f5e 34%, #5a3c8c 66%, #7c3f73 100%);
	--pv-lc-a: radial-gradient(circle at 28% 24%, rgba(118, 108, 176, 0.62) 0%, rgba(150, 118, 170, 0.66) 48%, rgba(240, 166, 130, 0.84) 100%);
	--pv-lc-b: radial-gradient(circle at 34% 26%, rgba(116, 72, 192, 0.72) 0%, rgba(96, 96, 186, 0.7) 58%, rgba(84, 122, 190, 0.66) 100%);
}

/* Tall, narrow quiz card: bigger discs, hugging the right edge like the artwork */
.pv26-quiz-card {
	--pv-lc-a-size: 120%; --pv-lc-a-x: -55%; --pv-lc-a-y: 38%;
	--pv-lc-b-size: 130%; --pv-lc-b-x: 30%;  --pv-lc-b-y: 58%;
}

/* Newsletter band is wide and short: discs overshoot the height on purpose */
.pv26-newsletter__inner {
	--pv-lc-a-size: 46%; --pv-lc-a-x: 8%;  --pv-lc-a-y: -70%;
	--pv-lc-b-size: 52%; --pv-lc-b-x: 46%; --pv-lc-b-y: -30%;
}

.pv26-newsletter__inner > * { position: relative; z-index: 1; }

.pv26-card > * { position: relative; z-index: 1; }

/* ── Reviews strip ──────────────────────────────────────────────────── */

.pv26-reviews {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 26px;
	min-height: 38px;
}

.pv26-reviews__link { text-decoration: underline; text-underline-position: from-font; }

.pv26-reviews__link {
	flex: none;
	font-size: var(--pv-text-label);
	color: var(--pv-color-black);
}

.pv26-reviews__ticker {
	flex: 1;
	overflow: hidden;
	white-space: nowrap;
	mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
	-webkit-mask-image: linear-gradient(to right, transparent, #000 8%, #000 92%, transparent);
}

.pv26-reviews__track {
	display: inline-flex;
	gap: 72px;
	padding-right: 72px;
	animation: pv26-ticker 40s linear infinite;
}

.pv26-reviews__quote { font-size: var(--pv-text-label); }

@keyframes pv26-ticker {
	to { transform: translateX(-50%); }
}

/* ── Partner / membership cards ─────────────────────────────────────── */

.pv26-partner__grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 64px;
	align-items: center;
}

.pv26-partner__title {
	margin: 0 0 36px;
	font-size: 49px;
	font-weight: 700;
	line-height: 1;
	color: var(--pv-color-white);
	max-width: 360px;
}

.pv26-membership__title {
	margin: 0 0 24px;
	font-family: var(--pv-font-heading);
	font-size: 49px;
	font-weight: 700;
	line-height: 1;
	color: var(--pv-color-white);
}

.pv26-partner__text { margin: 0 0 22px; max-width: 480px; }
.pv26-partner__copy .pv26-btn { margin-top: 14px; }
.pv26-partner__media { display: flex; justify-content: center; }
.pv26-partner__media img { max-width: 100%; height: auto; border-radius: var(--pv-radius); transform: scale(1.2); transform-origin: center; } /* a bit larger than the column (Rein, 2026-09-10); the render is transparent so it may overlap the card's air */

/* Membership card: the photo is a full-bleed layer on the right (Figma
 * 4002:10379 — the image covers the card, subject on the right), cropped to
 * the card height and faded on its left edge so its own orange melts into
 * the gradient. Copy stays above the CSS cells; photo above them too. */
.pv26-membership .pv26-partner__grid { position: static; display: block; }
.pv26-membership .pv26-partner__copy { position: relative; z-index: 2; max-width: 545px; }
.pv26-membership .pv26-membership__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 52%;
	z-index: 1;
	display: block;
}
/* Only photos with a baked background get the fade (template sniffs alpha). */
.pv26-membership .pv26-membership__media--opaque {
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 30%);
	mask-image: linear-gradient(to right, transparent 0%, #000 30%);
}
.pv26-membership .pv26-membership__media img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 55% 50%;
	border-radius: 0;
	display: block;
}
.pv26-membership .pv26-membership__media:empty { display: none; }

.pv26-btn--small { font-size: 13px; font-weight: 700; }

.pv26-checklist {
	list-style: none;
	margin: 6px 0 10px;
	padding: 0;
}

.pv26-checklist li {
	position: relative;
	padding-left: 30px;
	margin-bottom: 10px;
}

.pv26-checklist li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--pv-color-black);
}

.pv26-checklist li::after {
	content: '';
	position: absolute;
	left: 5px;
	top: 6px;
	width: 8px;
	height: 5px;
	border-left: 1.6px solid #fff;
	border-bottom: 1.6px solid #fff;
	transform: rotate(-45deg);
}

/* ── Goal cards ─────────────────────────────────────────────────────── */

.pv26-goals__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.pv26-goal-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 13px;
	min-height: 263px;
	padding: 43px 36px;
	border-radius: 12px;
	overflow: hidden;
	background: var(--pv-color-grey);
	color: var(--pv-color-black);
	text-decoration: none;
}

.pv26-goal-card__bg {
	position: absolute;
	inset: 1px; /* stay inside the card's rounded clip — avoids a corner seam */
	border-radius: 11px;
}

/* Beige cover hides the artwork; slides up on hover, leaving the artwork
 * in place (Figma: background reveals, does not move). 29px strip at rest. */
.pv26-goal-card__cover {
	position: absolute;
	inset: -1px; /* overlap the clip edge so no artwork hairline shows */
	background: var(--pv-color-grey);
	transform: translateY(-29px);
	transition: transform 0.45s cubic-bezier(0.33, 1, 0.68, 1);
}

.pv26-goal-card:hover .pv26-goal-card__cover,
.pv26-goal-card:focus-visible .pv26-goal-card__cover { transform: translateY(-101%); }

/* Dark artworks need light text once revealed. */
.pv26-goal-card--foundation:hover, .pv26-goal-card--foundation:focus-visible,
.pv26-goal-card--balance:hover, .pv26-goal-card--balance:focus-visible,
.pv26-goal-card--renewal:hover, .pv26-goal-card--renewal:focus-visible {
	color: var(--pv-color-white);
}

.pv26-goal-card--foundation:hover .pv26-goal-card__circle,
.pv26-goal-card--balance:hover .pv26-goal-card__circle,
.pv26-goal-card--renewal:hover .pv26-goal-card__circle {
	border-color: var(--pv-color-white);
}

.pv26-goal-card { transition: color 0.3s ease; }

.pv26-goal-card__bg { background-size: cover; background-position: center; }
.pv26-goal-card--recovery   .pv26-goal-card__bg { background-image: url('../img/lifecells/lifecells-recovery.webp'); }
.pv26-goal-card--energy     .pv26-goal-card__bg { background-image: url('../img/lifecells/lifecells-energy.webp'); }
.pv26-goal-card--resilience .pv26-goal-card__bg { background-image: url('../img/lifecells/lifecells-resilience.webp'); }
.pv26-goal-card--renewal    .pv26-goal-card__bg { background-image: url('../img/lifecells/lifecells-renewal.webp'); }
.pv26-goal-card--balance    .pv26-goal-card__bg { background-image: url('../img/lifecells/lifecells-balance.webp'); }
.pv26-goal-card--foundation .pv26-goal-card__bg { background-image: url('../img/lifecells/lifecells-foundation.webp'); }

.pv26-goal-card > span:not(.pv26-goal-card__bg):not(.pv26-goal-card__cover) { position: relative; }
.pv26-goal-card__label { font-size: var(--pv-text-label); }

.pv26-goal-card__title {
	font-family: var(--pv-font-heading);
	font-size: 34px;
	font-weight: 700;
	line-height: 1.2;
	max-width: 307px;
}

.pv26-goal-card__cta {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	font-weight: 500;
}

.pv26-goal-card__circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid var(--pv-color-black);
	transition: background 0.3s ease, color 0.3s ease;
}

.pv26-goal-card:hover .pv26-goal-card__circle {
	background: var(--pv-color-black);
	color: var(--pv-color-white);
	border-color: var(--pv-color-black);
}

.pv26-goal-card__circle .pv26-arrow { width: 12px; height: 12px; }

/* ── Formula cards ──────────────────────────────────────────────────── */

.pv26-formula__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.pv26-formula__card {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 560px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
	box-shadow: 0 18px 34px rgba(0, 0, 0, 0.07);
}

.pv26-formula__media { position: absolute; inset: 0; background: #d7d2c9; }
.pv26-formula__media.is-placeholder { background: linear-gradient(160deg, #ddd8cf 0%, #c9c2b6 100%); }
.pv26-formula__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pv26-formula__body {
	position: relative;
	min-height: 236px; /* equal frosted panels across the row */
	padding: 34px 36px 40px;
	background: rgba(248, 247, 243, 0.44);
	border-top: 1px solid rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.pv26-formula__body h3 {
	margin: 0 0 16px;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.15;
}

.pv26-formula__body p { margin: 0; }

/* ── Bestsellers / product cards ────────────────────────────────────── */

.pv26-bestsellers__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.pv26-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 22px 24px 28px;
	border-radius: 16px;
	background: var(--pv-color-grey);
	color: var(--pv-color-black);
	text-decoration: none;
	transition: background 0.35s ease;
}

.pv26-chip {
	display: inline-flex;
	padding: 5px 12px;
	border: 1px solid var(--pv-color-black);
	border-radius: var(--pv-radius-full);
	font-size: 12px;
	background: transparent;
	transition: background 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.pv26-product-card__chips { display: flex; gap: 8px; flex-wrap: wrap; }

.pv26-product-card:hover .pv26-chip--recovery { background: var(--pv-goal-recovery); border-color: var(--pv-goal-recovery); }
.pv26-product-card:hover .pv26-chip--energy { background: var(--pv-goal-energy); border-color: var(--pv-goal-energy); }
.pv26-product-card:hover .pv26-chip--resilience { background: var(--pv-goal-resilience); border-color: var(--pv-goal-resilience); }
.pv26-product-card:hover .pv26-chip--renewal { background: var(--pv-goal-renewal); border-color: var(--pv-goal-renewal); }
.pv26-product-card:hover .pv26-chip--balance { background: var(--pv-goal-balance); border-color: var(--pv-goal-balance); color: #fff; }
.pv26-product-card:hover .pv26-chip--foundation { background: var(--pv-goal-foundation); border-color: var(--pv-goal-foundation); color: #fff; }
.pv26-product-card:hover .pv26-chip--bestseller { background: var(--pv-color-black); color: var(--pv-color-white); }

.pv26-product-card__media {
	position: relative;
	height: 285px;
	margin: 12px 0 18px;
}

.pv26-product-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	/* The renders carry a 10% safe-box margin — scale past it so bottles
	 * sit as large as the Figma cards. */
	transform: scale(1.34);
	transition: opacity 0.35s ease;
}

.pv26-product-card__img--alt { opacity: 0; }
.pv26-product-card:hover .pv26-product-card__img--alt { opacity: 1; }
.pv26-product-card:hover .pv26-product-card__media img:not(.pv26-product-card__img--alt) { opacity: 0; }

.pv26-product-card__type { font-size: var(--pv-text-label); margin-bottom: 4px; }
.pv26-product-card__name { font-size: 16px; font-weight: 700; margin-bottom: 8px; }
.pv26-product-card__desc {
	margin-bottom: 14px;
	font-size: 13px;
	font-weight: 400;
	color: var(--pv-neutral-400);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pv26-product-card__price { font-weight: 700; margin-bottom: 18px; }
.pv26-product-card .pv26-btn { align-self: flex-start; margin-top: auto; }

.pv26-quiz-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 44px 34px;
	border-radius: 16px;
	overflow: hidden;
	color: var(--pv-color-white);
	background: var(--pv-lc-base); /* LifeCells CSS base (defined with the orange knobs above) */
}

.pv26-quiz-card > * { position: relative; z-index: 1; }

.pv26-quiz-card__title {
	margin: 0 0 auto;
	font-family: var(--pv-font-heading);
	font-size: 40px;
	font-weight: 700;
	line-height: 1.05;
}

.pv26-quiz-card__text { margin: 26px 0 22px; }
.pv26-quiz-card .pv26-btn { align-self: flex-start; }

/* ── Quality carousel ───────────────────────────────────────────────── */

.pv26-quality .pv26-card { padding: 72px 74px 56px; }

/* Cards run to the card's right edge (Figma: last card bleeds off). */
.pv26-quality .pv26-carousel__track { margin: 0 -74px; padding: 0 74px; scroll-padding-left: 74px; } /* slides to both card edges (Rein, 2026-09-07) */

.pv26-quality__card {
	flex: 0 0 317px; /* Figma: 317x342, 3.7 cards visible */
	min-height: 342px;
	border-radius: 16px;
	padding: 64px 26px 44px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.42) 100%);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.5);
	color: var(--pv-color-black);
}

.pv26-quality__card h3 {
	margin: 0 0 28px;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--pv-goal-foundation);
	max-width: 255px;
}

.pv26-quality__card p { margin: 0; }

/* ── Carousel primitive ─────────────────────────────────────────────── */

.pv26-carousel { position: relative; }

.pv26-carousel__track {
	display: flex;
	gap: 26px;
	overflow-x: auto;
	scrollbar-width: none;
	cursor: grab;
	padding-bottom: 6px;
}

.pv26-carousel__track::-webkit-scrollbar { display: none; }
.pv26-carousel__track.is-dragging { cursor: grabbing; user-select: none; }
.pv26-carousel__track a { cursor: inherit; }
.pv26-carousel__track img, .pv26-carousel__track a, .pv26-gallery__track img { -webkit-user-drag: none; user-select: none; }

.pv26-carousel__progress {
	height: 4px;
	max-width: 453px; /* Figma: 453x4, left-aligned */
	margin-top: 28px;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.25);
	overflow: hidden;
}

.pv26-articles .pv26-carousel__progress { background: rgba(0, 0, 0, 0.1); }

.pv26-carousel__progress span {
	display: block;
	height: 100%;
	width: 20%;
	border-radius: 3px;
	background: currentColor;
	transition: width 0.15s ease, transform 0.15s ease;
}

/* ── Articles ───────────────────────────────────────────────────────── */

.pv26-articles {
	max-width: var(--pv-page-max);
	margin: 82px auto 0;
	padding: 0 48px;
}

.pv26-articles__inner {
	background: var(--pv-color-grey);
	border-radius: 26px;
	padding: 64px 74px 56px;
	overflow: hidden;
}

.pv26-articles .pv26-carousel__track { margin: 0 -74px; padding: 0 74px; scroll-padding-left: 74px; }

.pv26-article-card {
	flex: 0 0 772px; /* Figma: 772x380, 50/50 split */
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-radius: 16px;
	overflow: hidden;
	background: var(--pv-color-white);
	min-height: 380px;
}

.pv26-article-card__media { background: #d7d2c9; display: block; }
.pv26-article-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pv26-article-card__body {
	padding: 40px;
	display: flex;
	flex-direction: column;
}

.pv26-article-card__body h3 {
	margin: 0 0 20px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

.pv26-article-card__body h3 a { color: inherit; text-decoration: none; }
.pv26-article-card__body p { margin: 0 0 24px; }

.pv26-article-card__more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--pv-color-black);
	text-decoration: none;
	font-weight: 500;
}

.pv26-article-card__more .pv26-arrow { transition: transform 0.25s ease; }
.pv26-article-card:hover .pv26-article-card__more .pv26-arrow { transform: translateX(5px); }

.pv26-membership { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
	.pv26-lifecells::before, .pv26-lifecells::after, .pv26-reviews__track { animation: none; }
	.pv26-goal-card__bg, .pv26-product-card__media img { transition: none; }
}

/* ── Shop page ──────────────────────────────────────────────────────── */

.pv26-shop-hero {
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px;
}

.pv26-shop-hero__media {
	position: relative;
	height: 500px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
}

.pv26-shop-hero__media.is-placeholder { background: linear-gradient(135deg, #efe9e1 0%, #d8ccc0 100%); }

/* Two classes: core's img[width] { height: auto } outranks one and left a strip under the 899px-tall placeholder. */
.pv26-shop-hero__media .pv26-shop-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.pv26-shop-hero__content {
	position: absolute;
	top: 92px;
	left: clamp(32px, 8.6%, 122px);
	max-width: 546px;
}

.pv26-shop-hero__title {
	margin: 0 0 24px;
	font-size: var(--pv-text-h2);
	font-weight: 700;
	line-height: 1;
	color: var(--pv-color-white);
}

.pv26-shop-hero__intro { margin: 0; max-width: 481px; line-height: 1.4; }

.pv26-shop {
	max-width: var(--pv-page-max);
	margin: 52px auto 0;
	padding: 0 48px;
}

.pv26-shop-filters {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-bottom: 26px;
}

.pv26-shop-filters__label { font-weight: 700; }
.pv26-shop-filters__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.pv26-shop-filters__label--show { margin-left: 26px; }
.pv26-chip--new { background: var(--pv-goal-energy); color: var(--pv-color-black); }

.pv26-chip--filter {
	padding: 7px 12px;
	font: inherit;
	font-size: var(--pv-text-label);
	line-height: 1.2;
	color: var(--pv-color-black);
	text-decoration: none;
	cursor: pointer;
}

.pv26-chip--filter:hover { background: var(--pv-color-grey); }
.pv26-chip--filter.is-active { background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-chip--filter:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }
.pv26-shop-grid .pv26-product-card.is-hidden { display: none; }
.pv26-shop-grid .pv26-product-card, .pv26-quiz-card--shop { will-change: transform; }

.pv26-shop-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 26px;
}

.pv26-shop-grid .pv26-product-card { min-height: 553px; }
.pv26-quiz-card--shop { min-height: 553px; }
.pv26-shop-grid__empty { grid-column: 1 / -1; padding: 40px 0; color: var(--pv-neutral-300); }

/* FAQ: intro left, accordion right (Figma 4001:6555 region). */
.pv26-faq {
	display: grid;
	grid-template-columns: 545px 1fr;
	gap: 26px;
	max-width: var(--pv-page-max);
	margin: 82px auto 0;
	padding: 0 48px;
	align-items: stretch;
}

/* Left column: heading + intro at the top, "more questions" box pinned to the bottom (Figma). */
.pv26-faq__intro { display: flex; flex-direction: column; }
.pv26-faq__intro .pv26-h2 { margin-bottom: 24px; }
.pv26-faq__intro > p { margin: 0 0 32px; max-width: 417px; }

.pv26-faq__more {
	margin-top: auto;
	padding: 26px 32px;
	border-radius: 16px;
	background: var(--pv-color-grey);
	max-width: 545px;
}

.pv26-faq__more a { color: inherit; text-decoration: underline; text-underline-position: from-font; }

.pv26-accordion { max-width: 772px; margin-left: auto; }
.pv26-accordion__item { border-bottom: 1px solid var(--pv-border-default); }
.pv26-accordion__item:last-child { border-bottom: 0; }

.pv26-accordion__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding: 22px 0;
	border: 0;
	background: none;
	font: inherit;
	font-weight: 700; /* Figma: body 16 bold, not a heading size */
	text-align: left;
	cursor: pointer;
	color: var(--pv-color-black);
}

/* + that turns into − (Figma annotation). */
.pv26-accordion__icon {
	position: relative;
	flex: none;
	width: 14px;
	height: 14px;
}

.pv26-accordion__icon::before,
.pv26-accordion__icon::after {
	content: '';
	position: absolute;
	inset: 50% auto auto 0;
	width: 14px;
	height: 1.6px;
	background: currentColor;
	transform: translateY(-50%);
	transition: transform 0.3s ease;
}

.pv26-accordion__icon::after { transform: translateY(-50%) rotate(90deg); }
.pv26-accordion__item.is-open .pv26-accordion__icon::after { transform: translateY(-50%) rotate(0deg); }

.pv26-accordion__a {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.35s ease;
}

.pv26-accordion__a > div { overflow: hidden; }
.pv26-accordion__a p { margin: 0 0 22px; max-width: 619px; }
.pv26-accordion__item.is-open .pv26-accordion__a { grid-template-rows: 1fr; }

/* Static artwork surfaces — kept at the END so it outranks the cards' own gradients (Rein, 2026-09-02): partner card, quality card and
 * the newsletter band keep the real LifeCells bitmap, no motion. */
.pv26-lifecells-img {
	background: var(--pv-lc) center / cover no-repeat, var(--pv-lc-base);
}

.pv26-card--orange { --pv-lc: url('../img/lifecells/lifecells-orange.webp'); }
.pv26-card--purple, .pv26-newsletter__inner { --pv-lc: url('../img/lifecells/lifecells-purple.webp'); }


/* ── Product page (Figma 4001:7599) ─────────────────────────────────── */

.pv26-product {
	display: grid;
	grid-template-columns: 659px 1fr;
	column-gap: 30px;
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px;
}

/* Gallery card sits flush under the header (Figma y=80). */
.pv26-gallery {
	position: relative;
	height: 598px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
}

.pv26-gallery__track {
	display: flex;
	height: 100%;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

/* Flex, not grid: max-height:100% on the image only resolves against a
   definite height, and a grid auto row is not one — the 563px image was
   overflowing a 502px box and getting clipped more at the bottom. */
.pv26-gallery__slide {
	flex: 0 0 100%;
	box-sizing: border-box;
	height: 100%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}

/* Renders carry ~10% canvas margin; scale them so the jar fills the card like Figma (≈73% of the height). */
.pv26-gallery__img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; transform: scale(1.24); transform-origin: center; } /* jar ≈ 73% of the card; the render's own 18% margin absorbs the overflow */
/* Photos / graphics with their own background fill the card edge to edge. */
.pv26-gallery__slide--photo { padding: 0; }
.pv26-gallery__slide--photo .pv26-gallery__img { width: 100%; height: 100%; max-height: none; object-fit: cover; transform: none; }

/* Video slide: a self-hosted file covers the card like a photo; an embed
 * (Vimeo/YouTube, square) sits centred over its poster and fades in once
 * the player has loaded. */
.pv26-gallery__slide--video { position: relative; background: var(--pv-color-grey); }
video.pv26-gallery__video { display: block; width: 100%; height: 100%; object-fit: cover; }
iframe.pv26-gallery__video { position: absolute; left: 0; top: 50%; width: 100%; aspect-ratio: 1 / 1; height: auto; min-height: 100%; border: 0; transform: translateY(-50%); opacity: 0; transition: opacity 0.4s ease; pointer-events: none; }
.pv26-gallery__slide--video.is-loaded iframe.pv26-gallery__video { opacity: 1; pointer-events: auto; }

.pv26-gallery__arrow {
	position: absolute;
	top: 50%;
	width: 30px;
	height: 30px;
	display: grid;
	place-items: center;
	border: 0;
	border-radius: 50%;
	background: var(--pv-color-white);
	color: var(--pv-color-black);
	cursor: pointer;
	transform: translateY(-50%);
	transition: transform 0.2s ease, background 0.2s ease;
}

.pv26-gallery__arrow--prev { left: 56px; } /* same inset both sides (Rein) */
.pv26-gallery__arrow--prev svg { transform: rotate(180deg); }
.pv26-gallery__arrow--next { right: 56px; }
.pv26-gallery__arrow:hover { background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-gallery__arrow svg { width: 11px; height: auto; }

.pv26-gallery__progress {
	position: relative;
	width: 330px;
	height: 4px;
	margin-top: 26px;
	background: rgba(0, 0, 0, 0.1);
	border-radius: 2px;
	overflow: hidden;
}

.pv26-gallery__progress span {
	position: absolute;
	inset: 0 auto 0 0;
	width: 100%;
	background: var(--pv-color-black);
	border-radius: 2px;
	transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

/* Three static lifestyle images: one wide (659×280), two small (316×280). */
.pv26-product__lifestyle {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 26px 27px;
	margin-top: 30px;
}

.pv26-product__lifestyle-item {
	height: 280px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
}

.pv26-product__lifestyle-item--1 { grid-column: 1 / -1; }
.pv26-product__lifestyle-item img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Summary column: everything, the intro text included, runs to the page edge like the header (Rein, 2026-09-08). */
.pv26-product__summary { padding-top: 53px; }

.pv26-product__type { display: block; margin-bottom: 9px; }

.pv26-product__title {
	margin: 0 0 7px;
	font-family: var(--pv-font-body);
	font-size: 40px; /* Rein: 40, not Figma's 49 */
	font-weight: 700;
	line-height: 1;
}

.pv26-product__rating {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--pv-color-black);
	text-decoration: none;
}

.pv26-stars { display: inline-flex; gap: 2px; color: var(--pv-color-black); }
.pv26-product__rating u { text-underline-position: from-font; }

.pv26-product__intro { margin: 33px 0 0; line-height: 1.4; } /* full column width, aligned with the header edge (Rein, 2026-09-08) */
.pv26-product__intro p { margin: 0 0 1em; }
.pv26-product__intro p:last-child { margin-bottom: 0; }

.pv26-product__form { margin-top: 32px; }

/* WooCommerce variation form → Figma chips + purchase cards + black pill. */
.pv26-product__form table.variations { margin: 0; border: 0; }
.pv26-product__form table.variations th,
.pv26-product__form table.variations td { padding: 0; border: 0; display: block; }
.pv26-product__form table.variations th.label { padding-bottom: 7px; font-weight: 700; text-align: left; }
.pv26-product__form table.variations th.label label { font-weight: 700; }
.pv26-product__form .reset_variations { display: none !important; }

.pv26-product__form .pv-swatches { gap: 10px; margin: 0; }
.pv26-product__form .pv-swatches .pv-swatch {
	min-width: 151px;
	height: 50px;
	padding: 0 24px;
	border: 1px solid var(--pv-color-black);
	border-radius: 25px;
	background: var(--pv-color-white);
	color: var(--pv-color-black);
	font-size: var(--pv-text-body);
}
.pv26-product__form .pv-swatches .pv-swatch:focus:not(:focus-visible) { outline: none; box-shadow: none; }
.pv26-product__form .pv-swatches .pv-swatch:hover:not(:disabled) { background: var(--pv-color-grey); border-color: var(--pv-color-black); color: var(--pv-color-black); }
.pv26-product__form .pv-swatches .pv-swatch.is-selected,
.pv26-product__form .pv-swatches .pv-swatch.is-selected:hover { background: var(--pv-color-black); border-color: var(--pv-color-black); color: var(--pv-color-white); }

.pv26-product__form .single_variation_wrap { margin-top: 44px; }
/* APFS renders the plan cards INSIDE .woocommerce-variation-price on variable
   products (see purchase-options.css), so only the duplicated price line is
   hidden here, never the container. */
.pv26-product__form .woocommerce-variation-price > .price,
.pv26-product__form .woocommerce-variation-availability { display: none; }

.pv26-product__form .pv-purchase-options { --pv-po-accent: var(--pv-color-black); --pv-po-border: var(--pv-color-black); --pv-po-surface: var(--pv-color-grey); --pv-po-text-muted: var(--pv-color-black); margin: 0 0 26px; }
.pv26-product__form .pv-purchase-option__title, .pv26-product__form .pv-purchase-option.is-selected .pv-purchase-option__title { color: var(--pv-color-black); }
.pv26-product__form .pv-purchase-option__benefits { list-style: none; padding: 0; }
.pv26-product__form .pv-purchase-option__benefit::before { content: none; }
.pv26-product__form .pv-purchase-options__list { gap: 26px; }

.pv26-product__form .pv-purchase-option {
	position: relative;
	border: 1px solid var(--pv-color-black);
	border-radius: 32px;
	background: var(--pv-color-white);
}
.pv26-product__form .pv-purchase-option--subscription { border-radius: 26px; }
/* Selected = 1px border + 1px inset ring: reads as 2px without shifting the content. */
.pv26-product__form .pv-purchase-option.is-selected { background: var(--pv-color-grey); box-shadow: inset 0 0 0 2px var(--pv-color-black); outline: none; } /* 1px border + 2px ring = Figma's 3px */
.pv26-product__form .pv-purchase-option:focus-within { outline: none; box-shadow: none; }
.pv26-product__form .pv-purchase-option.is-selected:focus-within { box-shadow: inset 0 0 0 2px var(--pv-color-black); }
.pv26-product__form .pv-purchase-option:has(.pv-purchase-option__input:focus-visible) { outline: 2px solid var(--pv-color-black); outline-offset: 3px; }
.pv26-product__form .pv-purchase-option--subscription .pv-purchase-option__label { padding: 24px 27px 26px; }
.pv26-product__form .pv-purchase-option__text { display: block; margin-top: 8px; font-size: 13px; line-height: 1.5; max-width: 300px; }
.pv26-product__form .pv-purchase-option__input:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }
.pv26-product__form .pv-purchase-option__input:checked { box-shadow: none; background: var(--pv-color-white); }

.pv26-product__form .pv-purchase-option__badge {
	position: absolute;
	top: -18px;
	right: 32px;
	transform: none; /* legacy CSS centres it on the edge; Figma: 13px inside */
	z-index: 1;
	padding: 8px 12px;
	border-radius: 20px;
	background: var(--pv-color-black);
	color: var(--pv-color-white);
	font-size: 12px;
	line-height: 1.2;
}

.pv26-product__form .pv-purchase-option__label {
	display: grid;
	grid-template-columns: 22px 1fr;
	gap: 0 8px;
	align-items: start;
	padding: 20px 28px 20px 28px;
	cursor: pointer;
}
.pv26-product__form .pv-purchase-option--subscription .pv-purchase-option__label { padding: 26px 28px 28px; }

.pv26-product__form .pv-purchase-option__input {
	appearance: none;
	-webkit-appearance: none;
	width: 22px;
	height: 22px;
	margin: 0;
	border: 1px solid var(--pv-color-black);
	border-radius: 50%;
	background: var(--pv-color-white);
	display: grid;
	place-content: center;
	cursor: pointer;
}
.pv26-product__form .pv-purchase-option__input::before {
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--pv-color-black);
	transform: scale(0);
	transition: transform 0.15s ease;
}
.pv26-product__form .pv-purchase-option__input:checked::before { transform: scale(1); }

.pv26-product__form .pv-purchase-option__body { display: block; }
.pv26-product__form .pv-purchase-option__heading {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
}
.pv26-product__form .pv-purchase-option__title { font-weight: 700; line-height: 1.35; }
.pv26-product__form .pv-purchase-option__price { text-align: right; line-height: 1.35; white-space: nowrap; }
.pv26-product__form .pv-purchase-option__price .woocommerce-Price-amount { font-weight: 400; }
.pv26-product__form .pv-purchase-option__price del { display: none; }
.pv26-product__form .pv-purchase-option__price .subscription-details { display: block; font-size: 13px; }
.pv26-product__form .pv-purchase-option__benefits { display: block; margin: 14px 0 0; padding: 0; font-size: 13px; line-height: 1.5; max-width: 300px; }
.pv26-product__form .pv-purchase-option__benefit { display: block; }

.pv26-product__form .woocommerce-variation-add-to-cart { display: block; }
.pv26-product__form .quantity { display: none !important; }
.pv26-product__form .single_add_to_cart_button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 50px;
	margin: 0;
	padding: 0 30px;
	border: 0;
	border-radius: 25px;
	background: var(--pv-color-black);
	color: var(--pv-color-white);
	font: inherit;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s ease;
}
.pv26-product__form .single_add_to_cart_button .pv26-btn__icon { display: inline-flex; align-items: center; }
.pv26-product__form .single_add_to_cart_button .pv26-btn__icon svg { height: 18px; width: auto; }
.pv26-product__form .single_add_to_cart_button:hover { background: #222; }
.pv26-product__form .single_add_to_cart_button.disabled { opacity: 0.5; cursor: not-allowed; }
.pv26-product__form .wc-forward, .pv26-product__form .added_to_cart { display: none; }

/* Details accordion: Ingredients / dose / shipping (rows 84px, no top rule) */
.pv26-product__details { margin-top: 40px; } /* accordions start on the column's left edge and run to the page edge */
.pv26-product__details .pv26-accordion__q { padding: 19px 0; } /* Figma rows ≈ 60px */
.pv26-product__details .pv26-accordion__item.is-open .pv26-accordion__q { padding-bottom: 8px; }
.pv26-product__details .pv26-accordion__a p { margin: 0 0 0.6em; }
.pv26-product__details .pv26-accordion__a > div > :last-child { margin-bottom: 26px; }

/* Delivery technology: text card left, 659×500 image right, centred */
.pv26-delivery {
	display: grid;
	grid-template-columns: 659px 659px;
	justify-content: space-between;
	align-items: center;
	max-width: var(--pv-page-max);
	margin: 104px auto 0;
	padding: 0 48px;
}

.pv26-delivery__copy { padding: 26px 52px; }
.pv26-delivery__copy .pv26-h2 { margin-bottom: 24px; max-width: 525px; }
.pv26-delivery__text { max-width: 543px; line-height: 1.4; }
.pv26-delivery__text p { margin: 0 0 1em; }
.pv26-delivery__copy .pv26-btn { margin-top: 10px; }

.pv26-delivery__media {
	height: 500px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
}
.pv26-delivery__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Research card (1344×544, grey, radius 26) */
.pv26-research {
	max-width: var(--pv-page-max);
	margin: 160px auto 0;
	padding: 0 48px;
}
.pv26-delivery + .pv26-research { margin-top: 160px; }
.pv26-product + .pv26-research { margin-top: 104px; }

.pv26-research__card {
	display: grid;
	grid-template-columns: 431px 1fr;
	column-gap: 202px;
	min-height: 544px;
	padding: 62px 25px 62px 54px;
	border-radius: 26px;
	background: var(--pv-color-grey);
}

.pv26-research__intro .pv26-h2 { margin-bottom: 24px; }
.pv26-research__text { max-width: 415px; line-height: 1.4; }
.pv26-research__text p { margin: 0 0 1em; }

.pv26-research__list { max-width: 628px; margin: 0; }
.pv26-research__list .pv26-accordion__item { border-color: var(--pv-color-black); }
.pv26-research__list .pv26-accordion__q { padding: 20px 0; }
.pv26-research__list .pv26-accordion__a > div { font-weight: 500; }
.pv26-research__list .pv26-accordion__a p { margin: 0 0 22px; max-width: 515px; }
.pv26-research__list .pv26-accordion__a > div > :last-child { margin-bottom: 26px; }
.pv26-research__link { margin-top: 2px; }

/* Reviews (own cards from the Yotpo API) */
.pv26-product-reviews {
	max-width: var(--pv-page-max);
	margin: 75px auto 0;
	padding: 0 48px;
}
.pv26-product-reviews .pv26-h2 { margin-bottom: 28px; }
.pv26-product-reviews__lead { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 47px; }
.pv26-product-reviews__intro { margin: 0; max-width: 417px; line-height: 1.4; }
.pv26-product-reviews__all { display: inline-flex; align-items: center; gap: 0; color: var(--pv-color-black); font-weight: 500; text-decoration: none; white-space: nowrap; transition: gap 0.25s ease; }
.pv26-product-reviews__all:hover { gap: 8px; }
.pv26-product-reviews__all:hover .pv26-btn__arrow { max-width: 1.2em; opacity: 1; }
.pv26-product-reviews .pv26-carousel__track { margin-right: calc(-1 * var(--pv-edge, 48px)); padding-right: var(--pv-edge, 48px); } /* bleeds to the page edge, whatever the edge is */
.pv26-product-reviews .pv26-carousel__progress { margin-top: 26px; background: rgba(0, 0, 0, 0.1); }

.pv26-review-card {
	flex: 0 0 431px;
	display: flex;
	flex-direction: column;
	min-height: 273px;
	padding: 40px 38px 30px;
	border-radius: 26px;
	background: var(--pv-color-grey);
}

.pv26-review-card__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-bottom: 18px;
}
.pv26-review-card__product { font-size: 13px; }
.pv26-review-card__title { margin: 0; font-family: var(--pv-font-body); font-size: var(--pv-text-body); font-weight: 700; line-height: 1.35; }
.pv26-review-card__text { margin: 0 0 16px; max-width: 355px; font-weight: 500; line-height: 1.35; }
.pv26-review-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin-bottom: 18px; font-size: 13px; }
.pv26-review-card__name { font-weight: 700; }
.pv26-review-card__verified { display: inline-flex; align-items: center; gap: 4px; }
.pv26-review-card__verified::before { content: ''; width: 12px; height: 12px; border-radius: 50%; background: var(--pv-color-black) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 6.2l2 2 4-4.4' fill='none' stroke='white' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat; }
.pv26-review-card__meta time { color: rgba(0, 0, 0, 0.55); }
.pv26-review-card__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--pv-color-black);
	text-decoration: none;
	font-weight: 500;
}
.pv26-review-card__arrow { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-review-card__arrow svg { width: 10px; height: auto; }

/* Independently tested (purple artwork card, photo on the right) */
.pv26-tested {
	max-width: var(--pv-page-max);
	margin: 56px auto 0;
	padding: 0 48px;
}

.pv26-tested__card { min-height: 540px; padding: 118px 114px; }
.pv26-tested__copy { position: relative; z-index: 2; max-width: 473px; }
.pv26-tested__title { margin: 0 0 24px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; color: var(--pv-color-white); }
.pv26-tested__text { margin: 0 0 32px; max-width: 471px; line-height: 1.4; color: var(--pv-color-white); }
.pv26-checklist--light { color: var(--pv-color-white); }
.pv26-checklist--light li::before { background: var(--pv-color-white); }
.pv26-checklist--light li::after { border-color: var(--pv-color-black); }
.pv26-tested__copy .pv26-btn { margin-top: 32px; background: var(--pv-color-black); color: var(--pv-color-white); }

.pv26-tested__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 52%;
	z-index: 1;
}
.pv26-tested__media img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 55% 50%; display: block; }

.pv26-faq--product { margin-top: 62px; }

/* Add-to-cart in flight: the bag icon becomes a spinner, the label dims. */
.pv26-product__form .single_add_to_cart_button.is-loading { pointer-events: none; }
.pv26-product__form .single_add_to_cart_button.is-loading .pv26-btn__text { opacity: 0.6; }
.pv26-product__form .single_add_to_cart_button.is-loading .pv26-btn__icon svg { display: none; }
.pv26-product__form .single_add_to_cart_button.is-loading .pv26-btn__icon::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: var(--pv-color-white);
	border-radius: 50%;
	animation: pv26-spin 0.7s linear infinite;
}
.pv26-product__form .single_add_to_cart_button.is-done .pv26-btn__icon svg { display: none; }
.pv26-product__form .single_add_to_cart_button.is-done .pv26-btn__icon::before {
	content: '';
	display: block;
	width: 8px;
	height: 5px;
	margin-top: -3px;
	border-left: 2px solid var(--pv-color-white);
	border-bottom: 2px solid var(--pv-color-white);
	transform: rotate(-45deg);
}
@keyframes pv26-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pv26-product__form .single_add_to_cart_button.is-loading .pv26-btn__icon::before { animation-duration: 1.4s; } }

/* ── Goals overview (Figma 2005:1051) ───────────────────────────────── */

.pv26-shop-hero--light .pv26-shop-hero__intro { color: var(--pv-color-white); }
.pv26-goals-hero .pv26-shop-hero__content { top: 92px; left: 113px; max-width: 617px; }
.pv26-goals-hero .pv26-shop-hero__intro { max-width: 542px; }
/* Purple LifeCells artwork is the permanent backdrop; the ACF image floats on the right. */
.pv26-goals-hero .pv26-shop-hero__media {
	background:
		url('../img/lifecells/lifecells-purple.webp') center / cover no-repeat,
		linear-gradient(108deg, #2a2340 0%, #3c2f5e 34%, #5a3c8c 66%, #7c3f73 100%);
}
.pv26-goals-hero .pv26-shop-hero__content { z-index: 2; }
.pv26-goals-hero__figure {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 56%;
	z-index: 1;
}
.pv26-goals-hero__figure img { width: 100%; height: 100%; max-width: none; object-fit: contain; object-position: right center; display: block; }
.pv26-goals-hero__figure.is-opaque img { object-fit: cover; object-position: 55% 50%; }
.pv26-goals-hero__figure.is-wide img { object-fit: cover; object-position: center; } /* 16:9 transparent renders (recovery) fill the 3:2 figure like the others */
.pv26-goals-hero__figure.is-opaque {
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 30%);
	mask-image: linear-gradient(to right, transparent 0%, #000 30%);
}

.pv26-goal-blocks {
	max-width: var(--pv-page-max);
	margin: 91px auto 0; /* hero bottom 580 → first block 671 */
	padding: 0 48px;
}

.pv26-goal-block {
	display: grid;
	grid-template-columns: 659px 659px;
	justify-content: space-between;
	align-items: center;
}

.pv26-goal-block + .pv26-goal-block { margin-top: 104px; }

/* Photo left on odd blocks; on even blocks the copy comes first. */
.pv26-goal-block--photo-left .pv26-goal-block__media { order: 1; }
.pv26-goal-block--photo-left .pv26-goal-block__copy { order: 2; }
.pv26-goal-block:not(.pv26-goal-block--photo-left) .pv26-goal-block__copy { order: 1; }
.pv26-goal-block:not(.pv26-goal-block--photo-left) .pv26-goal-block__media { order: 2; }

.pv26-goal-block__media {
	position: relative;
	height: 500px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
}
.pv26-goal-block__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-goal-block__media.is-artwork { background: var(--pv-lc) center / cover no-repeat; }

.pv26-goal-block__copy { padding: 30px 52px; }

.pv26-goal-chip {
	display: inline-flex;
	align-items: center;
	height: 34px;
	padding: 0 12px;
	border-radius: 40px;
	font-size: 13px;
	line-height: 1;
	color: var(--pv-color-black);
	background: var(--pv-color-grey);
}
.pv26-goal-chip--energy     { background: var(--pv-goal-energy); }
.pv26-goal-chip--recovery   { background: var(--pv-goal-recovery); }
.pv26-goal-chip--resilience { background: var(--pv-goal-resilience); color: var(--pv-color-white); }
.pv26-goal-chip--renewal    { background: var(--pv-goal-renewal); color: var(--pv-color-white); }
.pv26-goal-chip--balance    { background: var(--pv-goal-balance); color: var(--pv-color-white); }
.pv26-goal-chip--foundation { background: var(--pv-goal-foundation); color: var(--pv-color-white); }

.pv26-goal-block__title {
	margin: 24px 0 24px;
	font-family: var(--pv-font-body);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	max-width: 535px;
}
.pv26-goal-block__text { max-width: 553px; line-height: 1.4; }
.pv26-goal-block__text p { margin: 0 0 1em; }
.pv26-goal-block__copy .pv26-btn { margin-top: 12px; }

/* ── Goal page (Figma 2005:1166) ────────────────────────────────────── */

.pv26-goal-page { --pv-goal: var(--pv-color-grey); --pv-goal-ink: var(--pv-color-black); }
.pv26-goal-page--energy     { --pv-goal: var(--pv-goal-energy);     --pv-lc: url('../img/lifecells/lifecells-energy.webp'); }
.pv26-goal-page--recovery   { --pv-goal: var(--pv-goal-recovery);   --pv-lc: url('../img/lifecells/lifecells-recovery.webp'); }
.pv26-goal-page--resilience { --pv-goal: var(--pv-goal-resilience); --pv-lc: url('../img/lifecells/lifecells-resilience.webp'); }
.pv26-goal-page--renewal    { --pv-goal: var(--pv-goal-renewal);    --pv-lc: url('../img/lifecells/lifecells-renewal.webp'); --pv-goal-ink: var(--pv-color-white); }
.pv26-goal-page--balance    { --pv-goal: var(--pv-goal-balance);    --pv-lc: url('../img/lifecells/lifecells-balance.webp'); --pv-goal-ink: var(--pv-color-white); }
.pv26-goal-page--foundation { --pv-goal: var(--pv-goal-foundation); --pv-lc: url('../img/lifecells/lifecells-foundation.webp'); --pv-goal-ink: var(--pv-color-white); }
.pv26-goal-page .pv26-lifecells-img { background: var(--pv-lc) center / cover no-repeat, var(--pv-goal); }

/* Hero: goal artwork, black (or white on dark goals) copy, two buttons */
.pv26-goal-hero .pv26-shop-hero__title,
.pv26-goal-hero .pv26-shop-hero__intro { color: var(--pv-goal-ink); }
.pv26-goal-hero .pv26-shop-hero__content { top: 92px; left: 113px; max-width: 545px; z-index: 2; }
.pv26-goal-hero .pv26-shop-hero__intro { max-width: 543px; }
.pv26-goal-hero__ctas { display: flex; gap: 18px; margin-top: 36px; }
/* Only the hero's outline button goes white on the dark goals — the same rule once caught "View all supplements" under the cards (white on white, Rein 2026-09-08). */
.pv26-goal-page--renewal .pv26-goal-hero .pv26-btn--outline, .pv26-goal-page--balance .pv26-goal-hero .pv26-btn--outline, .pv26-goal-page--foundation .pv26-goal-hero .pv26-btn--outline { color: var(--pv-color-white); border-color: var(--pv-color-white); }
.pv26-goal-hero .pv26-goals-hero__figure { z-index: 1; }
/* The goal renders have capsules cut at the edges of the file itself, so wherever the whole file is shown the
   cut shows as a hard line (Rein, 2026-09-10: "capsules flying that are cut off on the edge"). Two things fix it
   at every width: the render COVERS its figure (file edges = figure edges, the bottle in the middle stays whole)
   and the figure fades out on all four sides, so anything reaching an edge dissolves into the goal colour. */
@media (min-width: 1024px) {
	.pv26-goal-hero .pv26-goals-hero__figure {
		-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 16%, #000 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
		mask-image: linear-gradient(to right, transparent 0%, #000 16%, #000 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%);
		-webkit-mask-composite: source-in;
		mask-composite: intersect;
	}
	.pv26-goal-hero .pv26-goals-hero__figure img { object-fit: cover; object-position: center; }
	/* The resilience file has capsules under the copy on the left: stronger left fade, crop follows the bottle. */
	.pv26-goal-page--resilience .pv26-goal-hero .pv26-goals-hero__figure { -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, #000 34%, #000 90%, transparent 100%), linear-gradient(to bottom, transparent 0%, #000 12%, #000 88%, transparent 100%); }
	.pv26-goal-page--resilience .pv26-goal-hero .pv26-goals-hero__figure img { object-position: right center; }
}

/* Intro: photo left, copy right */
.pv26-goal-intro {
	display: grid;
	grid-template-columns: 659px 659px;
	justify-content: space-between;
	align-items: center;
	max-width: var(--pv-page-max);
	margin: 105px auto 0;
	padding: 0 48px;
}
.pv26-goal-intro__media { height: 495px; border-radius: 26px; overflow: hidden; background: var(--pv-color-grey); }
.pv26-goal-intro__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-goal-intro__copy { padding: 26px 26px 26px 26px; }
.pv26-goal-intro__copy .pv26-h2 { margin-bottom: 26px; max-width: 570px; }
.pv26-goal-intro__text { max-width: 553px; line-height: 1.4; }
.pv26-goal-intro__text p { margin: 0 0 1em; }

/* Situations: grey card with three white cards */
.pv26-goal-situations { max-width: var(--pv-page-max); margin: 26px auto 0; padding: 0 48px; }
.pv26-goal-situations__card { padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-goal-situations__card .pv26-h2 { margin-bottom: 40px; }
.pv26-goal-situations__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.pv26-goal-situation { padding: 40px 27px 34px; border-radius: 16px; background: var(--pv-color-white); }
.pv26-goal-situation__title { margin: 0 0 22px; font-family: var(--pv-font-body); font-size: 30px; font-weight: 700; line-height: 1.1; max-width: 312px; }
.pv26-goal-situation__text { margin: 0; max-width: 330px; line-height: 1.4; }
.pv26-goal-situations__card .pv26-btn { margin-top: 40px; }

/* Explainer: 268px icon left (offset like Figma), copy right */
.pv26-goal-explainer {
	display: grid;
	grid-template-columns: 268px 659px;
	column-gap: 164px;
	align-items: center;
	max-width: var(--pv-page-max);
	margin: 120px auto 0;
	padding: 0 48px 0 187px;
}
.pv26-goal-explainer__icon { width: 268px; height: 268px; display: grid; place-items: center; color: var(--pv-goal); }
.pv26-goal-explainer__icon img { max-width: 100%; max-height: 100%; border-radius: 50%; }
.pv26-goal-explainer__icon svg { width: 100%; height: 100%; }
.pv26-goal-explainer__copy .pv26-h2 { margin-bottom: 26px; max-width: 394px; }
.pv26-goal-explainer__text { max-width: 659px; line-height: 1.4; }
.pv26-goal-explainer__text p { margin: 0 0 1em; }

/* Products: four cards in a carousel, progress left, outline button right */
.pv26-goal-products { max-width: var(--pv-page-max); margin: 114px auto 0; padding: 0 48px; }
.pv26-goal-products .pv26-carousel__track { margin-right: calc(-1 * var(--pv-edge, 48px)); padding-right: var(--pv-edge, 48px); } /* the section has the page edge, not a 74px card: -74 pushed the page 26px wide */
.pv26-goal-products .pv26-product-card { flex: 0 0 316px; min-height: 553px; }
.pv26-goal-products__foot { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 26px; }
/* When the track has nothing to scroll (four goal cards on a wide monitor) the script adds
   .is-static and the line + counter hide; on a laptop the fourth card overflows and they show (Rein, 2026-09-08). */
[data-pv26-carousel].is-static .pv26-carousel__progress, [data-pv26-carousel].is-static .pv26-carousel__count { display: none; }
.pv26-goal-products__foot .pv26-btn { margin-left: auto; }
.pv26-goal-products .pv26-carousel__progress { margin: 0; width: 659px; max-width: 659px; background: rgba(0, 0, 0, 0.1); }

/* Support: goal artwork card with 2×2 frosted cards */
.pv26-goal-support { max-width: var(--pv-page-max); margin: 130px auto 0; padding: 0 48px; }
.pv26-goal-support__card { position: relative; padding: 72px 114px 106px; border-radius: 26px; overflow: hidden; color: var(--pv-goal-ink); }
.pv26-goal-support__head { position: relative; z-index: 1; max-width: 484px; margin-bottom: 53px; }
.pv26-goal-support__head .pv26-h2 { margin-bottom: 24px; color: inherit; }
.pv26-goal-support__head p { margin: 0; line-height: 1.4; }
.pv26-goal-support__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.pv26-goal-support__item {
	min-height: 291px;
	padding: 26px 52px 26px;
	border-radius: 26px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.55) 100%);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	color: var(--pv-color-black);
}
.pv26-goal-support__title { margin: 0 0 22px; font-family: var(--pv-font-body); font-size: 26px; font-weight: 700; line-height: 1.15; max-width: 441px; }
.pv26-goal-support__text { margin: 0 0 30px; max-width: 440px; font-weight: 500; line-height: 1.4; }

/* Goal support card: live CSS cells rebuilt from the goal's own artwork
   (tones sampled from lifecells-{goal}.webp): base gradient top-left →
   right, one big light disc bottom-left, one deeper disc right, both
   crisp-edged and translucent like the original; the deep one gets a
   touch of blur so the two read as different depths. */
.pv26-goal-page .pv26-lifecells--soft {
	--pv-lc-base: linear-gradient(112deg, var(--pv-lc-tl) 0%, var(--pv-lc-mid) 55%, var(--pv-lc-right) 100%);
	--pv-lc-a: radial-gradient(circle at 42% 38%, var(--pv-lc-disc-a) 0%, var(--pv-lc-disc-a) 70%, var(--pv-lc-disc-a2) 100%);
	--pv-lc-b: radial-gradient(circle at 45% 40%, var(--pv-lc-disc-b) 0%, var(--pv-lc-disc-b2) 100%);
	--pv-lc-a-size: 96%; --pv-lc-a-x: -30%; --pv-lc-a-y: 12%;
	--pv-lc-b-size: 92%; --pv-lc-b-x: 40%;  --pv-lc-b-y: -34%;
}
.pv26-goal-page .pv26-lifecells--soft::before { opacity: 0.78; filter: none; }
.pv26-goal-page .pv26-lifecells--soft::after  { opacity: 0.6; filter: blur(3px); } /* just enough to sit behind the crisp disc */
.pv26-goal-page .pv26-lifecells--soft > * { position: relative; z-index: 1; }

.pv26-goal-page--energy     { --pv-lc-tl: #fad076; --pv-lc-mid: #f7bd55; --pv-lc-right: #ec953a; --pv-lc-disc-a: #fed250; --pv-lc-disc-a2: #f9c04e; --pv-lc-disc-b: #f5b048; --pv-lc-disc-b2: #e58d3c; }
.pv26-goal-page--recovery   { --pv-lc-tl: #aa4140; --pv-lc-mid: #c9504c; --pv-lc-right: #ba403e; --pv-lc-disc-a: #f5807c; --pv-lc-disc-a2: #dc6e6a; --pv-lc-disc-b: #df5651; --pv-lc-disc-b2: #b0332f; }
.pv26-goal-page--resilience { --pv-lc-tl: #4c80b1; --pv-lc-mid: #3a6c9f; --pv-lc-right: #265c8c; --pv-lc-disc-a: #8fbde3; --pv-lc-disc-a2: #78aad6; --pv-lc-disc-b: #3b6594; --pv-lc-disc-b2: #22456e; }
.pv26-goal-page--renewal    { --pv-lc-tl: #4c7b64; --pv-lc-mid: #3f6c57; --pv-lc-right: #325b4c; --pv-lc-disc-a: #9fcaa3; --pv-lc-disc-a2: #8ab990; --pv-lc-disc-b: #5a876f; --pv-lc-disc-b2: #2f5344; }
.pv26-goal-page--balance    { --pv-lc-tl: #7a273a; --pv-lc-mid: #8b2c41; --pv-lc-right: #772538; --pv-lc-disc-a: #e04f6a; --pv-lc-disc-a2: #d3405c; --pv-lc-disc-b: #952e45; --pv-lc-disc-b2: #5e1a2a; }
.pv26-goal-page--foundation { --pv-lc-tl: #351d35; --pv-lc-mid: #4a2848; --pv-lc-right: #612f55; --pv-lc-disc-a: #9a5a8b; --pv-lc-disc-a2: #78456b; --pv-lc-disc-b: #63395d; --pv-lc-disc-b2: #3a1f37; }

/* ── Science page (Figma 2005:1261) ─────────────────────────────────── */
.pv26-science {
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px;
}
.pv26-science-hero { margin-top: 10px; }              /* copy card 634 tall in Figma: the photo sits centred beside it */
.pv26-science-hero .pv26-goal-block__copy { padding-top: 60px; padding-bottom: 60px; }
.pv26-science-hero .pv26-goal-block__title { margin-top: 0; }
.pv26-science-liposomal { margin-top: 26px; }         /* Figma: hero block ends at 720, next block starts at 705 */
.pv26-science-liposomal .pv26-goal-block__title { margin-top: 0; }
.pv26-goal-block__media.is-placeholder { background: #c4c4c4; }

.pv26-science-ingredients {
	position: relative;
	margin-top: 52px;                                    /* 1205 → 1257 */
	min-height: 600px;
	border-radius: 26px;
	overflow: hidden;
	background: var(--pv-color-grey);
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
}
.pv26-science-ingredients__copy { padding: 52px; }
.pv26-science-ingredients__copy .pv26-goal-block__title { margin-top: 0; max-width: 470px; }
.pv26-science-ingredients__text { max-width: 369px; line-height: 1.4; }
.pv26-science-ingredients__text p { margin: 0 0 1em; }
.pv26-science-ingredients__copy .pv26-btn { margin-top: 12px; }
/* Transparent artwork is delivered on the whole card canvas (1344×600): it spans the card, right-aligned,
   and the empty left part sits behind the copy. A photo fills the right half instead. */
.pv26-science-ingredients__media {
	position: absolute;
	inset: 0;
	pointer-events: none;
}
.pv26-science-ingredients__media img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: right center; }
.pv26-science-ingredients__media.is-opaque { left: 50%; }
.pv26-science-ingredients__media.is-opaque img { object-fit: cover; object-position: center; }
.pv26-science-ingredients__copy { position: relative; z-index: 1; }

/* ── Learn page (Figma 4005:11033) ──────────────────────────────────── */
.pv26-learn {
	max-width: var(--pv-page-max);
	margin: 0 auto;
	padding: 0 48px;
}
.pv26-learn__head { padding: 68px 52px 0; display: flex; flex-direction: column; gap: 26px; }
.pv26-learn__title {
	margin: 0;
	font-family: var(--pv-font-body);
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
}
.pv26-learn__intro { max-width: 578px; line-height: 1.4; }
.pv26-learn__intro p { margin: 0; }

.pv26-learn__filters { padding: 52px 52px 0; display: flex; flex-direction: column; gap: 13px; }
.pv26-learn__filters-label { line-height: 1.4; }
.pv26-learn__chips { display: flex; flex-wrap: wrap; gap: 10px; }
.pv26-learn__chips .pv26-chip--filter { font-size: 11px; padding: 8px 12px; }

.pv26-learn__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
	margin-top: 60px;
}
.pv26-learn__empty { grid-column: 1 / -1; margin: 0; }

.pv26-tile { display: flex; flex-direction: column; border-radius: 26px; overflow: hidden; background: var(--pv-color-grey); }
.pv26-tile__media { display: block; aspect-ratio: 431 / 330; background: #b0b0b0; }
.pv26-tile__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-tile__body { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 26px; min-height: 138px; }
.pv26-tile__title {
	margin: 0;
	font-family: var(--pv-font-heading);
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	max-width: 319px;
}
.pv26-tile__title a { color: inherit; text-decoration: none; }
.pv26-tile__arrow {
	flex: 0 0 30px;
	width: 30px; height: 30px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--pv-color-black);
	color: var(--pv-color-white);
	transition: transform 0.25s ease;
}
.pv26-tile__arrow .pv26-arrow { width: 16px; height: 16px; }
.pv26-tile:hover .pv26-tile__arrow { transform: translateX(4px); }
.pv26-tile__arrow:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }

.pv26-quiz-card--wide {
	grid-column: 1 / -1;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	min-height: 240px;
	padding: 52px;
	border-radius: 26px;
	--pv-lc-a-size: 70%; --pv-lc-a-x: -12%; --pv-lc-a-y: -40%;
	--pv-lc-b-size: 80%; --pv-lc-b-x: 55%;  --pv-lc-b-y: 10%;
}
.pv26-quiz-card--wide .pv26-quiz-card__title { margin: 0; max-width: 360px; }
.pv26-quiz-card__aside { flex: 0 1 560px; display: flex; flex-direction: column; align-items: flex-start; }
.pv26-quiz-card--wide .pv26-quiz-card__text { margin: 0 0 22px; }

.pv26-learn__more { display: flex; justify-content: center; margin-top: 52px; }
.pv26-learn__more .is-loading { opacity: 0.6; pointer-events: none; }

/* ── Article page (Figma 4022:12647) ────────────────────────────────── */
.pv26-post { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-post__hero { display: grid; grid-template-columns: 659px 658px; justify-content: space-between; align-items: start; column-gap: 27px; padding-top: 28px; }
.pv26-post__main { padding-left: 52px; }
.pv26-post__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; font-size: 13px; color: #555; margin-bottom: 22px; }
.pv26-post__meta .pv26-chip--filter { font-size: 11px; padding: 6px 12px; }
.pv26-post__title { margin: 0 0 22px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; max-width: 550px; }
.pv26-post__lead { margin: 0 0 22px; font-size: 18px; line-height: 1.4; max-width: 607px; }
.pv26-post__byline { display: flex; flex-wrap: wrap; gap: 14px 36px; font-size: 14px; color: #555; margin-bottom: 32px; }
.pv26-post__person { display: flex; align-items: center; gap: 12px; }
.pv26-post__person small { display: block; font-size: 13px; }
.pv26-post__person strong { color: var(--pv-color-black); }
.pv26-post__person a { color: inherit; }
.pv26-post__role { font-weight: 400; color: #555; }
.pv26-post__avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; flex: 0 0 40px; }
.pv26-post__avatar--brand { display: grid; place-items: center; background: var(--pv-goal-energy, #fad168); }
.pv26-post__avatar--brand { font-family: var(--pv-font-heading); font-weight: 700; font-size: 18px; color: var(--pv-color-black); }
.pv26-post__intro.pv26-prose { max-width: 607px; }
.pv26-post__intro.pv26-prose > :last-child { margin-bottom: 0; }

.pv26-post__aside { display: flex; flex-direction: column; gap: 26px; }
.pv26-post__media { height: 500px; border-radius: 26px; overflow: hidden; background: var(--pv-color-grey); }
.pv26-post__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.pv26-post__body { display: grid; grid-template-columns: minmax(0, 1fr) 420px; column-gap: 52px; align-items: start; margin-top: 52px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-post__cards { display: flex; flex-direction: column; gap: 26px; min-width: 0; }
.pv26-post__card { padding: 52px; border-radius: 26px; background: var(--pv-color-white); box-shadow: 0 10px 34px rgba(30, 25, 15, 0.05); }
.pv26-post__card > h2:first-child { margin-top: 0; }
.pv26-post__card > :last-child { margin-bottom: 0; }
.pv26-post__cards > .pv26-post-strip { margin: 0; background: var(--pv-color-white); }
.pv26-post__rail { align-self: stretch; }
.pv26-post__sticky { position: sticky; top: 104px; display: flex; flex-direction: column; gap: 26px; }
.pv26-post__toc-label { display: block; font-weight: 700; margin-bottom: 12px; }
.pv26-post__toc ol { list-style: none; margin: 0; padding: 0 0 0 16px; border-left: 2px solid #dedad2; }
.pv26-post__toc li + li { margin-top: 10px; }
.pv26-post__toc a { color: #555; text-decoration: none; line-height: 1.35; transition: color 0.2s ease; }
.pv26-post__toc a:hover, .pv26-post__toc a.is-active { color: var(--pv-color-black); font-weight: 700; }
.pv26-post__end { max-width: 1062px; margin: 52px 0 0 52px; }
.pv26-post__outro.pv26-prose { max-width: 659px; }
.pv26-post__outro h2 { margin-top: 0; }
.pv26-post__faq { margin-top: 52px; }
.pv26-post__faq h2 { margin-top: 0; }
.pv26-post__faq .pv26-accordion { max-width: 772px; margin: 0; }
.pv26-post__faq .pv26-faq--block { display: block; padding: 0; background: none; }
.pv26-post__faq .pv26-faq--block .pv26-faq__title { font-family: var(--pv-font-heading); font-size: 26px; margin: 0 0 16px; }
.pv26-post__faq .pv26-accordion__q { font-size: 16px; text-align: left; }
.pv26-post__refs .blog-references { margin-top: 2em; }

.pv26-rail-product { border: 1px solid #e5e2dc; border-radius: 16px; padding: 26px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; background: var(--pv-color-white); }
.pv26-rail-product__label { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: #555; }
.pv26-rail-product__media { display: block; width: 200px; height: 200px; }
.pv26-rail-product__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pv26-rail-product__body { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pv26-rail-product__name { margin: 8px 0 0; font-family: var(--pv-font-heading); font-size: 22px; font-weight: 700; line-height: 1.2; }
.pv26-rail-product__name a { color: inherit; text-decoration: none; }
.pv26-rail-product__sub { margin: 0; font-size: 14px; color: #555; line-height: 1.4; }
.pv26-rail-product__price { margin: 4px 0 8px; font-weight: 700; }
.pv26-rail-product__actions { display: flex; flex-direction: column; align-items: center; gap: 12px; width: 100%; }
.pv26-rail-product__add { width: 100%; justify-content: center; }
.pv26-rail-product__add .pv26-btn__icon { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 8px; }
.pv26-rail-product__add.is-loading { pointer-events: none; }
.pv26-rail-product__add.is-loading .pv26-btn__text { opacity: 0.6; }
.pv26-rail-product__add.is-done .pv26-btn__text::after { content: ' ✓'; }
.pv26-rail-product__link { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--pv-color-black); text-decoration: none; }
.pv26-rail-product__link .pv26-arrow { width: 16px; height: 16px; }
/* Under the header photo: image left, copy + actions right */
.pv26-rail-product--wide { flex-direction: row; text-align: left; align-items: center; gap: 26px; padding: 26px 32px; }
.pv26-rail-product--wide .pv26-rail-product__media { flex: 0 0 160px; width: 160px; height: 160px; }
.pv26-rail-product--wide .pv26-rail-product__body { align-items: flex-start; flex: 1 1 auto; }
.pv26-rail-product--wide .pv26-rail-product__actions { flex-direction: row; align-items: center; gap: 20px; }
.pv26-rail-product--wide .pv26-rail-product__add { width: auto; }

.pv26-post-strip { display: flex; align-items: center; gap: 20px; margin: 40px 0; padding: 16px 20px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-post-strip__media { flex: 0 0 64px; width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: var(--pv-color-white); }
.pv26-post-strip__media img { width: 100%; height: 100%; object-fit: contain; display: block; }
.pv26-post-strip__copy { flex: 1 1 auto; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pv26-post-strip__name { font-family: var(--pv-font-heading); font-size: 18px; font-weight: 700; }
.pv26-post-strip__sub { font-size: 13px; color: #555; }
.pv26-post-strip .pv26-btn { flex: 0 0 auto; }

/* FAQ block inside articles */
.pv26-faq--block { margin: 1em 0; }
.pv26-faq--block .pv26-faq__title { font-family: var(--pv-font-heading); font-size: 26px; margin: 0 0 12px; }
.pv26-faq--block .pv26-faq__intro-text { margin: 0 0 12px; color: #555; }
.pv26-faq--block .pv26-accordion { max-width: none; margin: 0; }

/* Author profile */
.pv26-author { max-width: var(--pv-page-max); margin: 0 auto; padding: 28px 48px 0; }
.pv26-author__hero { display: grid; grid-template-columns: 200px 1fr; gap: 52px; align-items: start; padding: 0 52px; }
.pv26-author__photo { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; }
.pv26-author__name { margin: 0 0 8px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-author__title { margin: 0 0 22px; font-size: 18px; color: #555; }
.pv26-author__bio.pv26-prose { max-width: 760px; margin-bottom: 22px; }
.pv26-author__quote { margin: 52px 52px 0; padding: 0; border: 0; text-align: center; font-size: 22px; font-style: italic; line-height: 1.4; max-width: 900px; margin-left: auto; margin-right: auto; }
.pv26-author__blocks { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 52px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-author__block { padding: 40px; border-radius: 26px; background: var(--pv-color-white); }
.pv26-author__block h2 { margin-top: 0; }
.pv26-author__block ul { padding-left: 20px; }
.pv26-author__more-head { margin-top: 82px; }
.pv26-author__posts { margin-top: 26px; }

/* Prose: article body */
.pv26-prose { font-size: 16px; line-height: 1.6; max-width: 607px; }
.pv26-prose > * { margin: 0 0 1.2em; }
.pv26-prose h2 { margin: 2.4em 0 0.6em; font-family: var(--pv-font-heading); font-size: 26px; font-weight: 700; line-height: 1.2; }
.pv26-prose h3 { margin: 1.8em 0 0.5em; font-family: var(--pv-font-heading); font-size: 20px; font-weight: 700; line-height: 1.25; }
.pv26-prose h4 { margin: 1.4em 0 0.4em; font-size: 16px; font-weight: 700; }
.pv26-prose a { color: var(--pv-color-black); text-decoration: underline; text-underline-offset: 3px; }
.pv26-prose ul, .pv26-prose ol { padding-left: 22px; }
.pv26-prose li + li { margin-top: 6px; }
.pv26-prose img { max-width: 100%; height: auto; border-radius: 16px; }
.pv26-prose figure { margin: 1.6em 0; }
.pv26-prose figcaption { font-size: 13px; color: #555; margin-top: 8px; }
.pv26-prose .wp-block-embed__wrapper, .pv26-prose iframe { border-radius: 16px; overflow: hidden; }
.pv26-prose .wp-block-table { overflow-x: auto; margin: 1.6em 0; }
.pv26-prose table { width: 100%; border-collapse: collapse; border: 0 !important; font-size: 15px; line-height: 1.45; }
.pv26-prose th, .pv26-prose td { padding: 14px 16px 14px 0; border: 0 !important; border-bottom: 1px solid #e5e2dc !important; text-align: left; vertical-align: top; }
.pv26-prose thead th, .pv26-prose tr:first-child th { border-bottom: 2px solid var(--pv-color-black) !important; font-weight: 700; }
.pv26-prose th { font-weight: 700; }
.pv26-prose tbody td:first-child, .pv26-prose tbody th:first-child { font-weight: 700; }
.pv26-prose tr:last-child td { border-bottom: 0 !important; }
.pv26-prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--pv-color-grey); }
.pv26-prose .wp-block-table.is-style-stripes td, .pv26-prose .wp-block-table.is-style-stripes th { padding-left: 12px; }
.pv26-prose figcaption.wp-element-caption { margin-top: 10px; }

/* "Read more: <link>" lines (own paragraph, one closing link) */
.pv26-prose__more { display: flex; align-items: flex-start; gap: 10px; margin: 1.4em 0; }
.pv26-prose__more-icon { flex: 0 0 24px; width: 24px; height: 24px; display: grid; place-items: center; border-radius: 50%; background: var(--pv-color-black); color: var(--pv-color-white); margin-top: 1px; }
.pv26-prose__more-icon .pv26-arrow { width: 12px; height: 12px; }
.pv26-prose__more-lead { color: #555; }
.pv26-prose__more a { font-weight: 700; text-decoration: none; }
.pv26-prose__more a:hover { text-decoration: underline; }
.pv26-prose blockquote, .pv26-prose .wp-block-pullquote { margin: 2em 0; padding: 0; border: 0; text-align: center; }
.pv26-prose blockquote p, .pv26-prose .wp-block-pullquote p { font-size: 22px; line-height: 1.4; font-style: italic; margin: 0 0 12px; }
.pv26-prose blockquote cite, .pv26-prose .wp-block-pullquote cite { font-size: 14px; font-style: italic; color: #555; }

/* Legacy content boxes (Gutenberg groups with a class) and the matching editor block styles */
.pv26-prose .blog-definition, .pv26-prose .blog-summary, .pv26-prose .blog-tip, .pv26-prose .blog-recommendation,
.pv26-prose .is-style-blog-definition, .pv26-prose .is-style-blog-summary, .pv26-prose .is-style-blog-tip, .pv26-prose .is-style-blog-recommendation {
	margin: 2em 0; padding: 26px 30px; border-radius: 16px; background: var(--pv-color-grey);
}
.pv26-prose :is(.blog-definition, .blog-summary, .blog-tip, .blog-recommendation, [class*="is-style-blog-"]) > .wp-block-group__inner-container { display: contents; }
.pv26-prose :is(.blog-definition, .blog-summary, .blog-tip, .blog-recommendation, [class*="is-style-blog-"]) > :first-child:not(.wp-block-group__inner-container), .pv26-prose :is(.blog-definition, .blog-summary, .blog-tip, .blog-recommendation, [class*="is-style-blog-"]) > .wp-block-group__inner-container > :first-child {
	margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #555;
}
.pv26-prose :is(.blog-definition, .blog-summary, .blog-tip, .blog-recommendation, [class*="is-style-blog-"]) > :last-child:not(.wp-block-group__inner-container), .pv26-prose :is(.blog-definition, .blog-summary, .blog-tip, .blog-recommendation, [class*="is-style-blog-"]) > .wp-block-group__inner-container > :last-child { margin-bottom: 0; }
.pv26-prose .pv26-btn, .pv26-prose .pv26-btn--primary { color: var(--pv-color-white); text-decoration: none; }
.pv26-prose .pv26-post-strip__name, .pv26-prose .pv26-post-strip__sub { font-family: var(--pv-font-heading); }
.pv26-prose .pv26-post-strip__sub { font-family: var(--pv-font-body); }
.pv26-prose .blog-tip, .pv26-prose .is-style-blog-tip { background: #fbf3d6; }
.pv26-prose .blog-quote-line, .pv26-prose .blog-quote-text, .pv26-prose .blog-quote, .pv26-prose .is-style-blog-quote { margin: 2em 0; text-align: center; }
.pv26-prose :is(.blog-quote-line, .blog-quote-text, .blog-quote) > .wp-block-group__inner-container { display: contents; }
.pv26-prose :is(.blog-quote-line, .blog-quote-text, .blog-quote) > :first-child:not(.wp-block-group__inner-container), .pv26-prose :is(.blog-quote-line, .blog-quote-text, .blog-quote) > .wp-block-group__inner-container > :first-child { font-size: 22px; line-height: 1.4; font-style: italic; }
.pv26-prose :is(.blog-quote-line, .blog-quote-text, .blog-quote) > :last-child:not(.wp-block-group__inner-container), .pv26-prose :is(.blog-quote-line, .blog-quote-text, .blog-quote) > .wp-block-group__inner-container > :last-child { font-size: 14px; font-style: italic; color: #555; margin-bottom: 0; }
.pv26-prose .blog-cards, .pv26-prose .is-style-blog-cards { display: grid; gap: 20px; margin: 2em 0; padding: 26px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-prose .blog-cards > *, .pv26-prose .is-style-blog-cards > * { margin: 0; padding: 30px; border-radius: 16px; background: var(--pv-color-white); }
.pv26-prose details.blog-references { margin: 3em 0 0; padding-top: 26px; border-top: 1px solid #e5e2dc; font-size: 13px; color: #555; }
.pv26-prose details.blog-references summary { font-size: 16px; font-weight: 700; color: var(--pv-color-black); cursor: pointer; list-style: none; }
.pv26-prose details.blog-references summary::-webkit-details-marker { display: none; }
.pv26-prose details.blog-references summary::after { content: '+'; float: right; font-weight: 400; }
.pv26-prose details.blog-references[open] summary::after { content: '–'; }
.pv26-prose details.blog-references > :not(summary) { margin-top: 12px; }
.pv26-prose .blog-table-of-contents, .pv26-prose .blog-tags, .pv26-prose .table-of-contents__nav { display: none; }
.pv26-prose .klaviyo-form-RhXSAR:empty { display: none; }
.pv26-prose .wp-block-buttons .wp-block-button__link { display: inline-flex; align-items: center; height: 48px; padding: 0 24px; border-radius: 99px; background: var(--pv-color-black); color: var(--pv-color-white); text-decoration: none; font-weight: 700; }

.pv26-post__after { max-width: var(--pv-page-max); margin: 80px auto 0; padding: 0 48px; }
.pv26-post__card .pv26-prose, .pv26-post__card.pv26-prose { max-width: none; }
.pv26-post__sticky .pv26-rail-product { max-width: 420px; }
.pv26-post__after .pv26-quiz-card--wide { display: flex; }
.pv26-post__more-head { margin-top: 82px; }
.pv26-post__more { margin-top: 26px; }

/* ── About page (Figma 4005:11081) ──────────────────────────────────── */
.pv26-about { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-about__hero { margin-top: 10px; grid-template-columns: 659px 667px; }
.pv26-about__hero .pv26-goal-block__copy { padding-top: 40px; padding-bottom: 40px; }
.pv26-about__hero .pv26-goal-block__title { margin-top: 0; }
.pv26-about__tagline { margin: 0 0 8px; font-family: var(--pv-font-heading); font-size: 22px; font-weight: 700; line-height: 1.2; }
.pv26-about__text { max-width: 553px; line-height: 1.4; }
.pv26-about__text p { margin: 0 0 1em; }
.pv26-about__text p:last-child { margin-bottom: 0; }
.pv26-about__text + .pv26-btn { margin-top: 12px; }

.pv26-about__science { position: relative; min-height: 525px; margin-top: 52px; border-radius: 26px; overflow: hidden; background: var(--pv-color-grey); display: flex; align-items: center; }
.pv26-about__science-bg { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 50%; }
.pv26-about__science-copy { position: relative; z-index: 2; padding: 52px; max-width: 545px; display: flex; flex-direction: column; align-items: flex-start; gap: 26px; }
.pv26-about__science-copy .pv26-goal-block__title { margin: 0; max-width: 340px; }
.pv26-about__science-copy .pv26-about__text { max-width: 370px; }
.pv26-about__science-copy .pv26-about__text + .pv26-btn { margin-top: 0; }

.pv26-about__founder { display: grid; grid-template-columns: 431px 570px; justify-content: center; column-gap: 78px; align-items: center; margin-top: 82px; }
.pv26-about__founder-media { height: 505px; border-radius: 26px; overflow: hidden; background: var(--pv-color-grey); }
.pv26-about__founder-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-about__founder-copy { display: flex; flex-direction: column; gap: 26px; }
.pv26-about__founder-copy .pv26-goal-block__title { margin: 0; }

.pv26-about__cards { display: grid; grid-template-columns: 774px 544px; gap: 26px; margin-top: 82px; }
.pv26-about__card { min-height: 480px; padding: 52px; border-radius: 26px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 26px; }
.pv26-about__card .pv26-goal-block__title { margin: 0; }
.pv26-about__card--grey { background: var(--pv-color-grey); }
.pv26-about__card--grey .pv26-about__text { max-width: 572px; }
.pv26-about__card--orange { color: var(--pv-color-white); position: relative; overflow: hidden; }
.pv26-about__card--orange > * { position: relative; z-index: 1; }
.pv26-about__card--orange .pv26-about__text { max-width: 370px; }
.pv26-about__card .pv26-about__text + .pv26-btn { margin-top: 0; }

/* ── Team page (Figma 4017:2501) ────────────────────────────────────── */
.pv26-team { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-team__hero { margin-top: 10px; }
.pv26-team__hero .pv26-goal-block__copy { padding-top: 40px; padding-bottom: 40px; }
.pv26-team__hero .pv26-goal-block__title { margin-top: 0; }
.pv26-team__hero .pv26-goal-block__media { height: 494px; }
.pv26-team__expert { display: grid; grid-template-columns: 659px 659px; justify-content: space-between; align-items: center; margin-top: 90px; }
.pv26-team__expert--photo-left .pv26-team__photo { order: 1; }
.pv26-team__expert--photo-left .pv26-team__copy { order: 2; }
.pv26-team__expert:not(.pv26-team__expert--photo-left) .pv26-team__copy { order: 1; }
.pv26-team__expert:not(.pv26-team__expert--photo-left) .pv26-team__photo { order: 2; }
.pv26-team__photo { height: 494px; border-radius: 26px; overflow: hidden; background: var(--pv-color-grey); }
.pv26-team__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-team__copy { padding: 30px 52px; display: flex; flex-direction: column; gap: 4px; }
.pv26-team__name { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.4; }
.pv26-team__role { margin: 0 0 16px; line-height: 1.4; }
.pv26-team__text { max-width: 553px; line-height: 1.4; }
.pv26-team__text p { margin: 0 0 1em; }
.pv26-team__text p:last-child { margin-bottom: 0; }
.pv26-team__more { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; font-weight: 700; color: var(--pv-color-black); text-decoration: none; }
.pv26-team__more:hover { text-decoration: underline; }

/* ── Quality & certificates page ─────────────────────────────────────── */
.pv26-quality-page { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-qp__hero { margin-top: 10px; }
.pv26-qp__hero .pv26-goal-block__copy { padding-top: 40px; padding-bottom: 40px; }
.pv26-qp__hero .pv26-goal-block__title { margin-top: 0; }
.pv26-qp__hero-actions { display: flex; gap: 12px; margin-top: 12px; }
.pv26-qp__section { margin-top: 82px; padding: 0 52px; }
.pv26-qp__h2 { margin: 0 0 16px; font-family: var(--pv-font-body); font-size: 32px; font-weight: 700; line-height: 1.1; }
.pv26-qp__h2--center { text-align: center; margin-bottom: 32px; }
.pv26-qp__intro { margin: 0 0 26px; max-width: 607px; line-height: 1.4; }
.pv26-qp__intro--wide { max-width: 900px; }
.pv26-qp__note { margin: 26px 0 0; text-align: center; font-weight: 700; }
.pv26-qp__grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pv26-qp__guarantee { padding: 32px 26px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-qp__guarantee h3, .pv26-qp__tested h3, .pv26-qp__step h3 { margin: 12px 0 8px; font-size: 16px; font-weight: 700; line-height: 1.3; }
.pv26-qp__guarantee p, .pv26-qp__tested p, .pv26-qp__step p { margin: 0; font-size: 14px; line-height: 1.45; color: #555; }
.pv26-qp__check { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--pv-color-accent, #f26b21); color: var(--pv-color-white); }
.pv26-qp__tested { padding: 32px 26px; border-radius: 16px; border: 1px solid #e5e2dc; background: var(--pv-color-white); }
.pv26-qp__num { font-family: var(--pv-font-heading); font-size: 22px; font-weight: 700; color: var(--pv-color-accent, #f26b21); }
.pv26-qp__num--light { color: #f9a03f; }
.pv26-qp__steps { position: relative; margin: 82px 0 0; padding: 64px 74px; border-radius: 26px; overflow: hidden; color: var(--pv-color-white); }
.pv26-qp__steps > * { position: relative; z-index: 1; }
.pv26-qp__steps-head { text-align: center; max-width: 620px; margin: 0 auto 40px; }
.pv26-qp__steps-head p { margin: 0; }
.pv26-qp__step { padding: 30px 26px; border-radius: 16px; background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(6px); }
.pv26-qp__step p { color: rgba(255, 255, 255, 0.85); }
.pv26-qp__steps-note { margin: 32px auto 0; max-width: 720px; text-align: center; font-size: 14px; color: rgba(255, 255, 255, 0.8); }
.pv26-qp__badges { display: flex; align-items: center; flex-wrap: wrap; gap: 20px 44px; margin: 40px 52px 0; padding: 22px 0; border-top: 1px solid #e5e2dc; border-bottom: 1px solid #e5e2dc; }
.pv26-qp__badges-label { font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: #555; margin-right: 8px; }
.pv26-qp__badge { display: inline-flex; align-items: center; height: 36px; filter: grayscale(1); opacity: 0.7; transition: filter 0.25s ease, opacity 0.25s ease; }
.pv26-qp__badge img { height: 36px; width: auto; max-width: 160px; object-fit: contain; display: block; }
.pv26-qp__badge:hover { filter: none; opacity: 1; }
.pv26-qp__filter { display: flex; align-items: flex-end; gap: 16px; margin: 0 0 20px; }
.pv26-qp__filter-field { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #555; }
.pv26-qp__filter-field--grow { flex: 0 1 380px; }
.pv26-qp__filter select, .pv26-qp__filter input { height: 44px; padding: 0 18px; border: 1px solid var(--pv-color-black); border-radius: 99px; background: var(--pv-color-white); font: inherit; font-size: 14px; color: var(--pv-color-black); text-transform: none; letter-spacing: 0; }
.pv26-qp__filter select { padding-right: 40px; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; min-width: 240px; }
.pv26-qp__filter input { width: 100%; }
.pv26-qp__filter select:focus-visible, .pv26-qp__filter input:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }
.pv26-qp__filter-count { font-size: 13px; color: #555; padding-bottom: 13px; }
.pv26-qp__empty td { color: #555; text-align: center; padding: 28px 20px; }
.pv26-qp__table-wrap { border: 1px solid #e5e2dc; border-radius: 16px; overflow: hidden; background: var(--pv-color-white); overflow-x: auto; }
.pv26-qp__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pv26-qp__table th { padding: 18px 20px; text-align: left; font-size: 12px; font-weight: 700; color: #555; letter-spacing: 0.04em; border-bottom: 1px solid #e5e2dc; }
.pv26-qp__table td { padding: 18px 20px; border-bottom: 1px solid #efece6; vertical-align: middle; }
.pv26-qp__table tr:last-child td { border-bottom: 0; }
.pv26-qp__table tr.is-hidden { display: none; }
.pv26-qp__td-product { font-weight: 700; }
.pv26-qp__td-tests { color: var(--pv-color-accent, #f26b21); font-weight: 700; }
.pv26-qp__td-action { text-align: right; }
.pv26-qp__status { display: inline-block; padding: 4px 10px; border-radius: 99px; font-size: 12px; font-weight: 700; }
.pv26-qp__status--approved { background: #e6f4ea; color: #1d7a3d; }
.pv26-qp__status--pending { background: #fbf3d6; color: #8a6d00; }
.pv26-qp__status--fail { background: #fde8e6; color: #b3261e; }
.pv26-qp__closing { margin-top: 82px; text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; }
.pv26-qp__closing p { margin: 0 0 26px; line-height: 1.45; color: #4a4a68; }

/* ── Alignment rule (2026-09-04): free-standing text sits on the 48px container edge, level with the
   header logo and the cards; only text INSIDE a visible card keeps the 52px inner padding. The Figma's
   100px offset came from copy drawn inside an invisible card. ───────────────────────────────────── */
.pv26-goal-block:not(.pv26-goal-block--photo-left) .pv26-goal-block__copy { padding-left: 0; }
.pv26-goal-block--photo-left .pv26-goal-block__copy { padding-right: 0; }
.pv26-science-hero .pv26-goal-block__copy, .pv26-about__hero .pv26-goal-block__copy, .pv26-team__hero .pv26-goal-block__copy, .pv26-qp__hero .pv26-goal-block__copy { padding-left: 0; }
.pv26-learn__head { padding-left: 0; padding-right: 0; }
.pv26-learn__filters { padding-left: 0; padding-right: 0; }
.pv26-post__main { padding-left: 0; }
.pv26-post__end { margin-left: 0; }
.pv26-post__toc { margin-left: 0; }
.pv26-qp__section { padding-left: 0; padding-right: 0; }
.pv26-qp__badges { margin-left: 0; margin-right: 0; }
.pv26-author__hero { padding-left: 0; padding-right: 0; }
.pv26-author__quote { margin-left: auto; margin-right: auto; }
.pv26-team__expert:not(.pv26-team__expert--photo-left) .pv26-team__copy { padding-left: 0; }
.pv26-team__expert--photo-left .pv26-team__copy { padding-right: 0; }

/* ── Work with us (Figma 4017:2794) ─────────────────────────────────── */
.pv26-work { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-work__hero { margin-top: 10px; grid-template-columns: 659px 667px; }
.pv26-work__hero .pv26-goal-block__copy { padding: 40px 52px 40px 0; }
.pv26-work__hero .pv26-goal-block__title { margin-top: 0; }
.pv26-work__gallery { margin-top: 82px; }
.pv26-work__track { align-items: center; gap: 26px; }
.pv26-work__photo { flex: 0 0 auto; margin: 0; border-radius: 13px; overflow: hidden; background: var(--pv-color-grey); }
.pv26-work__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-work__photo--short { width: 281px; height: 374px; }
.pv26-work__photo--tall { width: 301px; height: 400px; }
.pv26-work__photo--hero { width: 350px; height: 466px; }
.pv26-work__photo.is-placeholder { background: #c4c4c4; }
.pv26-work__ambition { display: grid; grid-template-columns: 431px 607px; justify-content: space-between; align-items: start; column-gap: 40px; margin-top: 82px; padding-left: 56px; }
.pv26-work__ambition-copy { display: flex; flex-direction: column; gap: 26px; }
.pv26-work__ambition-copy .pv26-goal-block__title { margin: 0; }
.pv26-work__text { max-width: 415px; line-height: 1.4; }
.pv26-work__text p { margin: 0 0 1em; }
.pv26-work__text p:last-child { margin-bottom: 0; }
.pv26-work__jobs { display: flex; flex-direction: column; gap: 20px; }
.pv26-work__job { min-height: 150px; padding: 28px 32px; border-radius: 26px; background: var(--pv-color-grey); display: flex; flex-direction: column; gap: 6px; }
.pv26-work__job--highlight { background: #824f78; color: var(--pv-color-white); }
.pv26-work__job-label { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; opacity: 0.8; }
.pv26-work__job-title { margin: 0; font-family: var(--pv-font-heading); font-size: 34px; font-weight: 700; line-height: 1.2; }
.pv26-work__job-empty { margin: 0; line-height: 1.4; max-width: 460px; }
.pv26-work__job-link { display: inline-flex; align-items: center; gap: 10px; margin-top: 8px; font-weight: 700; color: inherit; text-decoration: none; }
.pv26-work__job--highlight .pv26-prose__more-icon { background: var(--pv-color-white); color: #824f78; }
.pv26-work__job-link:hover { text-decoration: underline; }


/* ── Liposomal technology page (no Figma frame; mockup agreed 2026-09-04, second pass) ────── */
.pv26-lipo { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-lipo__hero { margin-top: 10px; }
.pv26-lipo__hero .pv26-goal-block__copy { padding: 60px 52px 60px 0; }
.pv26-lipo__hero .pv26-goal-block__title { margin-top: 0; }
.pv26-lipo__hero-actions { display: flex; gap: 12px; margin-top: 12px; }
.pv26-lipo__text { line-height: 1.4; }
.pv26-lipo__text p { margin: 0 0 1em; }
.pv26-lipo__text p:last-child { margin-bottom: 0; }
/* "What is it": the Science ingredients card (grey, copy left, artwork right), a block lower. */
.pv26-lipo__what { margin-top: 104px; }
.pv26-lipo__what .pv26-science-ingredients__text { max-width: 420px; }
/* Purple card: flat gradient (no floating cells — they fought the diagram), generous padding, the SVG journey, three captions. */
.pv26-lipo__how { position: relative; overflow: hidden; margin-top: 104px; padding: 72px 96px 64px; border-radius: 26px; color: var(--pv-color-white); }
.pv26-lipo__how > * { position: relative; z-index: 1; }
.pv26-lipo__how-head { max-width: 640px; margin-bottom: 40px; }
.pv26-lipo__how-head .pv26-goal-block__title { margin-top: 0; }
.pv26-lipo__how-head p { margin: 0; color: rgba(255, 255, 255, 0.85); }
.pv26-lipo__diagram { display: block; width: 100%; height: auto; margin: 0 auto; }
.pv26-lipo__diagram text { font-family: var(--pv-font-body); }
.pv26-lipo__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px 40px; margin: 40px 0 0; padding: 0; list-style: none; }
.pv26-lipo__step { display: grid; grid-template-columns: 34px 1fr; gap: 16px; align-items: start; }
.pv26-lipo__num { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--pv-color-accent); color: var(--pv-color-white); font-family: var(--pv-font-heading); font-size: 14px; font-weight: 700; }
.pv26-lipo__step h3 { margin: 6px 0 8px; font-size: 22px; font-weight: 700; line-height: 1.1; }
.pv26-lipo__step p { margin: 0; font-size: 14px; line-height: 1.45; color: rgba(255, 255, 255, 0.85); }
/* Orange LifeCells card: heading + definition box + copy left; the honest note with illustrative bars as an inner white card right. */
.pv26-lipo__bio { position: relative; overflow: hidden; margin-top: 104px; padding: 64px 96px; border-radius: 26px; display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; color: var(--pv-color-black);
	--pv-lc-a-size: 64%; --pv-lc-a-x: -18%; --pv-lc-a-y: -30%; --pv-lc-b-size: 74%; --pv-lc-b-x: 58%; --pv-lc-b-y: 36%; }
.pv26-lipo__bio > * { position: relative; z-index: 1; }
.pv26-lipo__bio-copy .pv26-goal-block__title { margin-top: 0; }
.pv26-lipo__bio-copy .pv26-lipo__text { max-width: 500px; }
.pv26-lipo__def { margin: 0 0 24px; padding: 18px 22px; border-radius: 12px; background: rgba(255, 255, 255, 0.55); max-width: 500px; }
.pv26-lipo__def-label { display: block; margin-bottom: 4px; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--pv-color-primary); }
.pv26-lipo__def p { margin: 0; }
.pv26-lipo__note { padding: 36px 40px; border-radius: 16px; background: rgba(255, 255, 255, 0.94); }
.pv26-lipo__note-title { margin: 0 0 14px; font-family: var(--pv-font-heading); font-size: 30px; font-weight: 700; line-height: 1.05; }
.pv26-lipo__note-text { margin: 0 0 22px; font-size: 15px; line-height: 1.45; color: #555; }
.pv26-lipo__bars { display: grid; gap: 12px; }
.pv26-lipo__bar { display: grid; grid-template-columns: 170px 1fr; gap: 14px; align-items: center; font-size: 13px; line-height: 1.25; }
.pv26-lipo__bar-fill { display: block; height: 12px; border-radius: 99px; background: #d9d3c7; }
.pv26-lipo__bar-fill--regular { background: #c9b7c5; }
.pv26-lipo__bar-fill--liposomal { background: var(--pv-color-primary); }
.pv26-lipo__bars small { margin-top: 4px; font-size: 12px; color: #727272; }
/* "Why": photo left, copy right — the About/Science split. */
.pv26-lipo__why { margin-top: 104px; }
.pv26-lipo__why .pv26-goal-block__title { margin-top: 0; }
/* Products: the goal-page carousel with a heading above it. */
.pv26-lipo__products { margin-top: 104px; }
.pv26-lipo__products-head { max-width: 640px; margin-bottom: 32px; }
.pv26-lipo__products-head .pv26-goal-block__title { margin: 0 0 12px; }
.pv26-lipo__products-head p { margin: 0; color: #555; }
/* FAQ: accordion on the content width, first item open. */
.pv26-lipo__faq { margin-top: 104px; }
.pv26-lipo__faq .pv26-goal-block__title { margin: 0 0 24px; }
.pv26-lipo__accordion { max-width: 860px; margin: 0; }

/* ── FAQ page (Figma 2005:1354) ─────────────────────────────────────────── */
.pv26-faqp { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
.pv26-faqp__head { padding: 75px 0 63px; }
.pv26-faqp__title { margin: 0 0 26px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-faqp__intro { max-width: 578px; line-height: 1.4; }
.pv26-faqp__intro p { margin: 0; }
/* One grey card per topic: light 40 title left (403 wide), accordion right on the 633px column, 52px inner padding. */
.pv26-faqp__group { display: grid; grid-template-columns: 1fr 608px; gap: 26px; align-items: start; margin-top: 26px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-faqp__group + .pv26-faqp__group { margin-top: 26px; }
.pv26-faqp__group-title { margin: 0; max-width: 403px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 300; line-height: 1; }
.pv26-faqp__accordion { max-width: none; margin: 0; }
.pv26-faqp__accordion .pv26-accordion__q { padding: 18px 0; }
.pv26-faqp__accordion .pv26-accordion__item:first-child .pv26-accordion__q { padding-top: 19px; }
.pv26-faqp__accordion .pv26-accordion__a > div > p { margin: 0 0 1em; font-weight: 400; line-height: 1.35; }
.pv26-faqp__accordion .pv26-accordion__a > div > p:last-child { margin-bottom: 0; }
.pv26-faqp__cta { margin: 6px 0 4px; }
/* Closing: bold line + two outline buttons on the accordion column. */
.pv26-faqp__more { display: grid; grid-template-columns: 1fr 608px; gap: 26px; margin: 58px 0 0; padding: 0 52px; }
.pv26-faqp__more > * { grid-column: 2; }
.pv26-faqp__more-title { margin: 0 0 22px; font-weight: 700; }
.pv26-faqp__more-actions { display: flex; gap: 12px; }

/* ── Shipping & returns page (Figma 4011:12864) ─────────────────────────── */
.pv26-ship { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
/* Copy sections: H2 on the container edge, text blocks on the 606px right column (x = 737 in the frame). */
.pv26-ship__section { display: grid; grid-template-columns: 663px 606px; justify-content: start; gap: 26px; align-items: start; padding: 43px 0 0; }
.pv26-ship__section + .pv26-ship__section { padding-top: 0; }
.pv26-ship__h { margin: 0; max-width: 431px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-ship__blocks { display: flex; flex-direction: column; gap: 26px; margin-top: 17px; }
.pv26-ship__block { padding-top: 26px; border-top: 1px solid var(--pv-border-default); line-height: 1.35; }
.pv26-ship__block:first-child { padding-top: 0; border-top: 0; }
.pv26-ship__block-title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.35; }
.pv26-ship__block p { margin: 0 0 1em; }
.pv26-ship__block p:last-child { margin-bottom: 0; }
.pv26-ship__block a { color: inherit; text-decoration: underline; text-underline-position: from-font; }
/* Grey card with the zones table. */
.pv26-ship__card { margin: 102px 0 92px; padding: 60px 78px 44px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-ship__card-title { margin: 0 0 40px; font-family: var(--pv-font-heading); font-size: 30px; font-weight: 700; line-height: 1; }
.pv26-ship__table-wrap { overflow-x: auto; }
.pv26-ship__table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.4; }
.pv26-ship__table th { padding: 0 0 20px; text-align: left; font-weight: 700; vertical-align: top; border-bottom: 1px solid var(--pv-color-black); }
.pv26-ship__table td { padding: 25px 0 22px; vertical-align: top; border-bottom: 1px solid var(--pv-border-default); }
.pv26-ship__table tr:last-child td { border-bottom: 0; }
.pv26-ship__table td strong { display: block; }
.pv26-ship__table .pv26-ship__c { text-align: center; width: 150px; }
.pv26-ship__sub { font-weight: 700; }
.pv26-ship__countries { display: block; max-width: 690px; }
.pv26-ship__note { margin: 20px 0 0; font-size: 14px; color: #555; }
.pv26-ship__cta { margin-top: 16px; }
.pv26-ship__block .pv26-btn, .pv26-ship__block .pv26-btn--primary { color: var(--pv-color-white); text-decoration: none; }
.pv26-ship__table .woocommerce-Price-currencySymbol { margin-right: 2px; }
.pv26-ship__returns { padding: 0 0 60px; }
.pv26-ship__returns .pv26-ship__h { max-width: none; }
.pv26-ship__portal { margin: 32px 0 26px; width: auto; }
.pv26-ship__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.pv26-ship__cell { padding: 32px 36px; border-radius: 16px; border: 1px solid var(--pv-border-default); background: var(--pv-color-white); line-height: 1.35; }
.pv26-ship__cell .pv26-ship__block-title { margin: 0 0 8px; }
.pv26-ship__cell p { margin: 0 0 1em; }
.pv26-ship__cell p:last-child { margin-bottom: 0; }
.pv26-ship__cell a { color: inherit; text-decoration: underline; text-underline-position: from-font; }
.pv26-ship__cell .pv26-btn { text-decoration: none; margin-top: 16px; }

/* ── WooCommerce order-withdrawal form (/my-account/withdraw-order/, guest-accessible, outside the
   account chrome): a plain page in the theme's form language until My account is rebuilt. ────── */
.woocommerce-order-withdrawal-content { max-width: 720px; margin: 0 auto; padding: 60px 48px 80px; line-height: 1.4; }
.woocommerce-order-withdrawal-content p { margin: 0 0 1em; }
.woocommerce-order-withdrawal-content__steps { display: flex; gap: 8px; margin: 26px 0 32px; padding: 0; list-style: none; counter-reset: pv-step; font-size: 13px; }
.woocommerce-order-withdrawal-content__steps li { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border-radius: 99px; background: var(--pv-color-grey); }
.woocommerce-order-withdrawal-content__steps li::before { counter-increment: pv-step; content: counter(pv-step); display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--pv-color-black); color: var(--pv-color-white); font-size: 11px; font-weight: 700; }
.woocommerce-OrderWithdrawalForm { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; }
.woocommerce-OrderWithdrawalForm .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #555; }
.woocommerce-OrderWithdrawalForm .form-row-wide, .woocommerce-OrderWithdrawalForm .clear, .woocommerce-OrderWithdrawalForm > p:not(.form-row), .woocommerce-OrderWithdrawalForm fieldset { grid-column: 1 / -1; }
.woocommerce-OrderWithdrawalForm input[type="text"], .woocommerce-OrderWithdrawalForm input[type="email"], .woocommerce-OrderWithdrawalForm textarea { width: 100%; padding: 0 18px; height: 44px; border: 1px solid var(--pv-color-black); border-radius: 22px; background: var(--pv-color-white); font: inherit; font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--pv-color-black); }
.woocommerce-OrderWithdrawalForm textarea { height: auto; min-height: 120px; padding: 14px 18px; border-radius: 16px; }
.woocommerce-OrderWithdrawalForm fieldset { margin: 0; padding: 18px 20px; border: 1px solid var(--pv-border-default); border-radius: 16px; }
.woocommerce-OrderWithdrawalForm legend { padding: 0 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #555; }
.woocommerce-OrderWithdrawalForm fieldset label { display: flex; align-items: center; gap: 10px; margin: 6px 0; font-size: 15px; }
.woocommerce-OrderWithdrawalForm .woocommerce-Button, .woocommerce-OrderWithdrawalForm .button { grid-column: 1 / -1; justify-self: start; display: inline-flex; align-items: center; height: 44px; padding: 0 24px; border: 0; border-radius: 99px; background: var(--pv-color-black); color: var(--pv-color-white); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer; }
.woocommerce-OrderWithdrawalForm input:focus-visible, .woocommerce-OrderWithdrawalForm textarea:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }

/* ── Contact page (Figma 4015:1819) ────────────────────────────────────── */
.pv26-contact { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px; }
/* Hero: 1344×500 photo card, copy on the left third over a soft scrim. */
.pv26-contact__hero { position: relative; height: 500px; border-radius: 26px; overflow: hidden; background: #c4c4c4; display: flex; align-items: center; }
.pv26-contact__hero-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pv26-contact__hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.42) 0%, rgba(0, 0, 0, 0.18) 45%, rgba(0, 0, 0, 0) 70%); }
.pv26-contact__hero.is-placeholder::after { display: none; }
.pv26-contact__hero-copy { position: relative; z-index: 1; padding: 0 0 0 112px; max-width: 593px; color: var(--pv-color-white); }
.pv26-contact__hero.is-placeholder .pv26-contact__hero-copy { color: var(--pv-color-black); }
.pv26-contact__hero.is-placeholder .pv26-contact__hero-title { color: var(--pv-color-white); }
.pv26-contact__hero-title { margin: 0 0 23px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; max-width: 546px; }
.pv26-contact__hero-text { margin: 0; max-width: 481px; line-height: 1.35; }
/* Body: copy column (x = 104 → 56px in from the edge, Figma) and the 545px form card. */
.pv26-contact__body { display: grid; grid-template-columns: 1fr 545px; gap: 26px; align-items: start; margin-top: 26px; padding-bottom: 80px; }
.pv26-contact__info { padding: 42px 52px 0 0; }
.pv26-contact__h2 { margin: 0 0 22px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; max-width: 494px; }
.pv26-contact__text { max-width: 659px; line-height: 1.35; }
.pv26-contact__text p { margin: 0 0 1em; }
.pv26-contact__channels { display: grid; gap: 22px; margin: 60px 0 0; }
.pv26-contact__channel { display: grid; grid-template-columns: 86px auto; align-items: center; gap: 12px; }
.pv26-contact__channel dt { margin: 0; }
.pv26-contact__channel dd { margin: 0; }
.pv26-contact__channel--phones { align-items: start; }
.pv26-contact__channel--phones dt { padding-top: 10px; }
.pv26-contact__channel--phones dd { display: grid; gap: 14px; }
.pv26-contact__phone-row { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 14px; }
.pv26-contact__phone-hours { font-size: 13px; color: #555; }
.pv26-contact__phone-hours.is-open::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #1d7a3d; vertical-align: 1px; }
.pv26-contact__phone-hours[hidden] { display: none; }
.pv26-contact__phone-label { margin-right: 8px; padding: 2px 7px; border-radius: 99px; background: var(--pv-color-grey); font-size: 11px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; }
.pv26-contact__hours { margin: 32px 0 0; }
/* The form card. */
.pv26-contact__card { padding: 44px 52px 44px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-contact__form-title { margin: 0 0 12px; font-family: var(--pv-font-heading); font-size: 34px; font-weight: 700; line-height: 1.2; }
.pv26-contact__form-intro { margin: 0 0 26px; font-size: 14px; line-height: 1.4; color: #555; }
.pv26-contact__form { display: grid; gap: 26px; }
.pv26-contact__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pv26-contact__field { display: block; }
.pv26-contact__field input, .pv26-contact__field select, .pv26-contact__field textarea { width: 100%; padding: 14px 30px; border: 0; border-radius: 26px; background: var(--pv-color-white); font: inherit; font-size: 16px; line-height: 1.35; color: var(--pv-color-black); }
.pv26-contact__field input::placeholder, .pv26-contact__field textarea::placeholder { color: #b9b4ab; opacity: 1; }
.pv26-contact__field select { appearance: none; -webkit-appearance: none; padding-right: 60px; font-weight: 700; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='11.5' fill='%23000'/%3E%3Cpath d='M8 11l4 4 4-4' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.pv26-contact__field select:invalid { font-weight: 700; color: var(--pv-color-black); }
.pv26-contact__field textarea { min-height: 150px; resize: vertical; }
.pv26-contact__field input:focus-visible, .pv26-contact__field select:focus-visible, .pv26-contact__field textarea:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }
.pv26-contact__field.is-invalid input, .pv26-contact__field.is-invalid select, .pv26-contact__field.is-invalid textarea { box-shadow: inset 0 0 0 1px #b3261e; }
.pv26-contact__turnstile { min-height: 65px; }
.pv26-contact__privacy { margin: -6px 0 0; font-size: 13px; line-height: 1.35; color: #555; }
.pv26-contact__privacy a { color: inherit; font-weight: 700; text-decoration: none; }
.pv26-contact__privacy a:hover { text-decoration: underline; }
.pv26-contact__status { margin: 0; padding: 14px 18px; border-radius: 16px; font-size: 14px; line-height: 1.4; background: var(--pv-color-white); }
.pv26-contact__status.is-ok { background: #e6f4ea; color: #1d7a3d; }
.pv26-contact__status.is-error { background: #fde8e6; color: #b3261e; }
.pv26-contact__submit { justify-self: start; margin-top: 6px; }
.pv26-contact__submit.is-loading { opacity: 0.6; pointer-events: none; }
.pv26-contact__form.is-sent .pv26-contact__field, .pv26-contact__form.is-sent .pv26-contact__privacy, .pv26-contact__form.is-sent .pv26-contact__submit { display: none; }

/* ── Reviews page (Figma 4022:11559 + Rein's source strip / Trustpilot / filters) ─────────── */
.pv26-rv { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px 80px; }
.pv26-rv__head { padding: 43px 0 0; }
.pv26-rv__title { margin: 0 0 26px; max-width: 607px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-rv__intro { max-width: 578px; line-height: 1.4; }
.pv26-rv__intro p { margin: 0 0 1em; }
/* Source strip: Yotpo score + Trustpilot brandmark/score, side by side on grey. */
.pv26-rv__sources { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 52px; }
.pv26-rv__source { display: inline-flex; align-items: center; gap: 12px; padding: 18px 24px; border-radius: 16px; background: var(--pv-color-grey); color: var(--pv-color-black); text-decoration: none; }
.pv26-rv__source strong { font-family: var(--pv-font-heading); font-size: 22px; line-height: 1; }
.pv26-rv__source-text { font-size: 13px; color: #555; }
.pv26-rv__source-stars { color: var(--pv-goal-energy); display: inline-flex; }
.pv26-rv__tp-mark { height: 24px; width: auto; }
.pv26-rv__tp-stars { height: 18px; width: auto; }
.pv26-rv__source--tp:hover .pv26-rv__source-text { text-decoration: underline; }
.pv26-rv__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.pv26-rv__chips .pv26-chip--filter span { margin-left: 4px; opacity: 0.6; }
/* Cards: two 659px columns, masonry via CSS columns; each card = the Figma grey card with 52px padding. */
.pv26-rv__grid { columns: 2; column-gap: 26px; margin-top: 26px; }
.pv26-rv__card { break-inside: avoid; margin: 0 0 26px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-rv__card.is-hidden { display: none; }
.pv26-rv__card-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 35px; }
.pv26-rv__card-top .pv26-stars { color: var(--pv-goal-energy); display: inline-flex; gap: 2px; }
.pv26-rv__card-tpstars { height: 18px; width: auto; }
.pv26-rv__card-label { font-size: 13px; color: var(--pv-color-black); text-decoration: none; text-align: right; }
a.pv26-rv__card-label:hover { text-decoration: underline; }
.pv26-rv__card-title { margin: 0; font-size: 16px; font-weight: 700; line-height: 1.35; }
.pv26-rv__card-text { margin: 0; line-height: 1.35; white-space: pre-line; }
.pv26-rv__card-foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-top: 1.35em; }
.pv26-rv__card-name { line-height: 1.35; }
.pv26-rv__card-name time { display: block; font-size: 12px; color: #727272; }
.pv26-rv__verified { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-style: italic; white-space: nowrap; }
.pv26-rv__empty { margin: 26px 0 0; color: #555; }
.pv26-rv__more { display: flex; gap: 12px; margin-top: 26px; }

/* ── Ingredients page (flowchart "Wetenschap → Ingrediënten"; no Figma frame) ───────────── */
.pv26-ing { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px 80px; }
.pv26-ing__hero { margin-top: 10px; }
.pv26-ing__hero .pv26-goal-block__copy { padding: 40px 52px 40px 0; }
.pv26-ing__hero .pv26-goal-block__title { margin-top: 0; }
/* The agency's five principles as one row of grey cards. */
.pv26-ing__principles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; margin-top: 82px; }
.pv26-ing__principle { padding: 28px 24px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-ing__principle h2 { margin: 0 0 8px; font-size: 16px; font-weight: 700; line-height: 1.3; }
.pv26-ing__principle p { margin: 0; font-size: 14px; line-height: 1.45; color: #555; }
/* List head: heading + intro left, "jump to" dropdown right (the certificates-page select). */
.pv26-ing__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 26px; margin-top: 104px; scroll-margin-top: 100px; }
.pv26-ing__title { margin: 0 0 12px; max-width: 431px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-ing__intro { margin: 0; max-width: 578px; line-height: 1.35; color: #555; }
.pv26-ing__jump { display: flex; flex-direction: column; gap: 6px; flex: 0 0 320px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #555; }
.pv26-ing__jump select { height: 44px; padding: 0 40px 0 18px; border: 1px solid var(--pv-color-black); border-radius: 99px; background: var(--pv-color-white); font: inherit; font-size: 14px; color: var(--pv-color-black); text-transform: none; letter-spacing: 0; appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2 4l4 4 4-4' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; }
.pv26-ing__jump select:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }
/* One grey card per ingredient: name column left (like the FAQ topic cards), copy right on the 608px column. */
.pv26-ing__card { display: grid; grid-template-columns: 1fr 608px; gap: 26px; align-items: start; margin-top: 26px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); scroll-margin-top: 100px; }
.pv26-ing__head + .pv26-ing__card { margin-top: 32px; }
.pv26-ing__name { margin: 0; max-width: 403px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 300; line-height: 1; }
.pv26-ing__tagline { margin: 14px 0 0; max-width: 403px; color: #555; line-height: 1.35; }
.pv26-ing__in-label { margin: 32px 0 10px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #555; }
.pv26-ing__products { display: flex; flex-wrap: wrap; gap: 8px; max-width: 480px; }
.pv26-ing__product { padding: 7px 12px; font-size: var(--pv-text-label); line-height: 1.2; color: var(--pv-color-black); background: var(--pv-color-white); text-decoration: none; }
.pv26-ing__product:hover { background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-ing__body { padding-top: 19px; line-height: 1.35; }
.pv26-ing__body h4 { margin: 0 0 4px; font-size: 16px; font-weight: 700; line-height: 1.35; }
.pv26-ing__body p { margin: 0 0 22px; }
.pv26-ing__more { display: inline-flex; align-items: center; gap: 10px; font-weight: 700; color: var(--pv-color-black); text-decoration: none; }
.pv26-ing__more:hover { text-decoration: underline; }
.pv26-ing__closing { margin-top: 82px; text-align: center; max-width: 720px; margin-left: auto; margin-right: auto; }
.pv26-ing__closing-title { margin: 0 0 16px; font-family: var(--pv-font-body); font-size: 32px; font-weight: 700; line-height: 1.1; }
.pv26-ing__closing p { margin: 0 0 26px; line-height: 1.45; color: #4a4a68; }
.pv26-ing__closing-actions { display: flex; justify-content: center; gap: 12px; }

/* ── Search results (product first; same engine as the drawer) ───────────── */
.pv26-srch { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px 80px; }
.pv26-srch__head { padding: 43px 0 0; }
.pv26-srch__form { display: flex; gap: 12px; max-width: 660px; margin-bottom: 40px; }
.pv26-srch__input { flex: 1; height: 44px; padding: 0 22px; border: 1px solid var(--pv-color-black); border-radius: 99px; background: var(--pv-color-white); font: inherit; font-size: 15px; color: var(--pv-color-black); }
.pv26-srch__input:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }
.pv26-srch__input::-webkit-search-cancel-button { -webkit-appearance: none; }
.pv26-srch__title { margin: 0 0 12px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-srch__title span { font-weight: 300; }
.pv26-srch__meta { margin: 0; color: #555; }
.pv26-srch__section { margin-top: 52px; }
.pv26-srch__section--cats { margin-top: 32px; }
.pv26-srch__section-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 26px; }
.pv26-srch__h2 { margin: 0 0 18px; font-family: var(--pv-font-body); font-size: 26px; font-weight: 700; line-height: 1.1; }
.pv26-srch__section-head .pv26-srch__h2 { margin: 0; }
.pv26-srch__products .pv26-product-card { min-height: 553px; }
.pv26-srch__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.pv26-srch__ingredients { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
.pv26-srch__ingredient { padding: 32px 36px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-srch__ingredient h3 { margin: 0 0 8px; font-size: 22px; font-weight: 700; line-height: 1.15; }
.pv26-srch__ingredient p { margin: 0 0 10px; font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #555; }
.pv26-srch__ingredient .pv26-ing__more { margin-top: 18px; }
.pv26-srch__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pv26-srch__chips .pv26-chip--filter { text-decoration: none; }
.pv26-srch__pages { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-top: 40px; }
.pv26-srch__pages .page-numbers { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--pv-color-black); border-radius: 99px; font-size: 13px; color: var(--pv-color-black); text-decoration: none; }
.pv26-srch__pages .page-numbers.current { background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-srch__pages .page-numbers.dots { border: 0; }
.pv26-srch__quiz { margin-top: 40px; }
.pv26-srch__quiz .pv26-quiz-card { width: auto; }

/* ── Vital Club (loyalty page on the Yotpo loyalty API) ─────────────────── */
.pv26-vc { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px 80px; }
.pv26-vc__hero { margin-top: 10px; }
.pv26-vc__hero .pv26-goal-block__copy { padding: 40px 52px 40px 0; }
.pv26-vc__hero .pv26-goal-block__title { margin-top: 20px; }
.pv26-vc__eyebrow { background: var(--pv-color-primary); color: var(--pv-color-white); }
.pv26-vc__actions { display: flex; gap: 12px; margin-top: 12px; }
.pv26-vc__note { margin: 12px 0 0; color: #555; }
/* Member status card in the hero's media slot. */
.pv26-vc__status { order: 2; position: relative; overflow: hidden; min-height: 500px; padding: 44px 48px; border-radius: 26px; color: var(--pv-color-white); display: flex; flex-direction: column; justify-content: center;
	--pv-lc-a-size: 90%; --pv-lc-a-x: -35%; --pv-lc-a-y: 30%; --pv-lc-b-size: 100%; --pv-lc-b-x: 45%; --pv-lc-b-y: -40%; }
.pv26-vc__status > * { position: relative; z-index: 1; }
.pv26-vc__status-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 26px; }
.pv26-vc__status-label { font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; opacity: 0.8; }
.pv26-vc__tier-chip { display: inline-flex; align-items: center; height: 30px; padding: 0 14px; border-radius: 99px; background: var(--pv-goal-energy); color: var(--pv-color-black); font-size: 13px; font-weight: 700; }
.pv26-vc__points { margin: 0 0 18px; font-family: var(--pv-font-heading); font-size: 22px; line-height: 1.1; }
.pv26-vc__points strong { font-size: 64px; font-weight: 700; letter-spacing: -0.02em; }
.pv26-vc__worth { display: block; margin-top: 6px; font-family: var(--pv-font-body); font-size: 15px; opacity: 0.85; }
.pv26-vc__progress { height: 8px; border-radius: 99px; background: rgba(255, 255, 255, 0.2); overflow: hidden; }
.pv26-vc__progress span { display: block; height: 100%; border-radius: 99px; background: var(--pv-goal-energy); }
.pv26-vc__status-line { margin: 10px 0 0; font-size: 14px; opacity: 0.9; }
.pv26-vc__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 24px; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid rgba(255, 255, 255, 0.2); }
.pv26-vc__facts div { display: grid; gap: 4px; }
.pv26-vc__facts dt { font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; opacity: 0.7; }
.pv26-vc__facts dd { margin: 0; font-weight: 700; }
.pv26-vc__copy { display: inline-flex; align-items: center; gap: 8px; padding: 0; border: 0; background: none; color: inherit; font: inherit; font-weight: 700; cursor: pointer; }
.pv26-vc__copy span { font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; padding: 3px 8px; border-radius: 99px; background: rgba(255, 255, 255, 0.18); }
.pv26-vc__copy.is-done span { background: var(--pv-goal-energy); color: var(--pv-color-black); }
/* Sections. */
.pv26-vc__h2 { margin: 0 0 12px; font-family: var(--pv-font-body); font-size: 32px; font-weight: 700; line-height: 1.1; }
.pv26-vc__section-head { max-width: 640px; margin-bottom: 32px; }
.pv26-vc__section-head p { margin: 0; color: #555; }
.pv26-vc__how { margin-top: 104px; }
.pv26-vc__steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; margin: 26px 0 0; padding: 0; list-style: none; }
.pv26-vc__step { padding: 32px 30px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-vc__num { display: inline-grid; place-items: center; width: 34px; height: 34px; margin-bottom: 18px; border-radius: 50%; background: var(--pv-color-black); color: var(--pv-color-white); font-family: var(--pv-font-heading); font-size: 14px; font-weight: 700; }
.pv26-vc__step h3 { margin: 0 0 8px; font-size: 18px; font-weight: 700; line-height: 1.2; }
.pv26-vc__step p { margin: 0; font-size: 14px; line-height: 1.45; color: #555; }
.pv26-vc__earn { margin-top: 104px; }
.pv26-vc__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.pv26-vc__card { display: flex; flex-direction: column; gap: 6px; padding: 28px 26px; border-radius: 16px; border: 1px solid var(--pv-border-default); background: var(--pv-color-white); }
.pv26-vc__icon { display: inline-grid; place-items: center; width: 44px; height: 44px; margin-bottom: 10px; border-radius: 12px; background: var(--pv-color-grey); color: var(--pv-color-accent); }
.pv26-vc__reward { font-family: var(--pv-font-heading); font-size: 22px; line-height: 1.1; }
.pv26-vc__card-title { font-weight: 700; }
.pv26-vc__card-text { margin: 0; font-size: 14px; line-height: 1.45; color: #555; }
.pv26-vc__card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 12px; font-size: 13px; font-weight: 700; color: var(--pv-color-black); text-decoration: none; }
.pv26-vc__card-link svg { width: 12px; height: 12px; }
.pv26-vc__card-link:hover { text-decoration: underline; }
/* Redeem on the orange card. */
.pv26-vc__redeem { position: relative; overflow: hidden; margin-top: 104px; padding: 64px 74px; border-radius: 26px; color: var(--pv-color-black);
	--pv-lc-a-size: 64%; --pv-lc-a-x: -18%; --pv-lc-a-y: -30%; --pv-lc-b-size: 74%; --pv-lc-b-x: 58%; --pv-lc-b-y: 36%; }
.pv26-vc__redeem > * { position: relative; z-index: 1; }
.pv26-vc__redeem .pv26-vc__section-head p { color: rgba(0, 0, 0, 0.75); }
.pv26-vc__options { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 20px; align-items: start; }
.pv26-vc__option { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 26px; border-radius: 16px; background: rgba(255, 255, 255, 0.92); }
.pv26-vc__option strong { font-family: var(--pv-font-heading); font-size: 28px; line-height: 1; }
.pv26-vc__option span { color: #555; font-size: 14px; }
.pv26-vc__option .pv26-btn { margin-top: 14px; }
.pv26-vc__option .pv26-btn[disabled] { background: #d9d3c7; color: #555; cursor: default; }
.pv26-vc__option .pv26-btn.is-loading { opacity: 0.6; pointer-events: none; }
.pv26-vc__option-img { width: 96px; height: 96px; margin: -6px 0 10px; border-radius: 14px; background: var(--pv-color-white); }
.pv26-vc__option-img img { width: 100%; height: 100%; object-fit: contain; padding: 6px; box-sizing: border-box; }
.pv26-vc__option-progress { width: 100%; height: 6px; margin-top: 14px; border-radius: 99px; background: #eee9df; overflow: hidden; }
.pv26-vc__option-progress span { display: block; height: 100%; border-radius: 99px; background: var(--pv-color-accent); transition: width 0.4s ease; }
.pv26-vc__option.is-available .pv26-vc__option-progress span { background: var(--pv-color-black); }
.pv26-vc__option-hint { font-size: 12px; color: #555; }
.pv26-vc__option.is-available .pv26-vc__option-hint { color: var(--pv-color-black); font-weight: 700; }
.pv26-vc__option.is-busy .pv26-btn[data-pv26-redeem], .pv26-vc__option.is-confirm .pv26-btn[data-pv26-redeem] { display: none; }
.pv26-vc__option-flow { width: 100%; margin-top: 14px; font-size: 14px; }
.pv26-vc__option-flow p { margin: 0 0 10px; font-weight: 700; }
.pv26-vc__flow-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.pv26-vc__flow-btns .pv26-btn--ghost { background: transparent; border: 1px solid var(--pv-color-black); color: var(--pv-color-black); }
.pv26-vc__flow-wait { display: flex; align-items: center; gap: 10px; color: #555; }
.pv26-vc__spinner { width: 18px; height: 18px; flex: 0 0 18px; border-radius: 50%; border: 2px solid #d9d3c7; border-top-color: var(--pv-color-black); animation: pv26-spin 0.8s linear infinite; }
@keyframes pv26-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pv26-vc__spinner { animation-duration: 2s; } }
.pv26-vc__flow-code { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 6px 12px; border-radius: 8px; background: var(--pv-color-grey); font-family: var(--pv-font-heading); font-size: 16px; letter-spacing: 0.04em; }
.pv26-vc__flow-error { color: #b3261e; font-weight: 700; }
.pv26-vc__redeem-status { margin: 26px 0 0; padding: 14px 18px; border-radius: 16px; background: rgba(255, 255, 255, 0.92); font-size: 14px; }
.pv26-vc__redeem-status.is-error { color: #b3261e; }
/* Earn cards: completed state. */
.pv26-vc__card { position: relative; }
.pv26-vc__card.is-done { background: var(--pv-color-grey); border-color: transparent; }
.pv26-vc__card.is-done .pv26-vc__icon { background: var(--pv-color-white); color: #8a8578; }
.pv26-vc__done { position: absolute; top: 18px; right: 18px; display: inline-flex; align-items: center; gap: 5px; padding: 4px 10px; border-radius: 99px; background: var(--pv-color-black); color: var(--pv-color-white); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.pv26-vc__done--count { background: var(--pv-goal-energy); color: var(--pv-color-black); }
/* Refer a friend. */
.pv26-vc__refer { display: grid; grid-template-columns: 1fr; gap: 40px; align-items: center; margin-top: 104px; padding: 56px 60px; border-radius: 26px; color: var(--pv-color-white); position: relative; overflow: hidden;
	--pv-lc-a-size: 70%; --pv-lc-a-x: -25%; --pv-lc-a-y: 40%; --pv-lc-b-size: 80%; --pv-lc-b-x: 70%; --pv-lc-b-y: -50%; }
.pv26-vc__refer.has-image { grid-template-columns: 1.15fr 1fr; }
.pv26-vc__refer > * { position: relative; z-index: 1; }
.pv26-vc__refer-copy { max-width: 620px; }
.pv26-vc__refer-copy .pv26-vc__h2 { margin-top: 18px; color: var(--pv-color-white); }
.pv26-vc__refer-copy > p { margin: 0 0 26px; opacity: 0.9; }
.pv26-vc__eyebrow--light { background: var(--pv-color-accent); color: var(--pv-color-black); }
.pv26-vc__refer-media img { display: block; width: 100%; border-radius: 18px; aspect-ratio: 4 / 3; object-fit: cover; }
.pv26-vc__link { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; max-width: 520px; padding: 8px 8px 8px 20px; border: 0; border-radius: 99px; background: var(--pv-color-white); color: var(--pv-color-black); font: inherit; font-size: 15px; cursor: pointer; text-align: left; }
.pv26-vc__link-url { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 700; }
.pv26-vc__link-cta { flex: 0 0 auto; display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 99px; background: var(--pv-color-black); color: var(--pv-color-white); font-size: 13px; font-weight: 700; }
.pv26-vc__link.is-done .pv26-vc__link-cta { background: var(--pv-goal-energy); color: var(--pv-color-black); }
.pv26-vc__share-btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 14px; }
.pv26-vc__share-btn { display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 16px; border-radius: 99px; border: 1px solid rgba(255, 255, 255, 0.5); color: var(--pv-color-white); font-size: 13px; font-weight: 700; text-decoration: none; }
.pv26-vc__share-btn:hover { background: rgba(255, 255, 255, 0.14); }
.pv26-vc__share-note { margin: 16px 0 0; font-size: 14px; opacity: 0.85; }
.pv26-btn--white { background: var(--pv-color-white); color: var(--pv-color-black); }
.pv26-vc__refer .pv26-vc__actions { margin-top: 4px; }
@media (max-width: 900px) {
	.pv26-vc__refer, .pv26-vc__refer.has-image { grid-template-columns: 1fr; padding: 36px 28px; }
}
/* Tiers. */
.pv26-vc__tiers { margin-top: 104px; }
.pv26-vc__tier-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.pv26-vc__tier { position: relative; padding: 32px 30px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-vc__tier--2 { background: var(--pv-color-white); border: 1px solid var(--pv-border-default); }
.pv26-vc__tier--3 { background: var(--pv-goal-energy); }
.pv26-vc__tier.is-mine { box-shadow: 0 0 0 2px var(--pv-color-black) inset; }
.pv26-vc__mine { position: absolute; top: 18px; right: 18px; padding: 4px 10px; border-radius: 99px; background: var(--pv-color-black); color: var(--pv-color-white); font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }
.pv26-vc__tier h3 { margin: 0 0 6px; font-family: var(--pv-font-heading); font-size: 28px; line-height: 1.1; }
.pv26-vc__tier p { margin: 0 0 16px; color: #555; }
.pv26-vc__tier ul { margin: 0; padding: 0 0 0 18px; font-size: 14px; line-height: 1.6; }
.pv26-vc__perks-wrap { margin-top: 26px; overflow-x: auto; border: 1px solid var(--pv-border-default); border-radius: 16px; background: var(--pv-color-white); }
.pv26-vc__perks { width: 100%; border-collapse: collapse; font-size: 15px; }
.pv26-vc__perks th { padding: 18px 20px; text-align: left; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #555; border-bottom: 1px solid var(--pv-border-default); }
.pv26-vc__perks th:not(:first-child), .pv26-vc__perks td:not(:first-child) { text-align: center; width: 140px; }
.pv26-vc__perks td { padding: 16px 20px; border-bottom: 1px solid #efece6; }
.pv26-vc__perks tr:last-child td { border-bottom: 0; }
/* Member section: history + birthday. */
.pv26-vc__member { display: grid; grid-template-columns: 1fr 420px; gap: 26px; align-items: start; margin-top: 104px; }
.pv26-vc__table { width: 100%; border-collapse: collapse; font-size: 14px; }
.pv26-vc__table th { padding: 0 0 12px; text-align: left; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: #555; border-bottom: 1px solid var(--pv-color-black); }
.pv26-vc__table td { padding: 12px 0; border-bottom: 1px solid var(--pv-border-default); }
.pv26-vc__r { text-align: right; font-weight: 700; }
.pv26-vc__r.is-minus { color: #b3261e; }
.pv26-vc__birthday { padding: 32px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-vc__birthday p { margin: 0 0 16px; color: #555; }
.pv26-vc__bform { display: flex; align-items: flex-end; gap: 12px; }
.pv26-vc__bform label { display: flex; flex-direction: column; gap: 6px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: #555; }
.pv26-vc__bform input, .pv26-vc__bform select { height: 44px; padding: 0 16px; border: 1px solid var(--pv-color-black); border-radius: 99px; background: var(--pv-color-white); font: inherit; font-size: 14px; text-transform: none; letter-spacing: 0; }
.pv26-vc__bform input { width: 84px; }
.pv26-vc__bstatus { margin: 12px 0 0; font-size: 14px; }
.pv26-vc__faq { margin-top: 104px; }
.pv26-vc__accordion { max-width: 860px; margin: 0; }

/* Vital Club blocks inside My Account (2026-09-07): tighter rhythm, compact status card. */
.pv26-vc-account { display: grid; gap: 28px; }
.pv26-vc-account .pv26-vc__redeem, .pv26-vc-account .pv26-vc__refer, .pv26-vc-account .pv26-vc__member { margin-top: 0; }
.pv26-vc-account .pv26-vc__refer, .pv26-vc-account .pv26-vc__redeem { padding: 40px 44px; border-radius: 20px; }
.pv26-vc-account .pv26-vc__member { grid-template-columns: 1fr 360px; }
.pv26-vc-account .pv26-vc__h2 { font-size: 24px; }
.pv26-vc-account .pv26-vc__section-head { margin-bottom: 22px; }
.pv26-vc-account .pv26-vc__options { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 14px; }
.pv26-vc-account .pv26-vc__option { padding: 20px; }
.pv26-vc-account .pv26-vc__option strong { font-size: 22px; }
.pv26-vc-account--refer { margin: 40px 0 8px; }
.pv26-vc__more { margin: 0; font-size: 14px; font-weight: 700; }
.pv26-vc__more a { display: inline-flex; align-items: center; gap: 8px; color: var(--pv-color-black); text-decoration: none; }
.pv26-vc__more a svg { width: 12px; height: 12px; }
.pv26-vc__more a:hover { text-decoration: underline; }
.pv26-vc__status--compact { order: 0; min-height: 0; padding: 30px 32px; border-radius: 20px; --pv-lc-a-size: 80%; --pv-lc-b-size: 90%; }
.pv26-vc__status--compact .pv26-vc__status-top { margin-bottom: 16px; }
.pv26-vc__status--compact .pv26-vc__points { font-size: 18px; }
.pv26-vc__status--compact .pv26-vc__points strong { font-size: 44px; }
.pv26-vc__status--compact .pv26-vc__facts { margin-top: 18px; padding-top: 16px; }
.pv26-vc__status-cta { margin-top: 22px; align-self: flex-start; }
.pv-overview-card--vc { padding: 0; border: 0; background: none; overflow: visible; }
.pv-overview-card--vc .pv26-vc__status { width: 100%; }
@media (max-width: 900px) {
	.pv26-vc-account .pv26-vc__member { grid-template-columns: 1fr; }
	.pv26-vc-account .pv26-vc__refer, .pv26-vc-account .pv26-vc__redeem { padding: 28px 24px; }
}
.pv26-vc__hcode { margin-left: 6px; padding: 2px 7px; border-radius: 6px; background: var(--pv-color-grey); font-family: var(--pv-font-heading); font-size: 12px; letter-spacing: 0.04em; }

/* Product card with its own actions (cart recommendations): the media/copy sit in an
   inner link that takes part in the card's column layout; the buttons follow. */
.pv26-product-card__link { display: contents; color: inherit; text-decoration: none; }
.pv26-product-card__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: auto; }
.pv26-product-card--actions .pv26-product-card__price { margin-bottom: 18px; }
.pv26-product-card__alt { font-size: 13px; font-weight: 600; color: var(--pv-color-black); text-decoration: underline; text-underline-offset: 3px; }

/* Product cards that stay aligned in a row (Rein, 2026-09-07): the chips row keeps
   one row's height, the price + button group is pinned to the bottom, and narrow
   cards (container queries) drop the extra chips and the description instead of
   wrapping into different heights. */
.pv26-product-card { container-type: inline-size; }
.pv26-product-card__chips { min-height: 28px; }
.pv26-product-card__price { margin-top: auto; }
.pv26-product-card .pv26-btn, .pv26-product-card__actions { margin-top: 0; }
@container (max-width: 240px) {
	.pv26-product-card__chips .pv26-chip:nth-child(n+3) { display: none; }
	.pv26-product-card__desc { -webkit-line-clamp: 2; }
}
@container (max-width: 200px) {
	.pv26-product-card__chips .pv26-chip:nth-child(n+2) { display: none; }
	.pv26-product-card__desc { display: none; }
	.pv26-product-card__media { height: 200px; }
}

/* ------------------------------------------------------------------ Membership plan page */
.pv26-mp { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px 80px; }
.pv26-mp__hero { margin-top: 10px; }
.pv26-mp__hero .pv26-goal-block__copy { padding: 40px 52px 40px 0; }
.pv26-mp__eyebrow { background: var(--pv-color-grey); }
.pv26-mp__eyebrow--dark { background: var(--pv-color-black); color: var(--pv-color-white); }
.pv26-mp__ctas { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 12px; }
.pv26-mp__media img { width: 100%; height: 100%; object-fit: cover; }
.pv26-mp__example { position: absolute; left: 28px; right: 28px; bottom: 28px; display: grid; grid-template-columns: 56px 1fr auto; gap: 14px; align-items: center; padding: 18px 20px; border-radius: 16px; background: rgba(255, 255, 255, 0.96); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.16); }
.pv26-mp__example-thumb { width: 56px; height: 56px; border-radius: 12px; background: var(--pv-color-grey); display: grid; place-items: center; overflow: hidden; }
.pv26-mp__example-thumb img { width: 100%; height: 100%; object-fit: contain; }
.pv26-mp__example-body b { display: block; font-size: 15px; }
.pv26-mp__example-body small { display: block; margin-top: 3px; font-size: 12px; color: #555; }
.pv26-mp__tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pv26-mp__tag { display: inline-flex; align-items: center; height: 22px; padding: 0 9px; border-radius: 99px; background: #efece5; font-size: 11px; font-weight: 700; }
.pv26-mp__tag--save { background: var(--pv-goal-energy); }
.pv26-mp__example-price { text-align: right; }
.pv26-mp__example-price b { display: block; font-size: 18px; }
.pv26-mp__example-price s { font-size: 12px; color: #727272; }
.pv26-mp__h2 { margin: 0 0 24px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; max-width: 560px; text-wrap: balance; }
.pv26-mp__intro { margin: 0 0 1em; max-width: 560px; color: #555; }
.pv26-mp__section-head { max-width: 720px; margin-bottom: 40px; }
.pv26-mp__section-head p { margin: 0; color: #555; }
/* Benefits. */
.pv26-mp__why { margin-top: 104px; }
.pv26-mp__cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; }
.pv26-mp__card { display: flex; flex-direction: column; gap: 10px; padding: 32px 30px; border-radius: 16px; background: var(--pv-color-grey); }
.pv26-mp__icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 6px; border-radius: 12px; background: var(--pv-color-white); color: var(--pv-color-accent); }
.pv26-mp__icon svg { width: 22px; height: 22px; }
.pv26-mp__card h3 { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.2; }
.pv26-mp__card p { margin: 0; font-size: 15px; line-height: 1.45; color: #555; }
/* How it works: photo + numbered list, list aligned with the heading. */
.pv26-mp__how { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; align-items: center; margin-top: 104px; }
.pv26-mp__how-media { position: relative; height: 560px; border-radius: 26px; background: var(--pv-color-grey); overflow: hidden; }
.pv26-mp__how-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-mp__how-copy { padding-left: 52px; }
.pv26-mp__how-copy .pv26-mp__intro { margin-bottom: 8px; }
.pv26-mp__steps { margin: 0; padding: 0; list-style: none; }
.pv26-mp__steps li { display: grid; grid-template-columns: 44px 1fr; gap: 20px; padding: 26px 0; border-top: 1px solid var(--pv-border-default); }
.pv26-mp__steps li:last-child { border-bottom: 1px solid var(--pv-border-default); }
.pv26-mp__num { display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--pv-color-black); color: var(--pv-color-white); font-family: var(--pv-font-body); font-size: 15px; font-weight: 700; }
.pv26-mp__steps h3 { margin: 8px 0 6px; font-size: 22px; font-weight: 700; line-height: 1.15; }
.pv26-mp__steps p { margin: 0; font-size: 15px; line-height: 1.45; color: #555; }
/* Start period (orange, white copy, white tick cards with black text). */
.pv26-mp__start, .pv26-mp__control { position: relative; overflow: hidden; margin-top: 104px; padding: 56px 60px; border-radius: 26px; color: var(--pv-color-white);
	--pv-lc-a-size: 70%; --pv-lc-a-x: -25%; --pv-lc-a-y: 40%; --pv-lc-b-size: 80%; --pv-lc-b-x: 70%; --pv-lc-b-y: -50%; }
.pv26-mp__start > *, .pv26-mp__control > * { position: relative; z-index: 1; }
.pv26-mp__start .pv26-mp__h2, .pv26-mp__control .pv26-mp__h2 { margin-top: 18px; color: var(--pv-color-white); }
.pv26-mp__start .pv26-mp__intro, .pv26-mp__control .pv26-mp__intro { color: rgba(255, 255, 255, 0.92); }
.pv26-mp__start-grid, .pv26-mp__control-grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 40px; align-items: center; }
.pv26-mp__ticks { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 0; padding: 0; list-style: none; }
.pv26-mp__ticks li { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; border-radius: 14px; background: rgba(255, 255, 255, 0.94); color: var(--pv-color-black); font-size: 15px; font-weight: 600; line-height: 1.35; }
.pv26-mp__ticks li svg { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 1px; color: var(--pv-color-accent); }
.pv26-mp__note { margin: 26px 0 0; padding: 16px 20px; border-radius: 14px; background: rgba(0, 0, 0, 0.28); font-size: 14px; max-width: none; }
/* In control (purple): bullet list + image over the account preview. */
.pv26-mp__bullets { display: grid; gap: 10px; margin: 22px 0 0; padding: 0; list-style: none; }
.pv26-mp__bullets li { display: flex; gap: 14px; align-items: center; font-size: 17px; font-weight: 600; }
.pv26-mp__bullets li::before { content: ''; flex: 0 0 10px; width: 10px; height: 10px; border-radius: 50%; background: var(--pv-color-accent); }
.pv26-mp__preview { position: relative; padding-top: 300px; }
.pv26-mp__preview:not(:has(.pv26-mp__preview-img)) { padding-top: 0; }
.pv26-mp__preview-img { position: absolute; left: 50%; top: -40px; width: 460px; height: 460px; transform: translateX(-50%); }
.pv26-mp__preview-img img { width: 100%; height: 100%; object-fit: contain; }
.pv26-mp__acct { position: relative; padding: 22px 24px; border-radius: 18px; background: var(--pv-color-white); color: var(--pv-color-black); box-shadow: 0 30px 60px rgba(0, 0, 0, 0.25); }
.pv26-mp__acct-row { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pv26-mp__chip { display: inline-flex; align-items: center; height: 26px; padding: 0 10px; border-radius: 99px; background: #e7efe7; color: #3f6446; font-size: 12px; font-weight: 600; }
.pv26-mp__acct-id { font-size: 12px; color: #727272; }
.pv26-mp__acct h4 { margin: 14px 0 4px; font-size: 17px; }
.pv26-mp__acct small { display: block; font-size: 13px; color: #555; }
.pv26-mp__acct-btns { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.pv26-mp__acct-btns span { display: inline-flex; align-items: center; height: 36px; padding: 0 14px; border: 1px solid var(--pv-color-black); border-radius: 99px; font-size: 13px; font-weight: 600; }
.pv26-mp__acct-btns span.is-primary { background: var(--pv-color-black); color: var(--pv-color-white); }
/* Products at their plan price (the shared card, price line replaced by the plan line). */
.pv26-mp__products { margin-top: 104px; }
.pv26-mp__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; }
.pv26-mp__grid .pv26-product-card__price { display: none; }
.pv26-mp__plan-price { display: block; margin-top: auto; font-size: 13px; color: #555; }
.pv26-mp__plan-price b { display: block; font-size: 17px; color: var(--pv-color-black); }
.pv26-mp__plan-price s { color: #727272; }
.pv26-mp__save { display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 99px; background: var(--pv-goal-energy); font-size: 12px; font-weight: 700; }
.pv26-mp__grid .pv26-product-card__actions .pv26-btn { margin-top: 6px; }
.pv26-mp__included { margin-top: 104px; }
.pv26-mp__faq { margin-top: 104px; padding: 0; }
.pv26-mp__closing { display: grid; grid-template-columns: 1fr auto; gap: 40px; align-items: center; margin-top: 104px; padding: 56px 64px; border-radius: 26px; }
.pv26-mp__closing { position: relative; overflow: hidden; }
.pv26-mp__closing > * { position: relative; z-index: 1; }
.pv26-mp__closing .pv26-mp__h2 { margin: 0 0 10px; color: var(--pv-color-white); }
.pv26-mp__closing p { margin: 0; max-width: 600px; color: var(--pv-color-black); } /* orange LifeCells like the home/shop quiz card (Rein) */
@media (max-width: 1100px) {
	.pv26-mp { padding: 0 24px 60px; }
	.pv26-mp__how, .pv26-mp__start-grid, .pv26-mp__control-grid, .pv26-mp__closing { grid-template-columns: 1fr; }
	.pv26-mp__how-copy { padding-left: 0; }
	.pv26-mp__how-media { height: 420px; }
	.pv26-mp__cards { grid-template-columns: 1fr 1fr; }
	.pv26-mp__grid { grid-template-columns: 1fr 1fr; }
	.pv26-mp__start, .pv26-mp__control { padding: 36px 28px; }
	.pv26-mp__ticks { grid-template-columns: 1fr; }
	.pv26-mp__preview { padding-top: 190px; }
	.pv26-mp__preview-img { width: 260px; height: 260px; top: -20px; }
}
@media (max-width: 640px) {
	.pv26-mp__cards, .pv26-mp__grid { grid-template-columns: 1fr; }
	.pv26-mp__example { grid-template-columns: 48px 1fr; }
	.pv26-mp__example-price { grid-column: 2; text-align: left; }
}

/* ── Legal pages (terms, privacy, impressum): a plain readable column ── */
.pv26-legal { max-width: 860px; margin: 0 auto; padding: 56px 48px 96px; }
.pv26-legal__head { margin: 0 0 32px; }
.pv26-legal__title { margin: 0; font-family: var(--pv-font-heading); font-size: 44px; font-weight: 700; line-height: 1.05; }
.pv26-legal__body { max-width: none; font-size: 16px; line-height: 1.6; }
.pv26-legal__body h2 { margin: 2em 0 0.6em; font-family: var(--pv-font-heading); font-size: 26px; font-weight: 700; line-height: 1.2; }
.pv26-legal__body h3 { margin: 1.6em 0 0.5em; font-size: 20px; font-weight: 700; line-height: 1.25; }
.pv26-legal__body h4 { margin: 1.4em 0 0.4em; font-size: 17px; font-weight: 700; }
.pv26-legal__body p, .pv26-legal__body ul, .pv26-legal__body ol { margin: 0 0 1em; }
.pv26-legal__body ul, .pv26-legal__body ol { padding-left: 1.3em; }
.pv26-legal__body li { margin: 0 0 0.4em; }
.pv26-legal__body a { color: var(--pv-color-black); text-decoration: underline; text-underline-offset: 2px; }
.pv26-legal__body table { width: 100%; border-collapse: collapse; margin: 0 0 1.5em; font-size: 15px; }
.pv26-legal__body th, .pv26-legal__body td { padding: 10px 12px; border-bottom: 1px solid var(--pv-border-default); text-align: left; vertical-align: top; }
.pv26-legal__body strong { font-weight: 700; }

/* ── WooCommerce notices in brand colours (Rein, 2026-09-08): orange for success, purple for info, red only when something went wrong ── */
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-info, .woocommerce-notices-wrapper .woocommerce-error,
.pv-cart .woocommerce-message, .pv-cart .woocommerce-info, .pv-cart .woocommerce-error,
body:not(.pv-account) .woocommerce-message, body:not(.pv-account) .woocommerce-info, body:not(.pv-account) .woocommerce-error {
	/* Flex so a "View cart" button can sit at the right end — but text nodes
	 * become flex items too, so keep them flowing left with a word-sized gap
	 * (a sentence with an inline link, "… add it back <a>here</a>.", must read
	 * as one line) and push only real buttons to the end. */
	display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-start; gap: 8px 0.35em;
	margin: 0 0 24px; padding: 16px 20px; border: 0; border-radius: 12px;
	background: #fdeee3; color: var(--pv-color-black); font-size: 15px; line-height: 1.4; list-style: none;
}
body:not(.pv-account) .woocommerce-message a:not(.button), body:not(.pv-account) .woocommerce-info a:not(.button), body:not(.pv-account) .woocommerce-error a:not(.button) { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.woocommerce-notices-wrapper .woocommerce-message::before, .woocommerce-notices-wrapper .woocommerce-info::before, .woocommerce-notices-wrapper .woocommerce-error::before,
body:not(.pv-account) .woocommerce-message::before, body:not(.pv-account) .woocommerce-info::before, body:not(.pv-account) .woocommerce-error::before { display: none; }
body:not(.pv-account) .woocommerce-info { background: #eeedf4; }
body:not(.pv-account) .woocommerce-error { background: #fbe9e7; }
body:not(.pv-account) .woocommerce-error li { margin: 0; }
body:not(.pv-account) .woocommerce-message .button, body:not(.pv-account) .woocommerce-info .button, body:not(.pv-account) .woocommerce-message a.button, body:not(.pv-account) .woocommerce-info a.button {
	order: 2; margin: 0 0 0 auto; padding: 0 18px; height: 40px; display: inline-flex; align-items: center; border: 1px solid var(--pv-color-black); border-radius: 999px;
	background: transparent; color: var(--pv-color-black); font-size: 14px; font-weight: 700; text-decoration: none; float: none;
}
body:not(.pv-account) .woocommerce-message a.button:hover, body:not(.pv-account) .woocommerce-info a.button:hover { background: var(--pv-color-black); color: var(--pv-color-white); }
/* No "View cart" button in a notice that is already on the cart page */
.woocommerce-cart .woocommerce-message a.button[href*="/cart"], .woocommerce-cart .woocommerce-message .wc-forward { display: none !important; }
/* Plan boxes show only what you pay; the discount is named in the plan text (Rein, 2026-09-08). */
.pv26-product__form .pv-purchase-option__price del, .pv26-product__form .pv-purchase-option__price .screen-reader-text { display: none !important; }
/* The quiz card's button sits on the product cards' button line (Rein, 2026-09-08). */
.pv26-bestsellers__grid .pv26-quiz-card, .pv26-shop-grid .pv26-quiz-card { padding-bottom: 28px; }

/* ---------- Press page (Figma "Press center" 632:12893, 2026-09-10) ---------- */
.pv26-press { max-width: var(--pv-page-max); margin: 0 auto; padding: 0 48px 82px; }
.pv26-press__hero {
	position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center;
	height: 500px; border-radius: 26px; overflow: hidden; color: var(--pv-color-white);
	--pv-lc: url('../img/lifecells/lifecells-purple.webp');
	background: var(--pv-lc) center / cover no-repeat, linear-gradient(108deg, #2a2340 0%, #3c2f5e 34%, #5a3c8c 66%, #7c3f73 100%);
}
.pv26-press__hero-copy { position: relative; z-index: 2; padding: 52px 52px 52px 65px; max-width: 610px; }
.pv26-press__hero-title { margin: 0 0 22px; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-press__hero-intro { max-width: 545px; line-height: 1.4; }
.pv26-press__hero-intro p { margin: 0 0 1em; }
.pv26-press__hero-intro p:last-child { margin-bottom: 0; }
.pv26-press__hero-figure { position: absolute; top: 0; right: 0; bottom: 0; width: 52%; z-index: 1; -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 32%); mask-image: linear-gradient(to right, transparent 0%, #000 32%); }
.pv26-press__hero-figure img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; display: block; }

.pv26-press__h2 { margin: 0; font-family: var(--pv-font-body); font-size: 40px; font-weight: 700; line-height: 1; }
.pv26-press__h3 { margin: 0; font-family: var(--pv-font-body); font-size: 30px; font-weight: 700; line-height: 1.2; }

/* Press materials: heading on the container edge, text on the right column, as the shipping page does */
.pv26-press__intro { display: grid; grid-template-columns: 663px minmax(0, 606px); justify-content: start; gap: 26px; align-items: start; padding: 82px 0 0; }
.pv26-press__intro-text { max-width: 606px; line-height: 1.4; }
.pv26-press__intro-text p { margin: 0 0 1em; }
.pv26-press__note { font-size: 12px; color: var(--pv-text-muted, #6b6b6b); }
.pv26-press__guide { margin: 8px 0 0; font-weight: 700; }
.pv26-press__guide a { color: inherit; text-decoration: underline; text-underline-position: from-font; }

/* Three tiles with a glass label bar */
.pv26-press__tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-top: 52px; }
.pv26-press__tile { position: relative; display: block; height: 625px; border-radius: 26px; overflow: hidden; background: #d9d9d9; color: var(--pv-color-black); text-decoration: none; }
.pv26-press__tile-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-press__tile-logo { position: absolute; left: 50%; top: 50%; width: 150px; height: auto; transform: translate(-50%, -50%); }
.pv26-press__tile-bar {
	position: absolute; left: 0; right: 0; bottom: 0; height: 123px; display: flex; align-items: center; padding: 0 57px;
	font-family: var(--pv-font-display, var(--pv-font-body)); font-size: 30px; font-weight: 700; line-height: 1.2;
	background: rgba(255, 255, 255, 0.4); border-top: 1px solid rgba(255, 255, 255, 0.4);
	-webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); box-shadow: 0 28px 45px -1px rgba(0, 0, 0, 0.05);
}
a.pv26-press__tile:hover .pv26-press__tile-bar, a.pv26-press__tile:focus-visible .pv26-press__tile-bar { background: rgba(255, 255, 255, 0.6); }
a.pv26-press__tile:focus-visible { outline: 2px solid var(--pv-color-black); outline-offset: 2px; }

/* Press resources: chips + product cards with a download button */
.pv26-press__resources { margin-top: 82px; }
.pv26-press__resources-head { display: flex; align-items: center; gap: 26px; flex-wrap: wrap; margin-bottom: 26px; }
.pv26-press__resources-head .pv26-press__h3 { font-size: 16px; }
.pv26-press__chips { display: flex; gap: 8px; flex-wrap: wrap; }
.pv26-press__cards .pv26-product-card { flex: 0 0 240px; }
.pv26-press__cards .pv26-product-card.is-hidden { display: none; }
.pv26-press__dl { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background: var(--pv-color-black); color: var(--pv-color-white); transition: background 0.3s ease; }
.pv26-press__dl:hover { background: #333; }
.pv26-press__dl svg { width: 18px; height: 18px; }

/* Mentions: beige card, photo + caption card per mention */
.pv26-press__mentions { margin-top: 82px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-press__mentions .pv26-press__h3 { margin-bottom: 26px; }
.pv26-press__mention { display: flex; gap: 26px; flex: 0 0 auto; color: inherit; text-decoration: none; }
.pv26-press__mention-media { display: block; width: 490px; height: 305px; border-radius: 26px; overflow: hidden; background: var(--pv-color-white); }
.pv26-press__mention-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pv26-press__mention-card { display: flex; flex-direction: column; justify-content: center; gap: 14px; width: 300px; height: 305px; padding: 40px 30px; border-radius: 26px; background: var(--pv-color-white); box-sizing: border-box; }
.pv26-press__mention-logo { max-width: 150px; height: auto; }
.pv26-press__mention-outlet { font-family: Georgia, 'Times New Roman', serif; font-size: 28px; font-weight: 700; letter-spacing: 0.02em; }
.pv26-press__mention-caption { font-weight: 700; line-height: 1.3; }

/* Enquiry card */
.pv26-press__enquiry { margin-top: 26px; padding: 52px; border-radius: 26px; background: var(--pv-color-grey); }
.pv26-press__enquiry-text { max-width: 1000px; margin: 14px 0 26px; color: var(--pv-text-muted, #6b6b6b); line-height: 1.4; }
