/**
 * Mariener PDP 3.1
 * Rey / Elementor header + full-viewport editorial product hero.
 */

:root {
	--mariener-pdp-fold-inset: 30px;
}

body.mariener-product-page.mariener-pdp-viewport {
	--mariener-fold-edge: clamp(44px, 5.4vw, 112px);
	--mariener-pdp-edge: var(--mariener-fold-edge);
	--mariener-bg: #fbfbfa;
	--mariener-viewport-bg: #f8f4ee;
	--mariener-site-chrome: 108px;
	background: var(--mariener-bg);
}

/*
 * Soft page reveal: layout can settle while opacity is 0 (critical CSS in
 * wp_head), then fade in. Only applies when html.mariener-pdp-js is present.
 */
html.mariener-pdp-js body.mariener-pdp-viewport {
	opacity: 0;
}

html.mariener-pdp-js body.mariener-pdp-viewport.mariener-pdp-is-painted {
	opacity: 1;
	transition: opacity 0.55s ease;
}

@media (prefers-reduced-motion: reduce) {
	html.mariener-pdp-js body.mariener-pdp-viewport,
	html.mariener-pdp-js body.mariener-pdp-viewport.mariener-pdp-is-painted {
		opacity: 1;
		transition: none;
	}
}

/* Keep the parent Rey/Elementor header fully in control. */
body.mariener-product-page .rey-siteContent,
body.mariener-product-page .rey-siteMain,
body.mariener-product-page .rey-siteMain-inner,
body.mariener-product-page .rey-siteContainer,
body.mariener-product-page .rey-siteContent > .rey-siteContainer,
body.mariener-product-page .rey-siteContent .woocommerce {
	box-sizing: border-box;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

/*
 * Rey's base .rey-siteContainer keeps 3.125rem bottom padding below 1025px.
 * The fullscreen skin only clears it on desktop, leaving a 50px strip between
 * the PDP fold and our footer on mobile/tablet. The PDP owns this handoff.
 */
body.mariener-product-page .rey-siteContent > .rey-siteContainer {
	padding-bottom: 0 !important;
}

/*
 * Tablet + desktop: gallery under the header.
 *
 * The whole header sits ABOVE the gallery (z-index). Gallery shows through a
 * transparent menu section in Elementor — do not try to sandwich the image
 * between announcement and menu with z-index (that breaks hover).
 *
 * Elementor: menu section = transparent background; announcement = opaque.
 * Relative z-index between those two sections only matters inside the header.
 * Phone (≤767px) keeps the normal header spacer.
 */
@media (min-width: 768px) {
	body.mariener-pdp-viewport.no-header-overlap #rey-siteHeader-helper,
	body.mariener-pdp-viewport:has(.rey-siteHeader.header-pos--fixed) #rey-siteHeader-helper,
	body.mariener-pdp-viewport:has(.rey-siteHeader.header-pos--absolute) #rey-siteHeader-helper,
	body.mariener-pdp-viewport:has(.rey-siteHeader.--fixed) #rey-siteHeader-helper,
	body.mariener-pdp-viewport #rey-siteHeader-helper {
		display: none !important;
		height: 0 !important;
		max-height: 0 !important;
		min-height: 0 !important;
		visibility: hidden !important;
	}

	body.mariener-pdp-viewport .rey-siteHeader,
	body.mariener-pdp-viewport .elementor-location-header {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		left: 0;
		pointer-events: auto;
		position: absolute !important;
		right: 0;
		top: 0;
		width: 100%;
		z-index: 30;
	}

	/* Rey full-screen header overlays must never eat menu hover. */
	body.mariener-pdp-viewport .rey-siteHeader .rey-overlay,
	body.mariener-pdp-viewport .rey-overlay--header,
	body.mariener-pdp-viewport .rey-overlay--header-top {
		pointer-events: none !important;
	}

	body.mariener-pdp-viewport .rey-siteContent,
	body.mariener-pdp-viewport .rey-siteMain,
	body.mariener-pdp-viewport .rey-siteMain-inner,
	body.mariener-pdp-viewport .rey-siteContainer,
	body.mariener-pdp-viewport .rey-siteContent > .rey-siteContainer,
	body.mariener-pdp-viewport .rey-siteContent .woocommerce,
	body.mariener-pdp-viewport .mariener-pdp {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero {
		--mariener-site-chrome: 0px;
		z-index: 1;
	}
}

/*
 * Desktop only: keep the full-bleed image from stealing header hover.
 * Tablet (768–1199) keeps media pointer-events so hero swipe still works;
 * the header's z-index:30 already wins hit-testing there.
 */
@media (min-width: 1200px) {
	body.mariener-pdp-viewport .mariener-pdp-hero {
		pointer-events: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__media,
	body.mariener-pdp-viewport .mariener-pdp-hero__image {
		pointer-events: none !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__stage,
	body.mariener-pdp-viewport .mariener-pdp-hero__left-stack,
	body.mariener-pdp-viewport .mariener-pdp-hero__right,
	body.mariener-pdp-viewport .mariener-pdp-hero__discover,
	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav,
	body.mariener-pdp-viewport .mariener-pdp-thumbs,
	body.mariener-pdp-viewport .mariener-pdp-hero__media-links,
	body.mariener-pdp-viewport .mariener-pdp-hero__actions {
		pointer-events: auto;
	}
}

body.mariener-product-page .mariener-promo-bar,
body.mariener-product-page .mariener-pdp-header {
	display: none !important;
}

/* --------------------------------------------------------------------------
   Full viewport hero
   -------------------------------------------------------------------------- */

body.mariener-pdp-viewport .mariener-pdp-hero {
	background: var(--mariener-viewport-bg);
	box-sizing: border-box;
	height: var(
		--mariener-pdp-hero-height,
		calc(100svh - var(--mariener-site-chrome, 108px) - var(--mariener-pdp-fold-inset, 30px))
	);
	left: 50%;
	margin: 0 0 0 -50vw;
	min-height: 520px;
	overflow: hidden;
	position: relative;
	width: 100vw;
}

@supports (height: 100dvh) {
	body.mariener-pdp-viewport .mariener-pdp-hero {
		height: var(
			--mariener-pdp-hero-height,
			calc(100dvh - var(--mariener-site-chrome, 108px) - var(--mariener-pdp-fold-inset, 30px))
		);
	}
}

body.mariener-pdp-viewport .mariener-pdp-hero__media {
	background: var(--mariener-viewport-bg);
	border-radius: 0;
	inset: 0;
	opacity: 1;
	position: absolute;
}

body.mariener-pdp-viewport .mariener-pdp-hero__image,
body.mariener-pdp-viewport .mariener-pdp-hero__image.is-narrow,
body.mariener-pdp-viewport .mariener-pdp-hero__image.is-wide,
body.mariener-pdp-viewport .mariener-pdp-hero__image.is-fit {
	height: 100% !important;
	inset: 0 !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
	max-height: none !important;
	max-width: none !important;
	min-height: 0 !important;
	min-width: 0 !important;
	object-fit: var(--mariener-img-fit, cover) !important;
	object-position: var(--mariener-img-position, 50% 18%) !important;
	transform: none !important;
	width: 100% !important;
}

body.mariener-pdp-viewport .mariener-pdp-hero__stage {
	box-sizing: border-box;
	display: grid;
	gap: clamp(24px, 2.6vw, 52px);
	grid-template-columns: minmax(310px, 390px) minmax(0, 1fr) minmax(340px, 390px);
	grid-template-rows: minmax(0, 1fr) auto;
	height: 100%;
	margin: 0;
	max-width: none;
	min-height: 0;
	padding: clamp(30px, 4.5vh, 64px) var(--mariener-pdp-edge) clamp(24px, 3.8vh, 52px);
	position: relative;
	width: 100%;
	z-index: 2;
}

/* Product identity stack (title/price + USPs) — left on desktop. */
body.mariener-pdp-viewport .mariener-pdp-hero__left-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(20px, 2.5vh, 32px);
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-card__intro {
	display: flex;
	flex-direction: column;
	gap: clamp(12px, 1.6vh, 18px);
	max-width: 380px;
	padding-top: 1vh;
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-hero__eyebrow {
	font-size: 11px;
	letter-spacing: 0.22em;
}

body.mariener-pdp-viewport .mariener-pdp-hero__title {
	font-size: clamp(42px, 3.65vw, 62px);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 0.98;
	max-width: none;
}

body.mariener-pdp-viewport .mariener-pdp-hero__title-line {
	display: block;
}

body.mariener-pdp-viewport .mariener-pdp-hero__title-line--detail {
	font-size: 0.78em;
	letter-spacing: -0.04em;
	white-space: nowrap;
}

body.mariener-pdp-viewport .mariener-pdp-hero__variant {
	font-size: clamp(13px, 1vw, 16px);
	line-height: 1.45;
}

body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price {
	border-bottom: 1px solid rgba(20, 20, 20, 0.13);
	font-size: clamp(20px, 1.7vw, 27px);
	gap: 8px 10px;
	margin: 0;
	padding-bottom: clamp(14px, 1.8vh, 20px);
}

body.mariener-pdp-viewport .mariener-pdp-card__aside {
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-hero__features {
	gap: clamp(12px, 1.35vw, 22px);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
}

body.mariener-pdp-viewport .mariener-pdp-hero__features li {
	gap: 7px;
}

body.mariener-pdp-viewport .mariener-pdp-hero__features .mariener-icon {
	height: 19px;
	width: 19px;
}

body.mariener-pdp-viewport .mariener-pdp-hero__feature-copy strong {
	font-size: 11px;
	line-height: 1.25;
}

body.mariener-pdp-viewport .mariener-pdp-hero__feature-copy span {
	font-size: 10px;
	line-height: 1.35;
}

body.mariener-pdp-viewport .mariener-pdp-hero__discover {
	font-size: 10px;
	letter-spacing: 0.2em;
	margin-top: 0;
}

/* Purchase controls at the right edge; identity stack sits left on desktop. */
body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card {
	align-self: center;
	background: transparent;
	border: 0;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	gap: 18px;
	grid-column: 3;
	grid-row: 1;
	max-width: 350px;
	opacity: 1;
	padding: 0;
	position: static;
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-card__panel {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: 100%;
}

@media (min-width: 1200px) {
	/* Keep the primary product name together while leaving room for its detail line. */
	body.mariener-pdp-viewport .mariener-pdp-hero__left-stack {
		left: var(--mariener-pdp-edge);
		max-width: 480px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: min(480px, 36vw);
		z-index: 1;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title-line:not(.mariener-pdp-hero__title-line--detail) {
		white-space: nowrap;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title-line--detail.is-long-title-detail {
		font-size: 0.7em;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro,
	body.mariener-pdp-viewport .mariener-pdp-card__aside {
		max-width: none;
		padding: 0;
		position: static;
		transform: none;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart,
	body.mariener-pdp-viewport .mariener-pdp-card__meta,
	body.mariener-pdp-viewport .mariener-pdp-hero__trust {
		width: 100%;
	}

	/* Bottom-center inside the hero viewport. */
	body.mariener-pdp-viewport .mariener-pdp-hero__discover {
		bottom: clamp(28px, 4.2vh, 56px);
		display: inline-flex;
		left: 50%;
		margin: 0;
		position: absolute;
		transform: translateX(-50%);
		z-index: 1;
	}
}

body.mariener-pdp-viewport .mariener-pdp-card__cart,
body.mariener-pdp-viewport .mariener-pdp-card__cart form.cart,
body.mariener-pdp-viewport .mariener-pdp-card__cart form.variations_form {
	margin: 0 !important;
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variations {
	border: 0;
	margin: 0 0 24px !important;
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variations tr {
	display: block;
	margin: 0 0 27px;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variations tr:last-child {
	margin-bottom: 0;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variations th,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variations td {
	display: block !important;
	padding: 0 !important;
	width: 100% !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variations .label,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variations .label label,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variations label {
	color: var(--mariener-ink) !important;
	font-family: var(--mariener-body) !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.35 !important;
	margin: 0 0 13px !important;
	text-transform: uppercase !important;
}

.mariener-variation-label__selected {
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-items-wrapper {
	align-items: center;
	gap: 13px;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item,
body.mariener-pdp-viewport .mariener-pdp-card__cart .woo-variation-swatches .variable-item,
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch {
	background: transparent !important;
	border: 1px solid rgba(20, 20, 20, 0.14) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	height: 40px !important;
	margin: 0 !important;
	min-height: 40px !important;
	min-width: 40px !important;
	padding: 3px !important;
	width: 40px !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item.selected,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item[aria-checked="true"] {
	border-color: var(--mariener-accent) !important;
	box-shadow: 0 0 0 2px var(--mariener-viewport-bg), 0 0 0 4px var(--mariener-accent) !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .single_variation_wrap,
body.mariener-pdp-viewport .mariener-pdp-card__cart .woocommerce-variation-add-to-cart {
	display: block !important;
	width: 100%;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .quantity {
	background: rgba(255, 255, 255, 0.34);
	border: 1px solid rgba(20, 20, 20, 0.15);
	border-radius: 3px;
	height: 50px;
	margin: 0 0 14px !important;
	max-width: 168px;
	width: 168px;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .single_add_to_cart_button {
	background: var(--mariener-accent) !important;
	border-radius: 3px !important;
	font-size: 12px !important;
	height: 54px;
	letter-spacing: 0.06em;
	margin: 0 !important;
	width: 100% !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .single_add_to_cart_button:hover {
	background: var(--mariener-accent) !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__stock-slot {
	font-size: 11px;
	margin-top: 12px;
}

body.mariener-pdp-viewport .mariener-pdp-hero__trust {
	gap: 9px;
}

body.mariener-pdp-viewport .mariener-pdp-hero__trust li {
	font-size: 11px;
}

body.mariener-pdp-viewport .mariener-pdp-hero__trust .mariener-icon {
	height: 15px;
	width: 15px;
}

/* Gallery rail lives in the media plane (desktop: bottom-left). */
body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav {
	bottom: clamp(24px, 3.8vh, 52px);
	left: var(--mariener-pdp-edge);
	position: absolute;
	z-index: 3;
}

body.mariener-pdp-viewport .mariener-pdp-rail {
	max-width: 260px;
}

body.mariener-pdp-viewport .mariener-pdp-rail[hidden] {
	display: none !important;
}

body.mariener-pdp-viewport .mariener-pdp-hero__media-links {
	align-self: end;
	grid-column: 3;
	grid-row: 2;
	justify-content: flex-end;
}

/* --------------------------------------------------------------------------
   Wider editorial fold
   -------------------------------------------------------------------------- */

body.mariener-product-page .mariener-pdp-fold {
	--fold-max: 1600px;
	background: var(--mariener-bg);
}

body.mariener-product-page .mariener-pdp-features,
body.mariener-product-page .mariener-pdp-materials,
body.mariener-product-page .mariener-pdp-reviews,
body.mariener-product-page .mariener-wwk-reviews {
	padding-left: var(--mariener-pdp-edge) !important;
	padding-right: var(--mariener-pdp-edge) !important;
}

body.mariener-product-page .mariener-pdp-features__inner,
body.mariener-product-page .mariener-pdp-materials__inner,
body.mariener-product-page .mariener-pdp-reviews__inner,
body.mariener-product-page .mariener-wwk-reviews__inner {
	max-width: 1600px;
}

/* WebwinkelKeur / Valued Shops owns the review data and carousel. */
body.mariener-product-page .mariener-wwk-reviews {
	--wwk-bg: #fbfbfa;
	--wwk-surface: #ffffff;
	--wwk-card-radius: 2px;
	--wwk-radius: 2px;
	background: var(--wwk-bg) !important;
	padding-bottom: clamp(76px, 8vw, 118px) !important;
	padding-top: clamp(76px, 8vw, 118px) !important;
}

body.mariener-product-page .mariener-wwk-reviews__inner {
	column-gap: clamp(34px, 5vw, 90px);
	grid-template-columns: minmax(260px, 0.7fr) minmax(0, 2.15fr);
}

body.mariener-product-page .mariener-wwk-reviews__title {
	font-size: clamp(30px, 3vw, 46px);
	font-weight: 500;
	max-width: 10ch;
}

body.mariener-product-page .mariener-wwk-reviews__score-value {
	font-size: clamp(42px, 4.5vw, 62px);
}

body.mariener-product-page .mariener-wwk-reviews__card {
	border-radius: 2px;
	min-height: 250px;
	padding: clamp(22px, 2.1vw, 32px);
}

body.mariener-product-page .mariener-wwk-reviews__nav {
	background: rgba(251, 251, 250, 0.92);
	border: 1px solid var(--mariener-accent) !important;
	color: var(--mariener-accent) !important;
}

/* --------------------------------------------------------------------------
   Responsive
   Immersive: >= 1200px | Stacked: <= 1199px | Compact: <= 639px
   -------------------------------------------------------------------------- */

@media (max-width: 1199px) {
	/*
	 * Kill extra theme top padding only (e.g. .variable-product 50px).
	 * #rey-siteHeader-helper height stays fully under Rey/Elementor — do not
	 * force --header-default--height here (that under-spaced catalog pages).
	 */
	body.mariener-pdp-viewport .rey-siteContent,
	body.mariener-pdp-viewport .rey-siteMain,
	body.mariener-pdp-viewport .rey-siteMain-inner,
	body.mariener-pdp-viewport .rey-siteContainer,
	body.mariener-pdp-viewport .rey-siteContent > .rey-siteContainer,
	body.mariener-pdp-viewport .rey-siteContent .woocommerce,
	body.mariener-pdp-viewport .mariener-pdp,
	body.mariener-pdp-viewport .variable-product .rey-siteContainer,
	body.variable-product.mariener-pdp-viewport .rey-siteContainer {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero {
		/* Page bg under the fold; purchase panel is pure white via ::before. */
		--mariener-pdp-mobile-panel: var(--mariener-surface);
		--mariener-pdp-card-overlap: 56px;
		background: var(--mariener-bg) !important;
		display: flex;
		flex-direction: column;
		gap: 0;
		height: auto !important;
		left: 0 !important;
		margin: 0 !important;
		min-height: 0 !important;
		overflow: visible;
		padding-top: 0 !important;
		width: 100% !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__media {
		aspect-ratio: 4 / 5;
		background: var(--mariener-viewport-bg);
		border-radius: 0 !important;
		margin-top: 0 !important;
		padding-top: 0 !important;
		position: relative;
		width: 100%;
		z-index: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__image,
	body.mariener-pdp-viewport .mariener-pdp-hero__image.is-narrow,
	body.mariener-pdp-viewport .mariener-pdp-hero__image.is-wide,
	body.mariener-pdp-viewport .mariener-pdp-hero__image.is-fit {
		object-fit: var(--mariener-img-fit, cover) !important;
		object-position: var(--mariener-img-position, 50% 18%) !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__stage {
		background: var(--mariener-bg);
		display: flex;
		flex-direction: column;
		gap: 0;
		height: auto;
		padding: 0;
		position: relative;
		z-index: 1;
	}

	/*
	 * One opaque white panel behind title + price + variations + ATC.
	 * Grid + ::before so intro/panel never leave a cream/grey seam.
	 * Features (.aside) sit outside that panel.
	 */
	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card {
		-webkit-backdrop-filter: none !important;
		align-self: stretch;
		backdrop-filter: none !important;
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		display: grid;
		gap: 0;
		grid-template-areas:
			"intro"
			"panel"
			"aside";
		grid-template-columns: minmax(0, 1fr);
		isolation: isolate;
		margin: calc(var(--mariener-pdp-card-overlap) * -1) var(--mariener-gutter) 0;
		max-width: none;
		opacity: 1 !important;
		order: 1;
		padding: 0;
		position: relative;
		width: auto;
		z-index: 2;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card::before {
		background: var(--mariener-surface);
		border-radius: var(--mariener-radius-soft);
		box-shadow: 0 12px 40px color-mix(in srgb, var(--mariener-ink) 12%, transparent);
		content: "";
		grid-area: intro / intro / panel / panel;
		pointer-events: none;
		z-index: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__left-stack {
		display: contents;
		gap: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro {
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		background: transparent !important;
		border-radius: 0;
		box-shadow: none !important;
		display: flex;
		flex-direction: column;
		gap: 0;
		grid-area: intro;
		max-width: none;
		padding: 20px 18px 0;
		position: relative;
		transform: none;
		width: 100%;
		z-index: 1;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__panel {
		-webkit-backdrop-filter: none !important;
		backdrop-filter: none !important;
		background: transparent !important;
		background-color: transparent !important;
		border-radius: 0;
		box-shadow: none !important;
		display: flex;
		flex-direction: column;
		gap: 0;
		grid-area: panel;
		padding: 0 18px 18px;
		position: relative;
		width: 100%;
		z-index: 1;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title {
		background: transparent !important;
		box-shadow: none !important;
		font-size: clamp(22px, 5.8vw, 28px);
		font-weight: 600;
		letter-spacing: -0.02em;
		line-height: 1.1;
		margin: 0;
		max-width: none;
		padding: 0;
		text-transform: uppercase;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title::before {
		content: none;
	}

	/* Combination name under the product title (not beside the variation label). */
	body.mariener-pdp-viewport .mariener-pdp-hero__variant {
		color: var(--mariener-muted);
		display: block;
		font-family: var(--mariener-body);
		font-size: 14px;
		font-weight: 400;
		letter-spacing: 0;
		line-height: 1.35;
		margin: 6px 0 0;
		text-transform: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__variant[hidden] {
		display: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations .label .__name,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations .label .__name::before,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations .label .mariener-variation-label__selected {
		display: none !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price {
		--mariener-pdp-price-size: 18px;
		align-items: center;
		background: transparent !important;
		border: 0 !important;
		border-bottom: 0 !important;
		box-shadow: none !important;
		color: var(--mariener-ink);
		display: flex;
		flex-wrap: nowrap;
		font-size: var(--mariener-pdp-price-size);
		font-weight: 500;
		gap: 8px;
		line-height: var(--mariener-pdp-price-size);
		margin: 0;
		min-height: var(--mariener-pdp-price-size);
		padding: 10px 0 14px;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price del,
	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price ins,
	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price .amount,
	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price bdi {
		font-size: var(--mariener-pdp-price-size) !important;
		line-height: var(--mariener-pdp-price-size) !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price del,
	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price del .amount {
		color: var(--mariener-muted);
		font-weight: 400;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price ins,
	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price ins .amount {
		background: none;
		color: var(--mariener-accent);
		font-weight: 600;
		text-decoration: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__price.mariener-pdp-card__price .rey-discount {
		align-items: center;
		background: var(--mariener-accent);
		border-radius: var(--mariener-radius-pill, 999px);
		box-sizing: border-box;
		color: var(--mariener-surface);
		display: inline-flex;
		flex: 0 0 auto;
		font-family: var(--mariener-display);
		font-size: 11px;
		font-weight: 600;
		height: var(--mariener-pdp-price-size);
		justify-content: center;
		letter-spacing: 0.04em;
		line-height: 1;
		margin: 0;
		padding: 0 8px;
		text-transform: uppercase;
		vertical-align: middle;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart,
	body.mariener-pdp-viewport .mariener-pdp-card__meta,
	body.mariener-pdp-viewport .mariener-pdp-hero__trust {
		background: transparent !important;
	}

	/* Tighter stack between combination swatches and the pouch addon. */
	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations {
		margin-bottom: 14px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addons-container,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-fieldset {
		margin-top: 0 !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addons-container h2.wc-pao-addon-name,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-fieldset .wc-pao-addon-name,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-name,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-name label {
		margin-top: 0 !important;
		margin-bottom: 10px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__eyebrow {
		display: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__rating {
		display: flex;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__aside {
		grid-area: aside;
		padding: 24px 2px 8px;
		position: static;
		transform: none;
		width: 100%;
		z-index: 1;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__features {
		gap: 10px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin: 0;
		padding: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__discover {
		display: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__features li {
		align-items: center;
		flex-direction: column;
		gap: 8px;
		text-align: center;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__features .mariener-icon {
		color: var(--mariener-accent);
		height: 22px;
		width: 22px;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__feature-copy strong {
		color: var(--mariener-ink);
		font-size: 10px;
		letter-spacing: 0.04em;
		text-transform: uppercase;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__feature-copy span {
		display: none;
	}

	/* Centered gallery switcher just above the floating purchase card. */
	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav {
		background: transparent;
		bottom: calc(var(--mariener-pdp-card-overlap) + 14px);
		display: flex;
		justify-content: center;
		left: 50%;
		padding: 0;
		right: auto;
		top: auto;
		transform: translateX(-50%);
		width: min(260px, calc(100% - (2 * var(--mariener-gutter))));
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav .mariener-pdp-rail {
		max-width: none;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__arrows {
		display: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__media-links {
		background: var(--mariener-bg);
		justify-content: flex-start;
		order: 8;
		padding: 0 var(--mariener-gutter) clamp(24px, 4vw, 36px);
	}

	body.mariener-product-page .mariener-wwk-reviews__inner {
		grid-template-columns: 1fr;
	}

	/* Larger circular Rey + pouch swatches in floating card. */
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList.--type-color,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList.--type-image {
		--item-width: 44px !important;
		--item-height: 44px !important;
		--item-spacing: 10px !important;
		margin-bottom: 8px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList.--type-color .rey-swatchList-item.--selected,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList.--type-color .rey-swatchList-item.--selected:hover,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList.--type-image .rey-swatchList-item.--selected,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList.--type-image .rey-swatchList-item.--selected:hover,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList-item--regular.--selected,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-swatchList-item--regular.--selected:hover {
		box-shadow:
			0 0 0 2px #fff,
			0 0 0 4px var(--mariener-accent) !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch {
		height: 44px !important;
		width: 44px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart button.single_add_to_cart_button {
		background: var(--mariener-accent) !important;
		border-radius: var(--mariener-radius-control) !important;
		color: var(--mariener-surface) !important;
	}

	/* Mobile: hide qty, full-width add to cart. */
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-cartBtnQty,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .mariener-pdp-cart-actions,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .woocommerce-variation-add-to-cart {
		display: flex !important;
		flex-direction: column !important;
		gap: 0 !important;
		grid-template-columns: none !important;
		width: 100% !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .quantity,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-qtyField,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-qtyField.cartBtnQty-controls,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .cartBtnQty-control {
		display: none !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart button.single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-cartBtnQty .single_add_to_cart_button {
		flex: 1 1 auto !important;
		height: 54px !important;
		min-height: 54px !important;
		width: 100% !important;
	}

	/* Fold sections as cards. */
	body.mariener-pdp-viewport .mariener-pdp-fold {
		background: var(--mariener-bg);
		display: flex;
		flex-direction: column;
		gap: 16px;
		padding: 8px var(--mariener-gutter) 32px;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > section,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-wwk-reviews,
	body.mariener-pdp-viewport .mariener-pdp-fold .elementor-top-section,
	body.mariener-pdp-viewport .mariener-pdp-fold .e-con.e-parent {
		background: var(--mariener-surface);
		border-radius: var(--mariener-radius-soft);
		box-shadow: 0 8px 28px color-mix(in srgb, var(--mariener-ink) 8%, transparent);
		margin: 0;
		overflow: hidden;
		padding: 20px 18px;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-related {
		background: transparent;
		box-shadow: none;
		overflow: visible;
		padding: 8px 0 0;
	}

	/* Dimensions: scrollable measurement card. */
	body.mariener-pdp-viewport .mariener-pdp-fold .mariener-pdp-dimensions,
	body.mariener-pdp-viewport .mariener-pdp-fold .mariener-pdp-dimensions--editorial {
		padding: 20px 0 18px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__card {
		background: transparent;
		box-shadow: none;
		padding: 0 18px;
	}

	body.mariener-pdp-viewport .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__head h2 {
		font-size: 22px;
	}

	body.mariener-pdp-viewport .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__intro {
		display: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-dimensions__disclaimer {
		color: var(--mariener-muted);
		font-size: 11px;
		margin: 14px 0 0;
		text-align: right;
	}

	body.mariener-pdp-viewport .mariener-pdp-dimensions__measure-value {
		font-size: 12px;
		font-weight: 600;
	}

	/* Reviews widget → mockup summary card. */
	body.mariener-pdp-viewport .mariener-pdp-fold .mariener-wwk-reviews {
		background: var(--mariener-surface) !important;
		padding: 22px 18px !important;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__inner {
		display: flex;
		flex-direction: column;
		gap: 20px;
		grid-template-areas: none;
		grid-template-columns: 1fr;
		max-width: none;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__summary-stack,
	body.mariener-pdp-viewport .mariener-wwk-reviews__summary-actions,
	body.mariener-pdp-viewport .mariener-wwk-reviews__carousel-wrap {
		grid-area: auto;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__title {
		font-size: 26px;
		max-width: none;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__score-value {
		font-size: 48px;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__summary-distribution {
		max-width: none;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__distribution-bar {
		height: 6px;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__nav {
		display: none !important;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__summary-actions {
		flex-wrap: wrap;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-wwk-reviews__all,
	body.mariener-pdp-viewport .mariener-pdp-reviews__all {
		border: 1px solid var(--mariener-line);
		border-radius: var(--mariener-radius-control);
		display: inline-flex;
		justify-content: center;
		min-height: 44px;
		padding: 12px 18px;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-reviews {
		background: var(--mariener-surface);
		padding: 22px 18px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-reviews__inner {
		display: flex;
		flex-direction: column;
		gap: 20px;
		grid-template-columns: 1fr;
		max-width: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-reviews__stars,
	body.mariener-pdp-viewport .mariener-pdp-card__rating .star-rating {
		color: var(--mariener-accent);
	}

	body.mariener-pdp-viewport .mariener-pdp-reviews__bar {
		height: 6px;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__rating {
		color: var(--mariener-muted);
		font-size: 13px;
		gap: 10px;
		margin: 0;
	}
}

@media (max-width: 639px) {
	body.mariener-pdp-viewport .mariener-pdp-hero {
		--mariener-pdp-card-overlap: 48px;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title {
		font-size: clamp(20px, 5.5vw, 26px);
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title-line--detail {
		font-size: 0.88em;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__panel {
		padding: 18px 16px 16px;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__features {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__features li {
		align-items: center;
		flex-direction: column;
	}
}


/* --------------------------------------------------------------------------
   3.1.1 viewport, round pouch swatches and stronger purchase controls
   -------------------------------------------------------------------------- */

@media (min-width: 1200px) {
	body.mariener-pdp-viewport .mariener-pdp-hero__stage::before {
		background: linear-gradient(
			to right,
			rgba(255, 255, 255, 0.58) 0%,
			rgba(255, 255, 255, 0) 28%,
			rgba(255, 255, 255, 0) 72%,
			rgba(255, 255, 255, 0.58) 100%
		);
		content: "";
		inset: 0;
		pointer-events: none;
		position: absolute;
		z-index: -1;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero {
		height: var(--mariener-pdp-hero-height, 100vh);
		height: var(--mariener-pdp-hero-height, 100dvh);
		max-height: none;
		min-height: 100vh;
		min-height: 100dvh;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card {
		max-width: 390px;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card--surface {
		background: var(--mariener-surface);
		border: 1px solid var(--mariener-line);
		border-radius: var(--mariener-radius-soft);
		box-shadow: var(--mariener-shadow);
		max-width: 410px;
		padding: var(--mariener-space-4);
	}

	/* Keep quantity and CTA on one stable, spacious row. */
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-cartBtnQty,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .mariener-pdp-cart-actions,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .woocommerce-variation-add-to-cart {
		align-items: stretch !important;
		display: grid !important;
		gap: 10px !important;
		grid-template-columns: 112px minmax(0, 1fr) !important;
		margin: 0 !important;
		width: 100% !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .woocommerce-variation-add-to-cart > .rey-cartBtnQty {
		grid-column: 1 / -1;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .quantity {
		background: rgba(255, 255, 255, 0.66) !important;
		border: 1px solid rgba(20, 20, 20, 0.16) !important;
		border-radius: 2px !important;
		box-sizing: border-box !important;
		display: block !important;
		height: 54px !important;
		margin: 0 !important;
		max-width: none !important;
		min-width: 112px !important;
		overflow: hidden !important;
		width: 112px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-qtyField,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-qtyField.cartBtnQty-controls {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		border-radius: 0 !important;
		display: grid !important;
		grid-template-columns: 36px minmax(32px, 1fr) 36px !important;
		height: 100% !important;
		margin: 0 !important;
		min-width: 0 !important;
		padding: 0 !important;
		width: 100% !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .cartBtnQty-control {
		align-items: center !important;
		background: transparent !important;
		border: 0 !important;
		color: var(--mariener-ink) !important;
		display: flex !important;
		flex: none !important;
		height: 52px !important;
		justify-content: center !important;
		min-width: 36px !important;
		padding: 0 !important;
		position: static !important;
		transition: background-color 0.2s ease, color 0.2s ease !important;
		width: 36px !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .cartBtnQty-control:hover,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .cartBtnQty-control:focus-visible {
		background: rgba(255, 68, 0, 0.08) !important;
		color: var(--mariener-accent) !important;
		outline: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart input.qty,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-qtyField .qty,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-qtyField input[name="quantity"] {
		background: transparent !important;
		border: 0 !important;
		box-shadow: none !important;
		font-size: 14px !important;
		height: 52px !important;
		margin: 0 !important;
		min-width: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		width: 100% !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart button.single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-cartBtnQty .single_add_to_cart_button {
		align-items: center !important;
		background: var(--mariener-accent) !important;
		border-radius: 2px !important;
		display: inline-flex !important;
		font-size: 11px !important;
		font-weight: 600 !important;
		height: 54px !important;
		justify-content: center !important;
		letter-spacing: 0.055em !important;
		line-height: 1 !important;
		margin: 0 !important;
		min-height: 54px !important;
		min-width: 0 !important;
		padding: 0 14px !important;
		text-align: center !important;
		text-transform: uppercase !important;
		white-space: nowrap !important;
		width: 100% !important;
	}

}

/* Pouch image swatches must be true circles, with no square image corners. */
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch {
	align-items: center !important;
	box-sizing: border-box !important;
	clip-path: circle(50%) !important;
	display: inline-flex !important;
	height: 40px !important;
	justify-content: center !important;
	overflow: hidden !important;
	outline: 0 !important;
	padding: 3px !important;
	width: 40px !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch img,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item img,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item .variable-item-span img {
	border-radius: 50% !important;
	clip-path: circle(50%) !important;
	display: block !important;
	height: 100% !important;
	margin: 0 !important;
	max-height: 100% !important;
	max-width: 100% !important;
	min-height: 0 !important;
	min-width: 0 !important;
	object-fit: cover !important;
	object-position: center !important;
	padding: 0 !important;
	width: 100% !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item .variable-item-span,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item .variable-item-span-color,
body.mariener-pdp-viewport .mariener-pdp-card__cart .variable-item .variable-item-span-image {
	border-radius: 50% !important;
	display: block !important;
	height: 100% !important;
	overflow: hidden !important;
	width: 100% !important;
}

/* --------------------------------------------------------------------------
   3.1.2 functional pouch swatches, real product hero and aligned fold
   -------------------------------------------------------------------------- */

/* Keep Product Add-Ons' own click target intact. The circular crop belongs to
   the image, not to the interactive wrapper. */
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch {
	border: 1px solid rgba(20, 20, 20, 0.12) !important;
	border-radius: 50% !important;
	box-shadow: none !important;
	clip-path: none !important;
	cursor: pointer !important;
	display: inline-flex !important;
	height: 40px !important;
	isolation: isolate;
	outline: 0 !important;
	overflow: hidden !important;
	padding: 3px !important;
	pointer-events: auto !important;
	position: relative;
	touch-action: manipulation;
	width: 40px !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch:hover,
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch:focus-visible {
	border-color: rgba(20, 20, 20, 0.42) !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(20, 20, 20, 0.22) !important;
	transform: none !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch.selected,
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch[aria-checked="true"] {
	border-color: var(--mariener-accent) !important;
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--mariener-accent) !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch img {
	border-radius: 50% !important;
	clip-path: none !important;
	height: 100% !important;
	object-fit: cover !important;
	pointer-events: none !important;
	width: 100% !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .mariener-addon-none-option,
body.mariener-pdp-viewport .mariener-pdp-card__cart option.mariener-addon-none-option {
	display: none !important;
}

body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch[data-value=""],
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch[data-option=""],
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch[aria-label="None" i],
body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch[aria-label="Geen keuze" i] {
	display: none !important;
}

/* Hero and every information block below the fold share one browser edge. */
body.mariener-product-page .mariener-pdp-fold {
	--fold-max: none;
}

body.mariener-product-page .mariener-pdp-features,
body.mariener-product-page .mariener-pdp-materials,
body.mariener-product-page .mariener-pdp-reviews,
body.mariener-product-page .mariener-wwk-reviews,
body.mariener-product-page .mariener-pdp-support {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.mariener-product-page .mariener-pdp-features__inner,
body.mariener-product-page .mariener-pdp-materials__inner,
body.mariener-product-page .mariener-pdp-reviews__inner,
body.mariener-product-page .mariener-wwk-reviews__inner,
body.mariener-product-page .mariener-pdp-support__inner {
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: var(--mariener-fold-edge) !important;
	padding-right: var(--mariener-fold-edge) !important;
	width: 100% !important;
}

body.mariener-product-page .mariener-pdp-fold .mariener-pdp-related {
	background: var(--mariener-surface);
	border-bottom: 1px solid var(--mariener-hairline);
	box-sizing: border-box;
	left: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-bottom: var(--mariener-space-3) !important;
	padding-left: var(--mariener-fold-edge) !important;
	padding-right: var(--mariener-fold-edge) !important;
	padding-top: clamp(56px, 6vw, 88px) !important;
	width: 100% !important;
}

body.mariener-product-page .mariener-pdp-fold .mariener-pdp-dimensions {
	box-sizing: border-box;
	left: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__card {
	box-sizing: border-box;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	padding-left: var(--mariener-fold-edge) !important;
	padding-right: var(--mariener-fold-edge) !important;
	width: 100% !important;
}

body.mariener-product-page .mariener-pdp-banner--overlay .mariener-pdp-banner__content {
	box-sizing: border-box;
	margin: 0 !important;
	max-width: none !important;
	padding-left: var(--mariener-fold-edge) !important;
	padding-right: var(--mariener-fold-edge) !important;
	width: 100% !important;
}

body.mariener-product-page .mariener-pdp-banner--split .mariener-pdp-banner__content {
	box-sizing: border-box;
	padding-right: var(--mariener-fold-edge) !important;
}

body.mariener-product-page .mariener-pdp-banner--split.mariener-pdp-banner--text-left .mariener-pdp-banner__content {
	padding-left: var(--mariener-fold-edge) !important;
	padding-right: clamp(28px, 5vw, 96px) !important;
}

body.mariener-product-page .mariener-pdp-banner--overlay.mariener-pdp-banner--text-right .mariener-pdp-banner__content {
	align-items: flex-end !important;
	text-align: right !important;
}

/* --------------------------------------------------------------------------
   3.1.5 mockup section labels and dimensions
   -------------------------------------------------------------------------- */

body.mariener-product-page .mariener-pdp-section-kicker,
body.mariener-product-page .mariener-wwk-reviews__kicker {
	color: var(--mariener-accent) !important;
	font-family: var(--mariener-display) !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	letter-spacing: 0.16em !important;
	line-height: 1.25 !important;
	margin: 0 0 14px !important;
	text-transform: uppercase !important;
}

body.mariener-product-page .mariener-pdp-banner--overlay .mariener-pdp-section-kicker {
	color: var(--mariener-accent) !important;
}

body.mariener-product-page .mariener-pdp-fold .mariener-pdp-dimensions--editorial {
	background: var(--mariener-surface);
	padding-bottom: clamp(26px, 3vw, 44px) !important;
	padding-top: clamp(46px, 4.8vw, 72px) !important;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__card {
	align-items: center;
	display: grid;
	gap: clamp(34px, 4.5vw, 70px);
	grid-template-columns: minmax(210px, 0.28fr) minmax(0, 1fr);
}

body.mariener-product-page .mariener-pdp-dimensions__disclaimer {
	border-left: 2px solid var(--mariener-accent);
	color: var(--mariener-muted);
	font-size: 12px;
	line-height: 1.5;
	margin: var(--mariener-space-3) 0 0;
	max-width: 30ch;
	padding-left: 12px;
	text-align: left;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__head h2 {
	font-size: clamp(28px, 2.45vw, 39px);
	margin-bottom: 16px;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__intro {
	font-size: 14px;
	line-height: 1.7;
	max-width: 34ch;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__views {
	align-items: center;
	gap: clamp(30px, 4vw, 64px);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	margin: 0;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__view {
	aspect-ratio: 1.6 / 1;
	background: transparent;
	min-height: 230px;
	overflow: visible;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__view-media {
	inset: 0;
	overflow: visible;
}

body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__image {
	height: 100%;
	object-fit: contain;
	object-position: center center;
	position: absolute;
	width: 100%;
}

@media (max-width: 1199px) {
	body.mariener-product-page .mariener-pdp-reviews__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	body.mariener-product-page .mariener-wwk-reviews__inner {
		grid-template-areas:
			"stack"
			"actions";
		grid-template-columns: minmax(0, 1fr);
	}

	body.mariener-product-page .mariener-pdp-reviews__cards,
	body.mariener-product-page .mariener-wwk-reviews__carousel-wrap {
		display: none !important;
	}
}

body.mariener-product-page .mariener-pdp-dimensions__image-placeholder {
	align-items: center;
	background: var(--mariener-placeholder);
	border: 1px solid var(--mariener-hairline);
	box-sizing: border-box;
	color: var(--mariener-muted);
	display: flex;
	flex-direction: column;
	font-family: var(--mariener-body);
	font-size: 12px;
	gap: var(--mariener-space-2);
	height: 100%;
	justify-content: center;
	letter-spacing: 0.08em;
	padding: var(--mariener-space-3);
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

body.mariener-product-page .mariener-pdp-dimensions__placeholder-icon {
	color: var(--mariener-ink);
	display: block;
	height: 32px;
	width: 32px;
}

body.mariener-product-page .mariener-pdp-dimensions__placeholder-icon svg {
	display: block;
	height: 100%;
	width: 100%;
}

body.mariener-product-page .mariener-pdp-dimensions__unit-toggle {
	display: inline-flex;
	gap: 0;
	margin-top: 22px;
}

body.mariener-product-page .mariener-pdp-dimensions__unit-btn {
	background: #fff;
	border: 1px solid var(--mariener-hairline);
	color: var(--mariener-muted);
	cursor: pointer;
	font-family: var(--mariener-body);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1;
	min-width: 52px;
	padding: 10px 14px;
	text-transform: uppercase;
	transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

body.mariener-product-page .mariener-pdp-dimensions__unit-btn:first-child {
	border-radius: 999px 0 0 999px;
}

body.mariener-product-page .mariener-pdp-dimensions__unit-btn:last-child {
	border-left: 0;
	border-radius: 0 999px 999px 0;
}

body.mariener-product-page .mariener-pdp-dimensions__unit-btn.is-active {
	background: var(--mariener-ink);
	border-color: var(--mariener-ink);
	color: #fff;
}

body.mariener-product-page .mariener-pdp-dimensions__measure {
	height: 100%;
	position: relative;
	width: 100%;
}

body.mariener-product-page .mariener-pdp-dimensions__measure-track {
	display: block;
	inset: 0;
	position: absolute;
}

body.mariener-product-page .mariener-pdp-dimensions__measure-line {
	position: absolute;
}

body.mariener-product-page .mariener-pdp-dimensions__measure-value {
	color: var(--mariener-ink);
	font-family: var(--mariener-body);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.01em;
	line-height: 1;
	white-space: nowrap;
}

/* Horizontal line with end ticks. */
body.mariener-product-page .mariener-pdp-dimensions__measure--horizontal .mariener-pdp-dimensions__measure-line {
	border-top: 1px solid rgba(20, 20, 20, 0.34);
	height: 0;
	left: 0;
	right: 0;
	top: 50%;
}

body.mariener-product-page .mariener-pdp-dimensions__measure--horizontal .mariener-pdp-dimensions__measure-line::before,
body.mariener-product-page .mariener-pdp-dimensions__measure--horizontal .mariener-pdp-dimensions__measure-line::after {
	background: rgba(20, 20, 20, 0.34);
	content: "";
	height: 11px;
	position: absolute;
	top: -6px;
	width: 1px;
}

body.mariener-product-page .mariener-pdp-dimensions__measure--horizontal .mariener-pdp-dimensions__measure-line::before {
	left: 0;
}

body.mariener-product-page .mariener-pdp-dimensions__measure--horizontal .mariener-pdp-dimensions__measure-line::after {
	right: 0;
}

/* Vertical line with end ticks. */
body.mariener-product-page .mariener-pdp-dimensions__measure--vertical .mariener-pdp-dimensions__measure-line {
	border-left: 1px solid rgba(20, 20, 20, 0.34);
	bottom: 0;
	height: auto;
	left: 50%;
	top: 0;
	width: 0;
}

body.mariener-product-page .mariener-pdp-dimensions__measure--vertical .mariener-pdp-dimensions__measure-line::before,
body.mariener-product-page .mariener-pdp-dimensions__measure--vertical .mariener-pdp-dimensions__measure-line::after {
	background: rgba(20, 20, 20, 0.34);
	content: "";
	height: 1px;
	left: -6px;
	position: absolute;
	width: 11px;
}

body.mariener-product-page .mariener-pdp-dimensions__measure--vertical .mariener-pdp-dimensions__measure-line::before {
	top: 0;
}

body.mariener-product-page .mariener-pdp-dimensions__measure--vertical .mariener-pdp-dimensions__measure-line::after {
	bottom: 0;
}

/* Value centered on the line (frame width, temple). */
body.mariener-product-page .mariener-pdp-dimensions__measure--inline .mariener-pdp-dimensions__measure-value {
	background: #fff;
	left: 50%;
	padding: 3px 10px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}

/* Value below the line (lens width, bridge). */
body.mariener-product-page .mariener-pdp-dimensions__measure--below .mariener-pdp-dimensions__measure-value {
	left: 50%;
	position: absolute;
	top: calc(50% + 8px);
	transform: translateX(-50%);
}

/* Value to the left of a vertical line (lens height). */
body.mariener-product-page .mariener-pdp-dimensions__measure--beside-start .mariener-pdp-dimensions__measure-value {
	position: absolute;
	right: calc(50% + 8px);
	text-align: right;
	top: 50%;
	transform: translateY(-50%);
}

/* Front view — tuned to 960×600 technical drawings (hinge-to-hinge layout). */
body.mariener-product-page .mariener-pdp-dimensions__view--front .mariener-pdp-dimensions__callout--total {
	height: 0;
	left: 11%;
	right: 11%;
	top: 6.5%;
}

body.mariener-product-page .mariener-pdp-dimensions__view--front .mariener-pdp-dimensions__callout--height {
	bottom: 32%;
	left: 15%;
	right: auto;
	top: 30%;
	width: 0;
}

body.mariener-product-page .mariener-pdp-dimensions__view--front .mariener-pdp-dimensions__callout--lens {
	height: 0;
	left: 18.5%;
	top: 79%;
	width: 19%;
}

body.mariener-product-page .mariener-pdp-dimensions__view--front .mariener-pdp-dimensions__callout--bridge {
	height: 0;
	left: 47.5%;
	top: 79%;
	width: 8%;
}

/* Side view — temple length above the arm. */
body.mariener-product-page .mariener-pdp-dimensions__view--side .mariener-pdp-dimensions__callout--temple {
	height: 0;
	left: 17%;
	right: 17%;
	top: 9%;
}

/* --------------------------------------------------------------------------
   Product specifications
   -------------------------------------------------------------------------- */

/* Partial-deploy guard: legacy PHP must never expose the removed fit guide. */
body.mariener-product-page .mariener-pdp-fitguide { display: none !important; }

body.mariener-product-page .mariener-pdp-specstrip {
	background: var(--mariener-surface);
	border-bottom: 1px solid var(--mariener-hairline);
	border-top: 1px solid var(--mariener-hairline);
	box-sizing: border-box;
	margin-top: 0 !important;
	padding: 0;
	width: 100%;
}

body.mariener-product-page .mariener-pdp-specstrip__inner {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin-inline: auto;
	max-width: none;
	padding-inline: var(--mariener-fold-edge);
	width: 100%;
}

body.mariener-product-page .mariener-pdp-specstrip__item {
	align-items: center;
	display: flex;
	gap: 14px;
	justify-content: flex-start;
	min-height: 78px;
	padding: 22px clamp(14px, 2vw, 28px);
	position: relative;
}

body.mariener-product-page .mariener-pdp-specstrip__item:not(:first-child)::before {
	background: var(--mariener-line);
	bottom: 18px;
	content: "";
	left: 0;
	position: absolute;
	top: 18px;
	width: 1px;
}

body.mariener-product-page .mariener-pdp-specstrip__icon {
	align-items: center;
	color: var(--mariener-muted);
	display: inline-flex;
	flex: 0 0 auto;
}

body.mariener-product-page .mariener-pdp-specstrip__icon .mariener-icon {
	height: 24px;
	stroke-width: 1.4;
	width: 24px;
}

body.mariener-product-page .mariener-pdp-specstrip__copy {
	display: grid;
	gap: 3px;
	min-width: 0;
}

body.mariener-product-page .mariener-pdp-specstrip__label {
	color: var(--mariener-ink);
	font-family: var(--mariener-display);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.12em;
	line-height: 1.2;
	text-transform: uppercase;
}

body.mariener-product-page .mariener-pdp-specstrip__value {
	color: var(--mariener-muted);
	font-family: var(--mariener-body);
	font-size: 12px;
	line-height: 1.25;
}

@media (max-width: 1023px) {
	body.mariener-product-page.mariener-pdp-viewport {
		--mariener-fold-edge: clamp(24px, 6vw, 52px);
	}

	body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__card,
	body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__views {
		grid-template-columns: 1fr;
	}

	body.mariener-product-page .mariener-pdp-specstrip__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.mariener-product-page .mariener-pdp-specstrip__item:not(:first-child)::before {
		display: none;
	}
}

@media (max-width: 639px) {
	body.mariener-product-page.mariener-pdp-viewport {
		--mariener-fold-edge: clamp(20px, 6vw, 28px);
	}

	body.mariener-product-page .mariener-pdp-specstrip__inner {
		grid-template-columns: 1fr;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .wc-pao-addon-image-swatch {
		height: 36px !important;
		width: 36px !important;
	}
}

@media (max-width: 767px) {
	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav {
		left: 0;
		pointer-events: none;
		right: 0;
		transform: none;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav .mariener-pdp-rail {
		max-width: none;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__nav {
		justify-content: center;
		padding-inline: var(--mariener-space-5);
		pointer-events: none;
		position: relative;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__progress {
		flex: 0 1 100px;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__arrows {
		display: block;
		height: 0;
		left: var(--mariener-space-1);
		pointer-events: none;
		position: absolute;
		right: var(--mariener-space-1);
		top: 50%;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__arrow {
		pointer-events: auto;
		position: absolute;
		top: 0;
		transform: translateY(-50%);
	}

	body.mariener-pdp-viewport [data-mariener-pdp-rail-prev] {
		left: 0;
	}

	body.mariener-pdp-viewport [data-mariener-pdp-rail-next] {
		right: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__arrow:focus-visible {
		outline: 2px solid var(--mariener-accent);
		outline-offset: 2px;
	}
}

/* --------------------------------------------------------------------------
   Image fit / position (metabox) — class + CSS var overrides
   Must win over earlier cover !important rules on hero/banner images.
   -------------------------------------------------------------------------- */

body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-cover .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-cover .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-cover .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-cover .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-cover .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-fit-cover .mariener-pdp-banner__image {
	object-fit: cover !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-contain .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-contain .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-contain .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-contain .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-contain .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-fit-contain .mariener-pdp-banner__image {
	object-fit: contain !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-fill .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-fill .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-fill .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-fill .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-fit-fill .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-fit-fill .mariener-pdp-banner__image {
	object-fit: fill !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-center .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-center .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-center .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-center .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-center .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-center-center .mariener-pdp-banner__image {
	object-position: 50% 50% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-left .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-left .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-left .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-left .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-left .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-center-left .mariener-pdp-banner__image {
	object-position: 0% 50% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-right .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-right .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-right .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-right .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-center-right .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-center-right .mariener-pdp-banner__image {
	object-position: 100% 50% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-center .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-center .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-center .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-center .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-center .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-top-center .mariener-pdp-banner__image {
	object-position: 50% 0% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-left .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-left .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-left .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-left .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-left .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-top-left .mariener-pdp-banner__image {
	object-position: 0% 0% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-right .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-right .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-right .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-right .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-top-right .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-top-right .mariener-pdp-banner__image {
	object-position: 100% 0% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-center .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-center .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-center .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-center .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-center .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-bottom-center .mariener-pdp-banner__image {
	object-position: 50% 100% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-left .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-left .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-left .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-left .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-left .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-bottom-left .mariener-pdp-banner__image {
	object-position: 0% 100% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-right .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-right .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-right .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-right .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-bottom-right .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-bottom-right .mariener-pdp-banner__image {
	object-position: 100% 100% !important;
}

body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-custom .mariener-pdp-hero__image,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-custom .mariener-pdp-hero__image.is-narrow,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-custom .mariener-pdp-hero__image.is-wide,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-custom .mariener-pdp-hero__image.is-fit,
body.mariener-product-page .mariener-pdp-hero__media.is-img-pos-custom .mariener-pdp-hero__image.is-hero-layer,
body.mariener-product-page .mariener-pdp-banner__media.is-img-pos-custom .mariener-pdp-banner__image {
	object-position: var(--mariener-img-position, 50% 18%) !important;
}

/* --------------------------------------------------------------------------
   Flat mobile/tablet PDP — mirror the desktop editorial treatment
   -------------------------------------------------------------------------- */

@media (max-width: 1199px) {
	body.mariener-pdp-viewport .mariener-pdp-hero {
		--mariener-pdp-card-overlap: 0px;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card {
		background: var(--mariener-surface) !important;
		border-bottom: 1px solid var(--mariener-hairline) !important;
		border-radius: 0 !important;
		border-top: 1px solid var(--mariener-hairline) !important;
		box-shadow: none !important;
		margin: 0;
		width: 100%;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card::before {
		content: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro,
	body.mariener-pdp-viewport .mariener-pdp-card__panel,
	body.mariener-pdp-viewport .mariener-pdp-card__aside {
		border-radius: 0;
		box-shadow: none !important;
		padding-left: var(--mariener-gutter);
		padding-right: var(--mariener-gutter);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro {
		padding-top: clamp(24px, 5vw, 40px);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__panel {
		padding-bottom: clamp(24px, 5vw, 40px);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__aside {
		border-top: 1px solid var(--mariener-hairline);
		padding-bottom: clamp(24px, 5vw, 40px);
		padding-top: clamp(24px, 5vw, 40px);
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav {
		bottom: var(--mariener-gutter);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .quantity,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart button.single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-card__cart .rey-cartBtnQty .single_add_to_cart_button,
	body.mariener-pdp-viewport .mariener-pdp-hero__price .rey-discount,
	body.mariener-pdp-viewport .mariener-pdp-sticky-bar__thumb,
	body.mariener-pdp-viewport .mariener-pdp-sticky-bar__price .rey-discount,
	body.mariener-pdp-viewport .mariener-pdp-sticky-bar__cta,
	body.mariener-product-page .mariener-pdp-dimensions__unit-btn,
	body.mariener-pdp-viewport .mariener-wwk-reviews__all,
	body.mariener-pdp-viewport .mariener-pdp-reviews__all,
	body.mariener-pdp-viewport .mariener-pdp-related .mariener-product-card,
	body.mariener-pdp-viewport .mariener-pdp-related .mariener-product-card__badge,
	body.mariener-pdp-viewport .mariener-pdp-related .mariener-product-card__cta {
		border-radius: 0 !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-related .mariener-product-card {
		box-shadow: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold {
		gap: 0;
		padding: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > section,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-wwk-reviews,
	body.mariener-pdp-viewport .mariener-pdp-fold .elementor-top-section,
	body.mariener-pdp-viewport .mariener-pdp-fold .e-con.e-parent {
		border-radius: 0;
		box-shadow: none;
		margin: 0;
		overflow: visible;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-features,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-materials,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-reviews {
		padding-bottom: clamp(48px, 8vw, 80px);
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: clamp(48px, 8vw, 80px);
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-wwk-reviews {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-features,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-materials,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-support {
		background: var(--mariener-bg);
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-support {
		padding: clamp(64px, 10vw, 96px) 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-specstrip {
		padding-bottom: 0;
		padding-top: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-banner,
	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-strip {
		padding: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-banner {
		overflow: hidden;
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-banner--split {
		background: var(--mariener-bg);
	}

	body.mariener-pdp-viewport .mariener-pdp-fold > .mariener-pdp-strip {
		background: transparent;
	}

	body.mariener-pdp-viewport .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__card,
	body.mariener-pdp-viewport .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__view,
	body.mariener-product-page .mariener-pdp-dimensions__face,
	body.mariener-pdp-viewport .mariener-wwk-reviews__card,
	body.mariener-pdp-viewport .mariener-pdp-review-card {
		border-radius: 0 !important;
		box-shadow: none !important;
	}
}

@media (max-width: 767px) {
	body.mariener-pdp-viewport .mariener-pdp-hero {
		container-type: inline-size;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__media {
		--mariener-pdp-mobile-media-height-offset: 20px;
		aspect-ratio: 1 / 1.12;
		height: auto;
		min-height: 0;
	}

	@supports (height: 1cqi) {
		body.mariener-pdp-viewport .mariener-pdp-hero__media {
			aspect-ratio: auto;
			height: calc(112cqi - var(--mariener-pdp-mobile-media-height-offset));
		}
	}
}

/* --------------------------------------------------------------------------
   Tablet purchase flow
   Portrait keeps a shorter image; landscape brings purchase controls beside it.
   -------------------------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 1199px) and (orientation: portrait) {
	body.mariener-pdp-viewport .mariener-pdp-hero__media {
		aspect-ratio: auto;
		height: clamp(400px, 48vh, 560px);
		height: clamp(400px, 48svh, 560px);
		min-height: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro {
		padding-top: var(--mariener-space-3);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__panel {
		padding-bottom: var(--mariener-space-4);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations tr {
		margin-bottom: var(--mariener-space-2);
	}
}

@media (min-width: 768px) and (max-width: 1199px) and (orientation: landscape) {
	body.mariener-pdp-viewport .mariener-pdp-hero {
		align-items: stretch;
		background: var(--mariener-surface) !important;
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__media {
		align-self: stretch;
		aspect-ratio: auto;
		grid-column: 1;
		height: auto;
		min-height: clamp(600px, 100vh, 760px);
		min-height: clamp(600px, 100svh, 760px);
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__stage {
		align-self: stretch;
		background: var(--mariener-surface);
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		grid-column: 2;
		min-width: 0;
		padding-top: calc(var(--header-default--height, var(--mariener-space-7)) + var(--mariener-space-2));
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__right.mariener-pdp-card {
		border-bottom: 0 !important;
		border-top: 0 !important;
		flex: 1 0 auto;
		margin: 0;
		min-width: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro,
	body.mariener-pdp-viewport .mariener-pdp-card__panel,
	body.mariener-pdp-viewport .mariener-pdp-card__aside {
		padding-left: var(--mariener-gutter);
		padding-right: var(--mariener-gutter);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__intro {
		padding-top: 0;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__panel {
		padding-bottom: var(--mariener-space-3);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__aside {
		margin-top: auto;
		padding-bottom: var(--mariener-space-3);
		padding-top: var(--mariener-space-3);
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations {
		margin-bottom: var(--mariener-space-2) !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__cart .variations tr {
		margin-bottom: var(--mariener-space-2);
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__media-links {
		background: var(--mariener-surface);
		padding: 0 var(--mariener-gutter) var(--mariener-space-3);
	}
}

/* The PDP wrapper already spans the page; avoid 100vw scrollbar overflow. */
body.mariener-product-page.mariener-pdp-viewport .mariener-pdp-hero,
body.mariener-product-page .mariener-pdp-fold {
	left: 0;
	margin-left: 0;
	margin-right: 0;
	max-width: none;
	width: 100%;
}

/* Remove the legacy dimensions carousel across stacked layouts. */
@media (max-width: 1199px) {
	body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__views {
		display: grid;
		gap: var(--mariener-space-4);
		grid-template-columns: 1fr;
		margin: var(--mariener-space-2) 0 0;
		max-width: 100%;
		min-width: 0;
		overflow: visible;
		padding: 0;
		scroll-padding-inline: 0;
		scroll-snap-type: none;
	}

	body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__view {
		flex: none;
		margin: 0;
		max-width: 100%;
		min-width: 0;
		scroll-snap-align: none;
		width: 100%;
	}
}

/* --------------------------------------------------------------------------
   Compact mobile content flow
   -------------------------------------------------------------------------- */

@media (max-width: 639px) {
	body.mariener-pdp-viewport .mariener-pdp-hero__trust {
		display: none !important;
	}

	body.mariener-product-page .mariener-pdp-fold .mariener-pdp-related {
		padding-bottom: var(--mariener-space-4) !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-card__aside .mariener-pdp-hero__feature-copy span {
		display: block;
	}

	body.mariener-product-page .mariener-pdp-dimensions__view--front .mariener-pdp-dimensions__callout--lens {
		left: 20%;
	}

	body.mariener-product-page .mariener-pdp-dimensions__view--front .mariener-pdp-dimensions__callout--bridge {
		left: 50%;
	}
}

/* --------------------------------------------------------------------------
   Desktop hero gallery thumbnails
   -------------------------------------------------------------------------- */

@media (min-width: 1200px) {
	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav {
		width: auto;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__gallery-nav .mariener-pdp-rail {
		max-width: none;
		width: auto;
	}

	body.mariener-pdp-viewport .mariener-pdp-rail__nav {
		display: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-thumbs:not(.is-placeholder) {
		display: flex !important;
		flex-wrap: nowrap;
		gap: var(--mariener-space-1);
		justify-content: flex-start;
		left: auto;
		margin: 0;
		max-width: none;
		overflow: visible;
		padding: 2px;
		position: static !important;
		top: auto !important;
		transform: none !important;
	}

	body.mariener-pdp-viewport .mariener-pdp-thumb {
		background: var(--mariener-surface);
		border: 1px solid var(--mariener-line);
		border-radius: var(--mariener-radius-control);
		box-shadow: none;
		flex: 0 0 52px;
		height: 52px;
		width: 52px;
	}

	body.mariener-pdp-viewport .mariener-pdp-thumb::after {
		border: 2px solid transparent;
		border-radius: calc(var(--mariener-radius-control) - 1px);
	}

	body.mariener-pdp-viewport .mariener-pdp-thumb:hover {
		border-color: var(--mariener-ink);
	}

	body.mariener-pdp-viewport .mariener-pdp-thumb.is-active {
		border-color: var(--mariener-surface);
		box-shadow: none;
	}

	body.mariener-pdp-viewport .mariener-pdp-thumb.is-active::after {
		border-color: var(--mariener-ink);
	}

	body.mariener-pdp-viewport .mariener-pdp-thumb:focus-visible {
		outline: 2px solid var(--mariener-accent);
		outline-offset: 2px;
	}
}

/* --------------------------------------------------------------------------
   Footer-aligned below-fold content track

   Every product section below the viewport hero uses the same 1400px content
   column and responsive gutters as the site footer. Section backgrounds stay
   full width; their visible content, media and grids align to that column.
   -------------------------------------------------------------------------- */

body.mariener-product-page .mariener-pdp-fold {
	--fold-max: var(--mariener-page-max);
	--mariener-fold-edge: var(--mariener-inline-align);
}

body.mariener-product-page .mariener-pdp-fold > section[class]:not(.mariener-pdp-banner),
body.mariener-product-page .mariener-pdp-fold > .elementor-top-section,
body.mariener-product-page .mariener-pdp-fold > .e-con.e-parent {
	box-sizing: border-box;
	padding-left: var(--mariener-inline-align) !important;
	padding-right: var(--mariener-inline-align) !important;
}

body.mariener-product-page .mariener-pdp-features__inner,
body.mariener-product-page .mariener-pdp-materials__inner,
body.mariener-product-page .mariener-pdp-reviews__inner,
body.mariener-product-page .mariener-wwk-reviews__inner,
body.mariener-product-page .mariener-pdp-support__inner,
body.mariener-product-page .mariener-pdp-specstrip__inner,
body.mariener-product-page .mariener-pdp-dimensions--editorial .mariener-pdp-dimensions__card {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	width: 100% !important;
}

body.mariener-product-page .mariener-pdp-banner--overlay .mariener-pdp-banner__media {
	left: 0 !important;
	right: 0 !important;
}

body.mariener-product-page .mariener-pdp-banner--overlay .mariener-pdp-banner__content {
	padding-left: var(--mariener-inline-align) !important;
	padding-right: var(--mariener-inline-align) !important;
}

body.mariener-product-page .mariener-pdp-banner--split .mariener-pdp-banner__content {
	padding-right: var(--mariener-inline-align) !important;
}

body.mariener-product-page .mariener-pdp-banner--split.mariener-pdp-banner--text-left .mariener-pdp-banner__content {
	padding-left: var(--mariener-inline-align) !important;
	padding-right: clamp(28px, 5vw, 96px) !important;
}

@media (max-width: 767px) {
	body.mariener-pdp-viewport .mariener-pdp-hero__title {
		--mariener-pdp-mobile-title-base-size: clamp(20px, 5.5vw, 26px);
		--mariener-pdp-mobile-title-min-size: 12px;
		align-items: baseline;
		box-sizing: border-box;
		display: flex;
		flex-wrap: nowrap;
		font-size: var(
			--mariener-pdp-mobile-title-size,
			var(--mariener-pdp-mobile-title-base-size)
		);
		max-width: 100%;
		min-width: 0;
		overflow: hidden;
		width: 100%;
		white-space: nowrap;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title.is-mobile-title-clipped {
		display: block;
		text-overflow: ellipsis;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title-line {
		display: inline;
		flex: 0 0 auto;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title-line--detail {
		font-size: inherit;
		letter-spacing: inherit;
	}

	body.mariener-pdp-viewport .mariener-pdp-hero__title-line--detail::before {
		content: "|";
		margin-left: var(--mariener-space-1);
		margin-right: var(--mariener-space-1);
	}
}
