/* =============================================================================================================
   e-bikes.de – Design-System
   Farben aus der bisherigen e-bikes.de: Neon-Grün #0ee90b, Schwarz, Weiß; Schrift Lato.
   Schrift auf Neon-Grün: --ebd-auf-gruen, Weiß wie auf der bisherigen e-bikes.de (Vorgabe Betreiber 05.10.2026).
   Achtung: Weiß auf #0ee90b hat nur 1,7:1 Kontrast (WCAG AA verlangt 4,5:1); Schwarz hat 12,7:1 und ist im
   Customizer umschaltbar (Design → Schrift auf Grün). Für grünen Text auf Weiß --ebd-gruen-text (5,3:1).
   Mobile zuerst, Umbrüche bei 600, 900 und 1200 px. Alle Klassen mit Präfix ebd-.
   ============================================================================================================= */

@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/lato-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap; src: url("fonts/lato-400-italic.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/lato-700-normal.woff2") format("woff2"); }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 900; font-display: swap; src: url("fonts/lato-900-normal.woff2") format("woff2"); }

:root {
	--ebd-gruen: #0ee90b;
	--ebd-gruen-hover: #0cd10a;
	--ebd-gruen-hell: #e4fbe3;
	--ebd-gruen-mittel: #b7f5b6;
	--ebd-gruen-text: #0a7d0a;
	--ebd-auf-gruen: #fff;
	--ebd-schwarz: #0a0d12;
	--ebd-dunkel: #10141b;
	--ebd-dunkel-2: #1a2029;
	--ebd-dunkel-linie: #2a313c;
	--ebd-text: #0a0d12;
	--ebd-text-2: #343c46;
	--ebd-grau: #59616b;
	--ebd-grau-hell: #8a929b;
	--ebd-linie: #e2e6e9;
	--ebd-linie-stark: #c6cdd3;
	--ebd-flaeche: #f4f6f5;
	--ebd-flaeche-2: #eaeeec;
	--ebd-weiss: #fff;
	--ebd-fehler: #b20000;
	--ebd-fehler-hell: #fdeded;
	--ebd-warn: #7a4f00;
	--ebd-warn-hell: #fff3d4;
	--ebd-info: #17457a;
	--ebd-info-hell: #e7effa;
	--ebd-erfolg: #0a7d0a;
	--ebd-erfolg-hell: #e4f6e4;

	--ebd-schrift: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--ebd-fs-xs: 0.8125rem;
	--ebd-fs-s: 0.875rem;
	--ebd-fs-m: 1rem;
	--ebd-fs-l: 1.125rem;
	--ebd-fs-xl: 1.375rem;
	--ebd-fs-2xl: 1.75rem;
	--ebd-fs-3xl: 2.25rem;
	--ebd-fs-4xl: 2.75rem;

	--ebd-r-s: 6px;
	--ebd-r: 10px;
	--ebd-r-l: 16px;
	--ebd-pille: 999px;
	--ebd-schatten-1: 0 1px 2px rgba(10, 13, 18, 0.06), 0 1px 3px rgba(10, 13, 18, 0.08);
	--ebd-schatten-2: 0 8px 24px rgba(10, 13, 18, 0.10), 0 2px 6px rgba(10, 13, 18, 0.06);
	--ebd-schatten-3: 0 24px 60px rgba(10, 13, 18, 0.22);

	--ebd-a1: 4px; --ebd-a2: 8px; --ebd-a3: 12px; --ebd-a4: 16px; --ebd-a5: 24px; --ebd-a6: 32px; --ebd-a7: 48px; --ebd-a8: 64px; --ebd-a9: 96px;
	--ebd-breite: 1240px;
	--ebd-kopfhoehe: 64px;
}

/* ---------- Grundlagen ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 88px; }
body { margin: 0; font-family: var(--ebd-schrift); font-size: var(--ebd-fs-m); line-height: 1.55; color: var(--ebd-text); background: var(--ebd-weiss); -webkit-font-smoothing: antialiased; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--ebd-gruen-text); text-underline-offset: 2px; }
a:hover { color: var(--ebd-schwarz); }
h1, h2, h3, h4 { margin: 0 0 var(--ebd-a3); line-height: 1.2; color: var(--ebd-schwarz); letter-spacing: -0.01em; }
h1 { font-size: var(--ebd-fs-2xl); font-weight: 900; }
h2 { font-size: var(--ebd-fs-xl); font-weight: 900; }
h3 { font-size: var(--ebd-fs-l); font-weight: 700; }
h4 { font-size: var(--ebd-fs-m); font-weight: 700; }
p { margin: 0 0 var(--ebd-a3); }
ul, ol { margin: 0 0 var(--ebd-a3); padding-left: 1.25em; }
hr { border: 0; border-top: 1px solid var(--ebd-linie); margin: var(--ebd-a5) 0; }
small { font-size: var(--ebd-fs-s); }
strong, b { font-weight: 700; }
:focus-visible { outline: 3px solid var(--ebd-schwarz); outline-offset: 2px; border-radius: 4px; }
.ebd-dunkelzone :focus-visible, .ebd-fuss :focus-visible, .ebd-hero :focus-visible { outline-color: var(--ebd-gruen); }
@media (min-width: 900px) {
	h1 { font-size: var(--ebd-fs-3xl); }
	h2 { font-size: var(--ebd-fs-2xl); }
}
[hidden] { display: none !important; }
.screen-reader-text, .ebd-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ebd-sprunglink { position: absolute; left: 8px; top: -60px; z-index: 1000; background: var(--ebd-schwarz); color: #fff; padding: 10px 16px; border-radius: var(--ebd-r); font-weight: 700; }
.ebd-sprunglink:focus { top: 8px; color: #fff; }
.ebd-honigtopf { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.ebd-icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: -0.25em; }
.ebd-icon--gross { width: 28px; height: 28px; }

/* ---------- Layout ---------- */
.ebd-container { width: 100%; max-width: var(--ebd-breite); margin-inline: auto; padding-inline: var(--ebd-a4); }
@media (min-width: 900px) { .ebd-container { padding-inline: var(--ebd-a5); } }
.ebd-container--schmal { max-width: 760px; }
.ebd-container--mittel { max-width: 980px; }
.ebd-haupt { min-height: 55vh; }
.ebd-abschnitt { padding-block: var(--ebd-a7); }
.ebd-abschnitt--eng { padding-block: var(--ebd-a5); }
.ebd-abschnitt--grau { background: var(--ebd-flaeche); }
.ebd-abschnitt--dunkel { background: var(--ebd-dunkel); color: #e8ecef; }
.ebd-abschnitt--dunkel h2, .ebd-abschnitt--dunkel h3 { color: #fff; }
@media (min-width: 900px) { .ebd-abschnitt { padding-block: var(--ebd-a8); } }
.ebd-abschnitt__kopf { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--ebd-a3); margin-bottom: var(--ebd-a5); }
.ebd-abschnitt__kopf h2 { margin: 0; }
.ebd-abschnitt__kopf p { margin: var(--ebd-a1) 0 0; color: var(--ebd-grau); }

.ebd-raster { display: grid; gap: var(--ebd-a4); grid-template-columns: 1fr; }
@media (min-width: 600px) {
	.ebd-raster--2, .ebd-raster--3, .ebd-raster--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 900px) {
	.ebd-raster--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ebd-raster--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ebd-raster { gap: var(--ebd-a5); }
}
@media (min-width: 1200px) { .ebd-raster--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.ebd-stapel > * + * { margin-top: var(--ebd-a4); }
.ebd-reihe { display: flex; flex-wrap: wrap; align-items: center; gap: var(--ebd-a2); }
.ebd-reihe--weit { gap: var(--ebd-a4); }
.ebd-reihe--zwischen { justify-content: space-between; }
.ebd-gedaempft { color: var(--ebd-grau); }
.ebd-klein { font-size: var(--ebd-fs-s); }
.ebd-sehrklein { font-size: var(--ebd-fs-xs); }
.ebd-fett { font-weight: 700; }
.ebd-lead { font-size: var(--ebd-fs-l); color: var(--ebd-text-2); max-width: 70ch; }
.ebd-kicker { display: inline-flex; align-items: center; gap: 6px; font-size: var(--ebd-fs-xs); font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ebd-gruen-text); margin-bottom: var(--ebd-a2); }
.ebd-abschnitt--dunkel .ebd-kicker, .ebd-hero .ebd-kicker { color: var(--ebd-gruen); }
.ebd-text-mitte { text-align: center; }
.ebd-ohne-abstand { margin: 0; }

/* ---------- Knöpfe ---------- */
.ebd-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 18px; border: 2px solid transparent; border-radius: var(--ebd-r); font: inherit; font-weight: 700; font-size: var(--ebd-fs-m); line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s; white-space: nowrap; }
.ebd-btn:disabled, .ebd-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.ebd-btn--primaer { background: var(--ebd-gruen); color: var(--ebd-auf-gruen); }
.ebd-btn--primaer:hover { background: var(--ebd-gruen-hover); color: var(--ebd-auf-gruen); box-shadow: 0 0 0 4px rgba(14, 233, 11, .18); }
.ebd-btn--dunkel { background: var(--ebd-schwarz); color: #fff; }
.ebd-btn--dunkel:hover { background: #262c35; color: #fff; }
.ebd-btn--rahmen { background: #fff; color: var(--ebd-schwarz); border-color: var(--ebd-linie-stark); }
.ebd-btn--rahmen:hover { border-color: var(--ebd-schwarz); color: var(--ebd-schwarz); }
.ebd-btn--hell { background: #fff; color: var(--ebd-schwarz); }
.ebd-btn--hell:hover { background: var(--ebd-gruen); color: var(--ebd-auf-gruen); }
.ebd-btn--geist { background: transparent; color: var(--ebd-schwarz); padding-inline: 10px; }
.ebd-btn--geist:hover { background: var(--ebd-flaeche); color: var(--ebd-schwarz); }
.ebd-btn--gefahr { background: #fff; color: var(--ebd-fehler); border-color: #e7b3b3; }
.ebd-btn--gefahr:hover { background: var(--ebd-fehler); color: #fff; border-color: var(--ebd-fehler); }
.ebd-btn--klein { min-height: 36px; padding: 6px 12px; font-size: var(--ebd-fs-s); border-radius: 8px; }
.ebd-btn--gross { min-height: 52px; padding: 14px 24px; font-size: var(--ebd-fs-l); }
.ebd-btn--block { display: flex; width: 100%; }
.ebd-btn .ebd-icon { width: 18px; height: 18px; }
@media (max-width: 600px) { .ebd-btn { white-space: normal; text-align: center; } }
.ebd-textlink { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; color: var(--ebd-gruen-text); text-decoration: none; }
.ebd-textlink:hover { text-decoration: underline; color: var(--ebd-schwarz); }
.ebd-abschnitt--dunkel .ebd-textlink, .ebd-dunkelzone .ebd-textlink { color: var(--ebd-gruen); }

/* ---------- Abzeichen und Chips ---------- */
.ebd-badge { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: var(--ebd-pille); font-size: var(--ebd-fs-xs); font-weight: 700; line-height: 1.4; background: var(--ebd-flaeche-2); color: var(--ebd-text-2); white-space: nowrap; }
.ebd-badge .ebd-icon { width: 13px; height: 13px; }
.ebd-badge--gruen { background: var(--ebd-gruen); color: var(--ebd-auf-gruen); }
.ebd-badge--gruenhell { background: var(--ebd-gruen-hell); color: #0b5a0b; }
.ebd-badge--dunkel { background: var(--ebd-schwarz); color: #fff; }
.ebd-badge--top { background: var(--ebd-schwarz); color: var(--ebd-gruen); }
.ebd-badge--warn { background: var(--ebd-warn-hell); color: var(--ebd-warn); }
.ebd-badge--fehler { background: var(--ebd-fehler-hell); color: var(--ebd-fehler); }
.ebd-badge--info { background: var(--ebd-info-hell); color: var(--ebd-info); }
.ebd-badge--rahmen { background: #fff; border: 1px solid var(--ebd-linie-stark); }
.ebd-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 34px; padding: 4px 12px; border: 1px solid var(--ebd-linie-stark); border-radius: var(--ebd-pille); background: #fff; color: var(--ebd-text); font-size: var(--ebd-fs-s); font-weight: 700; text-decoration: none; }
a.ebd-chip:hover, button.ebd-chip:hover { border-color: var(--ebd-schwarz); color: var(--ebd-schwarz); }
.ebd-chip--aktiv { background: var(--ebd-schwarz); color: #fff; border-color: var(--ebd-schwarz); }
.ebd-chip--aktiv:hover { color: #fff !important; }
.ebd-chip .ebd-icon { width: 15px; height: 15px; }
.ebd-chip__zahl { color: var(--ebd-grau); font-weight: 400; }

/* ---------- Hinweise ---------- */
.ebd-alert { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; border-radius: var(--ebd-r); border: 1px solid transparent; background: var(--ebd-info-hell); color: var(--ebd-info); }
.ebd-alert > .ebd-icon { margin-top: 1px; }
.ebd-alert p:last-child { margin-bottom: 0; }
.ebd-alert a { color: inherit; font-weight: 700; }
.ebd-alert--erfolg { background: var(--ebd-erfolg-hell); color: #0b5a0b; border-color: #bfe6bf; }
.ebd-alert--warn { background: var(--ebd-warn-hell); color: var(--ebd-warn); border-color: #f1dca2; }
.ebd-alert--fehler { background: var(--ebd-fehler-hell); color: var(--ebd-fehler); border-color: #f2c3c3; }
.ebd-alert--neutral { background: var(--ebd-flaeche); color: var(--ebd-text-2); border-color: var(--ebd-linie); }
.ebd-hinweise { display: grid; gap: var(--ebd-a2); margin-block: var(--ebd-a4); }
.ebd-beispielband { background: #fff8d6; color: #5c4400; font-size: var(--ebd-fs-xs); text-align: center; padding: 4px 16px; border-bottom: 1px solid #f0e2a2; }

/* ---------- Kopf ---------- */
.ebd-leiste { background: var(--ebd-gruen); color: var(--ebd-auf-gruen); font-size: var(--ebd-fs-xs); font-weight: 700; }
.ebd-leiste__inner { display: flex; align-items: center; justify-content: center; gap: var(--ebd-a5); min-height: 32px; overflow: hidden; white-space: nowrap; }
.ebd-leiste__punkt { display: inline-flex; align-items: center; gap: 6px; }
.ebd-leiste__punkt .ebd-icon { width: 15px; height: 15px; }
.ebd-leiste__punkt:nth-child(n+2) { display: none; }
@media (min-width: 760px) { .ebd-leiste__punkt:nth-child(2) { display: inline-flex; } }
@media (min-width: 1100px) { .ebd-leiste__punkt:nth-child(3) { display: inline-flex; } .ebd-leiste__inner { justify-content: space-between; } .ebd-leiste__haendler { display: inline-flex !important; } }
.ebd-leiste__haendler { display: none !important; color: var(--ebd-schwarz); text-decoration: none; }
.ebd-leiste__haendler:hover { text-decoration: underline; color: var(--ebd-schwarz); }

.ebd-kopf { position: sticky; top: 0; z-index: 100; background: rgba(255, 255, 255, 0.97); border-bottom: 1px solid var(--ebd-linie); backdrop-filter: saturate(1.4) blur(8px); }
.admin-bar .ebd-kopf { top: 32px; }
@media (max-width: 782px) { .admin-bar .ebd-kopf { top: 0; } }
.ebd-kopf__inner { display: flex; align-items: center; gap: var(--ebd-a3); min-height: var(--ebd-kopfhoehe); }
.ebd-logo { display: inline-flex; align-items: center; flex: none; }
.ebd-logo img { display: block; height: 26px; width: auto; }
@media (min-width: 600px) { .ebd-logo img { height: 30px; } }
.ebd-nav { display: none; }
.ebd-nav__liste { display: flex; align-items: center; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ebd-nav__link { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 11px; white-space: nowrap; border-radius: var(--ebd-r); color: var(--ebd-text); font-weight: 700; text-decoration: none; }
.ebd-nav__link:hover { background: var(--ebd-flaeche); color: var(--ebd-schwarz); }
.ebd-nav__link[aria-current="page"], .ebd-nav__link--aktiv { box-shadow: inset 0 -3px 0 var(--ebd-gruen); border-radius: var(--ebd-r) var(--ebd-r) 0 0; }
.ebd-kopf__aktionen { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.ebd-kopf__symbol { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-width: 44px; min-height: 44px; padding: 0 10px; border: 0; background: none; border-radius: var(--ebd-r); color: var(--ebd-schwarz); font: inherit; font-weight: 700; text-decoration: none; cursor: pointer; }
.ebd-kopf__symbol:hover { background: var(--ebd-flaeche); color: var(--ebd-schwarz); }
.ebd-kopf__symbol .ebd-icon { width: 22px; height: 22px; }
.ebd-kopf__text { display: none; }
.ebd-kopf__zahl { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--ebd-gruen); color: var(--ebd-auf-gruen); font-size: 11px; font-weight: 900; line-height: 18px; text-align: center; }
.ebd-kopf__verkaufen { display: none; }
@media (max-width: 420px) {
	.ebd-kopf__inner { gap: var(--ebd-a2); }
	.ebd-logo img { height: 22px; }
	.ebd-kopf__aktionen { gap: 0; }
	.ebd-kopf__symbol { min-width: 40px; padding: 0 6px; }
}
@media (min-width: 600px) { .ebd-kopf__verkaufen { display: inline-flex; } }
@media (min-width: 1100px) {
	.ebd-nav { display: block; margin-left: var(--ebd-a3); }
	.ebd-kopf__menue { display: none !important; }
}
@media (min-width: 1280px) { .ebd-kopf__text { display: inline; } .ebd-nav { margin-left: var(--ebd-a5); } }
.ebd-menue { position: fixed; inset: 0; z-index: 200; display: none; }
.ebd-menue[data-offen] { display: block; }
.ebd-menue__schleier { position: absolute; inset: 0; background: rgba(10, 13, 18, .5); }
.ebd-menue__tafel { position: absolute; top: 0; right: 0; bottom: 0; width: min(360px, 90vw); background: #fff; padding: var(--ebd-a4); overflow-y: auto; box-shadow: var(--ebd-schatten-3); }
.ebd-menue__kopf { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--ebd-a4); }
.ebd-menue__liste { list-style: none; margin: 0 0 var(--ebd-a4); padding: 0; }
.ebd-menue__liste a { display: flex; align-items: center; gap: 12px; padding: 12px 8px; border-bottom: 1px solid var(--ebd-linie); color: var(--ebd-schwarz); font-weight: 700; text-decoration: none; }
.ebd-menue__liste a:hover { background: var(--ebd-flaeche); }
.ebd-kopfsuche { border-top: 1px solid var(--ebd-linie); padding-block: var(--ebd-a3); display: none; }
.ebd-kopfsuche[data-offen] { display: block; }
.ebd-kopfsuche form { display: flex; gap: var(--ebd-a2); }
.ebd-kopfsuche input { flex: 1; }

/* ---------- Fuß ---------- */
.ebd-fuss { background: var(--ebd-schwarz); color: #c9d0d6; margin-top: var(--ebd-a8); font-size: var(--ebd-fs-s); }
.ebd-fuss a { color: #e8ecef; text-decoration: none; }
.ebd-fuss a:hover { color: var(--ebd-gruen); text-decoration: underline; }
.ebd-fuss__oben { display: grid; gap: var(--ebd-a6); padding-block: var(--ebd-a7); grid-template-columns: 1fr; }
@media (min-width: 700px) { .ebd-fuss__oben { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .ebd-fuss__oben { grid-template-columns: 1.4fr repeat(4, 1fr); } }
.ebd-fuss__marke img { height: 30px; width: auto; margin-bottom: var(--ebd-a3); }
.ebd-fuss__marke p { max-width: 34ch; color: #aab3bc; }
.ebd-fuss h3 { color: #fff; font-size: var(--ebd-fs-s); text-transform: uppercase; letter-spacing: .08em; margin-bottom: var(--ebd-a3); }
.ebd-fuss ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.ebd-fuss__unten { border-top: 1px solid var(--ebd-dunkel-linie); padding-block: var(--ebd-a4); display: flex; flex-wrap: wrap; gap: var(--ebd-a3); justify-content: space-between; color: #8a939c; font-size: var(--ebd-fs-xs); }

/* ---------- Brotkrumen, Seitenkopf ---------- */
.ebd-krumen { font-size: var(--ebd-fs-s); color: var(--ebd-grau); padding-block: var(--ebd-a3); }
.ebd-krumen ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.ebd-krumen li { display: inline-flex; align-items: center; gap: 4px; }
.ebd-krumen li + li::before { content: "›"; color: var(--ebd-grau-hell); margin-right: 2px; }
.ebd-krumen a { color: var(--ebd-grau); text-decoration: none; }
.ebd-krumen a:hover { color: var(--ebd-schwarz); text-decoration: underline; }
.ebd-seitenkopf { padding-block: var(--ebd-a4) var(--ebd-a5); }
.ebd-seitenkopf h1 { margin-bottom: var(--ebd-a2); }
.ebd-seitenkopf .ebd-lead { margin: 0; }

/* ---------- Formulare ---------- */
.ebd-formular { display: grid; gap: var(--ebd-a4); }
.ebd-formular__zeile { display: grid; gap: var(--ebd-a4); grid-template-columns: 1fr; }
@media (min-width: 600px) { .ebd-formular__zeile--2 { grid-template-columns: 1fr 1fr; } .ebd-formular__zeile--3 { grid-template-columns: repeat(3, 1fr); } .ebd-formular__zeile--plz { grid-template-columns: 140px 1fr; } }
.ebd-feld { display: grid; gap: 6px; min-width: 0; align-content: start; }
.ebd-feld__label, .ebd-feld > label { font-weight: 700; font-size: var(--ebd-fs-s); color: var(--ebd-text); }
.ebd-feld__optional { font-weight: 400; color: var(--ebd-grau); }
.ebd-feld__hilfe { font-size: var(--ebd-fs-xs); color: var(--ebd-grau); margin: 0; }
.ebd-feld__fehler { font-size: var(--ebd-fs-s); color: var(--ebd-fehler); font-weight: 700; margin: 0; }
.ebd-input, .ebd-select, .ebd-textarea { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid var(--ebd-linie-stark); border-radius: var(--ebd-r); background: #fff; color: var(--ebd-text); font: inherit; font-size: var(--ebd-fs-m); transition: border-color .15s, box-shadow .15s; }
.ebd-textarea { min-height: 120px; resize: vertical; line-height: 1.5; }
.ebd-select { appearance: none; -webkit-appearance: none; padding-right: 38px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%230a0d12' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; }
.ebd-input:hover, .ebd-select:hover, .ebd-textarea:hover { border-color: #9aa3ad; }
.ebd-input:focus, .ebd-select:focus, .ebd-textarea:focus { outline: none; border-color: var(--ebd-schwarz); box-shadow: 0 0 0 3px rgba(14, 233, 11, .35); }
.ebd-input[aria-invalid="true"], .ebd-select[aria-invalid="true"], .ebd-textarea[aria-invalid="true"] { border-color: var(--ebd-fehler); }
.ebd-input--klein, .ebd-select--klein { min-height: 38px; padding-block: 6px; font-size: var(--ebd-fs-s); }
.ebd-check { display: flex; gap: 10px; align-items: flex-start; font-size: var(--ebd-fs-s); cursor: pointer; line-height: 1.45; }
.ebd-check input { width: 20px; height: 20px; margin: 0; flex: none; accent-color: var(--ebd-schwarz); }
.ebd-check--block { padding: 12px; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r); }
.ebd-gruppe { border: 0; padding: 0; margin: 0; display: grid; gap: var(--ebd-a2); min-width: 0; }
.ebd-gruppe legend { font-weight: 700; font-size: var(--ebd-fs-s); margin-bottom: 6px; padding: 0; }
.ebd-wahl { display: grid; gap: var(--ebd-a2); grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
.ebd-wahl__karte { position: relative; display: grid; gap: 4px; padding: 14px; border: 2px solid var(--ebd-linie); border-radius: var(--ebd-r); background: #fff; cursor: pointer; }
.ebd-wahl__karte:hover { border-color: #9aa3ad; }
.ebd-wahl__karte input { position: absolute; opacity: 0; pointer-events: none; }
.ebd-wahl__karte:has(input:checked) { border-color: var(--ebd-schwarz); box-shadow: inset 0 0 0 1px var(--ebd-schwarz); background: var(--ebd-gruen-hell); }
.ebd-wahl__karte:has(input:focus-visible) { outline: 3px solid var(--ebd-schwarz); outline-offset: 2px; }
.ebd-wahl__titel { font-weight: 700; }
.ebd-wahl__text { font-size: var(--ebd-fs-xs); color: var(--ebd-grau); }
.ebd-eingabe-symbol { position: relative; }
.ebd-eingabe-symbol .ebd-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--ebd-grau); pointer-events: none; }
.ebd-eingabe-symbol .ebd-input { padding-left: 40px; }

/* ---------- Karten allgemein ---------- */
.ebd-karte { background: #fff; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); padding: var(--ebd-a5); }
.ebd-karte--flaeche { background: var(--ebd-flaeche); border-color: transparent; }
.ebd-karte--klein { padding: var(--ebd-a4); }
.ebd-karte__titel { font-size: var(--ebd-fs-l); margin-bottom: var(--ebd-a2); }
.ebd-karte--link { text-decoration: none; color: inherit; display: block; transition: border-color .15s, box-shadow .15s, transform .15s; }
.ebd-karte--link:hover { border-color: var(--ebd-schwarz); box-shadow: var(--ebd-schatten-2); color: inherit; }

/* Bild-Fläche mit Fahrrad-Zeichnung */
.ebd-bild { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 3; background: linear-gradient(160deg, #f6f8f7 0%, #eceff0 100%); overflow: hidden; }
.ebd-bild img { width: 100%; height: 100%; object-fit: cover; }
.ebd-bild .ebd-fahrrad { width: 86%; height: auto; }
.ebd-bild__marke { position: absolute; left: 10px; top: 10px; display: flex; flex-wrap: wrap; gap: 4px; }

/* Merken-Herz */
.ebd-merken { position: absolute; top: 10px; right: 10px; z-index: 2; display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .95); box-shadow: var(--ebd-schatten-1); color: var(--ebd-schwarz); cursor: pointer; }
.ebd-merken:hover { transform: scale(1.06); }
.ebd-merken .ebd-icon { width: 20px; height: 20px; }
.ebd-merken[aria-pressed="true"] .ebd-icon { fill: var(--ebd-gruen); color: var(--ebd-schwarz); }
.ebd-merken--text { position: static; width: auto; height: auto; border-radius: var(--ebd-r); box-shadow: none; padding: 10px 14px; gap: 8px; display: inline-flex; border: 2px solid var(--ebd-linie-stark); font: inherit; font-weight: 700; background: #fff; }
.ebd-merken--text:hover { border-color: var(--ebd-schwarz); transform: none; }

/* Modellkarte (neue E-Bikes) */
.ebd-modellkarte, .ebd-inseratkarte { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); overflow: hidden; transition: border-color .15s, box-shadow .15s; }
.ebd-modellkarte:hover, .ebd-inseratkarte:hover { border-color: var(--ebd-schwarz); box-shadow: var(--ebd-schatten-2); }
.ebd-modellkarte__link, .ebd-inseratkarte__link { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
.ebd-modellkarte__link:hover, .ebd-inseratkarte__link:hover { color: inherit; }
.ebd-modellkarte__inhalt, .ebd-inseratkarte__inhalt { display: flex; flex-direction: column; gap: 4px; flex: 1; padding: var(--ebd-a4); }
.ebd-modellkarte__marke { font-size: var(--ebd-fs-xs); font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--ebd-grau); margin: 0; }
.ebd-modellkarte__titel, .ebd-inseratkarte__titel { font-size: var(--ebd-fs-l); font-weight: 900; margin: 0; line-height: 1.25; }
.ebd-modellkarte__daten, .ebd-inseratkarte__daten { font-size: var(--ebd-fs-s); color: var(--ebd-text-2); margin: 0; }
.ebd-modellkarte__fuss, .ebd-inseratkarte__fuss { margin-top: auto; padding-top: var(--ebd-a3); display: grid; gap: 4px; }
.ebd-preis { font-size: var(--ebd-fs-xl); font-weight: 900; color: var(--ebd-schwarz); line-height: 1.1; }
.ebd-preis--gross { font-size: var(--ebd-fs-3xl); }
.ebd-preis__vor { font-size: var(--ebd-fs-s); font-weight: 700; color: var(--ebd-grau); margin-right: 2px; }
.ebd-uvp { font-size: var(--ebd-fs-s); color: var(--ebd-grau); }
.ebd-verfuegbar { display: inline-flex; align-items: center; gap: 6px; font-size: var(--ebd-fs-s); font-weight: 700; color: var(--ebd-text-2); margin: 0; }
.ebd-verfuegbar .ebd-icon { width: 16px; height: 16px; color: var(--ebd-gruen-text); }
.ebd-kaufwege-mini { display: flex; gap: 6px; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.ebd-kaufwege-mini li { display: inline-flex; align-items: center; gap: 4px; font-size: var(--ebd-fs-xs); color: var(--ebd-grau); }
.ebd-kaufwege-mini .ebd-icon { width: 14px; height: 14px; }
.ebd-inseratkarte--hervorgehoben { border: 2px solid var(--ebd-gruen); }
.ebd-inseratkarte__ort { display: inline-flex; align-items: center; gap: 4px; font-size: var(--ebd-fs-s); color: var(--ebd-grau); margin: 0; }
.ebd-inseratkarte__ort .ebd-icon { width: 15px; height: 15px; }

/* Kategorie-Kacheln */
.ebd-kacheln { display: grid; gap: var(--ebd-a3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 700px) { .ebd-kacheln { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ebd-kacheln { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.ebd-kachel { display: flex; flex-direction: column; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); background: #fff; overflow: hidden; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ebd-kachel:hover { border-color: var(--ebd-schwarz); box-shadow: var(--ebd-schatten-2); color: inherit; }
.ebd-kachel .ebd-bild { aspect-ratio: 16 / 11; }
.ebd-kachel__text { padding: 10px 12px 12px; }
.ebd-kachel__name { display: block; font-weight: 900; font-size: var(--ebd-fs-s); line-height: 1.25; }
.ebd-kachel__zahl { display: block; font-size: var(--ebd-fs-xs); color: var(--ebd-grau); margin-top: 2px; }

/* ---------- Startseite: Bühne ---------- */
.ebd-hero { position: relative; overflow: hidden; background: var(--ebd-schwarz); color: #e8ecef; isolation: isolate; }
.ebd-hero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(60% 80% at 85% 20%, rgba(14, 233, 11, .22), transparent 60%), radial-gradient(50% 60% at 0% 100%, rgba(14, 233, 11, .10), transparent 60%); }
.ebd-hero--foto { background-size: cover; background-position: center; }
.ebd-hero--foto::before { background: linear-gradient(180deg, rgba(10, 13, 18, .55) 0%, rgba(10, 13, 18, .82) 100%); }
.ebd-hero__inner { display: grid; gap: var(--ebd-a6); padding-block: var(--ebd-a7) var(--ebd-a7); align-items: center; }
@media (min-width: 1000px) { .ebd-hero__inner { grid-template-columns: 1.15fr .85fr; padding-block: var(--ebd-a8) var(--ebd-a8); } }
.ebd-hero h1 { color: #fff; font-size: 2rem; line-height: 1.08; margin-bottom: var(--ebd-a4); }
.ebd-hero h1 em { font-style: normal; color: var(--ebd-gruen); }
@media (min-width: 600px) { .ebd-hero h1 { font-size: 2.6rem; } }
@media (min-width: 1200px) { .ebd-hero h1 { font-size: 3.25rem; } }
.ebd-hero__text { font-size: var(--ebd-fs-l); color: #c9d0d6; max-width: 56ch; margin-bottom: var(--ebd-a5); }
.ebd-hero__zahlen { display: flex; flex-wrap: wrap; gap: var(--ebd-a2) var(--ebd-a5); margin-top: var(--ebd-a4); font-size: var(--ebd-fs-s); color: #aab3bc; }
.ebd-hero__zahlen strong { color: #fff; }
.ebd-hero__bild { position: relative; display: none; }
@media (min-width: 1000px) { .ebd-hero__bild { display: block; } }
.ebd-hero__scheibe { position: relative; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 50% 45%, #ffffff 0%, #eef2f0 58%, #dfe6e2 100%); display: grid; place-items: center; box-shadow: 0 30px 80px rgba(0, 0, 0, .45); }
.ebd-hero__scheibe .ebd-fahrrad { width: 82%; }
.ebd-hero__notiz { position: absolute; display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-radius: 14px; background: #fff; color: var(--ebd-schwarz); font-size: var(--ebd-fs-s); font-weight: 700; box-shadow: var(--ebd-schatten-3); }
.ebd-hero__notiz .ebd-icon { width: 20px; height: 20px; }
.ebd-hero__notiz small { display: block; font-weight: 400; color: var(--ebd-grau); }
.ebd-hero__notiz--a { left: -8%; top: 12%; }
.ebd-hero__notiz--b { right: -4%; bottom: 14%; }
.ebd-hero__notiz--a .ebd-icon { color: var(--ebd-gruen-text); }
.ebd-hero__punkt { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--ebd-gruen); color: var(--ebd-auf-gruen); }

/* Suchkarte mit Reitern (ohne JavaScript: Radio + :has) */
.ebd-suchkarte { background: #fff; color: var(--ebd-text); border-radius: var(--ebd-r-l); box-shadow: var(--ebd-schatten-3); padding: var(--ebd-a2); }
.ebd-suchkarte__reiter { display: flex; gap: 4px; padding: 4px; }
.ebd-suchkarte__reiter label { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 8px 14px; border-radius: var(--ebd-r); font-weight: 900; color: var(--ebd-grau); cursor: pointer; text-align: center; }
.ebd-suchkarte__reiter label:hover { color: var(--ebd-schwarz); background: var(--ebd-flaeche); }
.ebd-suchkarte__reiter input { position: absolute; opacity: 0; pointer-events: none; }
.ebd-suchkarte__reiter label:has(input:checked) { background: var(--ebd-schwarz); color: #fff; }
.ebd-suchkarte__reiter label:has(input:focus-visible) { outline: 3px solid var(--ebd-gruen); outline-offset: 2px; }
.ebd-suchkarte__form { display: none; padding: var(--ebd-a3); gap: var(--ebd-a3); }
.ebd-suchkarte:has(#suche-neu:checked) .ebd-suchkarte__form--neu, .ebd-suchkarte:has(#suche-gebraucht:checked) .ebd-suchkarte__form--gebraucht { display: grid; }
.ebd-suchkarte__felder { display: grid; gap: var(--ebd-a3); grid-template-columns: 1fr 1fr; }
.ebd-suchkarte__felder > :nth-child(3) { grid-column: 1 / 2; }
@media (min-width: 700px) and (max-width: 999px) { .ebd-suchkarte__felder { grid-template-columns: 1fr 1fr 1.3fr .8fr; } .ebd-suchkarte__felder > :nth-child(3) { grid-column: auto; } }
.ebd-suchkarte .ebd-feld__label { font-size: var(--ebd-fs-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--ebd-grau); }

/* Vorteile-Leiste unter der Bühne */
.ebd-vorteile { display: grid; gap: var(--ebd-a4); grid-template-columns: 1fr; padding-block: var(--ebd-a5); }
@media (min-width: 800px) { .ebd-vorteile { grid-template-columns: repeat(3, 1fr); } }
.ebd-vorteil { display: flex; gap: 12px; align-items: flex-start; }
.ebd-vorteil__symbol { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; background: var(--ebd-gruen-hell); color: var(--ebd-schwarz); flex: none; }
.ebd-vorteil__symbol .ebd-icon { width: 22px; height: 22px; }
.ebd-vorteil strong { display: block; }
.ebd-vorteil span { font-size: var(--ebd-fs-s); color: var(--ebd-grau); }

/* Kaufwege-Karten */
.ebd-kaufweg { position: relative; display: flex; flex-direction: column; gap: var(--ebd-a2); padding: var(--ebd-a5); border-radius: var(--ebd-r-l); background: #fff; border: 1px solid var(--ebd-linie); }
.ebd-kaufweg__symbol { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: var(--ebd-schwarz); color: var(--ebd-gruen); margin-bottom: var(--ebd-a2); }
.ebd-kaufweg__symbol .ebd-icon { width: 26px; height: 26px; }
.ebd-kaufweg h3 { margin: 0; }
.ebd-kaufweg p { margin: 0; color: var(--ebd-text-2); }
.ebd-kaufweg__fuss { margin-top: auto; padding-top: var(--ebd-a2); }

/* Bänder */
.ebd-band { display: grid; gap: var(--ebd-a6); align-items: center; }
@media (min-width: 1000px) { .ebd-band { grid-template-columns: .9fr 1.1fr; } }
.ebd-band--haendler { padding: var(--ebd-a6); border-radius: 24px; background: var(--ebd-dunkel); color: #d5dbe0; position: relative; overflow: hidden; isolation: isolate; }
.ebd-band--haendler::after { content: ""; position: absolute; right: -120px; top: -120px; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle, rgba(14, 233, 11, .28), transparent 70%); z-index: -1; }
@media (min-width: 900px) { .ebd-band--haendler { padding: var(--ebd-a7); } }
.ebd-band--haendler h2 { color: #fff; }
.ebd-kennzahlen { display: grid; gap: var(--ebd-a3); grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.ebd-kennzahl { padding: var(--ebd-a4); border-radius: var(--ebd-r-l); background: var(--ebd-dunkel-2); border: 1px solid var(--ebd-dunkel-linie); }
.ebd-kennzahl__wert { display: block; font-size: var(--ebd-fs-2xl); font-weight: 900; color: var(--ebd-gruen); line-height: 1.1; }
.ebd-kennzahl__text { display: block; font-size: var(--ebd-fs-s); color: #b8c0c8; margin-top: 4px; }
.ebd-kennzahlen--hell .ebd-kennzahl { background: #fff; border-color: var(--ebd-linie); }
.ebd-kennzahlen--hell .ebd-kennzahl__wert { color: var(--ebd-schwarz); }
.ebd-kennzahlen--hell .ebd-kennzahl__text { color: var(--ebd-grau); }

.ebd-markenwolke { display: flex; flex-wrap: wrap; gap: var(--ebd-a2); }

/* Magazin-Karten */
.ebd-beitragskarte { display: flex; flex-direction: column; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); overflow: hidden; background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ebd-beitragskarte:hover { border-color: var(--ebd-schwarz); box-shadow: var(--ebd-schatten-2); color: inherit; }
.ebd-beitragskarte__bild { aspect-ratio: 16 / 9; background: var(--ebd-schwarz); display: grid; place-items: center; overflow: hidden; position: relative; }
.ebd-beitragskarte__bild img { width: 100%; height: 100%; object-fit: cover; }
.ebd-beitragskarte__muster { position: absolute; inset: 0; background: radial-gradient(70% 90% at 90% 10%, rgba(14, 233, 11, .35), transparent 60%), linear-gradient(135deg, #10141b, #1d2530); }
.ebd-beitragskarte__muster .ebd-icon { position: absolute; right: 18px; bottom: 14px; width: 54px; height: 54px; color: var(--ebd-gruen); opacity: .9; }
.ebd-beitragskarte__inhalt { padding: var(--ebd-a4); display: grid; gap: 6px; }
.ebd-beitragskarte__titel { font-size: var(--ebd-fs-l); font-weight: 900; margin: 0; line-height: 1.25; }
.ebd-beitragskarte__auszug { font-size: var(--ebd-fs-s); color: var(--ebd-text-2); margin: 0; }

/* ---------- Suche: Filter und Ergebnisse ---------- */
.ebd-suche { display: grid; gap: var(--ebd-a5); align-items: start; }
@media (min-width: 1000px) { .ebd-suche { grid-template-columns: 290px minmax(0, 1fr); gap: var(--ebd-a6); } }
.ebd-filter { background: #fff; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); }
.ebd-filter > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 14px 16px; font-weight: 900; cursor: pointer; list-style: none; }
.ebd-filter > summary::-webkit-details-marker { display: none; }
.ebd-filter > summary .ebd-icon { transition: transform .2s; }
.ebd-filter[open] > summary .ebd-icon--pfeil { transform: rotate(180deg); }
.ebd-filter__inhalt { padding: 0 16px 16px; display: grid; gap: var(--ebd-a4); }
@media (min-width: 1000px) {
	.ebd-filter { position: sticky; top: calc(var(--ebd-kopfhoehe) + 16px); max-height: calc(100vh - var(--ebd-kopfhoehe) - 32px); overflow-y: auto; }
	.ebd-filter > summary { pointer-events: none; }
	.ebd-filter > summary .ebd-icon--pfeil { display: none; }
}
.ebd-filter__gruppe { display: grid; gap: 8px; padding-top: var(--ebd-a3); border-top: 1px solid var(--ebd-linie); }
.ebd-filter__gruppe:first-child { border-top: 0; padding-top: 0; }
.ebd-filter__titel { font-weight: 900; font-size: var(--ebd-fs-s); margin: 0; }
.ebd-filter__liste { display: grid; gap: 6px; max-height: 240px; overflow-y: auto; }
.ebd-filter__aktionen { display: grid; gap: 8px; position: sticky; bottom: 0; background: #fff; padding-top: 8px; }
.ebd-ergebniskopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ebd-a3); margin-bottom: var(--ebd-a4); }
.ebd-ergebniskopf__zahl { font-weight: 700; margin: 0; }
.ebd-ergebniskopf__sortierung { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--ebd-fs-s); }
.ebd-ergebniskopf__sortierung .ebd-select { min-height: 40px; width: auto; }
.ebd-aktive-filter { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--ebd-a4); }
.ebd-standortleiste { display: flex; flex-wrap: wrap; align-items: end; gap: var(--ebd-a2); padding: var(--ebd-a3); margin-bottom: var(--ebd-a4); background: var(--ebd-flaeche); border-radius: var(--ebd-r-l); }
.ebd-standortleiste .ebd-feld { flex: 1 1 180px; }
.ebd-standortleiste .ebd-feld--umkreis { flex: 0 1 140px; }

.ebd-seiten { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: var(--ebd-a6); }
.ebd-seiten a, .ebd-seiten span { display: inline-grid; place-items: center; min-width: 42px; height: 42px; padding: 0 12px; border: 1px solid var(--ebd-linie-stark); border-radius: var(--ebd-r); color: var(--ebd-text); font-weight: 700; text-decoration: none; }
.ebd-seiten a:hover { border-color: var(--ebd-schwarz); color: var(--ebd-schwarz); }
.ebd-seiten [aria-current="page"] { background: var(--ebd-schwarz); border-color: var(--ebd-schwarz); color: #fff; }
.ebd-seiten .ebd-seiten__luecke { border: 0; min-width: 20px; padding: 0; }

.ebd-leer { text-align: center; padding: var(--ebd-a7) var(--ebd-a4); border: 2px dashed var(--ebd-linie-stark); border-radius: var(--ebd-r-l); background: var(--ebd-flaeche); }
.ebd-leer .ebd-icon { width: 40px; height: 40px; color: var(--ebd-grau); margin-bottom: var(--ebd-a3); }
.ebd-leer h2, .ebd-leer h3 { font-size: var(--ebd-fs-xl); }
.ebd-leer p { color: var(--ebd-grau); max-width: 52ch; margin-inline: auto; }

/* ---------- Modellseite ---------- */
.ebd-modellkopf { display: grid; gap: var(--ebd-a6); align-items: start; }
@media (min-width: 1000px) { .ebd-modellkopf { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); } }
.ebd-galerie { border-radius: var(--ebd-r-l); overflow: hidden; border: 1px solid var(--ebd-linie); }
.ebd-galerie .ebd-bild { aspect-ratio: 16 / 11; }
.ebd-galerie__leiste { display: flex; gap: 8px; padding: 8px; background: var(--ebd-flaeche); overflow-x: auto; }
.ebd-galerie__mini { flex: none; width: 82px; aspect-ratio: 4/3; border-radius: 8px; overflow: hidden; border: 2px solid transparent; background: #fff; padding: 0; cursor: pointer; }
.ebd-galerie__mini[aria-current="true"] { border-color: var(--ebd-schwarz); }
.ebd-galerie__mini .ebd-fahrrad, .ebd-galerie__mini img { width: 100%; height: 100%; object-fit: cover; }
.ebd-modellinfo h1 { font-size: var(--ebd-fs-2xl); margin-bottom: var(--ebd-a2); }
@media (min-width: 900px) { .ebd-modellinfo h1 { font-size: 2.25rem; } }
.ebd-modellinfo__marke { font-weight: 900; text-transform: uppercase; letter-spacing: .06em; font-size: var(--ebd-fs-s); color: var(--ebd-grau); text-decoration: none; }
.ebd-modellinfo__marke:hover { color: var(--ebd-schwarz); text-decoration: underline; }
.ebd-fakten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: var(--ebd-a4) 0; padding: 0; list-style: none; }
.ebd-fakt { display: flex; gap: 10px; align-items: center; padding: 10px 12px; background: var(--ebd-flaeche); border-radius: var(--ebd-r); }
.ebd-fakt .ebd-icon { width: 22px; height: 22px; color: var(--ebd-gruen-text); }
.ebd-fakt__wert { display: block; font-weight: 900; font-size: var(--ebd-fs-s); line-height: 1.25; }
.ebd-fakt__name { display: block; font-size: var(--ebd-fs-xs); color: var(--ebd-grau); }
.ebd-preisbox { padding: var(--ebd-a4); border: 2px solid var(--ebd-schwarz); border-radius: var(--ebd-r-l); display: grid; gap: var(--ebd-a2); margin-bottom: var(--ebd-a4); }
.ebd-preisbox__zeile { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; }
.ebd-angebote { scroll-margin-top: 90px; }
.ebd-angebotsgruppe { border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); background: #fff; overflow: hidden; }
.ebd-angebotsgruppe + .ebd-angebotsgruppe { margin-top: var(--ebd-a3); }
.ebd-angebotsgruppe--markiert { border: 2px solid var(--ebd-gruen); }
.ebd-angebotsgruppe__kopf { display: grid; gap: var(--ebd-a3); padding: var(--ebd-a4); grid-template-columns: 1fr; }
@media (min-width: 800px) { .ebd-angebotsgruppe__kopf { grid-template-columns: 1fr auto; align-items: center; } }
.ebd-angebotsgruppe__name { font-size: var(--ebd-fs-l); font-weight: 900; margin: 0; }
.ebd-angebotsgruppe__name a { color: var(--ebd-schwarz); text-decoration: none; }
.ebd-angebotsgruppe__name a:hover { text-decoration: underline; }
.ebd-angebotsgruppe__meta { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: var(--ebd-fs-s); color: var(--ebd-grau); margin: 4px 0 0; }
.ebd-angebotsgruppe__meta span { display: inline-flex; align-items: center; gap: 4px; }
.ebd-angebotsgruppe__meta .ebd-icon { width: 15px; height: 15px; }
.ebd-offen { color: var(--ebd-gruen-text); font-weight: 700; }
.ebd-angebotsliste { border-top: 1px solid var(--ebd-linie); }
.ebd-angebotszeile { display: grid; gap: var(--ebd-a2) var(--ebd-a4); padding: 14px var(--ebd-a4); grid-template-columns: 1fr auto; align-items: center; }
.ebd-angebotszeile + .ebd-angebotszeile { border-top: 1px dashed var(--ebd-linie); }
@media (min-width: 800px) { .ebd-angebotszeile { grid-template-columns: minmax(0, 1fr) 140px auto; } }
.ebd-angebotszeile__variante { font-weight: 700; margin: 0; }
.ebd-angebotszeile__info { font-size: var(--ebd-fs-xs); color: var(--ebd-grau); margin: 2px 0 0; display: flex; flex-wrap: wrap; gap: 4px 10px; }
.ebd-angebotszeile__preis { text-align: right; }
.ebd-angebotszeile__preis .ebd-preis { font-size: var(--ebd-fs-l); }
.ebd-angebotszeile__knoepfe { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
@media (min-width: 800px) { .ebd-angebotszeile__knoepfe { grid-column: auto; justify-content: flex-end; } }
.ebd-lager { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; }
.ebd-lager::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ebd-gruen); box-shadow: 0 0 0 2px var(--ebd-gruen-hell); }
.ebd-lager--knapp::before { background: #f0b400; box-shadow: 0 0 0 2px var(--ebd-warn-hell); }
.ebd-lager--bestellbar::before { background: var(--ebd-grau-hell); box-shadow: 0 0 0 2px var(--ebd-flaeche-2); }

.ebd-datenblatt { display: grid; gap: var(--ebd-a5); }
@media (min-width: 900px) { .ebd-datenblatt { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ebd-tabelle-daten { width: 100%; border-collapse: collapse; font-size: var(--ebd-fs-s); }
.ebd-tabelle-daten caption { text-align: left; font-weight: 900; font-size: var(--ebd-fs-m); padding-bottom: 8px; }
.ebd-tabelle-daten th, .ebd-tabelle-daten td { text-align: left; padding: 9px 0; border-bottom: 1px solid var(--ebd-linie); vertical-align: top; }
.ebd-tabelle-daten th { width: 45%; color: var(--ebd-grau); font-weight: 400; padding-right: 12px; }

/* Tabellen (Konto, Händlerbereich) */
.ebd-tabelle-huelle { overflow-x: auto; border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); background: #fff; }
.ebd-tabelle { width: 100%; border-collapse: collapse; font-size: var(--ebd-fs-s); }
.ebd-tabelle th, .ebd-tabelle td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--ebd-linie); vertical-align: middle; }
.ebd-tabelle thead th { background: var(--ebd-flaeche); font-size: var(--ebd-fs-xs); text-transform: uppercase; letter-spacing: .05em; color: var(--ebd-grau); font-weight: 900; white-space: nowrap; }
.ebd-tabelle tbody tr:last-child td { border-bottom: 0; }
.ebd-tabelle tbody tr:hover { background: #fafbfb; }
.ebd-tabelle__zahl { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
/* Tabellen, die auf dem Handy zu Karten werden (Zellen mit data-label) */
@media (max-width: 799px) {
	.ebd-tabelle--stapel thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }
	.ebd-tabelle--stapel, .ebd-tabelle--stapel tbody, .ebd-tabelle--stapel tfoot, .ebd-tabelle--stapel tr { display: block; width: 100%; }
	.ebd-tabelle--stapel td, .ebd-tabelle--stapel th { display: block; padding: 3px 0; border: 0; text-align: left !important; white-space: normal; }
	.ebd-tabelle--stapel tr { padding: 12px 14px; border-bottom: 1px solid var(--ebd-linie); }
	.ebd-tabelle--stapel tbody tr:last-child { border-bottom: 0; }
	.ebd-tabelle--stapel [data-label]::before { content: attr(data-label) ": "; font-size: var(--ebd-fs-xs); font-weight: 700; color: var(--ebd-grau); }
	.ebd-tabelle--stapel td:not([data-label]) { padding-top: 8px; }
	.ebd-tabelle--stapel tfoot tr { background: var(--ebd-flaeche); }
}


/* Statusverlauf */
.ebd-verlauf { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.ebd-verlauf li { position: relative; padding: 0 0 var(--ebd-a4) 34px; }
.ebd-verlauf li::before { content: ""; position: absolute; left: 9px; top: 22px; bottom: 0; width: 2px; background: var(--ebd-linie); }
.ebd-verlauf li:last-child::before { display: none; }
.ebd-verlauf__punkt { position: absolute; left: 0; top: 2px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--ebd-linie); color: #fff; }
.ebd-verlauf__punkt .ebd-icon { width: 13px; height: 13px; }
.ebd-verlauf li[data-stand="erledigt"] .ebd-verlauf__punkt { background: var(--ebd-gruen); color: var(--ebd-auf-gruen); }
.ebd-verlauf li[data-stand="aktuell"] .ebd-verlauf__punkt { background: var(--ebd-schwarz); box-shadow: 0 0 0 4px var(--ebd-gruen-hell); }
.ebd-verlauf li[data-stand="fehler"] .ebd-verlauf__punkt { background: var(--ebd-fehler); }
.ebd-verlauf strong { display: block; }
.ebd-verlauf small { color: var(--ebd-grau); }

/* Zwei Spalten mit Seitenleiste */
.ebd-zweispaltig { display: grid; gap: var(--ebd-a6); align-items: start; }
@media (min-width: 1000px) { .ebd-zweispaltig { grid-template-columns: minmax(0, 1fr) 360px; } .ebd-zweispaltig--links { grid-template-columns: 360px minmax(0, 1fr); } }
.ebd-seitenleiste { display: grid; gap: var(--ebd-a4); }
@media (min-width: 1000px) { .ebd-seitenleiste--klebend { position: sticky; top: calc(var(--ebd-kopfhoehe) + 16px); } }

/* Händlerkarte */
.ebd-haendlerkarte { display: grid; gap: 8px; padding: var(--ebd-a4); border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); background: #fff; color: inherit; text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.ebd-haendlerkarte:hover { border-color: var(--ebd-schwarz); box-shadow: var(--ebd-schatten-2); color: inherit; }
.ebd-haendlerkarte__kopf { display: flex; gap: 12px; align-items: center; }
.ebd-haendlerkarte__logo { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 12px; background: var(--ebd-schwarz); color: var(--ebd-gruen); font-weight: 900; font-size: var(--ebd-fs-l); flex: none; }
.ebd-haendlerkarte__name { font-weight: 900; font-size: var(--ebd-fs-l); margin: 0; line-height: 1.2; }
.ebd-haendlerkarte__ort { font-size: var(--ebd-fs-s); color: var(--ebd-grau); margin: 0; }
.ebd-merkmale { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }

/* Konto */
.ebd-konto { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--ebd-a5); align-items: start; padding-block: var(--ebd-a5) var(--ebd-a7); }
@media (min-width: 1100px) { .ebd-konto { grid-template-columns: 260px minmax(0, 1fr); gap: var(--ebd-a6); } }
.ebd-konto__nav { display: none; }
@media (min-width: 1100px) { .ebd-konto__nav { display: block; position: sticky; top: calc(var(--ebd-kopfhoehe) + 16px); } }
.ebd-konto__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.ebd-konto__nav a { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border-radius: var(--ebd-r); color: var(--ebd-text); font-weight: 700; text-decoration: none; }
.ebd-konto__nav a:hover { background: var(--ebd-flaeche); color: var(--ebd-schwarz); }
.ebd-konto__nav a[aria-current="page"] { background: var(--ebd-schwarz); color: #fff; }
.ebd-konto__nav a[aria-current="page"] .ebd-icon { color: var(--ebd-gruen); }
.ebd-konto__nav .ebd-zahl { margin-left: auto; min-width: 22px; padding: 0 6px; border-radius: 11px; background: var(--ebd-gruen); color: var(--ebd-auf-gruen); font-size: 12px; font-weight: 900; text-align: center; line-height: 20px; }
.ebd-konto__trenner { height: 1px; background: var(--ebd-linie); margin: 8px 0; }
.ebd-konto__auswahl { display: block; }
@media (min-width: 1100px) { .ebd-konto__auswahl { display: none; } }
.ebd-konto__kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--ebd-a3); margin-bottom: var(--ebd-a5); }
.ebd-konto__kopf h1 { margin: 0; font-size: var(--ebd-fs-2xl); }
.ebd-konto__wer { display: flex; align-items: center; gap: 12px; margin-bottom: var(--ebd-a4); padding: 12px; border-radius: var(--ebd-r-l); background: var(--ebd-flaeche); }
.ebd-konto__avatar { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--ebd-schwarz); color: var(--ebd-gruen); font-weight: 900; flex: none; }
.ebd-konto__wer strong { display: block; line-height: 1.2; }
.ebd-konto__wer small { color: var(--ebd-grau); }

/* Schritte (Assistent) */
.ebd-schritte { display: flex; gap: 6px; list-style: none; margin: 0 0 var(--ebd-a5); padding: 0; counter-reset: schritt; overflow-x: auto; }
.ebd-schritte li { flex: 1; min-width: 90px; counter-increment: schritt; }
.ebd-schritte span { display: block; padding-top: 10px; border-top: 4px solid var(--ebd-linie); font-size: var(--ebd-fs-xs); font-weight: 700; color: var(--ebd-grau); }
.ebd-schritte span::before { content: counter(schritt) ". "; }
.ebd-schritte li[data-stand="erledigt"] span { border-color: var(--ebd-gruen); color: var(--ebd-text); }
.ebd-schritte li[data-stand="aktuell"] span { border-color: var(--ebd-schwarz); color: var(--ebd-schwarz); }

/* Dialog */
.ebd-dialog { border: 0; border-radius: var(--ebd-r-l); padding: 0; max-width: min(560px, calc(100vw - 32px)); box-shadow: var(--ebd-schatten-3); }
.ebd-dialog::backdrop { background: rgba(10, 13, 18, .55); }
.ebd-dialog__inhalt { padding: var(--ebd-a5); }
.ebd-dialog__kopf { display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: var(--ebd-a3); }
.ebd-dialog__kopf h2 { font-size: var(--ebd-fs-xl); margin: 0; }

/* Akkordeon */
.ebd-akkordeon { border: 1px solid var(--ebd-linie); border-radius: var(--ebd-r-l); background: #fff; }
.ebd-akkordeon + .ebd-akkordeon { margin-top: var(--ebd-a2); }
.ebd-akkordeon summary { padding: 16px; font-weight: 900; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.ebd-akkordeon summary::-webkit-details-marker { display: none; }
.ebd-akkordeon summary::after { content: "+"; font-weight: 900; font-size: 1.3em; line-height: 1; }
.ebd-akkordeon[open] summary::after { content: "–"; }
.ebd-akkordeon__inhalt { padding: 0 16px 16px; color: var(--ebd-text-2); }

/* Fließtext (Magazin, Rechtstexte) */
.ebd-prosa { font-size: 1.0625rem; line-height: 1.7; max-width: 72ch; }
.ebd-prosa h2 { margin-top: var(--ebd-a6); font-size: var(--ebd-fs-xl); }
.ebd-prosa h3 { margin-top: var(--ebd-a5); }
.ebd-prosa img { border-radius: var(--ebd-r-l); }
.ebd-prosa li + li { margin-top: 6px; }
.ebd-prosa a { font-weight: 700; }
.ebd-prosa blockquote { margin: var(--ebd-a5) 0; padding: var(--ebd-a3) var(--ebd-a4); border-left: 4px solid var(--ebd-gruen); background: var(--ebd-flaeche); border-radius: 0 var(--ebd-r) var(--ebd-r) 0; }

/* Hilfsklassen für dunkle Zonen */
.ebd-dunkelzone { background: var(--ebd-dunkel); color: #e8ecef; }
.ebd-dunkelzone h2, .ebd-dunkelzone h3 { color: #fff; }

/* Druck */
@media print {
	.ebd-leiste, .ebd-kopf, .ebd-fuss, .ebd-filter, .ebd-merken, .ebd-btn { display: none !important; }
	body { font-size: 11pt; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
