/* 3DMS – Hell-/Dunkel-Schalter (2026-10-13). Eigenes 3DMS-Design: runder Konturknopf in der Strichstärke der
   Header-Symbole, Akzent im 3DMS-Blau (#3987e8). Der helle Modus wird per Skript abgeleitet; hier stehen nur der Knopf
   und feste Zustände (FAQ, Formularfelder, Logo-Bänder, Header). */
.tdms-theme-item {
	display: flex;
	align-items: center;
	margin: 0 0 0 10px;
	padding: 0;
	list-style: none;
}
.tdms-theme-item--mobile { margin: 0 4px 0 6px; }
.tdms-theme-toggle,
.tdms-theme-toggle:hover,
.tdms-theme-toggle:focus {
	-webkit-appearance: none;
	appearance: none;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 1.5px solid rgba(255, 255, 255, .55);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: #fff;
	font-size: inherit;
	line-height: 1;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	opacity: 1;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
	-webkit-tap-highlight-color: transparent;
}
/* unsichtbar vergrößerte Klickfläche (46 px) */
.tdms-theme-toggle::after {
	content: "";
	position: absolute;
	inset: -8px;
	border-radius: 999px;
}
@media (hover: hover) {
	.tdms-theme-toggle:hover {
		border-color: #3987e8;
		background: rgba(57, 135, 232, .14);
	}
}
.tdms-theme-toggle:focus-visible {
	outline: 2px solid #3987e8;
	outline-offset: 2px;
}
.tdms-theme-toggle svg {
	display: block;
	flex: 0 0 16px;
	width: 16px !important;
	height: 16px !important;
	min-width: 16px;
	max-width: none;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.7;
	stroke-linecap: round;
	stroke-linejoin: round;
	pointer-events: none;
}
.tdms-theme-toggle .tdms-ico-sun { display: none; }
@media (prefers-reduced-motion: reduce) {
	.tdms-theme-toggle, .tdms-theme-toggle:hover, .tdms-theme-toggle:focus { transition: none; }
}

/* ===== Heller Modus ===== */
html[data-tdms-theme="light"] { color-scheme: light; }
html[data-tdms-theme="light"] .tdms-theme-toggle {
	color: #1b2330;
	border-color: rgba(27, 35, 48, .45);
}
@media (hover: hover) {
	html[data-tdms-theme="light"] .tdms-theme-toggle:hover {
		color: #1f5fb4;
		border-color: #1f5fb4;
		background: rgba(57, 135, 232, .1);
	}
}
html[data-tdms-theme="light"] .tdms-theme-toggle:focus-visible { outline-color: #1f5fb4; }
html[data-tdms-theme="light"] .tdms-theme-toggle .tdms-ico-sun { display: block; }
html[data-tdms-theme="light"] .tdms-theme-toggle .tdms-ico-moon { display: none; }

/* vom Skript erkannte dunkle Overlay-Flächen (::before/::after) */
html[data-tdms-theme="light"] [data-tdms-ps="before"]::before { background-color: var(--tdms-ps-before) !important; }
html[data-tdms-theme="light"] [data-tdms-ps="after"]::after { background-color: var(--tdms-ps-after) !important; }
/* Henkel der Flatsome-Warenkorbtasche ist ein Pseudo-Element -> Farbe der (umgefärbten) Tasche übernehmen */
html[data-tdms-theme="light"] .cart-icon strong::after { border-color: currentColor !important; }

/* Heller Header: durchscheinend (Skript: rgba(246,247,249,.78)) mit leichter Weichzeichnung, damit Menü und Logo
   über Fotos/Videos ruhig lesbar bleiben */
html[data-tdms-theme="light"] #header .header-bg-color,
html[data-tdms-theme="light"] #header .header-top { -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }

/* vom Skript erkannte monochrome weiße Logos/Grafiken auf hell gewordenem Grund */
html[data-tdms-theme="light"] img[data-tdms-inv] { filter: invert(.88); }

/* Platzhalter in Formularfeldern ausreichend kräftig */
html[data-tdms-theme="light"] ::placeholder { color: #626a75 !important; opacity: 1; }

/* FAQ (Elementor Nested Accordion): Fragezeilen fest gestaltet, Zustände offen/hover/fokus */
html[data-tdms-theme="light"] body .elementor .e-n-accordion details > summary.e-n-accordion-item-title { background-color: transparent !important; border-color: rgba(27, 35, 48, .22) !important; }
html[data-tdms-theme="light"] body .elementor .e-n-accordion details > summary.e-n-accordion-item-title:hover,
html[data-tdms-theme="light"] body .elementor .e-n-accordion details > summary.e-n-accordion-item-title:focus,
html[data-tdms-theme="light"] body .elementor .e-n-accordion details > summary.e-n-accordion-item-title:active { background-color: #e7eaef !important; }
html[data-tdms-theme="light"] .e-n-accordion summary.e-n-accordion-item-title .e-n-accordion-item-title-text,
html[data-tdms-theme="light"] .e-n-accordion summary.e-n-accordion-item-title .e-n-accordion-item-title-icon,
html[data-tdms-theme="light"] body .e-n-accordion summary.e-n-accordion-item-title .e-n-accordion-item-title-icon i { color: #1b2330 !important; }
html[data-tdms-theme="light"] .e-n-accordion summary.e-n-accordion-item-title .e-n-accordion-item-title-icon svg { fill: currentColor !important; }
html[data-tdms-theme="light"] .e-n-accordion details[open] > summary .e-n-accordion-item-title-text,
html[data-tdms-theme="light"] .e-n-accordion details[open] > summary .e-n-accordion-item-title-icon { color: #1f5fb4 !important; }
html[data-tdms-theme="light"] .e-n-accordion summary.e-n-accordion-item-title:focus-visible { outline: 2px solid #1f5fb4; outline-offset: 2px; }

/* Text-Abschnitte mit Foto-Textur unter dunklem Overlay (vom Skript erkannt): heller Schleier statt dunklem Overlay;
   das Foto bleibt unverändert und scheint nur leicht durch */
html[data-tdms-theme="light"] [data-tdms-veil="before"]::before { background-image: var(--tdms-veil-before) !important; background-color: transparent !important; opacity: 1 !important; }
html[data-tdms-theme="light"] [data-tdms-veil="after"]::after { background-image: var(--tdms-veil-after) !important; background-color: transparent !important; opacity: 1 !important; }

/* Logo-Laufbänder Referenz (94a8764), Equipment (d6c283c), Partner (5f2a303): alle 82 Logos monochrom (weiß bzw.
   schwarz-weiß, geprüft 2026-10-13) -> im Hellmodus gezielt invertiert. Reines CSS: wirkt sofort auch auf laufende und von
   Swiper duplizierte Slides, das Band läuft weiter. Fotos (z. B. Merch-Karussell) sind nicht betroffen. */
html[data-tdms-theme="light"] .elementor-element-94a8764 .swiper-slide-image,
html[data-tdms-theme="light"] .elementor-element-d6c283c .swiper-slide-image,
html[data-tdms-theme="light"] .elementor-element-5f2a303 .elementor-carousel-image { filter: invert(.88); }

/* ===== v2 Korrekturen (2026-10-13) ===== */
/* Foto-Flächen mit weißer Überlagerung (Skript: data-tdms-wash): Textschatten der Originalgestaltung (für Weiß auf Foto) weg */
html[data-tdms-theme="light"] [data-tdms-wash] *,
html[data-tdms-theme="light"] [data-tdms-wash] *::before,
html[data-tdms-theme="light"] [data-tdms-veil] * { text-shadow: none !important; }
/* Video-/Parallax-Hintergrund liegt bei Elementor über dem ::before-Overlay -> Überlagerung (wie Skript: weiß 78 %) im Hintergrund-Container */
html[data-tdms-theme="light"] [data-tdms-wash] > .elementor-background-video-container::after,
html[data-tdms-theme="light"] [data-tdms-wash] > .elementor-motion-effects-container::after,
html[data-tdms-theme="light"] [data-tdms-wash]:not(:has(> .elementor-background-overlay)) > .elementor-background-slideshow::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: #fff;
	opacity: var(--tdms-wash-a, .78);
	pointer-events: none;
}

/* Preis-/Paketkarten (Elementor Price Table): im Hellmodus feiner Rahmen im Markenblau statt 3 px Dunkelblau, dezenter Schatten */
html[data-tdms-theme="light"] .elementor-widget-price-table > .elementor-widget-container {
	border-width: 1.5px !important;
	border-color: rgba(43, 95, 196, .6) !important;
	box-shadow: 0 4px 14px rgba(27, 35, 48, .08) !important;
}
html[data-tdms-theme="light"] .elementor-price-table .elementor-price-table__button:focus-visible {
	outline: 2px solid #1f5fb4;
	outline-offset: 2px;
}

/* Handy: Copyright 15 px Abstand zu „Vertragsrücktritt“/„Google bevorzugen“ (vorher 1 px) und seitlicher Abstand,
   damit das schwebende Cookie-Symbol (links) den Text am Seitenende nicht verdeckt – beide Modi */
@media (max-width: 549px) {
	html body .absolute-footer { padding-bottom: 30px; }
	html body .absolute-footer .copyright-footer p { padding-left: 44px; padding-right: 44px; }
}

/* Handy: Sprecherliste (TablePress 1, Stapelansicht) – Porträt und Play/MP3 direkt nach ID/Name, Merkmale darunter.
   Nur Reihenfolge der vorhandenen Zellen (gleiche Zeile = gleicher Sprecher), kein zusätzlicher Player – beide Modi */
@media (max-width: 767px) {
	.tablepress-id-1.tablepress-responsive-stack-phone:not(.tdms-spk-v2) tbody tr { display: flex; flex-direction: column; }
	.tablepress-id-1.tablepress-responsive-stack-phone:not(.tdms-spk-v2) tbody td { order: 5; }
	.tablepress-id-1.tablepress-responsive-stack-phone:not(.tdms-spk-v2) tbody td.column-1 { order: 1; }
	.tablepress-id-1.tablepress-responsive-stack-phone:not(.tdms-spk-v2) tbody td.column-2 { order: 2; }
	.tablepress-id-1.tablepress-responsive-stack-phone:not(.tdms-spk-v2) tbody td.column-12 { order: 3; }
	.tablepress-id-1.tablepress-responsive-stack-phone:not(.tdms-spk-v2) tbody td.column-13 { order: 4; }
}

/* ===== v8 (2026-10-14): Sprecherliste neu geordnet (Shortcode: column_order=manual 12,1,2,13,3-11, Klasse tdms-spk-v2) =====
   Ausgabe-Spalten: 1 Foto (MEDIA) · 2 Sprecher-ID · 3 Name · 4 Play/MP3 (Sample) · 5–13 Gender, Region, Lang1–3, Sync,
   Kindlich, Actor, Dialekt. Nur Darstellung – Datensätze/IDs/Porträts/Audios unverändert, gleiche Zeile = gleicher Sprecher. */
.tablepress-id-1.tdms-spk-v2 td.column-1 { width: 72px; }
/* Handy (Stapelansicht): Kopf „ID 12 · Name“, darunter Porträt und Play/MP3 nebeneinander, danach die Merkmale */
@media (max-width: 767px) {
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody tr {
		display: flex !important;
		flex-flow: row wrap;
		justify-content: center;
		align-items: baseline;
		padding: 18px 0 10px;
	}
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td { order: 5; flex: 0 0 100%; box-sizing: border-box; }
	/* Trennlinie zwischen Sprechern über dem Kopf (TablePress setzt sie an die erste Zelle – jetzt das Foto) */
	html body .tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tr ~ tr td:first-child { border-top: 0 !important; }
	html body .tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody tr ~ tr { border-top: 1px solid rgb(221, 221, 221) !important; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-2,
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-3 {
		flex: 0 0 auto;
		width: auto !important;
		display: inline-flex !important;
		align-items: baseline;
		gap: 6px;
		padding: 0 4px 6px !important;
		font-size: 17px !important;
		font-weight: 700;
	}
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-2 { order: 1; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-2::before {
		content: "ID" !important;
		display: inline !important;
		width: auto !important;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .06em;
		opacity: .75;
	}
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-3 { order: 2; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-3::before { content: "·" !important; display: inline !important; width: auto !important; font-weight: 400; opacity: .6; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-1,
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-4 { justify-content: center; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-1 { order: 3; padding-top: 4px !important; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-4 { order: 4; padding-bottom: 12px !important; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-1::before,
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-4::before { content: none !important; display: none !important; }
	.tablepress-id-1.tdms-spk-v2.tablepress-responsive-stack-phone tbody td.column-1 img { max-width: 88px !important; max-height: 88px !important; width: 88px !important; height: 88px !important; object-fit: cover; border-radius: 4px; }
	html body .tablepress-id-1.tdms-spk-v2 td.column-4 .tdms-sample { flex-direction: row !important; flex-wrap: nowrap; justify-content: center; gap: 10px !important; }
	html body .tablepress-id-1.tdms-spk-v2 td.column-4 .tdms-sample a.srmp3_sonaar_ts_shortcode,
	html body .tablepress-id-1.tdms-spk-v2 td.column-4 .tdms-sample a.tdms-mp3-dl { width: auto !important; min-width: 96px; min-height: 40px; padding: 6px 14px !important; font-size: 13px !important; }
}

/* Filterhilfe (aufklappbar, über der Sprecherliste) */
.tdms-filterhilfe { margin: 6px 0 22px; border: 1px solid rgba(127, 127, 127, .45); border-radius: 4px; text-align: left; }
.tdms-filterhilfe > summary { cursor: pointer; padding: 10px 14px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.tdms-filterhilfe > summary::-webkit-details-marker { display: none; }
.tdms-filterhilfe > summary::after { content: "+"; font-size: 20px; line-height: 1; font-weight: 400; }
.tdms-filterhilfe[open] > summary::after { content: "–"; }
.tdms-filterhilfe > summary:focus-visible { outline: 2px solid #3987e8; outline-offset: 2px; }
.tdms-filterhilfe dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 0; margin: 0; padding: 0 14px 12px; }
.tdms-filterhilfe dl > div { padding: 8px 10px 8px 0; border-top: 1px solid rgba(127, 127, 127, .25); }
.tdms-filterhilfe dt { display: block; float: none; font-weight: 700; font-size: 14px; margin: 0; text-transform: none; letter-spacing: normal; }
.tdms-filterhilfe dd { display: block; float: none; margin: 2px 0 0; font-size: 13.5px; line-height: 1.45; text-transform: none; letter-spacing: normal; font-weight: 400; }

/* v6 (2026-10-13): Foto-Slider (Photomentor-Ribbon, Startseite DE/EN): seitliche Randverläufe der Plugin-Option „Overlay“
   (::before/::after je 100 px, dunkel schwarz 80 % bzw. bisher im Hellmodus hellgrau 85 %) entfernt – Fotos bis zur eigenen
   Kante in Originalfarben, in beiden Modi. Pfeile, Bildwechsel, Ausschnitt und Größe unverändert. */
.photomentor_ribbon_slider_wrapper.photomentor_ribbon_overlay_on::before,
.photomentor_ribbon_slider_wrapper.photomentor_ribbon_overlay_on::after { content: none !important; display: none !important; background: none !important; }

/* ===== v4 (2026-10-13): mobile Bedienelemente links – eine senkrechte Achse ===== */
/* Mobile Ansicht = Flatsome-Mobilheader (bis 849 px). Desktop (ab 850 px) unverändert.
   Referenz: Nach-oben-Pfeil (Flatsome #top-link) gemessen links 21,9 px, 38,8 px breit, unten 20 px → Achse x = 41,3 px.
   Von oben nach unten: Theme-Schalter (sichtbar 32 px) – Cookie-Schalter (sichtbar 40 px) – Nach-oben-Pfeil (unverändert). */
.tdms-theme-item--float { display: none; }
@media (max-width: 849px) {
	/* genau ein Schalter: im mobilen Header keiner (Markup entfällt; Absicherung für alte Cache-Stände) */
	.tdms-theme-item--mobile { display: none !important; }
	.tdms-theme-item--float {
		display: block;
		position: fixed;
		left: 19.3px; /* 44-px-Tippfläche, Mitte auf x = 41,3 px */
		bottom: calc(var(--tdms-float-bottom, 123px) + env(safe-area-inset-bottom, 0px)); /* sichtbarer Kreis 129–161 px */
		z-index: 1040;
		margin: 0;
		padding: 0;
		transition: bottom .2s ease;
	}
	.tdms-theme-item--float.tdms-float-hidden { display: none; }

	/* Cookie-Schalter (Complianz „Einwilligung verwalten“): sichtbar 40 px, Tippfläche 44 px, Mitte auf x = 41,3 px,
	   sichtbar unten 73–113 px (14 px über dem Nach-oben-Pfeil). Nur der schwebende Schalter, nicht Banner/Dialog. */
	html body #cmplz-manage-consent .cmplz-manage-consent.cmplz-manage-consent.cmplz-manage-consent { /* stärker als Complianz-Zusatz-CSS (.cmplz-manage-consent.cmplz-manage-consent: 32 px, links 12 px) */
		width: 40px !important;
		height: 40px !important;
		left: 21.3px !important;
		right: auto !important;
		bottom: 73px !important;
		overflow: visible !important;
	}
	html body #cmplz-manage-consent .cmplz-manage-consent.cmplz-manage-consent.cmplz-manage-consent::after {
		content: "";
		position: absolute;
		inset: -2px;
		border-radius: 999px;
	}

	/* Geöffnete mobile Navigation (Flatsome: html.has-off-canvas, Overlay z-index 1042/1043): alle drei Schalter hinter
	   Navigation und Abdeckung, nicht anklickbar; Fokus-Sperre zusätzlich per Skript (inert) */
	html.has-off-canvas body #cmplz-manage-consent .cmplz-manage-consent.cmplz-manage-consent.cmplz-manage-consent,
	html.has-off-canvas body #top-link,
	html.has-off-canvas .tdms-theme-item--float {
		z-index: 1030 !important;
		pointer-events: none !important;
	}

	/* Copyright am Seitenende: seitlicher Abstand größer, damit Cookie- und Theme-Schalter (bis x = 63 px) nichts verdecken */
	html body .absolute-footer .copyright-footer p { padding-left: 56px; padding-right: 56px; }
}
/* Theme-Schalter: 44 × 44 px Tippfläche, sichtbarer Kreis 32 px, vollständig transparent (keine Füllung, kein Schatten,
   keine Weichzeichnung); Rand und Symbol dezent hellgrau (dunkel) bzw. dunkelgrau (hell) */
.tdms-theme-toggle--float,
.tdms-theme-toggle--float:hover,
.tdms-theme-toggle--float:focus {
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #b9bdc3;
}
.tdms-theme-toggle--float::after { inset: 0; }
.tdms-theme-toggle--float::before {
	content: "";
	position: absolute;
	inset: 6px;
	border-radius: 999px;
	border: 1.5px solid currentColor;
	background: transparent;
	box-shadow: none;
	transition: border-color .2s ease;
}
.tdms-theme-toggle--float svg {
	position: relative;
	z-index: 1;
	flex-basis: 17px;
	width: 17px !important;
	height: 17px !important;
	min-width: 17px;
}
@media (hover: hover) {
	.tdms-theme-toggle--float:hover { background: transparent; color: #e1e4e8; }
}
.tdms-theme-toggle--float:focus-visible { outline: 2px solid #3987e8; outline-offset: -2px; }
html[data-tdms-theme="light"] .tdms-theme-toggle--float { color: #4a4f57; border: 0; background: transparent; }
html[data-tdms-theme="light"] .tdms-theme-toggle--float::before { border-color: currentColor; background: transparent; box-shadow: none; }
.tdms-theme-toggle--float::before { -webkit-backdrop-filter: none; backdrop-filter: none; }
@media (hover: hover) {
	html[data-tdms-theme="light"] .tdms-theme-toggle--float:hover { background: transparent; color: #1f5fb4; }
}
@media (prefers-reduced-motion: reduce) {
	.tdms-theme-item--float, .tdms-theme-toggle--float::before { transition: none; }
}

/* ===== v5 (2026-10-13): oberste Hero-Bilder/-Videos im Hellmodus nur leicht aufgehellt ===== */
/* Skript: data-tdms-hero + --tdms-wash-a .30 (weiß 30 %, 70 % des Bildes sichtbar); keine Abdunklung, Bild/Ausschnitt/Wiedergabe
   unverändert. Lesbarkeit von Überschrift/Untertitel auf hellen wie dunklen Bildstellen: dunkle Schrift mit hellem Saum (nur Text,
   keine Fläche). Knöpfe behalten ihre Gestaltung. Dunkelmodus und untere Abschnitte unberührt. */
html[data-tdms-theme="light"] [data-tdms-wash][data-tdms-hero] :is(h1, h2, h3, h4, h5, h6, p, li, span, a, strong, em, .elementor-heading-title):not(.elementor-button):not(.elementor-button *) {
	text-shadow: 0 0 1px #fff, 0 0 2px #fff, 0 0 3px #fff, 0 0 6px rgba(255, 255, 255, .9), 0 0 14px rgba(255, 255, 255, .7) !important;
}
