/* ==========================================================================
   Horeca Product Intelligence Showroom — single product experience
   Scoped to single-product pages only. Enqueued on is_product().
   ========================================================================== */

.hhm-pdx-page {
	--pdx-ink: #0a0a0c;
	--pdx-ink-2: #101013;
	--pdx-graphite: #151517;
	--pdx-graphite-2: #1b1b1f;
	--pdx-ivory: #f5f1e8;
	--pdx-ivory-2: #ece6d8;
	--pdx-text: #f2efe7;
	--pdx-text-2: rgba(242, 239, 231, .64);
	--pdx-text-3: rgba(242, 239, 231, .4);
	--pdx-line: rgba(242, 239, 231, .09);
	--pdx-line-2: rgba(242, 239, 231, .17);
	--pdx-gold: #d8b36c;
	--pdx-gold-soft: rgba(216, 179, 108, .14);
	--pdx-wa: #25d366;
	--pdx-ok: #8fc7a4;
	--pdx-danger: #de9494;
	--pdx-radius: 18px;
	--pdx-radius-s: 11px;
	--hhm-container: 1320px;

	background: var(--pdx-ink);
	color: var(--pdx-text);
}

.hhm-pdx-page .hhm-icon { width: 18px; height: 18px; flex: none; }

.hhm-pdx a { color: inherit; }

/* --------------------------------------------------------------------------
   0. Cascade defense
   main.css paints every heading in the shell with the light-page ink color
   (`!important`), and the parent theme chips breadcrumb links and reflows the
   WooCommerce quantity box. The showroom is dark, so win those wars here with
   higher specificity instead of letting global rules bleed in.
   -------------------------------------------------------------------------- */

@media screen {
	body.hhm-site .hhm-site-shell .hhm-pdx h1,
	body.hhm-site .hhm-site-shell .hhm-pdx h2,
	body.hhm-site .hhm-site-shell .hhm-pdx h3,
	body.hhm-site .hhm-site-shell .hhm-pdx h4 { color: var(--pdx-text) !important; }
}

.hhm-pdx .hhm-id__crumbs .woocommerce-breadcrumb {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--pdx-text-3) !important;
	font-size: .78rem !important;
}
.hhm-pdx .hhm-id__crumbs .woocommerce-breadcrumb a {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--pdx-text-2) !important;
}
.hhm-pdx .hhm-id__crumbs .woocommerce-breadcrumb a:hover { color: var(--pdx-text) !important; }

.hhm-pdx .hhm-pit .quantity {
	display: inline-flex !important;
	float: none !important;
	width: auto !important;
	height: 52px !important;
	margin: 0 !important;
	padding: 0 !important;
}
.hhm-pdx .hhm-pit .quantity .qty {
	width: 54px !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--pdx-text) !important;
}

/* --------------------------------------------------------------------------
   1. Showroom band
   -------------------------------------------------------------------------- */

.hhm-show__band {
	position: relative;
	padding: 26px 0 64px;
	background:
		radial-gradient(1100px 480px at 78% -12%, rgba(216, 179, 108, .055), transparent 62%),
		linear-gradient(rgba(242, 239, 231, .026) 1px, transparent 1px),
		linear-gradient(90deg, rgba(242, 239, 231, .026) 1px, transparent 1px),
		var(--pdx-ink);
	background-size: auto, 46px 46px, 46px 46px, auto;
	border-bottom: 1px solid var(--pdx-line);
}

/* Identity */

.hhm-id__crumbs { margin-bottom: 26px; }
.hhm-id__crumbs .woocommerce-breadcrumb {
	margin: 0;
	color: var(--pdx-text-3);
	font-size: .78rem;
	letter-spacing: .01em;
}
.hhm-id__crumbs .woocommerce-breadcrumb a { color: var(--pdx-text-2); text-decoration: none; }
.hhm-id__crumbs .woocommerce-breadcrumb a:hover { color: var(--pdx-text); }

.hhm-id__grid {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
}

.hhm-id__line {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 22px;
	margin-bottom: 14px;
}

.hhm-pdp-brand-mark { display: inline-flex; align-items: center; text-decoration: none; }
.hhm-pdp-brand-mark.has-logo img {
	display: block;
	max-width: 148px;
	max-height: 34px;
	width: auto;
	height: auto;
	object-fit: contain;
	padding: 4px 10px;
	border-radius: 8px;
	background: radial-gradient(closest-side, rgba(245, 241, 232, .94), rgba(245, 241, 232, 0));
}
.hhm-pdp-brand-mark.has-text span {
	color: var(--pdx-gold);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.hhm-id__context {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--pdx-text-2);
	font-size: .76rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-decoration: none;
	text-transform: uppercase;
}
.hhm-id__context .hhm-icon { width: 16px; height: 16px; color: var(--pdx-gold); }
.hhm-id__context:hover { color: var(--pdx-text); }

.hhm-id__title {
	margin: 0;
	max-width: 780px;
	color: var(--pdx-text);
	font-size: clamp(1.55rem, 2.5vw, 2.25rem);
	font-weight: 650;
	letter-spacing: -.015em;
	line-height: 1.18;
}

.hhm-id__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin-top: 14px;
}

.hhm-id__sku {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 7px 13px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	color: var(--pdx-text-2);
	font-size: .78rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: .04em;
}
.hhm-id__sku .hhm-icon { width: 14px; height: 14px; color: var(--pdx-text-3); }
.hhm-id__sku[hidden] { display: none; }

.hhm-id__cats { color: var(--pdx-text-3); font-size: .78rem; }
.hhm-id__cats a { color: var(--pdx-text-2); text-decoration: none; }
.hhm-id__cats a:hover { color: var(--pdx-text); text-decoration: underline; }

.hhm-id__tools { display: flex; flex: none; gap: 10px; }

.hhm-id__tool {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 16px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--pdx-text-2);
	font: inherit;
	font-size: .8rem;
	font-weight: 550;
	transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.hhm-id__tool:hover { border-color: rgba(242, 239, 231, .38); color: var(--pdx-text); }
.hhm-id__tool.is-done { border-color: var(--pdx-gold); color: var(--pdx-gold); }
.hhm-id__tool .hhm-icon { width: 15px; height: 15px; }

/* Showroom grid: media | cockpit */

.hhm-show__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.32fr) minmax(0, 1fr);
	gap: 40px;
	margin-top: 34px;
	align-items: start;
}

/* Media stage */

.hhm-stage__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: stretch;
}

/* DOM keeps canvas first (mobile order); desktop shows the rail on the left.
   Single-image products render no rail, so the 78px track only exists with it. */
@media (min-width: 761px) {
	.hhm-stage__main.has-rail { grid-template-columns: 78px minmax(0, 1fr); }
	.hhm-stage__rail { order: -1; }
}

.hhm-stage__canvas {
	position: relative;
	margin: 0;
	height: clamp(500px, 44vw, 620px);
	overflow: hidden;
	border: 1px solid rgba(10, 10, 12, .2);
	border-radius: var(--pdx-radius);
	background:
		radial-gradient(120% 90% at 50% 0%, #faf6ec 0%, var(--pdx-ivory) 55%, var(--pdx-ivory-2) 100%);
	outline: none;
}
.hhm-stage__canvas:focus-visible { outline: 2px solid var(--pdx-gold); outline-offset: 3px; }

.hhm-stage__slides { position: absolute; inset: 0; }

.hhm-stage__slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(28px, 4.5vw, 52px);
	opacity: 0;
	transform: scale(.985);
	transition: opacity .26s ease, transform .26s ease;
}
.hhm-stage__slide.is-active { opacity: 1; transform: none; }

.hhm-stage__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 26px 34px rgba(24, 20, 12, .16));
	user-select: none;
	-webkit-user-drag: none;
}

.hhm-stage__canvas.is-zoomed { cursor: zoom-out; }
.hhm-stage__canvas.is-zoomed .hhm-stage__img {
	max-width: none;
	max-height: none;
	width: auto;
	height: 168%;
	transition: none;
}

.hhm-stage__counter {
	position: absolute;
	top: 18px;
	left: 18px;
	padding: 7px 13px;
	border-radius: 999px;
	background: rgba(12, 12, 14, .82);
	color: var(--pdx-ivory);
	font-size: .72rem;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	letter-spacing: .06em;
	backdrop-filter: blur(6px);
}

.hhm-stage__controls {
	position: absolute;
	top: 18px;
	right: 18px;
	display: flex;
	gap: 8px;
}

.hhm-stage__control {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 999px;
	background: rgba(12, 12, 14, .82);
	color: var(--pdx-ivory);
	transition: background .18s ease, transform .18s ease;
	backdrop-filter: blur(6px);
}
.hhm-stage__control:hover { background: rgba(12, 12, 14, .95); transform: translateY(-1px); }
.hhm-stage__control[aria-pressed="true"] { background: var(--pdx-gold); color: #17130a; }
.hhm-stage__control .hhm-icon { width: 17px; height: 17px; }

.hhm-stage__arrow {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: rgba(12, 12, 14, .78);
	color: var(--pdx-ivory);
	transform: translateY(-50%);
	transition: background .18s ease, opacity .18s ease;
	opacity: 0;
	backdrop-filter: blur(6px);
}
.hhm-stage__canvas:hover .hhm-stage__arrow,
.hhm-stage__canvas:focus-within .hhm-stage__arrow { opacity: 1; }
.hhm-stage__arrow:hover { background: rgba(12, 12, 14, .94); }
.hhm-stage__arrow .hhm-icon { width: 18px; height: 18px; }
.hhm-stage__arrow--prev { left: 16px; }
.hhm-stage__arrow--prev .hhm-icon { transform: rotate(180deg); }
.hhm-stage__arrow--next { right: 16px; }

.hhm-stage__video {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	color: #17130a;
	font: inherit;
}
.hhm-stage__video .hhm-icon {
	width: 74px;
	height: 74px;
	padding: 18px;
	border-radius: 999px;
	background: rgba(12, 12, 14, .85);
	color: var(--pdx-ivory);
	transition: transform .2s ease, background .2s ease;
}
.hhm-stage__video:hover .hhm-icon { transform: scale(1.06); background: #17130a; }
.hhm-stage__video span { font-size: .85rem; font-weight: 600; letter-spacing: .04em; }

.hhm-stage__video-frame { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Thumbnail rail */

.hhm-stage__rail {
	display: flex;
	flex-direction: column;
	gap: 10px;
	max-height: clamp(500px, 44vw, 620px);
	overflow-y: auto;
	padding: 2px;
	scrollbar-width: thin;
	scrollbar-color: rgba(242, 239, 231, .2) transparent;
}

.hhm-stage__thumb {
	position: relative;
	flex: none;
	width: 74px;
	height: 74px;
	padding: 7px;
	overflow: hidden;
	border: 1px solid var(--pdx-line-2);
	border-radius: var(--pdx-radius-s);
	background: var(--pdx-ivory);
	transition: border-color .18s ease, box-shadow .18s ease;
}
.hhm-stage__thumb:hover { border-color: rgba(242, 239, 231, .45); }
.hhm-stage__thumb.is-active {
	border-color: var(--pdx-gold);
	box-shadow: 0 0 0 1px var(--pdx-gold);
}
.hhm-stage__thumb-img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.hhm-stage__thumb-video {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #17130a;
}
.hhm-stage__thumb-video .hhm-icon { width: 24px; height: 24px; }

/* Purchase cockpit */

.hhm-pit { position: sticky; top: 26px; }

.hhm-pit__inner {
	border: 1px solid var(--pdx-line);
	border-radius: var(--pdx-radius);
	background: linear-gradient(180deg, var(--pdx-graphite-2), var(--pdx-graphite));
	padding: 26px 28px 24px;
}

.hhm-pit__state {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.hhm-pit__stock {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: .8rem;
	font-weight: 600;
	letter-spacing: .02em;
}
.hhm-pit__stock i {
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: currentColor;
}
.hhm-pit__stock--in { color: var(--pdx-ok); }
.hhm-pit__stock--out { color: var(--pdx-danger); }
.hhm-pit__stock--backorder { color: var(--pdx-gold); }
.hhm-pit__stock--request { color: var(--pdx-text-2); }

.hhm-pit__offer {
	padding: 6px 12px;
	border: 1px solid rgba(216, 179, 108, .5);
	border-radius: 999px;
	color: var(--pdx-gold);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.hhm-pit__price {
	margin-top: 20px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--pdx-line);
}

.hhm-pit__price-label {
	display: block;
	margin-bottom: 6px;
	color: var(--pdx-text-3);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.hhm-pit__price-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 14px;
}

.hhm-pit__price-current {
	color: var(--pdx-text);
	font-size: 1.72rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: -.01em;
	line-height: 1.1;
}
.hhm-pit__price-current .woocommerce-Price-amount { white-space: nowrap; }
.hhm-pit__price-current.is-request { font-size: 1.32rem; font-weight: 650; }
.hhm-pit__price-current del,
.hhm-pit__price-current ins { text-decoration: none; }
.hhm-pit__price-current del {
	margin-right: 10px;
	color: var(--pdx-text-3);
	font-size: .62em;
	font-weight: 500;
	text-decoration: line-through;
}

.hhm-pit__price-regular {
	color: var(--pdx-text-3);
	font-size: 1rem;
	font-weight: 500;
	text-decoration: line-through;
}

.hhm-pit__price-save {
	display: inline-block;
	margin-top: 8px;
	color: var(--pdx-gold);
	font-size: .84rem;
	font-weight: 600;
}

.hhm-pit__price-note {
	margin: 8px 0 0;
	color: var(--pdx-text-2);
	font-size: .85rem;
	line-height: 1.55;
}

.hhm-pit__form { padding: 22px 0 4px; }

/* Native WooCommerce forms inside the cockpit */

.hhm-pit form.cart,
.hhm-pit .hhm-pit__native .cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
	margin: 0;
}
.hhm-pit form.cart::before,
.hhm-pit form.cart::after { content: none; }

.hhm-pit .quantity {
	display: inline-flex;
	align-items: center;
	flex: none;
	height: 52px;
	border: 1px solid var(--pdx-line-2);
	border-radius: var(--pdx-radius-s);
	overflow: hidden;
}
.hhm-pit .quantity .qty {
	width: 54px;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--pdx-text);
	font: inherit;
	font-size: .95rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}
.hhm-pit .quantity .qty::-webkit-outer-spin-button,
.hhm-pit .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.hhm-pit .quantity .qty:focus { outline: none; }

.hhm-pit-qty-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 100%;
	border: 0;
	background: transparent;
	color: var(--pdx-text-2);
	transition: color .15s ease, background .15s ease;
}
.hhm-pit-qty-btn:hover { color: var(--pdx-text); background: rgba(242, 239, 231, .06); }
.hhm-pit-qty-btn .hhm-icon { width: 14px; height: 14px; }

.hhm-pit .single_add_to_cart_button,
.hhm-pit__primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex: 1 1 auto;
	min-height: 52px;
	padding: 0 22px;
	border: 0;
	border-radius: var(--pdx-radius-s);
	background: var(--pdx-ivory);
	color: #17130a;
	font: inherit;
	font-size: .92rem;
	font-weight: 680;
	letter-spacing: .015em;
	text-decoration: none;
	transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.hhm-pit .single_add_to_cart_button:hover,
.hhm-pit__primary:hover {
	background: #fffdf6;
	transform: translateY(-1px);
	box-shadow: 0 10px 26px rgba(0, 0, 0, .32);
}
.hhm-pit .single_add_to_cart_button.disabled,
.hhm-pit .single_add_to_cart_button:disabled {
	cursor: not-allowed;
	opacity: .55;
	transform: none;
	box-shadow: none;
}
.hhm-pit .single_add_to_cart_button .hhm-icon,
.hhm-pit__primary .hhm-icon { width: 17px; height: 17px; }

.hhm-pit__primary { width: 100%; }
.hhm-pit__primary--quote { background: var(--pdx-gold); }
.hhm-pit__primary--quote:hover { background: #e6c887; }

.hhm-pit__qty-row {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

/* Variations */

.hhm-pit .variations_form { display: block; }
.hhm-pit table.variations,
.hhm-pit table.variations tbody,
.hhm-pit table.variations tr,
.hhm-pit table.variations th,
.hhm-pit table.variations td { display: block; width: 100%; padding: 0; border: 0; }
.hhm-pit table.variations tr { margin-bottom: 16px; }
.hhm-pit table.variations th label {
	display: block;
	margin-bottom: 8px;
	color: var(--pdx-text-3);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.hhm-pit table.variations td select {
	width: 100%;
	height: 48px;
	padding: 0 42px 0 15px;
	border: 1px solid var(--pdx-line-2);
	border-radius: var(--pdx-radius-s);
	background: var(--pdx-graphite-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f2efe7' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 14px center / 15px;
	color: var(--pdx-text);
	font: inherit;
	font-size: .9rem;
	appearance: none;
}
.hhm-pit table.variations td select:focus { border-color: var(--pdx-gold); outline: none; }
.hhm-pit .reset_variations {
	display: inline-block;
	margin-top: 2px;
	color: var(--pdx-text-3);
	font-size: .76rem;
	text-decoration: underline;
}
.hhm-pit .reset_variations:hover { color: var(--pdx-text); }

.hhm-pit .woocommerce-variation { margin-bottom: 14px; }
.hhm-pit .woocommerce-variation-price .price {
	color: var(--pdx-text);
	font-size: 1.3rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}
.hhm-pit .woocommerce-variation-price del {
	margin-right: 8px;
	color: var(--pdx-text-3);
	font-size: .85rem;
}
.hhm-pit .woocommerce-variation-availability { margin-top: 6px; color: var(--pdx-text-2); font-size: .82rem; }
.hhm-pit .woocommerce-variation-availability .stock { margin: 0; }
.hhm-pit .single_variation_wrap .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
}
.hhm-pit .single_variation_wrap .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 auto; }
.hhm-pit .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button { opacity: .55; cursor: not-allowed; }

/* Variation pill selectors (JS-built, proxy native selects) */

.hhm-pit table.variations tr.has-pills td select {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.hhm-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hhm-pill {
	padding: 11px 17px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--pdx-text-2);
	font: inherit;
	font-size: .85rem;
	font-weight: 550;
	transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.hhm-pill:hover:not(:disabled) { border-color: rgba(242, 239, 231, .42); color: var(--pdx-text); }
.hhm-pill[aria-pressed="true"] {
	border-color: var(--pdx-ivory);
	background: var(--pdx-ivory);
	color: #17130a;
	font-weight: 650;
}
.hhm-pill:disabled {
	cursor: not-allowed;
	opacity: .34;
	text-decoration: line-through;
}

.hhm-pit-var-error {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 14px;
	color: var(--pdx-danger);
	font-size: .82rem;
	font-weight: 550;
}

/* Secondary actions */

.hhm-pit__secondary {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	padding: 18px 0 0;
}
.hhm-pit__secondary:has(> :only-child) { grid-template-columns: 1fr; }

.hhm-pit__ghost,
.hhm-pit__whatsapp {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 48px;
	padding: 0 16px;
	border-radius: var(--pdx-radius-s);
	font-size: .85rem;
	font-weight: 620;
	text-decoration: none;
	transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease;
}
.hhm-pit__ghost {
	border: 1px solid var(--pdx-line-2);
	background: transparent;
	color: var(--pdx-text);
}
.hhm-pit__ghost:hover { border-color: rgba(242, 239, 231, .4); background: rgba(242, 239, 231, .05); }
.hhm-pit__ghost .hhm-icon { width: 16px; height: 16px; color: var(--pdx-gold); }

.hhm-pit__whatsapp {
	border: 1px solid var(--pdx-wa);
	background: var(--pdx-wa);
	color: #06301a;
}
.hhm-pit__whatsapp:hover { background: #2fe077; border-color: #2fe077; transform: translateY(-1px); }
.hhm-pit__whatsapp .hhm-icon { width: 16px; height: 16px; }

/* Assurance */

.hhm-pit__assurance {
	margin: 22px 0 0;
	padding: 18px 0 0;
	border-top: 1px solid var(--pdx-line);
	list-style: none;
}
.hhm-pit__assurance li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 9px 0;
}
.hhm-pit__assurance .hhm-icon {
	width: 18px;
	height: 18px;
	margin-top: 2px;
	color: var(--pdx-gold);
}
.hhm-pit__assurance p { margin: 0; }
.hhm-pit__assurance strong {
	display: block;
	color: var(--pdx-text);
	font-size: .84rem;
	font-weight: 620;
}
.hhm-pit__assurance span { color: var(--pdx-text-3); font-size: .76rem; line-height: 1.5; }

/* --------------------------------------------------------------------------
   2. Sticky product navigator
   -------------------------------------------------------------------------- */

.hhm-pnav {
	position: sticky;
	top: 0;
	z-index: 70;
	border-bottom: 1px solid var(--pdx-line);
	background: rgba(10, 10, 12, .88);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

.hhm-pnav__inner { position: relative; }

.hhm-pnav__list {
	display: flex;
	gap: 4px;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	list-style: none;
	scrollbar-width: none;
}
.hhm-pnav__list::-webkit-scrollbar { display: none; }

.hhm-pnav__link {
	position: relative;
	display: block;
	padding: 15px 14px 14px;
	color: var(--pdx-text-3);
	font-size: .8rem;
	font-weight: 580;
	letter-spacing: .02em;
	text-decoration: none;
	white-space: nowrap;
	transition: color .16s ease;
}
.hhm-pnav__link:hover { color: var(--pdx-text); }
.hhm-pnav__link.is-active { color: var(--pdx-text); }
.hhm-pnav__link::after {
	content: "";
	position: absolute;
	right: 14px;
	bottom: -1px;
	left: 14px;
	height: 2px;
	border-radius: 2px;
	background: var(--pdx-gold);
	opacity: 0;
	transition: opacity .18s ease;
}
.hhm-pnav__link.is-active::after { opacity: 1; }

.hhm-pnav__progress {
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 100%;
	height: 1px;
	background: rgba(216, 179, 108, .35);
	transform: scaleX(0);
	transform-origin: left;
}

/* --------------------------------------------------------------------------
   Shared section furniture
   -------------------------------------------------------------------------- */

.hhm-pdx__body { padding-bottom: 90px; }
.hhm-pdx__body > section { margin-top: clamp(52px, 6vw, 84px); }

.hhm-kicker {
	margin: 0 0 10px;
	color: var(--pdx-gold);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.hhm-h2 {
	margin: 0;
	color: var(--pdx-text);
	font-size: clamp(1.25rem, 1.9vw, 1.6rem);
	font-weight: 650;
	letter-spacing: -.01em;
	line-height: 1.25;
}

.hhm-section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.hhm-print {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	height: 44px;
	padding: 0 18px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--pdx-text-2);
	font: inherit;
	font-size: .8rem;
	font-weight: 580;
	transition: border-color .16s ease, color .16s ease;
}
.hhm-print:hover { border-color: rgba(242, 239, 231, .4); color: var(--pdx-text); }
.hhm-print .hhm-icon { width: 15px; height: 15px; }

/* --------------------------------------------------------------------------
   3. At-a-glance intelligence
   -------------------------------------------------------------------------- */

.hhm-facts {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 26px;
	align-items: center;
	padding: 26px 0;
	border-bottom: 1px solid var(--pdx-line);
}

.hhm-facts__title { display: block; color: var(--pdx-text); font-size: 1.05rem; font-weight: 650; }
.hhm-facts__heading .hhm-kicker { margin-bottom: 4px; }

.hhm-facts__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}

.hhm-facts__fact {
	display: flex;
	flex-direction: column;
	gap: 3px;
	padding: 4px 18px;
	border-left: 1px solid var(--pdx-line);
}
.hhm-facts__fact:first-child { border-left: 0; padding-left: 0; }
.hhm-facts__icon { color: var(--pdx-gold); margin-bottom: 6px; }
.hhm-facts__icon .hhm-icon { width: 19px; height: 19px; }
.hhm-facts__label {
	color: var(--pdx-text-3);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.hhm-facts__value {
	color: var(--pdx-text);
	font-size: .92rem;
	font-weight: 620;
	font-variant-numeric: tabular-nums;
	line-height: 1.35;
	word-break: break-word;
}

/* --------------------------------------------------------------------------
   4. Overview
   -------------------------------------------------------------------------- */

.hhm-ovw__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
	gap: clamp(36px, 5vw, 64px);
	align-items: start;
}

.hhm-ovw__lede {
	margin-bottom: 18px;
	color: rgba(242, 239, 231, .88);
	font-size: 1.08rem;
	line-height: 1.7;
}
.hhm-ovw__lede p { margin: 0 0 12px; }

.hhm-ovw__content {
	max-width: 70ch;
	color: var(--pdx-text-2);
	font-size: .95rem;
	line-height: 1.85;
}
.hhm-ovw__content p { margin: 0 0 14px; }
.hhm-ovw__content h3,
.hhm-ovw__content h4 { margin: 22px 0 10px; color: var(--pdx-text); font-weight: 620; }
.hhm-ovw__content ul,
.hhm-ovw__content ol { margin: 0 0 14px; padding-left: 20px; }
.hhm-ovw__content li { margin-bottom: 6px; }
.hhm-ovw__content a { color: var(--pdx-gold); }
.hhm-ovw__content img { max-width: 100%; height: auto; border-radius: var(--pdx-radius-s); }
.hhm-ovw__content table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.hhm-ovw__content th,
.hhm-ovw__content td { padding: 9px 12px; border-bottom: 1px solid var(--pdx-line); text-align: left; }

.hhm-ovw__block { padding: 20px 0; border-top: 1px solid var(--pdx-line); }
.hhm-ovw__block:first-child { padding-top: 4px; border-top: 0; }

.hhm-ovw__block-title {
	margin: 0 0 14px;
	color: var(--pdx-text);
	font-size: .82rem;
	font-weight: 680;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hhm-ovw__facts { margin: 0; padding: 0; list-style: none; }
.hhm-ovw__facts li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid var(--pdx-line);
	font-size: .84rem;
}
.hhm-ovw__facts li:last-child { border-bottom: 0; }
.hhm-ovw__facts .hhm-icon { width: 16px; height: 16px; color: var(--pdx-gold); }
.hhm-ovw__facts span { color: var(--pdx-text-3); }
.hhm-ovw__facts strong {
	margin-left: auto;
	color: var(--pdx-text);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

.hhm-ovw__block--cta p { margin: 0 0 16px; color: var(--pdx-text-2); font-size: .88rem; line-height: 1.65; }

.hhm-ovw__cta-row { display: flex; gap: 10px; }

.hhm-ovw__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	flex: 1 1 auto;
	height: 48px;
	padding: 0 18px;
	border: 1px solid var(--pdx-line-2);
	border-radius: var(--pdx-radius-s);
	color: var(--pdx-text);
	font-size: .85rem;
	font-weight: 620;
	text-decoration: none;
	transition: border-color .16s ease, background .16s ease;
}
.hhm-ovw__cta:hover { border-color: rgba(242, 239, 231, .4); background: rgba(242, 239, 231, .05); }
.hhm-ovw__cta .hhm-icon { width: 16px; height: 16px; color: var(--pdx-gold); }

.hhm-ovw__cta--wa { flex: 0 0 48px; padding: 0; border-color: rgba(37, 211, 102, .55); }
.hhm-ovw__cta--wa .hhm-icon { color: var(--pdx-wa); width: 18px; height: 18px; }
.hhm-ovw__cta--wa:hover { border-color: var(--pdx-wa); background: rgba(37, 211, 102, .08); }

/* --------------------------------------------------------------------------
   5. Technical specification center
   -------------------------------------------------------------------------- */

.hhm-spec__groups {
	display: grid;
	gap: 34px;
}

.hhm-spec__group-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px;
}
.hhm-spec__group-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 10px;
	color: var(--pdx-gold);
}
.hhm-spec__group-icon .hhm-icon { width: 18px; height: 18px; }
.hhm-spec__group-head h3 {
	margin: 0;
	color: var(--pdx-text);
	font-size: 1rem;
	font-weight: 650;
}
.hhm-spec__count {
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(242, 239, 231, .07);
	color: var(--pdx-text-3);
	font-size: .7rem;
	font-weight: 650;
	font-variant-numeric: tabular-nums;
}

.hhm-spec__matrix {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 44px;
	margin: 0;
}

.hhm-spec__row[hidden] { display: none; }
.hhm-spec__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 2px;
	border-bottom: 1px solid var(--pdx-line);
}
.hhm-spec__row dt {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--pdx-text-3);
	font-size: .84rem;
}
.hhm-spec__row-icon { display: inline-flex; color: var(--pdx-text-3); }
.hhm-spec__row-icon .hhm-icon { width: 15px; height: 15px; }
.hhm-spec__row dd {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: var(--pdx-text);
	font-size: .88rem;
	font-weight: 580;
	font-variant-numeric: tabular-nums;
	text-align: right;
	word-break: break-word;
}

.hhm-spec__copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 28px;
	height: 28px;
	border: 1px solid var(--pdx-line);
	border-radius: 8px;
	background: transparent;
	color: var(--pdx-text-3);
	opacity: 0;
	transition: opacity .16s ease, color .16s ease, border-color .16s ease;
}
.hhm-spec__row:hover .hhm-spec__copy,
.hhm-spec__copy:focus-visible { opacity: 1; }
.hhm-spec__copy:hover { color: var(--pdx-text); border-color: var(--pdx-line-2); }
.hhm-spec__copy.is-done { color: var(--pdx-gold); border-color: var(--pdx-gold); opacity: 1; }
.hhm-spec__copy .hhm-icon { width: 13px; height: 13px; }
@media (hover: none) { .hhm-spec__copy { opacity: .6; } }

.hhm-spec__toggle {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	padding: 10px 18px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--pdx-text-2);
	font: inherit;
	font-size: .8rem;
	font-weight: 580;
	transition: border-color .16s ease, color .16s ease;
}
.hhm-spec__toggle:hover { border-color: rgba(242, 239, 231, .4); color: var(--pdx-text); }
.hhm-spec__toggle .hhm-icon { width: 14px; height: 14px; transition: transform .18s ease; }
.hhm-spec__toggle[aria-expanded="true"] .hhm-icon { transform: rotate(180deg); }

/* --------------------------------------------------------------------------
   6. Media and product details
   -------------------------------------------------------------------------- */

.hhm-mediad__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 240px;
	gap: 14px;
}

.hhm-mediad__tile {
	position: relative;
	margin: 0;
	overflow: hidden;
	border: 1px solid rgba(10, 10, 12, .18);
	border-radius: var(--pdx-radius-s);
	background: var(--pdx-ivory);
}
.hhm-mediad__tile img {
	width: 100%;
	height: 100%;
	padding: 20px;
	object-fit: contain;
	transition: transform .5s ease;
}
.hhm-mediad__tile:hover img { transform: scale(1.035); }
.hhm-mediad__tile--feature { grid-row: span 2; grid-column: span 2; }
.hhm-mediad__grid--1 { grid-template-columns: 1fr; grid-auto-rows: minmax(300px, 52vh); }
.hhm-mediad__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hhm-mediad__grid--2 .hhm-mediad__tile--feature { grid-column: span 1; }
.hhm-mediad__grid--3 .hhm-mediad__tile--feature { grid-column: span 1; }

.hhm-mediad__tile--video {
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--pdx-graphite-2);
	border-color: var(--pdx-line);
}
.hhm-mediad__video {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	color: var(--pdx-text);
	font: inherit;
}
.hhm-mediad__video .hhm-icon {
	width: 64px;
	height: 64px;
	padding: 16px;
	border: 1px solid rgba(216, 179, 108, .5);
	border-radius: 999px;
	color: var(--pdx-gold);
	transition: transform .2s ease, background .2s ease;
}
.hhm-mediad__video:hover .hhm-icon { transform: scale(1.07); background: var(--pdx-gold-soft); }
.hhm-mediad__video span { color: var(--pdx-text-2); font-size: .84rem; font-weight: 580; }

.hhm-mediad__tile iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* --------------------------------------------------------------------------
   7. Documents
   -------------------------------------------------------------------------- */

.hhm-docs__list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--pdx-line); }

.hhm-docs__doc {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 18px 2px;
	border-bottom: 1px solid var(--pdx-line);
}

.hhm-docs__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 46px;
	height: 46px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 12px;
	color: var(--pdx-gold);
}
.hhm-docs__icon .hhm-icon { width: 20px; height: 20px; }

.hhm-docs__info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hhm-docs__info strong {
	color: var(--pdx-text);
	font-size: .92rem;
	font-weight: 620;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.hhm-docs__info small {
	color: var(--pdx-text-3);
	font-size: .74rem;
	font-weight: 650;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.hhm-docs__actions { display: flex; flex: none; gap: 10px; margin-left: auto; }

.hhm-docs__action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	height: 42px;
	padding: 0 16px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	color: var(--pdx-text-2);
	font-size: .8rem;
	font-weight: 580;
	text-decoration: none;
	transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.hhm-docs__action:hover { border-color: rgba(242, 239, 231, .4); color: var(--pdx-text); background: rgba(242, 239, 231, .05); }
.hhm-docs__action .hhm-icon { width: 15px; height: 15px; }

/* --------------------------------------------------------------------------
   8. Delivery, support & professional purchasing
   -------------------------------------------------------------------------- */

.hhm-supp__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--pdx-line);
	border-bottom: 1px solid var(--pdx-line);
	list-style: none;
}

.hhm-supp__item {
	display: flex;
	flex-direction: column;
	padding: 26px 24px;
	border-left: 1px solid var(--pdx-line);
}
.hhm-supp__item:first-child { border-left: 0; padding-left: 2px; }

.hhm-supp__icon { color: var(--pdx-gold); margin-bottom: 16px; }
.hhm-supp__icon .hhm-icon { width: 22px; height: 22px; }
.hhm-supp__icon--wa { color: var(--pdx-wa); }

.hhm-supp__item h3 {
	margin: 0 0 8px;
	color: var(--pdx-text);
	font-size: .95rem;
	font-weight: 650;
}
.hhm-supp__item p { margin: 0 0 18px; color: var(--pdx-text-2); font-size: .83rem; line-height: 1.6; }

.hhm-supp__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: auto;
	color: var(--pdx-gold);
	font-size: .8rem;
	font-weight: 620;
	text-decoration: none;
}
.hhm-supp__link:hover { color: var(--pdx-gold-2, #e6c887); text-decoration: underline; }
.hhm-supp__link .hhm-icon { width: 14px; height: 14px; }

/* --------------------------------------------------------------------------
   9. Brand studio
   -------------------------------------------------------------------------- */

.hhm-bstudio__band {
	padding: clamp(34px, 4vw, 52px) clamp(24px, 3vw, 44px);
	border: 1px solid var(--pdx-line);
	border-radius: var(--pdx-radius);
	background:
		radial-gradient(700px 300px at 12% 0%, rgba(216, 179, 108, .06), transparent 60%),
		linear-gradient(180deg, var(--pdx-graphite-2), var(--pdx-ink-2));
}

.hhm-bstudio__grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.3fr);
	gap: clamp(30px, 4vw, 54px);
	align-items: center;
}

.hhm-bstudio__mark-wrap { display: flex; align-items: center; min-height: 74px; margin: 4px 0 12px; }
.hhm-bstudio__mark.has-logo img {
	max-width: 220px;
	max-height: 64px;
	width: auto;
	height: auto;
	object-fit: contain;
	padding: 8px 14px;
	border-radius: 10px;
	background: radial-gradient(closest-side, rgba(245, 241, 232, .95), rgba(245, 241, 232, 0));
}
.hhm-bstudio__mark.has-text span {
	color: var(--pdx-text);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .04em;
}

.hhm-bstudio__desc { margin: 14px 0 0; max-width: 46ch; color: var(--pdx-text-2); font-size: .9rem; line-height: 1.7; }

.hhm-bstudio__link {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-top: 20px;
	color: var(--pdx-gold);
	font-size: .86rem;
	font-weight: 640;
	text-decoration: none;
}
.hhm-bstudio__link:hover { text-decoration: underline; }
.hhm-bstudio__link .hhm-icon { width: 15px; height: 15px; }

.hhm-bstudio__products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

/* --------------------------------------------------------------------------
   10. Discovery rails + compact product cards
   -------------------------------------------------------------------------- */

.hhm-disc__group + .hhm-disc__group { margin-top: 44px; }

.hhm-disc__rail {
	display: grid;
	grid-auto-columns: 236px;
	grid-auto-flow: column;
	gap: 14px;
	overflow-x: auto;
	padding: 2px 2px 14px;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: rgba(242, 239, 231, .2) transparent;
}
.hhm-disc__rail > .hhm-pcard { scroll-snap-align: start; }

.hhm-pcard {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--pdx-line);
	border-radius: 14px;
	background: var(--pdx-graphite);
	transition: border-color .18s ease, transform .18s ease;
}
.hhm-pcard:hover { border-color: var(--pdx-line-2); transform: translateY(-2px); }

.hhm-pcard__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / .92;
	padding: 18px;
	background: var(--pdx-ivory);
}
.hhm-pcard__media img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hhm-pcard__sale {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(12, 12, 14, .85);
	color: var(--pdx-gold);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.hhm-pcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 5px;
	padding: 14px 16px 15px;
}

.hhm-pcard__brand {
	color: var(--pdx-gold);
	font-size: .64rem;
	font-weight: 700;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.hhm-pcard__title {
	margin: 0;
	font-size: .86rem;
	font-weight: 580;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.hhm-pcard__title a { color: var(--pdx-text); text-decoration: none; }
.hhm-pcard__title a:hover { color: #fff; }

.hhm-pcard__sku {
	color: var(--pdx-text-3);
	font-size: .68rem;
	font-variant-numeric: tabular-nums;
	letter-spacing: .05em;
}

.hhm-pcard__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
	padding-top: 10px;
}

.hhm-pcard__price {
	color: var(--pdx-text);
	font-size: .95rem;
	font-weight: 680;
	font-variant-numeric: tabular-nums;
}
.hhm-pcard__price del {
	margin-right: 6px;
	color: var(--pdx-text-3);
	font-size: .78em;
	font-weight: 500;
}
.hhm-pcard__price.is-request { font-size: .76rem; font-weight: 600; color: var(--pdx-text-2); }

.hhm-pcard__action {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 38px;
	height: 38px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 10px;
	background: transparent;
	color: var(--pdx-text);
	transition: background .16s ease, color .16s ease, border-color .16s ease;
}
.hhm-pcard__action:hover { background: var(--pdx-ivory); border-color: var(--pdx-ivory); color: #17130a; }
.hhm-pcard__action .hhm-icon { width: 15px; height: 15px; }
.hhm-pcard__action.added { background: var(--pdx-ok); border-color: var(--pdx-ok); color: #0d2817; }

/* --------------------------------------------------------------------------
   11. Quote drawer
   -------------------------------------------------------------------------- */

.hhm-qdraw { position: fixed; inset: 0; z-index: 110; }
.hhm-qdraw[hidden] { display: none; }

.hhm-qdraw__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(5, 5, 7, .62);
	opacity: 0;
	transition: opacity .26s ease;
	backdrop-filter: blur(3px);
}
.hhm-qdraw.is-open .hhm-qdraw__backdrop { opacity: 1; }

.hhm-qdraw__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: min(440px, 100%);
	height: 100%;
	padding: 28px;
	overflow-y: auto;
	border-left: 1px solid var(--pdx-line);
	background: var(--pdx-graphite);
	transform: translateX(102%);
	transition: transform .3s cubic-bezier(.32, .72, .24, 1);
	outline: none;
}
.hhm-qdraw.is-open .hhm-qdraw__panel { transform: none; }

.hhm-qdraw__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding-bottom: 22px;
	border-bottom: 1px solid var(--pdx-line);
}
.hhm-qdraw__head-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(216, 179, 108, .45);
	border-radius: 12px;
	color: var(--pdx-gold);
}
.hhm-qdraw__head-icon .hhm-icon { width: 20px; height: 20px; }
.hhm-qdraw__head h2 { margin: 0; color: var(--pdx-text); font-size: 1.15rem; font-weight: 660; }
.hhm-qdraw__head .hhm-kicker { margin-bottom: 4px; }

.hhm-qdraw__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 40px;
	height: 40px;
	margin-left: auto;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--pdx-text-2);
	transition: color .16s ease, border-color .16s ease;
}
.hhm-qdraw__close:hover { color: var(--pdx-text); border-color: rgba(242, 239, 231, .4); }
.hhm-qdraw__close .hhm-icon { width: 15px; height: 15px; }

.hhm-qdraw__product {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px 0;
	border-bottom: 1px solid var(--pdx-line);
}
.hhm-qdraw__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 58px;
	height: 58px;
	padding: 6px;
	border-radius: 10px;
	background: var(--pdx-ivory);
	overflow: hidden;
}
.hhm-qdraw__thumb img { width: 100%; height: 100%; object-fit: contain; }
.hhm-qdraw__pinfo { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.hhm-qdraw__pinfo strong { color: var(--pdx-text); font-size: .9rem; font-weight: 620; line-height: 1.4; }
.hhm-qdraw__pinfo small { color: var(--pdx-text-3); font-size: .74rem; font-variant-numeric: tabular-nums; }

.hhm-qdraw__chips {
	margin: 0;
	padding: 6px 0 14px;
	list-style: none;
}
.hhm-qdraw__chips li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 11px 0;
	border-bottom: 1px solid var(--pdx-line);
	font-size: .86rem;
}
.hhm-qdraw__chips li:last-child { border-bottom: 0; }
.hhm-qdraw__chips li[hidden] { display: none; }
.hhm-qdraw__chips span { color: var(--pdx-text-3); }
.hhm-qdraw__chips strong { color: var(--pdx-text); font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; }

.hhm-qdraw__note { display: block; margin-top: 8px; }
.hhm-qdraw__note span {
	display: block;
	margin-bottom: 8px;
	color: var(--pdx-text-3);
	font-size: .74rem;
	font-weight: 620;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.hhm-qdraw__note textarea {
	width: 100%;
	padding: 13px 15px;
	border: 1px solid var(--pdx-line-2);
	border-radius: var(--pdx-radius-s);
	background: var(--pdx-graphite-2);
	color: var(--pdx-text);
	font: inherit;
	font-size: .88rem;
	line-height: 1.55;
	resize: vertical;
}
.hhm-qdraw__note textarea:focus { border-color: var(--pdx-gold); outline: none; }
.hhm-qdraw__note textarea::placeholder { color: var(--pdx-text-3); }

.hhm-qdraw__actions { display: grid; gap: 10px; margin-top: 22px; }

.hhm-qdraw__send {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	height: 52px;
	border-radius: var(--pdx-radius-s);
	background: var(--pdx-ivory);
	color: #17130a;
	font-size: .9rem;
	font-weight: 680;
	text-decoration: none;
	transition: background .18s ease, transform .18s ease;
}
.hhm-qdraw__send:hover { background: #fffdf6; transform: translateY(-1px); }
.hhm-qdraw__send .hhm-icon { width: 16px; height: 16px; }

.hhm-qdraw__wa {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	height: 48px;
	border: 1px solid rgba(37, 211, 102, .55);
	border-radius: var(--pdx-radius-s);
	color: var(--pdx-wa);
	font-size: .84rem;
	font-weight: 620;
	text-decoration: none;
	transition: border-color .16s ease, background .16s ease;
}
.hhm-qdraw__wa:hover { border-color: var(--pdx-wa); background: rgba(37, 211, 102, .08); }
.hhm-qdraw__wa .hhm-icon { width: 16px; height: 16px; }

.hhm-qdraw__note-foot {
	margin: 18px 0 0;
	color: var(--pdx-text-3);
	font-size: .76rem;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   12. Fullscreen gallery modal
   -------------------------------------------------------------------------- */

.hhm-gmodal { position: fixed; inset: 0; z-index: 120; }
.hhm-gmodal[hidden] { display: none; }

.hhm-gmodal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(6, 6, 8, .95);
	opacity: 0;
	transition: opacity .24s ease;
}
.hhm-gmodal.is-open .hhm-gmodal__backdrop { opacity: 1; }

.hhm-gmodal__shell {
	position: relative;
	display: grid;
	grid-template-rows: auto minmax(0, 1fr) auto;
	height: 100%;
	padding: 18px clamp(16px, 3vw, 40px) 20px;
	opacity: 0;
	transform: scale(.985);
	transition: opacity .24s ease, transform .24s ease;
	outline: none;
}
.hhm-gmodal.is-open .hhm-gmodal__shell { opacity: 1; transform: none; }

.hhm-gmodal__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 12px;
}

.hhm-gmodal__counter {
	color: var(--pdx-text-2);
	font-size: .8rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	letter-spacing: .06em;
}

.hhm-gmodal__tools { display: flex; gap: 10px; }

.hhm-gmodal__tool {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: transparent;
	color: var(--pdx-text);
	transition: border-color .16s ease, background .16s ease;
}
.hhm-gmodal__tool:hover { border-color: rgba(242, 239, 231, .42); background: rgba(242, 239, 231, .06); }
.hhm-gmodal__tool[aria-pressed="true"] { background: var(--pdx-gold); border-color: var(--pdx-gold); color: #17130a; }
.hhm-gmodal__tool .hhm-icon { width: 17px; height: 17px; }

.hhm-gmodal__stage {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	min-height: 0;
	overflow: hidden;
}

.hhm-gmodal__img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform .22s ease;
}
.hhm-gmodal__stage.is-zoomed { cursor: zoom-out; overflow: hidden; }
.hhm-gmodal__stage.is-zoomed .hhm-gmodal__img { transform: scale(1.85); transition: none; }

.hhm-gmodal__video { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.hhm-gmodal__video[hidden] { display: none; }
.hhm-gmodal__video iframe { width: min(960px, 92vw); aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--pdx-radius-s); }

.hhm-gmodal__arrow {
	position: absolute;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 999px;
	background: rgba(16, 16, 19, .7);
	color: var(--pdx-text);
	transform: translateY(-50%);
	transition: border-color .16s ease, background .16s ease;
}
.hhm-gmodal__arrow:hover { border-color: rgba(242, 239, 231, .42); background: rgba(24, 24, 28, .9); }
.hhm-gmodal__arrow .hhm-icon { width: 19px; height: 19px; }
.hhm-gmodal__arrow--prev { left: clamp(8px, 2vw, 26px); }
.hhm-gmodal__arrow--prev .hhm-icon { transform: rotate(180deg); }
.hhm-gmodal__arrow--next { right: clamp(8px, 2vw, 26px); }

.hhm-gmodal__thumbs {
	display: flex;
	gap: 10px;
	justify-content: center;
	padding-top: 16px;
	overflow-x: auto;
	scrollbar-width: none;
}
.hhm-gmodal__thumbs::-webkit-scrollbar { display: none; }

.hhm-gmodal__thumb {
	flex: none;
	width: 62px;
	height: 62px;
	padding: 6px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 10px;
	background: var(--pdx-ivory);
	transition: border-color .16s ease, box-shadow .16s ease;
}
.hhm-gmodal__thumb.is-active { border-color: var(--pdx-gold); box-shadow: 0 0 0 1px var(--pdx-gold); }
.hhm-gmodal__thumb img { width: 100%; height: 100%; object-fit: contain; }
.hhm-gmodal__thumb-video { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; color: #17130a; }
.hhm-gmodal__thumb-video .hhm-icon { width: 22px; height: 22px; }

/* --------------------------------------------------------------------------
   13. Mobile purchase bar
   -------------------------------------------------------------------------- */

.hhm-mbar {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 90;
	display: none;
	align-items: center;
	gap: 12px;
	padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid var(--pdx-line);
	background: rgba(14, 14, 17, .94);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	transform: translateY(105%);
	transition: transform .26s ease;
}
.hhm-mbar.is-visible { transform: none; }

.hhm-mbar__price { display: flex; flex-direction: column; min-width: 0; }
.hhm-mbar__price small {
	color: var(--pdx-text-3);
	font-size: .62rem;
	font-weight: 650;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.hhm-mbar__price strong {
	color: var(--pdx-text);
	font-size: .98rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.hhm-mbar__price strong del { color: var(--pdx-text-3); font-size: .78em; font-weight: 500; margin-right: 5px; }

.hhm-mbar__actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }

.hhm-mbar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--pdx-line-2);
	border-radius: 11px;
	color: var(--pdx-text);
}
.hhm-mbar__icon .hhm-icon { width: 17px; height: 17px; }
.hhm-mbar__icon--wa { border-color: rgba(37, 211, 102, .6); color: var(--pdx-wa); }

.hhm-mbar__primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 11px;
	background: var(--pdx-ivory);
	color: #17130a;
	font: inherit;
	font-size: .82rem;
	font-weight: 680;
	letter-spacing: .01em;
	text-decoration: none;
	white-space: nowrap;
}

/* --------------------------------------------------------------------------
   Responsive composition
   -------------------------------------------------------------------------- */

@media (max-width: 1180px) {
	.hhm-show__grid { grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr); gap: 28px; }
	.hhm-stage__canvas { height: clamp(440px, 46vw, 560px); }
	.hhm-supp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hhm-supp__item:nth-child(3) { border-left: 0; padding-left: 2px; }
	.hhm-supp__item { border-top: 1px solid var(--pdx-line); }
	.hhm-supp__item:nth-child(-n+2) { border-top: 0; }
	.hhm-bstudio__products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hhm-bstudio__products .hhm-pcard:nth-child(3) { display: none; }
}

@media (max-width: 1023px) {
	.hhm-pdx-page { padding-bottom: 82px; }
	.hhm-mbar { display: flex; }
	.single-product .ht-ctc { bottom: 96px !important; }

	.hhm-show__grid { grid-template-columns: 1fr; gap: 26px; }
	.hhm-pit { position: static; }
	.hhm-facts { grid-template-columns: 1fr; gap: 16px; }
	.hhm-facts__fact:first-child { padding-left: 18px; border-left: 1px solid var(--pdx-line); }
	.hhm-ovw__grid { grid-template-columns: 1fr; gap: 34px; }
	.hhm-bstudio__grid { grid-template-columns: 1fr; gap: 26px; }
	.hhm-bstudio__products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hhm-bstudio__products .hhm-pcard:nth-child(3) { display: block; }
}

@media (max-width: 760px) {
	/* Compact identity block: the gallery must be reachable without a full
	   screen of scrolling — the number-one mobile complaint. */
	.hhm-show__band { padding: 10px 0 28px; }
	.hhm-pdx .hhm-id, .hhm-id { display: block; }
	.hhm-id__crumbs {
		margin-bottom: 10px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		max-width: 100%;
	}
	.hhm-id__crumbs .woocommerce-breadcrumb {
		font-size: .72rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.hhm-id__line { margin-bottom: 6px; }
	.hhm-id__meta { margin-top: 8px; }
	.hhm-id__grid { flex-direction: column; align-items: flex-start; gap: 10px; }
	.hhm-id__line { gap: 8px; }
	.hhm-id__context { font-size: .68rem; letter-spacing: .08em; }
	.hhm-id__context .hhm-icon { width: 13px; height: 13px; }
	.hhm-id__title { font-size: 1.45rem; line-height: 1.22; letter-spacing: -.02em; margin: 4px 0 2px; }
	.hhm-id__title::after { display: none; }
	.hhm-id__meta { font-size: .72rem; gap: 8px; }
	.hhm-id__tools { order: 2; margin-top: 2px; }
	.hhm-id__tool span { display: none; }
	.hhm-id__tool { width: 36px; height: 36px; padding: 0; justify-content: center; }
	.hhm-id__tool .hhm-icon { width: 15px; height: 15px; }

	.hhm-stage__main { grid-template-columns: 1fr; }
	/* Safari-proof square canvas: the slides are absolutely positioned, so a
	   failed aspect-ratio collapses the whole gallery to 0px. The ::before
	   spacer guarantees the square in every engine. */
	.hhm-stage__canvas { height: auto; min-height: 200px; }
	.hhm-stage__canvas::before { content: ""; display: block; padding-top: 100%; }
	/* First slide must be visible even before (or without) product.js. */
	.hhm-stage__slide:first-child { opacity: 1; transform: none; }
	.hhm-stage__slide { padding: 22px; }
	.hhm-stage__rail {
		flex-direction: row;
		max-height: none;
		overflow-x: auto;
		overflow-y: hidden;
		padding-bottom: 4px;
		scroll-snap-type: x mandatory;
	}
	.hhm-stage__thumb { width: 62px; height: 62px; scroll-snap-align: start; }
	.hhm-stage__arrow { display: none; }

	.hhm-pit__inner { padding: 22px 20px; }
	.hhm-pit__secondary { grid-template-columns: 1fr; }
	.hhm-pit__price-current { font-size: 1.5rem; }

	.hhm-facts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 0; }
	.hhm-facts__fact { padding: 4px 14px; }
	.hhm-facts__fact:nth-child(odd) { border-left: 0; padding-left: 0; }

	.hhm-spec__matrix { grid-template-columns: 1fr; }
	.hhm-section-head { flex-direction: column; align-items: flex-start; gap: 14px; }

	.hhm-mediad__grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 170px; }
	.hhm-mediad__tile--feature { grid-column: span 2; }
	.hhm-mediad__grid--1 { grid-template-columns: 1fr; grid-auto-rows: 240px; }

	.hhm-supp__grid { grid-template-columns: 1fr; }
	.hhm-supp__item { border-left: 0; border-top: 1px solid var(--pdx-line); padding: 20px 2px; }
	.hhm-supp__item:first-child { border-top: 0; }

	.hhm-docs__doc { flex-wrap: wrap; gap: 12px; }
	.hhm-docs__actions { margin-left: 0; width: 100%; }
	.hhm-docs__action { flex: 1 1 auto; justify-content: center; }

	.hhm-qdraw__panel {
		top: auto;
		bottom: 0;
		width: 100%;
		max-height: 88dvh;
		border-left: 0;
		border-top: 1px solid var(--pdx-line);
		border-radius: 20px 20px 0 0;
		transform: translateY(104%);
	}

	.hhm-gmodal__thumbs { justify-content: flex-start; }
	.hhm-gmodal__arrow { width: 42px; height: 42px; }

	.hhm-pdx__body > section { margin-top: 46px; }
	.hhm-pdx__body { padding-bottom: 40px; }
}

/* --------------------------------------------------------------------------
   Motion & focus
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.hhm-pdx-page *,
	.hhm-pdx-page *::before,
	.hhm-pdx-page *::after {
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

.hhm-pdx :where(a, button, select, textarea, input, [tabindex]):focus-visible {
	outline: 2px solid var(--pdx-gold);
	outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Print product sheet
   -------------------------------------------------------------------------- */

.hhm-print-only { display: none; }

@media print {
	body.single-product {
		background: #fff !important;
		color: #141416 !important;
	}
	body.single-product header,
	body.single-product footer,
	.hhm-pnav,
	.hhm-pit__form,
	.hhm-pit__secondary,
	.hhm-pit__assurance,
	.hhm-id__tools,
	.hhm-stage__rail,
	.hhm-stage__controls,
	.hhm-stage__arrow,
	.hhm-stage__counter,
	.hhm-mediad,
	.hhm-supp,
	.hhm-disc,
	.hhm-mbar,
	.hhm-qdraw,
	.hhm-gmodal,
	.hhm-print,
	.ht-ctc,
	.hhm-spec__toggle,
	.hhm-spec__copy { display: none !important; }

	.hhm-pdx-page,
	.hhm-pdx { background: #fff !important; color: #141416 !important; }
	.hhm-show__band { background: #fff !important; border: 0 !important; padding: 0 0 18px !important; }
	.hhm-show__grid { display: block; }
	.hhm-id__title,
	.hhm-h2,
	.hhm-kicker,
	.hhm-pit__price-current,
	.hhm-spec__group-head h3,
	.hhm-docs__info strong,
	.hhm-facts__value,
	.hhm-ovw__facts strong { color: #141416 !important; }
	.hhm-pdx .hhm-id__crumbs,
	.hhm-pdx .hhm-id__crumbs .woocommerce-breadcrumb,
	.hhm-pdx .hhm-id__crumbs .woocommerce-breadcrumb a { color: #555 !important; }
	.hhm-kicker { letter-spacing: .12em; }

	.hhm-stage__main { display: block; }
	.hhm-stage__canvas {
		height: 320px !important;
		border: 1px solid #ddd !important;
		border-radius: 8px !important;
		background: #fff !important;
	}
	.hhm-stage__slide { display: none !important; }
	.hhm-stage__slide.is-active { display: flex !important; opacity: 1 !important; transform: none !important; }

	.hhm-pit { position: static !important; margin-top: 20px; }
	.hhm-pit__inner { border: 0 !important; background: #fff !important; padding: 0 !important; }
	.hhm-pit__state { display: none !important; }
	.hhm-pit__price { border-bottom: 1px solid #ddd !important; }

	.hhm-facts { border: 1px solid #ddd !important; border-radius: 8px; padding: 14px 18px !important; }
	.hhm-facts__fact { border-color: #ddd !important; }
	.hhm-facts__label,
	.hhm-id__sku,
	.hhm-pit__price-label,
	.hhm-spec__row dt,
	.hhm-ovw__facts span,
	.hhm-docs__info small,
	.hhm-ovw__content,
	.hhm-ovw__lede { color: #444 !important; }
	.hhm-facts__icon,
	.hhm-spec__group-icon,
	.hhm-docs__icon { color: #8a6b2f !important; border-color: #ccc !important; }

	.hhm-spec__row { border-color: #e3e3e3 !important; }
	.hhm-spec__row dd { color: #141416 !important; }
	.hhm-spec__row.is-extra { display: flex !important; }
	.hhm-spec__matrix { grid-template-columns: 1fr 1fr !important; }

	.hhm-docs__list { border-color: #ddd !important; }
	.hhm-docs__doc { border-color: #e3e3e3 !important; }
	.hhm-docs__actions { display: none !important; }

	.hhm-bstudio__band { border: 1px solid #ddd !important; background: #fff !important; }
	.hhm-bstudio__desc { color: #444 !important; }

	.hhm-pdx__body > section { margin-top: 28px !important; page-break-inside: avoid; }
	.hhm-ovw__rail,
	.hhm-ovw__block--cta { display: none !important; }

	.hhm-print-only {
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		padding-bottom: 14px;
		margin-bottom: 18px;
		border-bottom: 2px solid #141416;
		color: #141416;
	}
	.hhm-print-only strong { font-size: 1.05rem; letter-spacing: .12em; }
	.hhm-print-only span { font-size: .8rem; color: #555; }
}
