/*
 * Öffentliche Händler-Microsites im kanonischen Referenzsystem.
 * Händlerkontext und Funktionen bleiben erhalten; Geometrie und Komponenten
 * folgen der ruhigen Markenstudie.
 */
.reference-platform.hd-body,
.hd-body.reference-platform {
	--hd-navy: var(--night);
	--hd-navy-2: var(--night-2);
	--hd-blue: var(--blue);
	--hd-blue-light: #73d7ff;
	--hd-ink: var(--ink);
	--hd-muted: var(--muted);
	--hd-line: var(--line);
	--hd-soft: var(--stage);
	--hd-radius: 0;
	background: #fff;
	color: var(--ink);
	font-family: var(--font);
}

.hd-body .container,
.hd-page .wrap,
.hd-preview-bar .wrap,
.hd-foot .container {
	width: min(100%,var(--page)) !important;
	max-width: none;
	margin-inline: auto;
	padding-inline: var(--gutter);
}

/* Händler-Kontextshell */
.hd-topbar {
	border: 0;
	background: var(--night);
	color: #fff;
}

.hd-topbar__row { min-height: 44px; }
.hd-topbar__brand {
	gap: 14px;
	min-height: 44px;
	color: #fff;
	font-size: 10px;
	font-weight: 720;
	letter-spacing: .09em;
	text-transform: uppercase;
}

/* Negativ-Logo statt weiß eingefärbter Silhouette; Höhe so, dass „TRAILERS“ im Balken lesbar bleibt. */
.hd-topbar__brand img {
	width: auto;
	height: 26px;
	filter: none;
}

.hd-topbar .seg {
	gap: 0;
	padding: 0;
	border: 1px solid rgba(255,255,255,.28);
	border-radius: 0;
	background: transparent;
}

.hd-topbar .seg__label {
	padding-inline: 9px;
	color: #aab9c4;
	font-size: 9px;
	font-weight: 760;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.hd-topbar .seg__btn {
	min-width: 60px;
	min-height: 30px;
	padding: 0 9px;
	border: 0;
	border-left: 1px solid rgba(255,255,255,.2);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 10px;
}

.hd-topbar .seg__btn[aria-pressed="true"] { background: #fff; color: var(--night); }
.hd-head {
	position: sticky;
	z-index: 1100;
	top: 0;
	border-bottom: 1px solid var(--line);
	background: rgba(255,255,255,.97);
	box-shadow: none;
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.hd-head__row { min-height: 76px; gap: clamp(18px,3vw,42px); }
.hd-brand__logo {
	width: auto;
	height: 44px;
	max-width: 176px;
	border-radius: 0;
}

.hd-brand__mark {
	width: 44px;
	height: 44px;
	border-radius: 0;
	background: var(--night);
	color: #fff;
}

.hd-brand__text strong {
	max-width: 300px;
	color: var(--ink);
	font-size: 15px;
	font-weight: 760;
}

.hd-brand__text small { color: var(--muted); font-size: 10px; }
.hd-nav { gap: 0; }
.hd-nav a {
	min-height: 44px;
	padding: 0 14px;
	border-radius: 0;
	color: var(--ink-2);
	font-size: 11px;
	font-weight: 700;
}

.hd-nav a:hover { background: var(--stage); color: var(--ink); }
.hd-nav a.is-current {
	box-shadow: inset 0 -3px 0 var(--blue);
	background: transparent;
	color: var(--blue-dark);
}

.hd-head__actions .btn {
	min-width: 138px;
	min-height: 44px;
	border-width: 1px;
	border-radius: 0;
}

.reference-platform .hd-head__actions a.btn::after { content: none; }

/* Grundsystem */
.hd-page {
	--hd-radius: 0;
	overflow: clip;
	color: var(--ink);
}

.hd-page h1,
.hd-page h2,
.hd-page h3 {
	color: inherit;
	font-family: var(--font);
	font-weight: 780;
	letter-spacing: -.045em;
	overflow-wrap: anywhere;
	-webkit-hyphens: auto;
	hyphens: auto;
}

.hd-page h2 {
	max-width: 22ch;
	font-size: clamp(34px,3.7vw,58px);
	line-height: 1.02;
}

.hd-page h2 em,
.hd-page h1 em { color: var(--blue); font-style: normal; }
.hd-page p { line-height: 1.62; }
.hd-section { padding-block: var(--section-y); }
.hd-kicker {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 18px !important;
	color: var(--blue-dark) !important;
	font-size: 10px;
	font-weight: 780;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.hd-kicker::before {
	width: 38px;
	height: 3px;
	background: currentColor;
	content: "";
}

.hd-section-head {
	display: grid;
	grid-template-columns: minmax(0,1.4fr) minmax(260px,.6fr);
	align-items: end;
	gap: 36px clamp(48px,7vw,110px);
	margin-bottom: clamp(34px,5vw,64px);
}

.hd-section-head > p {
	margin: 0;
	color: var(--muted);
	font-size: 15px;
}

.hd-text-link {
	color: var(--blue-dark);
	font-size: 12px;
	font-weight: 730;
}

.hd-page .btn--accent {
	border-color: var(--blue);
	border-radius: 0;
	background: var(--blue);
	color: #fff;
	box-shadow: none;
	transform: none;
}

.hd-page .btn--accent:hover { border-color: var(--blue-dark); background: var(--blue-dark); transform: none; }
.hd-page .btn--ghost-light {
	border-color: rgba(255,255,255,.4);
	border-radius: 0;
	background: transparent;
	color: #fff;
}

.hd-page .btn--large {
	justify-content: space-between;
	min-width: 190px;
	min-height: 54px;
	padding-inline: 18px;
	font-size: 13px;
}

.reference-platform .hd-page a.btn::after,
.reference-platform .hd-page button.btn::after {
	content: none;
}

/* Hero */
.hd-page .hd-hero {
	position: relative;
	padding-block: clamp(62px,7vw,108px);
	background: var(--night);
	color: #fff;
}

.hd-hero__glow { display: none; }
.hd-hero::after {
	right: var(--gutter);
	left: var(--gutter);
	height: 1px;
	background: rgba(255,255,255,.18);
}

.hd-hero__layout {
	grid-template-columns: minmax(0,7fr) minmax(320px,5fr);
	gap: clamp(48px,8vw,128px);
}

.hd-breadcrumb {
	margin-bottom: clamp(34px,5vw,58px);
	color: #8294a0;
	font-size: 11px;
}

.hd-eyebrow {
	gap: 12px;
	margin-bottom: 20px;
	color: #73d7ff;
	font-size: 10px;
	letter-spacing: .14em;
}

.hd-eyebrow span { width: 42px; height: 3px; background: currentColor; }
.hd-hero h1 {
	max-width: 14ch;
	color: #fff;
	font-size: clamp(52px,6.2vw,94px);
	line-height: .96;
	letter-spacing: -.055em;
}

.hd-hero__lead {
	max-width: 62ch;
	margin-top: 26px;
	color: #b6c2ca;
	font-size: clamp(17px,1.35vw,21px);
}

.hd-hero__actions { gap: 9px; margin-top: 32px; }
.hd-hero__trust {
	gap: 10px 24px;
	margin-top: 28px;
	color: #aab9c4;
	font-size: 11px;
}

.hd-hero__trust span {
	width: 18px;
	height: 18px;
	border-radius: 0;
	background: var(--blue);
	color: #fff;
}

.hd-dealer-card {
	padding: clamp(24px,3.5vw,44px);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 0;
	background: rgba(255,255,255,.05);
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.hd-dealer-card__brand img,
.hd-dealer-card__monogram {
	width: 62px;
	height: 62px;
	padding: 5px;
	border-radius: 0;
}

.hd-dealer-card__route {
	border-radius: 0;
	background: #fff;
	color: var(--night);
}

/* Fakten und Services */
.hd-page > .hd-facts { background: #fff; }
.hd-facts__grid {
	grid-template-columns: repeat(4,minmax(0,1fr));
	border-right: 1px solid var(--line);
	border-left: 1px solid var(--line);
}

.hd-facts__grid > div,
.hd-facts__grid > div:first-child {
	padding: 25px clamp(18px,2.8vw,40px);
	border: 0;
	border-right: 1px solid var(--line);
}

.hd-facts__grid > div:last-child { border-right: 0; }
.hd-facts__grid b { color: var(--night); font-size: clamp(20px,2vw,30px); }
.hd-facts__grid span { color: var(--muted); font-size: 11px; }
.hd-service-grid {
	grid-template-columns: repeat(3,minmax(0,1fr));
	border-color: var(--line);
}
.hd-service-grid--4 { grid-template-columns: repeat(4,minmax(0,1fr)); }
.hd-service-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.hd-facts__grid--3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.hd-facts__grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }

/* Produktbilder mit weißem Fotohintergrund verschmelzen mit der grauen Bühne (keine weißen Kästen). */
.hd-range-card__media img { mix-blend-mode: multiply; }
.hd-car__media { position: relative; }
.hd-car__symbol {
	position: absolute;
	right: 12px;
	bottom: 10px;
	color: var(--muted);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

/* Über uns ohne Betriebsfotos: einspaltig statt Platzhalterfläche. */
.hd-about__layout--solo { grid-template-columns: minmax(0, 820px); }

.hd-service-card {
	min-height: 260px;
	padding: clamp(26px,3vw,42px);
	border-color: var(--line);
	background: #fff;
	box-shadow: none;
	transform: none;
}

.hd-service-card:hover { background: var(--stage); box-shadow: none; transform: none; }
.hd-service-card__icon {
	width: 44px;
	height: 44px;
	margin-bottom: 44px;
	border-radius: 0;
	background: var(--blue-pale);
	color: var(--blue-dark);
}

.hd-service-card h3 { font-size: 19px; }
.hd-service-card p { color: var(--muted); font-size: 13px; }

/* Lager und Modellwelt */
.hd-page .hd-stock { background: var(--night); }
.hd-stock-count {
	border-radius: 0;
	color: #aab9c4;
}

.hd-stock-grid { gap: 1px; background: rgba(255,255,255,.18); }
.hd-stock-grid .card {
	border-radius: 0;
	box-shadow: none;
}

.hd-page .hd-range { background: var(--stage); }
.hd-range-grid {
	grid-template-columns: repeat(4,minmax(0,1fr));
	gap: 1px;
	border: 1px solid var(--line);
	background: var(--line);
}

.hd-range-card {
	border: 0;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
	transform: none;
}

.hd-range-card:hover { box-shadow: none; transform: none; }
.hd-range-card__media { background: var(--stage); }
.hd-range-card__body { padding: 24px; }
.hd-range-card__body > small { color: var(--blue-dark); }

/* Händlerbeschreibung */
.hd-about__layout {
	grid-template-columns: minmax(0,5fr) minmax(420px,7fr);
	gap: clamp(48px,8vw,128px);
}

.hd-about__signals span {
	padding: 12px;
	border-radius: 0;
}

.hd-about__media { gap: 2px; min-height: 470px; }
.hd-about__image { border-radius: 0; }
.hd-about__brand-panel {
	min-height: 420px;
	border-radius: 0;
	background: var(--night);
}

/* Standort */
.hd-location { background: var(--stage); }
.hd-location__layout {
	grid-template-columns: minmax(0,8fr) minmax(300px,4fr);
	min-height: 520px;
	border: 1px solid var(--line);
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.hd-map__consent {
	border: 1px solid var(--line);
	border-radius: 0;
	background: rgba(255,255,255,.96);
	box-shadow: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.hd-map__pin { border-radius: 0; background: var(--night); }
.hd-location-card { padding: clamp(30px,4vw,56px); }

/* Kontakt */
.hd-page section.hd-contact { background: var(--night); }
.hd-contact__layout {
	grid-template-columns: minmax(280px,5fr) minmax(0,7fr);
	gap: clamp(48px,8vw,128px);
}

.hd-contact__intro { top: 90px; }
.hd-contact__intro li > span { border-radius: 0; }
.hd-contact-form {
	padding: clamp(24px,4vw,48px);
	border-radius: 0;
	box-shadow: none;
}

.hd-contact-form input,
.hd-contact-form select,
.hd-contact-form textarea {
	border-radius: 0;
	background-color: #fff; /* background-color statt Shorthand: erhält den Select-Pfeil (background-image) */
}

.hd-contact-form .field { max-width: none; }

/* Schnellkontakt über dem Formular nur mobil (Desktop: Seitenleiste neben dem Formular). */
.hd-quickcontact { display: none; }
@media (max-width: 900px) {
	.hd-quickcontact { display: grid; grid-auto-columns: minmax(0, 1fr); grid-auto-flow: column; gap: 8px; margin: 0 0 20px; }
	.hd-quickcontact .btn { width: 100%; min-height: 48px; justify-content: center; }
}
.hd-contact-form .form__row .field { min-width: 0; }

/* Öffnungszeiten und FAQ */
.hd-hours__layout {
	grid-template-columns: minmax(240px,5fr) minmax(420px,7fr);
	gap: clamp(48px,8vw,128px);
}

.hd-hours-card { border-radius: 0; }
.hd-hours-card > div.is-today { background: var(--blue-pale); color: var(--blue-dark); }
.hd-faq { background: var(--stage); }
.hd-faq__layout {
	grid-template-columns: minmax(260px,5fr) minmax(0,7fr);
	gap: clamp(48px,8vw,128px);
}

.hd-final-cta {
	padding-block: clamp(72px,8vw,120px);
	background: var(--night);
}

.hd-final-cta h2 { max-width: 18ch; }

/* Weitere öffentliche Händlerseiten */
.hd-pagehead .h1 {
	max-width: 18ch;
	font-size: clamp(42px,4.8vw,74px);
}

.hd-card,
.hd-thanks,
.hd-empty,
.hd-block,
.hd-gallery__main,
.hd-gallery__thumbs button,
.hd-car,
.hd-series__item {
	border-radius: 0;
	box-shadow: none;
}

.hd-cars,
.hd-cars--page {
	gap: 1px;
	border: 1px solid var(--line);
	background: var(--line);
}

.hd-foot {
	margin-top: 0;
	padding-block: 56px 28px;
	border-top: 1px solid rgba(255,255,255,.18);
	background: var(--night);
	color: #fff;
}

.hd-foot__name { color: #fff; }
.hd-foot__label { color: #73d7ff; }
.hd-foot__nap { color: #aab9c4; }
.hd-foot__nap a { color: #fff; }
.hd-foot__legal {
	border-color: rgba(255,255,255,.18);
	color: #8294a0;
}

.hd-foot__legal a { color: #fff; }

@media (max-width: 1050px) {
	.hd-service-grid,
	.hd-stock-grid,
	.hd-range-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 900px) {
	.hd-head__row { min-height: 68px; }
	.hd-nav:not(.hd-nav--mobile) { display: none; }
	.hd-nav--mobile {
		display: flex;
		margin: 0;
		padding-inline: var(--gutter);
		overflow-x: auto;
		border-top: 1px solid var(--line);
		scrollbar-width: none;
	}
	.hd-nav--mobile a { min-height: 46px; }
	.hd-head__tel span { display: none; }
	.hd-head__tel { min-width: 44px !important; padding: 0 !important; }
	.hd-hero__layout,
	.hd-section-head,
	.hd-about__layout,
	.hd-location__layout,
	.hd-contact__layout,
	.hd-hours__layout,
	.hd-faq__layout {
		grid-template-columns: minmax(0,1fr);
	}
	.hd-hero__layout { gap: 44px; }
	.hd-dealer-card { max-width: none; }
	.hd-section-head { align-items: start; }
	.hd-about__media { min-height: 400px; }
	.hd-contact__intro { position: static; }
}

@media (max-width: 1100px) {
	.hd-service-grid--4 { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
	.hd-topbar__brand img { height: 22px; }
	.hd-head__actions { margin-left: auto; }
	.hd-service-grid--4,
	.hd-service-grid--2,
	.hd-facts__grid--3 { grid-template-columns: minmax(0,1fr); }
	.hd-topbar .seg__btn { min-height: 40px; }
	.hd-facts__grid b { font-size: 19px; overflow-wrap: anywhere; }
	.hd-topbar__brand span { display: none; }
	.hd-head__actions .btn--primary { display: none; }
	.hd-brand__text strong { max-width: 175px; font-size: 13px; }
	.hd-brand__text small { max-width: 175px; }
	.hd-page .hd-hero { padding-block: 52px 66px; }
	.hd-hero h1 { font-size: clamp(42px,12vw,56px); }
	.hd-hero__actions { display: grid; }
	.hd-hero__actions .btn { width: 100%; }
	.hd-facts__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.hd-facts__grid > div,
	.hd-facts__grid > div:first-child {
		border-right: 1px solid var(--line);
		border-bottom: 1px solid var(--line);
	}
	.hd-facts__grid > div:nth-child(even) { border-right: 0; }
	.hd-service-grid,
	.hd-stock-grid,
	.hd-range-grid { grid-template-columns: minmax(0,1fr); }
	.hd-about__media {
		grid-template-columns: minmax(0,1fr);
		grid-template-rows: 260px 170px 170px;
		min-height: 0;
	}
	.hd-about__image:first-child { grid-row: auto; }
	.hd-contact-form { margin-inline: 0; padding: 20px 16px; }
	.hd-contact-form .form__row { grid-template-columns: minmax(0,1fr); }
	.hd-hours-card > div { padding-inline: 16px; }
	.hd-foot__legal { flex-direction: column; }
}
