/*
Theme Name: DEKI'S RACING
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.2.49
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: deki-racing
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts a margin-block-start equal to the block gap (24px unless
   theme.json sets styles.spacing.blockGap) between the template's top-level
   sections (header part, main, footer part) — a gap that exists even when no
   markup asks for it. Zero it so sections butt edge-to-edge and own their
   vertical rhythm via padding; this does not affect block gaps inside nested
   layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Legal links stay quiet in the footer but remain easy to find and use. */
.dr-legal-links {
	margin: 0;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.55rem;
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, 0.58);
}
.dr-legal-links a {
	color: inherit;
	text-decoration: none;
	transition: color 180ms ease;
}
.dr-legal-links a:hover,
.dr-legal-links a:focus-visible {
	color: var(--dr-cyan);
}
.dr-legal-row {
	margin-top: 1.5rem;
	justify-content: flex-end;
}
.dr-legal-row .dr-legal-links span {
	color: var(--dr-red);
}

/* Legal pages use the same night-track typography without presentation motion. */
.dr-legal-page {
	max-width: 820px;
	padding-block: clamp(4rem, 8vw, 7rem);
}
.dr-legal-page .dr-sec-title {
	margin-bottom: 2.5rem;
}
.dr-legal-page h2 {
	margin-top: 2.5rem;
	margin-bottom: 0.8rem;
	font-family: var(--dr-font-head);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	line-height: 1.1;
	text-transform: uppercase;
}
.dr-legal-page p {
	max-width: 75ch;
}
.dr-legal-page a {
	color: var(--dr-cyan);
}

@media (max-width: 700px) {
	.dr-legal-row {
		justify-content: flex-start;
	}
	.dr-legal-links {
		justify-content: flex-start;
	}
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

/* ============================================================
   DEKI'S RACING — custom theme styles
   ============================================================ */

/* === tokens === */
:root {
	--dr-cyan: #f4f7f7;
	--dr-red: var(--wp--preset--color--accent-1);
	--dr-bg: var(--wp--preset--color--background);
	--dr-ink: var(--wp--preset--color--ink);
	--dr-txt: var(--wp--preset--color--text);
	--dr-font-display: "Anton", sans-serif;
	--dr-font-head: "Oswald", sans-serif;
	--dr-font-body: "Inter", sans-serif;
	--dr-font-label: "Space Grotesk", sans-serif;
	--dr-gutter: var(--wp--style--root--padding-left);
	--dr-rule: 1px solid rgba(244, 247, 247, 0.25);
}

/* === base === */
body {
	background: var(--dr-bg);
	color: var(--dr-txt);
}
::selection {
	background: var(--dr-cyan);
	color: #000;
}
.dr-eyebrow {
	font-family: var(--dr-font-label);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--dr-cyan);
}
.dr-eyebrow::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 2px;
	background: var(--dr-red);
	margin-right: 10px;
	vertical-align: middle;
}
.dr-display {
	font-family: var(--dr-font-display);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 0.92;
	letter-spacing: 0.01em;
}
.dr-display .cm {
	color: var(--dr-cyan);
}
.dr-bignum {
	font-family: var(--dr-font-display);
	color: rgba(244, 247, 247, 0.06);
	line-height: 0.85;
	text-transform: uppercase;
	user-select: none;
}

/* === buttons === */
.wp-element-button {
	font-family: var(--dr-font-label);
	letter-spacing: 0.18em;
	text-transform: uppercase;
}
.wp-element-button:hover {
	background: var(--dr-red) !important;
	color: #fff !important;
	border-color: var(--dr-red) !important;
}
.dr-btn-ghost {
	background: transparent !important;
	color: var(--dr-cyan) !important;
	border: 1px solid var(--dr-cyan) !important;
}
.dr-btn-ghost:hover {
	background: var(--dr-cyan) !important;
	color: #000 !important;
}

/* === reveal animations (progressive enhancement) === */
.dr-reveal {
	will-change: transform, opacity;
}
.js .dr-reveal {
	opacity: 0;
	transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1), transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.js .dr-reveal.dr-left {
	transform: translateX(-60px);
}
.js .dr-reveal.dr-right {
	transform: translateX(60px);
}
.js .dr-reveal.dr-up {
	transform: translateY(50px);
}
.js .dr-reveal.in-view {
	opacity: 1;
	transform: none;
}

/* Gentle fallback entrance for section blocks without a page-specific
   choreography. It is intentionally lighter than the feature animations. */
.dr-auto-reveal {
	will-change: transform, opacity;
}
.js .dr-auto-reveal {
	opacity: 0;
	transform: translate3d(0, 28px, 0);
	transition: opacity .72s cubic-bezier(.22, 1, .36, 1), transform .72s cubic-bezier(.22, 1, .36, 1);
	transition-delay: calc(var(--dr-auto-order, 0) * 70ms);
}
.js .dr-auto-reveal.in-view {
	opacity: 1;
	transform: none;
}

/* === ticker === */
.dr-ticker {
	overflow: hidden;
	background: var(--dr-cyan);
	color: #000;
	padding: 0.55rem 0;
	white-space: nowrap;
}
.dr-ticker.dark {
	background: var(--dr-ink);
	color: var(--dr-cyan);
	border-block: 1px solid var(--dr-rule);
}
.dr-ticker-track {
	display: flex;
	width: max-content;
	gap: 0;
	flex-shrink: 0;
	animation: dr-marquee 26s linear infinite;
	will-change: transform;
}
.dr-ticker .item {
	display: inline-block;
	flex: 0 0 auto;
	flex-shrink: 0;
	font-family: var(--dr-font-head);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 0 1.5rem;
	font-size: 0.95rem;
	white-space: nowrap;
	margin: 0;
}
.dr-ticker .item::after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	background: var(--dr-red);
	border-radius: 50%;
	margin-left: 2rem;
	vertical-align: middle;
}

@media (max-width: 600px) {
	.dr-ticker .item {
		font-size: 0.8rem;
		padding: 0 1.25rem;
	}
	.dr-ticker-track {
		animation-duration: 44s;
	}
}
@keyframes dr-marquee {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* === hero === */
.dr-hero {
	min-height: 100svh;
	display: flex;
	align-items: flex-end;
	position: relative;
	overflow: hidden;
}
.dr-hero-bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	filter: contrast(1.1) saturate(1.15);
	transform: scale(1.15);
}
.dr-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10,10,13,0.55) 0%, rgba(10,10,13,0.25) 40%, rgba(10,10,13,0.95) 100%);
	z-index: 1;
}
.dr-hero-inner {
	position: relative;
	z-index: 2;
	width: 100%;
	padding: var(--dr-gutter);
	padding-bottom: clamp(3rem, 9vh, 6rem);
}
.dr-hero-title {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	font-size: clamp(3rem, 11vw, 9rem);
	line-height: 0.85;
	letter-spacing: 0.01em;
}
.dr-hero-title .cm {
	color: var(--dr-cyan);
}
.dr-claim {
	font-family: var(--dr-font-head);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--dr-red);
	font-size: clamp(1rem, 2.4vw, 1.5rem);
	border-left: 3px solid var(--dr-red);
	padding-left: 0.9rem;
}

/* === section head === */
.dr-sec {
	position: relative;
}
.dr-sec-head {
	display: flex;
	align-items: flex-end;
	gap: 2rem;
	justify-content: space-between;
	flex-wrap: wrap;
}
.dr-sec-title {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	font-size: clamp(2.4rem, 6vw, 4.5rem);
	line-height: 0.92;
	margin-top: 0.6rem;
}

/* === cards === */
.is-style-card {
	background: var(--dr-ink);
	border: 1px solid var(--dr-rule);
	padding: 1.5rem;
	position: relative;
	border-radius: 6px;
	overflow: hidden;
	transition: transform 0.35s cubic-bezier(0.22,1,0.36,1), border-color 0.35s;
}
.is-style-card:hover {
	transform: translateY(-6px);
	border-color: var(--dr-cyan);
}
.is-style-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--dr-cyan), var(--dr-red));
	opacity: 0;
	transition: opacity 0.35s;
}
.is-style-card:hover::after {
	opacity: 1;
}

/* === cta === */
.dr-cta {
	position: relative;
	min-height: 70vh;
	display: flex;
	align-items: center;
}

/* === header / nav === */
.dr-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 9999;
	height: 73px;
	background: rgba(10, 10, 13, 0.84);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(244, 247, 247, 0.1);
}
/* spacer so the fixed header never covers the ticker/content */
.dr-header-wrap {
	padding-top: 73px;
}
.dr-header-row {
	min-height: 56px;
	align-items: center;
	gap: 1.2rem;
}
.dr-header-main {
	flex: 1 1 auto;
	min-width: 0;
	justify-content: center;
}
.dr-header-tools {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: .8rem;
	flex: 0 0 auto;
}
.dr-header-cart {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: var(--dr-txt);
	font-family: var(--dr-font-label);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.dr-header-cart svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.dr-header-cart:hover,
.dr-header-cart:focus-visible {
	color: var(--dr-red);
}
.dr-header-cart-count {
	min-width: 1.2rem;
	height: 1.2rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 .25rem;
	border-radius: 999px;
	background: var(--dr-red);
	color: #fff;
	font-size: .62rem;
	line-height: 1;
}
.dr-header-cart-count.is-empty {
	background: rgba(244, 247, 247, .18);
	color: rgba(244, 247, 247, .75);
}
.dr-header-phone,
.dr-footer-phone {
	display: flex;
	flex-direction: column;
	gap: .12rem;
	color: var(--dr-txt);
	text-decoration: none;
	white-space: nowrap;
}
.dr-header-phone:hover,
.dr-footer-phone:hover {
	color: var(--dr-cyan);
}
.dr-header-phone-label {
	font-family: var(--dr-font-label);
	font-size: .55rem;
	letter-spacing: .18em;
	line-height: 1;
	color: var(--dr-cyan);
}
.dr-header-phone-number,
.dr-footer-phone {
	font-family: var(--dr-font-label);
	font-size: .72rem;
	letter-spacing: .08em;
	line-height: 1.1;
}
.dr-socials {
	display: flex;
	align-items: center;
	gap: .38rem;
}
.dr-social-link {
	display: inline-flex;
	width: 30px;
	height: 30px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(244, 247, 247, .34);
	border-radius: 50%;
	color: var(--dr-txt);
	line-height: 0;
	transition: color .22s ease, border-color .22s ease, background-color .22s ease, transform .22s ease;
}
.dr-social-link svg {
	display: block;
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.dr-social-link svg path:last-child {
	fill: currentColor;
	stroke: none;
}
.dr-social-link:hover,
.dr-social-link:focus-visible {
	color: var(--dr-cyan);
	border-color: var(--dr-cyan);
	background: rgba(244, 247, 247, .1);
	transform: translateY(-2px);
}
.dr-social-whatsapp:hover,
.dr-social-whatsapp:focus-visible {
	color: #45e58c;
	border-color: #45e58c;
	background: rgba(69, 229, 140, .1);
}
.dr-nav ul {
	align-items: center;
}
.dr-nav a {
	font-family: var(--dr-font-label);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dr-txt);
	padding: 0.5rem 0.4rem;
	position: relative;
	transition: color 0.25s ease, text-shadow 0.25s ease;
}
.dr-nav a::after {
	content: "";
	position: absolute;
	left: 0.4rem;
	right: auto;
	bottom: 0.12rem;
	height: 2px;
	width: 0;
	background: var(--dr-cyan);
	box-shadow: 0 0 7px rgba(244, 247, 247, 0.65);
	transition: width 0.32s ease;
}
.dr-nav a:hover {
	color: var(--dr-cyan) !important;
	text-shadow: 0 0 10px rgba(244, 247, 247, 0.35);
}
.dr-nav a:hover::after {
	width: calc(100% - 0.8rem);
}
/* current page: persistent subtle mark */
.dr-nav a[aria-current="page"],
.dr-nav a.is-current {
	color: var(--dr-cyan) !important;
}
.dr-nav a[aria-current="page"]::after,
.dr-nav a.is-current::after {
	width: calc(100% - 0.8rem);
}

/* === desktop navigation: rolling racing-tire marker ===
   The marker replaces the old underline only on desktop. It stays below the
   label, rolls across the link on hover/focus, and leaves the mobile menu
   untouched. */
@keyframes dr-nav-wheel-roll {
	0% {
		opacity: 0;
		transform: translateX(-10px) rotate(-120deg);
	}
	18% {
		opacity: 1;
	}
	100% {
		opacity: 1;
		transform: translateX(calc(100% - 22px)) rotate(360deg);
	}
}

@media (min-width: 783px) {
	.dr-nav a::after {
		left: .4rem;
		bottom: -.45rem;
		width: 22px;
		height: 22px;
		border: 1px solid rgba(244, 247, 247, .7);
		border-radius: 50%;
		background:
			conic-gradient(from 0deg, transparent 0 14deg, rgba(244, 247, 247, .76) 14deg 20deg, transparent 20deg 44deg, rgba(244, 247, 247, .76) 44deg 50deg, transparent 50deg 74deg, rgba(244, 247, 247, .76) 74deg 80deg, transparent 80deg 104deg, rgba(244, 247, 247, .76) 104deg 110deg, transparent 110deg 134deg, rgba(244, 247, 247, .76) 134deg 140deg, transparent 140deg 164deg, rgba(244, 247, 247, .76) 164deg 170deg, transparent 170deg 194deg, rgba(244, 247, 247, .76) 194deg 200deg, transparent 200deg 224deg, rgba(244, 247, 247, .76) 224deg 230deg, transparent 230deg 254deg, rgba(244, 247, 247, .76) 254deg 260deg, transparent 260deg 284deg, rgba(244, 247, 247, .76) 284deg 290deg, transparent 290deg 314deg, rgba(244, 247, 247, .76) 314deg 320deg, transparent 320deg 360deg),
			radial-gradient(circle, #07090b 0 22%, var(--dr-cyan) 23% 29%, #11161b 30% 58%, var(--dr-red) 59% 67%, #050608 68% 100%);
		box-shadow: 0 0 0 2px rgba(244, 247, 247, .12), 0 0 12px rgba(244, 247, 247, .45);
		opacity: 0;
		transform: translateX(-10px) rotate(-120deg);
		transition: opacity .18s ease;
	}
	.dr-nav a:hover::after,
	.dr-nav a:focus-visible::after {
		width: 22px;
		opacity: 1;
		animation: dr-nav-wheel-roll .72s cubic-bezier(.2, .75, .25, 1) forwards;
	}
	.dr-nav a[aria-current="page"]::after,
	.dr-nav a.is-current::after {
		width: 22px;
		opacity: 1;
		transform: translateX(calc(100% - 22px)) rotate(360deg);
		animation: none;
	}
}

/* === Shop: slightly tighter product cards === */
.dr-kart-shop .dr-shop-grid li.wc-block-product {
	padding: .95rem;
}
.dr-kart-shop .dr-shop-grid .dr-shop-img {
	margin-bottom: .9rem;
}
.dr-kart-shop .dr-shop-grid .dr-shop-img img {
	aspect-ratio: 1.42 / 1;
}

@media (prefers-reduced-motion: reduce) {
	.dr-nav a, .dr-nav a::after { transition: none; }
	@media (min-width: 783px) {
		.dr-nav a:hover::after,
		.dr-nav a:focus-visible::after {
			animation: none;
			transform: translateX(calc(100% - 22px));
		}
	}
}

/* === mobile navigation + performance guardrails ===
   The WordPress responsive navigation must own the full viewport below the
   fixed header. Without these dimensions core can inherit the header height,
   leaving the menu open but clipping most of its links. */
@media (max-width: 782px) {
	.dr-header {
		height: 68px;
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		background: rgba(10, 10, 13, 0.98);
	}
	.dr-header-wrap {
		padding-top: 68px;
	}
	.dr-header-row {
		min-height: 68px;
		padding-inline: 1.1rem;
		display: grid !important;
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: .45rem;
	}
	.dr-brand {
		font-size: 1.15rem;
	}
	.dr-brand-logo {
		width: 50px;
		height: 50px;
		flex-basis: 50px;
	}
	.dr-header-main {
		grid-column: 3;
		grid-row: 1;
		width: auto;
		justify-content: flex-end;
	}
	.dr-header-tools {
		grid-column: 2;
		grid-row: 1;
		gap: .28rem;
		min-width: 0;
	}
	.dr-header-phone {
		flex-direction: row;
		align-items: center;
		gap: .2rem;
	}
	.dr-header-phone-label {
		display: none;
	}
	.dr-header-phone-number {
		font-size: .54rem;
		letter-spacing: .04em;
	}
	.dr-header-tools .dr-socials {
		gap: .22rem;
	}
	.dr-header-tools .dr-social-link {
		width: 22px;
		height: 22px;
	}
	.dr-header-tools .dr-social-link svg {
		width: 12px;
		height: 12px;
	}
	.dr-footer .dr-brand-logo {
		width: 78px;
		height: 78px;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		position: fixed !important;
		inset: 68px 0 0 !important;
		width: 100vw !important;
		height: calc(100dvh - 68px) !important;
		max-height: none !important;
		min-height: 0 !important;
		padding: 1rem 1.25rem 2.5rem !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		background: rgba(10, 10, 13, 0.99) !important;
		z-index: 100000 !important;
		align-items: flex-start !important;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-close {
		width: 100%;
		min-height: 0;
		padding: 0 0 0.75rem;
		justify-content: flex-end;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		width: 100%;
		min-height: 0;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation__container {
		width: 100%;
		align-items: stretch !important;
		gap: 0 !important;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content {
		display: block;
		width: 100%;
		padding: 0.9rem 0;
		border-bottom: 1px solid rgba(244, 247, 247, 0.16);
		font-size: 1rem;
		letter-spacing: 0.12em;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content::after {
		bottom: 0.55rem;
		left: 0;
	}
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content:hover::after,
	.dr-nav .wp-block-navigation__responsive-container.is-menu-open
		.wp-block-navigation-item__content[aria-current="page"]::after {
		width: 100%;
	}
	/* Decorative motion is removed on touch devices; content remains intact. */
	.dr-hud-overlay::after,
	#dr-rl,
	#dr-tbg {
		display: none !important;
	}
	.dr-circuit-line {
		filter: none;
	}
}

/* The product description belongs in the description tab. Keep the
   purchase area focused on title, price, variant and cart action. */
.single-product .wp-block-post-excerpt {
	display: none !important;
}

/* Keep product identity details out of the customer-facing purchase area. */
.single-product .wp-block-woocommerce-product-meta {
	display: none !important;
}

/* Kart cut-outs keep their original white presentation everywhere: catalogue,
   related products and the native WooCommerce product gallery. */
.dr-kart-shop .dr-shop-grid li.product_cat-kart-chassis .dr-shop-img,
.dr-kart-shop .dr-shop-grid li.product_cat-kart-chassis .dr-shop-img img,
.single-product [data-collection="woocommerce/product-collection/related"] li.product_cat-kart-chassis .wc-block-components-product-image,
.single-product [data-collection="woocommerce/product-collection/related"] li.product_cat-kart-chassis .wc-block-components-product-image img,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image img {
	background: #fff !important;
}

.dr-kart-shop .dr-shop-grid li.product_cat-kart-chassis .dr-shop-img img,
.single-product [data-collection="woocommerce/product-collection/related"] li.product_cat-kart-chassis .wc-block-components-product-image img {
	aspect-ratio: 1500 / 740 !important;
	height: auto !important;
	object-fit: contain !important;
}

/* Native WooCommerce already supplies the full-size lightbox. Make the
   affordance unmistakable on desktop and keep every gallery image clickable. */
.single-product .woocommerce-product-gallery__image a {
	display: block;
	cursor: zoom-in;
}
.single-product .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
.single-product .woocommerce-product-gallery__trigger {
	z-index: 4;
	box-shadow: 0 0 0 3px rgba(255,255,255,.72), 0 8px 22px rgba(0,0,0,.28);
}

@media (max-width: 782px) {
	.single-product .wp-block-woocommerce-product-price .wc-block-components-product-price,
	.single-product .wp-block-woocommerce-product-price .woocommerce-Price-amount {
		font-size: 2.1rem !important;
		line-height: 1.12;
	}
	.single-product [data-collection="woocommerce/product-collection/related"] li.product_cat-kart-chassis .wc-block-components-product-image img {
		min-height: 0 !important;
	}
}
.dr-brand {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	font-size: 1.35rem;
	letter-spacing: 0.04em;
}
.dr-brand .cm {
	color: var(--dr-cyan);
}
.dr-brand-logo {
	display: inline-flex;
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	border-radius: 50%;
	line-height: 0;
	transition: transform .25s ease, filter .25s ease;
}
.dr-brand-logo img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	image-rendering: auto;
	backface-visibility: hidden;
}
.dr-brand-logo:hover,
.dr-brand-logo:focus-visible {
	transform: scale(1.06);
	filter: drop-shadow(0 0 12px rgba(255, 42, 48, .42));
}

/* === footer === */
.dr-footer {
	border-top: 1px solid var(--dr-rule);
	background: var(--dr-bg);
}
.dr-footer .dr-brand-logo {
	width: 92px;
	height: 92px;
	margin-bottom: .9rem;
}

/* === marketplace / woo === */
.dr-shop-hero {
	padding: clamp(3rem, 8vh, 6rem) 0;
}
.dr-shop-tools {
	border-top: 1px solid var(--dr-rule);
	border-bottom: 1px solid var(--dr-rule);
	align-items: center;
	gap: 1.5rem;
}
.dr-shop-nav a {
	color: var(--dr-txt);
	font-family: var(--dr-font-label);
	font-size: 0.78rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.4rem 0.3rem;
}
.dr-shop-nav a:hover {
	color: var(--dr-cyan);
}
.wp-block-woocommerce-product-search form {
	display: flex;
	gap: 0.5rem;
}
.wp-block-woocommerce-product-search input[type="search"] {
	background: var(--dr-ink);
	border: 1px solid var(--dr-rule);
	color: var(--dr-txt);
	border-radius: 6px;
	padding: 0.6rem 1rem;
}
.wp-block-woocommerce-product-search button {
	background: var(--dr-cyan);
	border: none;
	color: #000;
	border-radius: 6px;
	font-family: var(--dr-font-label);
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.6rem 1.1rem;
}

/* product cards */
.wp-block-woocommerce-product-collection ul.wc-block-product-template {
	list-style: none;
	margin: 0;
}
.wp-block-woocommerce-product-collection li.wc-block-product {
	background: var(--dr-ink);
	border: 1px solid var(--dr-rule);
	border-radius: 6px;
	padding: 1rem;
	position: relative;
	overflow: hidden;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s;
}
.wp-block-woocommerce-product-collection li.wc-block-product:hover {
	transform: translateY(-6px);
	border-color: var(--dr-cyan);
}
.wp-block-woocommerce-product-collection .dr-shop-img {
	margin: 0 0 1rem;
}
.wp-block-woocommerce-product-collection .dr-shop-img img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.wp-block-woocommerce-product-collection .dr-shop-title {
	margin: 0;
}
.wp-block-woocommerce-product-collection .dr-shop-title a {
	color: var(--dr-txt);
	font-family: var(--dr-font-head);
	text-transform: uppercase;
	font-size: 1.08rem;
}
.wp-block-woocommerce-product-collection .dr-shop-title a:hover {
	color: var(--dr-cyan);
}
.wp-block-woocommerce-product-collection .dr-shop-price {
	color: var(--dr-cyan);
	font-family: var(--dr-font-label);
	font-weight: 600;
	margin-top: 0.4rem;
}

/* sold badge */
.wp-block-woocommerce-product-collection li.wc-block-product.outofstock::after {
	content: "VERKAUFT";
	position: absolute;
	top: 1rem;
	left: 0;
	background: var(--dr-red);
	color: #fff;
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	padding: 0.35rem 0.8rem;
	z-index: 2;
}
.wp-block-woocommerce-product-collection li.wc-block-product.outofstock .dr-shop-img {
	opacity: 0.5;
}

/* single product summary */
.dr-inquiry {
	margin: 1.25rem 0;
}

/* === forms === */
.dr-contact-cols {
	gap: 1.5rem;
}
.dr-info strong {
	font-family: var(--dr-font-label);
	text-transform: uppercase;
	letter-spacing: 0.14em;
	font-size: 0.8rem;
	color: var(--dr-cyan);
}
.dr-formwrap {
	max-width: 760px;
}
.dr-prod-line {
	font-family: var(--dr-font-label);
	letter-spacing: 0.06em;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--dr-rule);
	margin-bottom: 1.25rem;
}
.dr-prod-name {
	color: var(--dr-cyan);
}
.dr-form .jetpack-contact-form .grunion-field-wrap {
	margin-bottom: 1.1rem;
}
.dr-form .jetpack-contact-form label {
	font-family: var(--dr-font-label);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.75rem;
	color: rgba(244, 247, 247, 0.8);
	margin-bottom: 0.4rem;
}
.dr-form .wp-block-button {
	margin-top: 0.5rem;
}
.wp-block-jetpack-contact-form input,
.wp-block-jetpack-contact-form textarea,
.wp-block-jetpack-contact-form select {
	background: var(--dr-ink);
	border: 1px solid var(--dr-rule);
	color: var(--dr-txt);
	border-radius: 6px;
	padding: 0.85rem 1rem;
	width: 100%;
}
.wp-block-jetpack-contact-form input:focus,
.wp-block-jetpack-contact-form textarea:focus {
	border-color: var(--dr-cyan);
	outline: none;
}

/* === hero === */
.dr-herocover {
	min-height: 100svh;
}
.dr-herocover .wp-block-cover__inner-container {
	max-width: none;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	min-height: 100svh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--dr-gutter);
	padding-bottom: clamp(3rem, 9vh, 6rem);
}
.dr-hero-title {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	font-size: clamp(3rem, 11vw, 8.5rem);
	line-height: 0.85;
	color: var(--dr-txt);
	margin: 0.5rem 0 0.4rem;
}
.dr-hero-title .cm,
.dr-sec-title .cm,
.dr-band-title .cm,
.dr-cta-title .cm {
	color: var(--dr-cyan);
}
.dr-claim {
	font-family: var(--dr-font-head);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	color: var(--dr-red);
	font-size: clamp(1rem, 2.4vw, 1.4rem);
	border-left: 3px solid var(--dr-red);
	padding-left: 0.9rem;
}

/* === sections / labels === */
.dr-band {
	min-height: 70vh;
}
.dr-band .wp-block-cover__inner-container,
.dr-cta .wp-block-cover__inner-container {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: clamp(2rem, 6vw, 5rem);
}
.dr-band-title,
.dr-cta-title {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	font-size: clamp(2.4rem, 6.5vw, 5rem);
	line-height: 0.92;
	color: var(--dr-txt);
}
.dr-cta {
	min-height: 85vh;
}
.dr-cta-title {
	font-size: clamp(2.6rem, 8vw, 6.5rem);
}
.dr-sec-alt {
	background: var(--dr-ink);
}
.dr-bignum {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	font-size: clamp(6rem, 18vw, 15rem);
	line-height: 0.8;
	color: rgba(244, 247, 247, 0.05);
	margin: 0;
	position: absolute;
	top: -0.3em;
	right: 0.05em;
	z-index: 0;
	pointer-events: none;
	user-select: none;
}
.dr-bignum + * {
	position: relative;
	z-index: 1;
}
.dr-card-title {
	font-family: var(--dr-font-head);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 1.35rem;
	letter-spacing: 0.02em;
}

/* === video cards === */
.dr-videos {
	gap: 1.5rem;
}
.dr-video-frame {
	aspect-ratio: 16 / 9;
	background: #000;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
	border: 1px solid var(--dr-rule);
	margin-bottom: 1rem;
}
.dr-video-frame p {
	font-size: 2.5rem;
	color: var(--dr-cyan);
	margin: 0;
}

/* === blog post list === */
.dr-postlist {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: var(--wp--preset--spacing--lg);
}
.dr-postlist li {
	background: var(--dr-bg);
	border: 1px solid var(--dr-rule);
	border-radius: 6px;
	padding: 1rem;
	position: relative;
	overflow: hidden;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s;
}
.dr-postlist li:hover {
	transform: translateY(-6px);
	border-color: var(--dr-cyan);
}
.dr-post-img img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.dr-post-title {
	margin: 1rem 0 0.35rem;
}
.dr-post-title a {
	color: var(--dr-txt);
	font-family: var(--dr-font-head);
	text-transform: uppercase;
	font-size: 1.2rem;
}
.dr-post-title a:hover {
	color: var(--dr-cyan);
}
.dr-post-date {
	font-family: var(--dr-font-label);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dr-cyan);
}
.dr-post-exc {
	font-size: 0.95rem;
	color: rgba(244, 247, 247, 0.75);
}
.dr-post-cat {
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--dr-red);
}
.dr-post-cat a {
	color: var(--dr-red);
}
.wp-block-query-pagination {
	margin-top: var(--wp--preset--spacing--lg);
}
.wp-block-query-pagination a {
	color: var(--dr-cyan);
	font-family: var(--dr-font-label);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* === product teaser list === */
.dr-productlist {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	margin-top: var(--wp--preset--spacing--lg);
}
.dr-productlist li {
	background: var(--dr-bg);
	border: 1px solid var(--dr-rule);
	border-radius: 6px;
	padding: 0.8rem;
	overflow: hidden;
	transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.35s;
}
.dr-productlist li:hover {
	transform: translateY(-6px);
	border-color: var(--dr-cyan);
}
.dr-product-img img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.dr-product-name {
	margin: 0.8rem 0 0;
}
.dr-product-name a {
	color: var(--dr-txt);
	font-family: var(--dr-font-head);
	text-transform: uppercase;
	font-size: 1.1rem;
}
.dr-product-name a:hover {
	color: var(--dr-cyan);
}

/* === footer === */
.dr-footer-tagline {
	font-family: var(--dr-font-label);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.8rem;
	color: var(--dr-cyan);
}
.dr-footer-contact {
	display: grid;
	gap: .85rem;
	margin-top: 1.2rem;
}
.dr-footer-contact .dr-socials {
	justify-content: flex-start;
}
.dr-footer-contact .dr-social-link {
	width: 32px;
	height: 32px;
}
.dr-copy {
	font-family: var(--dr-font-label);
	font-size: 0.78rem;
	letter-spacing: 0.08em;
	color: rgba(244, 247, 247, 0.6);
}
.dr-footnav a {
	color: var(--dr-txt);
	font-family: var(--dr-font-label);
	font-size: 0.82rem;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.dr-footnav a:hover {
	color: var(--dr-cyan);
}

/* === sub-hero (interior pages) === */
.dr-subhero {
	min-height: 80vh;
}
.dr-subhero .wp-block-cover__inner-container {
	max-width: none;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
	min-height: 80vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: var(--dr-gutter);
	padding-bottom: clamp(2.5rem, 7vh, 5rem);
}

/* === team grid === */
.dr-team {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.dr-team > *,
.dr-race-grid > * {
	margin-block-start: 0;
}
.dr-member {
	position: relative;
}
.dr-member-lead {
	border-color: var(--dr-cyan);
}
.dr-member-img {
	margin: 0 0 1rem;
}
.dr-member-img img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.dr-member-name {
	margin: 0 0 0.25rem;
}
.dr-member-role {
	font-family: var(--dr-font-label);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.75rem;
	color: var(--dr-cyan);
	margin: 0 0 0.5rem;
}

/* === season === */
.dr-race-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}
.dr-race-img {
	margin: 0 0 1rem;
}
.dr-race-img img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 4px;
}
.dr-race-num {
	font-family: var(--dr-font-display);
	color: var(--dr-cyan);
	font-size: 1.2rem;
}
.dr-race-date,
.dr-race-venue {
	font-family: var(--dr-font-label);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.78rem;
}
.dr-race-status {
	color: var(--dr-red);
	font-family: var(--dr-font-label);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.78rem;
}

/* === responsive === */
@media (max-width: 980px) {
	.dr-postlist,
	.dr-productlist {
		grid-template-columns: repeat(2, 1fr);
	}
	.dr-team {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 782px) {
	.dr-sec-title { font-size: 2.4rem; }
	.dr-hero-title { font-size: clamp(2.6rem, 14vw, 4rem); }
	.dr-postlist,
	.dr-productlist,
	.dr-team,
	.dr-race-grid {
		grid-template-columns: 1fr;
	}
	.dr-nav {
		justify-content: space-between;
	}
}

/* === home: hero === */
.dr-hero {
	position: relative;
}
.dr-hero .wp-block-cover__inner-container {
	display: flex;
	align-items: flex-end;
	min-height: 100vh;
}
.dr-hero .wp-block-group {
	padding-bottom: 9vh;
}
.dr-hero-logo {
	font-family: var(--dr-font-display);
	font-size: clamp(3.4rem, 12vw, 10rem);
	line-height: 0.9;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.dr-logo-accent {
	color: var(--wp--preset--color--primary);
}
.dr-hero .dr-eyebrow {
	margin-bottom: 1.2rem;
}
.dr-claim {
	font-family: var(--dr-font-head);
	font-size: 1.4rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 1.1rem 0 0;
}
.dr-hero-cta {
	margin-top: 2rem;
}
.dr-scrollcue {
	margin-top: 5vh;
	color: var(--wp--preset--color--primary);
}
.dr-scrollcue p {
	font-family: var(--dr-font-label);
	font-size: 0.75rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin: 0;
	padding-left: 1.6rem;
	position: relative;
}
.dr-scrollcue p::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1.1rem;
	height: 2px;
	background: currentColor;
	transform: translateY(-50%);
}
@media (prefers-reduced-motion: no-preference) {
	.dr-hero .wp-block-cover__image-background {
		animation: drBgZoom 16s ease-out forwards;
	}
}
@keyframes drBgZoom {
	from { transform: scale(1); }
	to { transform: scale(1.14); }
}

/* === home: story timeline === */
.dr-story {
	margin-top: 2rem;
}
.dr-home-ready .dr-story {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 3rem;
	min-height: 84vh;
}
.dr-story-rail {
	display: none;
}
.dr-home-ready .dr-story-rail {
	display: block;
	position: relative;
	padding: 1rem 0 1rem 2.2rem;
}
.dr-story-rail::before {
	content: "";
	position: absolute;
	left: 7px;
	top: 0;
	bottom: 0;
	width: 2px;
	background: rgba(244, 247, 247, 0.14);
}
.dr-story-rail::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 0;
	width: 2px;
	background: var(--wp--preset--color--primary);
	height: calc(var(--dr-rail, 0) * 1%);
}
.dr-rail-node {
	margin: 0 0 2.4rem;
	padding-left: 0.4rem;
	position: relative;
}
.dr-rail-node::before {
	content: "";
	position: absolute;
	left: -2.15rem;
	top: 0.35rem;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid rgba(244, 247, 247, 0.3);
	background: var(--wp--preset--color--background);
	transition: background 0.3s, border-color 0.3s;
}
.dr-rail-node.is-active::before {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}
.dr-node-num {
	font-family: var(--dr-font-display);
	font-size: 1.9rem;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.2rem;
	opacity: 0.4;
	transition: opacity 0.3s;
}
.dr-rail-node.is-active .dr-node-num { opacity: 1; }
.dr-node-word {
	font-family: var(--dr-font-label);
	font-size: 0.78rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 0;
	opacity: 0.55;
	transition: opacity 0.3s, color 0.3s;
}
.dr-rail-node.is-active .dr-node-word { opacity: 1; color: var(--wp--preset--color--primary); }

.dr-home-ready .dr-stage {
	position: relative;
	min-height: 72vh;
}
.dr-home-ready .dr-act {
	position: absolute;
	inset: 0;
}
.dr-act {
	display: grid;
	grid-template-columns: 1.35fr 1fr;
	gap: 2.5rem;
	align-items: center;
}
.dr-act-img {
	margin: 0;
	padding: 0;
	border: 0;
}
.dr-act-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
	display: block;
}
.dr-act-copy {
	padding-right: 1rem;
}
.dr-act-copy::before {
	content: "";
	display: block;
	width: 3.4rem;
	height: 3px;
	background: var(--wp--preset--color--primary);
	margin-bottom: 1.4rem;
}
.dr-act-kicker {
	font-family: var(--dr-font-label);
	font-size: 0.78rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.8rem;
}
.dr-act-title {
	font-family: var(--dr-font-display);
	font-size: clamp(2rem, 4vw, 3.2rem);
	line-height: 0.95;
	text-transform: uppercase;
	margin: 0 0 1rem;
}
.dr-act-text {
	color: rgba(244, 247, 247, 0.85);
	margin: 0;
}

/* === home: racing highlights === */
.dr-hl-viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: thin;
}
.dr-home-ready .dr-hl-viewport {
	overflow: hidden;
}
.dr-hl-track {
	list-style: none;
	display: flex;
	gap: 1.5rem;
	align-items: stretch;
	margin: 0;
	padding: 0;
	will-change: transform;
	transition: transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.dr-hl-track.is-dragging {
	transition: none;
}
.dr-hl-track > li {
	flex: 0 0 340px;
	margin-block-start: 0;
}
.dr-hl-card {
	margin-block-start: 0;
	height: 100%;
}
.dr-hl-card .wp-block-post-featured-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
}
.dr-hl-title {
	margin: 1rem 0 0.4rem;
}
.dr-hl-title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}
.dr-hl-date {
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.6rem;
}
.dr-hl-exc {
	color: rgba(244, 247, 247, 0.8);
	font-size: 0.95rem;
	margin: 0;
}
.dr-hl-nav {
	gap: 0.6rem;
}
.dr-hl-prev,
.dr-hl-next {
	min-width: 0;
}
.dr-hl-prev .wp-element-button,
.dr-hl-next .wp-element-button {
	width: 3rem;
	padding: 0.6rem 0;
	text-align: center;
	font-size: 1.4rem;
	line-height: 1;
}
.dr-hl-prev .wp-element-button.is-disabled,
.dr-hl-next .wp-element-button.is-disabled {
	opacity: 0.32;
	cursor: default;
}

/* === home: before / after === */
.dr-ba {
	position: relative;
	aspect-ratio: 16 / 9;
	margin-top: 1.5rem;
	overflow: hidden;
	border: 0;
	user-select: none;
	touch-action: pan-y;
	cursor: ew-resize;
}
.dr-ba-b,
.dr-ba-top {
	position: absolute;
	inset: 0;
	margin: 0;
}
.dr-ba-b img,
.dr-ba-top img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.dr-ba-top {
	clip-path: inset(0 50% 0 0);
}
.dr-ba-handle {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 2px;
	margin-block-start: 0;
	background: var(--wp--preset--color--primary);
	z-index: 3;
}
.dr-ba-handle::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
}
.dr-ba-label {
	position: absolute;
	top: 1rem;
	z-index: 4;
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--background);
	background: var(--wp--preset--color--primary);
	padding: 0.3rem 0.7rem;
	margin: 0;
}
.dr-ba-label--l { left: 1rem; }
.dr-ba-label--r { right: 1rem; background: rgba(10,10,13,0.6); color: var(--wp--preset--color--text); }

/* === home: float band === */
.dr-float {
	position: relative;
	overflow: hidden;
}
.dr-float-el {
	position: absolute;
	color: var(--wp--preset--color--primary);
	opacity: 0.16;
	pointer-events: none;
}
.dr-float--helm { top: 12%; left: 6%; }
.dr-float--tire { top: 20%; right: 8%; }
.dr-float--flag { bottom: 8%; left: 18%; }
@media (prefers-reduced-motion: no-preference) {
	.dr-float--helm { animation: drFloat 9s ease-in-out infinite; }
	.dr-float--tire { animation: drFloat 12s ease-in-out infinite reverse; }
	.dr-float--flag { animation: drFloat 10s ease-in-out infinite 0.5s; }
}
@keyframes drFloat {
	0%, 100% { transform: translateY(0) rotate(-4deg); }
	50% { transform: translateY(-26px) rotate(4deg); }
}

/* === home: stats === */
.dr-stats-row {
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin: 2.5rem 0 1rem;
}
.dr-stat {
	flex: 1 1 200px;
	padding: 2rem;
	border: 1px solid rgba(244, 247, 247, 0.35);
	background: var(--wp--preset--color--ink);
}
.dr-stat-num {
	display: block;
	font-family: var(--dr-font-display);
	font-size: clamp(3rem, 7vw, 5rem);
	line-height: 0.9;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.8rem;
}
.dr-stat-label {
	font-family: var(--dr-font-label);
	font-size: 0.78rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 0;
}
.dr-stat--ph .dr-stat-num,
.dr-stat--ph .dr-stat-label {
	color: rgba(244, 247, 247, 0.4);
}
.dr-stat--ph {
	border-style: dashed;
}
.dr-stats-note {
	font-size: 0.9rem;
	color: rgba(244, 247, 247, 0.6);
	margin: 0;
}

/* === home: market + cta === */
.dr-cta-sec .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	min-height: 70vh;
	max-width: 900px;
	margin-inline: auto;
	padding: clamp(2.5rem, 6vw, 4rem);
	text-align: center;
}
.dr-cta-sec .wp-block-cover__image-background {
	filter: brightness(1.32) saturate(1.06);
}
.dr-cta-sec .wp-block-cover__background.has-background-dim {
	opacity: 0.4;
}
.dr-cta-sec::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		radial-gradient(130% 95% at 50% 50%, rgba(10,10,14,.5) 0%, rgba(10,10,14,.24) 48%, rgba(10,10,14,0) 80%),
		linear-gradient(180deg, rgba(10,10,14,.32) 0%, rgba(10,10,14,.1) 40%, rgba(10,10,14,.1) 62%, rgba(10,10,14,.36) 100%);
}
.dr-cta-title {
	font-family: var(--dr-font-display);
	font-size: clamp(2.6rem, 8vw, 6.5rem);
	line-height: 0.92;
	text-transform: uppercase;
	margin: 1rem 0 1.6rem;
}
.dr-cta-actions {
	margin-top: 0.4rem;
}

/* === home: responsive === */
@media (max-width: 820px) {
	.dr-hero .wp-block-cover__inner-container { align-items: flex-end; }
	.dr-home-ready .dr-story {
		display: block;
		min-height: 0;
	}
	.dr-home-ready .dr-stage { position: static; min-height: 0; }
	.dr-home-ready .dr-act { position: static; inset: auto; }
	.dr-act { grid-template-columns: 1fr; gap: 1.2rem; margin-bottom: 3rem; }
	.dr-home-ready .dr-story-rail { display: none; }
	.dr-hl-track > li { flex: 0 0 82vw; }
	.dr-hl-card { flex: none; }
	.dr-ba { aspect-ratio: 4 / 3; }
	.dr-float--helm { left: 2%; }
	.dr-float--tire { right: 2%; }
}

/* === season: racing HUD === */
.dr-hud {
	position: relative;
	margin-top: 2.5rem;
}
.dr-hud-frame {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(244, 247, 247, 0.35);
	border-radius: 14px;
	background: var(--wp--preset--color--background);
}
.dr-hud-bg {
	margin: 0;
	height: clamp(280px, 46vw, 440px);
	overflow: hidden;
}
.dr-hud-bg img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	filter: brightness(0.82) saturate(1.05);
	will-change: transform;
}
.dr-hud-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}
.dr-circuit {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
.dr-circuit-line {
	fill: none;
	stroke: var(--wp--preset--color--primary);
	stroke-width: 3;
	stroke-linecap: round;
	stroke-dasharray: 900;
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 2.2s cubic-bezier(0.6, 0, 0.2, 1);
	filter: drop-shadow(0 0 6px rgba(244, 247, 247, 0.85));
}
.dr-hud-overlay::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -45%;
	height: 45%;
	z-index: 3;
	background: linear-gradient(180deg, transparent, rgba(244, 247, 247, 0.10), transparent);
	animation: dr-hud-scan 7s linear infinite;
}
@keyframes dr-hud-scan {
	from { transform: translateY(0); }
	to { transform: translateY(240vh); }
}
.dr-hud-read {
	position: absolute;
	left: 2rem;
	bottom: 2rem;
	z-index: 4;
	flex-direction: column;
	gap: 0.35rem;
	padding: 1rem 1.4rem;
	border-left: 3px solid var(--wp--preset--color--primary);
	background: linear-gradient(90deg, rgba(10,10,14,0.74), rgba(10,10,14,0.5) 55%, rgba(10,10,14,0));
	transition: opacity 0.7s 0.3s, transform 0.7s 0.3s;
}
.dr-hud-label,
.dr-hud-tag {
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0;
}
.dr-hud-value {
	font-family: var(--dr-font-display);
	font-size: 1.6rem;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	margin: 0.1rem 0;
}
/* hidden start — only while JS is about to animate */
html.js .dr-hud.is-anim .dr-circuit-line { stroke-dashoffset: 900; }
html.js .dr-hud.is-anim .dr-hud-read { opacity: 0; transform: translateY(14px); }
html.js .dr-hud.is-in .dr-circuit-line { stroke-dashoffset: 0; }
html.js .dr-hud.is-in .dr-hud-read { opacity: 1; transform: none; }

/* === reduced motion === */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
		scroll-behavior: auto !important;
	}
	.js .dr-reveal,
	.js .dr-reveal.dr-left,
	.js .dr-reveal.dr-right,
	.js .dr-reveal.dr-up {
		opacity: 1;
		transform: none;
	}
	.js .dr-auto-reveal {
		opacity: 1;
		transform: none;
	}
	.dr-ticker-track {
		animation: none;
	}
	.dr-hero::before,
	.dr-cta-sec::before,
	.dr-hub-scene::before {
		opacity: 0 !important;
	}
}

/* === home: kart-parts market — garage / pitwall === */
.dr-productlist {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 1.5rem;
	margin-top: var(--wp--preset--spacing--lg);
}
.dr-productlist li {
	grid-column: span 4;
	background: var(--dr-bg);
	border: 1px solid var(--dr-rule);
	border-radius: 10px;
	padding: 1rem;
	overflow: hidden;
	align-items: stretch;
	flex-direction: column;
	justify-content: space-between;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), border-color 0.4s;
}
.dr-productlist li:first-child {
	grid-column: span 12;
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 1.5rem;
	align-items: center;
}
.dr-productlist li:hover {
	transform: translateY(-6px);
	border-color: var(--dr-cyan);
}
.dr-productlist .dr-product-img {
	margin: 0;
	overflow: hidden;
	border-radius: 6px;
}
.dr-productlist .dr-product-img img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 6px;
	display: block;
	transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}
.dr-productlist li:hover .dr-product-img img {
	transform: scale(1.06);
}
.dr-product-body {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
}
.dr-badge {
	margin: 0;
	font-family: var(--dr-font-label);
	font-size: 0.62rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	border: 1px solid rgba(244, 247, 247, 0.5);
	background: rgba(244, 247, 247, 0.08);
	border-radius: 999px;
	padding: 0.25rem 0.7rem;
}
.dr-product-cat {
	margin: 0.2rem 0 0;
	font-family: var(--dr-font-label);
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, 0.55);
}
.dr-product-cat a { color: rgba(244, 247, 247, 0.55); text-decoration: none; }
.dr-product-cat a:hover { color: var(--dr-cyan); }
.dr-product-name {
	margin: 0.2rem 0 0;
}
.dr-product-name a {
	color: var(--dr-txt);
	font-family: var(--dr-font-head);
	text-transform: uppercase;
	font-size: 1.1rem;
	text-decoration: none;
}
.dr-product-name a:hover { color: var(--dr-cyan); }
.dr-product-body .wc-block-components-product-price,
.dr-product-body .woocommerce-Price-amount {
	color: var(--wp--preset--color--primary);
	font-family: var(--dr-font-head);
	font-weight: 600;
	font-size: 1.3rem;
}

@media (max-width: 980px) {
	.dr-productlist { grid-template-columns: 1fr 1fr; }
	.dr-productlist li:first-child { grid-column: span 2; grid-template-columns: 1fr; }
}
@media (max-width: 820px) {
	.dr-productlist {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 1rem;
		padding-bottom: 0.5rem;
		scroll-snap-type: x proximity;
	}
	.dr-productlist li,
	.dr-productlist li:first-child {
		flex: 0 0 78vw;
		grid-column: auto;
		display: flex;
		flex-direction: column;
	}
}

/* ==== FINAL CHOREOGRAPHY ==== */

/* --- Homepage shop rail: equal cards + continuous WooCommerce marquee --- */
.dr-market {
	overflow: hidden;
}
.dr-market .dr-productlist > li:first-child {
	grid-column: span 4;
	display: flex;
	grid-template-columns: none;
	align-items: stretch;
}
.dr-market .wp-block-query {
	position: relative;
	width: 100%;
	overflow: hidden;
	padding-block: .35rem .7rem;
}
.dr-market .dr-productlist.dr-market-marquee {
	display: flex;
	flex-wrap: nowrap;
	width: max-content;
	max-width: none;
	gap: clamp(1rem, 1.8vw, 1.5rem);
	margin-block: 1.75rem .5rem;
	animation: dr-market-marquee 54s linear infinite;
	will-change: transform;
}
.dr-market .dr-productlist.dr-market-marquee > li,
.dr-market .dr-productlist.dr-market-marquee > li:first-child {
	flex: 0 0 clamp(245px, 22vw, 320px);
	width: clamp(245px, 22vw, 320px);
	min-height: 100%;
	margin: 0;
	grid-column: auto;
	display: flex;
	grid-template-columns: none;
	align-items: stretch;
}
.dr-market .dr-productlist.dr-market-marquee .dr-product-img img {
	aspect-ratio: 4 / 3;
	width: 100%;
	object-fit: contain;
	background: #fff !important;
	mix-blend-mode: normal !important;
}

/* Homepage product marquee: keep the supplied white-backed kart artwork intact. */
.dr-market .dr-productlist.dr-market-marquee .dr-product-img {
	background: #fff !important;
}
.dr-market .dr-productlist.dr-market-marquee > li.product_cat-kart-chassis .dr-product-img,
.dr-market .dr-productlist.dr-market-marquee > li.product_cat-kart-chassis .dr-product-img img {
	aspect-ratio: 1500 / 740;
}
.dr-market .dr-productlist.dr-market-marquee > li.product_cat-kart-chassis .dr-product-img img {
	height: auto !important;
	object-position: center;
}
.dr-market .dr-productlist.dr-market-marquee .dr-market-marquee-copy {
	pointer-events: none;
}
.dr-market .wp-block-query::before,
.dr-market .wp-block-query::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: clamp(1rem, 4vw, 4rem);
	z-index: 2;
	pointer-events: none;
}
.dr-market .wp-block-query::before {
	left: 0;
	background: linear-gradient(90deg, var(--dr-bg), transparent);
}
.dr-market .wp-block-query::after {
	right: 0;
	background: linear-gradient(270deg, var(--dr-bg), transparent);
}
@keyframes dr-market-marquee {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(calc(-50% - .75rem), 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.dr-market .dr-productlist.dr-market-marquee {
		animation: none;
		width: 100%;
		flex-wrap: wrap;
	}
	.dr-market .dr-productlist.dr-market-marquee .dr-market-marquee-copy {
		display: none;
	}
}

/* ---- Hero: Lights Out ---- */
.dr-hero { position: relative; }
.dr-hero .wp-block-cover__background.has-background-dim { opacity: 0.22; }
.dr-hero .wp-block-cover__image-background { filter: brightness(1.12) saturate(1.05); }
.dr-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(10,10,14,0.30) 0%, rgba(10,10,14,0.06) 35%, rgba(10,10,14,0.06) 60%, rgba(10,10,14,0.52) 100%),
		radial-gradient(120% 90% at 50% 58%, rgba(10,10,14,0.38), rgba(10,10,14,0) 70%);
}
.dr-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.dr-hero-logo .dr-logo-l {
	display: inline-block;
	transform-origin: left center;
}
.dr-hero::before {
	content: "";
	position: absolute;
	left: -20%;
	top: 0;
	bottom: 0;
	width: 34%;
	z-index: 2;
	pointer-events: none;
	background: linear-gradient(100deg, transparent, rgba(244,247,247,0.12), transparent);
	animation: dr-streak 10s linear infinite;
}
@keyframes dr-streak {
	0% { transform: translateX(-40%) skewX(-12deg); opacity: 0; }
	12% { opacity: 1; }
	60% { opacity: 1; }
	100% { transform: translateX(560%) skewX(-12deg); opacity: 0; }
}

/* ---- Story: fixed racing scene ---- */
.dr-home-ready .dr-act { position: relative; }
.dr-home-ready .dr-act::before {
	content: "";
	font-family: var(--dr-font-display);
	font-size: clamp(7rem, 20vw, 15rem);
	line-height: 0.8;
	position: absolute;
	right: -0.04em;
	top: -0.1em;
	z-index: 0;
	color: rgba(244,247,247,0.055);
	pointer-events: none;
}
.dr-home-ready .dr-act:nth-child(1)::before { content: "01"; }
.dr-home-ready .dr-act:nth-child(2)::before { content: "02"; }
.dr-home-ready .dr-act:nth-child(3)::before { content: "03"; }
.dr-home-ready .dr-act:nth-child(4)::before { content: "04"; }
.dr-home-ready .dr-act > * { position: relative; z-index: 2; }
.dr-act-img img { will-change: transform; }
.dr-rail-dot {
	position: absolute;
	left: 1px;
	top: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 5px rgba(244,247,247,0.18), 0 0 18px 4px rgba(244,247,247,0.5);
	transform: translateY(-50%);
	z-index: 3;
	pointer-events: none;
}
.dr-rail-node { position: relative; z-index: 2; }

/* ---- Hub: from a point to the racing world ---- */
.dr-hub { position: relative; }
.dr-hub-head { text-align: center; }
.dr-hub-head .dr-sec-title { margin-bottom: 0.25rem; }
.dr-hub-scene {
	position: relative;
	display: grid;
	place-items: center;
	padding-top: 1rem;
	min-height: 0;
}
.dr-home-ready .dr-hub-scene::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 12px;
	height: 12px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 0 rgba(244,247,247,0.55);
	z-index: 3;
	pointer-events: none;
	opacity: 0;
}
.dr-home-ready .dr-hub-scene.dr-hub-in::before {
	animation: dr-hub-grow 1.1s ease-out 0.15s forwards;
}
@keyframes dr-hub-grow {
	0%   { opacity: 0; transform: translate(-50%, -50%) scale(0.4); box-shadow: 0 0 0 0 rgba(244,247,247,0.5); }
	30%  { opacity: 1; transform: translate(-50%, -50%) scale(1.5); box-shadow: 0 0 0 22px rgba(244,247,247,0.25); }
	55%  { opacity: 1; transform: translate(-50%, -50%) scale(0.9); box-shadow: 0 0 0 46px rgba(244,247,247,0); }
	100% { opacity: 0; transform: translate(-50%, -50%) scale(0.9); box-shadow: 0 0 0 64px rgba(244,247,247,0); }
}
.dr-home-ready .dr-hub-scene::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 2px;
	height: 200px;
	background: linear-gradient(180deg, var(--wp--preset--color--primary), rgba(244,247,247,0));
	transform-origin: top;
	transform: translateX(-50%) scaleY(0);
	z-index: 2;
	pointer-events: none;
	opacity: 0;
}
.dr-home-ready .dr-hub-scene.dr-hub-in::after {
	animation: dr-hub-line 1.7s ease-out 0.85s forwards;
}
@keyframes dr-hub-line {
	0%   { opacity: 1; transform: translateX(-50%) scaleY(0); }
	55%  { opacity: 1; transform: translateX(-50%) scaleY(1); }
	100% { opacity: 0; transform: translateX(-50%) scaleY(1); }
}
.dr-hub-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-top: 2.75rem;
	width: 100%;
}
.dr-hub-card {
	background: var(--dr-bg);
	border: 1px solid var(--dr-rule);
	border-radius: 10px;
	padding: 1rem;
	overflow: hidden;
}
.dr-hub-img { margin: 0; border-radius: 6px; overflow: hidden; }
.dr-hub-img img { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; border-radius: 6px; }
.dr-hub-title { font-family: var(--dr-font-display); text-transform: uppercase; font-size: 1.4rem; margin: 0.8rem 0 0.35rem; line-height: 0.95; }
.dr-hub-text { color: rgba(244,247,247,0.78); font-size: 0.92rem; margin: 0 0 0.9rem; }
.dr-hub-card .wp-block-buttons .wp-element-button { width: 100%; }

/* ---- Highlights: centered racing-carousel stage ---- */
.wp-block-group.dr-hl-nav { display: none; }
.dr-home-ready .dr-hl-viewport {
	position: relative;
	margin-bottom: 3rem;
}
.dr-home-ready .dr-hl-track {
	position: relative;
	height: 440px;
	display: block;
	margin: 0 auto;
	max-width: 1000px;
	transition: none;
}
.dr-home-ready .dr-hl-track > li {
	position: absolute;
	top: 0;
	left: 50%;
	width: min(540px, 94%);
	flex: none;
	margin: 0;
	transform-origin: center center;
	will-change: transform, opacity;
}
.dr-home-ready .dr-hl-track > li .dr-hl-card {
	height: 100%;
	width: 100%;
	margin: 0;
	box-shadow: 0 26px 54px rgba(0,0,0,0.5);
	overflow: hidden;
}
.dr-home-ready .dr-hl-nav {
	display: flex;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	justify-content: space-between;
	z-index: 300;
	pointer-events: none;
}
.dr-home-ready .dr-hl-nav .wp-block-button { pointer-events: auto; }
.dr-home-ready .dr-hl-nav .wp-element-button {
	width: 54px;
	height: 54px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
	background: rgba(19,19,24,0.72);
	border: 1px solid rgba(244,247,247,0.4);
}
.dr-home-ready .dr-hl-nav .wp-element-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 3px;
}
.dr-home-ready .dr-hl-nav .wp-element-button:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--primary);
}
.dr-home-ready .dr-hl-count {
	position: absolute;
	bottom: 1.1rem;
	left: 50%;
	transform: translateX(-50%);
	font-family: var(--dr-font-label);
	font-size: 0.82rem;
	letter-spacing: 0.28em;
	color: rgba(244,247,247,0.6);
	z-index: 5;
}

/* ---- CTA: final lap ---- */
.dr-cta-sec::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(205deg, transparent 30%, rgba(244,247,247,0.06) 48%, transparent 66%);
}
.dr-cta-sec .wp-block-cover__image-background { will-change: transform; }

@media (max-width: 980px) {
	.dr-hub-grid { grid-template-columns: repeat(2, 1fr); gap: 1.2rem; }
}
@media (max-width: 600px) {
	.dr-hub-grid { grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
	.dr-home-ready .dr-hl-track { height: 460px; }
	.dr-home-ready .dr-hl-track > li { position: absolute; width: 92%; }
	.dr-home-ready .dr-hl-nav { display: none; }
	.dr-home-ready .dr-hl-count { bottom: 0.4rem; }
}
@media (min-width: 601px) and (max-width: 900px) {
	.dr-home-ready .dr-hl-track > li { width: min(440px, 92%); }
}

/* ==== OPTIMIZATION ROUND: story sync, deck polish, market rotation ==== */
/* --- Story: gliding dot follows the active station --- */
.dr-home-ready .dr-rail-dot {
	transition: top 0.5s cubic-bezier(0.6, 0.05, 0.28, 0.91);
}
.dr-home-ready .dr-rail-node {
	cursor: pointer;
}
.dr-home-ready .dr-rail-node .dr-node-word {
	transition: opacity 0.3s, color 0.3s;
}
.dr-home-ready .dr-rail-node:hover .dr-node-word {
	color: var(--wp--preset--color--primary);
	opacity: 1;
}
/* --- Story: mobile acts compact, each a focused block --- */
@media (max-width: 820px) {
	.dr-home-ready .dr-act,
	.dr-act { margin-bottom: 2rem; }
	.dr-home-ready .dr-act { position: static; inset: auto; }
	.dr-act-title { font-size: clamp(1.7rem, 7vw, 2.4rem); }
}
@media (max-width: 820px) {
	.dr-hl-nav { display: none !important; }
}

/* --- Racing Highlights: category chip + archive CTA --- */
.dr-hl-card .dr-hl-cat {
	display: inline-block;
	font-family: var(--dr-font-label);
	font-size: 0.68rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	border: 1px solid rgba(244,247,247,0.4);
	border-radius: 999px;
	padding: 0.15rem 0.6rem;
	margin: 0.4rem 0 0.2rem;
}
.dr-hl-cta {
	margin-top: 2.25rem;
	text-align: center;
}
.dr-hl-cta .wp-element-button {
	font-family: var(--dr-font-label);
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* --- Kartteile: pit-lane featured rotation --- */
.dr-productlist li {
	transition: box-shadow 0.4s, transform 0.4s, border-color 0.4s;
}
.dr-productlist li:first-child {
	transition: box-shadow 0.4s, transform 0.4s, border-color 0.4s;
}
@media (max-width: 820px) {
	.dr-productlist {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
	}
	.dr-productlist li,
	.dr-productlist li:first-child {
		scroll-snap-align: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	.dr-productlist { overflow-x: auto; }
}

/* ------------------------------------------------------------------ *
 * STORY — true sticky-scroll stage (vanilla, shared progress variable)
 * ------------------------------------------------------------------ */
.dr-home-ready .dr-story {
	display: grid;
	grid-template-columns: 250px 1fr;
	gap: 2.5rem;
	align-items: start;
	position: relative;
	height: 360vh; /* the scroll track: keeps the stage in view through all 4 phases */
}
.dr-home-ready .dr-story-rail {
	position: sticky;
	top: 12vh;
	height: 76vh;
	align-self: start;
}
.dr-home-ready .dr-stage {
	position: sticky;
	top: 8vh;
	height: 84vh;
	overflow: hidden;
	align-self: start;
}
/* Exactly one content act is visible; it crossfades against the next. */
.dr-home-ready .dr-act {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .5s ease, visibility .5s ease;
}
.dr-home-ready .dr-act.is-visible {
	opacity: 1;
	visibility: visible;
}
.dr-home-ready .dr-act .dr-act-img img {
	max-height: 62vh;
	width: auto;
	object-fit: cover;
}

/* ------------------------------------------------------------------ *
 * RACING HIGHLIGHTS — deck cards animate via inline transform/opacity
 * ------------------------------------------------------------------ */
.dr-home-ready .dr-hl-track > li {
	will-change: transform, opacity;
	backface-visibility: hidden;
}

/* Mobile: sticky disabled — story collapses to a natural stacked flow. */
@media (max-width: 820px) {
	.dr-mobile-motion-ready .dr-mobile-reveal {
		opacity: 0;
		transform: translate3d(0, 26px, 0) scale(.985);
		will-change: transform, opacity;
		transition: opacity .62s cubic-bezier(.22, 1, .36, 1), transform .62s cubic-bezier(.22, 1, .36, 1);
		transition-delay: calc(var(--dr-mobile-order, 0) * 65ms);
	}
	.dr-mobile-motion-ready .dr-mobile-reveal.is-in-view {
		opacity: 1;
		transform: none;
	}
	.dr-mobile-motion-ready .dr-hero .wp-block-cover__image-background {
		transform: translate3d(0, var(--dr-mobile-parallax, 0px), 0) scale(1.06);
		will-change: transform;
	}
	.dr-mobile-motion-ready .dr-hero-console {
		transform: translate3d(0, var(--dr-mobile-console-shift, 0px), 0);
		will-change: transform;
	}
	.dr-home-ready .dr-story {
		height: auto;
		display: block;
	}
	.dr-home-ready .dr-story-rail,
	.dr-home-ready .dr-stage {
		position: static;
		height: auto;
		overflow: visible;
	}
	.dr-home-ready .dr-act {
		position: static;
		inset: auto;
		opacity: 1;
		visibility: visible;
		transition: none;
	}
	.dr-home-ready .dr-act .dr-act-img img {
		max-height: none;
		width: 100%;
	}
}

/* === home: racing telemetry track background layer === */
#dr-rl {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	z-index: 0;
	pointer-events: none;
	overflow: visible;
}
#dr-rl .rt-l {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}
#dr-rl .rt-cyan {
	stroke: rgba(244, 247, 247, 0.16);
	stroke-width: 1.5;
}
#dr-rl .rt-cyan-glow {
	stroke: rgba(244, 247, 247, 0.22);
	stroke-width: 2.2;
	filter: url(#rt-glow);
}
#dr-rl .rt-blue {
	stroke: rgba(20, 60, 110, 0.5);
	stroke-width: 1.5;
}
#dr-rl .rt-red {
	stroke: rgba(255, 70, 70, 0.3);
	stroke-width: 1.2;
}
#dr-rl .rt-white {
	stroke: rgba(255, 255, 255, 0.24);
	stroke-width: 1.2;
}
#dr-rl .rt-fill {
	fill: rgba(244, 247, 247, 0.9);
	stroke: none;
}
#dr-rl .rt-sec {
	opacity: 0;
}

/* === Highlights: native horizontal filmstrip === */
.dr-hl-viewport {
	position: relative;
	overflow: hidden;
	margin-bottom: 1rem;
}
.wp-block-post-template.dr-hl-track {
	display: flex;
	flex-wrap: nowrap;
	gap: clamp(1rem, 2.4vw, 1.6rem);
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	margin: 0;
	padding: 1.6rem 0 1.2rem;
	list-style: none;
	position: static;
	height: auto;
	max-width: none;
	width: 100%;
	transition: opacity .8s ease, transform .85s cubic-bezier(.2, .7, .2, 1);
}
.wp-block-post-template.dr-hl-track::-webkit-scrollbar {
	display: none;
}
.wp-block-post-template.dr-hl-track > li {
	flex: 0 0 auto;
	width: min(74%, 400px);
	margin: 0;
	position: static;
	left: auto;
	top: auto;
	z-index: auto;
	transform-origin: center center;
	transition: transform .55s cubic-bezier(.3, .6, .2, 1), opacity .55s ease, filter .55s ease;
	will-change: transform, opacity;
}
.wp-block-post-template.dr-hl-track > li .dr-hl-card {
	height: 100%;
}
/* Side-entry reveal (added by JS; cards are already visible without it). */
.dr-hl-track.dr-hl-in {
	opacity: 0;
	transform: translateX(36px);
}
.dr-hl-track.dr-hl-in.dr-hl-go {
	opacity: 1;
	transform: none;
}
/* Visible hint that the strip is scrollable. */
.dr-hl-viewport::after {
	content: "Ziehen oder wischen, um weitere Beiträge zu sehen";
	display: block;
	text-align: center;
	font-size: 0.76rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--text);
	opacity: 0.55;
	margin-top: 1rem;
}
/* Mobile: one card per view, generous touch targets. */
@media (max-width: 600px) {
	.wp-block-post-template.dr-hl-track > li {
		width: 88%;
	}
}
/* The filmstrip moves ONLY while dragging/scroll-snapping — hovering a card
   must not shift it. Neutralise the generic .is-style-card hover lift for the
   racing-highlight cards only; all other cards keep it. */
.dr-hl .is-style-card:hover {
	transform: none;
}
.dr-hl .is-style-card:hover::after {
	opacity: 0;
}

/* === Racing Highlights: mouse-ready carousel controls === */
.dr-home-ready .dr-hl-viewport {
	padding-inline: clamp(2.8rem, 7vw, 7rem);
}
.dr-home-ready .dr-hl-nav {
	inset: 0 clamp(0.25rem, 1.5vw, 1.25rem) auto;
	top: 42%;
	transform: translateY(-50%);
	align-items: center;
	padding: 0;
	box-sizing: border-box;
}
.dr-home-ready .dr-hl-nav .dr-hl-arrow {
	pointer-events: auto;
	width: 3.4rem;
	height: 3.4rem;
	padding: 0;
	border: 1px solid rgba(244,247,247,0.58);
	border-radius: 50%;
	background: rgba(11,13,18,0.88);
	color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 0 rgba(244,247,247,0.35), 0 12px 28px rgba(0,0,0,0.35);
	font-family: var(--dr-font-label);
	font-size: 1.35rem;
	line-height: 1;
	transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease;
}
.dr-home-ready .dr-hl-nav .dr-hl-arrow:hover,
.dr-home-ready .dr-hl-nav .dr-hl-arrow:focus-visible {
	transform: scale(1.08);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--ink);
	box-shadow: 0 0 0 8px rgba(244,247,247,0.1), 0 12px 30px rgba(0,0,0,0.45);
}
.dr-home-ready .dr-hl-nav .dr-hl-arrow:disabled {
	opacity: .65;
	cursor: default;
}
.dr-home-ready .dr-hl-count {
	position: relative;
	left: auto;
	bottom: auto;
	transform: none;
	width: max-content;
	margin: .75rem auto .35rem;
	font-variant-numeric: tabular-nums;
	color: rgba(244,247,247,.72);
}
.dr-home-ready .dr-hl-current {
	color: var(--wp--preset--color--primary);
}
.dr-home-ready .dr-hl-progress {
	width: min(22rem, 72%);
	margin: 0 auto;
	color: rgba(244,247,247,.46);
	font-family: var(--dr-font-label);
	font-size: .62rem;
	letter-spacing: .18em;
	text-align: center;
}
.dr-home-ready .dr-hl-progress-label {
	display: flex;
	justify-content: space-between;
	margin-bottom: .42rem;
}
.dr-home-ready .dr-hl-progress-label b {
	color: var(--wp--preset--color--primary);
	font-weight: 400;
}
.dr-home-ready .dr-hl-progress-track {
	display: block;
	height: 2px;
	background: rgba(244,247,247,.17);
	overflow: hidden;
}
.dr-home-ready .dr-hl-progress-fill {
	display: block;
	height: 100%;
	width: 33.333%;
	background: linear-gradient(90deg, var(--wp--preset--color--primary), rgba(244,247,247,.38));
	box-shadow: 0 0 12px rgba(244,247,247,.55);
	transition: width .55s cubic-bezier(.2,.7,.2,1);
}

@media (max-width: 820px) {
	.dr-home-ready .dr-hl-viewport { padding-inline: 2.7rem; }
	.dr-home-ready .dr-hl-nav { display: none !important; }
	.dr-home-ready .dr-hl-nav .dr-hl-arrow { width: 2.7rem; height: 2.7rem; }
}
@media (prefers-reduced-motion: reduce) {
	.dr-home-ready .dr-hl-nav .dr-hl-arrow,
	.dr-home-ready .dr-hl-progress-fill { transition: none; }
}




/* ===== Meet Deki (page 27) ===== */
/* Progressive enhancement: everything below is the FINAL, fully-visible state.
   team.js only adds hidden start states + scroll motion, never needed for layout. */

.dr-tsec{position:relative;z-index:2;max-width:100vw;overflow:hidden;}
.dr-tsec-alt{background:rgba(255,255,255,0.015);}

.dr-tbignum{
  position:absolute;top:12px;right:clamp(16px,5vw,72px);margin:0;
  font-family:var(--wp--preset--font-family--anton,Anton,sans-serif);
  font-size:clamp(96px,20vw,240px);line-height:0.9;color:rgba(244,247,247,0.05);
  pointer-events:none;user-select:none;z-index:0;
}
.dr-tsec > .wp-block-group{position:relative;z-index:2;}

/* ---- Hero ---- */
.dr-thero{position:relative;z-index:2;min-height:70vh;display:flex;}
.dr-thero .wp-block-cover__inner-container{
  max-width:var(--wp--style--global--content-size,1040px);
  margin:auto;padding-top:10vh;padding-bottom:12vh;}
.dr-thero-eyebrow{
  font-family:var(--wp--preset--font-family--oswald,Oswald,sans-serif);
  text-transform:uppercase;letter-spacing:0.42em;font-size:clamp(11px,1.4vw,14px);
  color:var(--wp--preset--color--primary,#ff2d2d);margin-bottom:1rem;}
.dr-thero-title{
  font-family:var(--wp--preset--font-family--anton,Anton,sans-serif);
  font-size:clamp(64px,15vw,150px);line-height:0.86;margin:0;color:var(--wp--preset--color--text,#f4f7f7);
  text-transform:uppercase;letter-spacing:-0.01em;}
.dr-thero-title .dr-ch{display:inline-block;transform-origin:50% 100%;}
.dr-thero-claim{
  font-family:var(--wp--preset--font-family--space-grotesk,"Space Grotesk",sans-serif);
  font-size:clamp(15px,2vw,20px);color:rgba(244,247,247,0.82);max-width:34ch;margin-top:1.2rem;}

/* ---- Racing Story Track (block 2) ---- */
.dr-rs-stage{max-width:1200px;margin:0 auto;position:relative;min-height:clamp(420px,60vh,620px);display:flex;flex-direction:column;justify-content:center;z-index:2;padding-right:clamp(0px,4vw,64px);}
.dr-rs-stage > .dr-eyebrow,.dr-rs-stage > .dr-rs-title,.dr-rs-stage > .dr-rs-text{margin-left:0 !important;margin-right:auto !important;}
.dr-rs-stage .dr-eyebrow{color:var(--wp--preset--color--primary,#ff2d2d);text-transform:uppercase;letter-spacing:0.34em;font-size:12px;font-family:Oswald,sans-serif;margin-bottom:0.75rem;}
.dr-rs-title{max-width:none;}
.dr-rs-title .dr-line{display:inline-block;overflow:hidden;vertical-align:bottom;}
.dr-rs-text{color:rgba(244,247,247,0.78);font-size:17px;line-height:1.7;max-width:40ch;}
.dr-rs-img{position:absolute;right:clamp(0px,2vw,24px);top:50%;transform:translateY(-50%);width:min(40vw,420px);margin:0;z-index:1;will-change:clip-path,transform;}
.dr-rs-img img{display:block;width:100%;height:min(58vh,calc(40vw*1.2));object-fit:cover;clip-path:polygon(0 0,100% 4%,100% 100%,8% 96%);box-shadow:0 30px 70px rgba(0,0,0,0.5);}
.dr-rs-rail{position:absolute;left:0;top:0;height:2px;background:linear-gradient(90deg,transparent,var(--wp--preset--color--primary,#ff2d2d),transparent);transform-origin:left;z-index:1;opacity:0;}
.dr-rs-scan{position:absolute;top:0;height:2px;width:30%;background:var(--wp--preset--color--primary,#ff2d2d);opacity:0;z-index:3;}

/* ---- Driver Dossier / Pit-Wall (block 3) ---- */
.dr-dd-stage{max-width:1200px;margin:0 auto;position:relative;min-height:clamp(430px,64vh,640px);display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:clamp(20px,4vw,80px);align-items:center;}
.dr-dd-portrait{position:relative;z-index:2;justify-self:end;transform:translateX(6px) translateY(8px);}
.dr-dd-img{width:min(360px,min(40vw,100%));margin:0;}
.dr-dd-img img{display:block;width:100%;height:min(60vh,calc(360px*1.32));object-fit:cover;clip-path:polygon(0 0,100% 5%,100% 100%,6% 95%);box-shadow:0 30px 70px rgba(0,0,0,0.5);}
.dr-dd-panel{position:relative;z-index:2;padding:clamp(16px,2vw,28px) clamp(14px,2vw,26px);background:rgba(19,19,24,0.55);border-left:2px solid var(--wp--preset--color--primary,#ff2d2d);backdrop-filter:blur(2px);}
.dr-dd-panel .dr-eyebrow{color:var(--wp--preset--color--primary,#ff2d2d);text-transform:uppercase;letter-spacing:0.34em;font-size:12px;font-family:Oswald,sans-serif;margin-bottom:0.75rem;}
.dr-dd-name{font-size:clamp(30px,4vw,48px);max-width:16ch;}
.dr-dd-scan{position:absolute;left:0;height:100%;width:2px;background:var(--wp--preset--color--primary,#ff2d2d);opacity:0;z-index:3;}
.dr-drows{display:flex;flex-direction:column;gap:0;margin-top:1.8rem;width:100%;}
.dr-drow{display:grid !important;grid-template-columns:minmax(118px,1fr) 2fr;align-items:baseline;gap:0.9rem 1.4rem;padding:0.95rem 24px;border-bottom:1px solid rgba(244,247,247,0.1);border-left:2px solid rgba(244,247,247,0.18);position:relative;overflow:visible;}
.dr-drow:first-child{border-top:1px solid rgba(244,247,247,0.1);}
.dr-dlabel{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:0.18em;font-size:12px;line-height:1.4;color:var(--wp--preset--color--primary,#ff2d2d);margin:0;}
.dr-dval{font-family:var(--wp--preset--font-family--space-grotesk,"Space Grotesk",sans-serif);font-size:16px;line-height:1.5;color:var(--wp--preset--color--text,#f4f7f7);margin:0;text-align:right;min-width:0;overflow:visible;overflow-wrap:break-word;word-break:break-word;padding-right:2px;}
.dr-dval::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;vertical-align:middle;background:var(--wp--preset--color--accent-1,#ff2d2d);margin-right:10px;}
.dr-sec-title{font-family:var(--wp--preset--font-family--anton,Anton,sans-serif);font-size:clamp(34px,5.5vw,60px);line-height:0.98;margin:0;color:var(--wp--preset--color--text,#f4f7f7);}
.dr-sec-title .cm{color:var(--wp--preset--color--primary,#ff2d2d);}

/* ---- Garage / team cards ---- */
.dr-tgarage{--dr-card:min(264px,29vw);--dr-gap:22px;width:calc(var(--dr-card)*3 + var(--dr-gap)*2);max-width:100%;margin:0 auto;display:flex;gap:var(--dr-gap);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:12px;padding-inline:calc((100% - var(--dr-card))/2) !important;scroll-padding-inline:calc((100% - var(--dr-card))/2);scroll-snap-stop:always;}
.dr-tgarage::-webkit-scrollbar{display:none;}
.dr-tgarage:focus-visible{outline:2px solid var(--wp--preset--color--primary,#ff2d2d);outline-offset:4px;}
.dr-tgarage > .dr-member{margin-top:0 !important;}
.dr-member{flex:0 0 auto;width:var(--dr-card);scroll-snap-align:center;padding:0;overflow:hidden;position:relative;border-radius:14px;transform-origin:50% 78%;box-shadow:0 16px 38px rgba(0,0,0,0.35);}
.dr-member.is-active{outline:1px solid rgba(244,247,247,0.45);outline-offset:-1px;box-shadow:0 24px 60px rgba(244,247,247,0.12);}
.dr-member::after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(115deg,transparent 32%,rgba(244,247,247,0.18) 47%,transparent 62%);opacity:0;transition:opacity 0.5s ease;pointer-events:none;}
.dr-member:hover::after,.dr-member.is-active::after{opacity:1;}
.dr-member-lead{outline:1px solid rgba(244,247,247,0.35);outline-offset:-1px;}
.dr-member-img{margin:0;}
.dr-member-img img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform 0.6s cubic-bezier(0.22,1,0.36,1);}
.dr-member:hover .dr-member-img img{transform:scale(1.05);}
.dr-member-name{font-family:var(--wp--preset--font-family--anton,Anton,sans-serif);font-size:26px;line-height:1;color:var(--wp--preset--color--text,#f4f7f7);margin:1rem 18px 0.4rem;}
.dr-member-role{font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:0.16em;font-size:12px;color:var(--wp--preset--color--primary,#ff2d2d);margin:0 18px 0.6rem;}
.dr-member-desc{font-size:14px;line-height:1.55;color:rgba(244,247,247,0.6);margin:0 18px 1.25rem;}
.dr-member h3, .dr-member p{margin-left:18px;margin-right:18px;}

/* ---- CTA ---- */
.dr-tfin{text-align:center;}
.dr-tfin-title{font-size:clamp(44px,8vw,84px);}
.dr-tfin-text{max-width:46ch;margin:1rem auto 2rem;color:rgba(244,247,247,0.8);font-size:18px;}
.dr-tfin .wp-block-button__link{
  font-family:Oswald,sans-serif;text-transform:uppercase;letter-spacing:0.14em;font-size:14px;
  padding:1rem 2rem;border-radius:999px;border:1px solid transparent;transition:transform 0.25s ease,background 0.25s ease;}
.dr-tfin .dr-btn-primary .wp-block-button__link{background:var(--wp--preset--color--primary,#ff2d2d);color:var(--wp--preset--color--ink,#131318);}
.dr-tfin .dr-btn-primary .wp-block-button__link:hover{transform:translateY(-2px);background:#ff2d2d;}
.dr-tfin .dr-btn-outline .wp-block-button__link{background:transparent;border-color:rgba(244,247,247,0.3);color:var(--wp--preset--color--text,#f4f7f7);}
.dr-tfin .dr-btn-outline .wp-block-button__link:hover{border-color:var(--wp--preset--color--primary,#ff2d2d);color:var(--wp--preset--color--primary,#ff2d2d);transform:translateY(-2px);}

/* ---- Responsive ---- */
@media (max-width:760px){
  .dr-rs-stage,.dr-dd-stage{min-height:0;}
  .dr-rs-stage{display:block;}
  .dr-rs-img{position:relative;right:auto;top:auto;transform:none;width:78vw;margin:2.4rem auto 0;display:block;}
  .dr-rs-img img{height:min(56vh,520px);width:100%;}
  .dr-dd-stage{grid-template-columns:1fr;gap:1.8rem;}
  .dr-dd-portrait{justify-self:center;transform:none;}
  .dr-dd-img{width:min(300px,72vw);margin:0 auto;display:block;}
  .dr-dd-img img{height:min(56vh,480px);width:100%;}
  .dr-tgarage{--dr-card:min(74vw,318px);--dr-gap:18px;width:100%;padding-inline:calc((100% - var(--dr-card))/2) !important;scroll-padding-inline:calc((100% - var(--dr-card))/2);}
  .dr-member{width:var(--dr-card);}
  .dr-thero{min-height:78vh;}
  .dr-drow{grid-template-columns:1fr;gap:0.15rem;padding:0.8rem 18px;}
  .dr-dval{text-align:left;}
}

/* ---- Meet Deki motion layer: pit-wall HUD, live dossier and garage controls ---- */
.dr-team-page .dr-tsec{isolation:isolate;}
.dr-team-page .dr-tsec:not(.dr-thero)::before{
  content:"";position:absolute;top:0;left:clamp(18px,8vw,140px);right:clamp(18px,8vw,140px);height:1px;
  background:rgba(244,247,247,0.16);transform-origin:left;transform:scaleX(0.12);transition:transform 0.7s ease;
}
.dr-team-page .dr-tsec:hover::before{transform:scaleX(1);}
.dr-team-page .dr-thero::after{
  content:"";position:absolute;left:clamp(18px,8vw,140px);bottom:clamp(22px,5vh,56px);width:clamp(120px,20vw,260px);height:2px;
  background:var(--wp--preset--color--primary,#ff2d2d);transform-origin:left;animation:dr-team-sweep 4.8s cubic-bezier(.22,1,.36,1) infinite;opacity:.78;
}
.dr-team-page .dr-dd-live .dr-dd-panel{
  box-shadow:inset 0 1px 0 rgba(244,247,247,.08), inset 0 -1px 0 rgba(244,247,247,.12), -22px 24px 60px rgba(0,0,0,.28);
}
.dr-team-page .dr-dd-live .dr-drow{transition:border-color .3s ease,background-color .3s ease;}
.dr-team-page .dr-dd-live .dr-drow:hover{border-left-color:var(--wp--preset--color--primary,#ff2d2d);background:rgba(244,247,247,.035);}
.dr-team-page .dr-member{transform-style:preserve-3d;will-change:transform;}

.dr-team-hud{
  position:fixed;right:clamp(16px,3vw,46px);top:50%;z-index:8;display:flex;align-items:center;gap:12px;
  transform:translateY(-50%);pointer-events:none;color:rgba(244,247,247,.72);font:11px/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.18em;
}
.dr-team-hud-kicker{font-size:10px;line-height:1.35;text-align:right;color:rgba(244,247,247,.5);}
.dr-team-hud-rail{position:relative;width:2px;height:106px;background:rgba(244,247,247,.16);overflow:hidden;}
.dr-team-hud-fill{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--wp--preset--color--primary,#ff2d2d);transform:scaleY(.04);transform-origin:top;box-shadow:0 0 12px rgba(244,247,247,.65);}
.dr-team-hud-stage{min-width:42px;color:var(--wp--preset--color--primary,#ff2d2d);font-size:10px;}

.dr-garage-controls{
  max-width:min(900px,91vw);margin:0 auto 14px;display:flex;align-items:center;gap:18px;
  font:11px/1 Oswald,sans-serif;text-transform:uppercase;letter-spacing:.2em;color:rgba(244,247,247,.55);
}
.dr-garage-kicker{margin-right:auto;color:var(--wp--preset--color--primary,#ff2d2d);}
.dr-garage-counter{color:rgba(244,247,247,.75);font-variant-numeric:tabular-nums;}
.dr-garage-arrows{display:flex;gap:6px;}
.dr-garage-arrows button{
  width:34px;height:30px;padding:0;border:1px solid rgba(244,247,247,.45);background:transparent;color:var(--wp--preset--color--primary,#ff2d2d);
  font:18px/1 Space Grotesk,sans-serif;cursor:pointer;transition:background .25s ease,color .25s ease,transform .25s ease;
}
.dr-garage-arrows button:hover,.dr-garage-arrows button:focus-visible{background:var(--wp--preset--color--primary,#ff2d2d);color:var(--wp--preset--color--ink,#131318);transform:translateY(-2px);}

@keyframes dr-team-sweep{
  0%,100%{transform:scaleX(.35);opacity:.34;}
  45%{transform:scaleX(1);opacity:1;}
  70%{transform:scaleX(.7);opacity:.58;}
}

@media (max-width:820px){
  .dr-team-hud{display:none;}
  .dr-garage-controls{width:calc(100% - 36px);max-width:none;margin-left:auto;margin-right:auto;gap:10px;}
  .dr-garage-kicker{font-size:10px;letter-spacing:.14em;}
  .dr-garage-arrows button{width:32px;height:30px;}
  .dr-team-page .dr-thero::after{left:var(--dr-mobile-gutter,18px);bottom:24px;width:120px;}
}

@media (prefers-reduced-motion:reduce){
  .dr-team-page .dr-thero::after{animation:none;}
  .dr-team-page .dr-tsec::before{transition:none;}
}

/* ============================================================
   KARTTEILE — Pit-Lane Marketplace
   ============================================================ */

/* === centered hero search === */
.dr-kart-search {
	margin-top: var(--wp--preset--spacing--lg);
}
.dr-kart-hero .wp-block-woocommerce-product-search form {
	width: min(560px, 100%);
}
.dr-kart-hero .wp-block-woocommerce-product-search { flex: 1 1 480px; }

/* === Pit-Lane category chips === */
.dr-pitlane-wrap {
	margin-top: var(--wp--preset--spacing--lg);
	border-top: 1px solid var(--dr-rule);
	border-bottom: 1px solid var(--dr-rule);
	padding: 1rem 0;
}
.dr-pitlane {
	counter-reset: drcat;
	position: relative;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}
.dr-chip {
	counter-increment: drcat;
	margin: 0;
	flex: none;
}
.dr-chip .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.55em;
	margin: 0;
	padding: 0.62rem 1.05rem;
	white-space: nowrap;
	font-family: var(--dr-font-label);
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, 0.72);
	background: transparent;
	border: 1px solid rgba(244, 247, 247, 0.18);
	border-radius: 999px;
	text-decoration: none;
	transition: color .25s, border-color .25s, background .25s, box-shadow .25s;
}
.dr-chip .wp-block-button__link::before {
	content: "0" counter(drcat, decimal) "/";
	font-size: 0.66em;
	letter-spacing: 0.06em;
	color: var(--dr-cyan);
	opacity: 0.75;
}
.dr-chip:hover .wp-block-button__link {
	color: var(--dr-txt);
	border-color: var(--dr-cyan);
}
.dr-chip.is-active .wp-block-button__link {
	color: var(--dr-bg);
	background: var(--dr-cyan);
	border-color: var(--dr-cyan);
	box-shadow: 0 0 18px rgba(244, 247, 247, 0.35);
}
.dr-chip.is-active .wp-block-button__link::before {
	color: rgba(0, 0, 0, 0.65);
}
/* the cyan line that slides under the active chip */
.dr-catline {
	position: absolute;
	left: 0;
	bottom: -1.02rem;
	height: 2px;
	background: var(--dr-cyan);
	box-shadow: 0 0 10px rgba(244, 247, 247, 0.7);
	transition: transform .45s cubic-bezier(.22, 1, .36, 1), width .45s cubic-bezier(.22, 1, .36, 1);
}
/* horizontal swipe on mobile: keep chips row scrollable */
@media (max-width: 782px) {
	.dr-pitlane {
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x proximity;
		padding-bottom: 0.9rem;
		margin-bottom: -0.9rem;
		scrollbar-width: none;
	}
	.dr-pitlane::-webkit-scrollbar { display: none; }
	.dr-chip { scroll-snap-align: start; }

	/* Touch scrolling should stay composited and predictable. The cards remain
	   interactive, but do not fade/translate while the page is being swiped. */
	.js .wp-block-woocommerce-product-collection li.wc-block-product {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	.wp-block-woocommerce-product-collection li.wc-block-product:hover .dr-shop-img img {
		transform: none;
	}
	.wp-block-woocommerce-product-collection li.wc-block-product:hover .dr-shop-img::after {
		animation: none;
		opacity: 0;
	}
}

/* === product cards === */
.wp-block-woocommerce-product-collection li.wc-block-product {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}
.wp-block-woocommerce-product-collection .dr-shop-img {
	position: relative;
	overflow: hidden;
	margin: 0 0 1.05rem;
	border-radius: 5px;
}
.wp-block-woocommerce-product-collection .dr-shop-img img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	width: 100%;
	height: auto;
	border-radius: 5px;
	transition: transform .6s cubic-bezier(.22, 1, .36, 1);
}
/* cyan light-scan sweep on hover + gentle zoom */
.wp-block-woocommerce-product-collection li.wc-block-product:hover .dr-shop-img img {
	transform: scale(1.04);
}
.wp-block-woocommerce-product-collection .dr-shop-img::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -80%;
	width: 55%;
	background: linear-gradient(100deg, transparent, rgba(244, 247, 247, 0.30), transparent);
	transform: skewX(-14deg);
	opacity: 0;
	pointer-events: none;
}
.wp-block-woocommerce-product-collection li.wc-block-product:hover .dr-shop-img::after {
	opacity: 1;
	animation: dr-scan .8s cubic-bezier(.4, 0, .2, 1) forwards;
}
@keyframes dr-scan {
	0%   { left: -80%; }
	100% { left: 130%; }
}

/* category label */
.wp-block-woocommerce-product-collection .dr-shop-cat {
	margin: 0 0 0.5rem;
	font-family: var(--dr-font-label);
	font-size: 0.7rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--dr-cyan);
}
.wp-block-woocommerce-product-collection .dr-shop-cat a { color: var(--dr-cyan); text-decoration: none; }

/* title */
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-title {
	margin: 0 0 0.35rem;
}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-title a {
	color: var(--dr-txt);
	font-family: var(--dr-font-head);
	font-weight: 600;
	text-transform: uppercase;
	font-size: 1.08rem;
	line-height: 1.15;
	text-decoration: none;
}
.wp-block-woocommerce-product-collection .wp-block-woocommerce-product-title a:hover { color: var(--dr-cyan); }

/* availability + price row */
.dr-shop-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
}
.wp-block-woocommerce-product-collection .dr-shop-stock {
	font-family: var(--dr-font-label);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dr-cyan);
	border: 1px solid rgba(244, 247, 247, 0.5);
	background: rgba(244, 247, 247, 0.08);
	border-radius: 999px;
	padding: 0.22rem 0.6rem;
	white-space: nowrap;
}
.wp-block-woocommerce-product-collection li.wc-block-product.dr-sold .dr-shop-stock {
	color: var(--dr-red);
	border-color: rgba(255, 45, 45, 0.55);
	background: rgba(255, 45, 45, 0.1);
}
.wp-block-woocommerce-product-collection .dr-shop-price {
	color: var(--dr-cyan);
	font-family: var(--dr-font-label);
	font-weight: 600;
	font-size: 1.05rem;
	margin: 0;
}

/* CTA "Details ansehen" pinned to card bottom */
.wp-block-woocommerce-product-collection .dr-shop-cta {
	margin-top: auto;
	padding-top: 1.1rem;
}
.wp-block-woocommerce-product-collection .dr-shop-cta .wp-element-button {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.72rem 1rem;
	font-family: var(--dr-font-label);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dr-cyan);
	background: transparent;
	border: 1px solid var(--dr-cyan);
	border-radius: 5px;
	text-decoration: none;
	transition: background .25s, color .25s;
}
.wp-block-woocommerce-product-collection .dr-shop-cta .wp-element-button:hover {
	background: var(--dr-cyan) !important;
	color: var(--dr-bg) !important;
	border-color: var(--dr-cyan) !important;
}
.wp-block-woocommerce-product-collection .dr-shop-cta .dr-shop-inquiry {
	display: block;
	margin-top: .55rem;
	color: rgba(244, 247, 247, .66);
	font-family: var(--dr-font-label);
	font-size: .63rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: .22em;
}
.wp-block-woocommerce-product-collection .dr-shop-cta .dr-shop-inquiry:hover {
	color: var(--dr-red);
}

/* WooCommerce cart and checkout keep the same dark pit-lane treatment. */
.wp-block-woocommerce-cart,
.wc-block-checkout {
	max-width: 1120px !important;
	margin: 0 auto !important;
	padding: clamp(3rem, 8vw, 7rem) var(--dr-gutter) !important;
	color: var(--dr-txt);
}
.wp-block-woocommerce-cart h1,
.wp-block-woocommerce-cart h2,
.wp-block-woocommerce-cart h3,
.wc-block-checkout h1,
.wc-block-checkout h2,
.wc-block-checkout h3 {
	font-family: var(--dr-font-display);
	text-transform: uppercase;
	letter-spacing: .02em;
}
.wp-block-woocommerce-cart .wc-block-components-sidebar,
.wp-block-woocommerce-cart .wc-block-cart-items,
.wc-block-checkout .wc-block-components-checkout-step,
.wc-block-checkout .wc-block-checkout__sidebar {
	background: var(--dr-ink);
	border: 1px solid var(--dr-rule);
	border-radius: 6px;
}
.wp-block-woocommerce-cart .wc-block-components-button,
.wc-block-checkout .wc-block-components-button {
	background: var(--dr-red) !important;
	color: #fff !important;
	border-radius: 5px !important;
	font-family: var(--dr-font-label);
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.wp-block-woocommerce-cart input,
.wp-block-woocommerce-cart select,
.wp-block-woocommerce-cart textarea,
.wc-block-checkout input,
.wc-block-checkout select,
.wc-block-checkout textarea {
	background: #0e0e12 !important;
	border: 1px solid rgba(244, 247, 247, .28) !important;
	color: var(--dr-txt) !important;
	border-radius: 5px !important;
}
.wc-block-checkout .wc-block-components-radio-control__option,
.wc-block-checkout .wc-block-components-checkout-step__container {
	border-color: rgba(244, 247, 247, .2) !important;
}

/* === Header v2: compact race-team command bar === */
.dr-header {
	height: 82px;
	background: rgba(10, 10, 13, .96);
	border-bottom-color: rgba(255, 45, 45, .28);
}
.dr-header-wrap {
	padding-top: 82px;
}
.dr-header > .wp-block-group {
	width: min(1450px, calc(100% - 48px));
	max-width: 1450px !important;
	margin-inline: auto;
}
.dr-header-row {
	display: grid !important;
	grid-template-columns: auto minmax(0, 1fr) auto;
	width: 100%;
	min-height: 82px;
	gap: clamp(1rem, 2vw, 2.2rem);
}
.dr-header-main {
	display: flex !important;
	justify-content: center;
	min-width: 0;
}
.dr-nav .wp-block-navigation__container {
	display: flex;
	flex-wrap: nowrap !important;
	align-items: center;
	justify-content: center;
	gap: clamp(.15rem, .75vw, .95rem);
}
.dr-nav a {
	font-size: clamp(.62rem, .68vw, .78rem);
	letter-spacing: .1em;
	padding: .42rem .2rem;
	white-space: nowrap;
}
.dr-nav a::after {
	left: .2rem;
}
.dr-header-tools {
	gap: .6rem;
}
.dr-brand-logo {
	width: 58px;
	height: 58px;
	flex-basis: 58px;
	box-shadow: 0 0 0 1px rgba(244, 247, 247, .26), 0 0 18px rgba(255, 45, 45, .22);
}
.dr-header-cart {
	padding: .42rem .65rem;
	border: 1px solid rgba(244, 247, 247, .22);
	border-radius: 999px;
	background: rgba(244, 247, 247, .04);
}
.dr-header-cart:hover,
.dr-header-cart:focus-visible {
	border-color: var(--dr-red);
	background: rgba(255, 45, 45, .1);
}

/* Checkout gets a branded masthead even though the block uses its own layout. */
.dr-checkout-masthead {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 1.2rem;
	max-width: 1120px;
	margin: 0 auto;
	padding: 1.35rem var(--dr-gutter) 1rem;
	border-bottom: 1px solid rgba(255, 45, 45, .32);
}
.dr-checkout-masthead img {
	display: block;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	object-fit: cover;
	box-shadow: 0 0 0 1px rgba(244, 247, 247, .24), 0 0 18px rgba(255, 45, 45, .22);
}
.dr-checkout-masthead strong {
	display: block;
	margin-top: .18rem;
	font-family: var(--dr-font-display);
	font-size: clamp(1.35rem, 3vw, 2.2rem);
	line-height: .95;
	text-transform: uppercase;
}
.dr-checkout-masthead .dr-eyebrow {
	margin: 0;
	color: var(--dr-red);
}
.dr-checkout-back {
	color: var(--dr-txt);
	font-family: var(--dr-font-label);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.dr-checkout-back:hover,
.dr-checkout-back:focus-visible {
	color: var(--dr-red);
}

/* WooCommerce's compact checkout shell uses the site-title link instead of
   the normal theme header. Turn that link into the same round team mark. */
.wp-block-site-title a[rel="home"] {
	display: inline-flex;
	width: 54px;
	height: 54px;
	font-size: 0;
	line-height: 0;
	background: url('/wp-content/themes/deki-racing/assets/images/dekis-racing-logo.png?v=0.2.55') center / contain no-repeat;
	border-radius: 50%;
	box-shadow: 0 0 0 1px rgba(244, 247, 247, .24), 0 0 18px rgba(255, 45, 45, .22);
}
.wp-block-site-title a[rel="home"]:hover,
.wp-block-site-title a[rel="home"]:focus-visible {
	transform: scale(1.04);
}

@media (max-width: 1280px) and (min-width: 783px) {
	.dr-header > .wp-block-group {
		width: calc(100% - 28px);
	}
	.dr-header-row {
		gap: .7rem;
	}
	.dr-nav .wp-block-navigation__container {
		gap: .12rem;
	}
	.dr-header-tools {
		gap: .34rem;
	}
	.dr-header-phone-number {
		font-size: .62rem;
	}
	.dr-header-cart {
		padding-inline: .4rem;
	}
}

@media (max-width: 782px) {
	.dr-header {
		height: 68px;
	}
	.dr-header-wrap {
		padding-top: 68px;
	}
	.dr-header > .wp-block-group {
		width: 100%;
	}
	.dr-header-row {
		min-height: 68px;
		padding-inline: 1rem;
		gap: .4rem;
	}
	.dr-brand-logo {
		width: 50px;
		height: 50px;
		flex-basis: 50px;
	}
	.dr-header-cart {
		padding: .2rem;
		border: 0;
		background: transparent;
	}
	.dr-header-cart span {
		display: none;
	}
	.dr-header-cart svg {
		width: 19px;
		height: 19px;
	}
	.dr-checkout-masthead {
		grid-template-columns: auto minmax(0, 1fr);
		padding: 1rem var(--dr-gutter) .85rem;
	}
	.dr-checkout-masthead img {
		width: 46px;
		height: 46px;
	}
	.dr-checkout-back {
		grid-column: 2;
		font-size: .6rem;
	}
}

/* Keep every desktop shop card equal in size. The first product is not a
   featured product; it follows the same compact card layout as the rest. */
@media (min-width: 981px) {
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child {
		grid-column: span 4 !important;
		display: flex !important;
		grid-template-columns: none !important;
		align-items: stretch !important;
		padding: .95rem !important;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .dr-shop-img {
		grid-row: auto !important;
		margin: 0 0 .9rem !important;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .dr-shop-cta {
		grid-column: auto !important;
	}

/* The existing used racing chassis is a track photo, not one of the new
   white-background model cut-outs. Preserve its original dark presentation. */
.dr-kart-shop .dr-shop-grid li.post-19 .dr-shop-img,
.dr-kart-shop .dr-shop-grid li.post-19 .dr-shop-img img,
.single-product [data-collection="woocommerce/product-collection/related"] li.post-19 .wc-block-components-product-image,
.single-product [data-collection="woocommerce/product-collection/related"] li.post-19 .wc-block-components-product-image img {
	background: transparent !important;
}
.dr-kart-shop .dr-shop-grid li.post-19 .dr-shop-img img,
.single-product [data-collection="woocommerce/product-collection/related"] li.post-19 .wc-block-components-product-image img {
	aspect-ratio: 4 / 3 !important;
	object-fit: cover !important;
}
}

/* WooCommerce replaces native radio styling in the checkout. Give both
   states an explicit high-contrast ring so the active payment method is
   immediately recognisable on the dark theme. */
.wc-block-checkout .wc-block-components-radio-control__input,
.wc-block-checkout input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	margin: 0 !important;
	border: 2px solid rgba(244, 247, 247, .62) !important;
	border-radius: 50% !important;
	background: transparent !important;
	box-shadow: none !important;
	vertical-align: middle;
	cursor: pointer;
}
.wc-block-checkout .wc-block-components-radio-control__input:checked,
.wc-block-checkout input[type="radio"]:checked {
	border-color: var(--dr-red) !important;
	background: radial-gradient(circle, var(--dr-red) 0 45%, transparent 48%) !important;
	box-shadow: 0 0 0 3px rgba(255, 45, 45, .14) !important;
}
.wc-block-checkout .wc-block-components-radio-control__option:has(input[type="radio"]:checked) {
	border-color: var(--dr-red) !important;
	background: rgba(255, 45, 45, .06) !important;
}

/* sold-out: dim the card + red VERKAUFT ribbon */
.wp-block-woocommerce-product-collection li.wc-block-product.dr-sold {
	border-color: rgba(255, 45, 45, 0.35);
}
.wp-block-woocommerce-product-collection li.wc-block-product.dr-sold .dr-shop-img img {
	opacity: 0.45;
	filter: grayscale(0.6);
}
.wp-block-woocommerce-product-collection li.wc-block-product.dr-sold::after {
	content: "VERKAUFT";
	position: absolute;
	top: 0.85rem;
	left: 0;
	background: var(--dr-red);
	color: #fff;
	font-family: var(--dr-font-label);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	padding: 0.32rem 0.85rem 0.32rem 1rem;
	z-index: 2;
}

/* === card entrance / filter animation (progressive enhancement) === */
.js .wp-block-woocommerce-product-collection li.wc-block-product {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .5s cubic-bezier(.22, 1, .36, 1), transform .5s cubic-bezier(.22, 1, .36, 1);
	transition-delay: calc(var(--dr-order, 0) * 70ms);
}
.js .wp-block-woocommerce-product-collection li.wc-block-product.dr-in {
	opacity: 1;
	transform: none;
}
.js .wp-block-woocommerce-product-collection li.wc-block-product.dr-hide {
	display: none !important;
	opacity: 0;
	transform: translateY(10px) scale(.98);
	pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.js .wp-block-woocommerce-product-collection li.wc-block-product {
		opacity: 1;
		transform: none;
		transition: none !important;
	}
	.wp-block-woocommerce-product-collection li.wc-block-product:hover .dr-shop-img::after {
		animation: none;
		opacity: 0;
	}
	.wp-block-woocommerce-product-collection .dr-catline { display: none; }
}

/* === Shop experience refresh: Pit-Lane Market === */
.dr-kart-shop {
	overflow: clip;
}
.dr-kart-shop .dr-kart-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: var(--dr-bg);
}
.dr-kart-shop .dr-kart-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	border-right: 1px solid rgba(244, 247, 247, .06);
	border-bottom: 1px solid rgba(244, 247, 247, .06);
	opacity: .45;
	clip-path: polygon(0 0, 72% 0, 58% 100%, 0 100%);
	pointer-events: none;
}
.dr-kart-shop .dr-kart-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: url('/wp-content/uploads/2026/10/product-brake.png');
	background-position: 72% center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: .3;
	filter: contrast(1.15) saturate(1.15);
	clip-path: polygon(42% 0, 100% 0, 100% 100%, 62% 100%);
	animation: dr-shop-hero-drift 16s ease-in-out infinite alternate;
	pointer-events: none;
}
.dr-kart-shop .dr-kart-hero > .wp-block-group {
	width: 100% !important;
	max-width: none !important;
}
@keyframes dr-shop-hero-drift {
	0% { background-position: 68% center; }
	100% { background-position: 77% center; }
}
.dr-shop-hero-grid {
	position: relative;
	z-index: 1;
	width: min(100%, 1480px) !important;
	max-width: 1480px !important;
	margin-inline: auto !important;
	padding-inline: clamp(1.25rem, 4vw, 4rem);
	display: grid !important;
	grid-template-columns: minmax(0, 1.15fr) minmax(320px, .72fr);
	gap: clamp(2rem, 4vw, 5rem);
	align-items: center;
}
.dr-shop-hero-grid::before {
	content: "";
	position: absolute;
	inset: .65rem 1rem;
	border: 1px solid rgba(244, 247, 247, .18);
	clip-path: polygon(0 16%, 29% 0, 100% 0, 100% 84%, 71% 100%, 0 100%);
	opacity: .8;
	animation: dr-shop-frame-pulse 8s ease-in-out infinite;
	pointer-events: none;
}
@keyframes dr-shop-frame-pulse {
	0%, 100% { opacity: .35; transform: translateX(0); }
	50% { opacity: .8; transform: translateX(8px); }
}
.dr-shop-hero-copy {
	max-width: 860px;
}
.dr-shop-hero-copy > p:not(.dr-eyebrow) {
	max-width: 700px;
}
.dr-shop-hero-telemetry {
	max-width: 700px;
	margin-top: clamp(1.3rem, 3vw, 2.6rem);
}
.dr-shop-telemetry-head {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	font-family: var(--dr-font-label);
	font-size: .62rem;
	letter-spacing: .16em;
	color: rgba(242, 245, 247, .58);
}
.dr-shop-telemetry-head b {
	color: var(--dr-cyan);
	font-weight: 600;
}
.dr-shop-telemetry-track {
	height: 2px;
	margin: .8rem 0 .75rem;
	background: rgba(244, 247, 247, .17);
	overflow: hidden;
}
.dr-shop-telemetry-track i {
	display: block;
	width: 34%;
	height: 100%;
	background: var(--dr-cyan);
	box-shadow: 0 0 12px rgba(244, 247, 247, .8);
	animation: dr-shop-telemetry-run 3.6s ease-in-out infinite;
}
@keyframes dr-shop-telemetry-run {
	0%, 20% { transform: translateX(-115%); }
	65%, 100% { transform: translateX(315%); }
}
.dr-shop-telemetry-tags {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
}
.dr-shop-telemetry-tags span {
	font-family: var(--dr-font-label);
	font-size: .58rem;
	letter-spacing: .13em;
	color: rgba(242, 245, 247, .5);
}
.dr-shop-telemetry-tags span::before {
	content: "";
	display: inline-block;
	width: .35rem;
	height: .35rem;
	margin-right: .4rem;
	background: var(--dr-red);
	border-radius: 50%;
	vertical-align: middle;
}
.dr-shop-console {
	position: relative;
	justify-self: end;
	width: min(100%, 430px);
	min-height: 250px;
	padding: 1.25rem 1.35rem 1.1rem;
	border: 1px solid rgba(244, 247, 247, .42);
	border-left: 3px solid var(--dr-cyan);
	background: var(--dr-ink);
	box-shadow: 12px 12px 0 rgba(244, 247, 247, .06);
	overflow: hidden;
	transform: rotate(-1deg);
	transition: transform 260ms ease, box-shadow 260ms ease;
}
.dr-shop-console:hover {
	transform: rotate(0) translateY(-4px);
	box-shadow: 16px 16px 0 rgba(244, 247, 247, .09);
}
.dr-shop-console::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: var(--dr-cyan);
	box-shadow: 0 0 14px rgba(244, 247, 247, .8);
	transform: translateX(-100%);
	animation: dr-shop-console-scan 5s ease-in-out infinite;
}
@keyframes dr-shop-console-scan {
	0%, 20% { transform: translateX(-100%); }
	55%, 100% { transform: translateX(100%); }
}
.dr-shop-console-top,
.dr-shop-console-readout,
.dr-shop-console-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}
.dr-shop-console-top {
	padding-bottom: .8rem;
	border-bottom: 1px solid var(--dr-rule);
	font-family: var(--dr-font-label);
	font-size: .62rem;
	letter-spacing: .16em;
	color: var(--dr-cyan);
}
.dr-shop-console-top b {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: var(--dr-red);
	font-weight: 600;
}
.dr-shop-console-top i {
	display: block;
	width: .45rem;
	height: .45rem;
	border-radius: 50%;
	background: var(--dr-red);
	box-shadow: 0 0 0 0 rgba(255, 45, 45, .6);
	animation: dr-shop-live-pulse 1.8s ease-out infinite;
}
@keyframes dr-shop-live-pulse {
	70% { box-shadow: 0 0 0 .45rem rgba(255, 45, 45, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 45, 45, 0); }
}
.dr-shop-console-number {
	position: absolute;
	right: .8rem;
	top: 2.5rem;
	font-family: var(--dr-font-display);
	font-size: 5rem;
	line-height: .8;
	color: rgba(244, 247, 247, .06);
}
.dr-shop-console-readout {
	position: relative;
	z-index: 1;
	padding: .75rem 0;
	border-bottom: 1px solid rgba(244, 247, 247, .1);
}
.dr-shop-console-readout span,
.dr-shop-console-foot {
	font-family: var(--dr-font-label);
	font-size: .58rem;
	letter-spacing: .14em;
	color: rgba(244, 247, 247, .5);
}
.dr-shop-console-readout strong {
	font-family: var(--dr-font-head);
	font-size: .92rem;
	letter-spacing: .05em;
	color: var(--dr-txt);
}
.dr-shop-console-readout:nth-of-type(3) strong,
.dr-shop-console-readout .dr-shop-result-count {
	color: var(--dr-cyan);
}
.dr-shop-console-foot {
	padding-top: .9rem;
	color: rgba(244, 247, 247, .36);
}
.dr-shop-signal-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	max-width: 1080px;
	margin: 0 auto;
	padding: .9rem var(--wp--preset--spacing--md);
	border-top: 1px solid var(--dr-rule);
	border-bottom: 1px solid var(--dr-rule);
	background: var(--dr-ink);
}
.dr-shop-signal-strip span {
	display: flex;
	align-items: center;
	gap: .7rem;
	justify-content: center;
	font-family: var(--dr-font-label);
	font-size: .62rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, .62);
}
.dr-shop-signal-strip span + span {
	border-left: 1px solid var(--dr-rule);
}
.dr-shop-signal-strip b {
	color: var(--dr-cyan);
}
.dr-shop-controlbar {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 1rem;
	margin-top: clamp(2rem, 5vw, 4rem);
	padding-bottom: .9rem;
	border-bottom: 1px solid var(--dr-rule);
}
.dr-shop-controlbar > div {
	display: grid;
	gap: .2rem;
}
.dr-shop-control-kicker {
	font-family: var(--dr-font-label);
	font-size: .62rem;
	letter-spacing: .18em;
	color: var(--dr-cyan);
}
.dr-shop-controlbar strong {
	font-family: var(--dr-font-head);
	font-size: clamp(1.35rem, 2.5vw, 2rem);
	text-transform: uppercase;
}
.dr-shop-result-label {
	font-family: var(--dr-font-label);
	font-size: .62rem;
	letter-spacing: .14em;
	color: rgba(244, 247, 247, .5);
}
.dr-shop-control-tools {
	display: flex;
	align-items: end;
	justify-content: flex-end;
	gap: 1rem;
}
.dr-shop-controlbar > .dr-shop-control-tools {
	display: flex;
	gap: 1rem;
}
.dr-shop-sorter {
	display: flex;
	align-items: center;
	gap: .55rem;
	font-family: var(--dr-font-label);
	font-size: .58rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(242, 245, 247, .58);
}
.dr-shop-sort {
	min-width: 180px;
	padding: .65rem .8rem;
	color: var(--dr-txt);
	background: var(--dr-ink);
	border: 1px solid rgba(244, 247, 247, .34);
	border-radius: 5px;
	font: inherit;
	letter-spacing: .08em;
	text-transform: uppercase;
	cursor: pointer;
}
.dr-shop-sort:focus-visible {
	outline: 2px solid var(--dr-cyan);
	outline-offset: 3px;
}
.dr-shop-sort option {
	color: var(--dr-txt);
	background: var(--dr-ink);
}
@media (min-width: 900px) {
	.dr-kart-shop .dr-kart-hero {
		min-height: clamp(500px, 58vh, 700px);
		display: flex;
		align-items: center;
	}
}
.dr-kart-shop .dr-shop-grid ul.wc-block-product-template {
	grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
	gap: clamp(1rem, 2vw, 1.5rem);
}
.dr-kart-shop .dr-shop-grid li.wc-block-product {
	grid-column: span 4;
	min-height: 100%;
	background: var(--dr-ink);
	border-color: rgba(244, 247, 247, .12);
	box-shadow: 0 14px 0 rgba(0, 0, 0, .12);
}
.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child {
	grid-column: span 6;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(190px, .85fr);
	align-items: center;
	column-gap: 1.25rem;
	padding: 1.15rem;
}
.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .dr-shop-img {
	grid-row: 1 / span 4;
	margin: 0;
}
.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .dr-shop-cta {
	grid-column: 2;
}
.dr-kart-shop .dr-shop-grid li.wc-block-product:hover {
	transform: translateY(-5px);
	border-color: var(--dr-cyan);
	box-shadow: 0 18px 0 rgba(244, 247, 247, .05);
}
.dr-kart-shop .dr-shop-grid .dr-shop-img img {
	filter: contrast(1.08) saturate(1.12);
}
.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .wp-block-woocommerce-product-title a {
	font-size: clamp(1.2rem, 2vw, 1.65rem);
}

@media (max-width: 980px) {
	.dr-shop-hero-grid {
		grid-template-columns: 1fr;
	}
	.dr-kart-shop .dr-kart-hero::after {
		clip-path: polygon(0 48%, 100% 15%, 100% 100%, 0 100%);
		opacity: .16;
	}
	.dr-shop-console {
		max-width: 560px;
		width: 100%;
		justify-self: end;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product,
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child {
		grid-column: span 6;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child {
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .dr-shop-img {
		margin: 0 0 1.05rem;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child .dr-shop-cta {
		grid-column: auto;
	}
}

@media (max-width: 680px) {
	.dr-shop-signal-strip {
		grid-template-columns: 1fr;
		gap: .65rem;
	}
	.dr-shop-signal-strip span {
		justify-content: flex-start;
	}
	.dr-shop-signal-strip span + span {
		padding-top: .65rem;
		border-top: 1px solid var(--dr-rule);
		border-left: 0;
	}
	.dr-shop-controlbar {
		align-items: flex-start;
		flex-direction: column;
	}
	.dr-shop-control-tools {
		width: 100%;
		align-items: stretch;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.dr-shop-sorter {
		flex: 1 1 100%;
		justify-content: space-between;
	}
	.dr-shop-sort {
		flex: 1 1 auto;
		min-width: 0;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product,
	.dr-kart-shop .dr-shop-grid li.wc-block-product:first-child {
		grid-column: span 12;
		min-height: 0 !important;
		height: auto !important;
		align-self: start !important;
	}
	.dr-kart-shop .dr-shop-grid ul.wc-block-product-template {
		align-items: start !important;
		grid-auto-rows: max-content !important;
	}
	.dr-shop-console-foot {
		flex-wrap: wrap;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dr-shop-console::after,
	.dr-shop-console-top i,
	.dr-shop-telemetry-track i,
	.dr-kart-shop .dr-kart-hero::after,
	.dr-shop-hero-grid::before {
		animation: none;
	}
}

/* === Race Calendar Experience — Season 2027 === */
.dr-sea-hero { overflow: hidden; }
.dr-sea-hero .wp-block-cover__image-background { will-change: transform; }
.dr-sea-hero-title .dr-line { display: block; }
.dr-hero-title.dr-sea-hero-title .dr-line-2 { margin-top: .15rem; }
.dr-sea-race-line {
	display: block;
	width: min(700px, 84vw);
	height: 40px;
	margin-top: 1.8rem;
}
.dr-sea-race-track { fill: none; stroke: rgba(244, 247, 247, .16); stroke-width: 1.5; }
.dr-sea-race-draw {
	fill: none;
	stroke: var(--dr-cyan);
	stroke-width: 2.2;
	stroke-linecap: round;
	filter: drop-shadow(0 0 6px rgba(244, 247, 247, .55));
}

.dr-season { position: relative; }
.dr-season-track { position: relative; padding: 0.5rem 0 2.5rem; }
.dr-season-track::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 2px;
	transform: translateX(-50%);
	background: rgba(244, 247, 247, .14);
}
.dr-season-track::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 2px;
	height: var(--dr-draw, 0%);
	transform: translateX(-50%);
	background: linear-gradient(rgba(244, 247, 247, .28), var(--dr-cyan));
	box-shadow: 0 0 12px rgba(244, 247, 247, .5);
}

.dr-race-node {
	position: relative;
	width: 100%;
	min-height: 400px;
}
.dr-race-node::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	background: var(--dr-bg);
	border: 2px solid var(--dr-cyan);
	z-index: 2;
	transition: background .3s, box-shadow .3s;
}
.dr-race-node.is-active::before {
	background: var(--dr-cyan);
	box-shadow: 0 0 0 6px rgba(244, 247, 247, .18), 0 0 16px rgba(244, 247, 247, .9);
}
/* short horizontal connector between the dot and each card */
.dr-race-node::after {
	content: "";
	position: absolute;
	top: 50%;
	height: 2px;
	width: 1.4rem;
	background: linear-gradient(90deg, rgba(244, 247, 247, .18), var(--dr-cyan));
	z-index: 1;
}
.dr-race-node:nth-child(odd)::after { left: calc(50% - 1.4rem); }
.dr-race-node:nth-child(even)::after { left: 50%; }
.dr-race-panel {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(320px, 46%);
	background: rgba(244, 247, 247, .03);
	border: 1px solid rgba(244, 247, 247, .16);
	border-radius: 14px;
	padding: 10px;
	box-shadow: 0 18px 50px rgba(0, 0, 0, .45);
}
.dr-race-node:nth-child(odd) .dr-race-panel { right: calc(50% + 1.4rem); }
.dr-race-node:nth-child(even) .dr-race-panel { left: calc(50% + 1.4rem); }

.dr-race-panel .dr-race-img { margin: 0; border-radius: 9px; overflow: hidden; }
.dr-race-panel .dr-race-img img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}
.dr-race-panel .dr-race-num {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: .75rem .3rem .15rem;
	font-family: var(--dr-font-label);
	letter-spacing: .22em;
	text-transform: uppercase;
	font-size: .78rem;
	color: var(--dr-txt);
}
.dr-race-panel .dr-race-num::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--dr-red);
	box-shadow: 0 0 8px rgba(255, 45, 45, .6);
}
.dr-race-panel .dr-race-venue {
	margin: .1rem .3rem;
	font-family: var(--dr-font-head);
	font-weight: 600;
	font-size: 1.35rem;
	line-height: 1.12;
}
.dr-race-panel .dr-race-date {
	margin: .3rem .3rem .1rem;
	font-family: var(--dr-font-label);
	letter-spacing: .08em;
	font-size: .92rem;
	color: var(--dr-cyan);
	opacity: .85;
}
.dr-race-panel .dr-race-track {
	margin: .1rem .3rem;
	color: rgba(244, 247, 247, .55);
	font-size: .95rem;
}
.dr-race-panel .dr-race-status {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin: .6rem .3rem .35rem;
	font-family: var(--dr-font-label);
	letter-spacing: .14em;
	text-transform: uppercase;
	font-size: .7rem;
	color: var(--dr-cyan);
}
.dr-race-panel .dr-race-status::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--dr-red);
	box-shadow: 0 0 7px rgba(255, 45, 45, .6);
}
.dr-race-node.is-active .dr-race-panel {
	background: rgba(244, 247, 247, .06);
	border-color: rgba(244, 247, 247, .5);
	box-shadow: 0 0 0 1px rgba(244, 247, 247, .5), 0 22px 60px rgba(0, 0, 0, .5), 0 0 34px rgba(244, 247, 247, .22);
}

.dr-season-bar { align-items: center; gap: 1.2rem; margin-top: 1.4rem; }
.dr-round-readout { margin: 0; font-family: var(--dr-font-label); letter-spacing: .1em; }
.dr-round-readout .dr-round-label { letter-spacing: .14em; text-transform: uppercase; color: rgba(244, 247, 247, .6); font-size: .92rem; }
.dr-round-readout .dr-round-cur { color: var(--dr-cyan); font-size: 1.5rem; font-weight: 600; }
.dr-round-readout .dr-bar-sep { color: rgba(244, 247, 247, .35); margin: 0 .4rem; }
.dr-round-readout .dr-round-total { color: rgba(244, 247, 247, .6); }
.dr-season-progress {
	flex: 1;
	height: 6px;
	border-radius: 99px;
	background: rgba(244, 247, 247, .12);
	overflow: hidden;
	min-width: 120px;
}
.dr-season-progress::after {
	content: "";
	display: block;
	height: 100%;
	width: var(--dr-prog, 0%);
	border-radius: 99px;
	background: linear-gradient(90deg, rgba(244, 247, 247, .4), var(--dr-cyan));
	box-shadow: 0 0 10px rgba(244, 247, 247, .6);
}

.dr-season-end { text-align: center; }
.dr-season-finish {
	font-family: var(--dr-font-label);
	letter-spacing: .22em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, .5);
	font-size: .75rem;
}
.dr-season-lead { font-family: var(--dr-font-display); font-size: clamp(2rem, 5vw, 3.2rem); margin: .3rem 0 0; }
.dr-season-lead .cm { color: var(--dr-cyan); }
.dr-round-cur-big { color: var(--dr-cyan); }
.dr-round-total-big { color: rgba(244, 247, 247, .6); }

/* Live season position: stays visible beside the timeline while the cards move. */
.dr-season-side-readout {
	display: none;
}
@media (min-width: 1200px) {
	.dr-season-side-readout {
		display: grid;
		position: fixed;
		right: clamp(1.25rem, 3.5vw, 4.5rem);
		top: 50%;
		z-index: 8;
		width: min(178px, 14vw);
		gap: .42rem;
		padding: 1rem 1rem 1.05rem 1.1rem;
		background: linear-gradient(145deg, rgba(11, 20, 26, .94), rgba(7, 10, 14, .82));
		border: 1px solid rgba(244, 247, 247, .22);
		border-left: 2px solid var(--dr-cyan);
		box-shadow: 0 18px 45px rgba(0, 0, 0, .28), 0 0 24px rgba(244, 247, 247, .08);
		backdrop-filter: blur(9px);
		-webkit-backdrop-filter: blur(9px);
		font-family: var(--dr-font-label);
		text-transform: uppercase;
		letter-spacing: .12em;
		opacity: 0;
		pointer-events: none;
		transform: translate3d(1.5rem, -50%, 0);
		transition: opacity .45s ease, transform .45s cubic-bezier(.2, .75, .25, 1);
	}
	.dr-season-side-readout::before {
		content: "05";
		position: absolute;
		top: .25rem;
		right: .55rem;
		font-family: var(--dr-font-display);
		font-size: 2.5rem;
		line-height: 1;
		color: rgba(244, 247, 247, .06);
	}
	.dr-season-side-readout.is-visible {
		opacity: 1;
		transform: translate3d(0, -50%, 0);
	}
	.dr-season-side-kicker {
		color: var(--dr-cyan);
		font-size: .58rem;
		font-weight: 600;
	}
	.dr-season-side-progress {
		display: flex;
		align-items: baseline;
		gap: .3rem;
		font-family: var(--dr-font-display);
		font-size: 2rem;
		line-height: .9;
		letter-spacing: .02em;
	}
	.dr-season-side-progress b { color: var(--dr-cyan); font-weight: 400; }
	.dr-season-side-progress i { color: rgba(244, 247, 247, .34); font-style: normal; font-size: 1rem; }
	.dr-season-side-progress span { color: rgba(244, 247, 247, .56); }
	.dr-season-side-rule {
		display: block;
		height: 2px;
		margin: .15rem 0 .25rem;
		background: rgba(244, 247, 247, .17);
		overflow: hidden;
	}
	.dr-season-side-rule i {
		display: block;
		width: 20%;
		height: 100%;
		background: var(--dr-cyan);
		box-shadow: 0 0 10px rgba(244, 247, 247, .75);
		transition: width .45s ease;
	}
	.dr-season-side-venue {
		font-family: var(--dr-font-head);
		font-size: .92rem;
		line-height: 1.05;
		letter-spacing: .05em;
	}
	.dr-season-side-date {
		color: var(--dr-cyan);
		font-size: .62rem;
		font-weight: 600;
	}
}

@media (max-width: 720px) {
	.dr-season-track::before,
	.dr-season-track::after { left: 24px; }
	.dr-race-node { display: block; min-height: 0; padding: 1.5rem 0 1.5rem 48px; }
	.dr-race-node::before { left: 24px; }
	.dr-race-node::after,
	.dr-race-node:nth-child(odd)::after,
	.dr-race-node:nth-child(even)::after {
		left: calc(24px + 6px);
		right: auto;
		width: calc(48px - 24px - 12px);
	}
	.dr-race-node:nth-child(odd) .dr-race-panel,
	.dr-race-node:nth-child(even) .dr-race-panel {
		position: static;
		transform: none;
		left: auto;
		right: auto;
		width: 100%;
	}
	.dr-race-panel .dr-race-img img { height: 170px; }
	.dr-season-bar { flex-wrap: wrap; }
}

/* === mobile width system ===
   Keep the desktop content widths untouched. On phones, full-bleed sections
   own the viewport and their readable content gets one consistent gutter.
   This removes the duplicated 28px section padding plus global root padding
   that made the shop and calendar feel unnecessarily narrow. */
@media (max-width: 782px) {
	:root {
		--dr-mobile-gutter: 16px;
	}

	body {
		overflow-x: hidden;
	}

	.wp-site-blocks main.is-flush {
		width: 100%;
		max-width: none;
		padding-inline: 0 !important;
	}

	.wp-site-blocks main.is-flush > .wp-block-post-content {
		width: 100%;
		max-width: none;
		padding-inline: 0 !important;
	}

	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-sec.alignfull,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-season.alignfull,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-season-end.alignfull,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-tsec.alignfull,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-kart-hero.alignfull,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-kart-body.alignfull {
			width: 100%;
			max-width: none;
			box-sizing: border-box;
			padding-left: var(--dr-mobile-gutter) !important;
			padding-right: var(--dr-mobile-gutter) !important;
	}

	/* WooCommerce archive templates place these sections directly under main. */
	.wp-site-blocks main.is-flush > .dr-kart-hero.alignfull,
	.wp-site-blocks main.is-flush > .dr-kart-body.alignfull {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
		padding-left: var(--dr-mobile-gutter) !important;
		padding-right: var(--dr-mobile-gutter) !important;
	}
	.wp-site-blocks main.is-flush > .dr-kart-hero.alignfull > .wp-block-group,
	.wp-site-blocks main.is-flush > .dr-kart-body.alignfull > .wp-block-group {
		width: 100%;
		max-width: none;
	}

	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-sec.alignfull
		> .wp-block-group,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-season.alignfull
		> .wp-block-group,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-season-end.alignfull
		> .wp-block-group,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-tsec.alignfull
		> .wp-block-group,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-kart-hero.alignfull
		> .wp-block-group,
	.wp-site-blocks main.is-flush
		> .wp-block-post-content
		> .dr-kart-body.alignfull
		> .wp-block-group {
			width: 100%;
			max-width: none;
		}

	.dr-hero .wp-block-cover__inner-container,
	.dr-herocover .wp-block-cover__inner-container,
	.dr-band .wp-block-cover__inner-container,
	.dr-cta .wp-block-cover__inner-container,
	.dr-cta-sec .wp-block-cover__inner-container {
		padding-left: var(--dr-mobile-gutter);
		padding-right: var(--dr-mobile-gutter);
	}

	.dr-thero .wp-block-cover__inner-container {
		width: 100%;
		box-sizing: border-box;
		padding-left: var(--dr-mobile-gutter);
		padding-right: var(--dr-mobile-gutter);
	}

	.dr-rs-stage,
	.dr-dd-stage {
		width: 100%;
		max-width: none;
		box-sizing: border-box;
	}
}

/* ============================================================
   RACING BLOG — editorial grid
   The blog is intentionally styled as a magazine spread instead of a
   default block list. All selectors are page-scoped so other templates keep
   their existing layouts and motion.
   ============================================================ */
.dr-blog-page-shell {
	position: relative;
	isolation: isolate;
	background: var(--dr-bg);
	overflow: clip;
}
.dr-blog-page-shell > .wp-block-post-content {
	width: 100%;
	max-width: none;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child {
	position: relative;
	min-height: 440px;
	display: flex;
	align-items: center;
	padding-top: clamp(5.5rem, 10vw, 9rem) !important;
	padding-bottom: clamp(4rem, 8vw, 7rem) !important;
	border-bottom: 1px solid rgba(244, 247, 247, 0.14);
	background: #090b0e;
	overflow: hidden;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child::before {
	content: "RACING / 2027";
	position: absolute;
	right: clamp(1rem, 7vw, 7rem);
	top: 50%;
	transform: translateY(-42%);
	font-family: var(--dr-font-display);
	font-size: clamp(6rem, 19vw, 18rem);
	line-height: .8;
	letter-spacing: -.04em;
	color: rgba(244, 247, 247, 0.035);
	white-space: nowrap;
	pointer-events: none;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	background: rgba(244, 247, 247, 0.12);
	pointer-events: none;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group {
	position: relative;
	z-index: 1;
	width: min(1180px, 100%);
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-eyebrow {
	margin-bottom: 1.1rem;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-sec-title {
	max-width: 850px;
	font-size: clamp(3.2rem, 8.5vw, 7.5rem);
	line-height: .86;
	letter-spacing: -.025em;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-sec-title .cm {
	color: var(--dr-cyan);
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group > p:last-child {
	max-width: 660px;
	margin-bottom: 0;
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	line-height: 1.65;
	color: rgba(244, 247, 247, 0.72);
}

.dr-blog-page-shell > .wp-block-post-content > .wp-block-group.alignfull:last-child {
	position: relative;
	padding-top: clamp(3rem, 7vw, 6rem) !important;
	padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}
.dr-blog-page-shell > .wp-block-post-content > .wp-block-group.alignfull:last-child > .wp-block-group {
	width: min(1180px, 100%);
}
.dr-blog-page-shell .dr-blog-feed {
	position: relative;
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2.25rem);
	list-style: none;
	margin: 0;
	padding: 0;
}
.dr-blog-page-shell .dr-blog-card {
	position: relative;
	grid-column: span 6;
	min-width: 0;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0 0 1.6rem;
	background: #111318;
	border: 1px solid rgba(244, 247, 247, 0.10);
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
	transition: transform .45s cubic-bezier(.22, 1, .36, 1), border-color .35s ease, box-shadow .35s ease;
}
.dr-blog-page-shell .dr-blog-card::before {
	content: attr(data-blog-index);
	position: absolute;
	top: 1rem;
	right: 1.1rem;
	z-index: 2;
	font-family: var(--dr-font-display);
	font-size: 2.7rem;
	line-height: .8;
	color: rgba(244, 247, 247, 0.5);
	text-shadow: 0 2px 20px rgba(0, 0, 0, 0.55);
	pointer-events: none;
}
.dr-blog-page-shell .dr-blog-card::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 34%;
	height: 3px;
	background: var(--dr-red);
	transition: width .4s cubic-bezier(.22, 1, .36, 1), background-color .35s ease;
}
.dr-blog-page-shell .dr-blog-card:first-child {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(300px, .62fr);
	min-height: 420px;
	padding-bottom: 0;
	background: #101419;
	border-color: rgba(244, 247, 247, 0.22);
}
.dr-blog-page-shell .dr-blog-card:first-child::after {
	width: 50%;
	background: var(--dr-cyan);
}
.dr-blog-page-shell .dr-post-img {
	position: relative;
	grid-column: 1;
	grid-row: 1 / span 5;
	width: 100%;
	height: 100%;
	min-height: 420px;
	margin: 0;
	overflow: hidden;
	background: #081014;
}
.dr-blog-page-shell .dr-post-img::after {
	content: "";
	position: absolute;
	inset: 0;
	border-right: 1px solid rgba(244, 247, 247, 0.24);
	pointer-events: none;
}
.dr-blog-page-shell .dr-post-img a,
.dr-blog-page-shell .dr-post-img img {
	display: block;
	width: 100%;
	height: 100%;
}
.dr-blog-page-shell .dr-post-img img {
	object-fit: cover;
	transition: transform .9s cubic-bezier(.22, 1, .36, 1), filter .5s ease;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-img {
	position: relative;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	background: #081014;
	overflow: hidden;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-img a,
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-img img {
	display: block;
	width: 100%;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-img img {
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.dr-blog-page-shell .dr-blog-card:first-child > :not(.dr-post-img) {
	grid-column: 2;
	padding-inline: clamp(1.4rem, 3vw, 2.8rem);
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title {
	margin: clamp(2.5rem, 5vw, 4.5rem) 0 0;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-date {
	margin-top: 1.4rem;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-cat {
	margin-top: .75rem;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-exc {
	margin-top: 1.25rem;
	max-width: 34rem;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) > :not(.dr-post-img) {
	padding-inline: 1.45rem;
}
.dr-blog-page-shell .dr-post-title {
	margin: 1.35rem 0 .45rem;
	line-height: 1;
}
.dr-blog-page-shell .dr-post-title a {
	color: var(--dr-txt);
	font-family: var(--dr-font-head);
	font-size: clamp(1.35rem, 2.2vw, 2rem);
	line-height: .98;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .25s ease;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title a {
	font-size: clamp(1.8rem, 3.4vw, 3.2rem);
}
.dr-blog-page-shell .dr-post-date,
.dr-blog-page-shell .dr-post-cat {
	font-family: var(--dr-font-label);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .16em;
	line-height: 1.3;
	text-transform: uppercase;
}
.dr-blog-page-shell .dr-post-date {
	color: var(--dr-cyan);
}
.dr-blog-page-shell .dr-post-cat {
	margin-top: .65rem;
	color: var(--dr-red);
}
.dr-blog-page-shell .dr-post-cat a {
	color: inherit;
	text-decoration: none;
}
.dr-blog-page-shell .dr-post-exc {
	margin-bottom: 0;
	font-size: .95rem;
	line-height: 1.65;
	color: rgba(244, 247, 247, 0.68);
}
.dr-blog-page-shell .dr-blog-card:hover {
	border-color: rgba(244, 247, 247, 0.68);
	box-shadow: 0 22px 65px rgba(0, 0, 0, 0.34);
	transform: translateY(-7px);
}
.dr-blog-page-shell .dr-blog-card:hover::after {
	width: 72%;
	background: var(--dr-cyan);
}
.dr-blog-page-shell .dr-blog-card:hover .dr-post-img img {
	transform: scale(1.045);
	filter: saturate(1.08) contrast(1.04);
}
.dr-blog-page-shell .dr-blog-card:hover .dr-post-title a {
	color: var(--dr-cyan);
}
.dr-blog-page-shell .wp-block-query-pagination {
	grid-column: 1 / -1;
	justify-content: space-between;
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(244, 247, 247, 0.12);
}
.dr-blog-page-shell .wp-block-query-pagination a {
	font-family: var(--dr-font-label);
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--dr-cyan);
}

/* Cards reveal with a short editorial stagger. Without JS the final state is
   left visible, so the page never becomes dependent on the enhancement. */
.dr-blog-page-shell.dr-blog-enhanced .dr-blog-reveal {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1);
	transition-delay: var(--dr-blog-delay, 0ms);
}
.dr-blog-page-shell.dr-blog-enhanced .dr-blog-reveal.is-in {
	opacity: 1;
	transform: none;
}
.dr-blog-progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10001;
	width: 100%;
	height: 2px;
	background: rgba(244, 247, 247, 0.12);
	pointer-events: none;
}
.dr-blog-progress span {
	display: block;
	width: 100%;
	height: 100%;
	background: var(--dr-cyan);
	box-shadow: 0 0 12px rgba(244, 247, 247, .75);
	transform: scaleX(var(--dr-blog-progress, 0));
	transform-origin: left center;
}

@media (max-width: 782px) {
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child {
		min-height: 0;
		padding-top: 4.5rem !important;
		padding-bottom: 4rem !important;
	}
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child::after {
		left: auto;
		right: 18px;
	}
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child::before {
		top: 28%;
		right: -1.5rem;
		font-size: 7rem;
	}
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-sec-title {
		font-size: clamp(3.1rem, 16vw, 5.4rem);
	}
	.dr-blog-page-shell > .wp-block-post-content > .wp-block-group.alignfull:last-child {
		padding-top: 2.25rem !important;
		padding-bottom: 4.5rem !important;
	}
	.dr-blog-page-shell .dr-blog-feed {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}
	.dr-blog-page-shell .dr-blog-card,
	.dr-blog-page-shell .dr-blog-card:first-child {
		grid-column: 1;
		display: flex;
		min-height: 0;
	}
	.dr-blog-page-shell .dr-post-img,
	.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img {
		min-height: 0;
		height: auto;
	}
	.dr-blog-page-shell .dr-post-img img,
	.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img img {
		height: auto;
		aspect-ratio: 16 / 10;
	}
	.dr-blog-page-shell .dr-post-img::after {
		border-right: 0;
		border-bottom: 1px solid rgba(244, 247, 247, 0.24);
	}
	.dr-blog-page-shell .dr-blog-card:first-child > :not(.dr-post-img) {
		padding-inline: 1.2rem;
	}
	.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title {
		margin-top: 1.5rem;
	}
	.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title a,
	.dr-blog-page-shell .dr-post-title a {
		font-size: 1.65rem;
	}
	.dr-blog-page-shell .dr-blog-card:first-child .dr-post-exc {
		margin-bottom: 1.2rem;
	}
	.dr-blog-page-shell .dr-blog-card:not(:first-child) > :not(.dr-post-img) {
		padding-inline: 1.2rem;
	}
	.dr-blog-page-shell .dr-blog-card:hover {
		transform: none;
		box-shadow: 0 18px 50px rgba(0, 0, 0, 0.18);
	}
	.dr-blog-page-shell .dr-blog-card:hover .dr-post-img img {
		transform: none;
		filter: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dr-blog-page-shell .dr-blog-card,
	.dr-blog-page-shell .dr-post-img img,
	.dr-blog-page-shell .dr-blog-card::after,
	.dr-blog-page-shell .dr-blog-reveal {
		transition: none;
	}
}

/* Blog refinement: centered editorial pit-wall composition. */
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group,
.dr-blog-page-shell > .wp-block-post-content > .wp-block-group.alignfull:last-child > .wp-block-group {
	margin-inline: auto;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group {
	text-align: center;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-eyebrow {
	justify-content: center;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-sec-title,
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group > p:last-child {
	margin-inline: auto;
}
.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-sec-title {
	max-width: 760px;
	font-size: clamp(3rem, 7vw, 6.5rem);
}
.dr-blog-page-shell > .wp-block-post-content > .wp-block-group.alignfull:last-child > .wp-block-group {
	max-width: 1100px;
}
.dr-blog-page-shell .dr-blog-feed {
	grid-template-columns: repeat(12, minmax(0, 1fr));
}
.dr-blog-page-shell .dr-blog-card:first-child {
	grid-column: span 6;
	grid-template-columns: minmax(0, 1.2fr) minmax(190px, .8fr);
	min-height: 340px;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img {
	min-height: 340px;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title {
	margin-top: 2.2rem;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title a {
	font-size: clamp(1.55rem, 2.55vw, 2.55rem);
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) {
	grid-column: span 3;
	padding-bottom: 1.2rem;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-img img {
	aspect-ratio: 4 / 3;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) > :not(.dr-post-img) {
	padding-inline: 1.1rem;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-title {
	margin-top: 1rem;
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-title a {
	font-size: clamp(1.15rem, 1.7vw, 1.65rem);
}
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-exc {
	font-size: .82rem;
	line-height: 1.5;
}

@media (max-width: 782px) {
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group {
		text-align: left;
	}
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-sec-title,
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child > .wp-block-group > p:last-child {
		margin-inline: 0;
	}
	.dr-blog-page-shell > .wp-block-post-content > .dr-sec:first-child .dr-eyebrow {
		justify-content: flex-start;
	}
	.dr-blog-page-shell .dr-blog-card:first-child,
	.dr-blog-page-shell .dr-blog-card:not(:first-child) {
		grid-column: 1;
	}
}

/* Compact three-card editorial row: no narrow split column and no oversized
   Gutenberg-style blocks on wide screens. */
.dr-blog-page-shell > .wp-block-post-content > .wp-block-group.alignfull:last-child > .wp-block-group {
	max-width: 1020px;
}
.dr-blog-page-shell .dr-blog-feed {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
}
.dr-blog-page-shell .dr-blog-card,
.dr-blog-page-shell .dr-blog-card:first-child,
.dr-blog-page-shell .dr-blog-card:not(:first-child) {
	grid-column: span 1;
	display: flex;
	min-height: 0;
	padding-bottom: 1.25rem;
	background: #111318;
}
.dr-blog-page-shell .dr-blog-card:first-child {
	border-color: rgba(244, 247, 247, 0.38);
}
.dr-blog-page-shell .dr-post-img,
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img,
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-img {
	position: relative;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	grid-column: auto;
	grid-row: auto;
}
.dr-blog-page-shell .dr-post-img a,
.dr-blog-page-shell .dr-post-img img,
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img a,
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img img {
	display: block;
	width: 100%;
	height: auto;
}
.dr-blog-page-shell .dr-post-img img,
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-img img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.dr-blog-page-shell .dr-post-img::after {
	border-right: 0;
	border-bottom: 1px solid rgba(244, 247, 247, 0.24);
}
.dr-blog-page-shell .dr-blog-card:first-child > :not(.dr-post-img),
.dr-blog-page-shell .dr-blog-card:not(:first-child) > :not(.dr-post-img) {
	grid-column: auto;
	padding-inline: 1.1rem;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title,
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-title {
	margin-top: 1.05rem;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-title a,
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-title a {
	font-size: clamp(1.25rem, 1.8vw, 1.8rem);
	line-height: 1;
}
.dr-blog-page-shell .dr-blog-card:first-child .dr-post-exc,
.dr-blog-page-shell .dr-blog-card:not(:first-child) .dr-post-exc {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
	font-size: .86rem;
	line-height: 1.55;
}

@media (max-width: 782px) {
	.dr-blog-page-shell .dr-blog-feed {
		grid-template-columns: 1fr;
	}
	.dr-blog-page-shell .dr-blog-card,
	.dr-blog-page-shell .dr-blog-card:first-child,
	.dr-blog-page-shell .dr-blog-card:not(:first-child) {
		grid-column: 1;
	}
}

/* === Large-display hero balance ===
 * The MacBook composition stays untouched. On unusually tall desktop
 * viewports, lift the copy so the hero does not leave the message at the
 * very bottom of the screen.
 */
@media (min-width: 1000px) and (min-height: 1000px) {
	.dr-home .dr-hero .wp-block-group {
		padding-bottom: clamp(7rem, 14vh, 12rem);
	}
	.dr-sea-hero .wp-block-cover__inner-container {
		padding-bottom: clamp(7rem, 14vh, 12rem);
	}
}

/* === Contact: pit-wall / radio channel experience === */
body.dr-contact-page {
	overflow-x: hidden;
}
body.dr-contact-page .dr-contact-page-shell {
	background:
		radial-gradient(circle at 80% 8%, rgba(244, 247, 247, .08), transparent 28rem),
		#090b0e;
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(500px, 66vh, 760px);
	padding-block: clamp(5rem, 11vw, 9rem);
	overflow: hidden;
	isolation: isolate;
	background:
		linear-gradient(90deg, rgba(9, 11, 14, .96) 0%, rgba(9, 11, 14, .78) 55%, rgba(5, 30, 38, .72) 100%),
		radial-gradient(circle at 82% 40%, rgba(244, 247, 247, .15), transparent 34rem),
		#090b0e;
	border-bottom: 1px solid rgba(244, 247, 247, .25);
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child::before {
	content: "RADIO CHANNEL // 30";
	position: absolute;
	right: clamp(1rem, 6vw, 7rem);
	top: 12%;
	font-family: var(--dr-font-display);
	font-size: clamp(5rem, 19vw, 19rem);
	line-height: .78;
	letter-spacing: -.04em;
	color: rgba(244, 247, 247, .035);
	white-space: nowrap;
	transform: rotate(-7deg);
	pointer-events: none;
	z-index: -1;
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 1px;
	height: 100%;
	background: linear-gradient(180deg, transparent, rgba(244, 247, 247, .35), transparent);
	box-shadow: 0 0 28px rgba(244, 247, 247, .32);
	pointer-events: none;
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child > .wp-block-group {
	position: relative;
	z-index: 1;
	width: min(930px, calc(100% - 2 * var(--dr-gutter)));
	margin-inline: auto;
	text-align: center;
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child .dr-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	margin-bottom: 1.1rem;
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child .dr-eyebrow::before {
	content: "";
	display: inline-block;
	width: 2.5rem;
	height: 2px;
	background: var(--dr-red);
	box-shadow: 0 0 12px rgba(255, 42, 48, .6);
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child .dr-sec-title {
	font-size: clamp(3.6rem, 9vw, 8.2rem);
	line-height: .86;
	letter-spacing: -.015em;
	margin-inline: auto;
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child > .wp-block-group > p:last-child {
	max-width: 680px;
	margin: 1.6rem auto 0;
	font-size: clamp(1rem, 1.35vw, 1.25rem);
	line-height: 1.65;
	color: rgba(244, 247, 247, .72);
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:nth-child(2) {
	position: relative;
	padding-block: clamp(4.5rem, 9vw, 8rem);
	background: linear-gradient(180deg, #0b0e12 0%, #090b0e 100%);
}
body.dr-contact-page .dr-contact-page-shell > .dr-sec:nth-child(2) > .wp-block-group {
	width: min(1120px, calc(100% - 2 * var(--dr-gutter)));
	margin-inline: auto;
}
body.dr-contact-page .dr-contact-cols {
	display: grid;
	grid-template-columns: minmax(220px, .72fr) minmax(0, 1.45fr);
	gap: clamp(1.4rem, 4vw, 4rem);
	align-items: start;
}
body.dr-contact-page .dr-contact-cols > .wp-block-column {
	min-width: 0;
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:first-child {
	display: grid;
	gap: 1rem;
	align-content: start;
}
body.dr-contact-page .dr-contact-cols .is-style-card {
	position: relative;
	margin: 0;
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	background: linear-gradient(145deg, rgba(21, 26, 32, .96), rgba(13, 16, 21, .94));
	border: 1px solid rgba(244, 247, 247, .2);
	border-left: 2px solid var(--dr-cyan);
	border-radius: 0;
	box-shadow: 0 18px 45px rgba(0, 0, 0, .24);
	overflow: hidden;
	transition: border-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
body.dr-contact-page .dr-contact-cols .is-style-card::before {
	content: "01";
	position: absolute;
	top: .9rem;
	right: 1rem;
	font-family: var(--dr-font-display);
	font-size: 2.5rem;
	line-height: 1;
	color: rgba(244, 247, 247, .08);
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:first-child .is-style-card:nth-child(2)::before {
	content: "02";
}
body.dr-contact-page .dr-contact-cols .is-style-card:hover {
	transform: translateY(-4px);
	border-color: rgba(244, 247, 247, .62);
	box-shadow: 0 22px 55px rgba(0, 0, 0, .34), 0 0 24px rgba(244, 247, 247, .08);
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:first-child .is-style-card:nth-child(2) {
	border-left-color: var(--dr-red);
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:first-child .is-style-card:nth-child(2):hover {
	border-color: rgba(255, 42, 48, .62);
}
body.dr-contact-page .dr-contact-cols .dr-eyebrow {
	margin-bottom: 1.1rem;
}
body.dr-contact-page .dr-contact-cols .dr-info {
	margin-block: 1.2rem;
	line-height: 1.7;
}
body.dr-contact-page .dr-contact-cols .dr-info a,
body.dr-contact-page .dr-contact-cols .is-style-card a {
	color: var(--dr-txt);
	text-decoration-color: rgba(244, 247, 247, .5);
	text-underline-offset: .25em;
}
body.dr-contact-page .dr-contact-cols .dr-info a:hover,
body.dr-contact-page .dr-contact-cols .is-style-card a:hover {
	color: var(--dr-cyan);
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:last-child .is-style-card {
	padding: clamp(1.4rem, 3vw, 2.4rem);
	border: 1px solid rgba(244, 247, 247, .35);
	background: linear-gradient(145deg, rgba(18, 24, 30, .98), rgba(11, 14, 18, .96));
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:last-child .is-style-card::before {
	content: "03";
}
body.dr-contact-page .dr-contact-cols > .wp-block-column:last-child .is-style-card::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	font-size: 0;
}
body.dr-contact-page .dr-form {
	margin-top: 1.6rem;
}
body.dr-contact-page .dr-form label {
	font-family: var(--dr-font-label);
	font-size: .72rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(244, 247, 247, .72);
}
body.dr-contact-page .dr-form input,
body.dr-contact-page .dr-form textarea,
body.dr-contact-page .dr-form select {
	border-color: rgba(244, 247, 247, .2);
	border-radius: 0;
	background: rgba(5, 8, 11, .72);
	transition: border-color .2s ease, box-shadow .2s ease;
}
body.dr-contact-page .dr-form input:focus,
body.dr-contact-page .dr-form textarea:focus,
body.dr-contact-page .dr-form select:focus {
	border-color: var(--dr-cyan);
	box-shadow: 0 0 0 2px rgba(244, 247, 247, .12), 0 0 20px rgba(244, 247, 247, .08);
	outline: none;
}
body.dr-contact-page .dr-form label.consent {
	display: flex;
	align-items: flex-start;
	gap: .7rem;
	width: 100%;
	margin: .9rem 0 1.2rem;
	padding: .85rem 1rem;
	border: 1px solid rgba(244, 247, 247, .2);
	background: rgba(5, 8, 11, .62);
	font-family: var(--dr-font-label);
	font-size: .72rem;
	letter-spacing: .08em;
	line-height: 1.55;
	text-transform: none;
	color: rgba(244, 247, 247, .78);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
body.dr-contact-page .dr-form label.consent:focus-within,
body.dr-contact-page .dr-form label.consent:hover {
	border-color: var(--dr-cyan);
	background: rgba(7, 14, 19, .82);
	box-shadow: 0 0 18px rgba(244, 247, 247, .07);
}
body.dr-contact-page .dr-form label.consent input[type="checkbox"] {
	flex: 0 0 auto;
	width: 1.05rem;
	height: 1.05rem;
	margin: .08rem 0 0;
	accent-color: var(--dr-red);
}
body.dr-contact-page .dr-form label.consent a {
	color: var(--dr-red);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}

/* === Product inquiry: make every input visibly readable === */
body.dr-inquiry-page .dr-form input,
body.dr-inquiry-page .dr-form textarea,
body.dr-inquiry-page .dr-form select {
	background: rgba(5, 8, 11, .9);
	border: 1px solid rgba(244, 247, 247, .42);
	border-left: 2px solid rgba(244, 247, 247, .72);
	border-radius: 0;
	box-shadow: inset 0 0 0 1px rgba(244, 247, 247, .035);
	color: var(--dr-txt);
	min-height: 3.1rem;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body.dr-inquiry-page .dr-form textarea {
	min-height: 10rem;
	resize: vertical;
}
body.dr-inquiry-page .dr-form input:hover,
body.dr-inquiry-page .dr-form textarea:hover,
body.dr-inquiry-page .dr-form select:hover {
	border-color: rgba(244, 247, 247, .72);
	background: rgba(7, 14, 19, .96);
}
body.dr-inquiry-page .dr-form input:focus,
body.dr-inquiry-page .dr-form textarea:focus,
body.dr-inquiry-page .dr-form select:focus {
	border-color: var(--dr-cyan);
	box-shadow: 0 0 0 2px rgba(244, 247, 247, .16), 0 0 22px rgba(244, 247, 247, .1);
	outline: none;
}
body.dr-inquiry-page .dr-form input::placeholder,
body.dr-inquiry-page .dr-form textarea::placeholder {
	color: rgba(244, 247, 247, .42);
}
body.dr-contact-page .dr-form button,
body.dr-contact-page .dr-form input[type="submit"] {
	border-radius: 0;
	box-shadow: 4px 4px 0 var(--dr-red);
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
body.dr-contact-page .dr-form button:hover,
body.dr-contact-page .dr-form input[type="submit"]:hover {
	transform: translate(-2px, -2px);
	box-shadow: 7px 7px 0 var(--dr-red);
}
body.dr-contact-page .dr-contact-reveal {
	opacity: 0;
	transform: translateY(26px);
	transition: opacity .6s ease var(--dr-contact-delay), transform .6s cubic-bezier(.2, .75, .25, 1) var(--dr-contact-delay);
}
body.dr-contact-page .dr-contact-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (max-width: 782px) {
	body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child {
	min-height: 540px;
	padding-block: 5rem 4.5rem;
	}
	body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child::after {
	left: 12%;
	opacity: .65;
	}
	body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child > .wp-block-group,
	body.dr-contact-page .dr-contact-page-shell > .dr-sec:nth-child(2) > .wp-block-group {
	width: calc(100% - 2 * var(--dr-gutter));
	}
	body.dr-contact-page .dr-contact-page-shell > .dr-sec:first-child .dr-sec-title {
	font-size: clamp(3.15rem, 16vw, 5rem);
	}
	body.dr-contact-page .dr-contact-page-shell > .dr-sec:nth-child(2) {
	padding-block: 3.5rem 5rem;
	}
	body.dr-contact-page .dr-contact-cols {
	grid-template-columns: 1fr;
	gap: 1rem;
	}
	body.dr-contact-page .dr-contact-cols > .wp-block-column:last-child .is-style-card::after {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	display: block;
	margin: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.dr-contact-page .dr-contact-cols .is-style-card,
	body.dr-contact-page .dr-contact-reveal,
	body.dr-contact-page .dr-form button,
	body.dr-contact-page .dr-form input[type="submit"] {
	transition: none;
	}
	body.dr-contact-page .dr-contact-reveal {
	opacity: 1;
	transform: none;
	}
}

/* === Homepage hero: driver telemetry / pit-wall composition === */
.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group {
	width: min(1180px, calc(100% - 2 * var(--dr-gutter)));
	margin-inline: auto;
	position: static !important;
}
.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group > .wp-block-group {
	position: static;
	max-width: 850px;
	padding-bottom: 8vh;
}
.dr-home .dr-hero .dr-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .2rem;
	margin-bottom: 1.5rem;
	letter-spacing: .22em;
}
.dr-home .dr-hero .dr-hero-logo {
	max-width: 760px;
	font-size: clamp(4.2rem, 10vw, 9.5rem);
	line-height: .78;
	letter-spacing: -.015em;
	text-shadow: 0 12px 40px rgba(0, 0, 0, .28);
}
.dr-home .dr-hero .dr-hero-logo .dr-logo-l {
	display: block;
	width: max-content;
}
.dr-home .dr-hero .dr-hero-logo .dr-logo-accent {
	margin-left: clamp(1.2rem, 5vw, 5rem);
	filter: drop-shadow(0 0 24px rgba(244, 247, 247, .16));
}
.dr-home .dr-hero .dr-claim {
	display: inline-flex;
	align-items: center;
	margin-top: 1.65rem;
	padding: .65rem 1rem .65rem 1.1rem;
	background: rgba(8, 12, 16, .42);
	border-left-width: 2px;
	border-left-color: var(--dr-cyan);
	letter-spacing: .14em;
	font-size: clamp(.95rem, 1.7vw, 1.4rem);
	box-shadow: 10px 10px 0 rgba(255, 42, 48, .1);
}
.dr-home .dr-hero .dr-hero-cta {
	align-items: center;
	flex-wrap: wrap;
	gap: .75rem;
	margin-top: 1.9rem;
}
.dr-home .dr-hero .dr-hero-cta .wp-element-button {
	min-width: 10.5rem;
	padding: .85rem 1.2rem;
}
.dr-home .dr-hero .dr-hero-cta .wp-block-button:nth-child(2) .wp-element-button {
	background: var(--dr-red);
	border-color: var(--dr-red);
	color: #fff;
	box-shadow: 4px 4px 0 rgba(244, 247, 247, .45);
}
.dr-home .dr-hero .dr-hero-cta .wp-block-button:nth-child(2) .wp-element-button:hover {
	background: var(--dr-cyan) !important;
	border-color: var(--dr-cyan) !important;
	color: #000 !important;
}
.dr-home .dr-hero .dr-hero-cta .wp-block-button:nth-child(3) .wp-element-button {
	background: rgba(8, 12, 16, .46);
	border-color: rgba(244, 247, 247, .6);
	color: var(--dr-cyan) !important;
}
.dr-home .dr-hero .dr-hero-cta .dr-btn-ghost .wp-element-button:hover {
	background: var(--dr-cyan) !important;
	border-color: var(--dr-cyan) !important;
	color: #000 !important;
}
.dr-hero-console {
	position: absolute;
	right: clamp(0rem, 2vw, 2rem);
	bottom: clamp(9rem, 24vh, 14rem);
	width: min(245px, 24vw);
	padding: 1rem 1.1rem 1.1rem;
	background: linear-gradient(145deg, rgba(8, 13, 17, .78), rgba(9, 10, 14, .42));
	border: 1px solid rgba(244, 247, 247, .28);
	border-left: 2px solid var(--dr-cyan);
	box-shadow: 0 18px 42px rgba(0, 0, 0, .28), inset 0 0 24px rgba(244, 247, 247, .035);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	font-family: var(--dr-font-label);
	text-transform: uppercase;
	letter-spacing: .12em;
	overflow: hidden;
	transform: skewY(-2deg);
}
.dr-hero-console::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: var(--dr-cyan);
	box-shadow: 0 0 14px rgba(244, 247, 247, .8);
	transform: translateX(-100%);
	animation: dr-console-scan 3.8s ease-in-out infinite;
}
.dr-hero-console::after {
	content: "01";
	position: absolute;
	right: .7rem;
	top: .75rem;
	font-family: var(--dr-font-display);
	font-size: 2.9rem;
	line-height: .8;
	color: rgba(244, 247, 247, .07);
}
.dr-console-top,
.dr-console-row {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .8rem;
}
.dr-console-top {
	margin-bottom: .8rem;
	padding-bottom: .65rem;
	border-bottom: 1px solid rgba(244, 247, 247, .12);
	font-size: .58rem;
	color: var(--dr-cyan);
}
.dr-console-live {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	color: var(--dr-red);
}
.dr-console-live::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 10px currentColor;
	animation: dr-console-pulse 1.4s ease-in-out infinite;
}
.dr-console-row {
	padding-block: .43rem;
	font-size: .59rem;
	color: rgba(244, 247, 247, .54);
}
.dr-console-row strong {
	font-size: .66rem;
	font-weight: 600;
	color: var(--dr-txt);
	letter-spacing: .08em;
}
@keyframes dr-console-scan {
	0%, 12% { transform: translateX(-100%); opacity: 0; }
	22% { opacity: 1; }
	68%, 100% { transform: translateX(100%); opacity: 0; }
}
@keyframes dr-console-pulse {
	0%, 100% { opacity: .45; transform: scale(.8); }
	50% { opacity: 1; transform: scale(1.15); }
}
.dr-home-console-motion .dr-hero-console {
	opacity: 0;
	visibility: hidden;
	transform-origin: 100% 50%;
	will-change: transform, clip-path, opacity;
}
.dr-home-console-motion .dr-hero-console .dr-console-top,
.dr-home-console-motion .dr-hero-console .dr-console-row {
	will-change: transform, opacity;
}
.dr-console-mobile-ready {
	animation: dr-console-mobile-enter .9s cubic-bezier(.22,1,.36,1) both;
}
@keyframes dr-console-mobile-enter {
	0% { opacity: 0; visibility: hidden; transform: translateX(32px) skewY(-1deg); clip-path: inset(0 100% 0 0); }
	100% { opacity: 1; visibility: visible; transform: translateX(0) skewY(-1deg); clip-path: inset(0 0 0 0); }
}
@media (max-width: 900px) {
	.dr-hero-console {
		right: 0;
		width: min(220px, 28vw);
	}
}
@media (max-width: 820px) {
	.dr-home.alignfull,
	.dr-home .dr-hero.alignfull {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
		box-sizing: border-box;
	}
	.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group {
		width: calc(100% - 2 * var(--dr-gutter));
	}
	.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group > .wp-block-group {
		max-width: none;
		padding-bottom: 4.5rem;
	}
	.dr-home .dr-hero .dr-hero-logo {
		font-size: clamp(3.6rem, 18vw, 6.5rem);
	}
	.dr-home .dr-hero .dr-hero-logo .dr-logo-accent {
		margin-left: 1.2rem;
	}
	.dr-home .dr-hero .dr-hero-cta .wp-element-button {
		min-width: 0;
		padding-inline: .85rem;
	}
	.dr-hero-console {
		position: relative;
		right: auto;
		bottom: auto;
		width: min(100%, 280px);
		margin-top: 1.2rem;
		transform: skewY(-1deg);
	}
}
@media (prefers-reduced-motion: reduce) {
	.dr-hero-console::before,
	.dr-console-live::before,
	.dr-console-mobile-ready {
		animation: none;
	}
}

/* === Homepage wide-screen balance + reversible racing-world sequence === */
@media (min-width: 1600px) {
	.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group {
		width: min(1440px, calc(100% - 12vw));
	}
	.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group > .wp-block-group {
		max-width: 1120px;
	}
	.dr-home .dr-hero .dr-hero-logo {
		max-width: 1080px;
		font-size: clamp(8rem, 11vw, 12rem);
	}
	.dr-home .dr-hero .dr-claim {
		font-size: clamp(1.15rem, 1.8vw, 1.7rem);
	}
	.dr-home .dr-hero .dr-hero-cta .wp-element-button {
		padding: 1rem 1.5rem;
	}
	.dr-home .dr-hero-console {
		right: clamp(5rem, 10vw, 13rem);
		bottom: clamp(8rem, 22vh, 14rem);
		width: min(360px, 21vw);
		padding: 1.35rem 1.45rem 1.5rem;
	}
	.dr-home .dr-hero-console .dr-console-top {
		font-size: .72rem;
	}
	.dr-home .dr-hero-console .dr-console-row {
		padding-block: .62rem;
		font-size: .68rem;
	}
	.dr-home .dr-hero-console .dr-console-row strong {
		font-size: .78rem;
	}
}

/* Point-to-world: this replaces the short one-shot pseudo animation. */
.dr-home-ready .dr-hub-scene.dr-hub-scrub::before,
.dr-home-ready .dr-hub-scene.dr-hub-scrub::after {
	display: none;
}
.dr-hub-scroll-line,
.dr-hub-scroll-point {
	position: absolute;
	left: 50%;
	pointer-events: none;
}
.dr-hub-scroll-line {
	top: 0;
	width: 2px;
	height: 200px;
	background: var(--dr-cyan);
	box-shadow: 0 0 18px rgba(244,247,247,.55);
	transform: translateX(-50%) scaleY(0);
	transform-origin: 50% 0;
	z-index: 2;
}
.dr-hub-scroll-point {
	top: 0;
	width: 14px;
	height: 14px;
	border: 2px solid var(--dr-cyan);
	border-radius: 50%;
	background: var(--dr-bg);
	box-shadow: 0 0 0 5px rgba(244,247,247,.16), 0 0 20px 5px rgba(244,247,247,.52);
	transform: translate(-50%, -50%) scale(.35);
	z-index: 3;
}

/* Desktop highlights are controlled by the visible arrows and autoplay only.
   Manual horizontal dragging remains available on mobile. */
@media (min-width: 821px) {
	.dr-home-ready .dr-hl-track {
		overflow-x: hidden;
		touch-action: pan-y;
		cursor: default;
	}
	.dr-home-ready .dr-hl-track > li {
		cursor: pointer;
	}
}

/* On wide screens the Pit-Wall belongs to the central composition: pull it
   toward the copy and reverse the slant so it leans into the hero. */
@media (min-width: 1600px) {
	.dr-home .dr-hero-console {
		right: clamp(11rem, 14vw, 20rem);
		transform: skewY(2deg);
		transform-origin: 0% 50%;
	}
}

/* === Brand palette: graphite / white / racing red === */
.dr-ticker {
	background: var(--dr-red);
	color: #fff;
}
.dr-ticker.dark {
	background: var(--dr-ink);
	color: var(--dr-txt);
	border-color: rgba(255, 45, 45, .35);
}
.dr-hero-title .cm,
.dr-display .cm,
.dr-sec-title .cm,
.dr-band-title .cm,
.dr-cta-title .cm,
.dr-brand .cm,
.dr-season-lead .cm {
	color: var(--dr-red);
}
.dr-nav a:hover,
.dr-nav a[aria-current="page"],
.dr-nav a.is-current,
.dr-header-phone:hover,
.dr-footer-phone:hover,
.dr-social-link:hover,
.dr-social-link:focus-visible {
	color: var(--dr-red) !important;
}
.dr-nav a::after {
	background: var(--dr-red);
}

/* Restore the desktop tire marker after the red/white palette overrides.
   Keep this last so the active/hover indicator cannot collapse into a dot. */
@media (min-width: 783px) {
	.dr-nav a::after {
		background:
			repeating-conic-gradient(
				from 0deg,
				transparent 0 16deg,
				rgba(244, 247, 247, .9) 16deg 22deg,
				transparent 22deg 45deg
			),
			radial-gradient(
				circle,
				#07090b 0 22%,
				var(--dr-cyan) 23% 29%,
				#11161b 30% 58%,
				var(--dr-red) 59% 67%,
				#050608 68% 100%
			) !important;
	}
}
.dr-btn-ghost {
	color: var(--dr-red) !important;
	border-color: var(--dr-red) !important;
}
.dr-btn-ghost:hover {
	background: var(--dr-red) !important;
	color: #fff !important;
}
.dr-chip.is-active .wp-block-button__link {
	color: #fff;
	background: var(--dr-red);
	border-color: var(--dr-red);
	box-shadow: 0 0 18px rgba(255, 45, 45, .28);
}
.dr-chip.is-active .wp-block-button__link::before {
	color: rgba(255, 255, 255, .72);
}
.dr-catline {
	background: var(--dr-red);
	box-shadow: 0 0 10px rgba(255, 45, 45, .7);
}
.wp-block-woocommerce-product-collection .dr-shop-cat,
.wp-block-woocommerce-product-collection .dr-shop-cat a,
.wp-block-woocommerce-product-collection .dr-shop-price {
	color: var(--dr-red);
}
.wp-block-woocommerce-product-collection .dr-shop-cta .wp-element-button {
	color: var(--dr-red);
	border-color: var(--dr-red);
}
.wp-block-woocommerce-product-collection .dr-shop-cta .wp-element-button:hover {
	background: var(--dr-red) !important;
	color: #fff !important;
	border-color: var(--dr-red) !important;
}
.dr-shop-sort {
	border-color: rgba(255, 45, 45, .55);
}
.dr-kart-shop .wp-block-woocommerce-product-search button {
	background: var(--dr-red);
	color: #fff;
}
.dr-kart-shop .dr-shop-console {
	border-left-color: var(--dr-red);
}
.dr-kart-shop .dr-shop-console::after,
.dr-kart-shop .dr-shop-telemetry-track i {
	background: var(--dr-red);
	box-shadow: 0 0 14px rgba(255, 45, 45, .72);
}

/* === Header controls: quiet mobile, stronger desktop cart === */
@keyframes dr-cart-arrival {
	0%, 100% { transform: scale(1) rotate(0deg); }
	18% { transform: scale(1.08) rotate(-5deg); }
	38% { transform: scale(1.13) rotate(5deg); }
	62% { transform: scale(1.06) rotate(-3deg); }
}
@keyframes dr-cart-count-arrival {
	0%, 100% { transform: scale(1); box-shadow: 0 0 0 rgba(255, 45, 45, 0); }
	35% { transform: scale(1.35); box-shadow: 0 0 0 7px rgba(255, 45, 45, .18), 0 0 22px rgba(255, 45, 45, .72); }
	70% { transform: scale(.94); }
}
.dr-header-cart.is-bumping {
	animation: dr-cart-arrival .8s cubic-bezier(.2, .8, .2, 1);
}
.dr-header-cart.is-bumping .dr-header-cart-count {
	animation: dr-cart-count-arrival .8s cubic-bezier(.2, .8, .2, 1);
}

@media (min-width: 783px) {
	/* Give the cart a clear command-button presence in the desktop header. */
	.dr-header-cart {
		min-height: 36px;
		padding: .42rem .72rem;
		border: 1px solid rgba(255, 45, 45, .52);
		border-radius: 999px;
		background: linear-gradient(135deg, rgba(255, 45, 45, .15), rgba(244, 247, 247, .035));
		box-shadow: 0 0 16px rgba(255, 45, 45, .1), inset 0 0 12px rgba(255, 45, 45, .04);
	}
	.dr-header-cart:hover,
	.dr-header-cart:focus-visible {
		border-color: var(--dr-red);
		background: rgba(255, 45, 45, .2);
		box-shadow: 0 0 18px rgba(255, 45, 45, .24);
	}
	/* Socials become a stable vertical race-control rail instead of header clutter. */
	.dr-header-tools .dr-socials {
		position: fixed;
		left: clamp(.6rem, 1.3vw, 1.35rem);
		top: 50%;
		z-index: 10000;
		flex-direction: column;
		gap: .55rem;
		padding: .65rem .42rem;
		border: 1px solid rgba(244, 247, 247, .16);
		border-radius: 999px;
		background: rgba(10, 10, 13, .72);
		box-shadow: 0 0 24px rgba(0, 0, 0, .34), inset 0 0 14px rgba(255, 45, 45, .06);
		transform: translateY(-50%);
		animation: dr-social-rail-in .85s cubic-bezier(.2, .75, .25, 1) .35s both;
	}
	.dr-header-tools .dr-social-link {
		width: 40px;
		height: 40px;
		background: rgba(244, 247, 247, .025);
	}
	.dr-header-tools .dr-social-link:hover,
	.dr-header-tools .dr-social-link:focus-visible {
		transform: translateX(3px) scale(1.06);
	}
}

@keyframes dr-social-rail-in {
	from {
		opacity: 0;
		translate: -120% 0;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}

@keyframes dr-shop-socials-in {
	from {
		opacity: 0;
		translate: 0 -18px;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}

@media (max-width: 782px) {
	/* The mobile header keeps only the brand, cart and menu. */
	.dr-header-row {
		grid-template-columns: minmax(0, 1fr) auto auto;
		gap: .7rem;
	}
	.dr-header-tools {
		grid-column: 2;
		grid-row: 1;
		gap: 0;
	}
	.dr-header-main {
		grid-column: 3;
		grid-row: 1;
	}
	.dr-header-phone,
	.dr-header-tools .dr-socials {
		display: none !important;
	}
	.dr-header-cart {
		position: relative;
		padding: .3rem;
		border: 1px solid rgba(255, 45, 45, .4);
		border-radius: 50%;
		background: rgba(255, 45, 45, .08);
	}
	.dr-header-cart-count {
		position: absolute;
		top: -7px;
		right: -7px;
		min-width: 1.05rem;
		height: 1.05rem;
		font-size: .55rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dr-header-tools .dr-socials,
	body.woocommerce-shop .dr-header-tools .dr-socials,
	body.post-type-archive-product .dr-header-tools .dr-socials,
	body.tax-product_cat .dr-header-tools .dr-socials {
		animation: none !important;
	}
	.dr-header-cart.is-bumping,
	.dr-header-cart.is-bumping .dr-header-cart-count {
		animation: none;
	}
}

/* === Social rail: centered, larger, platform-colored === */
@media (min-width: 783px) {
	.dr-header-tools .dr-socials {
		top: 50vh !important;
		transform: translateY(-50%) !important;
	}
	.dr-header-tools .dr-social-link {
		width: 48px;
		height: 48px;
		color: #fff;
		border-color: transparent;
	}
	.dr-header-tools .dr-social-link svg {
		width: 22px;
		height: 22px;
	}
	.dr-header-tools .dr-social-instagram {
		background: linear-gradient(145deg, #feda75 0%, #fa7e1e 28%, #d62976 58%, #962fbf 78%, #4f5bd5 100%);
		box-shadow: 0 0 16px rgba(214, 41, 118, .25);
	}
	.dr-header-tools .dr-social-youtube {
		background: #ff0033;
		box-shadow: 0 0 16px rgba(255, 0, 51, .22);
	}
	.dr-header-tools .dr-social-whatsapp {
		background: #25d366;
		box-shadow: 0 0 16px rgba(37, 211, 102, .22);
	}
	.dr-header-tools .dr-social-instagram:hover,
	.dr-header-tools .dr-social-instagram:focus-visible,
	.dr-header-tools .dr-social-youtube:hover,
	.dr-header-tools .dr-social-youtube:focus-visible,
	.dr-header-tools .dr-social-whatsapp:hover,
	.dr-header-tools .dr-social-whatsapp:focus-visible {
		color: #fff;
		border-color: #fff;
	}
}

/* The shop has a left category rail of its own. Keep the social buttons at
 * their normal size, but give them a clean horizontal position above the shop
 * content instead of covering the category rail. */
@media (min-width: 783px) {
	body.woocommerce-shop .dr-header-tools .dr-socials,
	body.post-type-archive-product .dr-header-tools .dr-socials,
	body.tax-product_cat .dr-header-tools .dr-socials {
		left: auto;
		right: .8rem;
		top: 9.7rem !important;
		flex-direction: row;
		padding: .45rem .55rem;
		gap: .38rem;
		transform: none !important;
		animation: dr-shop-socials-in .75s cubic-bezier(.2, .75, .25, 1) .45s both;
	}
	body.woocommerce-shop .dr-header-tools .dr-social-link,
	body.post-type-archive-product .dr-header-tools .dr-social-link,
	body.tax-product_cat .dr-header-tools .dr-social-link {
		width: 48px;
		height: 48px;
	}
	body.woocommerce-shop .dr-header-tools .dr-social-link svg,
	body.post-type-archive-product .dr-header-tools .dr-social-link svg,
	body.tax-product_cat .dr-header-tools .dr-social-link svg {
		width: 22px;
		height: 22px;
	}
}

/* === Shop condition filter and product labels === */
.dr-condition-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem;
	margin: 1.25rem 0 1.4rem;
	padding: .8rem 0;
	border-top: 1px solid var(--dr-rule);
	border-bottom: 1px solid var(--dr-rule);
}
.dr-condition-filter-label {
	margin-right: .35rem;
	color: var(--dr-muted);
	font-family: var(--dr-font-label);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.dr-condition-chip {
	appearance: none;
	border: 1px solid rgba(244, 247, 247, .2);
	border-radius: 999px;
	padding: .55rem .9rem;
	color: rgba(244, 247, 247, .72);
	background: transparent;
	font: 600 .7rem var(--dr-font-label);
	letter-spacing: .1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: color .22s ease, border-color .22s ease, background .22s ease, transform .22s ease;
}
.dr-condition-chip:hover,
.dr-condition-chip:focus-visible {
	color: var(--dr-txt);
	border-color: var(--dr-red);
	transform: translateY(-1px);
}
.dr-condition-chip.is-active {
	color: #fff;
	border-color: var(--dr-red);
	background: var(--dr-red);
	box-shadow: 0 0 16px rgba(255, 45, 45, .22);
}
.wp-block-woocommerce-product-collection .dr-shop-condition {
	display: inline-flex;
	width: fit-content;
	margin: 0 0 .42rem;
	padding: .2rem .55rem;
	border: 1px solid rgba(244, 247, 247, .32);
	border-radius: 999px;
	font: 600 .62rem var(--dr-font-label);
	letter-spacing: .13em;
	line-height: 1;
	text-transform: uppercase;
}
.wp-block-woocommerce-product-collection .dr-shop-condition-neu {
	color: var(--dr-red);
	border-color: rgba(255, 45, 45, .62);
	background: rgba(255, 45, 45, .08);
}
.wp-block-woocommerce-product-collection .dr-shop-condition-gebraucht {
	color: rgba(244, 247, 247, .82);
	background: rgba(244, 247, 247, .06);
}
.wp-block-woocommerce-product-collection li.dr-stock-hidden {
	display: none !important;
}
@media (max-width: 782px) {
	.dr-condition-filter {
		gap: .4rem;
		margin-top: 1rem;
	}
	.dr-condition-filter-label {
		width: 100%;
	}
	.dr-condition-chip {
		padding: .5rem .7rem;
		font-size: .62rem;
	}
}

/* === Shop hero: full-width editorial entrance without the status console === */
.dr-kart-shop .dr-kart-hero {
	min-height: clamp(520px, 62vh, 760px);
	background:
		linear-gradient(100deg, rgba(7, 8, 11, .98) 0%, rgba(7, 8, 11, .9) 42%, rgba(7, 8, 11, .38) 100%),
		var(--dr-bg);
}
.dr-kart-shop .dr-kart-hero::before {
	clip-path: polygon(0 0, 58% 0, 45% 100%, 0 100%);
	border-right-color: rgba(255, 45, 45, .24);
	animation: dr-shop-hero-divider 9s ease-in-out infinite alternate;
}
.dr-kart-shop .dr-kart-hero::after {
	opacity: .42;
	clip-path: polygon(36% 0, 100% 0, 100% 100%, 54% 100%);
	filter: contrast(1.22) saturate(1.3) brightness(.78);
}
.dr-shop-hero-grid {
	grid-template-columns: minmax(0, 1fr);
	min-height: clamp(450px, 54vh, 650px);
	align-items: center;
	gap: 0;
}
.dr-shop-hero-grid::before {
	inset: 1.1rem clamp(1.25rem, 4vw, 4rem);
	border-color: rgba(255, 45, 45, .3);
	clip-path: polygon(0 18%, 18% 0, 100% 0, 100% 78%, 82% 100%, 0 100%);
}
.dr-shop-hero-copy {
	position: relative;
	max-width: 900px;
	padding: clamp(2.5rem, 6vw, 5rem) 0;
}
.dr-shop-hero-copy::before {
	content: "RACE PARTS // LIVE INVENTORY";
	position: absolute;
	top: clamp(.2rem, 1.5vw, 1rem);
	left: 0;
	color: rgba(244, 247, 247, .38);
	font: 600 .58rem var(--dr-font-label);
	letter-spacing: .2em;
	text-transform: uppercase;
}
.dr-shop-hero-copy::after {
	content: "";
	position: absolute;
	left: -1rem;
	bottom: .5rem;
	width: min(62vw, 620px);
	height: 1px;
	background: linear-gradient(90deg, var(--dr-red), rgba(255, 45, 45, 0));
	box-shadow: 0 0 16px rgba(255, 45, 45, .38);
	animation: dr-shop-line-pulse 3.8s ease-in-out infinite;
}
.dr-shop-hero-copy .dr-sec-title {
	text-shadow: 0 0 34px rgba(255, 45, 45, .12);
	animation: dr-shop-title-breathe 5s ease-in-out infinite;
}
.dr-shop-hero-copy > p:not(.dr-eyebrow) {
	max-width: 720px;
	font-size: clamp(1rem, 1.25vw, 1.18rem);
	line-height: 1.65;
}
.dr-shop-hero-telemetry {
	max-width: 760px;
}
@keyframes dr-shop-hero-divider {
	0% { transform: translateX(0); opacity: .36; }
	100% { transform: translateX(2.5%); opacity: .74; }
}
@keyframes dr-shop-line-pulse {
	0%, 100% { opacity: .42; transform: scaleX(.78); transform-origin: left; }
	50% { opacity: 1; transform: scaleX(1); transform-origin: left; }
}
@keyframes dr-shop-title-breathe {
	0%, 100% { filter: brightness(1); }
	50% { filter: brightness(1.08); }
}
@media (max-width: 782px) {
	.dr-kart-shop .dr-kart-hero {
		min-height: 560px;
	}
	.dr-kart-shop .dr-kart-hero::after {
		clip-path: polygon(16% 0, 100% 0, 100% 100%, 46% 100%);
		opacity: .28;
	}
	.dr-shop-hero-grid {
		min-height: 500px;
		padding-inline: var(--dr-mobile-gutter) !important;
	}
	.dr-shop-hero-copy {
		padding-block: 3.6rem 2.4rem;
	}
	.dr-shop-hero-copy::before {
		top: 1rem;
	}
	.dr-shop-hero-copy::after {
		left: 0;
		width: 88%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.dr-kart-shop .dr-kart-hero::before,
	.dr-shop-hero-copy::after,
	.dr-shop-hero-copy .dr-sec-title {
		animation: none;
	}
}

/* === WooCommerce category rail: compact shop sidebar === */
.dr-shop-catalog-layout {
	display: grid !important;
	grid-template-columns: minmax(260px, 300px) minmax(0, 1fr);
	align-items: start;
	gap: clamp(1.25rem, 3vw, 3rem);
}
.dr-shop-sidebar,
.dr-shop-product-area {
	min-width: 0;
}
.dr-shop-sidebar {
	position: sticky;
	top: 104px;
}
.dr-shop-sidebar .dr-pitlane-wrap {
	margin-top: 0;
	padding: 0;
	border: 1px solid rgba(244, 247, 247, .12);
	background: #07080b;
	box-shadow: 0 16px 30px rgba(0, 0, 0, .2);
}
.dr-shop-category-panel-head {
	padding: 1rem 1.15rem;
	color: #fff;
	background: var(--dr-red);
	font: 700 .92rem var(--dr-font-head);
	letter-spacing: .08em;
	text-transform: uppercase;
}
.dr-shop-sidebar .dr-pitlane {
	display: block !important;
	padding: .55rem 0;
}
.dr-shop-category-list {
	display: grid;
}
.dr-shop-sidebar .dr-pitlane .dr-chip {
	display: flex;
	box-sizing: border-box;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
	width: 100%;
	margin: 0;
	min-height: 2.65rem;
	padding: .7rem 1.15rem;
	border: 0;
	border-radius: 0;
	color: rgba(244, 247, 247, .82);
	background: transparent;
	font: 600 .72rem var(--dr-font-label);
	letter-spacing: .08em;
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
	transition: color .2s ease, background .2s ease, padding-left .2s ease;
}
.dr-shop-sidebar .dr-shop-category-list {
	width: 100%;
}
.dr-shop-sidebar .dr-pitlane .dr-chip::before {
	display: none;
}
.dr-shop-sidebar .dr-pitlane .dr-chip span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.dr-shop-sidebar .dr-pitlane .dr-chip b {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 1.05rem;
	height: 1.05rem;
	border: 1px solid rgba(244, 247, 247, .62);
	border-radius: 50%;
	color: #fff;
	font-size: .8rem;
	line-height: 1;
}
.dr-shop-sidebar .dr-pitlane .dr-chip:hover,
.dr-shop-sidebar .dr-pitlane .dr-chip:focus-visible {
	padding-left: 1.25rem;
	color: #fff;
	background: rgba(255, 45, 45, .13);
}
.dr-shop-sidebar .dr-pitlane .dr-chip.is-active {
	color: #fff;
	background: rgba(255, 45, 45, .18);
	box-shadow: inset 3px 0 0 var(--dr-red);
}
.dr-shop-sidebar .dr-pitlane .dr-chip.is-active b {
	border-color: var(--dr-red);
	background: var(--dr-red);
}
.dr-shop-sidebar .dr-catline {
	display: none !important;
}
.dr-shop-sidebar .dr-condition-filter {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 1rem 0 0;
	padding: 0;
	border: 1px solid rgba(244, 247, 247, .12);
	background: #07080b;
}
.dr-shop-sidebar .dr-condition-filter-label {
	grid-column: 1;
	margin: 0;
	padding: 1rem 1.15rem;
	color: #fff;
	background: var(--dr-red);
	font-size: .72rem;
}
.dr-shop-sidebar .dr-condition-chip {
	border: 0;
	border-radius: 0;
	padding: .7rem 1.15rem;
	font-size: .64rem;
	text-align: left;
}
.dr-shop-sidebar .dr-condition-chip.is-active {
	box-shadow: inset 3px 0 0 var(--dr-red);
}
.dr-shop-sidebar .dr-condition-chip:hover,
.dr-shop-sidebar .dr-condition-chip:focus-visible {
	color: #fff;
	background: rgba(255, 45, 45, .13);
	transform: none;
}

/* Keep the search close to the catalogue controls, where it is most useful. */
.dr-shop-search-dock {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	margin: clamp(1.5rem, 3vw, 2.6rem) 0 0;
	padding: .9rem 1rem;
	border: 1px solid rgba(244, 247, 247, .14);
	border-left: 3px solid var(--dr-red);
	background: rgba(19, 19, 24, .82);
}
.dr-shop-search-label {
	flex: 0 0 auto;
	color: rgba(244, 247, 247, .62);
	font: 600 .68rem var(--dr-font-label);
	letter-spacing: .15em;
	text-transform: uppercase;
}
.dr-shop-search-dock .wp-block-woocommerce-product-search {
	flex: 1 1 520px;
	max-width: 760px;
	margin: 0;
}
.dr-shop-search-dock .wc-block-product-search__fields,
.dr-shop-search-dock form {
	width: 100%;
}
.dr-shop-search-dock input {
	min-height: 42px;
}
@media (max-width: 899px) {
	.dr-shop-catalog-layout {
		grid-template-columns: 1fr;
	}
	.dr-shop-sidebar {
		position: static;
	}
	.dr-shop-sidebar .dr-pitlane-wrap {
		width: 100%;
	}
	.dr-shop-category-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.dr-shop-search-dock {
		align-items: stretch;
		flex-direction: column;
		gap: .55rem;
	}
	.dr-shop-search-dock .wp-block-woocommerce-product-search {
		max-width: none;
	}
}
@media (max-width: 520px) {
	.dr-shop-category-list {
		grid-template-columns: 1fr;
	}
}

/* === Wide desktop shop canvas ===
   The catalogue should use the available monitor width instead of keeping
   the older 1080px editorial measure. The parent still provides the page
   gutters, while the sidebar and product grid grow together. */
@media (min-width: 1100px) {
	.dr-kart-shop .dr-kart-body > .wp-block-group.has-global-padding {
		padding-left: clamp(1.25rem, 2.5vw, 2.5rem);
		padding-right: clamp(1.25rem, 2.5vw, 2.5rem);
	}

	.dr-kart-shop .dr-shop-controlbar,
	.dr-kart-shop .dr-shop-search-dock,
	.dr-kart-shop .dr-shop-catalog-layout {
		box-sizing: border-box;
		width: min(1680px, 100%);
		max-width: none;
		margin-left: auto;
		margin-right: auto;
	}

	.dr-kart-shop .dr-shop-catalog-layout {
		grid-template-columns: clamp(280px, 19vw, 340px) minmax(0, 1fr);
		gap: clamp(1.5rem, 2.5vw, 3rem);
	}
}

/* === Mobile polish: compact search, distinct condition filter, static footer nav === */
@media (max-width: 782px) {
	/* The footer has limited space on phones, so keep its links visible without
	   introducing a second hamburger menu below the page content. */
	.dr-footer .dr-footnav {
		display: block !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation__responsive-container {
		display: block !important;
		position: static !important;
		inset: auto !important;
		width: auto !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		visibility: visible !important;
		opacity: 1 !important;
		background: transparent !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation__responsive-close {
		display: block !important;
		width: auto !important;
		min-height: 0 !important;
		padding: 0 !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation__responsive-container-close {
		display: none !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation__responsive-container-content {
		display: block !important;
		width: auto !important;
		padding: 0 !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation__container {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: .2rem .85rem !important;
		width: 100% !important;
	}
	.dr-footer .dr-footnav .wp-block-navigation-item__content {
		width: 100%;
		padding: .42rem 0 !important;
		border-bottom: 1px solid rgba(244, 247, 247, .13);
		font-size: .64rem !important;
	}

	/* Prevent the search dock from stretching to the height of the catalogue. */
	.dr-shop-search-dock {
		display: block !important;
		align-self: flex-start !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		box-sizing: border-box;
		overflow: visible;
	}
	.dr-shop-search-dock .wp-block-woocommerce-product-search {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		min-height: 0 !important;
		margin: 0;
	}
	.dr-shop-search-dock .wc-block-product-search__fields,
	.dr-shop-search-dock form {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: stretch;
		width: 100% !important;
	}
	.dr-shop-search-dock input[type="search"] {
		width: 100%;
		min-width: 0;
		min-height: 2.8rem;
		box-sizing: border-box;
	}
	.dr-shop-search-dock button {
		min-width: 2.8rem;
		min-height: 2.8rem;
	}

	/* Full-width content uses the phone screen more confidently while keeping
	   the section gutters as the readable edge. */
	.dr-home .dr-sec > .wp-block-group {
		width: 100%;
		max-width: none;
	}
}

/* Zustand is deliberately a compact control rail, not a second category list. */
.dr-shop-sidebar .dr-condition-filter {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .35rem;
	padding: .65rem;
	border: 1px solid rgba(244, 247, 247, .16);
	border-top: 2px solid rgba(255, 45, 45, .75);
	background: rgba(7, 8, 11, .92);
}
.dr-shop-sidebar .dr-condition-filter-label {
	grid-column: 1 / -1;
	padding: .35rem .35rem .55rem;
	border-bottom: 1px solid rgba(244, 247, 247, .14);
	color: var(--dr-red);
	background: transparent;
	font-size: .68rem;
	letter-spacing: .14em;
}
.dr-shop-sidebar .dr-condition-chip,
.dr-shop-sidebar .dr-condition-chip.is-active {
	min-width: 0;
	padding: .62rem .35rem;
	border: 1px solid transparent;
	border-radius: 2px;
	color: rgba(244, 247, 247, .72);
	background: transparent;
	box-shadow: none;
	font-size: .58rem;
	letter-spacing: .08em;
	text-align: center;
}
.dr-shop-sidebar .dr-condition-chip:hover,
.dr-shop-sidebar .dr-condition-chip:focus-visible,
.dr-shop-sidebar .dr-condition-chip.is-active {
	color: #fff;
	border-color: rgba(255, 45, 45, .75);
	background: rgba(255, 45, 45, .14);
	transform: none;
}

/* The hero already communicates the entry point visually; remove the extra
   instruction line and let desktop copy breathe across wider displays. */
.dr-home .dr-scrollcue {
	display: none !important;
}
@media (min-width: 1000px) {
	.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group {
		width: min(1320px, calc(100% - 6vw));
	}
	.dr-home .dr-hero .wp-block-cover__inner-container > .wp-block-group > .wp-block-group {
		max-width: 980px;
	}
}

/* === Season calendar: lightweight mobile scroll choreography === */
@media (max-width: 720px) and (prefers-reduced-motion: no-preference) {
	.dr-season-track {
		contain: layout paint;
	}
	.dr-season-track .dr-race-node {
		backface-visibility: hidden;
		will-change: transform, opacity;
	}
	.dr-season-track .dr-race-panel {
		will-change: box-shadow, border-color;
	}
	.dr-season-track .dr-race-node.is-active .dr-race-panel {
		box-shadow: 0 0 0 1px rgba(244, 247, 247, .34), 0 18px 42px rgba(0, 0, 0, .42), 0 0 22px rgba(244, 247, 247, .16);
	}
}

/* === Shop: quiet row separators for a clearer product catalogue === */
@media (min-width: 783px) {
	.dr-kart-shop .dr-shop-grid ul.wc-block-product-template {
		row-gap: clamp(2rem, 3vw, 3rem);
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:nth-child(n + 4) {
		position: relative;
	}
	.dr-kart-shop .dr-shop-grid li.wc-block-product:nth-child(n + 4)::before {
		content: "";
		position: absolute;
		top: clamp(-1.55rem, -2.2vw, -1rem);
		left: 0;
		right: 0;
		height: 1px;
		background: linear-gradient(90deg, rgba(255, 45, 45, .55), rgba(244, 247, 247, .12), transparent);
		pointer-events: none;
	}
}

/* === Product detail: make variant choice and cart action unmistakable === */
.single-product .variations_form table.variations {
	margin: 1.35rem 0 1rem;
}

.single-product .variations_form table.variations label {
	font-family: var(--dr-font-label);
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--dr-txt);
}

.single-product .variations_form table.variations td.value {
	padding: 0;
}

.single-product .variations_form table.variations select {
	min-width: min(19rem, 100%);
	min-height: 3rem;
	padding: .7rem 2.5rem .7rem 1rem;
	border: 2px solid var(--dr-red) !important;
	border-radius: 5px;
	background-color: var(--dr-ink) !important;
	color: var(--dr-txt) !important;
	font-family: var(--dr-font-label);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	box-shadow: 0 0 0 3px rgba(255, 45, 45, .1), 0 0 18px rgba(255, 45, 45, .12);
	cursor: pointer;
	transition: border-color .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.single-product .variations_form table.variations select:hover,
.single-product .variations_form table.variations select:focus {
	border-color: var(--dr-cyan) !important;
	box-shadow: 0 0 0 3px rgba(0, 229, 255, .12), 0 0 20px rgba(0, 229, 255, .16);
	outline: none;
}

.single-product .variations_form .reset_variations {
	color: rgba(244, 247, 247, .7);
	font-family: var(--dr-font-label);
	font-size: .7rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.single-product .variations_form .single_add_to_cart_button,
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
	min-height: 3.1rem;
	padding: .85rem 1.5rem;
	border: 1px solid var(--dr-red) !important;
	border-radius: 5px;
	background: var(--dr-red) !important;
	color: #fff !important;
	font-family: var(--dr-font-label);
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	box-shadow: 0 0 18px rgba(255, 45, 45, .24), inset 0 -3px 0 rgba(0, 0, 0, .18);
	transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.single-product .variations_form .single_add_to_cart_button:hover,
.single-product .variations_form .single_add_to_cart_button:focus-visible,
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:hover,
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button:focus-visible {
	background: #ff4b4b !important;
	box-shadow: 0 0 26px rgba(255, 45, 45, .45), inset 0 -2px 0 rgba(0, 0, 0, .18);
	transform: translateY(-2px);
}

/* A variation button is disabled until an option is selected, but it should
   remain visually prominent so the next required action is obvious. */
.single-product .variations_form .single_add_to_cart_button.disabled,
.single-product .variations_form .single_add_to_cart_button[disabled],
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button.disabled,
.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button[disabled] {
	opacity: 1 !important;
	filter: none !important;
	background: var(--dr-red) !important;
	border-color: var(--dr-red) !important;
	color: #fff !important;
	box-shadow: 0 0 16px rgba(255, 45, 45, .28), inset 0 -3px 0 rgba(0, 0, 0, .18);
	cursor: not-allowed;
}

/* RS Kart cut-outs are wide model plates. Contain them instead of cropping
   the nose, rear axle or wheels inside the catalogue cards. */
.dr-kart-shop .dr-shop-grid li.product_cat-kart-chassis .dr-shop-img img {
	aspect-ratio: 1500 / 740;
	object-fit: contain;
	background: #fff;
}

/* Make the native WooCommerce related-product collection read as a real
   recommendation rail and keep its cards visible below the description. */
.single-product [data-collection="woocommerce/product-collection/related"] {
	width: min(1200px, calc(100% - 2rem));
	margin: clamp(3rem, 7vw, 6rem) auto 0;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(255, 45, 45, .35);
}
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-product-template {
	gap: clamp(.8rem, 1.6vw, 1.4rem);
}
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-product {
	min-width: 0;
	background: var(--dr-ink);
	border: 1px solid rgba(244, 247, 247, .12);
	border-radius: 6px;
	padding: .8rem;
	transition: transform .25s ease, border-color .25s ease;
}
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-product:hover {
	transform: translateY(-4px);
	border-color: var(--dr-red);
}
.single-product [data-collection="woocommerce/product-collection/related"] .wc-block-product img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	background: #fff;
	border-radius: 4px;
}

@media (max-width: 782px) {
	.single-product .variations_form table.variations select {
		width: 100%;
		min-width: 0;
	}
	.single-product .variations_form .single_add_to_cart_button,
	.single-product .wp-block-woocommerce-add-to-cart-form .single_add_to_cart_button {
		width: 100%;
	}
}
