/*
 * Product page variation 2, "Round Spot" (round 4, ?pv=2 off production,
 * parts/product-sheet/v2/*). Loaded after home-b.css and product-sheet.css; every rule is
 * scoped to body.hdc-pdp--v2.
 *
 * Modern and airy: a light cool grey ground with white cards floating on it, very round
 * corners (cards 24 to 28 px, photo frames 16 to 20 px), pill buttons, round controls, no
 * shadows. Thin black line icons, each over one soft yellow spot. Yellow is the Call pill,
 * the spots, the stars and a highlighter under the reviewers' key words; never yellow text.
 * Archivo condensed for headings and figures. Breakpoints 40rem, 48rem, 64rem, 80rem.
 * Layout rules are not nested.
 */

@layer tokens {
	body.hdc-pdp--v2 {
		--v2-ground: #eef1f5;
		--v2-card: #fff;
		--v2-frame: #f4f6f9;
		--v2-hair: #e2e6eb;
		--v2-soft: #e6eaef;
		--v2-spot: #ffdb5c;
		--v2-mark: #ffe48a;
		/* 5.0:1 on the ground, 5.8:1 on white. */
		--v2-mute: #5b6571;
		--v2-ok: #1b7a3a;
		--v2-wait: #c27c0e;
		--v2-gone: #b42318;
		--v2-backdrop: rgb(22 25 29 / 0.72);
		--v2-fade: #000;
		--v2-r-card: 1.5rem;
		--v2-r-inner: 1rem;
		--v2-r-small: 0.75rem;
		--v2-pad: 1.25rem;
		--v2-space: 3.25rem;
		--v2-jump: 0rem;
	}

	@media (min-width: 48rem) {
		body.hdc-pdp--v2 {
			--v2-r-card: 1.75rem;
			--v2-r-inner: 1.25rem;
			--v2-pad: 2rem;
			--v2-space: 4.5rem;
		}
	}

	@media (min-width: 64rem) {
		body.hdc-pdp--v2 {
			--v2-pad: 2.5rem;
			--v2-space: 5.5rem;
			--v2-jump: 4.25rem;
		}
	}
}

@layer components {
	/* ---------------------------------------------------------------- Ground */
	.hdc-pdp--v2 .hdc-pv2 {
		padding-bottom: var(--v2-space);
		background: var(--v2-ground);
		color: var(--body);
	}

	.hdc-pdp--v2 .hdc-pv2-wrap {
		max-width: calc(88rem + 2 * var(--gutter));
	}

	/* ---------------------------------------------------------------- Icons */
	.hdc-pdp--v2 .hdc-pv2-ico {
		flex: none;
		width: 1.25em;
		height: 1.25em;
		overflow: visible;
		fill: none;
		stroke: currentColor;
		stroke-width: 2;
		stroke-linecap: round;
		stroke-linejoin: round;
	}

	.hdc-pdp--v2 .hdc-pv2-ico--spot {
		width: 2.25rem;
		height: 2.25rem;
		color: var(--ink);
		stroke-width: 1.5;
	}

	.hdc-pdp--v2 .hdc-pv2-ico__line * {
		vector-effect: non-scaling-stroke;
	}

	.hdc-pdp--v2 .hdc-pv2-ico__spot {
		fill: var(--v2-spot);
		stroke: none;
	}

	/*
	 * Links. WordPress's global styles (unlayered, so they beat this layer) underline every
	 * link through --link-line and --link-hover-line. Buttons, cards, tiles and pills switch
	 * both off; plain text links keep the line (or show it on hover).
	 */
	.hdc-pdp--v2 .hdc-pv2 a {
		--link-line: none;
		--link-hover-line: none;
		text-decoration: none;
	}

	.hdc-pdp--v2 .hdc-pv2 .hdc-pv2-crumbs__list a,
	.hdc-pdp--v2 .hdc-pv2 a.hdc-pv2-head__bit,
	.hdc-pdp--v2 .hdc-pv2 a.hdc-pv2-quote__src {
		--link-hover-line: underline;
	}

	.hdc-pdp--v2 .hdc-pv2 a.hdc-pv2-avail__lead,
	.hdc-pdp--v2 .hdc-pv2 a.hdc-pv2-specs__ask,
	.hdc-pdp--v2 .hdc-pv2 a.hdc-pv2-warranty__phone,
	.hdc-pdp--v2 .hdc-pv2 .hdc-pv2-faq__a a {
		--link-line: underline;
		--link-hover-line: underline;
		text-decoration: underline;
		text-underline-offset: 0.18em;
	}

	/* ---------------------------------------------------------------- Shared type, cards, pills */
	.hdc-pdp--v2 .hdc-pv2-sec {
		padding-top: var(--v2-space);
		scroll-margin-top: calc(var(--sticky) + var(--v2-jump) - var(--v2-space) + 1.25rem);
	}

	.hdc-pdp--v2 .hdc-pv2-h2 {
		margin: 0 0 1.25rem;
		color: var(--ink);
		font-size: clamp(1.875rem, 1.4rem + 1.6vw, 2.75rem);
		font-stretch: 75%;
		font-weight: 800;
		letter-spacing: -0.005em;
		line-height: 1;
	}

	.hdc-pdp--v2 .hdc-pv2-sec__note {
		margin: -0.5rem 0 1.25rem;
		color: var(--v2-mute);
		font-size: 0.9375rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-h3 {
		margin: 0;
		color: var(--ink);
		font-size: 1.25rem;
		font-stretch: 75%;
		font-weight: 800;
		line-height: 1.15;
	}

	.hdc-pdp--v2 .hdc-pv2-card {
		min-width: 0;
		padding: var(--v2-pad);
		border-radius: var(--v2-r-card);
		background: var(--v2-card);
	}

	.hdc-pdp--v2 .hdc-pv2-pill {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 0.625rem;
		min-height: 3.5rem;
		padding: 0.75rem 1.75rem;
		border: 2px solid var(--ink);
		border-radius: 999px;
		background: transparent;
		color: var(--ink);
		font: inherit;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		cursor: pointer;
		transition: background-color 0.15s, border-color 0.15s, color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-pill[hidden] {
		display: none;
	}

	.hdc-pdp--v2 .hdc-pv2-pill .hdc-pv2-ico {
		width: 1.25rem;
		height: 1.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-pill--line:hover {
		background: var(--ink);
		color: var(--white);
	}

	.hdc-pdp--v2 .hdc-pv2-pill--soft {
		min-height: 3rem;
		padding-inline: 1.5rem;
		border-color: var(--v2-soft);
		background: var(--v2-ground);
	}

	.hdc-pdp--v2 .hdc-pv2-pill--soft:hover {
		border-color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-pill:focus-visible {
		outline: var(--focus-ring);
		outline-offset: 3px;
	}

	/* Availability: a small round dot by state, the words, the lead time. */
	.hdc-pdp--v2 .hdc-pv2-avail {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.25rem 0.75rem;
		margin: 1rem 0 0;
		color: var(--v2-mute);
		font-size: 1rem;
		line-height: 1.35;
	}

	.hdc-pdp--v2 .hdc-pv2-avail--small {
		display: inline-flex;
		gap: 0.5rem;
		margin: 0;
		font-size: 0.8125rem;
	}

	.hdc-pdp--v2 .hdc-pv2-avail__dot {
		flex: none;
		width: 0.625rem;
		height: 0.625rem;
		margin-right: -0.25rem;
		border-radius: 50%;
		background: var(--v2-ok);
	}

	.hdc-pdp--v2 .hdc-pv2-avail--small .hdc-pv2-avail__dot {
		margin-right: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-avail__dot--preorder,
	.hdc-pdp--v2 .hdc-pv2-avail__dot--backorder,
	.hdc-pdp--v2 .hdc-pv2-avail__dot--build_to_order {
		background: var(--v2-wait);
	}

	.hdc-pdp--v2 .hdc-pv2-avail__dot--discontinued,
	.hdc-pdp--v2 .hdc-pv2-avail__dot--out_of_stock {
		background: var(--v2-gone);
	}

	.hdc-pdp--v2 .hdc-pv2-avail__state {
		color: var(--ink);
		font-weight: 700;
	}

	.hdc-pdp--v2 a.hdc-pv2-avail__lead {
		color: var(--ink);
		font-weight: 700;
		text-decoration: underline;
	}

	/* ---------------------------------------------------------------- Breadcrumb */
	.hdc-pdp--v2 .hdc-pv2-crumbs__list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem 0;
		margin: 0;
		padding: 1rem 0 0;
		list-style: none;
		color: var(--v2-mute);
		font-size: 0.875rem;
	}

	.hdc-pdp--v2 .hdc-pv2-crumbs__list a {
		color: var(--v2-mute);
		text-decoration: none;
	}

	.hdc-pdp--v2 .hdc-pv2-crumbs__list a:hover {
		color: var(--ink);
		text-decoration: underline;
	}

	.hdc-pdp--v2 .hdc-pv2-crumbs__item + .hdc-pv2-crumbs__item::before {
		content: "/";
		margin-inline: 0.5rem;
		color: var(--control);
	}

	/* Phones: the last crumb is the h1 just below, so it stays out of the line. */
	.hdc-pdp--v2 .hdc-pv2-crumbs__item--here {
		display: none;
	}

	.hdc-pdp--v2 .hdc-pv2-crumbs__item [aria-current] {
		color: var(--ink);
		font-weight: 600;
	}

	/* ---------------------------------------------------------------- First screen */
	.hdc-pdp--v2 .hdc-pv2-top__grid {
		display: grid;
		gap: 1.5rem;
		margin-top: 1rem;
	}

	/* Phones: gallery, head and buy, then the promises (the left wrapper steps aside). */
	.hdc-pdp--v2 .hdc-pv2-top__left {
		display: contents;
	}

	.hdc-pdp--v2 .hdc-pv2-top__media,
	.hdc-pdp--v2 .hdc-pv2-top__info,
	.hdc-pdp--v2 .hdc-pv2-top__more {
		min-width: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-top__media {
		order: 1;
	}

	.hdc-pdp--v2 .hdc-pv2-top__info {
		order: 2;
	}

	.hdc-pdp--v2 .hdc-pv2-top__more {
		order: 3;
		padding-top: 0.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-head__kicker {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.25rem 0;
		margin: 0;
		color: var(--v2-mute);
		font-size: 0.9375rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 a.hdc-pv2-head__bit {
		color: var(--v2-mute);
		text-decoration: none;
	}

	.hdc-pdp--v2 a.hdc-pv2-head__bit:hover {
		color: var(--ink);
		text-decoration: underline;
	}

	.hdc-pdp--v2 .hdc-pv2-head__bit + .hdc-pv2-head__bit::before {
		content: "";
		display: inline-block;
		width: 0.3125rem;
		height: 0.3125rem;
		margin: 0 0.625rem;
		border-radius: 50%;
		background: var(--control);
		vertical-align: middle;
	}

	.hdc-pdp--v2 .hdc-pv2-h1 {
		margin: 0.625rem 0 0;
		color: var(--ink);
		font-size: clamp(2.125rem, 1.55rem + 2.1vw, 3.25rem);
		font-stretch: 75%;
		font-weight: 800;
		letter-spacing: -0.005em;
		line-height: 1;
		overflow-wrap: break-word;
		text-wrap: balance;
	}

	/* Key numbers: one white card, hairlines between the figures. */
	.hdc-pdp--v2 .hdc-pv2-nums {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1px;
		margin: 1.5rem 0 0;
		overflow: hidden;
		border-radius: var(--v2-r-card);
		background: var(--v2-hair);
	}

	.hdc-pdp--v2 .hdc-pv2-nums--n1 {
		grid-template-columns: minmax(0, 1fr);
	}

	.hdc-pdp--v2 .hdc-pv2-nums--n3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.hdc-pdp--v2 .hdc-pv2-nums__item {
		display: flex;
		flex-direction: column;
		gap: 0.375rem;
		min-width: 0;
		padding: 1rem 1rem 1.125rem;
		background: var(--v2-card);
	}

	.hdc-pdp--v2 .hdc-pv2-nums__label {
		display: flex;
		flex-direction: column;
		gap: 0.75rem;
		color: var(--v2-mute);
		font-size: 0.8125rem;
		font-weight: 600;
		line-height: 1.25;
	}

	.hdc-pdp--v2 .hdc-pv2-nums__icon {
		width: 2rem;
		height: 2rem;
	}

	.hdc-pdp--v2 .hdc-pv2-nums__value {
		margin: 0;
		color: var(--ink);
		font-size: 1.625rem;
		font-stretch: 75%;
		font-variant-numeric: tabular-nums;
		font-weight: 800;
		line-height: 1.05;
		overflow-wrap: break-word;
	}

	.hdc-pdp--v2 .hdc-pv2-nums__note {
		display: block;
		margin-top: 0.25rem;
		color: var(--v2-mute);
		font-size: 0.75rem;
		font-stretch: 100%;
		font-weight: 600;
		line-height: 1.3;
	}

	/* The buy card: price, terms, Call, quote, the person, the rating. */
	.hdc-pdp--v2 .hdc-pv2-buy {
		margin-top: 1rem;
		padding: 1.25rem;
		border-radius: var(--v2-r-card);
		background: var(--v2-card);
	}

	.hdc-pdp--v2 .hdc-pv2-buy__price {
		margin: 0;
		color: var(--ink);
		font-size: 1.625rem;
		font-stretch: 75%;
		font-weight: 800;
		line-height: 1.1;
	}

	.hdc-pdp--v2 .hdc-pv2-buy__terms {
		margin: 0.375rem 0 0;
		color: var(--v2-mute);
		font-size: 0.9375rem;
		line-height: 1.45;
	}

	.hdc-pdp--v2 .hdc-pv2-buy__acts {
		display: grid;
		gap: 0.625rem;
		margin-top: 1.25rem;
	}

	/* Without a number the quote pill is the one filled button. */
	.hdc-pdp--v2 .hdc-pv2-buy__acts--nocall .hdc-pv2-pill--line {
		background: var(--ink);
		color: var(--white);
	}

	.hdc-pdp--v2 .hdc-pv2-buy__acts .hdc-pv2-pill {
		width: 100%;
	}

	/* The Call pill: the tel: link is stretched over the whole pill. */
	.hdc-pdp--v2 .hdc-pv2-call {
		display: flex;
		position: relative;
		align-items: center;
		gap: 0.875rem;
		min-height: 4.5rem;
		padding: 0.5rem 1.75rem 0.5rem 0.5rem;
		border-radius: 999px;
		background: var(--accent);
		color: var(--ink);
		transition: background-color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-call:hover {
		background: var(--accent-strong);
	}

	.hdc-pdp--v2 .hdc-pv2-call:has(.hdc-pv2-call__number:focus-visible) {
		outline: var(--focus-ring);
		outline-offset: 3px;
	}

	.hdc-pdp--v2 .hdc-pv2-call__icon {
		display: inline-flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 3.5rem;
		height: 3.5rem;
		border-radius: 50%;
		background: var(--ink);
		color: var(--accent);
	}

	.hdc-pdp--v2 .hdc-pv2-call__icon .hdc-pv2-ico {
		width: 1.5rem;
		height: 1.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-call__words {
		display: flex;
		flex-direction: column;
		gap: 0.125rem;
		min-width: 0;
		line-height: 1.1;
	}

	.hdc-pdp--v2 .hdc-pv2-call__label {
		font-size: 0.875rem;
		font-weight: 700;
	}

	.hdc-pdp--v2 .hdc-pv2-call__number {
		color: var(--ink);
		font-size: 1.625rem;
		font-stretch: 75%;
		font-variant-numeric: tabular-nums;
		font-weight: 800;
		text-decoration: none;
		white-space: nowrap;
	}

	.hdc-pdp--v2 .hdc-pv2-call__number:hover {
		color: var(--ink);
		text-decoration: none;
	}

	.hdc-pdp--v2 .hdc-pv2-call__number::after {
		content: "";
		position: absolute;
		inset: 0;
		border-radius: 999px;
	}

	.hdc-pdp--v2 .hdc-pv2-call__number:focus-visible {
		outline: none;
	}

	.hdc-pdp--v2 .hdc-pv2-buy__ask {
		margin: 0.75rem 0 0;
		color: var(--v2-mute);
		font-size: 0.875rem;
		font-weight: 600;
		text-align: center;
	}

	/* The parent store rating: two soft tiles, the label under them. */
	.hdc-pdp--v2 .hdc-pv2-rates {
		margin-top: 1.25rem;
		padding-top: 1.25rem;
		border-top: 1px solid var(--v2-hair);
	}

	.hdc-pdp--v2 .hdc-pv2-rates__row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.625rem;
	}

	.hdc-pdp--v2 .hdc-pv2-rate {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.25rem 0.5rem;
		min-width: 0;
		padding: 0.75rem 1rem 0.875rem;
		border-radius: var(--v2-r-inner);
		background: var(--v2-ground);
		color: var(--ink);
		text-decoration: none;
		transition: background-color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-rate:hover {
		background: var(--v2-soft);
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-rate__logo {
		display: inline-flex;
		flex-basis: 100%;
		align-items: center;
		gap: 0.375rem;
		min-height: 1.375rem;
		font-size: 0.875rem;
		font-weight: 700;
	}

	.hdc-pdp--v2 .hdc-pv2-rate__logo .hdc-rv-logo {
		width: 1.125rem;
		height: 1.125rem;
	}

	.hdc-pdp--v2 .hdc-pv2-rate__logo .hdc-rv-logo--full {
		width: auto;
		height: 1.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-rate__num {
		font-size: 1.5rem;
		font-stretch: 75%;
		font-variant-numeric: tabular-nums;
		font-weight: 800;
		line-height: 1;
	}

	.hdc-pdp--v2 .hdc-pv2-rate__stars {
		font-size: 0.9375rem;
	}

	.hdc-pdp--v2 .hdc-pv2-rate__count {
		flex-basis: 100%;
		color: var(--v2-mute);
		font-size: 0.75rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-rates__label {
		margin: 0.625rem 0 0;
		color: var(--v2-mute);
		font-size: 0.75rem;
		font-weight: 600;
		text-align: center;
	}

	/* Four promises on the ground, each under its spot icon. */
	.hdc-pdp--v2 .hdc-pv2-promise {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem 1rem;
		margin: 0;
		padding: 0 0.25rem;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-promise__item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		grid-template-rows: auto 1fr;
		column-gap: 0.75rem;
		align-items: start;
	}

	.hdc-pdp--v2 .hdc-pv2-promise__icon {
		grid-row: span 2;
	}

	.hdc-pdp--v2 .hdc-pv2-promise__title {
		padding-top: 0.125rem;
		color: var(--ink);
		font-size: 0.9375rem;
		font-weight: 700;
		line-height: 1.25;
	}

	.hdc-pdp--v2 .hdc-pv2-promise__text {
		margin-top: 0.125rem;
		color: var(--v2-mute);
		font-size: 0.8125rem;
		line-height: 1.4;
	}

	.hdc-pdp--v2 .hdc-pv2-maker {
		margin: 1.5rem 0 0;
		padding: 1rem 1.25rem;
		border-radius: var(--v2-r-inner);
		background: var(--v2-card);
		color: var(--body);
		font-size: 0.875rem;
		line-height: 1.5;
	}

	/* ---------------------------------------------------------------- Gallery */
	.hdc-pdp--v2 .hdc-pv2-gallery {
		padding: 0.625rem;
		border-radius: var(--v2-r-card);
		background: var(--v2-card);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery--empty {
		border-radius: var(--v2-r-inner);
		background: var(--v2-frame);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__viewport {
		border-radius: var(--v2-r-inner);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__viewport:focus-visible {
		outline: var(--focus-ring);
		outline-offset: 2px;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__track {
		grid-auto-columns: 100%;
		gap: 0.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__slide {
		overflow: hidden;
		border-radius: var(--v2-r-inner);
		background: var(--v2-frame);
	}

	/* The controls: a white capsule over the photo's top right corner. */
	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__controls {
		position: absolute;
		top: 0.625rem;
		right: 0.625rem;
		z-index: 1;
		gap: 0;
		padding: 0.25rem;
		border-radius: 999px;
		background: var(--v2-card);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__step {
		width: 2.75rem;
		height: 2.75rem;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__step:hover {
		background: var(--v2-ground);
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__step[aria-disabled="true"] {
		background: transparent;
		color: var(--control);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__step:focus-visible {
		outline: var(--focus-ring);
		outline-offset: -3px;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__step .hdc-icon {
		width: 1.25rem;
		height: 1.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__count {
		min-width: 3.5rem;
		font-size: 0.875rem;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__bar {
		display: block;
		padding: 0.625rem 0 0;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__thumbs {
		display: flex;
		gap: 0.5rem;
		overflow-x: auto;
		scrollbar-width: none;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__thumbs li {
		flex: none;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__thumb {
		width: 3.5rem;
		height: 3.5rem;
		overflow: hidden;
		border: 2px solid transparent;
		border-radius: var(--v2-r-small);
		background: var(--v2-frame);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__thumb[aria-current="true"] {
		border-color: var(--ink);
		outline: none;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__thumb:focus-visible {
		outline: var(--focus-ring);
		outline-offset: -5px;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__dialog {
		padding: 0.75rem;
		border: 0;
		border-radius: var(--v2-r-card);
		background: var(--v2-card);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__dialog::backdrop {
		background: var(--v2-backdrop);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__close {
		top: 1.25rem;
		right: 1.25rem;
		width: 3rem;
		height: 3rem;
		border-radius: 50%;
		background: var(--ink);
		color: var(--white);
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__close:focus-visible {
		outline: 3px solid var(--accent);
		outline-offset: 2px;
	}

	.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__large img {
		max-height: calc(100dvh - 3.5rem);
		border-radius: var(--v2-r-inner);
	}

	/* ---------------------------------------------------------------- Similar models */
	.hdc-pdp--v2 .hdc-pv2-similar__list {
		display: grid;
		grid-auto-columns: 80%;
		grid-auto-flow: column;
		gap: 0.875rem;
		margin: 0 calc(-1 * var(--gutter));
		padding: 0 var(--gutter);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		list-style: none;
		scroll-padding-inline: var(--gutter);
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	.hdc-pdp--v2 .hdc-pv2-similar__list--n1 {
		grid-auto-columns: 100%;
	}

	.hdc-pdp--v2 .hdc-pv2-similar__item {
		display: flex;
		min-width: 0;
		scroll-snap-align: start;
	}

	.hdc-pdp--v2 .hdc-pv2-model {
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 0.625rem;
		border-radius: var(--v2-r-card);
		background: var(--v2-card);
		color: var(--ink);
		text-decoration: none;
	}

	.hdc-pdp--v2 .hdc-pv2-model:hover {
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-model:focus-visible {
		outline: var(--focus-ring);
		outline-offset: 3px;
	}

	.hdc-pdp--v2 .hdc-pv2-model__photo {
		display: block;
		overflow: hidden;
		border-radius: var(--v2-r-inner);
		background: var(--v2-frame);
	}

	.hdc-pdp--v2 .hdc-pv2-model__photo img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		object-fit: contain;
		mix-blend-mode: multiply;
	}

	.hdc-pdp--v2 .hdc-pv2-model__body {
		display: flex;
		flex: 1;
		flex-direction: column;
		gap: 0.75rem;
		padding: 1rem 0.625rem 0.375rem;
	}

	.hdc-pdp--v2 .hdc-pv2-model__cap {
		display: flex;
		flex-wrap: wrap;
		align-items: baseline;
		gap: 0.25rem 0.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-model__value {
		font-size: 1.875rem;
		font-stretch: 75%;
		font-variant-numeric: tabular-nums;
		font-weight: 800;
		line-height: 1;
	}

	.hdc-pdp--v2 .hdc-pv2-model__unit {
		color: var(--v2-mute);
		font-size: 0.8125rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-model__name {
		font-size: 1.0625rem;
		font-weight: 700;
		line-height: 1.3;
	}

	.hdc-pdp--v2 .hdc-pv2-model:hover .hdc-pv2-model__name {
		text-decoration: underline;
		text-underline-offset: 0.18em;
	}

	.hdc-pdp--v2 .hdc-pv2-model__specs {
		display: grid;
		border-top: 1px solid var(--v2-hair);
	}

	.hdc-pdp--v2 .hdc-pv2-model__spec {
		display: flex;
		justify-content: space-between;
		gap: 1rem;
		padding: 0.5rem 0;
		border-bottom: 1px solid var(--v2-hair);
		font-size: 0.875rem;
		line-height: 1.35;
	}

	.hdc-pdp--v2 .hdc-pv2-model__spec span {
		color: var(--v2-mute);
	}

	.hdc-pdp--v2 .hdc-pv2-model__spec b {
		color: var(--ink);
		font-weight: 700;
		text-align: right;
	}

	.hdc-pdp--v2 .hdc-pv2-model__foot {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 0.5rem 0.75rem;
		margin-top: auto;
		padding-top: 0.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-model__go {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		font-size: 0.875rem;
		font-weight: 700;
		white-space: nowrap;
	}

	.hdc-pdp--v2 .hdc-pv2-model__arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		border-radius: 50%;
		background: var(--ink);
		color: var(--white);
		transition: background-color 0.15s, color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-model:hover .hdc-pv2-model__arrow {
		background: var(--accent);
		color: var(--ink);
	}

	/* ---------------------------------------------------------------- Jump row */
	.hdc-pdp--v2 .hdc-pv2-jump {
		position: relative;
		z-index: 5;
		margin-top: var(--v2-space);
		background: var(--v2-ground);
	}

	.hdc-pdp--v2 .hdc-pv2-jump__row {
		display: flex;
		gap: 0.5rem;
		margin: 0 calc(-1 * var(--gutter));
		padding: 0.5rem var(--gutter);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.hdc-pdp--v2 .hdc-pv2-jump__link {
		display: inline-flex;
		flex: none;
		align-items: center;
		min-height: 2.75rem;
		padding: 0 1.25rem;
		border-radius: 999px;
		background: var(--v2-card);
		color: var(--ink);
		font-size: 0.9375rem;
		font-weight: 700;
		text-decoration: none;
		white-space: nowrap;
		transition: background-color 0.15s, color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-jump__link:hover {
		background: var(--v2-soft);
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-jump__link[aria-current] {
		background: var(--ink);
		color: var(--white);
	}

	.hdc-pdp--v2 .hdc-pv2-jump__link:focus-visible {
		outline: var(--focus-ring);
		outline-offset: -3px;
	}

	.hdc-pdp--v2 .hdc-pv2-jump + .hdc-pv2-sec {
		padding-top: 2rem;
	}

	/* ---------------------------------------------------------------- Highlights */
	.hdc-pdp--v2 .hdc-pv2-high {
		display: grid;
		gap: 1.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-high__photo {
		margin: 0;
		overflow: hidden;
		border-radius: var(--v2-r-inner);
		background: var(--v2-frame);
	}

	.hdc-pdp--v2 .hdc-pv2-high__photo img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		object-fit: contain;
		mix-blend-mode: multiply;
	}

	.hdc-pdp--v2 .hdc-pv2-high__list {
		display: grid;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-high__item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 1rem;
		align-items: center;
		padding: 0.875rem 0;
		border-bottom: 1px solid var(--v2-hair);
		color: var(--ink);
		font-size: 1.0625rem;
		font-weight: 500;
		line-height: 1.45;
	}

	.hdc-pdp--v2 .hdc-pv2-high__item:last-child {
		border-bottom: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-high__icon {
		width: 2rem;
		height: 2rem;
	}

	/* ---------------------------------------------------------------- Where it works */
	.hdc-pdp--v2 .hdc-pv2-uses {
		display: grid;
		gap: 1.75rem;
	}

	.hdc-pdp--v2 .hdc-pv2-uses__scene {
		margin: 0;
		overflow: hidden;
		border-radius: var(--v2-r-inner);
		background: var(--v2-frame);
	}

	.hdc-pdp--v2 .hdc-pv2-uses__scene img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 16 / 10;
		object-fit: cover;
	}

	.hdc-pdp--v2 .hdc-pv2-uses__list {
		display: grid;
		gap: 1.5rem 2rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-uses__item {
		display: grid;
		gap: 0.5rem;
		align-content: start;
	}

	.hdc-pdp--v2 .hdc-pv2-uses__icon {
		width: 2.5rem;
		height: 2.5rem;
		margin-bottom: 0.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-uses__text {
		margin: 0;
		color: var(--body);
		font-size: 0.9375rem;
		line-height: 1.5;
	}

	/* ---------------------------------------------------------------- Specifications */
	.hdc-pdp--v2 .hdc-pv2-specs {
		display: grid;
		gap: 2.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__group {
		min-width: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__title {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		margin-bottom: 0.75rem;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__icon {
		width: 2rem;
		height: 2rem;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__table {
		width: 100%;
		border-collapse: collapse;
		font-size: 0.9375rem;
		line-height: 1.4;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__table th,
	.hdc-pdp--v2 .hdc-pv2-specs__table td {
		padding: 0.75rem 0;
		border-top: 1px solid var(--v2-hair);
		text-align: left;
		vertical-align: top;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__table th {
		width: 50%;
		padding-right: 1rem;
		color: var(--v2-mute);
		font-weight: 500;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__table td {
		color: var(--ink);
		font-weight: 700;
		overflow-wrap: anywhere;
	}

	.hdc-pdp--v2 .hdc-pv2-specs__ask {
		color: var(--ink);
		text-decoration: underline;
		text-underline-offset: 0.18em;
	}

	/* ---------------------------------------------------------------- Documents */
	.hdc-pdp--v2 .hdc-pv2-docs {
		display: grid;
		gap: 0.75rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__item {
		display: flex;
		min-width: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__link {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 1rem;
		width: 100%;
		padding: 1.125rem 1.125rem 1.125rem 1.25rem;
		border-radius: var(--v2-r-card);
		background: var(--v2-card);
		color: var(--ink);
		text-decoration: none;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__link:hover {
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-docs__link:focus-visible {
		outline: var(--focus-ring);
		outline-offset: 3px;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__words {
		display: grid;
		gap: 0.125rem;
		min-width: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__kind {
		color: var(--v2-mute);
		font-size: 0.8125rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__title {
		font-size: 1rem;
		font-weight: 700;
		line-height: 1.3;
		overflow-wrap: anywhere;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__link:hover .hdc-pv2-docs__title {
		text-decoration: underline;
		text-underline-offset: 0.18em;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__type {
		display: inline-flex;
		align-items: center;
		gap: 0.5rem;
		color: var(--v2-mute);
		font-size: 0.75rem;
		font-weight: 700;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__arrow {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		border-radius: 50%;
		background: var(--v2-ground);
		color: var(--ink);
		transition: background-color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-docs__link:hover .hdc-pv2-docs__arrow {
		background: var(--accent);
	}

	/* ---------------------------------------------------------------- Warranty */
	.hdc-pdp--v2 .hdc-pv2-warranty {
		display: grid;
		gap: 1.75rem;
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__words {
		min-width: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__for {
		margin: 0 0 1rem;
		color: var(--v2-mute);
		font-size: 0.9375rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-cover {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-cover__plate {
		display: grid;
		gap: 0.25rem;
		align-content: start;
		min-width: 0;
		padding: 1.25rem;
		border-radius: var(--v2-r-inner);
		background: var(--v2-ground);
	}

	.hdc-pdp--v2 .hdc-pv2-cover__icon {
		margin-bottom: 0.625rem;
	}

	.hdc-pdp--v2 .hdc-pv2-cover__years {
		color: var(--ink);
		font-size: clamp(2rem, 1.6rem + 1.5vw, 2.75rem);
		font-stretch: 75%;
		font-weight: 800;
		line-height: 1;
	}

	.hdc-pdp--v2 .hdc-pv2-cover__what {
		color: var(--body);
		font-size: 0.9375rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__sub {
		margin: 2rem 0 0.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-terms {
		display: grid;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-terms__item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0.875rem;
		align-items: center;
		padding: 0.75rem 0;
		border-bottom: 1px solid var(--v2-hair);
		color: var(--body);
		font-size: 0.9375rem;
		line-height: 1.45;
	}

	.hdc-pdp--v2 .hdc-pv2-terms__icon {
		width: 2rem;
		height: 2rem;
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__ask {
		margin: 1.5rem 0 0;
		color: var(--body);
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__phone {
		color: var(--ink);
		font-weight: 800;
		text-decoration: underline;
		text-underline-offset: 0.18em;
		white-space: nowrap;
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__photo {
		margin: 0;
		overflow: hidden;
		border-radius: var(--v2-r-inner);
		background: var(--v2-frame);
	}

	.hdc-pdp--v2 .hdc-pv2-warranty__photo img {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}

	/* ---------------------------------------------------------------- Reviews */
	.hdc-pdp--v2 .hdc-pv2-reviews {
		display: grid;
		gap: 1.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-reviews__scores {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.75rem;
		align-content: start;
	}

	.hdc-pdp--v2 .hdc-pv2-score {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.375rem 0.625rem;
		min-width: 0;
		padding: 1.125rem 1.25rem;
		border-radius: var(--v2-r-inner);
		background: var(--v2-ground);
		color: var(--ink);
		text-decoration: none;
		transition: background-color 0.15s;
	}

	.hdc-pdp--v2 .hdc-pv2-score:hover {
		background: var(--v2-soft);
		color: var(--ink);
	}

	.hdc-pdp--v2 .hdc-pv2-score:focus-visible {
		outline: var(--focus-ring);
		outline-offset: 2px;
	}

	.hdc-pdp--v2 .hdc-pv2-score__logo {
		display: inline-flex;
		flex-basis: 100%;
		align-items: center;
		gap: 0.5rem;
		min-height: 1.5rem;
		font-size: 1rem;
		font-weight: 700;
	}

	.hdc-pdp--v2 .hdc-pv2-score__logo .hdc-rv-logo {
		width: 1.375rem;
		height: 1.375rem;
	}

	.hdc-pdp--v2 .hdc-pv2-score__logo .hdc-rv-logo--full {
		width: auto;
		height: 1.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-score__num {
		font-size: 2.5rem;
		font-stretch: 75%;
		font-variant-numeric: tabular-nums;
		font-weight: 800;
		line-height: 1;
	}

	.hdc-pdp--v2 .hdc-pv2-score__stars {
		font-size: 1.0625rem;
	}

	.hdc-pdp--v2 .hdc-pv2-score__count {
		flex-basis: 100%;
		color: var(--v2-mute);
		font-size: 0.8125rem;
		font-weight: 600;
	}

	.hdc-pdp--v2 .hdc-pv2-quotes {
		display: grid;
		gap: 0.75rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-quotes__item {
		display: flex;
		min-width: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-quote {
		display: flex;
		flex-direction: column;
		gap: 0.875rem;
		width: 100%;
		margin: 0;
		padding: 1.25rem;
		border: 1px solid var(--v2-hair);
		border-radius: var(--v2-r-inner);
	}

	.hdc-pdp--v2 .hdc-pv2-quote__stars {
		font-size: 1rem;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__text {
		margin: 0;
		padding: 0;
		border: 0;
		color: var(--ink);
		font-size: 1.0625rem;
		font-weight: 500;
		line-height: 1.5;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__text p {
		margin: 0;
	}

	/* The reviewer's key words under a yellow highlighter stroke. */
	.hdc-pdp--v2 .hdc-pv2-quote__key {
		background-image: linear-gradient(transparent 58%, var(--v2-mark) 58%, var(--v2-mark) 94%, transparent 94%);
		font-weight: 700;
		-webkit-box-decoration-break: clone;
		box-decoration-break: clone;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__by {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 0.5rem 0.625rem;
		margin-top: auto;
		font-size: 0.875rem;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__av {
		display: inline-flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 50%;
		background: var(--v2-ground);
		color: var(--ink);
		font-size: 0.8125rem;
		font-weight: 800;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__name {
		flex: 1;
		min-width: 0;
		color: var(--ink);
		font-weight: 700;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__src {
		display: inline-flex;
		align-items: center;
		gap: 0.375rem;
		color: var(--v2-mute);
		font-size: 0.8125rem;
		font-weight: 600;
		text-decoration: none;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__src:hover {
		color: var(--ink);
		text-decoration: underline;
	}

	.hdc-pdp--v2 .hdc-pv2-quote__src .hdc-rv-logo {
		width: 1rem;
		height: 1rem;
	}

	/* ---------------------------------------------------------------- How we work */
	.hdc-pdp--v2 .hdc-pv2-steps {
		display: grid;
		gap: 1.5rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-steps__item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: 1rem;
		row-gap: 0.375rem;
		align-content: start;
	}

	.hdc-pdp--v2 .hdc-pv2-steps__icon {
		grid-row: span 2;
		width: 2.5rem;
		height: 2.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-steps__item .hdc-pv2-h3 {
		align-self: end;
		font-size: 1.125rem;
	}

	.hdc-pdp--v2 .hdc-pv2-steps__text {
		margin: 0;
		color: var(--body);
		font-size: 0.9375rem;
		line-height: 1.5;
	}

	.hdc-pdp--v2 .hdc-pv2-ship {
		display: grid;
		gap: 1rem;
		margin-top: 2rem;
		padding-top: 1.75rem;
		border-top: 1px solid var(--v2-hair);
	}

	.hdc-pdp--v2 .hdc-pv2-ship__title {
		margin: 0;
		color: var(--ink);
		font-size: 1.125rem;
		font-stretch: 75%;
		font-weight: 800;
	}

	.hdc-pdp--v2 .hdc-pv2-ship__list {
		display: grid;
		gap: 1rem 2rem;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-ship__item {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: 0.75rem;
		align-items: center;
	}

	.hdc-pdp--v2 .hdc-pv2-ship__icon {
		grid-row: span 2;
		width: 2rem;
		height: 2rem;
	}

	.hdc-pdp--v2 .hdc-pv2-ship__name {
		color: var(--ink);
		font-size: 0.9375rem;
		font-weight: 700;
		line-height: 1.3;
	}

	.hdc-pdp--v2 .hdc-pv2-ship__text {
		color: var(--v2-mute);
		font-size: 0.8125rem;
		line-height: 1.4;
	}

	/* ---------------------------------------------------------------- Overview */
	.hdc-pdp--v2 .hdc-pv2-overview__text {
		max-width: 46rem;
		color: var(--body);
		font-size: 1.0625rem;
		line-height: 1.65;
	}

	.hdc-pdp--v2 .hdc-pv2-overview__text > :first-child {
		margin-top: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-overview__text > :last-child {
		margin-bottom: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-overview__text h2,
	.hdc-pdp--v2 .hdc-pv2-overview__text h3,
	.hdc-pdp--v2 .hdc-pv2-overview__text h4 {
		margin: 1.75rem 0 0.5rem;
		color: var(--ink);
		font-size: 1.375rem;
		font-stretch: 75%;
		font-weight: 800;
		line-height: 1.15;
	}

	.hdc-pdp--v2 .hdc-pv2-overview__text ul,
	.hdc-pdp--v2 .hdc-pv2-overview__text ol {
		padding-left: 1.25rem;
	}

	.hdc-pdp--v2 .hdc-pv2-overview.is-clamped .hdc-pv2-overview__text {
		max-height: 22rem;
		overflow: hidden;
		-webkit-mask-image: linear-gradient(to bottom, var(--v2-fade) 62%, transparent);
		mask-image: linear-gradient(to bottom, var(--v2-fade) 62%, transparent);
	}

	.hdc-pdp--v2 .hdc-pv2-overview__more {
		margin-top: 1.25rem;
	}

	/* ---------------------------------------------------------------- Questions */
	.hdc-pdp--v2 .hdc-pv2-faq {
		padding-block: 0.5rem;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__item + .hdc-pv2-faq__item {
		border-top: 1px solid var(--v2-hair);
	}

	.hdc-pdp--v2 .hdc-pv2-faq__q {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1rem;
		padding: 1.125rem 0;
		cursor: pointer;
		list-style: none;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__q::-webkit-details-marker {
		display: none;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__q:focus-visible {
		border-radius: var(--v2-r-small);
		outline: var(--focus-ring);
		outline-offset: 2px;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__title {
		margin: 0;
		color: var(--ink);
		font-size: 1.0625rem;
		font-stretch: 100%;
		font-weight: 700;
		line-height: 1.35;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__toggle {
		display: inline-flex;
		flex: none;
		align-items: center;
		justify-content: center;
		width: 2.5rem;
		height: 2.5rem;
		border-radius: 50%;
		background: var(--v2-ground);
		color: var(--ink);
		transition: background-color 0.15s, color 0.15s, transform 0.2s;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__q:hover .hdc-pv2-faq__toggle {
		background: var(--v2-soft);
	}

	.hdc-pdp--v2 .hdc-pv2-faq__item[open] .hdc-pv2-faq__toggle {
		background: var(--ink);
		color: var(--white);
		transform: rotate(45deg);
	}

	.hdc-pdp--v2 .hdc-pv2-faq__a {
		max-width: 50rem;
		padding: 0 3.5rem 1.375rem 0;
		color: var(--body);
		font-size: 1rem;
		line-height: 1.6;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__a > :first-child {
		margin-top: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__a > :last-child {
		margin-bottom: 0;
	}

	.hdc-pdp--v2 .hdc-pv2-faq__a a {
		color: var(--ink);
		font-weight: 700;
		text-decoration: underline;
	}

	/* ---------------------------------------------------------------- Phones */
	/* Phones: the icon beside the label, so the four figures stay short. */
	@media (max-width: 39.99rem) {
		.hdc-pdp--v2 .hdc-pv2-nums__item {
			padding: 0.875rem 0.875rem 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-nums__label {
			flex-direction: row;
			align-items: center;
			gap: 0.5rem;
		}

		.hdc-pdp--v2 .hdc-pv2-nums__icon {
			width: 1.75rem;
			height: 1.75rem;
		}

		.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__step {
			width: 2.25rem;
			height: 2.25rem;
		}

		.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__count {
			min-width: 2.75rem;
			font-size: 0.8125rem;
		}
	}

	@media (max-width: 22.49rem) {
		.hdc-pdp--v2 .hdc-pv2-promise {
			grid-template-columns: minmax(0, 1fr);
		}

		.hdc-pdp--v2 .hdc-pv2-rates__row,
		.hdc-pdp--v2 .hdc-pv2-reviews__scores {
			grid-template-columns: minmax(0, 1fr);
		}

		.hdc-pdp--v2 .hdc-pv2-call {
			padding-right: 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-call__number {
			font-size: 1.375rem;
		}
	}

	/* ---------------------------------------------------------------- 40rem */
	@media (min-width: 40rem) {
		.hdc-pdp--v2 .hdc-pv2-nums--n4 {
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}

		.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__thumb {
			width: 4.25rem;
			height: 4.25rem;
		}

		.hdc-pdp--v2 .hdc-pv2-similar__list {
			grid-auto-columns: 46%;
		}

		.hdc-pdp--v2 .hdc-pv2-uses__list {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.hdc-pdp--v2 .hdc-pv2-ship__list {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}
	}

	/* ---------------------------------------------------------------- 48rem */
	@media (min-width: 48rem) {
		.hdc-pdp--v2 .hdc-pv2-crumbs__item--here {
			display: list-item;
		}

		.hdc-pdp--v2 .hdc-pv2-gallery {
			padding: 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__controls {
			top: 1rem;
			right: 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-gallery .hdc-product-gallery__bar {
			padding-top: 0.875rem;
		}

		.hdc-pdp--v2 .hdc-pv2-buy {
			padding: 1.75rem;
		}

		.hdc-pdp--v2 .hdc-pv2-model {
			padding: 0.75rem;
		}

		.hdc-pdp--v2 .hdc-pv2-model__body {
			padding: 1.25rem 0.75rem 0.5rem;
		}

		.hdc-pdp--v2 .hdc-pv2-docs {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-quotes {
			grid-template-columns: repeat(3, minmax(0, 1fr));
		}

		.hdc-pdp--v2 .hdc-pv2-steps {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 2rem;
		}

		.hdc-pdp--v2 .hdc-pv2-cover__plate {
			padding: 1.5rem;
		}
	}

	/* ---------------------------------------------------------------- 64rem */
	@media (min-width: 64rem) {
		.hdc-pdp--v2 .hdc-pv2-top__grid {
			grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
			gap: 2.5rem;
			align-items: start;
			margin-top: 1.5rem;
		}

		/* The left column: the gallery card, the promises under it, sticky together. */
		.hdc-pdp--v2 .hdc-pv2-top__left {
			display: grid;
			position: sticky;
			top: calc(var(--sticky) + 1.5rem);
			gap: 1.75rem;
			min-width: 0;
		}

		.hdc-pdp--v2 .hdc-pv2-top__more {
			padding-top: 0;
		}

		.hdc-pdp--v2 .hdc-pv2-promise {
			padding-inline: 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-top__info {
			padding-top: 0.5rem;
		}

		/* The right column is narrow here: four numbers sit two by two. */
		.hdc-pdp--v2 .hdc-pv2-nums--n4 {
			grid-template-columns: repeat(2, minmax(0, 1fr));
		}

		.hdc-pdp--v2 .hdc-pv2-nums__value {
			font-size: 1.75rem;
		}

		.hdc-pdp--v2 .hdc-pv2-buy__price {
			font-size: 1.875rem;
		}

		.hdc-pdp--v2 .hdc-pv2-similar__list {
			grid-auto-flow: row;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1.5rem;
			margin-inline: 0;
			padding-inline: 0;
			overflow: visible;
		}

		.hdc-pdp--v2 .hdc-pv2-similar__list--n1 {
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
		}

		.hdc-pdp--v2 .hdc-pv2-jump {
			position: sticky;
			top: var(--sticky);
		}

		.hdc-pdp--v2 .hdc-pv2-jump__row {
			margin-inline: 0;
			padding: 0.75rem 0;
		}

		.hdc-pdp--v2 .hdc-pv2-h2 {
			margin-bottom: 1.75rem;
		}

		.hdc-pdp--v2 .hdc-pv2-high--photo {
			grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
			gap: 3rem;
			align-items: center;
		}

		.hdc-pdp--v2 .hdc-pv2-high__item {
			padding: 1.125rem 0;
			font-size: 1.125rem;
		}

		.hdc-pdp--v2 .hdc-pv2-uses--scene {
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
			gap: 3rem;
			align-items: center;
		}

		.hdc-pdp--v2 .hdc-pv2-uses:not(.hdc-pv2-uses--scene) .hdc-pv2-uses__list {
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}

		.hdc-pdp--v2 .hdc-pv2-uses__scene img {
			aspect-ratio: 4 / 3;
		}

		.hdc-pdp--v2 .hdc-pv2-uses__list {
			gap: 2.25rem 2.5rem;
		}

		.hdc-pdp--v2 .hdc-pv2-specs {
			grid-template-columns: repeat(2, minmax(0, 1fr));
			gap: 2.75rem 4rem;
			align-items: start;
		}

		.hdc-pdp--v2 .hdc-pv2-docs {
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 1.25rem;
		}

		.hdc-pdp--v2 .hdc-pv2-docs__link {
			padding: 1.5rem 1.5rem 1.5rem 1.75rem;
		}

		.hdc-pdp--v2 .hdc-pv2-warranty--photo {
			grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
			gap: 3rem;
			align-items: start;
		}

		/* A square beside the words, its top on the words' first line, never taller. */
		.hdc-pdp--v2 .hdc-pv2-warranty__photo img {
			aspect-ratio: 1 / 1;
		}

		.hdc-pdp--v2 .hdc-pv2-reviews {
			grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
			gap: 2rem;
		}

		.hdc-pdp--v2 .hdc-pv2-reviews__scores {
			grid-template-columns: minmax(0, 1fr);
		}

		.hdc-pdp--v2 .hdc-pv2-steps {
			grid-template-columns: repeat(5, minmax(0, 1fr));
			gap: 2rem;
		}

		.hdc-pdp--v2 .hdc-pv2-steps__item {
			grid-template-columns: minmax(0, 1fr);
			row-gap: 0.5rem;
		}

		.hdc-pdp--v2 .hdc-pv2-steps__icon {
			grid-row: auto;
			width: 3rem;
			height: 3rem;
			margin-bottom: 0.5rem;
		}

		.hdc-pdp--v2 .hdc-pv2-ship {
			grid-template-columns: 10rem minmax(0, 1fr);
			gap: 2rem;
			align-items: center;
			margin-top: 2.5rem;
			padding-top: 2rem;
		}

		.hdc-pdp--v2 .hdc-pv2-faq {
			padding-block: 1rem;
		}

		.hdc-pdp--v2 .hdc-pv2-faq__q {
			padding-block: 1.375rem;
		}

		.hdc-pdp--v2 .hdc-pv2-faq__title {
			font-size: 1.125rem;
		}
	}

	/* ---------------------------------------------------------------- 80rem */
	@media (min-width: 80rem) {
		.hdc-pdp--v2 .hdc-pv2-top__grid {
			grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
			gap: 3.5rem;
		}

		.hdc-pdp--v2 .hdc-pv2-nums--n4 {
			grid-template-columns: repeat(4, minmax(0, 1fr));
		}

		.hdc-pdp--v2 .hdc-pv2-nums__item {
			padding: 1.125rem 1rem 1.25rem;
		}

		.hdc-pdp--v2 .hdc-pv2-nums__value {
			font-size: 1.625rem;
		}

		.hdc-pdp--v2 .hdc-pv2-buy {
			padding: 2rem;
		}

		.hdc-pdp--v2 .hdc-pv2-reviews {
			grid-template-columns: minmax(0, 19rem) minmax(0, 1fr);
			gap: 2.5rem;
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.hdc-pdp--v2 .hdc-pv2-pill,
		.hdc-pdp--v2 .hdc-pv2-call,
		.hdc-pdp--v2 .hdc-pv2-rate,
		.hdc-pdp--v2 .hdc-pv2-score,
		.hdc-pdp--v2 .hdc-pv2-model__arrow,
		.hdc-pdp--v2 .hdc-pv2-jump__link,
		.hdc-pdp--v2 .hdc-pv2-docs__arrow,
		.hdc-pdp--v2 .hdc-pv2-faq__toggle {
			transition: none;
		}
	}
}
