/*
 * 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);
	gap: 0;
	background: var(--pv-color-grey);
	border-radius: 26px;
	padding: 64px 24px;
}

.pv26-footer__col { padding: 0 40px; }
.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); }

/* 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-right: -74px; padding-right: 74px; }

.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__track.is-dragging a { pointer-events: 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-right: -74px; padding-right: 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: 27px;
	font-weight: 700;
	line-height: 1.2;
}

.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-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-purple); 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; }

.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 (Figma x=737, w=550) */
.pv26-product__summary { padding-top: 53px; max-width: 550px; }

.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; max-width: 492px; line-height: 1.4; }
.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; max-width: 545px; }
.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: -74px; padding-right: 74px; }
.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-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; }
.pv26-goal-page--renewal .pv26-btn--outline, .pv26-goal-page--balance .pv26-btn--outline, .pv26-goal-page--foundation .pv26-btn--outline { color: var(--pv-color-white); border-color: var(--pv-color-white); }
.pv26-goal-hero .pv26-goals-hero__figure { z-index: 1; }

/* 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: -74px; padding-right: 74px; }
.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; }
.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; }
