/* =========================================================
   Best Cars Expo 2026 – Gutenberg Blöcke | style.css
   ─────────────────────────────────────────────────────────
   Markenfarben:  Rot #E3000B · Schwarz #000 · Weiß #fff
   Dark/Light:    Integriert swyft body[data-scheme=dark/light]
                  swyft-Vars: --cs-site-background, --cs-color-primary …
   Breakpoints:   Mobile < 640px · Tablet < 1024px · Desktop ≥ 1024px
   ========================================================= */


/* [hidden] gegen Theme-Resets absichern */
.bce26-programm__detail-body[hidden],
.bce26-timeline__detail-body[hidden] {
	display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   0 · DESIGN TOKENS
   Markenspezifische Tokens bleiben in :root.
   Oberflächen/Text laufen über swyft CSS-Vars → automatisches
   Dark/Light ohne jeden Body-Klassen-Hack.
═══════════════════════════════════════════════════════════ */

:root {
	/* Brand */
	--bce-red:        #E3000B;
	--bce-red-dark:   #b5000a;
	--bce-gold:       #f5c200;

	/* Fallbacks wenn swyft NICHT aktiv ist */
	--bce-bg:         #ffffff;
	--bce-bg-alt:     #f2f2f2;
	--bce-bg-card:    #f8f8f8;
	--bce-border:     #e0e0e0;
	--bce-text:       #111111;
	--bce-text-muted: #666666;

	/* Footer ist immer dunkel */
	--bce-footer-bg:   #111111;
	--bce-footer-text: #ffffff;

	--bce-radius: 4px;
	--bce-gap:    clamp(1rem, 2.5vw, 2rem);
}

/* ─ swyft-Integration ─────────────────────────────────────
   swyft setzt [data-scheme=dark/light] auf <body> und
   definiert dort CSS-Vars, die an alle Kinder vererbt werden.
   Die Blöcke nutzen diese Vars direkt als erste Wahl.
   Fallback: eigene --bce-* Tokens für nicht-swyft Themes.
─────────────────────────────────────────────────────── */

/* Oberflächen-Vars der Blöcke zeigen auf swyft-Vars (erben automatisch) */
[class*="wp-block-bce26"] {
	--bce-bg:         var(--cs-site-background,   #ffffff);
	--bce-bg-alt:     var(--cs-layout-background, #f2f2f2);
	--bce-bg-card:    var(--cs-layout-background, #f8f8f8);
	--bce-border:     var(--cs-color-border,       #e0e0e0);
	--bce-text:       var(--cs-color-primary,      #111111);
	--bce-text-muted: var(--cs-color-secondary,    #666666);
}

/* Explizit DUNKEL erzwingen (schlägt theme-inherit vor) */
[class*="wp-block-bce26"][data-scheme="dark"] {
	--cs-site-background:   #1C1C1C;
	--cs-layout-background: #232323;
	--cs-color-primary:     #FFFFFF;
	--cs-color-secondary:   #CDCDCD;
	--cs-color-border:      #343434;
	--bce-bg-card:          #2a2a2a;
	--bce-footer-bg:        #0a0a0a;
}

/* Explizit HELL erzwingen */
[class*="wp-block-bce26"][data-scheme="light"] {
	--cs-site-background:   #FFFFFF;
	--cs-layout-background: #F1F1F1;
	--cs-color-primary:     #1D1D1D;
	--cs-color-secondary:   #6E6E6E;
	--cs-color-border:      #E4E4E4;
	--bce-bg-card:          #f8f8f8;
	--bce-footer-bg:        #111111;
}

/* Betriebssystem-Fallback NUR wenn swyft noch kein data-scheme gesetzt hat
   (vor JS-Init oder auf nicht-swyft-Themes).
   Wenn body[data-scheme=light/dark] gesetzt ist, erbt der Block
   swyft's Vars über die normale CSS-Kaskade – kein Override nötig. */
@media (prefers-color-scheme: dark) {
	body:not([data-scheme]) [class*="wp-block-bce26"][data-scheme="inherit"] {
		--cs-site-background:   #1C1C1C;
		--cs-layout-background: #232323;
		--cs-color-primary:     #FFFFFF;
		--cs-color-secondary:   #CDCDCD;
		--cs-color-border:      #343434;
		--bce-bg-card:          #2a2a2a;
	}
}


/* ═══════════════════════════════════════════════════════════
   GEMEINSAME HILFSKLASSEN
═══════════════════════════════════════════════════════════ */

/* Buttons */
.bce26-btn {
	display:         inline-flex;
	align-items:     center;
	gap:             .5em;
	padding:         .75em 1.5em;
	font-size:       .875rem;
	font-weight:     700;
	text-transform:  uppercase;
	letter-spacing:  .08em;
	text-decoration: none;
	border:          2px solid currentColor;
	cursor:          pointer;
	transition:      background .2s, color .2s, border-color .2s;
	white-space:     nowrap;
}

.bce26-btn--primary {
	background:   var(--bce-red);
	border-color: var(--bce-red);
	color:        #fff;
}
.bce26-btn--primary:hover,
.bce26-btn--primary:focus-visible {
	background:   var(--bce-red-dark);
	border-color: var(--bce-red-dark);
}

.bce26-btn--outline {
	background:   transparent;
	color:        var(--bce-text);
	border-color: var(--bce-text);
}
.bce26-btn--outline:hover,
.bce26-btn--outline:focus-visible {
	background:   var(--bce-text);
	color:        var(--bce-bg);
}

.bce26-btn--ghost {
	background:   transparent;
	color:        #fff;
	border-color: #fff;
}
.bce26-btn--ghost:hover,
.bce26-btn--ghost:focus-visible {
	background: #fff;
	color:      #000;
}

.bce26-btn--fullwidth {
	width:           100%;
	justify-content: center;
	margin-top:      1.5rem;
}

.bce26-link-arrow {
	display:         inline-flex;
	align-items:     center;
	gap:             .4em;
	font-size:       .8rem;
	font-weight:     700;
	text-transform:  uppercase;
	letter-spacing:  .08em;
	text-decoration: none;
	color:           var(--bce-text);
	transition:      opacity .2s;
	white-space:     nowrap;
}
.bce26-link-arrow:hover { opacity: .7; }


/* ═══════════════════════════════════════════════════════════
   1 · HERO
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-hero {
	position:    relative;
	overflow:    hidden;
	min-height:  clamp(420px, 70vh, 100vh);
	display:     flex;
	align-items: flex-start;
	color:       #fff;
	margin:      0 !important;
	padding:     0;
}

/* Hintergrundbilder – CSS blendet Light/Dark-Version */
.bce26-hero__bg {
	position:            absolute;
	inset:               0;
	background-size:     cover;
	background-position: center;
	transition:          opacity .4s ease;
}

.bce26-hero__bg--light  { opacity: 1; }
.bce26-hero__bg--dark   { opacity: 0; }

/* Explizit dunkel – nur der Block-Wrapper selbst, nicht ein beliebiger Ancestor */
.wp-block-bce26-hero[data-scheme="dark"] .bce26-hero__bg--light  { opacity: 0; }
.wp-block-bce26-hero[data-scheme="dark"] .bce26-hero__bg--dark   { opacity: 1; }

/* Explizit hell */
.wp-block-bce26-hero[data-scheme="light"] .bce26-hero__bg--light { opacity: 1; }
.wp-block-bce26-hero[data-scheme="light"] .bce26-hero__bg--dark  { opacity: 0; }

/* Inherit via swyft body[data-scheme=dark] — MUSS auf den Hero-Block selbst beschränkt sein */
body[data-scheme=dark]  .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__bg--light { opacity: 0; }
body[data-scheme=dark]  .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__bg--dark  { opacity: 1; }
body[data-scheme=light] .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__bg--light { opacity: 1; }
body[data-scheme=light] .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__bg--dark  { opacity: 0; }

/* OS-Präferenz-Fallback (wenn kein data-scheme auf body) */
@media (prefers-color-scheme: dark) {
	body:not([data-scheme]) .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__bg--light { opacity: 0; }
	body:not([data-scheme]) .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__bg--dark  { opacity: 1; }
}

.bce26-hero__overlay {
	position:   absolute;
	inset:      0;
	background: linear-gradient(
		105deg,
		rgba(0,0,0,.72) 0%,
		rgba(0,0,0,.45) 55%,
		rgba(0,0,0,.10) 100%
	);
}

/* Light-Mode: weißer Overlay statt grau/schwarz */
.wp-block-bce26-hero[data-scheme="light"] .bce26-hero__overlay,
body[data-scheme=light] .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__overlay {
	background: linear-gradient(
		105deg,
		rgba(255,255,255,.82) 0%,
		rgba(255,255,255,.55) 55%,
		rgba(255,255,255,.10) 100%
	);
}

.bce26-hero__inner {
	position:   relative;
	z-index:    2;
	padding:    clamp(5rem, 10vw, 9rem) clamp(1.5rem, 5%, 5rem) clamp(4rem, 8vw, 7rem);
	max-width:  680px;
}

/* Top-Bar */
.bce26-hero__topbar {
	display:     flex;
	align-items: center;
	gap:         clamp(.75rem, 2vw, 1.5rem);
	flex-wrap:   wrap;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

/* Award-Badge CSS-Fallback */
.bce26-hero__badge-css {
	display:        none;

	flex-direction: column;
	align-items:    center;
	justify-content: center;
	width:          clamp(52px, 6vw, 68px);
	height:         clamp(52px, 6vw, 68px);
	background:     var(--bce-red);
	border:         2px solid var(--bce-red);
	padding:        4px;
}
.bce26-hero__badge-num {
	display:     block;
	font-size:   clamp(1.3rem, 2.5vw, 1.8rem);
	font-weight: 900;
	line-height: 1;
}
.bce26-hero__badge-text {
	display:        block;
	font-size:      .45rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-align:     center;
	line-height:    1.2;
}

.bce26-hero__badge-img {
	height: clamp(48px, 6vw, 72px);
	width:  auto;
}

.bce26-hero__org {
	display:        flex;
	flex-direction: column;
	gap:            .25rem;
}
.bce26-hero__org-tagline {
	font-size:      .6rem;
	font-weight:    600;
	text-transform: uppercase;
	letter-spacing: .08em;
	opacity:        .85;
}
.bce26-hero__org-logo {
	display:    block;
	flex-shrink: 0;
	height:     clamp(22px, 3.5vw, 36px);
	width:      auto;
	max-width:  160px;
	object-fit: contain;
	/* Hero hat immer ein dunkles Overlay → Logo auf Weiß umkehren */
	filter: brightness(0) invert(1);
}
/* Im erzwungenen Light-Mode ist das Overlay heller → Logo in Originalfarbe lassen */
.wp-block-bce26-hero[data-scheme="light"] .bce26-hero__org-logo,
body[data-scheme=light] .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__org-logo {
	filter: none;
}

/* Haupttitel */
h1.bce26-hero__title,
.bce26-hero__title {
	font-size:   clamp(3.5rem, 10vw, 9rem);
	font-weight: 900;
	line-height: .93;
	text-transform: uppercase;
	letter-spacing: -.02em;
	margin:      0 0 .5rem;
}
.bce26-hero__line1 { color: var(--bce-red); }
.bce26-hero__line2 { color: #fff; }

/* Light-Mode: EXPO 2026 schwarz (auf hellem Overlay lesbar) */
.wp-block-bce26-hero[data-scheme="light"] .bce26-hero__line2,
body[data-scheme=light] .wp-block-bce26-hero[data-scheme="inherit"] .bce26-hero__line2 { color: #111; }

.bce26-hero__subtitle {
	font-size:      clamp(.9rem, 1.6vw, 1.25rem);
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .05em;
	margin:         0 0 1rem;
}
.bce26-hero__desc {
	font-size:   clamp(.9rem, 1.2vw, 1.05rem);
	line-height: 1.6;
	opacity:     .9;
	margin:      0 0 2rem;
	max-width:   480px;
}

.bce26-hero__buttons {
	display:   flex;
	flex-wrap: wrap;
	gap:       .75rem;
}

/* Preis-Badge (goldener Kreis oben rechts) */
.bce26-hero__prize-badge {
	position:        absolute;
	top:             clamp(130px, 18vw, 180px);
	right:           clamp(1.5rem, 5%, 4rem);
	z-index:         3;
	width:           clamp(200px, 26vw, 300px);
	height:          clamp(200px, 26vw, 300px);
	background:      var(--bce-gold);
	border-radius:   50%;
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: center;
	text-align:      center;
	padding:         2.25rem;
	color:           #111;
	box-sizing:      border-box;
}
.bce26-hero__prize-intro {
	font-size:      clamp(.65rem, 1.1vw, .85rem);
	font-weight:    800;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin:         0 0 .3rem;
	color:          var(--bce-red);
	word-break:     break-word;
}
.bce26-hero__prize-desc {
	font-size:   clamp(.7rem, 1.2vw, .9rem);
	line-height: 1.4;
	margin:      .2rem 0;
	font-weight: 600;
	word-break:  break-word;
	hyphens:     auto;
}
.bce26-hero__prize-amount {
	display:     block;
	font-size:   clamp(1.6rem, 2.8vw, 2.2rem);
	font-weight: 900;
	color:       var(--bce-red);
	line-height: 1;
	margin-top:  .3rem;
}

@media (max-width: 640px) {
	/* Section als Spalte damit Badge in den Fluss kommt */
	.wp-block-bce26-hero {
		flex-direction: column;
		align-items:    stretch;
	}
	.bce26-hero__prize-badge {
		position:  relative;
		top:       unset;
		right:     unset;
		bottom:    unset;
		width:     180px;
		height:    180px;
		padding:   1.5rem;
		margin:    1.5rem auto 2rem;
	}
	.bce26-hero__prize-intro  { font-size: .55rem; }
	.bce26-hero__prize-desc   { font-size: .55rem; }
	.bce26-hero__prize-amount { font-size: 1.2rem; }
}

.bce26-hero__img-note {
	position:         absolute;
	bottom:           .85rem;
	right:            clamp(1.5rem, 5%, 4rem);
	font-size:        .65rem;
	color:            #fff;
	background:       rgba(0,0,0,.45);
	padding:          .2rem .5rem;
	border-radius:    .25rem;
	pointer-events:   none;
	z-index:          4;
}


/* ═══════════════════════════════════════════════════════════
   2 · LOCATION BAR
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-location-bar {
	background: var(--bce-bg);
	color:      var(--bce-text);
	border-top:    1px solid var(--bce-border);
	border-bottom: 1px solid var(--bce-border);
}

.bce26-location-bar__inner {
	display:     flex;
	flex-wrap:   wrap;
	align-items: center;
	gap:         var(--bce-gap);
	max-width:   1280px;
	margin:      0 auto;
	padding:     clamp(1.25rem, 2.5vw, 1.75rem) clamp(1.5rem, 5%, 4rem);
}

.bce26-location-bar__item {
	display:     flex;
	align-items: center;
	gap:         .75rem;
	flex:        1 1 200px;
}

.bce26-location-bar__icon {
	flex-shrink: 0;
	color:       var(--bce-red);
}
.bce26-location-bar__icon svg {
	width:  1.5rem;
	height: 1.5rem;
}

.bce26-location-bar__item div {
	display:        flex;
	flex-direction: column;
	gap:            .15rem;
}
.bce26-location-bar__item strong {
	font-size:   .9rem;
	font-weight: 700;
	line-height: 1.2;
}
.bce26-location-bar__item span {
	font-size:   .8rem;
	color:       var(--bce-text-muted);
	line-height: 1.3;
}

.bce26-location-bar__item--org {
	flex-direction:  column;
	align-items:     flex-start;
	gap:             .35rem;
}
.bce26-location-bar__item--org > span {
	font-size:   .7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color:       var(--bce-text-muted);
}
.bce26-location-bar__org-logo {
	height: clamp(26px, 3.5vw, 36px);
	width:  auto;
}

@media (max-width: 640px) {
	.bce26-location-bar__inner {
		flex-direction: column;
		align-items:    flex-start;
	}
	.bce26-location-bar__item { flex: none; width: 100%; }
}


/* ═══════════════════════════════════════════════════════════
   3 · EXPO MAP
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-expo-map {
	background: var(--bce-bg-alt);
	color:      var(--bce-text);
	padding:    clamp(3rem, 6vw, 5rem) 0;
}

.bce26-expo-map__inner {
	display:   grid;
	grid-template-columns: 1fr 2fr;
	gap:       var(--bce-gap);
	max-width: 1280px;
	margin:    0 auto;
	padding:   0 clamp(1.5rem, 5%, 4rem);
	align-items: start;
}

.bce26-expo-map__heading {
	font-size:   clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.1;
	margin:      0 0 1rem;
}

.bce26-expo-map__desc {
	font-size:   .95rem;
	line-height: 1.65;
	color:       var(--bce-text-muted);
	margin:      0 0 1.75rem;
}

.bce26-expo-map__visual { position: relative; }

.bce26-expo-map__map-wrap {
	position:      relative;
	border-radius: var(--bce-radius);
	overflow:      hidden;
}

.bce26-expo-map__img {
	width:   100%;
	height:  auto;
	display: block;
}

.bce26-expo-map__img-placeholder {
	width:           100%;
	padding-bottom:  56.25%;
	background:      var(--bce-bg-card);
	border:          2px dashed var(--bce-border);
	display:         flex;
	align-items:     center;
	justify-content: center;
	color:           var(--bce-text-muted);
	font-size:       .85rem;
}
.bce26-expo-map__img-placeholder span {
	position: absolute;
	top:      50%;
	left:     50%;
	transform: translate(-50%, -50%);
}

/* Hotspot Pins */
.bce26-expo-map__pin {
	position:  absolute;
	transform: translate(-50%, -50%);
	z-index:   5;
}

.bce26-expo-map__pin-dot {
	display:       block;
	width:         12px;
	height:        12px;
	background:    var(--bce-red);
	border-radius: 50%;
	border:        2px solid #fff;
	box-shadow:    0 0 0 4px rgba(227,0,11,.25);
	cursor:        default;
}

.bce26-expo-map__pin-label {
	position:      absolute;
	top:           50%;
	transform:     translateY(-50%);
	background:    #fff;
	color:         #111;
	padding:       .3rem .6rem;
	white-space:   nowrap;
	font-size:     .72rem;
	font-weight:   700;
	box-shadow:    0 2px 8px rgba(0,0,0,.18);
	pointer-events: none;
	border-radius: var(--bce-radius);
}
.bce26-expo-map__pin-label strong {
	display:        block;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.bce26-expo-map__pin-label span {
	display:     block;
	font-weight: 400;
	font-size:   .65rem;
	opacity:     .7;
}

.bce26-expo-map__pin--left  .bce26-expo-map__pin-label { left:  16px; }
.bce26-expo-map__pin--right .bce26-expo-map__pin-label { right: 16px; }

@media (max-width: 900px) {
	.bce26-expo-map:not(.bce26-expo-map--lageplan) .bce26-expo-map__inner {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
	.bce26-expo-map:not(.bce26-expo-map--lageplan) .bce26-expo-map__pin { display: none; }
}

/* ── Lageplan-Modus (Vorlage mit Legende + Marker) ───────────────────── */

.bce26-expo-map--lageplan {
	padding: clamp(2rem, 5vw, 4rem) 0;
}

.bce26-expo-map__inner--lageplan {
	display:    block;
	max-width:  1320px;
	padding:    0 clamp(1rem, 4vw, 2rem);
}

.bce26-expo-map__inner--lageplan-sidebar {
	display:               grid;
	grid-template-columns: minmax(220px, 1fr) minmax(0, 2.4fr);
	gap:                   var(--bce-gap);
	align-items:           start;
}

.bce26-lageplan__title {
	font-size:      clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	line-height:    1.1;
	margin:         0 0 clamp(1.25rem, 2.5vw, 2rem);
}

.bce26-lageplan__board {
	display:               grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
	gap:                   clamp(1rem, 2.5vw, 2rem);
	align-items:           stretch;
	background:            var(--bce-bg);
	border:                1px solid var(--bce-border);
	border-radius:         var(--bce-radius);
	padding:               clamp(1rem, 2vw, 1.5rem);
}

.bce26-lageplan__map-stage {
	min-width: 0;
}

.bce26-expo-map__map-wrap--lageplan {
	position:      relative;
	overflow:      visible;
	border-radius: var(--bce-radius);
	background:    var(--bce-bg-alt);
	border:        1px solid var(--bce-border);
}

.bce26-lageplan__img-clip {
	overflow:      hidden;
	border-radius: calc(var(--bce-radius) * .75);
	aspect-ratio:  1024 / 673;
	line-height:   0;
}

.bce26-expo-map__img--lageplan {
	width:          100%;
	max-width:      100%;
	height:         100%;
	object-fit:     contain;
	object-position: center center;
	pointer-events: none;
	user-select:    none;
}

.bce26-lageplan__markers {
	position: absolute;
	inset:    0;
	z-index:  2;
}

.bce26-lageplan__marker {
	position:        absolute;
	transform:       translate(-50%, -50%);
	padding:         8px;
	border:          none;
	background:      transparent;
	cursor:          pointer;
	z-index:         2;
	transition:      opacity .2s;
}

.bce26-lageplan__marker--sm { z-index: 1; }
.bce26-lageplan__marker--md { z-index: 3; }
.bce26-lageplan__marker--lg { z-index: 4; }

.bce26-lageplan__dot {
	display:       block;
	border-radius: 50%;
	background:    var(--lp-color, #9B9B9B);
	border:        2px solid #fff;
	box-shadow:    0 1px 4px rgba(0, 0, 0, .28);
}

.bce26-lageplan__dot--solid {
	width:  20px;
	height: 20px;
	border-width: 2.5px;
}

.bce26-lageplan__marker--sm .bce26-lageplan__dot--solid {
	width:  16px;
	height: 16px;
	border-width: 2px;
}

.bce26-lageplan__marker--lg .bce26-lageplan__dot--solid {
	width:  26px;
	height: 26px;
	border-width: 3px;
}

.bce26-lageplan__dot--ring {
	width:        22px;
	height:       22px;
	background:   var(--lp-color, #9B9B9B);
	box-shadow:   inset 0 0 0 5px #fff;
}

.bce26-lageplan__marker:hover .bce26-lageplan__dot,
.bce26-lageplan__marker:focus-visible .bce26-lageplan__dot,
.bce26-lageplan__marker.is-highlighted .bce26-lageplan__dot,
.bce26-lageplan__marker.is-tooltip-open .bce26-lageplan__dot {
	transform:  scale(1.15);
	box-shadow: 0 0 0 4px rgba(227, 0, 11, .35), 0 2px 10px rgba(0, 0, 0, .32);
}

.bce26-expo-map--lageplan.is-filtered .bce26-lageplan__marker {
	opacity: .2;
}

.bce26-expo-map--lageplan.is-filtered .bce26-lageplan__marker.is-visible {
	opacity: 1;
}

.bce26-lageplan__marker .bce26-lageplan__tooltip {
	position:       absolute;
	left:           50%;
	bottom:         calc(100% + 10px);
	transform:      translateX(-50%);
	margin:         0;
	padding:        .5rem .75rem;
	background:     rgba(17, 17, 17, .94);
	color:          #fff;
	font-size:      .8rem;
	font-weight:    700;
	line-height:    1.2;
	border-radius:  calc(var(--bce-radius) * .5);
	white-space:    nowrap;
	pointer-events: none;
	z-index:        20;
	opacity:        0;
	visibility:     hidden;
	transition:     opacity .15s, visibility .15s;
	box-shadow:     0 4px 14px rgba(0, 0, 0, .28);
}

.bce26-lageplan__marker .bce26-lageplan__tooltip::after {
	content:      '';
	position:     absolute;
	left:         50%;
	top:          100%;
	transform:    translateX(-50%);
	border:       5px solid transparent;
	border-top-color: rgba(17, 17, 17, .94);
}

.bce26-lageplan__marker--tip-below .bce26-lageplan__tooltip {
	bottom: auto;
	top:    calc(100% + 6px);
}

.bce26-lageplan__marker--tip-below .bce26-lageplan__tooltip::after {
	top:              auto;
	bottom:           100%;
	border-top-color: transparent;
	border-bottom-color: rgba(17, 17, 17, .94);
}

.bce26-lageplan__marker:hover .bce26-lageplan__tooltip,
.bce26-lageplan__marker:focus-visible .bce26-lageplan__tooltip,
.bce26-lageplan__marker.is-tooltip-open .bce26-lageplan__tooltip {
	opacity:    1;
	visibility: visible;
}

.bce26-lageplan__legend {
	display:         flex;
	flex-direction:  column;
	align-items:     flex-end;
	text-align:      right;
	gap:             .5rem;
	padding:         clamp(.25rem, 1vw, .5rem) 0;
	border-left:     1px solid var(--bce-border);
	padding-left:    clamp(.75rem, 2vw, 1.25rem);
}

.bce26-lageplan__legend-hd {
	width:          100%;
	margin:         0 0 .35rem;
	font-size:      .65rem;
	font-weight:    700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color:          var(--bce-text-muted);
	text-align:     right;
}

.bce26-lageplan__legend-btn {
	display:         inline-flex;
	flex-direction:  row-reverse;
	align-items:     center;
	justify-content: flex-end;
	gap:             .5rem;
	width:           auto;
	max-width:       100%;
	padding:         .4rem .85rem;
	border:          2px solid var(--bce-border);
	border-radius:   2rem;
	background:      transparent;
	color:           var(--bce-text);
	font-size:       .72rem;
	font-weight:     700;
	text-transform:  uppercase;
	letter-spacing:  .05em;
	text-align:      right;
	cursor:          pointer;
	transition:      background .2s, color .2s, border-color .2s;
}

.bce26-lageplan__legend-btn:hover,
.bce26-lageplan__legend-btn:focus-visible {
	border-color: var(--bce-red);
	color:        var(--bce-red);
	outline:      none;
}

.bce26-lageplan__legend-btn.is-active {
	background:   var(--bce-red);
	border-color: var(--bce-red);
	color:        #fff;
}

.bce26-lageplan__legend-btn--all {
	margin-bottom: .25rem;
	color:         var(--bce-text-muted);
}

.bce26-lageplan__legend-btn--all.is-active {
	color: #fff;
}

.bce26-lageplan__legend-list {
	list-style:     none;
	margin:         0;
	padding:        0;
	display:        flex;
	flex-direction: column;
	align-items:    flex-end;
	gap:            .4rem;
	width:          100%;
}

.bce26-lageplan__legend-list li {
	display:         flex;
	justify-content: flex-end;
	width:           100%;
}

.bce26-lageplan__legend-list .bce26-lageplan__dot {
	flex-shrink:  0;
	width:        12px;
	height:       12px;
	border-width: 2px;
}

.bce26-lageplan__legend-list .bce26-lageplan__dot--ring {
	box-shadow: inset 0 0 0 3px #fff;
}

.bce26-lageplan__legend-btn.is-active .bce26-lageplan__dot {
	border-color: rgba(255, 255, 255, .85);
}

.bce26-lageplan__legend-label {
	line-height: 1.25;
}

@media (max-width: 900px) {
	.bce26-expo-map__inner--lageplan-sidebar {
		grid-template-columns: 1fr;
	}

	.bce26-lageplan__board {
		grid-template-columns: 1fr;
		padding:               clamp(.75rem, 3vw, 1rem);
	}

	/* Linkes 2/3 der Karte – rechtes Drittel ausgeblendet, wirkt ~50 % größer */
	.bce26-expo-map--lageplan .bce26-expo-map__map-wrap--lageplan {
		overflow: hidden;
	}

	.bce26-expo-map--lageplan .bce26-lageplan__img-clip {
		width:     150%;
		max-width: none;
	}

	.bce26-expo-map--lageplan .bce26-lageplan__markers {
		width:  150%;
		height: auto;
		inset:  auto;
		top:    0;
		left:   0;
		aspect-ratio: 1024 / 673;
	}

	.bce26-expo-map--lageplan .bce26-expo-map__map-wrap--lageplan::after {
		content:    '';
		position:   absolute;
		top:        0;
		right:      0;
		width:      12%;
		height:     100%;
		background: linear-gradient(
			to right,
			transparent,
			var(--bce-bg) 85%
		);
		pointer-events: none;
		z-index:    4;
	}

	.bce26-lageplan__legend {
		align-items:     stretch;
		text-align:      left;
		border-left:     none;
		border-top:      1px solid var(--bce-border);
		padding-left:    0;
		padding-top:     1rem;
		margin-top:      .25rem;
	}

	.bce26-lageplan__legend-hd {
		text-align: left;
	}

	.bce26-lageplan__legend-btn--all {
		align-self: flex-start;
	}

	.bce26-lageplan__legend-list {
		display:               grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items:           stretch;
		gap:                   .45rem;
	}

	.bce26-lageplan__legend-list li {
		justify-content: stretch;
	}

	.bce26-lageplan__legend-list .bce26-lageplan__legend-btn {
		width:           100%;
		justify-content: flex-start;
		flex-direction:  row;
		text-align:      left;
		font-size:       .68rem;
		padding:         .38rem .65rem;
	}
}

@media (max-width: 480px) {
	.bce26-lageplan__legend-list {
		grid-template-columns: 1fr;
	}
}


/* ═══════════════════════════════════════════════════════════
   4 · SIEGERFAHRZEUGE
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-siegerfahrzeuge {
	background: var(--bce-bg);
	color:      var(--bce-text);
	padding:    clamp(3rem, 6vw, 5rem) 0;
}

.bce26-siegerfahrzeuge__header {
	display:     flex;
	align-items: center;
	justify-content: space-between;
	gap:         1rem;
	flex-wrap:   wrap;
	max-width:   1280px;
	margin:      0 auto 2rem;
	padding:     0 clamp(1.5rem, 5%, 4rem);
}
.bce26-siegerfahrzeuge__header-actions {
	display:    flex;
	align-items: center;
	gap:        .75rem;
	flex-wrap:  wrap;
}

.bce26-siegerfahrzeuge__heading {
	font-size:   clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.1;
	margin:      0;
}
/* Roter Anteil im Heading via ::before auf "SIEGER" – kann über das Markup angepasst werden */
.bce26-siegerfahrzeuge__heading em {
	color:        var(--bce-red);
	font-style:   normal;
}

/* Carousel */
.bce26-siegerfahrzeuge__carousel-wrap {
	position:   relative;
	max-width:  1280px;
	margin:     0 auto;
	padding:    0 clamp(1.5rem, 5%, 4rem);
}

.bce26-carousel__prev,
.bce26-carousel__next {
	position:        absolute;
	top:             50%;
	transform:       translateY(-50%);
	z-index:         5;
	width:           2.5rem;
	height:          2.5rem;
	background:      var(--bce-bg);
	border:          1px solid var(--bce-border);
	border-radius:   50%;
	display:         flex;
	align-items:     center;
	justify-content: center;
	cursor:          pointer;
	color:           var(--bce-text);
	transition:      background .2s, color .2s;
	box-shadow:      0 2px 8px rgba(0,0,0,.15);
}
.bce26-carousel__prev:hover,
.bce26-carousel__next:hover {
	background: var(--bce-red);
	color:      #fff;
	border-color: var(--bce-red);
}
.bce26-carousel__prev:disabled,
.bce26-carousel__next:disabled { opacity: .35; pointer-events: none; }
.bce26-carousel__prev svg,
.bce26-carousel__next svg { width: 1.1rem; height: 1.1rem; }

.bce26-carousel__prev { left:  0; }
.bce26-carousel__next { right: 0; }

.bce26-siegerfahrzeuge__carousel {
	overflow: hidden;
}

.bce26-siegerfahrzeuge__track {
	display:    flex;
	gap:        1rem;
	transition: transform .35s cubic-bezier(.4,0,.2,1);
}

/* Fahrzeug-Karte */
.bce26-vehicle-card {
	flex:           0 0 calc(16.666% - .85rem);
	min-width:      0;
	background:     var(--bce-bg-card);
	border:         1px solid var(--bce-border);
	display:        flex;
	flex-direction: column;
	transition:     box-shadow .25s;
	position:       relative;
}
.bce26-vehicle-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.12); }

.bce26-vehicle-card__badge-wrap {
	position: absolute;
	top:      .5rem;
	right:    .5rem;
	z-index:  2;
}
.bce26-vehicle-card__badge-css {
	display:        inline-flex;
	flex-direction: column;
	align-items:    center;
	justify-content: center;
	width:          46px;
	height:         46px;
	background:     var(--bce-red);
	color:          #fff;
	font-weight:    900;
}
.bce26-vehicle-card__badge-css span {
	font-size:   1rem;
	line-height: 1;
}
.bce26-vehicle-card__badge-css small {
	font-size:      .35rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	text-align:     center;
	line-height:    1.2;
}
.bce26-vehicle-card__badge-img {
	width:  46px;
	height: auto;
}

.bce26-vehicle-card__media {
	aspect-ratio: 4/3;
	overflow:     hidden;
}
.bce26-vehicle-card__img,
.bce26-vehicle-card__media img {
	width:      100%;
	height:     100%;
	object-fit: cover;
}
.bce26-vehicle-card__media--no-img {
	background: linear-gradient(135deg, var(--bce-bg-alt), var(--bce-border));
}

.bce26-vehicle-card__body {
	padding:        .75rem;
	display:        flex;
	flex-direction: column;
	gap:            .2rem;
	flex:           1;
}
.bce26-vehicle-card__name {
	font-size:   .9rem;
	font-weight: 700;
	line-height: 1.2;
	margin:      0;
}
.bce26-vehicle-card__kat {
	font-size: .75rem;
	color:     var(--bce-text-muted);
	margin:    0;
}
.bce26-vehicle-card__type {
	font-size:   .72rem;
	font-weight: 700;
	margin:      0;
	color:       var(--bce-text-muted);
}
.bce26-vehicle-card__type--leser  { color: var(--bce-red); }
.bce26-vehicle-card__type--import { color: var(--bce-red); }

.bce26-vehicle-card__link {
	display:         inline-flex;
	align-items:     center;
	gap:             .3em;
	font-size:       .72rem;
	font-weight:     700;
	text-transform:  uppercase;
	letter-spacing:  .06em;
	color:           var(--bce-text);
	text-decoration: none;
	margin-top:      auto;
	padding-top:     .5rem;
	transition:      color .2s;
}
/* Stretched link: gesamte Karte klickbar */
a.bce26-vehicle-card__link::after {
	content:  '';
	position: absolute;
	inset:    0;
}
.bce26-vehicle-card:hover .bce26-vehicle-card__link { color: var(--bce-red); }

.bce26-siegerfahrzeuge__empty {
	padding: 2rem;
	color:   var(--bce-text-muted);
}
.bce26-siegerfahrzeuge__debug {
	background:    #fff8e1;
	border:        2px solid #f5c200;
	border-radius: 4px;
	padding:       1rem 1.25rem;
	font-size:     .82rem;
	line-height:   1.6;
	color:         #333;
}
.bce26-siegerfahrzeuge__debug code {
	background: rgba(0,0,0,.08);
	padding:    1px 5px;
	border-radius: 3px;
	font-family: monospace;
}

@media (max-width: 1024px) {
	.bce26-vehicle-card { flex-basis: calc(25% - .76rem); }
}
@media (max-width: 768px) {
	.bce26-vehicle-card { flex-basis: calc(33.333% - .68rem); }
}
@media (max-width: 480px) {
	.bce26-vehicle-card { flex-basis: calc(50% - .5rem); }
}


/* ═══════════════════════════════════════════════════════════
   5 · EVENT TIMELINE
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-event-timeline {
	background: var(--bce-bg-alt);
	color:      var(--bce-text);
	padding:    clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5%, 4rem);
}

.bce26-event-timeline__heading {
	font-size:      clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight:    900;
	text-transform: uppercase;
	text-align:     center;
	margin:         0 0 clamp(2rem, 4vw, 3rem);
	max-width:      1280px;
	margin-left:    auto;
	margin-right:   auto;
}

.bce26-timeline__grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   clamp(1rem, 2vw, 2rem);
	max-width:             1280px;
	margin:                0 auto;
}

.bce26-timeline__day-header {
	border-bottom: 2px solid var(--bce-red);
	padding-bottom: .6rem;
	margin-bottom:  1rem;
	text-align:     center;
}
.bce26-timeline__day-title {
	font-size:      .9rem;
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin:         0 0 .1rem;
}
.bce26-timeline__day-date {
	font-size:   .8rem;
	font-weight: 700;
	color:       var(--bce-red);
}

.bce26-timeline__events {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        .85rem;
}

.bce26-timeline__event {
	display: block;
}
.bce26-timeline__event-time {
	font-size:   .8rem;
	font-weight: 700;
	color:       var(--bce-text-muted);
}
.bce26-timeline__event-name {
	font-size:   clamp(.9rem, 1.2vw, 1.05rem);
	font-weight: 600;
	line-height: 1.35;
}
.bce26-timeline__event-loc {
	display:        inline-block;
	margin-top:     .2rem;
	font-size:      .7rem;
	font-weight:    600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color:          var(--bce-red);
	opacity:        .85;
}

.bce26-event-timeline__footer {
	max-width:  1280px;
	margin:     clamp(2rem, 4vw, 3rem) auto 0;
	text-align: center;
}

/* ── Timeline: Aufklapp-Events ── */
/* Aufklappbar: linke rote Markierung */
.bce26-timeline__event--expandable {
	border-left:  3px solid var(--bce-red);
	padding-left: .75rem;
	cursor:       pointer;
	transition:   background .15s;
}
.bce26-timeline__event--expandable:hover,
.bce26-timeline__event--expandable[aria-expanded="true"] {
	background:    rgba(227, 0, 11, .05);
	border-radius: 0 4px 4px 0;
}

/* Pfeil nach dem Namen */
.bce26-timeline__event--expandable .bce26-timeline__event-name::after {
	content:     ' ›';
	color:       var(--bce-red);
	font-weight: 400;
}
.bce26-timeline__event--expandable[aria-expanded="true"] .bce26-timeline__event-name::after {
	content: ' ‹';
}

/* Desktop: Zeit + Name + Ort in einer Zeile mit Wrap */
.bce26-timeline__event-info {
	display:     flex;
	align-items: baseline;
	flex-wrap:   wrap;
	gap:         .1rem .6rem;
}

/* Detail-Body */
.bce26-timeline__detail-body {
	padding:     .4rem .5rem .7rem 7rem;
	font-size:   .85rem;
	font-weight: 400;
	line-height: 1.5;
	color:       var(--bce-text-muted);
	border-top:  1px solid var(--bce-border);
}

@media (max-width: 900px) {
	.bce26-timeline__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Mobile: 1 Spalte ab 600px (deckt alle Smartphones ab) */
@media (max-width: 600px) {
	.bce26-timeline__grid {
		grid-template-columns: 1fr;
		gap:                   1.5rem;
	}
	/* Tages-Karte: etwas kompakter */
	.bce26-timeline__day-header {
		padding-bottom: .4rem;
		margin-bottom:  .75rem;
	}
	/* Event-Info: Zeit oben, Name darunter, Ort darunter */
	.bce26-timeline__event-info {
		flex-direction: column;
		align-items:    flex-start;
		flex-wrap:      nowrap;
		gap:            .1rem;
	}
	.bce26-timeline__event-loc {
		margin-top: .15rem;
	}
	.bce26-timeline__detail-body {
		padding-left: .5rem;
	}
}


/* ═══════════════════════════════════════════════════════════
   6 · GEWINNSPIEL
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-gewinnspiel {
	position:            relative;
	background-color:    #111;
	background-size:     cover;
	background-position: center;
	background-repeat:   no-repeat;
	/* Text ist immer weiß — Block hat immer dunklen Hintergrund */
	color:               #fff;
	padding:             clamp(3rem, 6vw, 5rem) 0;
}


.bce26-gewinnspiel__inner {
	display:         flex;
	justify-content: space-between;
	align-items:     center;
	gap:             var(--bce-gap);
	max-width:       1280px;
	margin:          0 auto;
	padding:         0 clamp(1.5rem, 5%, 4rem);
	position:        relative;
	z-index:         1;
}
/* Kreis absolut oben rechts – Content bekommt volle Breite */
.bce26-gewinnspiel__content  { max-width: 560px; }
.bce26-gewinnspiel__badge-col {
	position: absolute;
	top:      clamp(1rem, 4vw, 2.5rem);
	right:    clamp(1.5rem, 5%, 4rem);
	z-index:  2;
}
.bce26-gewinnspiel__badge {
	width:           clamp(160px, 18vw, 220px);
	height:          clamp(160px, 18vw, 220px);
	background:      var(--bce-gold);
	border-radius:   50%;
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: center;
	text-align:      center;
	padding:         1.25rem;
	color:           #111;
}
.bce26-gewinnspiel__badge-intro {
	font-size:      clamp(.6rem, .9vw, .75rem);
	font-weight:    800;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin:         0;
}
.bce26-gewinnspiel__badge-desc {
	font-size:   clamp(.58rem, .88vw, .72rem);
	line-height: 1.3;
	margin:      .3rem 0;
}
.bce26-gewinnspiel__badge-amount {
	display:     block;
	font-size:   clamp(1.4rem, 2.5vw, 2rem);
	font-weight: 900;
	color:       var(--bce-red);
	line-height: 1;
}
.bce26-gewinnspiel__badge-note {
	font-size:  .65rem;
	text-align: center;
	color:      rgba(255,255,255,.6);
	margin:     .5rem 0 0;
}


.bce26-gewinnspiel__heading {
	font-size:      clamp(1.4rem, 2.8vw, 2.2rem);
	font-weight:    900;
	text-transform: uppercase;
	line-height:    1.1;
	margin:         0 0 .75rem;
	color:          #fff;
}
.bce26-gewinnspiel__desc {
	font-size:   .95rem;
	line-height: 1.6;
	margin:      0 0 1.5rem;
	color:       rgba(255,255,255,.7);
}

/* Countdown */
.bce26-countdown {
	display:     flex;
	gap:         .5rem;
	margin:      0 0 1.75rem;
	flex-wrap:   wrap;
}
.bce26-countdown__item {
	display:        flex;
	flex-direction: column;
	align-items:    center;
	min-width:      58px;
}
.bce26-countdown__value {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           58px;
	height:          58px;
	background:      rgba(255,255,255,.1);
	border:          1px solid rgba(255,255,255,.2);
	color:           #fff;
	font-size:       1.5rem;
	font-weight:     900;
	letter-spacing:  -.02em;
	font-variant-numeric: tabular-nums;
}
.bce26-countdown__label {
	font-size:      .6rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .06em;
	margin-top:     .25rem;
	color:          rgba(255,255,255,.55);
}

.bce26-gewinnspiel__deadline {
	font-size:   .78rem;
	color:       rgba(255,255,255,.5);
	margin:      .75rem 0 0;
}

/* Hinweis – kleinere Info direkt unter dem Beschreibungstext */
.bce26-gewinnspiel__hinweis {
	font-size:   .8rem;
	line-height: 1.5;
	color:       rgba(255,255,255,.55);
	margin:      -.75rem 0 1.25rem;
}

/* Button-Gruppe: zwei externe Buttons nebeneinander */
.bce26-gewinnspiel__cta-group {
	display:   flex;
	flex-wrap: wrap;
	gap:       .75rem;
	margin:    1.5rem 0 .5rem;
}

/* Teilnahmebedingungen – sehr klein, ganz unten am Block */
.bce26-gewinnspiel__teilnahmebedingungen {
	font-size:   .68rem;
	line-height: 1.4;
	color:       rgba(255,255,255,.35);
	margin:      1.5rem auto 0;
	max-width:   900px;
	padding:     0 clamp(1rem, 5%, 2rem);
	text-align:  center;
}

@media (max-width: 560px) {
	.bce26-gewinnspiel__badge-col {
		position: static;
		margin:   0 auto 1.5rem;
		text-align: center;
	}
	.bce26-gewinnspiel__inner {
		flex-direction: column;
		padding: 0 clamp(1rem, 5%, 2rem);
	}
	.bce26-gewinnspiel__badge {
		width:   200px;
		height:  200px;
		padding: 1.75rem;
		margin:  0 auto;
	}
	.bce26-gewinnspiel__cta-group {
		flex-direction: column;
		align-items:    stretch;
	}
	.bce26-gewinnspiel__cta-group .bce26-btn {
		width:           100%;
		justify-content: center;
		white-space:     normal;
		text-align:      center;
	}
}


/* ═══════════════════════════════════════════════════════════
   7 · SOCIAL WALL
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-social-wall {
	background: var(--bce-bg-alt);
	color:      var(--bce-text);
	padding:    clamp(3rem, 6vw, 5rem) 0;
}

.bce26-social-wall__inner {
	display:   grid;
	grid-template-columns: 1fr auto;
	gap:       var(--bce-gap);
	max-width: 1280px;
	margin:    0 auto;
	padding:   0 clamp(1.5rem, 5%, 4rem);
	align-items: center;
}

.bce26-social-wall__grid {
	display:               grid;
	grid-template-columns: repeat(3, 1fr);
	gap:                   .5rem;
}

.bce26-social-wall__item {
	aspect-ratio: 1;
	overflow:     hidden;
}
.bce26-social-wall__item img {
	width:      100%;
	height:     100%;
	object-fit: cover;
	transition: transform .3s;
}
.bce26-social-wall__item:hover img { transform: scale(1.05); }

.bce26-social-wall__item--placeholder {
	background: var(--bce-bg-card);
	border:     1px solid var(--bce-border);
}

.bce26-social-wall__sidebar {
	max-width: 240px;
}
.bce26-social-wall__heading {
	font-size:      clamp(1.1rem, 1.8vw, 1.5rem);
	font-weight:    900;
	text-transform: uppercase;
	line-height:    1.15;
	margin:         0 0 1rem;
}
.bce26-social-wall__instagram {
	display:     flex;
	align-items: center;
	gap:         .5rem;
	font-size:   .85rem;
	font-weight: 600;
	margin-bottom: .75rem;
}
.bce26-social-wall__instagram svg {
	width:  1.25rem;
	height: 1.25rem;
	color:  var(--bce-red);
}
.bce26-social-wall__call {
	font-size:   .88rem;
	line-height: 1.5;
	color:       var(--bce-text-muted);
	margin:      0 0 1.25rem;
}

@media (max-width: 768px) {
	.bce26-social-wall__inner {
		grid-template-columns: 1fr;
	}
	.bce26-social-wall__sidebar { max-width: none; }
}


/* ═══════════════════════════════════════════════════════════
   8 · EXPO FOOTER
═══════════════════════════════════════════════════════════ */

/* ── Expo Footer ── */
.wp-block-bce26-expo-footer {
	display:     block;
	width:       100%;
	background:  #fff !important;
	color:       #111 !important;
	border-top:  3px solid var(--bce-red);
	padding:     clamp(1.75rem, 3.5vw, 2.5rem) 0;
}

/* Dark-Mode: Footer bleibt immer weiß */
body[data-scheme="dark"]  .wp-block-bce26-expo-footer,
body.is-dark-theme        .wp-block-bce26-expo-footer,
[data-scheme="dark"]      .wp-block-bce26-expo-footer,
.wp-block-bce26-expo-footer[data-scheme="dark"] {
	background: #fff !important;
	color:      #111 !important;
}

.bce26-expo-footer__inner {
	display:        flex;
	flex-direction: column;
	gap:            1rem;
	width:          100%;
	max-width:      1400px;
	margin:         0 auto;
	padding:        0 clamp(1rem, 4%, 3rem);
	align-items:    center;
	text-align:     center;    /* Fallback für inline-Elemente */
}

/* Überschrift "Partner" */
.bce26-expo-footer__label {
	font-size:      .6rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .16em;
	color:          var(--bce-red);   /* rot in beiden Modi */
}

/* Logo-Reihe — alle nebeneinander, kein Wrap auf Desktop */
.bce26-expo-footer__partners {
	display:         flex;
	flex-wrap:       nowrap;        /* eine Zeile */
	gap:             .6rem;
	align-items:     center;
	justify-content: center;
	overflow-x:      auto;          /* scrollbar falls zu eng */
	scrollbar-width: none;
	width:           100%;
	padding-bottom:  2px;           /* verhindert abgeschnittene Schatten */
}
.bce26-expo-footer__partners::-webkit-scrollbar { display: none; }

/* Einheitliche Logo-Karte — Light-Mode */
.bce26-expo-footer__partner {
	width:           110px;
	height:          56px;
	background:      #f4f4f4;
	border:          1px solid #e0e0e0;
	border-radius:   7px;
	display:         flex;
	align-items:     center;
	justify-content: center;
	padding:         .4rem .65rem;
	flex-shrink:     0;
}

/* Dark-Mode: identisch mit Light-Mode */
body[data-scheme="dark"]  .bce26-expo-footer__partner,
body.is-dark-theme        .bce26-expo-footer__partner,
[data-scheme="dark"]      .bce26-expo-footer__partner,
.wp-block-bce26-expo-footer[data-scheme="dark"] .bce26-expo-footer__partner {
	background: #f4f4f4;
	border:     1px solid #e0e0e0;
}
.bce26-expo-footer__partner a {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           100%;
	height:          100%;
}
.bce26-expo-footer__partner a:hover {
	opacity: .8;
}

/* Logo füllt Karte */
.bce26-expo-footer__partner-logo {
	max-width:  100%;
	max-height: 100%;
	width:      auto;
	height:     auto;
	display:    block;
	object-fit: contain;
}

/* Mobile: umbrechen statt scrollen */
@media (max-width: 600px) {
	.bce26-expo-footer__partners {
		flex-wrap:       wrap;       /* mehrere Zeilen erlaubt */
		justify-content: center;
		overflow-x:      visible;    /* kein horizontales Scrollen mehr */
		gap:             .5rem;
	}
	.bce26-expo-footer__partner {
		width:  80px;
		height: 42px;
		padding: .3rem .5rem;
	}
}


/* ═══════════════════════════════════════════════════════════
   9 · FAHRZEUGDETAIL
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-fahrzeugdetail {
	display:        block;
	overflow:       hidden;
	background:     var(--cs-site-background, #fff);
	color:          var(--cs-color-primary, #111);
}

/* ── HERO ── */
.bce26-fzd__hero {
	position:        relative;
	display:         flex;
	flex-direction:  column;
	align-items:     center;
	justify-content: flex-end;
	min-height:      clamp(420px, 65vw, 720px);
	overflow:        hidden;
	padding:         clamp(5rem, 14vw, 10rem) clamp(1.5rem, 4vw, 4rem) clamp(2rem, 4vw, 3.5rem);
}
.bce26-fzd__hero[data-bg="dark"]  { background: #0d0d0d; color: #fff; }
.bce26-fzd__hero[data-bg="light"] { background: #f4f4f4; color: #111; }

/* Roter Glow */
.bce26-fzd__glow {
	position:       absolute;
	inset:          0;
	pointer-events: none;
	z-index:        0;
}
.bce26-fzd__hero[data-bg="dark"]  .bce26-fzd__glow {
	background:
		radial-gradient(ellipse 90% 55% at 50% 80%, rgba(227,0,11,.38) 0%, transparent 65%),
		radial-gradient(ellipse 55% 35% at 75% 55%, rgba(180,0,8,.2)  0%, transparent 55%);
}
.bce26-fzd__hero[data-bg="light"] .bce26-fzd__glow {
	background:
		radial-gradient(ellipse 90% 55% at 50% 80%, rgba(227,0,11,.07) 0%, transparent 65%);
}

/* Award-Logo (top right) */
.bce26-fzd__award-logo {
	position:   absolute;
	top:        clamp(1rem, 2vw, 1.75rem);
	right:      clamp(1rem, 2vw, 1.75rem);
	z-index:    2;
	height:     clamp(56px, 8vw, 100px);
	width:      auto;
	object-fit: contain;
	filter:     drop-shadow(0 4px 12px rgba(0,0,0,.45));
}

/* Fahrzeugbild */
.bce26-fzd__car-img {
	position:        relative;
	z-index:         1;
	width:           100%;
	max-width:       820px;
	max-height:      clamp(200px, 42vw, 460px);
	object-fit:      contain;
	object-position: center bottom;
	filter:          drop-shadow(0 24px 48px rgba(0,0,0,.55));
	margin-bottom:   1rem;
}

/* Headline-Block (unterhalb des Bildes) */
.bce26-fzd__headline {
	position:   relative;
	z-index:    2;
	text-align: center;
	width:      100%;
}
.bce26-fzd__award-tag {
	display:        inline-block;
	font-size:      .7rem;
	font-weight:    700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color:          var(--bce-red);
	margin:         0 0 .5rem;
}
.bce26-fzd__marke {
	font-size:      clamp(2rem, 5vw, 3.8rem);
	font-weight:    900;
	line-height:    1;
	text-transform: uppercase;
	letter-spacing: -.02em;
	margin:         0;
}
.bce26-fzd__hero[data-bg="dark"]  .bce26-fzd__marke { color: #fff; }
.bce26-fzd__hero[data-bg="light"] .bce26-fzd__marke { color: #111; }

.bce26-fzd__modell {
	font-size:   clamp(1rem, 2vw, 1.5rem);
	font-weight: 400;
	margin:      .3rem 0 0;
	opacity:     .75;
}
.bce26-fzd__ausst {
	font-size:   clamp(.8rem, 1.4vw, 1rem);
	font-weight: 400;
	margin:      .2rem 0 0;
	opacity:     .5;
}

/* ── KENNZAHLEN-LEISTE ── */
.bce26-fzd__stats {
	display:         flex;
	justify-content: center;
	flex-wrap:       wrap;
	gap:             0;
	background:      #161616;
	color:           #fff;
}
.wp-block-bce26-fahrzeugdetail[data-scheme="light"] .bce26-fzd__stats,
body[data-scheme=light] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__stats {
	background: #fff;
	color:      #111;
	box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}
.bce26-fzd__stat {
	display:        flex;
	flex-direction: column;
	align-items:    center;
	justify-content: center;
	text-align:     center;
	padding:        clamp(.9rem, 2vw, 1.5rem) clamp(1rem, 3vw, 2.5rem);
	border-right:   1px solid rgba(255,255,255,.1);
	flex:           1 1 auto;
	min-width:      100px;
}
.bce26-fzd__stat:last-child { border-right: none; }
.wp-block-bce26-fahrzeugdetail[data-scheme="light"] .bce26-fzd__stat,
body[data-scheme=light] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__stat {
	border-right-color: rgba(0,0,0,.1);
}
.bce26-fzd__stat svg {
	width:        1.6rem;
	height:       1.6rem;
	margin-bottom: .4rem;
	opacity:      .55;
	flex-shrink:  0;
}
.bce26-fzd__stat strong {
	display:        block;
	font-size:      clamp(1.6rem, 3vw, 2.4rem);
	font-weight:    900;
	line-height:    1;
	letter-spacing: -.03em;
}
.bce26-fzd__stat-sm {
	font-size:   clamp(1rem, 1.8vw, 1.5rem) !important;
	line-height: 1.2;
}
.bce26-fzd__stat-sub {
	font-size:   clamp(.75rem, 1.2vw, .9rem);
	opacity:     .65;
	margin:      .2rem 0 .15rem;
}
.bce26-fzd__stat-lbl {
	font-size:      .6rem;
	font-weight:    700;
	letter-spacing: .1em;
	text-transform: uppercase;
	opacity:        .4;
}

/* ── BODY: Technische Tabelle + Emissionen (+ opt. Datenblatt) ── */
.bce26-fzd__body {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   0;
	background:            var(--cs-site-background, #fff);
}
.bce26-fzd__body:has(.bce26-fzd__datenblatt) {
	grid-template-columns: 1fr 1fr 200px;
}
.bce26-fzd__tech,
.bce26-fzd__emissions {
	padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 3.5vw, 3rem);
}
.bce26-fzd__tech {
	border-right: 1px solid var(--cs-color-border, #e5e5e5);
}

/* Section headings */
.bce26-fzd__section-hd {
	font-size:      .65rem;
	font-weight:    700;
	letter-spacing: .12em;
	text-transform: uppercase;
	opacity:        .45;
	margin:         0 0 1rem;
}

/* Data table */
.bce26-fzd__table {
	width:           100%;
	border-collapse: collapse;
	font-size:       clamp(.8rem, 1.2vw, .92rem);
}
.bce26-fzd__table th,
.bce26-fzd__table td {
	padding:        .4rem 0;
	border:         none;
	vertical-align: top;
	line-height:    1.4;
}
.bce26-fzd__table th {
	font-weight:   400;
	opacity:       .55;
	width:         45%;
	text-align:    left;
	padding-right: .75rem;
}
.bce26-fzd__table td {
	font-weight: 600;
	text-align:  right;
}

/* CO₂ Badge */
.bce26-fzd__co2-block {
	display:        flex;
	align-items:    center;
	gap:            1rem;
	margin-bottom:  1.25rem;
}
.bce26-fzd__co2-label {
	font-size:   clamp(.8rem, 1.2vw, .9rem);
	font-weight: 500;
	opacity:     .7;
	margin:      0;
	flex-shrink: 0;
}
.bce26-fzd__co2-badge {
	display:        inline-flex;
	align-items:    center;
	justify-content: center;
	min-width:      3.2rem;
	padding:        .35rem .9rem;
	border-radius:  .2rem;
	font-size:      clamp(1.2rem, 2vw, 1.6rem);
	font-weight:    900;
	line-height:    1;
	letter-spacing: .02em;
	text-transform: uppercase;
}

/* CO₂-Datenblatt (3. Spalte) */
.bce26-fzd__datenblatt {
	margin:      0;
	padding:     clamp(1.5rem, 3vw, 2.5rem) clamp(.75rem, 1.5vw, 1.25rem);
	border-left: 1px solid var(--cs-color-border, #e5e5e5);
	display:     flex;
	flex-direction: column;
	gap:         .75rem;
}
.bce26-fzd__datenblatt .bce26-fzd__section-hd {
	margin: 0;
}
.bce26-fzd__datenblatt img {
	display:       block;
	width:         100%;
	max-width:     200px;
	height:        auto;
	border-radius: .3rem;
	box-shadow:    0 4px 16px rgba(0,0,0,.12);
}
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__datenblatt,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__datenblatt {
	border-left-color: rgba(255,255,255,.1);
}

/* Prices */
.bce26-fzd__prices {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   .75rem 1.5rem;
	margin-top:            1.5rem;
	padding-top:           1.25rem;
	border-top:            1px solid var(--cs-color-border, #e5e5e5);
}
.bce26-fzd__price {
	display:        flex;
	flex-direction: column;
	gap:            .2rem;
}
.bce26-fzd__price-lbl {
	font-size:      .62rem;
	font-weight:    700;
	letter-spacing: .09em;
	text-transform: uppercase;
	opacity:        .5;
}
.bce26-fzd__price-val {
	font-size:   clamp(1.1rem, 1.8vw, 1.4rem);
	font-weight: 900;
	line-height: 1.1;
}
.bce26-fzd__price-val--hl { color: var(--bce-red); }

.bce26-fzd__footnote {
	font-size:   .62rem;
	opacity:     .35;
	margin:      .5rem 0 0;
}

/* ── Related Carousel ── */
.bce26-fzd__related {
	background:  var(--cs-site-background, #fff);
	border-top:  1px solid var(--cs-color-border, #e5e5e5);
	padding:     clamp(3.5rem, 6vw, 5rem) 0;
}
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__related,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__related {
	border-top-color: rgba(255,255,255,.1);
}
.bce26-fzd__related-heading {
	font-size:      clamp(1.1rem, 2vw, 1.6rem);
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: -.01em;
	text-align:     center;
	margin:         0 auto clamp(1.25rem, 2.5vw, 2rem);
	max-width:      1280px;
	padding:        0 clamp(1.5rem, 5%, 4rem);
}

/* ── Description ── */
.bce26-fzd__desc {
	padding:     clamp(1.25rem, 2.5vw, 2rem) clamp(1.5rem, 3.5vw, 3rem);
	border-top:  1px solid var(--cs-color-border, #e5e5e5);
	background:  var(--cs-site-background, #fff);
}
.bce26-fzd__desc p {
	margin:      0;
	font-size:   clamp(.875rem, 1.3vw, 1rem);
	line-height: 1.7;
	opacity:     .75;
	max-width:   72ch;
}

/* ── Dark-Mode: body / emissions / desc ── */
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__body,
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__desc,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__body,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__desc {
	background: var(--cs-site-background, #1c1c1c);
}
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__tech,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__tech {
	border-right-color: rgba(255,255,255,.1);
}
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__prices,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__prices {
	border-top-color: rgba(255,255,255,.1);
}
.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__desc,
body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__desc {
	border-top-color: rgba(255,255,255,.1);
}

/* ── Responsive ── */
@media (max-width: 860px) {
	.bce26-fzd__body,
	.bce26-fzd__body:has(.bce26-fzd__datenblatt) {
		grid-template-columns: 1fr;
	}
	.bce26-fzd__tech {
		border-right:  none;
		border-bottom: 1px solid var(--cs-color-border, #e5e5e5);
	}
	.bce26-fzd__datenblatt {
		border-left:   none;
		border-top:    1px solid var(--cs-color-border, #e5e5e5);
		flex-direction: row;
		align-items:   flex-start;
		gap:           1rem;
	}
	.bce26-fzd__datenblatt img {
		max-width: 140px;
	}
	.wp-block-bce26-fahrzeugdetail[data-scheme="dark"] .bce26-fzd__tech,
	body[data-scheme=dark] .wp-block-bce26-fahrzeugdetail[data-scheme="inherit"] .bce26-fzd__tech {
		border-bottom-color: rgba(255,255,255,.1);
	}
}
@media (max-width: 600px) {
	.bce26-fzd__stat {
		flex:      1 1 50%;
		max-width: 50%;
	}
	.bce26-fzd__stat:nth-child(2n) { border-right: none; }
	.bce26-fzd__prices {
		grid-template-columns: 1fr;
	}
	.bce26-fzd__co2-block {
		flex-direction: column;
		align-items:    flex-start;
	}
}


/* ═══════════════════════════════════════════════════════════
   10 · FAHRZEUGÜBERSICHT
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-fahrzeuguebersicht {
	background: var(--bce-bg);
	color:      var(--bce-text);
	padding:    clamp(3rem, 6vw, 5rem) 0;
}

.bce26-fahrzeuguebersicht__inner {
	max-width: 1280px;
	margin:    0 auto;
	padding:   0 clamp(1.5rem, 5%, 4rem);
}

.bce26-fahrzeuguebersicht__heading {
	font-size:      clamp(1.6rem, 3vw, 2.4rem);
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: -.02em;
	margin:         0 0 clamp(1.5rem, 3vw, 2.5rem);
}

.bce26-fahrzeuguebersicht__grid {
	display:               grid;
	grid-template-columns: repeat( var(--fzu-cols, 4), 1fr );
	gap:                   clamp(.75rem, 1.5vw, 1.25rem);
}

.bce26-fahrzeuguebersicht__empty {
	padding: 2rem;
	opacity: .5;
}

/* Responsive */
@media (max-width: 1100px) {
	.bce26-fahrzeuguebersicht__grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 720px) {
	.bce26-fahrzeuguebersicht__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 420px) {
	.bce26-fahrzeuguebersicht__grid { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════════════════
   11 · PROGRAMM (Detailseite)
═══════════════════════════════════════════════════════════ */

.wp-block-bce26-programm {
	background: var(--bce-bg-alt);
	color:      var(--bce-text);
	padding:    clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5%, 4rem);
}

.bce26-programm__inner {
	max-width: 900px;
	margin:    0 auto;
}

.bce26-programm__heading {
	font-size:      clamp(1.5rem, 2.8vw, 2.2rem);
	font-weight:    900;
	text-transform: uppercase;
	margin:         0 0 clamp(1.5rem, 3vw, 2.5rem);
	text-align:     center;
}

/* ── Tabs ── */
.bce26-programm__tabs {
	display:         flex;
	gap:             .4rem;
	flex-wrap:       wrap;
	justify-content: center;
	margin-bottom:   clamp(1.5rem, 3vw, 2.5rem);
}

.bce26-programm__tab {
	padding:        .45rem 1.1rem;
	border:         2px solid var(--bce-border);
	border-radius:  2rem;
	background:     transparent;
	color:          var(--bce-text-muted);
	font-size:      .8rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .06em;
	cursor:         pointer;
	transition:     background .2s, color .2s, border-color .2s;
}
.bce26-programm__tab:hover {
	border-color: var(--bce-red);
	color:        var(--bce-red);
}
.bce26-programm__tab--active {
	background:   var(--bce-red);
	border-color: var(--bce-red);
	color:        #fff;
}

/* ── Tagesansicht ── */
.bce26-programm__day {
	display: none;
}
.bce26-programm__day--active {
	display: block;
}

.bce26-programm__day-title {
	font-size:      clamp(.85rem, 1.2vw, 1rem);
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color:          var(--bce-text-muted);
	margin:         0 0 1rem;
	padding-bottom: .6rem;
	border-bottom:  2px solid var(--bce-red);
	text-align:     center;
}

/* ── Event-Liste ── */
.bce26-programm__list {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        0;
}

.bce26-programm__item {
	display:     grid;
	grid-template-columns: 110px 1fr auto;
	align-items: center;
	gap:         0 1rem;
	padding:     .75rem 0;
	border-bottom: 1px solid var(--bce-border);
}
.bce26-programm__item:last-child {
	border-bottom: none;
}

.bce26-programm__item--highlight {
	background:    rgba(var(--bce-red-rgb, 200,20,30), .06);
	border-radius: .35rem;
	padding:       .75rem .75rem;
	margin:        .25rem -.75rem;
}
.bce26-programm__item--highlight .bce26-programm__item-name {
	font-weight: 800;
	color:       var(--bce-red);
}

.bce26-programm__item-time {
	font-size:   .8rem;
	font-weight: 700;
	color:       var(--bce-text-muted);
	white-space: nowrap;
}

.bce26-programm__item-name {
	font-size:   clamp(.9rem, 1.2vw, 1.05rem);
	font-weight: 600;
	line-height: 1.35;
}

.bce26-programm__item-loc {
	font-size:      .7rem;
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color:          var(--bce-text-muted);
	white-space:    nowrap;
	padding:        .2rem .55rem;
	border:         1px solid var(--bce-border);
	border-radius:  2rem;
}

/* ── Event-Links (5. Pipe) ── */
.bce26-event-link {
	color:           inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: rgba(227, 0, 11, .4);
	transition:      text-decoration-color .15s, color .15s;
}
.bce26-event-link:hover {
	color:                  var(--bce-red);
	text-decoration-color:  var(--bce-red);
}

/* ── CTA ── */
.bce26-programm__inner > .bce26-btn {
	display: block;
	width:   fit-content;
	margin:  clamp(1.5rem, 3vw, 2.5rem) auto 0;
}

/* ── Programm: Aufklapp-Events ── */

/* Expandable li sieht exakt wie normale Items aus */
.bce26-programm__item--expandable {
	cursor:       pointer;
	border-left:  3px solid var(--bce-red);
	padding-left: .75rem;
	transition:   background .15s;
}
.bce26-programm__item--expandable:hover,
.bce26-programm__item--expandable[aria-expanded="true"] {
	background: rgba(227, 0, 11, .04);
}

/* Roter Pfeil nach dem Namen → zeigt Aufklappbarkeit */
.bce26-programm__item--expandable .bce26-programm__item-name::after {
	content:      ' ›';
	color:        var(--bce-red);
	font-weight:  400;
}
.bce26-programm__item--expandable[aria-expanded="true"] .bce26-programm__item-name::after {
	content: ' ‹';
}

/* Detail-Body: gleiche Schriftgröße wie name, regular, unter dem Namen */
.bce26-programm__detail-body {
	grid-column:  1 / -1;
	padding:      .3rem 0 .7rem calc(110px + 1rem);
	font-size:    clamp(.9rem, 1.2vw, 1.05rem);
	font-weight:  400;
	line-height:  1.5;
	color:        var(--bce-text-muted);
}

@media (max-width: 640px) {
	.bce26-programm__item {
		grid-template-columns: 82px 1fr;
		grid-template-rows:    auto auto;
		gap:                   0 .65rem;
	}
	.bce26-programm__item-loc {
		grid-column:  2;
		justify-self: start;
		margin-top:   .2rem;
	}
	.bce26-programm__detail-body {
		padding-left: 1rem;
	}
}

/* ─ Programm: Link-Button im aufgeklappten Bereich ─────────────────────── */
.bce26-programm__detail-text {
	margin: 0 0 .75rem;
}
.bce26-programm__detail-btn {
	display:    inline-flex;
	font-size:  .85rem;
	padding:    .45rem 1.1rem;
	margin-top: .25rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AMS BEILEGER
═══════════════════════════════════════════════════════════════════════════ */

.wp-block-bce26-ams-beileger {
	position:            relative;
	background-color:    var(--bce-bg, #111);
	background-size:     cover;
	background-position: center;
	overflow:            hidden;
}

.bce26-ams-beileger__overlay {
	position:   absolute;
	inset:      0;
	background: linear-gradient(135deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.45) 60%, rgba(0,0,0,.2) 100%);
	z-index:    1;
}

.bce26-ams-beileger__inner {
	position:   relative;
	z-index:    2;
	max-width:  1200px;
	margin:     0 auto;
	padding:    clamp(3rem, 7vw, 6rem) clamp(1.25rem, 5vw, 3rem);
	display:    flex;
	align-items: center;
}

.bce26-ams-beileger__content {
	max-width:   600px;
	margin-left: 50%;
}

.bce26-ams-beileger__sub {
	font-size:      clamp(.75rem, 1.1vw, .9rem);
	font-weight:    700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color:          var(--bce-red);
	margin:         0 0 .5rem;
}

.bce26-ams-beileger__heading {
	font-size:      clamp(2rem, 5vw, 3.5rem);
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: -.02em;
	line-height:    1;
	color:          #fff;
	margin:         0 0 1rem;
}

.bce26-ams-beileger__desc {
	font-size:   clamp(.9rem, 1.2vw, 1.05rem);
	line-height: 1.6;
	color:       rgba(255,255,255,.85);
	margin:      0 0 2rem;
}

.bce26-ams-beileger__btn {
	display:     inline-flex;
	align-items: center;
	gap:         .5rem;
}

.bce26-ams-beileger__btn-icon {
	flex-shrink: 0;
}

@media (max-width: 900px) {
	.bce26-ams-beileger__content {
		margin-left: 0;
		max-width:   100%;
		width:       100%;
	}
	.bce26-ams-beileger__overlay {
		background: linear-gradient(
			to top,
			rgba(0, 0, 0, .88) 0%,
			rgba(0, 0, 0, .62) 45%,
			rgba(0, 0, 0, .28) 100%
		);
	}
}

@media (max-width: 640px) {
	.bce26-ams-beileger__inner {
		flex-direction: column;
		align-items:    flex-start;
		justify-content: flex-end;
		min-height:      320px;
		padding:         clamp(2rem, 8vw, 3rem) clamp(1rem, 4vw, 1.25rem);
	}
	.bce26-ams-beileger__heading {
		font-size:   clamp(1.45rem, 7.5vw, 2.1rem);
		line-height: 1.05;
		margin-bottom: .75rem;
	}
	.bce26-ams-beileger__desc {
		font-size:     .875rem;
		line-height:   1.55;
		margin-bottom: 1.25rem;
		hyphens:       auto;
		overflow-wrap: anywhere;
	}
	.bce26-ams-beileger__btn {
		width:           100%;
		max-width:       100%;
		align-self:      stretch;
		justify-content: center;
		white-space:     normal;
		text-align:      center;
		line-height:     1.35;
		padding:         .8em 1em;
		font-size:       clamp(.72rem, 3.2vw, .82rem);
		letter-spacing:  .05em;
	}
}

/* ═══════════════════════════════════════════════════════════════════════════
   FAHRZEUG-TEASER
   Nutzt bce26-vehicle-card__* für Karten-Styling (identisch zu Siegerfahrzeuge).
   Nur Grid-Layout + Verbrauchswerte sind neu.
═══════════════════════════════════════════════════════════════════════════ */

.wp-block-bce26-fahrzeug-teaser {
	background: var(--bce-bg);
	color:      var(--bce-text);
}

.bce26-fzteaser__inner {
	max-width: 1200px;
	margin:    0 auto;
	padding:   clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 5vw, 3rem);
}

.bce26-fzteaser__heading {
	font-size:      clamp(1.6rem, 3.5vw, 2.8rem);
	font-weight:    900;
	text-transform: uppercase;
	letter-spacing: -.02em;
	margin:         0 0 2rem;
	color:          var(--bce-text);
}

/* 3-spaltig festes Grid (kein Karussell) */
.bce26-fzteaser__grid {
	display:               grid;
	grid-template-columns: repeat(3, 1fr);
	gap:                   clamp(1rem, 2vw, 1.5rem);
	margin-bottom:         1.5rem;
}

/* Verbrauchswerte-Block innerhalb der Karte */
.bce26-fzteaser__verbrauch {
	background:     var(--bce-bg-alt);
	border-left:    3px solid var(--bce-red);
	padding:        .5rem .75rem;
	margin:         .4rem 0 .6rem;
	display:        flex;
	flex-direction: column;
	gap:            .3rem;
	list-style:     none;
}

.bce26-fzteaser__v-row {
	display:     flex;
	align-items: baseline;
	gap:         .4rem;
	flex-wrap:   wrap;
}

.bce26-fzteaser__v-label {
	font-size:      .65rem;
	font-weight:    600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color:          var(--bce-text-muted);
	white-space:    nowrap;
	min-width:      105px;
}

.bce26-fzteaser__v-val {
	font-size:   .8rem;
	font-weight: 700;
	color:       var(--bce-text);
	display:     inline-flex;
	align-items: center;
	gap:         .3rem;
}

.bce26-fzteaser__co2-badge {
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	font-size:       .6rem;
	font-weight:     800;
	min-width:       1.3rem;
	height:          1.3rem;
	padding:         0 .25rem;
	border-radius:   2px;
	line-height:     1;
	text-transform:  uppercase;
}

/* Fußnote Pflichtangabe */
.bce26-fzteaser__footnote {
	font-size:   .7rem;
	color:       var(--bce-text-muted);
	margin:      0 0 1.5rem;
	line-height: 1.4;
}

/* CTA unten */
.bce26-fzteaser__cta {
	text-align: center;
	margin-top: 1rem;
}

/* Responsive */
@media (max-width: 900px) {
	.bce26-fzteaser__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.bce26-fzteaser__grid { grid-template-columns: 1fr; }
	.bce26-fzteaser__v-label { min-width: unset; }
}
