/* GENERATED from preview/pd-product.src.css by preview/pair.py — every selector
   carries its "#top #wrap_all" twin. Edit the source and re-run, or keep
   the pairs by hand. */
/* ==========================================================================
   Prestige Detailing — single product (pd-product)
   Figma: Products > Details (15:1857).
   SELF-CONTAINED: carries its own copy of the shared tokens and the .pd-nav-t
   cap trim, and its own copy of the product card rules — it never depends on
   pd-main-nav.css, pd-woo.css or pd-shop.css being loaded or current.
   Longhands only, no !important. Design strokes are inset box-shadows.
   ========================================================================== */

@property --pd-fb       { syntax: "<number>"; inherits: true;  initial-value: 0; }
@property --pd-nav-tt   { syntax: "<length>"; inherits: false; initial-value: 0px; }
@property --pd-nav-tb   { syntax: "<length>"; inherits: false; initial-value: 0px; }

/* ---------- Enfold's page wrapper stands down on the product page ---------- */
.pd-prod-page .title_container,
.pd-prod-page #main .container_wrap_first .sidebar,
#top.pd-prod-page #wrap_all .title_container,
#top.pd-prod-page #wrap_all #main .container_wrap_first .sidebar {
	display: none;
}

.pd-prod-page #main .container_wrap_first,
#top.pd-prod-page #wrap_all #main .container_wrap_first {
	background-color: #161414;
	border-top-width: 0;
}

.pd-prod-page #main .container_wrap_first > .container,
#top.pd-prod-page #wrap_all #main .container_wrap_first > .container {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.pd-prod-page #main .container_wrap_first .content,
.pd-prod-page #main .container_wrap_first .entry-content-wrapper,
#top.pd-prod-page #wrap_all #main .container_wrap_first .content,
#top.pd-prod-page #wrap_all #main .container_wrap_first .entry-content-wrapper {
	float: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-left-width: 0;
	border-right-width: 0;
}

/* ---------- Root ---------- */
.pd-prod,
#top #wrap_all .pd-prod {
	/* Shared site tokens — same values as pd-main-nav */
	--pd-nav-font: "Google Sans Flex", "Google Sans", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--pd-cap: 0.71875;
	--pd-asc: 0.966;
	--pd-desc: 0.286;

	--pd-prod-px: clamp(16px, 9.259vw, 160px);      /* 160 @ 1728, = nav */
	--pd-prod-ink: #fff;
	--pd-prod-red: #d60c0c;
	--pd-prod-bg: #161414;
	--pd-prod-panel: #242222;
	--pd-prod-line: rgba(255, 255, 255, 0.2);
	--pd-prod-mark: #fff;
	--pd-prod-tint: rgba(255, 255, 255, 0.08);

	font-family: var(--pd-nav-font);
	font-weight: 400;
	color: var(--pd-prod-ink);
	-webkit-font-smoothing: antialiased;
	text-align: left;
}

.pd-prod *,
.pd-prod *::before,
.pd-prod *::after,
#top #wrap_all .pd-prod *,
#top #wrap_all .pd-prod *::before,
#top #wrap_all .pd-prod *::after {
	box-sizing: border-box;
}

.pd-prod a,
#top #wrap_all .pd-prod a {
	color: inherit;
	text-decoration: none;
	border-bottom-width: 0;
}

.pd-prod .screen-reader-text,
#top #wrap_all .pd-prod .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	margin-top: 0;
	margin-bottom: 0;
}

.pd-prod .pd-prod__icon,
#top #wrap_all .pd-prod .pd-prod__icon {
	display: block;
	width: 24px;
	height: 24px;
	max-width: none;
	flex-grow: 0;
	flex-shrink: 0;
}

/* ---------- Cap trim (text-box) with a metric fallback — same as pd-main-nav ---------- */
.pd-prod .pd-nav-t,
#top #wrap_all .pd-prod .pd-nav-t {
	display: block;
	--pd-nav-tt: calc(var(--pd-fb) * ((var(--lh) - (var(--pd-asc) + var(--pd-desc)) * var(--fs)) / 2 + (var(--pd-asc) - var(--pd-cap)) * var(--fs)));
	--pd-nav-tb: calc(var(--pd-fb) * ((var(--lh) - (var(--pd-asc) + var(--pd-desc)) * var(--fs)) / 2 + var(--pd-desc) * var(--fs)));
	font-size: var(--fs);
	line-height: var(--lh);
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	text-box: trim-both cap alphabetic;
	margin-top: calc(-1 * var(--pd-nav-tt));
	margin-bottom: calc(-1 * var(--pd-nav-tb));
}

@supports not ((text-box: trim-both cap alphabetic) or (text-box-trim: trim-both)) {
	.pd-prod,
#top #wrap_all .pd-prod { --pd-fb: 1; }
}

/* ==========================================================================
   Two-line title (gradient line + bold line)
   ========================================================================== */
.pd-prod .pd-prod-title,
#top #wrap_all .pd-prod .pd-prod-title {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	text-transform: uppercase;
	color: var(--pd-prod-ink);
	font-family: var(--pd-nav-font);
}

.pd-prod .pd-prod-title__top,
#top #wrap_all .pd-prod .pd-prod-title__top {
	--fs: clamp(24px, 21.78px + 0.592vw, 32px);
	--lh: var(--fs);
	font-weight: 400;
	letter-spacing: -0.03em;
}

.pd-prod .pd-prod-title__grad,
#top #wrap_all .pd-prod .pd-prod-title__grad {
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.4) 0, #fff 145px);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.pd-prod .pd-prod-title__main,
#top #wrap_all .pd-prod .pd-prod-title__main {
	--fs: clamp(36px, 32.66px + 0.888vw, 48px);
	--lh: calc(var(--fs) * 0.9167);
	font-weight: 700;
	letter-spacing: -0.04em;
}

/* The product name: 40 / 40 on both lines, 11 apart */
.pd-prod .pd-prod-title--lg,
#top #wrap_all .pd-prod .pd-prod-title--lg {
	row-gap: 11px;
}

.pd-prod .pd-prod-title--lg .pd-prod-title__top,
.pd-prod .pd-prod-title--lg .pd-prod-title__main,
#top #wrap_all .pd-prod .pd-prod-title--lg .pd-prod-title__top,
#top #wrap_all .pd-prod .pd-prod-title--lg .pd-prod-title__main {
	--fs: clamp(28px, 24.66px + 0.888vw, 40px);
	--lh: var(--fs);
	font-weight: 400;
	letter-spacing: -0.03em;
}

.pd-prod .pd-prod-title--lg .pd-prod-title__grad,
#top #wrap_all .pd-prod .pd-prod-title--lg .pd-prod-title__grad {
	background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.4) 0, #fff 126px);
}

/* Section head: title · 40 · rule out to the viewport edge */
.pd-prod .pd-prod-head,
#top #wrap_all .pd-prod .pd-prod-head {
	display: flex;
	flex-direction: column;
	row-gap: 40px;
	align-items: flex-start;
}

.pd-prod .pd-prod-head__rule,
#top #wrap_all .pd-prod .pd-prod-head__rule {
	display: block;
	height: 1px;
	width: calc(var(--pd-prod-px) + 580px);
	max-width: calc(100% + var(--pd-prod-px));
	margin-left: calc(-1 * var(--pd-prod-px));
	background-color: var(--pd-prod-ink);
	opacity: 0.4;
}

/* ==========================================================================
   Breadcrumb strip
   ========================================================================== */
.pd-prod-strip,
#top #wrap_all .pd-prod-strip {
	background-color: var(--pd-prod-bg);
	box-shadow: inset 0 1px 0 0 var(--pd-prod-line), inset 0 -1px 0 0 var(--pd-prod-line);
}

.pd-prod-strip .pd-prod-strip__in,
#top #wrap_all .pd-prod-strip .pd-prod-strip__in {
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 24px;
	min-height: 84px;
	padding-top: 32px;
	padding-bottom: 32px;
	padding-left: var(--pd-prod-px);
	padding-right: var(--pd-prod-px);
}

.pd-prod-strip .pd-prod-strip__back,
#top #wrap_all .pd-prod-strip .pd-prod-strip__back {
	display: inline-flex;
	align-items: center;
	column-gap: 4px;
	color: #fff;
	transition: opacity 0.25s ease;
}

.pd-prod-strip .pd-prod-strip__back:hover,
#top #wrap_all .pd-prod-strip .pd-prod-strip__back:hover {
	opacity: 0.72;
}

.pd-prod-strip .pd-prod-strip__chev,
#top #wrap_all .pd-prod-strip .pd-prod-strip__chev {
	width: 20px;
	height: 20px;
	transform: rotate(180deg);
}

.pd-prod-strip .pd-prod-strip__back-t,
#top #wrap_all .pd-prod-strip .pd-prod-strip__back-t {
	--fs: 16px;
	--lh: 24px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
}

.pd-prod-strip .pd-prod-strip__crumbs,
#top #wrap_all .pd-prod-strip .pd-prod-strip__crumbs {
	display: flex;
	align-items: center;
	column-gap: 16px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
	min-width: 0;
}

.pd-prod-strip .pd-prod-strip__crumb,
#top #wrap_all .pd-prod-strip .pd-prod-strip__crumb {
	display: flex;
	align-items: center;
	column-gap: 16px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
	color: var(--pd-prod-red);
	white-space: nowrap;
	min-width: 0;
}

.pd-prod-strip .pd-prod-strip__crumb.is-current,
#top #wrap_all .pd-prod-strip .pd-prod-strip__crumb.is-current {
	color: rgba(255, 255, 255, 0.72);
}

/* The cap trim leaves a box only as tall as a capital, so clipping for the
   ellipsis would cut the ascenders and descenders. The padding gives the clip
   box room; the matching negative margins keep the trimmed height. */
.pd-prod-strip .pd-prod-strip__crumb.is-current .pd-prod-strip__t,
#top #wrap_all .pd-prod-strip .pd-prod-strip__crumb.is-current .pd-prod-strip__t {
	overflow: hidden;
	text-overflow: ellipsis;
	padding-top: 10px;
	padding-bottom: 10px;
	margin-top: calc(-1 * var(--pd-nav-tt) - 10px);
	margin-bottom: calc(-1 * var(--pd-nav-tb) - 10px);
}

.pd-prod-strip .pd-prod-strip__t,
.pd-prod-strip .pd-prod-strip__sep,
#top #wrap_all .pd-prod-strip .pd-prod-strip__t,
#top #wrap_all .pd-prod-strip .pd-prod-strip__sep {
	--fs: 18px;
	--lh: 28px;
	color: inherit;
}

.pd-prod-strip a.pd-prod-strip__t:hover,
#top #wrap_all .pd-prod-strip a.pd-prod-strip__t:hover {
	color: #fff;
}

/* ==========================================================================
   Section
   ========================================================================== */
.pd-prod-sect,
#top #wrap_all .pd-prod-sect {
	background-color: var(--pd-prod-bg);
}

.pd-prod .pd-prod-sect__in,
#top #wrap_all .pd-prod .pd-prod-sect__in {
	display: flex;
	flex-direction: column;
	row-gap: clamp(48px, 3.704vw, 64px);
	padding-top: 0;
	padding-bottom: clamp(80px, 9.259vw, 160px);
	padding-left: var(--pd-prod-px);
	padding-right: var(--pd-prod-px);
}

/* WooCommerce prints an empty notices wrapper. As a flex item it still takes a
   row-gap, which shows as a gap above the product block. */
.pd-prod .pd-prod-sect__in > .woocommerce-notices-wrapper:empty,
#top #wrap_all .pd-prod .pd-prod-sect__in > .woocommerce-notices-wrapper:empty {
	display: none;
}

/* Gallery | summary, split by a 1px rule with a bracket tick at each end */
.pd-prod .pd-prod-cols,
#top #wrap_all .pd-prod .pd-prod-cols {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
}

.pd-prod .pd-prod-cols::after,
#top #wrap_all .pd-prod .pd-prod-cols::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background-color: var(--pd-prod-line);
}

.pd-prod .pd-prod-cols__split,
#top #wrap_all .pd-prod .pd-prod-cols__split {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background-color: var(--pd-prod-line);
	pointer-events: none;
}

.pd-prod .pd-prod-cols__split::before,
.pd-prod .pd-prod-cols__split::after,
#top #wrap_all .pd-prod .pd-prod-cols__split::before,
#top #wrap_all .pd-prod .pd-prod-cols__split::after {
	content: "";
	position: absolute;
	left: -7px;
	width: 14px;
	height: 8px;
	background-image:
		linear-gradient(var(--pd-prod-mark), var(--pd-prod-mark)),
		linear-gradient(var(--pd-prod-mark), var(--pd-prod-mark));
	background-size: 14px 2px, 2px 8px;
	background-repeat: no-repeat;
}

.pd-prod .pd-prod-cols__split::before,
#top #wrap_all .pd-prod .pd-prod-cols__split::before {
	top: 0;
	background-position: left top, center top;
}

.pd-prod .pd-prod-cols__split::after,
#top #wrap_all .pd-prod .pd-prod-cols__split::after {
	bottom: 0;
	background-position: left bottom, center bottom;
}

.pd-prod .pd-prod-cols__media,
#top #wrap_all .pd-prod .pd-prod-cols__media {
	padding-top: 21px;
	padding-bottom: 20px;
	padding-right: 20px;
	min-width: 0;
}

.pd-prod .pd-prod-cols__summary,
#top #wrap_all .pd-prod .pd-prod-cols__summary {
	padding-top: 65px;
	padding-bottom: 0;
	padding-left: 65px;
	min-width: 0;
}

/* ==========================================================================
   Gallery
   ========================================================================== */
.pd-prod .pd-prod-gallery,
#top #wrap_all .pd-prod .pd-prod-gallery {
	position: relative;
	background-color: var(--pd-prod-panel);
	aspect-ratio: 684 / 618;
	width: 100%;
	overflow: hidden;
}

.pd-prod .pd-prod-gallery__slides,
#top #wrap_all .pd-prod .pd-prod-gallery__slides {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.pd-prod .pd-prod-gallery__slide,
#top #wrap_all .pd-prod .pd-prod-gallery__slide {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.4s ease, visibility 0.4s ease;
}

.pd-prod .pd-prod-gallery__slide.is-on,
#top #wrap_all .pd-prod .pd-prod-gallery__slide.is-on {
	opacity: 1;
	visibility: visible;
}

.pd-prod .pd-prod-gallery__img,
#top #wrap_all .pd-prod .pd-prod-gallery__img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	padding-top: 14.7%;
	padding-bottom: 14.7%;
	padding-left: 6.4%;
	padding-right: 6.4%;
	margin-top: 0;
	margin-bottom: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	box-shadow: none;
}

.pd-prod .pd-prod-gallery__nav,
#top #wrap_all .pd-prod .pd-prod-gallery__nav {
	position: absolute;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-top: -24px;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 12px;
	padding-right: 12px;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	background-color: var(--pd-prod-tint);
	background-image: none;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.25s ease;
}

.pd-prod .pd-prod-gallery__nav--prev,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--prev {
	left: 20px;
}

.pd-prod .pd-prod-gallery__nav--prev .pd-prod-gallery__chev,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--prev .pd-prod-gallery__chev {
	transform: rotate(180deg);
}

.pd-prod .pd-prod-gallery__nav--next,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--next {
	right: 20px;
	background-color: var(--pd-prod-red);
}

.pd-prod .pd-prod-gallery__nav--prev:hover,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--prev:hover {
	background-color: rgba(255, 255, 255, 0.16);
}

.pd-prod .pd-prod-gallery__nav--next:hover,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--next:hover {
	background-color: #b70a0a;
}

.pd-prod .pd-prod-gallery__nav:focus-visible,
#top #wrap_all .pd-prod .pd-prod-gallery__nav:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

/* ==========================================================================
   Summary
   ========================================================================== */
.pd-prod .pd-prod-summary,
#top #wrap_all .pd-prod .pd-prod-summary {
	display: flex;
	flex-direction: column;
	row-gap: 96px;
	max-width: 505px;
}

.pd-prod .pd-prod-summary__main,
#top #wrap_all .pd-prod .pd-prod-summary__main {
	display: flex;
	flex-direction: column;
	row-gap: 48px;
}

.pd-prod .pd-prod-price,
#top #wrap_all .pd-prod .pd-prod-price {
	--fs: 28px;
	--lh: 28px;
	margin-top: 0;
	margin-bottom: 0;
	font-weight: 500;
	color: #fff;
}

/* Picking a variation swaps in WooCommerce's own price_html, which wraps the
   amount in <span class="price"> — an element Enfold styles on its own. */
.pd-prod .pd-prod-price .price,
.pd-prod .pd-prod-price .amount,
.pd-prod .pd-prod-price .woocommerce-Price-amount,
.pd-prod .pd-prod-price .woocommerce-Price-currencySymbol,
.pd-prod .pd-prod-price bdi,
.pd-prod .pd-prod-price span,
.pd-prod .pd-prod-price ins,
.pd-prod .pd-prod-price del,
#top #wrap_all .pd-prod .pd-prod-price .price,
#top #wrap_all .pd-prod .pd-prod-price .amount,
#top #wrap_all .pd-prod .pd-prod-price .woocommerce-Price-amount,
#top #wrap_all .pd-prod .pd-prod-price .woocommerce-Price-currencySymbol,
#top #wrap_all .pd-prod .pd-prod-price bdi,
#top #wrap_all .pd-prod .pd-prod-price span,
#top #wrap_all .pd-prod .pd-prod-price ins,
#top #wrap_all .pd-prod .pd-prod-price del {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	font-style: normal;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	text-decoration: none;
	color: inherit;
	background-color: transparent;
	opacity: 1;
}

.pd-prod .pd-prod-price del,
#top #wrap_all .pd-prod .pd-prod-price del {
	opacity: 0.56;
	font-weight: 400;
	text-decoration: line-through;
	color: inherit;
}

.pd-prod .pd-prod-price ins,
#top #wrap_all .pd-prod .pd-prod-price ins {
	text-decoration: none;
	background-color: transparent;
	color: inherit;
}

.pd-prod .pd-prod-summary__head,
#top #wrap_all .pd-prod .pd-prod-summary__head {
	display: flex;
	flex-direction: column;
	row-gap: 32px;
}

.pd-prod .pd-prod-excerpt,
#top #wrap_all .pd-prod .pd-prod-excerpt {
	--fs: 18px;
	--lh: 28px;
	opacity: 0.72;
	color: #fff;
}

.pd-prod .pd-prod-excerpt p,
#top #wrap_all .pd-prod .pd-prod-excerpt p {
	margin-top: 0;
	margin-bottom: 0;
}

.pd-prod .pd-prod-excerpt p + p,
#top #wrap_all .pd-prod .pd-prod-excerpt p + p {
	margin-top: 12px;
}

/* ---------- The add-to-cart form (WooCommerce's own markup) ---------- */
.pd-prod form.cart,
.pd-prod form.variations_form,
#top #wrap_all .pd-prod form.cart,
#top #wrap_all .pd-prod form.variations_form {
	display: flex;
	flex-direction: column;
	row-gap: 48px;
	align-items: flex-start;
	margin-top: 0;
	margin-bottom: 0;
}

.pd-prod form.cart::before,
.pd-prod form.cart::after,
#top #wrap_all .pd-prod form.cart::before,
#top #wrap_all .pd-prod form.cart::after {
	content: none;
}

/* A simple product's form is just the quantity and the button — one row. */
.pd-prod form.cart:not(.variations_form),
#top #wrap_all .pd-prod form.cart:not(.variations_form) {
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
	row-gap: 16px;
}

/* Enfold draws borders and a panel background around the variation form and the
   single-variation block. Nothing in this area has a border in the design. */
.pd-prod form.variations_form,
.pd-prod .variations_form,
.pd-prod .single_variation_wrap,
.pd-prod .single_variation,
.pd-prod .woocommerce-variation,
.pd-prod .woocommerce-variation-add-to-cart,
.pd-prod .woocommerce-variation-price,
.pd-prod .woocommerce-variation-availability,
.pd-prod .woocommerce-variation-description,
.pd-prod .variations thead,
.pd-prod .variations tfoot,
#top #wrap_all .pd-prod form.variations_form,
#top #wrap_all .pd-prod .variations_form,
#top #wrap_all .pd-prod .single_variation_wrap,
#top #wrap_all .pd-prod .single_variation,
#top #wrap_all .pd-prod .woocommerce-variation,
#top #wrap_all .pd-prod .woocommerce-variation-add-to-cart,
#top #wrap_all .pd-prod .woocommerce-variation-price,
#top #wrap_all .pd-prod .woocommerce-variation-availability,
#top #wrap_all .pd-prod .woocommerce-variation-description,
#top #wrap_all .pd-prod .variations thead,
#top #wrap_all .pd-prod .variations tfoot {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	border-radius: 0;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
}

.pd-prod .variations,
#top #wrap_all .pd-prod .variations {
	display: flex;
	flex-direction: column;
	row-gap: 24px;
	width: 100%;
	margin-top: 0;
	margin-bottom: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	background-color: transparent;
}

.pd-prod .variations tbody,
.pd-prod .variations tr,
.pd-prod .variations th,
.pd-prod .variations td,
#top #wrap_all .pd-prod .variations tbody,
#top #wrap_all .pd-prod .variations tr,
#top #wrap_all .pd-prod .variations th,
#top #wrap_all .pd-prod .variations td {
	display: block;
	width: auto;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	background-color: transparent;
	text-align: left;
	vertical-align: top;
}

.pd-prod .variations tr,
#top #wrap_all .pd-prod .variations tr {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
}

.pd-prod .variations tr + tr,
#top #wrap_all .pd-prod .variations tr + tr {
	margin-top: 24px;
}

.pd-prod .variations .label label,
#top #wrap_all .pd-prod .variations .label label {
	--fs: 18px;
	--lh: 28px;
	display: block;
	margin-top: 0;
	margin-bottom: 0;
	font-family: var(--pd-nav-font);
	font-size: var(--fs);
	font-weight: 400;
	line-height: var(--lh);
	letter-spacing: 0;
	text-transform: none;
	text-align: left;
	color: #fff;
	opacity: 0.72;
	--pd-nav-tt: calc(var(--pd-fb) * ((var(--lh) - (var(--pd-asc) + var(--pd-desc)) * var(--fs)) / 2 + (var(--pd-asc) - var(--pd-cap)) * var(--fs)));
	--pd-nav-tb: calc(var(--pd-fb) * ((var(--lh) - (var(--pd-asc) + var(--pd-desc)) * var(--fs)) / 2 + var(--pd-desc) * var(--fs)));
	text-box-trim: trim-both;
	text-box-edge: cap alphabetic;
	text-box: trim-both cap alphabetic;
	margin-top: calc(-1 * var(--pd-nav-tt));
	margin-bottom: calc(-1 * var(--pd-nav-tb));
}

/* Figma writes the attribute name with a colon. */
.pd-prod .variations .label label::after,
#top #wrap_all .pd-prod .variations .label label::after {
	content: ":";
}

/* The select stays for no-JS; with JS the pills replace it. */
.woocommerce-js .pd-prod .variations select,
#top.woocommerce-js #wrap_all .pd-prod .variations select {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

.pd-prod .variations select,
#top #wrap_all .pd-prod .variations select {
	display: block;
	width: 100%;
	max-width: 296px;
	min-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 16px;
	padding-right: 16px;
	border-top: 1px solid var(--pd-prod-line);
	border-right: 1px solid var(--pd-prod-line);
	border-bottom: 1px solid var(--pd-prod-line);
	border-left: 1px solid var(--pd-prod-line);
	border-radius: 0;
	background-color: var(--pd-prod-bg);
	color: #fff;
	font-family: var(--pd-nav-font);
	font-size: 16px;
	line-height: 24px;
}

.pd-prod .pd-prod-swatches,
#top #wrap_all .pd-prod .pd-prod-swatches {
	display: flex;
	flex-wrap: wrap;
	column-gap: 8px;
	row-gap: 8px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.pd-prod .pd-prod-swatch,
#top #wrap_all .pd-prod .pd-prod-swatch {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	height: 51px;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 16px;
	padding-right: 16px;
	border-top: 1px solid var(--pd-prod-line);
	border-right: 1px solid var(--pd-prod-line);
	border-bottom: 1px solid var(--pd-prod-line);
	border-left: 1px solid var(--pd-prod-line);
	border-radius: 0;
	background-color: var(--pd-prod-bg);
	background-image: none;
	box-shadow: none;
	color: #fff;
	font-family: var(--pd-nav-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}

.pd-prod .pd-prod-swatch:hover,
#top #wrap_all .pd-prod .pd-prod-swatch:hover {
	background-color: var(--pd-prod-panel);
	color: #fff;
	border-top-color: rgba(255, 255, 255, 0.4);
	border-right-color: rgba(255, 255, 255, 0.4);
	border-bottom-color: rgba(255, 255, 255, 0.4);
	border-left-color: rgba(255, 255, 255, 0.4);
}

.pd-prod .pd-prod-swatch.is-on,
#top #wrap_all .pd-prod .pd-prod-swatch.is-on {
	background-color: var(--pd-prod-red);
	border-top-color: var(--pd-prod-red);
	border-right-color: var(--pd-prod-red);
	border-bottom-color: var(--pd-prod-red);
	border-left-color: var(--pd-prod-red);
	color: #fff;
}

.pd-prod .pd-prod-swatch.is-out,
#top #wrap_all .pd-prod .pd-prod-swatch.is-out {
	opacity: 0.32;
	cursor: not-allowed;
}

.pd-prod .pd-prod-swatch:focus-visible,
#top #wrap_all .pd-prod .pd-prod-swatch:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 3px;
}

.pd-prod .variations td.value,
.pd-prod .variations .value,
#top #wrap_all .pd-prod .variations td.value,
#top #wrap_all .pd-prod .variations .value {
	position: relative;
}

/* "Clear" sits on the label's line, so it never moves the rhythm. */
.pd-prod .reset_variations,
#top #wrap_all .pd-prod .reset_variations {
	--fs: 14px;
	--lh: 20px;
	position: absolute;
	top: -32px;
	right: 0;
	display: inline-block;
	margin-top: 0;
	font-size: 14px;
	line-height: 20px;
	color: #fff;
	opacity: 0.56;
	text-decoration: underline;
}

.pd-prod .reset_variations:hover,
#top #wrap_all .pd-prod .reset_variations:hover {
	opacity: 1;
}

/* Enfold indents this by 90px. The row lines up with the pills in the design. */
.pd-prod .single_variation_wrap,
#top #wrap_all .pd-prod .single_variation_wrap {
	display: flex;
	flex-direction: column;
	row-gap: 24px;
	width: 100%;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
}

.pd-prod .woocommerce-variation-description p,
.pd-prod .woocommerce-variation-availability p,
.pd-prod .stock,
#top #wrap_all .pd-prod .woocommerce-variation-description p,
#top #wrap_all .pd-prod .woocommerce-variation-availability p,
#top #wrap_all .pd-prod .stock {
	--fs: 16px;
	--lh: 24px;
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	line-height: 24px;
	color: #fff;
	opacity: 0.72;
}

.pd-prod .stock.out-of-stock,
#top #wrap_all .pd-prod .stock.out-of-stock {
	color: #ff6b6b;
	opacity: 1;
}

/* The variation price is shown at the top of the summary instead. */
.pd-prod .woocommerce-variation-price,
#top #wrap_all .pd-prod .woocommerce-variation-price {
	display: none;
}

/* ---------- Quantity + Add to cart ---------- */
.pd-prod .woocommerce-variation-add-to-cart,
.pd-prod .pd-prod-buy,
#top #wrap_all .pd-prod .woocommerce-variation-add-to-cart,
#top #wrap_all .pd-prod .pd-prod-buy {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 20px;
	row-gap: 16px;
}

.pd-prod .quantity,
#top #wrap_all .pd-prod .quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	column-gap: 16px;
	height: 59px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 16px;
	padding-right: 16px;
	box-shadow: inset 0 0 0 2px #fff;
	background-color: var(--pd-prod-bg);
	float: none;
}

/* Enfold and WooCommerce inject their own − / + into .quantity. Ours are the
   only ones the design has. */
.pd-prod .quantity .plus,
.pd-prod .quantity .minus,
.pd-prod .quantity input.plus,
.pd-prod .quantity input.minus,
.pd-prod .quantity a.plus,
.pd-prod .quantity a.minus,
.pd-prod .quantity div.plus,
.pd-prod .quantity div.minus,
.pd-prod .quantity .av-quantity-plus,
.pd-prod .quantity .av-quantity-minus,
#top #wrap_all .pd-prod .quantity .plus,
#top #wrap_all .pd-prod .quantity .minus,
#top #wrap_all .pd-prod .quantity input.plus,
#top #wrap_all .pd-prod .quantity input.minus,
#top #wrap_all .pd-prod .quantity a.plus,
#top #wrap_all .pd-prod .quantity a.minus,
#top #wrap_all .pd-prod .quantity div.plus,
#top #wrap_all .pd-prod .quantity div.minus,
#top #wrap_all .pd-prod .quantity .av-quantity-plus,
#top #wrap_all .pd-prod .quantity .av-quantity-minus {
	display: none;
}

.pd-prod .quantity .pd-prod-qty__btn,
#top #wrap_all .pd-prod .quantity .pd-prod-qty__btn {
	display: block;
	width: 20px;
	height: 20px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.pd-prod .quantity .pd-prod-qty__btn:hover,
#top #wrap_all .pd-prod .quantity .pd-prod-qty__btn:hover {
	opacity: 0.64;
	background-color: transparent;
}

.pd-prod .quantity .pd-prod-qty__btn:disabled,
#top #wrap_all .pd-prod .quantity .pd-prod-qty__btn:disabled {
	opacity: 0.24;
	cursor: default;
}

.pd-prod .quantity .pd-prod-qty__btn:focus-visible,
#top #wrap_all .pd-prod .quantity .pd-prod-qty__btn:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.pd-prod .quantity input.qty,
#top #wrap_all .pd-prod .quantity input.qty {
	display: block;
	width: 2.4ch;
	min-width: 2.4ch;
	height: 28px;
	min-height: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	color: #fff;
	font-family: var(--pd-nav-font);
	font-size: 18px;
	font-weight: 500;
	line-height: 28px;
	text-align: center;
	-moz-appearance: textfield;
	field-sizing: content;
}

.pd-prod .quantity input.qty::-webkit-outer-spin-button,
.pd-prod .quantity input.qty::-webkit-inner-spin-button,
#top #wrap_all .pd-prod .quantity input.qty::-webkit-outer-spin-button,
#top #wrap_all .pd-prod .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin-left: 0;
	margin-right: 0;
}

.pd-prod .quantity input.qty:focus,
#top #wrap_all .pd-prod .quantity input.qty:focus {
	outline: 0;
	box-shadow: inset 0 -1px 0 0 var(--pd-prod-red);
}

/* Bracket button — the same drawing as pd-button's "Dark" */
.pd-prod .single_add_to_cart_button,
.pd-prod .pd-prod-btn,
#top #wrap_all .pd-prod .single_add_to_cart_button,
#top #wrap_all .pd-prod .pd-prod-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 59px;
	min-height: 59px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 32px;
	padding-right: 32px;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-family: var(--pd-nav-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.03em;
	background-color: var(--pd-prod-tint);
	background-image:
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
	background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px, 8px 2px, 2px 8px, 8px 2px, 2px 8px;
	background-position: left top, left top, right top, right top, left bottom, left bottom, right bottom, right bottom;
	background-repeat: no-repeat;
	box-shadow: none;
	cursor: pointer;
	transition: background-color 0.25s ease;
}

.pd-prod .single_add_to_cart_button:hover,
.pd-prod .single_add_to_cart_button:focus-visible,
.pd-prod .pd-prod-btn:hover,
#top #wrap_all .pd-prod .single_add_to_cart_button:hover,
#top #wrap_all .pd-prod .single_add_to_cart_button:focus-visible,
#top #wrap_all .pd-prod .pd-prod-btn:hover {
	background-color: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.pd-prod .single_add_to_cart_button.disabled,
.pd-prod .single_add_to_cart_button:disabled,
#top #wrap_all .pd-prod .single_add_to_cart_button.disabled,
#top #wrap_all .pd-prod .single_add_to_cart_button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.pd-prod .single_add_to_cart_button.added::after,
#top #wrap_all .pd-prod .single_add_to_cart_button.added::after {
	content: none;
}

/* ---------- SKU / categories ---------- */
.pd-prod .pd-prod-meta,
#top #wrap_all .pd-prod .pd-prod-meta {
	display: flex;
	flex-direction: column;
	row-gap: 12px;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 22px;
	list-style: disc;
	color: #fff;
}

/* One flowing line of text, so a long list of categories wraps with its own
   leading instead of colliding with the label. */
.pd-prod .pd-prod-meta__row,
#top #wrap_all .pd-prod .pd-prod-meta__row {
	display: list-item;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: disc;
	font-size: 16px;
	line-height: 24px;
}

.pd-prod .pd-prod-meta__k,
.pd-prod .pd-prod-meta__v,
#top #wrap_all .pd-prod .pd-prod-meta__k,
#top #wrap_all .pd-prod .pd-prod-meta__v {
	--fs: 16px;
	--lh: 24px;
	display: inline;
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	line-height: 24px;
	text-box-trim: none;
	text-box-edge: auto;
	text-box: normal;
}

.pd-prod .pd-prod-meta__k,
#top #wrap_all .pd-prod .pd-prod-meta__k {
	margin-right: 4px;
}

.pd-prod .pd-prod-meta__v,
#top #wrap_all .pd-prod .pd-prod-meta__v {
	opacity: 0.72;
}

.pd-prod .pd-prod-meta__v a,
#top #wrap_all .pd-prod .pd-prod-meta__v a {
	color: inherit;
	text-decoration: none;
}

.pd-prod .pd-prod-meta__v a:hover,
#top #wrap_all .pd-prod .pd-prod-meta__v a:hover {
	text-decoration: underline;
}

/* ==========================================================================
   Tabs + video
   ========================================================================== */
.pd-prod .pd-prod-tabs,
#top #wrap_all .pd-prod .pd-prod-tabs {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.pd-prod .pd-prod-below,
#top #wrap_all .pd-prod .pd-prod-below {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: clamp(40px, 3.704vw, 64px);
	width: 100%;
	max-width: 934px;
	margin-left: auto;
	margin-right: auto;
}

/* Enfold boxes the tab strip and the panel. The design has neither. */
.pd-prod .woocommerce-tabs,
.pd-prod .woocommerce-tabs ul.tabs,
.pd-prod .woocommerce-tabs .panel,
.pd-prod .woocommerce-Tabs-panel,
.pd-prod .wc-tabs-wrapper,
.pd-prod .tabcontainer,
.pd-prod .tab_content,
#top #wrap_all .pd-prod .woocommerce-tabs,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs,
#top #wrap_all .pd-prod .woocommerce-tabs .panel,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel,
#top #wrap_all .pd-prod .wc-tabs-wrapper,
#top #wrap_all .pd-prod .tabcontainer,
#top #wrap_all .pd-prod .tab_content {
	padding-top: 0;
	padding-right: 0;
	padding-bottom: 0;
	padding-left: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	border-radius: 0;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
}

.pd-prod .woocommerce-tabs,
#top #wrap_all .pd-prod .woocommerce-tabs {
	display: flex;
	flex-direction: column;
	align-items: center;
	row-gap: 48px;
	width: 100%;
	padding-top: 0;
	padding-bottom: 0;
}

.pd-prod .woocommerce-tabs ul.tabs,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	column-gap: 0;
	row-gap: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	list-style: none;
}

.pd-prod .woocommerce-tabs ul.tabs::before,
.pd-prod .woocommerce-tabs ul.tabs::after,
.pd-prod .woocommerce-tabs ul.tabs li::before,
.pd-prod .woocommerce-tabs ul.tabs li::after,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs::before,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs::after,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li::before,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li::after {
	content: none;
	border-width: 0;
	box-shadow: none;
}

.pd-prod .woocommerce-tabs ul.tabs li,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li {
	display: block;
	flex-grow: 0;
	flex-shrink: 0;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	background-color: transparent;
	list-style: none;
}

.pd-prod .woocommerce-tabs ul.tabs li a,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 59px;
	min-height: 59px;
	margin-top: 0;
	margin-right: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 32px;
	padding-right: 32px;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	border-radius: 0;
	float: none;
	white-space: nowrap;
	color: #fff;
	font-family: var(--pd-nav-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	background-color: var(--pd-prod-tint);
	background-image:
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff),
		linear-gradient(#fff, #fff), linear-gradient(#fff, #fff);
	background-size: 8px 2px, 2px 8px, 8px 2px, 2px 8px, 8px 2px, 2px 8px, 8px 2px, 2px 8px;
	background-position: left top, left top, right top, right top, left bottom, left bottom, right bottom, right bottom;
	background-repeat: no-repeat;
	transition: background-color 0.25s ease;
}

.pd-prod .woocommerce-tabs ul.tabs li a:hover,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li a:hover {
	background-color: rgba(255, 255, 255, 0.16);
	color: #fff;
}

.pd-prod .woocommerce-tabs ul.tabs li.active a,
.pd-prod .woocommerce-tabs ul.tabs li.active a:hover,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li.active a,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li.active a:hover {
	background-color: var(--pd-prod-red);
	background-image: none;
	color: #fff;
}

.pd-prod .woocommerce-Tabs-panel,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel {
	--fs: 16px;
	--lh: 24px;
	width: 100%;
	max-width: 698px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 0;
	padding-bottom: 0;
	color: #fff;
	opacity: 0.72;
	font-size: 16px;
	line-height: 24px;
	text-align: center;
}

.pd-prod .woocommerce-Tabs-panel > h2,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel > h2 {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	margin-top: 0;
	margin-bottom: 0;
}

.pd-prod .woocommerce-Tabs-panel p,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel p {
	margin-top: 0;
	margin-bottom: 0;
	font-size: 16px;
	line-height: 24px;
	color: #fff;
}

.pd-prod .woocommerce-Tabs-panel p + p,
.pd-prod .woocommerce-Tabs-panel ul,
.pd-prod .woocommerce-Tabs-panel ol,
.pd-prod .woocommerce-Tabs-panel table,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel p + p,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel ul,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel ol,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel table {
	margin-top: 24px;
}

.pd-prod .woocommerce-Tabs-panel table.shop_attributes,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel table.shop_attributes {
	width: 100%;
	margin-bottom: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	color: #fff;
	text-align: left;
}

.pd-prod .woocommerce-Tabs-panel table.shop_attributes th,
.pd-prod .woocommerce-Tabs-panel table.shop_attributes td,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel table.shop_attributes th,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel table.shop_attributes td {
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 0;
	padding-right: 16px;
	border-top-width: 0;
	border-right-width: 0;
	border-left-width: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	background-color: transparent;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	font-style: normal;
	color: #fff;
}

.pd-prod .woocommerce-Tabs-panel table.shop_attributes th,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel table.shop_attributes th {
	width: 40%;
	opacity: 0.72;
}

.pd-prod .woocommerce-Tabs-panel table.shop_attributes p,
#top #wrap_all .pd-prod .woocommerce-Tabs-panel table.shop_attributes p {
	margin-top: 0;
	margin-bottom: 0;
}

/* ---------- Video ---------- */
.pd-prod .pd-prod-video,
#top #wrap_all .pd-prod .pd-prod-video {
	position: relative;
	width: 100%;
	max-width: 934px;
	aspect-ratio: 934 / 500;
	background-color: var(--pd-prod-panel);
	overflow: hidden;
}

.pd-prod .pd-prod-video__cover,
#top #wrap_all .pd-prod .pd-prod-video__cover {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	cursor: pointer;
}

.pd-prod .pd-prod-video__poster,
#top #wrap_all .pd-prod .pd-prod-video__poster {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	margin-top: 0;
	margin-bottom: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	box-shadow: none;
}

.pd-prod .pd-prod-video__shade,
#top #wrap_all .pd-prod .pd-prod-video__shade {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: var(--pd-prod-bg);
	opacity: 0.4;
	transition: opacity 0.3s ease;
}

.pd-prod .pd-prod-video__cover:hover .pd-prod-video__shade,
#top #wrap_all .pd-prod .pd-prod-video__cover:hover .pd-prod-video__shade {
	opacity: 0.24;
}

.pd-prod .pd-prod-video__play,
#top #wrap_all .pd-prod .pd-prod-video__play {
	position: relative;
	display: block;
	width: 93px;
	height: 64px;
	max-width: 30%;
	transition: transform 0.3s ease;
}

.pd-prod .pd-prod-video__cover:hover .pd-prod-video__play,
#top #wrap_all .pd-prod .pd-prod-video__cover:hover .pd-prod-video__play {
	transform: scale(1.06);
}

.pd-prod .pd-prod-video__embed,
#top #wrap_all .pd-prod .pd-prod-video__embed {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.pd-prod .pd-prod-video__embed iframe,
.pd-prod .pd-prod-video__embed video,
.pd-prod .pd-prod-video__frame iframe,
#top #wrap_all .pd-prod .pd-prod-video__embed iframe,
#top #wrap_all .pd-prod .pd-prod-video__embed video,
#top #wrap_all .pd-prod .pd-prod-video__frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
}

.pd-prod .pd-prod-video__frame,
#top #wrap_all .pd-prod .pd-prod-video__frame {
	width: 100%;
	height: 100%;
}

/* ==========================================================================
   Related products (the pd-shop / pd-woo card, own copy)
   ========================================================================== */
.pd-prod-rel,
#top #wrap_all .pd-prod-rel {
	background-color: var(--pd-prod-panel);
	padding-top: clamp(80px, 9.259vw, 160px);
	padding-bottom: clamp(80px, 9.259vw, 160px);
	padding-left: var(--pd-prod-px);
	padding-right: var(--pd-prod-px);
}

.pd-prod-rel .pd-prod-rel__grid,
#top #wrap_all .pd-prod-rel .pd-prod-rel__grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	column-gap: 12px;
	row-gap: 12px;
	margin-top: 72px;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.pd-prod .pd-woo-card,
#top #wrap_all .pd-prod .pd-woo-card {
	display: flex;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 0;
	padding-left: 0;
	list-style: none;
}

.pd-prod .pd-woo-card__link,
#top #wrap_all .pd-prod .pd-woo-card__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	color: var(--pd-prod-ink);
	transition: color 0.3s ease;
}

.pd-prod .pd-woo-card__media,
#top #wrap_all .pd-prod .pd-woo-card__media {
	display: block;
	aspect-ratio: 1 / 1;
	background-color: var(--pd-prod-bg);
	overflow: hidden;
	transition: background-color 0.3s ease;
}

.pd-prod .pd-woo-card__media img,
#top #wrap_all .pd-prod .pd-woo-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	padding-top: 10%;
	padding-bottom: 10%;
	padding-left: 10%;
	padding-right: 10%;
	margin-top: 0;
	margin-bottom: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	box-shadow: none;
	transition: transform 0.5s ease;
}

.pd-prod .pd-woo-card__link:hover .pd-woo-card__media img,
#top #wrap_all .pd-prod .pd-woo-card__link:hover .pd-woo-card__media img {
	transform: scale(1.04);
}

.pd-prod .pd-woo-card__body,
#top #wrap_all .pd-prod .pd-woo-card__body {
	display: grid;
	grid-template-rows: auto 1fr;
	row-gap: 28px;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	padding-top: 32px;
	padding-bottom: 32px;
	padding-left: 24px;
	padding-right: 24px;
	background-color: var(--pd-prod-bg);
	box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.08);
	transition: background-color 0.3s ease, box-shadow 0.3s ease;
}

.pd-prod .pd-woo-card__name,
#top #wrap_all .pd-prod .pd-woo-card__name {
	--fs: 16px;
	--lh: 22px;
	/* clamped to 2 lines: Chrome drops text-box trim on line-clamp boxes, so this
	   one always uses the metric margins (same numbers as the trim) */
	--pd-fb: 1;
	text-box-trim: none;
	text-box: normal;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	overflow: hidden;
	min-height: calc(var(--lh) + var(--pd-cap) * var(--fs) + var(--pd-fb) * (var(--lh) - var(--pd-cap) * var(--fs)));
	opacity: 0.72;
	overflow-wrap: anywhere;
	transition: opacity 0.25s ease;
}

.pd-prod .pd-woo-card__clamp,
#top #wrap_all .pd-prod .pd-woo-card__clamp {
	display: inline;
}

.pd-prod .pd-woo-card__price,
#top #wrap_all .pd-prod .pd-woo-card__price {
	--fs: 18px;
	--lh: 28px;
	align-self: end;
	font-weight: 600;
}

.pd-prod .pd-woo-card__price del,
#top #wrap_all .pd-prod .pd-woo-card__price del {
	opacity: 0.56;
	font-weight: 400;
	color: inherit;
}

.pd-prod .pd-woo-card__price ins,
#top #wrap_all .pd-prod .pd-woo-card__price ins {
	text-decoration: none;
	background-color: transparent;
	color: inherit;
}

.pd-prod .pd-woo-card__price .woocommerce-Price-amount,
#top #wrap_all .pd-prod .pd-woo-card__price .woocommerce-Price-amount {
	color: inherit;
}

.pd-prod .pd-woo-card__link:hover,
#top #wrap_all .pd-prod .pd-woo-card__link:hover {
	color: var(--pd-prod-bg);
}

.pd-prod .pd-woo-card__link:hover .pd-woo-card__media,
.pd-prod .pd-woo-card__link:hover .pd-woo-card__body,
#top #wrap_all .pd-prod .pd-woo-card__link:hover .pd-woo-card__media,
#top #wrap_all .pd-prod .pd-woo-card__link:hover .pd-woo-card__body {
	background-color: var(--pd-prod-ink);
}

.pd-prod .pd-woo-card__link:hover .pd-woo-card__body,
#top #wrap_all .pd-prod .pd-woo-card__link:hover .pd-woo-card__body {
	box-shadow: inset 0 1px 0 0 rgba(22, 20, 20, 0.08);
}

.pd-prod .pd-woo-card__link:focus-visible,
#top #wrap_all .pd-prod .pd-woo-card__link:focus-visible {
	outline: 2px solid var(--pd-prod-ink);
	outline-offset: 3px;
}

/* ==========================================================================
   Notices (WooCommerce classic)
   ========================================================================== */
.pd-prod .woocommerce-error,
.pd-prod .woocommerce-message,
.pd-prod .woocommerce-info,
#top #wrap_all .pd-prod .woocommerce-error,
#top #wrap_all .pd-prod .woocommerce-message,
#top #wrap_all .pd-prod .woocommerce-info {
	display: block;
	margin-top: 0;
	margin-bottom: 32px;
	margin-left: 0;
	margin-right: 0;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 24px;
	padding-right: 24px;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	list-style: none;
	background-color: var(--pd-prod-panel);
	background-image: none;
	box-shadow: inset 2px 0 0 0 var(--pd-prod-red);
	color: #fff;
	font-family: var(--pd-nav-font);
	font-size: 16px;
	line-height: 24px;
}

.pd-prod .woocommerce-error::before,
.pd-prod .woocommerce-message::before,
.pd-prod .woocommerce-info::before,
#top #wrap_all .pd-prod .woocommerce-error::before,
#top #wrap_all .pd-prod .woocommerce-message::before,
#top #wrap_all .pd-prod .woocommerce-info::before {
	content: none;
}

.pd-prod .woocommerce-message a,
.pd-prod .woocommerce-error a,
.pd-prod .woocommerce-info a,
#top #wrap_all .pd-prod .woocommerce-message a,
#top #wrap_all .pd-prod .woocommerce-error a,
#top #wrap_all .pd-prod .woocommerce-info a {
	color: #fff;
	text-decoration: underline;
}

.pd-prod .woocommerce-message .button,
.pd-prod .woocommerce-info .button,
.pd-prod .woocommerce-error .button,
#top #wrap_all .pd-prod .woocommerce-message .button,
#top #wrap_all .pd-prod .woocommerce-info .button,
#top #wrap_all .pd-prod .woocommerce-error .button {
	float: right;
	margin-top: 0;
	margin-bottom: 0;
	margin-left: 16px;
	padding-top: 0;
	padding-bottom: 0;
	padding-left: 0;
	padding-right: 0;
	border-top-width: 0;
	border-right-width: 0;
	border-bottom-width: 0;
	border-left-width: 0;
	border-radius: 0;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
	color: #fff;
	font-family: var(--pd-nav-font);
	font-size: 14px;
	line-height: 24px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: underline;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {

	.pd-prod .pd-prod-cols,
#top #wrap_all .pd-prod .pd-prod-cols {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 48px;
	}

	.pd-prod .pd-prod-cols__split,
#top #wrap_all .pd-prod .pd-prod-cols__split {
		display: none;
	}

	.pd-prod .pd-prod-cols__media,
#top #wrap_all .pd-prod .pd-prod-cols__media {
		padding-right: 0;
		padding-bottom: 0;
	}

	.pd-prod .pd-prod-cols__summary,
#top #wrap_all .pd-prod .pd-prod-cols__summary {
		padding-top: 0;
		padding-left: 0;
		padding-bottom: 48px;
	}

	.pd-prod .pd-prod-summary,
#top #wrap_all .pd-prod .pd-prod-summary {
		max-width: none;
		row-gap: 64px;
	}

	.pd-prod-rel .pd-prod-rel__grid,
#top #wrap_all .pd-prod-rel .pd-prod-rel__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		margin-top: 48px;
	}
}

@media (max-width: 989px) {

	.pd-prod,
#top #wrap_all .pd-prod {
		--pd-prod-px: 16px;
	}

	.pd-prod-strip .pd-prod-strip__in,
#top #wrap_all .pd-prod-strip .pd-prod-strip__in {
		min-height: 56px;
		padding-top: 16px;
		padding-bottom: 16px;
	}

	.pd-prod .pd-prod-gallery__nav,
#top #wrap_all .pd-prod .pd-prod-gallery__nav {
		width: 40px;
		height: 40px;
		margin-top: -20px;
		padding-top: 8px;
		padding-bottom: 8px;
		padding-left: 8px;
		padding-right: 8px;
	}

	.pd-prod .pd-prod-gallery__nav--prev,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--prev {
		left: 12px;
	}

	.pd-prod .pd-prod-gallery__nav--next,
#top #wrap_all .pd-prod .pd-prod-gallery__nav--next {
		right: 12px;
	}
}

@media (max-width: 767px) {

	.pd-prod-strip .pd-prod-strip__crumbs,
#top #wrap_all .pd-prod-strip .pd-prod-strip__crumbs {
		display: none;
	}

	.pd-prod .pd-prod-summary,
#top #wrap_all .pd-prod .pd-prod-summary {
		row-gap: 48px;
	}

	.pd-prod .pd-prod-summary__main,
#top #wrap_all .pd-prod .pd-prod-summary__main {
		row-gap: 40px;
	}

	.pd-prod .woocommerce-tabs ul.tabs li a,
#top #wrap_all .pd-prod .woocommerce-tabs ul.tabs li a {
		padding-left: 20px;
		padding-right: 20px;
		font-size: 14px;
	}
}

@media (max-width: 600px) {

	.pd-prod-rel .pd-prod-rel__grid,
#top #wrap_all .pd-prod-rel .pd-prod-rel__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pd-prod .pd-woo-card__body,
#top #wrap_all .pd-prod .pd-woo-card__body {
		row-gap: 16px;
		padding-top: 20px;
		padding-bottom: 20px;
		padding-left: 16px;
		padding-right: 16px;
	}

	.pd-prod .pd-prod-buy,
.pd-prod .woocommerce-variation-add-to-cart,
#top #wrap_all .pd-prod .pd-prod-buy,
#top #wrap_all .pd-prod .woocommerce-variation-add-to-cart {
		column-gap: 12px;
	}

	.pd-prod .single_add_to_cart_button,
#top #wrap_all .pd-prod .single_add_to_cart_button {
		padding-left: 24px;
		padding-right: 24px;
	}
}
