/*
 * Dein Videoturm – Zusatz-Effekte
 * Ergänzt theme.json um Details, die reine Design-Tokens nicht abbilden:
 * Verläufe, Hover-Zustände, kleine Utility-Klassen.
 * Diese Klassen können im Editor unter "Erweitert → Zusätzliche CSS-Klasse(n)" gesetzt werden.
 */

/* --- Eyebrow: kleine, orange Rubrik-Zeile über Überschriften --- */
.dvt-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--brand);
	margin-bottom: 0.5rem;
}

/* --- Karten: Fläche mit Rahmen, Rahmen wird beim Hover orange --- */
.dvt-card {
	border: 1px solid var(--wp--preset--color--border);
	background: rgba(26, 29, 36, 0.4);
	border-radius: var(--wp--custom--radius--xl, 0.875rem);
	transition: border-color 0.2s ease, background-color 0.2s ease;
}
.dvt-card:hover {
	border-color: var(--wp--preset--color--brand);
}
/* Media-Karte: Bild randlos oben, Text mit ordentlichem Innenabstand */
.dvt-card--media { overflow: hidden; }
.dvt-card--media > .wp-block-image { margin: 0; }
.dvt-card--media > .wp-block-image img { border-radius: 0; display: block; }
.dvt-card__body { padding: 1.4rem 1.5rem 1.6rem; }

/* Kartentitel weiss, erst beim Hover orange (wie im Original) */
.dvt-card h2 a,
.dvt-card h3 a,
.dvt-card h4 a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.dvt-card:hover h2 a,
.dvt-card:hover h3 a,
.dvt-card:hover h4 a {
	color: var(--wp--preset--color--brand);
}

/* Nur Rahmen-Highlight ohne Flächenfarbe */
.dvt-card--plain {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--xl, 0.875rem);
	transition: border-color 0.2s ease;
}
.dvt-card--plain:hover {
	border-color: var(--wp--preset--color--brand);
}

/* Karten-Bild sanft heranzoomen */
.dvt-zoom img {
	transition: transform 0.5s ease;
	will-change: transform;
}
.dvt-zoom:hover img {
	transform: scale(1.05);
}

/* --- CTA-Button mit Orange-Verlauf --- */
.wp-block-button.is-style-cta > .wp-block-button__link,
.is-style-cta.wp-block-button__link {
	background: linear-gradient(135deg, #ff7a1a 0%, #f25c0a 100%) !important;
	color: var(--wp--preset--color--brand-contrast) !important;
	border: 0;
}
.wp-block-button.is-style-cta > .wp-block-button__link:hover {
	filter: brightness(1.08);
}

/* Sekundär-Button: nur Rahmen */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
	background: transparent;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--brand);
	background: rgba(26, 29, 36, 0.6);
}

/* --- Pill / Badge --- */
.dvt-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	border: 1px solid var(--wp--preset--color--border);
	background: rgba(26, 29, 36, 0.5);
	border-radius: 999px;
	padding: 0.35rem 0.85rem;
	font-size: 0.8125rem;
}

/* --- Kostenvergleich: durchgestrichener Personal-Preis --- */
.dvt-strike {
	text-decoration: line-through;
	text-decoration-color: rgba(229, 72, 77, 0.6);
	color: rgba(250, 250, 251, 0.7);
}

/* --- Highlight-Box (Reaktionszeit etc.) --- */
.dvt-highlight {
	border: 1px solid rgba(255, 106, 0, 0.4);
	background: rgba(255, 106, 0, 0.06);
	border-radius: var(--wp--custom--radius--2xl, 1rem);
}

/* --- Sticky, transluzenter Header --- */
/* Wichtig: backdrop-filter/Background liegen auf einem ::before-Pseudoelement,
   nicht auf dem Header selbst. Ein backdrop-filter am Header würde einen
   Containing-Block erzeugen, in dem das mobile position:fixed-Overlay
   "gefangen" bliebe und nicht auf Vollbild aufklappen könnte. */
.dvt-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.dvt-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	backdrop-filter: saturate(160%) blur(10px);
	-webkit-backdrop-filter: saturate(160%) blur(10px);
	background: rgba(15, 17, 21, 0.8);
}

/* Navigation: gleichmässige Abstände, Hover/aktiv orange */
.dvt-header .wp-block-navigation {
	--wp--style--block-gap: 0.15rem;
	gap: 0.15rem;
	flex-wrap: nowrap;
}
.dvt-header .wp-block-navigation .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.6rem;
	border-radius: 0.375rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.15s ease, background-color 0.15s ease;
}
.dvt-header .wp-block-navigation .wp-block-navigation-item__content:hover,
.dvt-header .wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.dvt-header .wp-block-navigation .wp-block-navigation-item__content.dvt-current {
	color: var(--wp--preset--color--brand);
	font-weight: 600;
}
/* "Planen"-Pfeil */
.dvt-header .wp-block-navigation .wp-block-navigation-submenu__toggle,
.dvt-header .wp-block-navigation .wp-block-navigation__submenu-icon {
	color: currentColor;
}
/* Untermenü als Karte */
.dvt-header .wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.625rem;
	padding: 0.35rem;
	box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.6);
}
.dvt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 0.75rem;
	border-radius: 0.4rem;
}
.dvt-header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--surface-2);
}

/* Logo auf weissem Grund (Marken-Logo ist dunkel auf hell) */
.dvt-logo { flex-shrink: 0; margin: 0; }
.dvt-logo img {
	display: block;
	height: 40px;
	width: auto;
	background: #fff;
	border-radius: 0.375rem;
	padding: 0.25rem 0.5rem;
}

/* Header-Inhalt zentrieren (zuverlässig, unabhängig von der Layout-Klasse) */
/* Seitlicher Abstand, damit Logo/Burger nicht am Bildschirmrand kleben */
.dvt-header > .wp-block-group {
	justify-content: center;
	padding-left: clamp(1rem, 4vw, 2rem);
	padding-right: clamp(1rem, 4vw, 2rem);
}

/* Header-Suche */
.dvt-search-wrap {
	flex: 0 1 260px;
	min-width: 200px;
}
.dvt-search-wrap .wp-block-search__input { width: 100%; }
.dvt-search-wrap .wp-block-search { margin: 0; }
.dvt-search-wrap .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface-2);
	border-radius: 0.5rem;
	padding: 2px;
}
.dvt-search-wrap .wp-block-search__input {
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 0.85rem;
	padding: 0.35rem 0.6rem;
}
.dvt-search-wrap .wp-block-search__input::placeholder { color: var(--wp--preset--color--contrast-muted); }
.dvt-search-wrap .wp-block-search__button {
	background: transparent;
	border: 0;
	color: var(--wp--preset--color--contrast-muted);
	padding: 0 0.4rem;
}
.dvt-search-wrap .wp-block-search__button:hover { color: var(--wp--preset--color--brand); }

/* Header rechts: Navigation + Support-Link + Button */
.dvt-header-right { flex-shrink: 0; }
.dvt-support-link { margin: 0; white-space: nowrap; }
.dvt-support-link a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}
.dvt-support-link a:hover { color: var(--wp--preset--color--brand); }

/* Auf schmaleren Bildschirmen Suche und Support-Text ausblenden (Platz für Navigation) */
.dvt-support-link { display: none; }

/* ===================== Mobiler Header ===================== */
/* Bis 960px: Suche ausblenden, Kopfzeile links/rechts verteilen, Menü als Burger */
@media (max-width: 960px) {
	.dvt-search-wrap { display: none; }
	.dvt-header > .wp-block-group { justify-content: space-between; }
	/* Burger-Menü bis 960px erzwingen (Core klappt sonst schon ab 600px auf Inline um) */
	.dvt-header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
	.dvt-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}
}
/* Sehr schmale Geräte: CTA-Button ausblenden (Kontakt liegt im Burger-Menü) */
@media (max-width: 520px) {
	.dvt-header .wp-block-buttons { display: none; }
	.dvt-logo img { height: 34px; }
}

/* Burger-Icon gut sichtbar auf dunklem Header */
.dvt-header .wp-block-navigation__responsive-container-open,
.dvt-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--contrast);
}

/* Geöffnetes Overlay-Menü als echtes Vollbild-Overlay erzwingen.
   Core macht das von Haus aus nur unter 600px – wir dehnen es bis 960px aus,
   sonst öffnet das Menü nur als kleiner Inline-Kasten oben rechts. */
@media (max-width: 960px) {
	.dvt-header .wp-block-navigation__responsive-container.is-menu-open {
		display: flex !important;
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 100%;
		flex-direction: column;
		align-items: stretch;
		padding: 5rem clamp(1rem, 4vw, 2rem) 2.5rem;
		background: var(--wp--preset--color--base);
		z-index: 100000;
		overflow-y: auto;
	}
	.dvt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		width: 100%;
	}
	.dvt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.35rem;
		width: 100%;
	}
	.dvt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
	}
	.dvt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 1.4rem;
		right: 1.4rem;
	}
	.dvt-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: 1.15rem;
		padding: 0.7rem 0.4rem;
		display: block;
		width: 100%;
		border-bottom: 1px solid var(--wp--preset--color--border);
	}
}

/* --- Aufzählungen mit orangem Haken (Klasse sitzt direkt auf dem <ul>) --- */
.dvt-checklist,
.dvt-checklist ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.dvt-checklist li {
	position: relative;
	padding-left: 1.6rem;
	margin: 0.4rem 0;
}
.dvt-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.15rem;
	width: 1rem;
	height: 1rem;
	background-color: var(--wp--preset--color--brand);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* --- Orange Outline-Icons (per CSS-Maske; gestrichene SVGs = Outline-Optik) --- */
.dvt-ico {
	display: inline-block; width: 1.5rem; height: 1.5rem; vertical-align: -0.32em;
	background-color: var(--wp--preset--color--brand);
	-webkit-mask: var(--dvt-m) no-repeat center / contain;
	mask: var(--dvt-m) no-repeat center / contain;
}
.dvt-ico--sm { width: 1.05rem; height: 1.05rem; vertical-align: -0.16em; }
.dvt-ico--clock  { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E"); }
.dvt-ico--euro   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12'/%3E%3Cpath d='M4 14h9'/%3E%3Cpath d='M19 6a7.7 7.7 0 0 0-5.2-2A7.9 7.9 0 0 0 6 12a7.9 7.9 0 0 0 7.8 8 7.7 7.7 0 0 0 5.2-2'/%3E%3C/svg%3E"); }
.dvt-ico--shield { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.dvt-ico--cloud  { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z'/%3E%3C/svg%3E"); }
.dvt-ico--check  { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E"); }
.dvt-ico--bolt   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 12 10h8a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 12 14z'/%3E%3C/svg%3E"); }
.dvt-ico--phone  { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.98.36 1.92.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.89.34 1.83.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E"); }
.dvt-ico--mail   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect width='20' height='16' x='2' y='4' rx='2'/%3E%3Cpath d='m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7'/%3E%3C/svg%3E"); }
.dvt-ico--msg    { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.9 20A9 9 0 1 0 4 16.1L2 22Z'/%3E%3C/svg%3E"); }
.dvt-ico--life   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m4.93 4.93 4.24 4.24'/%3E%3Cpath d='m14.83 9.17 4.24-4.24'/%3E%3Cpath d='m14.83 14.83 4.24 4.24'/%3E%3Cpath d='m9.17 14.83-4.24 4.24'/%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3C/svg%3E"); }
.dvt-ico--wrench { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z'/%3E%3C/svg%3E"); }
.dvt-ico--grad   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.42 10.92a1 1 0 0 0-.02-1.84L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.83l8.57 3.91a2 2 0 0 0 1.66 0z'/%3E%3Cpath d='M22 10v6'/%3E%3Cpath d='M6 12.5V16a6 3 0 0 0 12 0v-3.5'/%3E%3C/svg%3E"); }
.dvt-ico--search { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E"); }
.dvt-ico--info   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16v-4'/%3E%3Cpath d='M12 8h.01'/%3E%3C/svg%3E"); }
.dvt-ico--spark  { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.94 14.32a1 1 0 0 0-.94-.32 1 1 0 0 0-.94.32L2 22l7.68-6.06a1 1 0 0 0 .32-.94 1 1 0 0 0-.06-.68'/%3E%3Cpath d='M12 3a4 4 0 0 0 4 4 4 4 0 0 0-4 4 4 4 0 0 0-4-4 4 4 0 0 0 4-4z'/%3E%3Cpath d='M19 13a2 2 0 0 0 2 2 2 2 0 0 0-2 2 2 2 0 0 0-2-2 2 2 0 0 0 2-2z'/%3E%3C/svg%3E"); }
.dvt-ico--clip   { --dvt-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48'/%3E%3C/svg%3E"); }

/* --- Details / Akkordeon (FAQ ohne Plugin) --- */
.dvt-faq details {
	border: 1px solid var(--wp--preset--color--border);
	background: rgba(26, 29, 36, 0.4);
	border-radius: var(--wp--custom--radius--xl, 0.875rem);
	padding: 1.1rem 1.25rem;
	margin-bottom: 0.75rem;
}
.dvt-faq details[open] {
	background: rgba(26, 29, 36, 0.6);
}
.dvt-faq summary {
	cursor: pointer;
	list-style: none;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: center;
}
.dvt-faq summary::-webkit-details-marker { display: none; }
.dvt-faq summary::after {
	content: "+";
	color: var(--wp--preset--color--brand);
	font-size: 1.35rem;
	line-height: 1;
	transition: transform 0.2s ease;
}
.dvt-faq details[open] summary::after {
	transform: rotate(45deg);
}
.dvt-faq details p {
	margin: 0.85rem 0 0;
	color: rgba(250, 250, 251, 0.85);
}

/* --- Formular (natives HTML, ohne Plugin) --- */
.dvt-form input,
.dvt-form textarea,
.dvt-form select {
	width: 100%;
	box-sizing: border-box;
	max-width: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.5rem;
	padding: 0.7rem 0.9rem;
	color: var(--wp--preset--color--contrast);
	font: inherit;
}

/* Aufzählungen im Fußbereich ohne Bullet-Punkte */
footer .wp-block-list {
	list-style: none;
	margin: 0;
	padding: 0;
}
footer .wp-block-list li { margin: 0; }
.dvt-form input:focus,
.dvt-form textarea:focus {
	outline: 2px solid var(--wp--preset--color--brand);
	outline-offset: 1px;
}
.dvt-form label {
	font-size: 0.85rem;
	font-weight: 500;
}
.dvt-form button {
	background: linear-gradient(135deg, #ff7a1a 0%, #f25c0a 100%);
	color: var(--wp--preset--color--brand-contrast);
	border: 0;
	border-radius: 0.5rem;
	padding: 0.8rem 1.5rem;
	font-weight: 600;
	cursor: pointer;
}
.dvt-form button:hover { filter: brightness(1.08); }

/* Honeypot-Feld (Spam-Schutz) unsichtbar auslagern */
.dvt-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Bestätigungs-/Fehlermeldung nach dem Absenden */
.dvt-formnotice {
	max-width: var(--wp--style--global--wide-size, 1280px);
	margin: 0 auto 1.5rem;
	border-radius: 0.75rem;
	padding: 1rem 1.25rem;
	font-weight: 500;
}
.dvt-formnotice--ok {
	border: 1px solid rgba(52, 199, 120, 0.45);
	background: rgba(52, 199, 120, 0.10);
	color: #b8f0cf;
}
.dvt-formnotice--err {
	border: 1px solid rgba(229, 72, 77, 0.5);
	background: rgba(229, 72, 77, 0.10);
	color: #f5b5b7;
}
.dvt-formnotice--err a { color: inherit; }

/* Auf Inhaltsbreite begrenzter, zentrierter Kasten */
.dvt-narrow { max-width: 780px; margin-inline: auto; }

/* --- Rechtstexte (AGB, Datenschutz) --- */
.dvt-legal h2 {
	margin-top: 2.4rem;
	margin-bottom: 0.6rem;
	font-size: 1.35rem;
	scroll-margin-top: 6rem;
}
.dvt-legal p { line-height: 1.7; }
.dvt-legal > .wp-block-list { margin-top: 0.4rem; margin-bottom: 1rem; }
.dvt-legal .dvt-legal-alpha { list-style: none; padding-left: 1.1rem; }

/* ===================== Live-Suche (Dropdown) ===================== */
.dvt-ls__panel {
	position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 60;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 0.75rem; box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.6);
	overflow: hidden; padding: 0.35rem; text-align: left;
}
.dvt-ls__item {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: 0.55rem 0.7rem; border-radius: 0.5rem; text-decoration: none;
	color: var(--wp--preset--color--contrast);
}
.dvt-ls__item:hover { background: var(--wp--preset--color--surface-2); }
.dvt-ls__title { font-size: 0.92rem; }
.dvt-ls__type {
	flex-shrink: 0; font-size: 0.72rem; color: var(--wp--preset--color--contrast-muted);
	border: 1px solid var(--wp--preset--color--border); border-radius: 999px; padding: 0.1rem 0.5rem;
}
.dvt-ls__all {
	display: block; padding: 0.6rem 0.7rem; font-size: 0.85rem; text-decoration: none;
	color: var(--wp--preset--color--brand); border-top: 1px solid var(--wp--preset--color--border); margin-top: 0.2rem;
}
.dvt-ls__all:hover { text-decoration: underline; }
.dvt-ls__empty { padding: 0.8rem 0.7rem; font-size: 0.85rem; color: var(--wp--preset--color--contrast-muted); }

/* Startseiten-Suchfeld */
.dvt-home-search .wp-block-search { margin: 0; }
.dvt-home-search .wp-block-search__inside-wrapper {
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--base); border-radius: 0.6rem; padding: 3px;
}
.dvt-home-search .wp-block-search__input {
	background: transparent; border: 0; color: var(--wp--preset--color--contrast);
	padding: 0.65rem 0.85rem; font-size: 1rem;
}
.dvt-home-search .wp-block-search__input::placeholder { color: var(--wp--preset--color--contrast-muted); }
.dvt-home-search .wp-block-search__button { background: transparent; border: 0; color: var(--wp--preset--color--contrast-muted); }
.dvt-home-search .wp-block-search__button:hover { color: var(--wp--preset--color--brand); }

/* Schnellzugriff-Kachel (Konfigurator) */
.dvt-quicklink {
	display: block; position: relative; height: 100%;
	border: 1px solid rgba(255, 106, 0, 0.4); background: rgba(255, 106, 0, 0.06);
	border-radius: 0.875rem; padding: 1.3rem 2.8rem 1.3rem 1.3rem;
	text-decoration: none; color: var(--wp--preset--color--contrast); transition: background-color 0.15s ease;
}
.dvt-quicklink:hover { background: rgba(255, 106, 0, 0.11); }
.dvt-quicklink__eyebrow { display: block; font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--wp--preset--color--brand); font-weight: 600; }
.dvt-quicklink__title { display: block; font-weight: 700; font-size: 1.05rem; margin-top: 0.3rem; }
.dvt-quicklink__text { display: block; font-size: 0.85rem; color: var(--wp--preset--color--contrast-muted); margin-top: 0.3rem; }
.dvt-quicklink__arrow { position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%); color: var(--wp--preset--color--brand); font-size: 1.3rem; }

/* Text-Utilities */
.dvt-text-brand { color: var(--wp--preset--color--brand); }
.dvt-muted { color: var(--wp--preset--color--contrast-muted); }

/* --- Responsive Raster: Karten-Grids auf kleinen Screens umbrechen --- */
/* Tablet: höchstens 2 Spalten */
@media (max-width: 960px) {
	.wp-block-group.is-layout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
/* Smartphone: eine Kachel pro Reihe (Vermietung, Verkauf, Einsatzbereiche, Support …) */
@media (max-width: 600px) {
	.wp-block-group.is-layout-grid { grid-template-columns: 1fr !important; }
}

/* Bilder in Karten oben abgerundet, gleichmässige Höhe */
.dvt-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* --- Technik-Datenblatt --- */
.dvt-specs {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.5rem 1.5rem;
	font-size: 0.9rem;
	margin: 1.25rem 0 0;
	max-width: 28rem;
}
.dvt-specs dt { color: var(--wp--preset--color--contrast-muted); margin: 0; }
.dvt-specs dd { margin: 0; color: var(--wp--preset--color--contrast); }

/* --- Kostenvergleich-Tabelle --- */
.dvt-cost-table { margin-top: 1.25rem; font-size: 0.95rem; }
.dvt-cost-table th,
.dvt-cost-table td {
	padding: 0.65rem 0.5rem;
	border-top: 1px solid var(--wp--preset--color--border);
}
.dvt-cost-table thead th { border-top: 0; font-weight: 600; }
.dvt-cost-table td:first-child { color: var(--wp--preset--color--contrast-muted); }

/* --- Trust-Leiste --- */
.dvt-trustbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 0.75rem;
	justify-content: center;
}

/* Kontakt-/Info-Kacheln nebeneinander gleich hoch */
.dvt-tiles .wp-block-column { display: flex; }
.dvt-tiles .dvt-card { width: 100%; }

/* Brotkrumen */
.dvt-breadcrumbs { margin-bottom: 0.5rem; }
.dvt-breadcrumbs a { color: var(--wp--preset--color--contrast-muted); text-decoration: none; }
.dvt-breadcrumbs a:hover { color: var(--wp--preset--color--brand); }

/* ===================== Bild-Slider (Über uns) ===================== */
.dvt-slider {
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.6);
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--surface);
}
.dvt-slider--wide { aspect-ratio: 24 / 9; }
@media (max-width: 782px) { .dvt-slider, .dvt-slider--wide { aspect-ratio: 4 / 3; } }
.dvt-slider__track { position: absolute; inset: 0; }
.dvt-slide {
	position: absolute; inset: 0; margin: 0;
	opacity: 0; transition: opacity 0.7s ease; pointer-events: none;
}
.dvt-slide.is-active { opacity: 1; pointer-events: auto; }
.dvt-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dvt-slide figcaption {
	position: absolute; inset-inline: 0; bottom: 0;
	padding: 2.5rem 1.5rem 1.25rem;
	font-size: 0.95rem; color: #fff;
	background: linear-gradient(0deg, rgba(15,17,21,0.9) 0%, rgba(15,17,21,0) 100%);
}
.dvt-slider__sticker {
	position: absolute; top: 1.25rem; right: 1.25rem; transform: rotate(-6deg);
	background: var(--wp--preset--color--brand); color: var(--wp--preset--color--brand-contrast);
	font-weight: 700; font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em;
	padding: 0.5rem 1rem; border-radius: 999px; border: 2px solid var(--wp--preset--color--base);
	box-shadow: 0 10px 25px rgba(0,0,0,0.4);
}
/* Rich-Caption (Hero-Slider): Rubrik + Titel + Text */
.dvt-slide__cap {
	position: absolute; inset-inline: 0; bottom: 0;
	padding: 3rem 1.75rem 1.5rem; color: #fff;
	background: linear-gradient(0deg, rgba(15,17,21,0.92) 0%, rgba(15,17,21,0.35) 55%, rgba(15,17,21,0) 100%);
}
.dvt-slide__eyebrow {
	display: inline-flex; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--wp--preset--color--brand); margin-bottom: 0.35rem;
}
.dvt-slide__title { display: block; font-size: clamp(1.35rem, 2.5vw, 1.9rem); font-weight: 700; line-height: 1.15; max-width: 32ch; }
.dvt-slide__text { display: block; font-size: 0.95rem; color: rgba(255,255,255,0.85); margin-top: 0.4rem; max-width: 40ch; }
/* Pfeile */
.dvt-slider__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border); background: rgba(15,17,21,0.65);
	color: #fff; font-size: 1.4rem; line-height: 1; cursor: pointer;
}
.dvt-slider__nav:hover { background: rgba(15,17,21,0.9); border-color: var(--wp--preset--color--brand); }
.dvt-slider__prev { left: 0.85rem; }
.dvt-slider__next { right: 0.85rem; }
.dvt-slider__dots { position: absolute; left: 1.75rem; bottom: 0.85rem; display: flex; gap: 0.4rem; z-index: 2; }
.dvt-slider__dots button {
	height: 6px; width: 12px; border: 0; border-radius: 999px; cursor: pointer;
	background: rgba(255,255,255,0.35); padding: 0; transition: all 0.2s ease;
}
.dvt-slider__dots button[aria-current="true"] { width: 32px; background: var(--wp--preset--color--brand); }

/* ===================== Konfigurator ===================== */
.dvt-konf { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 900px) { .dvt-konf { grid-template-columns: 1.6fr 1fr; align-items: start; } }
.dvt-konf__step {
	border: 1px solid var(--wp--preset--color--border);
	background: rgba(26, 29, 36, 0.4);
	border-radius: 1rem; padding: 1.6rem 1.7rem; margin-bottom: 1.25rem;
}
.dvt-konf__step h3 { margin: 0 0 1rem; font-size: 1.2rem; }
.dvt-konf__hint {
	margin: 0.9rem 0 0; font-size: 0.85rem; color: var(--wp--preset--color--contrast-muted);
}
.dvt-konf__grid { display: grid; gap: 0.7rem; align-items: stretch; margin-bottom: 0.2rem; }
.dvt-konf__grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
.dvt-konf__grid.cols-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 640px) { .dvt-konf__grid.cols-2, .dvt-konf__grid.cols-3 { grid-template-columns: 1fr; } }
/* Auswahl-Kacheln über versteckte Radios/Checkboxen.
   Flexbox statt height:100% – vermeidet fehlerhafte Höhen/Überlappung im Grid. */
.dvt-opt { position: relative; display: flex; cursor: pointer; }
.dvt-opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; z-index: 1; }
.dvt-opt__box {
	flex: 1;
	border: 1px solid var(--wp--preset--color--border); border-radius: 0.6rem;
	background: var(--wp--preset--color--base); padding: 0.95rem 1.05rem;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.dvt-opt__box strong + span { margin-top: 0.2rem; }
.dvt-opt__box strong { display: block; font-size: 0.95rem; }
.dvt-opt__box span { display: block; font-size: 0.8rem; color: var(--wp--preset--color--contrast-muted); margin-top: 0.15rem; }
.dvt-opt input:checked + .dvt-opt__box {
	border-color: var(--wp--preset--color--brand);
	background: rgba(255, 106, 0, 0.08);
}
.dvt-opt input:checked + .dvt-opt__box strong { color: var(--wp--preset--color--brand); }
.dvt-opt input:focus-visible + .dvt-opt__box { outline: 2px solid var(--wp--preset--color--brand); outline-offset: 2px; }
/* Deaktivierte Auswahl (z. B. Videobox bei Solar) */
.dvt-opt.is-disabled { opacity: 0.45; pointer-events: none; }
.dvt-opt.is-disabled .dvt-opt__box { border-style: dashed; }
/* Segmentierter Umschalter (Miete/Kauf) */
.dvt-seg { display: inline-flex; border: 1px solid var(--wp--preset--color--border); border-radius: 0.6rem; padding: 3px; gap: 3px; background: var(--wp--preset--color--base); }
.dvt-seg .dvt-opt__box { border: 0; background: transparent; padding: 0.4rem 1.1rem; border-radius: 0.45rem; }
.dvt-seg input:checked + .dvt-opt__box { background: rgba(255,106,0,0.12); }
/* Info-Streifen */
.dvt-note { border-radius: 0.6rem; padding: 0.7rem 0.9rem; font-size: 0.85rem; margin-top: 0.7rem; display: flex; gap: 0.5rem; align-items: flex-start; }
.dvt-note .dvt-ico { flex-shrink: 0; margin-top: 0.05rem; }
.dvt-note--warn { border: 1px solid rgba(255,106,0,0.4); background: rgba(255,106,0,0.06); }
.dvt-note--ok { border: 1px solid rgba(52,199,120,0.35); background: rgba(52,199,120,0.06); color: #b8f0cf; }
/* Slider (Kameraanzahl) */
.dvt-range { width: 100%; accent-color: var(--wp--preset--color--brand); margin-top: 0.5rem; }
.dvt-range-val { font-size: 0.85rem; color: var(--wp--preset--color--contrast-muted); margin-top: 0.35rem; }
/* Checkbox-Optionen */
.dvt-check { display: flex; align-items: center; gap: 0.6rem; border: 1px solid var(--wp--preset--color--border); border-radius: 0.6rem; padding: 0.85rem 1rem; background: var(--wp--preset--color--base); font-size: 0.9rem; cursor: pointer; }
.dvt-check input { accent-color: var(--wp--preset--color--brand); width: 1.05rem; height: 1.05rem; }
/* Anfrage-Formular rechts */
.dvt-konf__form {
	border: 1px solid var(--wp--preset--color--border);
	background: rgba(26, 29, 36, 0.5); border-radius: 1rem; padding: 1.7rem;
	position: sticky; top: 5.5rem;
}
.dvt-konf__form h3 { margin: 0 0 0.9rem; }
/* Formularfelder rechts (nicht die Auswahl-Radios links) */
.dvt-konf__form input, .dvt-konf__form textarea {
	width: 100%; box-sizing: border-box; max-width: 100%; background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border); border-radius: 0.5rem;
	padding: 0.7rem 0.9rem; color: var(--wp--preset--color--contrast); font: inherit;
}
.dvt-konf__form input::placeholder, .dvt-konf__form textarea::placeholder { color: var(--wp--preset--color--contrast-muted); }
.dvt-konf__form input:focus, .dvt-konf__form textarea:focus { outline: 2px solid var(--wp--preset--color--brand); outline-offset: 1px; }
.dvt-konf__form .dvt-check input { width: auto; }
.dvt-konf__form button {
	width: 100%; background: linear-gradient(135deg, #ff7a1a 0%, #f25c0a 100%);
	color: var(--wp--preset--color--brand-contrast); border: 0; border-radius: 0.5rem;
	padding: 0.85rem 1.5rem; font-weight: 600; cursor: pointer;
}
.dvt-konf__form button:hover { filter: brightness(1.08); }

/* ===================== Kontakt-Kacheln ===================== */
.dvt-contact-tiles { display: flex; flex-direction: column; gap: 0.6rem; }
.dvt-contact-tile {
	border: 1px solid var(--wp--preset--color--border);
	background: rgba(26, 29, 36, 0.4);
	border-radius: 0.875rem; padding: 1.35rem 1.4rem;
}
.dvt-contact-tile__ic { display: inline-flex; }
.dvt-contact-tile__ic svg {
	width: 22px; height: 22px; stroke: var(--wp--preset--color--brand); fill: none;
}
.dvt-contact-tile h3 { margin: 0.5rem 0 0.25rem; font-size: 1.05rem; }
.dvt-contact-tile p { margin: 0.15rem 0 0; font-size: 0.85rem; }
.dvt-contact-tile a { text-decoration: none; }
.dvt-contact-tile__main { display: inline-block; font-weight: 600; font-size: 1.02rem; color: var(--wp--preset--color--brand); }
.dvt-contact-tile__main:hover { text-decoration: underline; }
