/* =========================================================
   DRV Bereichs-Subnav
   Alle Farben laufen über CSS-Variablen, damit Theme-/Kit-
   Linkfarben die Widget-Einstellungen nicht überschreiben.
   ========================================================= */
.drv-subnav {
	--drv-bg: #ffffff;
	--drv-color: #1a1a1a;
	--drv-active: #00553a;
	--drv-height: 52px;
	--drv-logo-h: 30px;
	--drv-logo-w: 140px;
	--drv-logo-space: 12px;
	--drv-gap: 1.75rem;
	--drv-line: 3px;
	--drv-divider-w: 0px;
	--drv-divider: rgba(0, 0, 0, .15);
	--drv-toggle-size: 24px;
	--drv-speed: .3s;
	position: relative;
	background: var(--drv-bg);
	color: var(--drv-color);
	width: 100%;
}
.drv-subnav__inner {
	display: flex;
	align-items: center;
	min-height: var(--drv-height);
}

/* ---------- Links: Logo + Bereichsname ---------- */
.drv-subnav__brand {
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
}
.drv-subnav .drv-subnav__logo {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
	overflow: hidden;
	max-width: 0;
	margin-right: 0;
	opacity: 0;
	transform: translateX(-10px);
	transition: max-width var(--drv-speed) ease, margin var(--drv-speed) ease, opacity var(--drv-speed) ease, transform var(--drv-speed) ease;
}
.drv-subnav .drv-subnav__logo img {
	display: block;
	height: var(--drv-logo-h);
	width: auto;
	max-width: none;
}
.drv-subnav.drv-subnav--logo-always .drv-subnav__logo { transition: none; }
.drv-subnav.drv-subnav--logo-on .drv-subnav__logo {
	max-width: var(--drv-logo-w);
	margin-right: var(--drv-logo-space);
	opacity: 1;
	transform: none;
}

.drv-subnav .drv-subnav__title,
.drv-subnav .drv-subnav__title:visited {
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-weight: 700;
	font-size: 1.05em;
	color: var(--drv-title-color, var(--drv-color));
	text-decoration: none;
	padding-right: var(--drv-gap);
	margin-right: var(--drv-gap);
	border-right: var(--drv-divider-w) solid var(--drv-divider);
	transition: color .2s;
}
.drv-subnav a.drv-subnav__title:hover,
.drv-subnav a.drv-subnav__title:focus-visible {
	color: var(--drv-title-color-hover, var(--drv-title-color, var(--drv-color)));
}
.drv-subnav a.drv-subnav__title.is-active {
	color: var(--drv-title-color-active, var(--drv-title-color, var(--drv-color)));
}

/* ---------- Menü als Leiste ---------- */
.drv-subnav .drv-subnav__list {
	display: flex;
	align-items: stretch;
	gap: var(--drv-gap);
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.drv-subnav .drv-subnav__list::-webkit-scrollbar { display: none; }
.drv-subnav .drv-subnav__item { flex: 0 0 auto; margin: 0; padding: 0; }
.drv-subnav .drv-subnav__item::before { content: none; }

.drv-subnav .drv-subnav__item > a {
	display: flex;
	align-items: center;
	height: var(--drv-height);
	white-space: nowrap;
	color: var(--drv-bar-color-normal, var(--drv-color));
	background-color: var(--drv-bar-bg-normal, transparent);
	font-weight: var(--drv-bar-weight-normal, inherit);
	text-decoration: var(--drv-bar-deco-normal, none);
	border-top: var(--drv-line) solid transparent;
	border-bottom: var(--drv-line) solid var(--drv-bar-line-normal, transparent);
	transition: color .2s, background-color .2s, border-color .2s;
}
.drv-subnav .drv-subnav__item > a:hover,
.drv-subnav .drv-subnav__item > a:focus-visible {
	color: var(--drv-bar-color-hover, var(--drv-active));
	background-color: var(--drv-bar-bg-hover, var(--drv-bar-bg-normal, transparent));
	font-weight: var(--drv-bar-weight-hover, var(--drv-bar-weight-normal, inherit));
	text-decoration: var(--drv-bar-deco-hover, var(--drv-bar-deco-normal, none));
	border-bottom-color: var(--drv-bar-line-hover, var(--drv-bar-line-normal, transparent));
}
.drv-subnav .drv-subnav__item.is-active > a {
	color: var(--drv-bar-color-active, var(--drv-active));
	background-color: var(--drv-bar-bg-active, var(--drv-bar-bg-normal, transparent));
	font-weight: var(--drv-bar-weight-active, 600);
	text-decoration: var(--drv-bar-deco-active, var(--drv-bar-deco-normal, none));
	border-bottom-color: var(--drv-bar-line-active, var(--drv-bar-color-active, var(--drv-active)));
}

/* ---------- Umschalter ---------- */
.drv-subnav .drv-subnav__toggle {
	display: none;
	align-items: center;
	gap: .5em;
	flex: 0 0 auto;
	margin: 0 0 0 auto;
	padding: 8px;
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	cursor: pointer;
	line-height: 1;
	font: inherit;
	color: var(--drv-toggle-color-normal, var(--drv-color));
	background: var(--drv-toggle-bg-normal, transparent);
	transition: color .2s, background-color .2s;
}
.drv-subnav .drv-subnav__toggle:hover,
.drv-subnav .drv-subnav__toggle:focus-visible {
	color: var(--drv-toggle-color-hover, var(--drv-active));
	background: var(--drv-toggle-bg-hover, var(--drv-toggle-bg-normal, transparent));
}
.drv-subnav.is-open .drv-subnav__toggle {
	color: var(--drv-toggle-color-active, var(--drv-active));
	background: var(--drv-toggle-bg-active, var(--drv-toggle-bg-normal, transparent));
}
.drv-subnav__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--drv-toggle-size);
	width: var(--drv-toggle-size);
	height: var(--drv-toggle-size);
}
.drv-subnav__icon svg { width: 1em; height: 1em; fill: currentColor; }
.drv-subnav__icon i { font-size: 1em; }
.drv-subnav__icon--close,
.drv-subnav.is-open .drv-subnav__icon--open { display: none; }
.drv-subnav.is-open .drv-subnav__icon--close { display: inline-flex; }
.drv-subnav .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

/* ---------- Menü als Ausklapp-Liste (Umschalter aktiv) ---------- */
.drv-subnav--toggled .drv-subnav__toggle { display: inline-flex; }
.drv-subnav--toggled .drv-subnav__title {
	padding-right: 0;
	margin-right: 1rem;
	border-right: 0;
}
.drv-subnav.drv-subnav--toggled .drv-subnav__list {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 50;
	flex-direction: column;
	gap: 0;
	overflow-x: hidden;
	overflow-y: auto;
	max-height: calc(100vh - var(--drv-height) - var(--drv-top, 0px));
	max-height: calc(100dvh - var(--drv-height) - var(--drv-top, 0px));
	padding: 4px 0 8px;
	background: var(--drv-drop-bg, var(--drv-bg));
	box-shadow: 0 8px 18px rgba(0, 0, 0, .12);
	visibility: hidden;
	opacity: 0;
	transform: translateY(-6px);
	pointer-events: none;
	transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}
.drv-subnav.drv-subnav--toggled.is-open .drv-subnav__list {
	visibility: visible;
	opacity: 1;
	transform: none;
	pointer-events: auto;
	transition: opacity .2s ease, transform .2s ease, visibility 0s;
}
.drv-subnav.drv-subnav--toggled .drv-subnav__item + .drv-subnav__item {
	border-top: 1px solid var(--drv-drop-divider, transparent);
}
.drv-subnav.drv-subnav--toggled .drv-subnav__item > a {
	height: auto;
	padding: 12px 20px;
	white-space: normal;
	border: 0;
	color: var(--drv-drop-color-normal, var(--drv-color));
	background-color: var(--drv-drop-bg-normal, transparent);
	font-weight: var(--drv-drop-weight-normal, inherit);
	text-decoration: var(--drv-drop-deco-normal, none);
}
.drv-subnav.drv-subnav--toggled .drv-subnav__item > a:hover,
.drv-subnav.drv-subnav--toggled .drv-subnav__item > a:focus-visible {
	color: var(--drv-drop-color-hover, var(--drv-active));
	background-color: var(--drv-drop-bg-hover, var(--drv-drop-bg-normal, transparent));
	font-weight: var(--drv-drop-weight-hover, var(--drv-drop-weight-normal, inherit));
	text-decoration: var(--drv-drop-deco-hover, var(--drv-drop-deco-normal, none));
}
.drv-subnav.drv-subnav--toggled .drv-subnav__item.is-active > a {
	color: var(--drv-drop-color-active, var(--drv-active));
	background-color: var(--drv-drop-bg-active, var(--drv-drop-bg-normal, transparent));
	font-weight: var(--drv-drop-weight-active, 600);
	text-decoration: var(--drv-drop-deco-active, var(--drv-drop-deco-normal, none));
}

/* ---------- Festkleben (vom Script gesetzt) ---------- */
.drv-subnav-placeholder { display: block; width: 100%; }
.drv-subnav-stuck {
	position: fixed !important;
	top: var(--drv-top, 0px) !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	z-index: var(--drv-z, 99) !important;
	box-shadow: var(--drv-stuck-shadow, 0 2px 10px rgba(0, 0, 0, .12));
}

@media (prefers-reduced-motion: reduce) {
	.drv-subnav, .drv-subnav * { transition: none !important; }
}

/* ---------- Seitentitel hinter / unter dem Bereichsnamen (ab 1.3.0) ---------- */
.drv-subnav__heading {
	display: flex;
	align-items: center;
	flex: 0 1 auto;
	min-width: 0;
}
.drv-subnav .drv-subnav__sep,
.drv-subnav .drv-subnav__page { display: none; }

/* Trennlinie zum Menü wandert vom Namen an die ganze Überschrift */
.drv-subnav.drv-subnav--page-on .drv-subnav__title {
	padding-right: 0;
	margin-right: 0;
	border-right: 0;
}
.drv-subnav.drv-subnav--page-on .drv-subnav__heading {
	padding-right: var(--drv-gap);
	margin-right: var(--drv-gap);
	border-right: var(--drv-divider-w) solid var(--drv-divider);
}
.drv-subnav.drv-subnav--toggled.drv-subnav--page-on .drv-subnav__heading {
	padding-right: 0;
	margin-right: 1rem;
	border-right: 0;
}

.drv-subnav.drv-subnav--page-on .drv-subnav__page {
	display: block;
	flex: 0 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1.05em;
	font-weight: 400;
	line-height: 1.2;
	color: var(--drv-page-color, var(--drv-color));
}

/* Variante a: einzeilig mit Trenner */
.drv-subnav.drv-subnav--page-inline.drv-subnav--page-on .drv-subnav__title { flex-shrink: 2; }
.drv-subnav.drv-subnav--page-inline.drv-subnav--page-on .drv-subnav__sep {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	margin: 0 var(--drv-sep-space, .45em);
	font-size: var(--drv-sep-size, 1em);
	line-height: 1;
	color: var(--drv-sep-color, currentColor);
	opacity: var(--drv-sep-opacity, .55);
}
.drv-subnav.drv-subnav--page-inline.drv-subnav--page-on .drv-subnav__sep--line {
	width: var(--drv-sep-line-w, 1px);
	height: var(--drv-sep-line-h, 1.1em);
	font-size: inherit;
	background: var(--drv-sep-color, currentColor);
}
.drv-subnav.drv-subnav--page-inline.drv-subnav--page-on .drv-subnav__sep--none { margin: 0 calc(var(--drv-sep-space, .45em) / 2); }
.drv-subnav .drv-subnav__sep svg { width: 1em; height: 1em; fill: currentColor; }
.drv-subnav .drv-subnav__sep i { font-size: 1em; }

/* Variante b: zweizeilig */
.drv-subnav.drv-subnav--page-stacked.drv-subnav--page-on .drv-subnav__heading {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--drv-stack-gap, 1px);
	padding-top: 4px;
	padding-bottom: 4px;
}
.drv-subnav.drv-subnav--page-stacked.drv-subnav--page-on .drv-subnav__title {
	max-width: 100%;
	font-size: .8em;
	font-weight: 600;
	line-height: 1.2;
	color: var(--drv-title2-color, var(--drv-title-color, var(--drv-color)));
}
.drv-subnav.drv-subnav--page-stacked.drv-subnav--page-on .drv-subnav__page {
	max-width: 100%;
	font-size: 1.1em;
	font-weight: 700;
}
.drv-subnav.drv-subnav--page-stacked.drv-subnav--page-first.drv-subnav--page-on .drv-subnav__page { order: -1; }

/* Logo wird zweizeilig größer */
.drv-subnav.drv-subnav--page-stacked.drv-subnav--page-on .drv-subnav__logo img {
	height: var(--drv-logo-h2, calc(var(--drv-logo-h) * 1.45));
}
.drv-subnav.drv-subnav--page-stacked.drv-subnav--page-on.drv-subnav--logo-on .drv-subnav__logo {
	max-width: var(--drv-logo-w2, calc(var(--drv-logo-w) * 1.45));
}

/* =========================================================
   ab 1.4.0 – Icons, Live-Hinweise, zweite Ebene, Dropdown, App-Leiste
   ========================================================= */

/* Pfad im Seitentitel (Variante a) */
.drv-subnav .drv-subnav__mid { display: none; }
.drv-subnav.drv-subnav--page-inline.drv-subnav--page-on .drv-subnav__mid {
	display: block;
	flex: 0 3 auto;
	min-width: 1.5em;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 1.05em;
	line-height: 1.2;
	color: var(--drv-mid-color, var(--drv-page-color, var(--drv-color)));
	opacity: var(--drv-mid-opacity, .75);
}

/* Icons & Hinweise in Menüpunkten */
.drv-subnav .drv-subnav__item > a,
.drv-subnav .drv-subnav__kid > a,
.drv-subnav .drv-subnav__subitem > a { gap: var(--drv-ic-gap, .45em); }
.drv-subnav .drv-subnav__ic {
	display: none;
	flex: none;
	align-items: center;
	line-height: 0;
	font-size: var(--drv-ic-size, 1.15em);
	color: var(--drv-ic-color, currentColor);
	--vcdi-size: 1em;
}
.drv-subnav.drv-subnav--ic-bar:not(.drv-subnav--toggled) .drv-subnav__list .drv-subnav__ic,
.drv-subnav.drv-subnav--ic-drop.drv-subnav--toggled .drv-subnav__list .drv-subnav__ic,
.drv-subnav.drv-subnav--ic-sub .drv-subnav__sub .drv-subnav__ic { display: inline-flex; }
.drv-subnav .drv-subnav__txt { min-width: 0; }
.drv-subnav .drv-subnav__badge { margin-left: .15em; font-size: var(--drv-badge-size, .58rem); }
.drv-subnav .drv-subnav__badge.vcdi-badge--dot { width: .55rem; height: .55rem; border-width: 0; transform: translateY(-.45em); margin-left: .05em; }

/* Ausklappmenü: Unterseiten aufklappbar */
.drv-subnav .drv-subnav__expand,
.drv-subnav .drv-subnav__kids { display: none; }
.drv-subnav.drv-subnav--toggled .drv-subnav__item.has-kids {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}
.drv-subnav.drv-subnav--toggled .drv-subnav__expand {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	margin: 0 8px 0 0;
	padding: 0;
	border: 0;
	border-radius: 6px;
	background: transparent;
	box-shadow: none;
	cursor: pointer;
	font-size: var(--drv-exp-size, 18px);
	color: var(--drv-exp-color, var(--drv-drop-color-normal, var(--drv-color)));
}
.drv-subnav.drv-subnav--toggled .drv-subnav__expand:hover,
.drv-subnav.drv-subnav--toggled .drv-subnav__expand:focus-visible { background: var(--drv-exp-bg-hover, rgba(0, 0, 0, .05)); }
.drv-subnav .drv-subnav__expand svg { transition: transform .2s ease; }
.drv-subnav .drv-subnav__item.is-expanded > .drv-subnav__expand svg { transform: rotate(180deg); }
.drv-subnav.drv-subnav--toggled .drv-subnav__item.is-expanded > .drv-subnav__kids {
	display: block;
	grid-column: 1 / -1;
}
.drv-subnav .drv-subnav__kids {
	list-style: none;
	margin: 0;
	padding: 0 0 6px var(--drv-kid-indent, 16px);
}
.drv-subnav .drv-subnav__kid { margin: 0; padding: 0; }
.drv-subnav .drv-subnav__kid::before { content: none; }
.drv-subnav .drv-subnav__kid > a {
	display: flex;
	align-items: center;
	padding: var(--drv-kid-pad, 9px 20px);
	font-size: .95em;
	text-decoration: none;
	color: var(--drv-kid-color, var(--drv-drop-color-normal, var(--drv-color)));
	border-left: 2px solid transparent;
	transition: color .2s, background-color .2s, border-color .2s;
}
.drv-subnav .drv-subnav__kid > a:hover,
.drv-subnav .drv-subnav__kid > a:focus-visible { color: var(--drv-kid-color-hover, var(--drv-active)); background: var(--drv-kid-bg-hover, transparent); }
.drv-subnav .drv-subnav__kid.is-active > a {
	color: var(--drv-kid-color-active, var(--drv-active));
	font-weight: 600;
	border-left-color: var(--drv-kid-line-active, currentColor);
}

/* Zweite Leiste */
.drv-subnav .drv-subnav__sub {
	display: none;
	background: var(--drv-sub-bg, var(--drv-bg));
	border-top: 1px solid var(--drv-sub-line, rgba(0, 0, 0, .08));
}
.drv-subnav.drv-subnav--sub-on .drv-subnav__sub { display: block; }
.drv-subnav .drv-subnav__sublist {
	display: flex;
	align-items: center;
	gap: var(--drv-sub-gap, 1.4rem);
	min-height: var(--drv-sub-h, 42px);
	list-style: none;
	margin: 0;
	padding: 0;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.drv-subnav .drv-subnav__sublist::-webkit-scrollbar { display: none; }
.drv-subnav .drv-subnav__subitem { flex: 0 0 auto; margin: 0; padding: 0; }
.drv-subnav .drv-subnav__subitem::before { content: none; }
.drv-subnav .drv-subnav__subitem > a {
	display: flex;
	align-items: center;
	white-space: nowrap;
	text-decoration: none;
	font-size: .92em;
	color: var(--drv-sub-color, var(--drv-color));
	transition: color .2s, background-color .2s, border-color .2s;
}
.drv-subnav .drv-subnav__sub--text .drv-subnav__subitem > a {
	height: var(--drv-sub-h, 42px);
	border-bottom: 2px solid transparent;
	border-top: 2px solid transparent;
}
.drv-subnav .drv-subnav__sub--text .drv-subnav__subitem > a:hover { color: var(--drv-sub-color-hover, var(--drv-active)); }
.drv-subnav .drv-subnav__sub--text .drv-subnav__subitem.is-active > a {
	color: var(--drv-sub-color-active, var(--drv-active));
	font-weight: 600;
	border-bottom-color: currentColor;
}
.drv-subnav .drv-subnav__sub--chips .drv-subnav__sublist { gap: var(--drv-sub-gap, .5rem); padding-top: 7px; padding-bottom: 7px; }
.drv-subnav .drv-subnav__sub--chips .drv-subnav__subitem > a {
	padding: var(--drv-chip-pad, .42em .95em);
	border-radius: var(--drv-chip-radius, 99px);
	border: 1px solid var(--drv-chip-border, transparent);
	background: var(--drv-chip-bg, rgba(0, 0, 0, .05));
	color: var(--drv-chip-color, var(--drv-color));
}
.drv-subnav .drv-subnav__sub--chips .drv-subnav__subitem > a:hover {
	background: var(--drv-chip-bg-hover, rgba(0, 0, 0, .09));
	color: var(--drv-chip-color-hover, var(--drv-chip-color, var(--drv-color)));
}
.drv-subnav .drv-subnav__sub--chips .drv-subnav__subitem.is-active > a {
	background: var(--drv-chip-bg-active, var(--drv-active));
	border-color: var(--drv-chip-bg-active, var(--drv-active));
	color: var(--drv-chip-color-active, #fff);
	font-weight: 600;
}

/* Dropdown mit Kacheln (Leiste) */
.drv-subnav .drv-subnav__panels { position: absolute; left: 0; right: 0; top: 100%; height: 0; z-index: 60; }
.drv-subnav .drv-subnav__panel {
	position: absolute;
	top: var(--drv-panel-offset, 8px);
	left: 0;
	width: var(--drv-panel-w, 600px);
	max-width: calc(100vw - 16px);
	box-sizing: border-box;
	padding: var(--drv-panel-pad, 12px);
	background: var(--drv-panel-bg, #fff);
	border-radius: var(--drv-panel-radius, 12px);
	box-shadow: var(--drv-panel-shadow, 0 16px 40px rgba(0, 0, 0, .16));
	animation: drv-panel-in .16s ease;
}
.drv-subnav .drv-subnav__panel[hidden] { display: none; }
.drv-subnav .drv-subnav__panel::before {
	content: "";
	position: absolute;
	top: -6px;
	left: calc(var(--drv-arrow-x, 40px) - 6px);
	width: 12px;
	height: 12px;
	background: inherit;
	transform: rotate(45deg);
	border-radius: 2px;
}
@keyframes drv-panel-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.drv-subnav .drv-subnav__cards {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--drv-panel-cols, 2), minmax(0, 1fr));
	gap: var(--drv-card-gap, 6px);
}
.drv-subnav .drv-subnav__panel--list .drv-subnav__cards { grid-template-columns: minmax(0, 1fr); gap: 2px; }
.drv-subnav .drv-subnav__card {
	display: flex;
	align-items: center;
	gap: .75em;
	padding: var(--drv-card-pad, .7em .8em);
	border-radius: var(--drv-card-radius, 8px);
	text-decoration: none;
	color: var(--drv-card-color, var(--drv-color));
	background: var(--drv-card-bg, transparent);
	transition: background-color .15s, color .15s;
}
.drv-subnav .drv-subnav__card:hover,
.drv-subnav .drv-subnav__card:focus-visible {
	background: var(--drv-card-bg-hover, rgba(0, 0, 0, .05));
	color: var(--drv-card-color-hover, var(--drv-card-color, var(--drv-color)));
}
.drv-subnav .drv-subnav__card.is-active { background: var(--drv-card-bg-active, rgba(0, 0, 0, .05)); }
.drv-subnav .drv-subnav__card-ic { flex: none; line-height: 0; --vcdi-size: var(--drv-card-ic, 18px); color: var(--drv-card-ic-color, var(--drv-active)); }
.drv-subnav .drv-subnav__panel--cards .drv-subnav__card-ic .vcdi-wrap--stacked { --vcdi-bg: var(--drv-card-ic-bg, var(--drv-active)); --vcdi-color: var(--drv-card-ic-fg, #fff); }
.drv-subnav .drv-subnav__card-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1 1 auto; }
.drv-subnav .drv-subnav__card-title { display: flex; flex-wrap: wrap; align-items: center; gap: .1em .4em; font-weight: 700; font-size: .95em; line-height: 1.25; }
.drv-subnav .drv-subnav__card-teaser { font-size: .8em; line-height: 1.35; opacity: .75; }
.drv-subnav .drv-subnav__card .drv-subnav__badge { margin-left: 0; }

/* App-Leiste unten */
.drv-appbar {
	display: none;
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: var(--drv-ab-z, 9990);
	box-sizing: border-box;
	background: var(--drv-ab-bg, #fff);
	box-shadow: var(--drv-ab-shadow, 0 -4px 18px rgba(0, 0, 0, .12));
	padding-bottom: env(safe-area-inset-bottom, 0px);
	transition: transform .25s ease;
	font-family: inherit;
}
.drv-appbar.is-visible { display: block; }
.drv-appbar.is-hidden { transform: translateY(110%); }
.drv-appbar--float {
	left: var(--drv-ab-margin, 12px);
	right: var(--drv-ab-margin, 12px);
	bottom: calc(var(--drv-ab-margin, 12px) + env(safe-area-inset-bottom, 0px));
	padding-bottom: 0;
	border-radius: var(--drv-ab-radius, 20px);
}
.drv-appbar--float.is-hidden { transform: translateY(calc(100% + 40px)); }
.drv-appbar--preview { position: sticky; display: block; margin-top: 16px; }
.drv-appbar .drv-appbar__list {
	display: grid;
	grid-template-columns: repeat(var(--drv-ab-n, 4), minmax(0, 1fr));
	align-items: stretch;
	height: var(--drv-ab-h, 62px);
	list-style: none;
	margin: 0;
	padding: 0 var(--drv-ab-pad-x, 4px);
}
.drv-appbar li { margin: 0; padding: 0; min-width: 0; }
.drv-appbar li::before { content: none; }
.drv-appbar .drv-appbar__item {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 3px;
	height: 100%;
	text-decoration: none !important;
	color: var(--drv-ab-color, #6d6670);
	font-size: var(--drv-ab-fs, 11px);
	font-weight: 600;
	line-height: 1.1;
	-webkit-tap-highlight-color: transparent;
	transition: color .2s;
}
.drv-appbar .drv-appbar__item:hover { color: var(--drv-ab-color-hover, var(--drv-ab-active, #870010)); }
.drv-appbar .drv-appbar__item.is-active { color: var(--drv-ab-active, #870010); }
.drv-appbar .drv-appbar__ic {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	font-size: var(--drv-ab-ic, 22px);
	padding: var(--drv-ab-ic-pad, 4px 16px);
	border-radius: 99px;
	--vcdi-size: 1em;
	transition: background-color .2s, color .2s;
}
.drv-appbar--ind-pill .drv-appbar__item.is-active .drv-appbar__ic { background: var(--drv-ab-pill, rgba(135, 0, 16, .12)); color: var(--drv-ab-pill-color, inherit); }
.drv-appbar--ind-line .drv-appbar__item.is-active::before {
	content: "";
	position: absolute;
	top: 0;
	left: 28%;
	right: 28%;
	height: 3px;
	border-radius: 0 0 3px 3px;
	background: currentColor;
}
.drv-appbar .drv-appbar__item.is-active .vcdi-wrap--stacked { --vcdi-bg: var(--drv-ab-active, #870010); }
.drv-appbar .drv-appbar__label { max-width: 100%; padding: 0 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drv-appbar .drv-appbar__badge { position: absolute; top: 1px; right: 10px; --vcdi-dot-ring: var(--drv-ab-bg, #fff); }
.drv-appbar .drv-appbar__noicon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1em;
	height: 1em;
	border-radius: 50%;
	background: currentColor;
	font-size: 1em;
}
.drv-appbar .drv-appbar__noicon { color: inherit; }
.drv-appbar .screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
body.drv-has-appbar { padding-bottom: calc(var(--drv-ab-space, 62px) + env(safe-area-inset-bottom, 0px)); }
@media (prefers-reduced-motion: reduce) {
	.drv-appbar, .drv-subnav__panel { transition: none !important; animation: none !important; }
}
