/* ==========================================================================
   Ralf Winkelbeiner – neues Design 2026 (moderat)
   Nur aktiv mit body.rw-neu (Vorschau-Schalter in functions.php).
   Grundsatz: zwei Schriften (Roboto für Text, Roboto Condensed für Überschriften/Menü/Knöpfe),
   einheitliche Größen und Abstände, gute Handy-Ansicht.
   Das Customizer-CSS setzt viele Werte mit !important – deshalb hier teils ebenfalls !important.
   ========================================================================== */
body.rw-neu {
	--rw-text: #1d1d1d;
	--rw-grau: #666;
	--rw-linie: #e6e6e6;
	--rw-hell: #f6f6f4;
	--rw-akzent: #d32f2f;
	--rw-akzent-dunkel: #b71c1c;
	--rw-kopf: 'Roboto Condensed', 'Arial Narrow', sans-serif;
	--rw-schrift: 'Roboto', 'Helvetica Neue', Arial, sans-serif;
	--rw-breite: 1100px;
	--rw-lese: 760px;
	font-family: var(--rw-schrift) !important;
	font-size: 17px;
	line-height: 1.65;
	color: var(--rw-text);
	background: #fff;
}

/* --- Eine Schrift für alles (Icons ausgenommen) --------------------------- */
body.rw-neu p,
body.rw-neu li,
body.rw-neu a,
body.rw-neu span:not([class*="icon"]):not([class*="arrow_"]):not([class*="social_"]),
body.rw-neu div,
body.rw-neu label,
body.rw-neu input,
body.rw-neu textarea,
body.rw-neu select,
body.rw-neu button,
body.rw-neu td,
body.rw-neu th {
	font-family: var(--rw-schrift) !important;
}
body.rw-neu h1, body.rw-neu h2, body.rw-neu h3, body.rw-neu h4, body.rw-neu h5, body.rw-neu h6,
body.rw-neu .elementor-heading-title,
body.rw-neu .navbar-custom .nav li > a,
body.rw-neu .shop_isle_header_title,
body.rw-neu .shop_isle_header_title *,
body.rw-neu .button,
body.rw-neu button,
body.rw-neu input[type="submit"],
body.rw-neu .btn,
body.rw-neu .ff-btn,
body.rw-neu .copyright,
body.rw-neu .copyright a {
	font-family: var(--rw-kopf) !important;
}

/* Fließtext einheitlich (Customizer setzt label/p/span auf 1.3rem!important bzw. winzig) */
body.rw-neu p,
body.rw-neu .elementor-widget-text-editor,
body.rw-neu .elementor-widget-text-editor p,
body.rw-neu .entry-content p,
body.rw-neu li {
	font-size: 17px !important;
	line-height: 1.65 !important;
	color: var(--rw-text);
}
body.rw-neu a { color: var(--rw-text); }
body.rw-neu a:hover { color: var(--rw-akzent); }

/* --- Kopfbereich ---------------------------------------------------------- */
body.rw-neu .navbar-custom {
	background: #111 !important;
}
body.rw-neu .navbar-custom .nav li > a {
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 1.6px !important;
	color: rgba(255, 255, 255, .78) !important;
	transition: color .2s;
}
body.rw-neu .navbar-custom .nav li > a:hover,
body.rw-neu .navbar-custom .nav li > a:focus {
	color: #fff !important;
}
body.rw-neu .shop_isle_header_title .site-title a,
body.rw-neu .shop_isle_header_title h1 a {
	font-weight: 700 !important;
	letter-spacing: 3px !important;
}

/* --- Abschnitts-Überschriften (Termine, Sei dabei!, Preisträger, Kontakt …) - */
body.rw-neu .elementor-widget-heading h2.elementor-heading-title,
body.rw-neu h2.elementor-heading-title.elementor-size-default {
	font-size: 34px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: .5px;
	text-transform: uppercase;
	color: var(--rw-text) !important;
	text-align: center;
	margin: 0 0 8px !important;
}
body.rw-neu .elementor-widget-heading h2.elementor-heading-title::after {
	content: '';
	display: block;
	width: 48px;
	height: 3px;
	margin: 14px auto 0;
	background: var(--rw-akzent);
}
/* Sektionen mit nur einer Überschrift: gleichmäßiger Abstand nach oben */
body.rw-neu .elementor-element-9e6091a,
body.rw-neu .elementor-element-60c207c,
body.rw-neu .elementor-element-db87e5d,
body.rw-neu .elementor-element-510fd7a {
	padding-top: 72px !important;
	padding-bottom: 20px !important;
}
body.rw-neu .elementor-section .elementor-container { max-width: var(--rw-breite); }

/* Video oben */
body.rw-neu .elementor-element-a3dd42c { padding-top: 32px; }
body.rw-neu .elementor-element-0ad2ad2 iframe,
body.rw-neu .elementor-element-0ad2ad2 .kh-mk {
	display: block;
	width: 100% !important;
	max-width: 960px;
	height: auto !important;
	aspect-ratio: 16 / 9;
	margin: 0 auto;
	border-radius: 6px;
	overflow: hidden;
}

/* --- Termine ---------------------------------------------------------------- */
body.rw-neu .elementor-element-6e1d5d3 > .elementor-widget-container > p:first-child,
body.rw-neu .elementor-element-6e1d5d3 p {
	text-align: center;
	color: var(--rw-grau) !important;
}
body.rw-neu .leaflet-container {
	border-radius: 6px;
	margin: 18px auto 28px;
}
body.rw-neu div.termine {
	width: 100% !important;
	max-width: var(--rw-lese);
	margin: 0 auto !important;
	padding: 0 !important;
	text-align: left !important;
}
body.rw-neu div.termine .event-wrapper {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas: "kopf aktion" "prog aktion" "zeit aktion" "hinweis hinweis";
	column-gap: 24px;
	align-items: center;
	padding: 20px 0;
	border-bottom: 1px solid var(--rw-linie);
	font-size: 15px;
	color: var(--rw-grau);
	line-height: 1.5;
}
body.rw-neu div.termine .event-wrapper:first-child { border-top: 1px solid var(--rw-linie); }
body.rw-neu div.termine .event-wrapper > br,
body.rw-neu div.termine .event-wrapper > hr { display: none; }
body.rw-neu div.termine .event-wrapper h3 {
	grid-area: kopf;
	margin: 0 0 2px !important;
	padding: 0;
	font-size: 20px !important;
	line-height: 1.3 !important;
	font-weight: 400 !important;
	color: var(--rw-text) !important;
	text-align: left;
}
body.rw-neu div.termine .event-wrapper h3 b { font-weight: 700; }
body.rw-neu div.termine .event-wrapper h3 > span[itemprop="name"] {
	display: block;
	font-family: var(--rw-schrift) !important;
	font-size: 16px;
	color: var(--rw-grau);
}
body.rw-neu div.termine .event-wrapper h4 {
	grid-area: prog;
	margin: 4px 0 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: 1.5px;
	color: var(--rw-akzent) !important;
	text-align: left;
}
body.rw-neu div.termine .event-wrapper .button,
body.rw-neu div.termine .event-wrapper .ausverkauft {
	grid-area: aktion;
	grid-row: 1 / 4;
	display: inline-block;
	justify-self: end;
	min-width: 150px;
	padding: 12px 18px !important;
	border: 2px solid var(--rw-text) !important;
	border-radius: 4px;
	background: var(--rw-text) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1px;
	text-transform: uppercase;
	text-align: center;
	text-decoration: none !important;
	line-height: 1.2;
	transition: background-color .2s, border-color .2s;
	white-space: nowrap;
}
body.rw-neu div.termine .event-wrapper .button { font-size: 0 !important; }
body.rw-neu div.termine .event-wrapper .button::after {
	content: 'Tickets';
	font-size: 14px;
}
body.rw-neu div.termine .event-wrapper .button:hover,
body.rw-neu div.termine .event-wrapper .button:focus-visible {
	background: var(--rw-akzent) !important;
	border-color: var(--rw-akzent) !important;
}
body.rw-neu div.termine .event-wrapper .ausverkauft {
	background: #fff !important;
	color: var(--rw-akzent) !important;
	border-color: var(--rw-akzent) !important;
	cursor: default;
}
body.rw-neu div.termine .event-wrapper .wenig {
	grid-area: hinweis;
	margin: 8px 0 0 !important;
	font-size: 13px !important;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--rw-akzent) !important;
	text-align: left;
}
/* „Weitere Termine“-Knopf (rw-neu.js) */
body.rw-neu .rw-mehr {
	display: block;
	margin: 28px auto 0;
	padding: 12px 26px;
	border: 2px solid var(--rw-text);
	border-radius: 4px;
	background: #fff;
	color: var(--rw-text);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
body.rw-neu .rw-mehr:hover { background: var(--rw-text); color: #fff; }
body.rw-neu div.termine.rw-gekuerzt .event-wrapper.rw-spaeter { display: none; }

/* --- Sei dabei! (Newsletter) ---------------------------------------------- */
body.rw-neu .elementor-element-ed90032 { padding: 10px 0 20px !important; }
body.rw-neu .elementor-element-ed90032 .elementor-container { max-width: 980px; align-items: center; }
body.rw-neu .elementor-element-596f75c img { border-radius: 6px; }
body.rw-neu .elementor-element-57f625a,
body.rw-neu .elementor-element-57f625a * { text-align: left; }
body.rw-neu .elementor-element-57f625a p { font-size: 17px !important; }
body.rw-neu .mc4wp-form label { font-size: 15px !important; color: var(--rw-grau); line-height: 1.5; }
body.rw-neu .mc4wp-form input[type="email"] {
	width: 100%;
	max-width: 420px;
	height: 46px;
	margin-top: 6px;
	padding: 0 14px;
	border: 1px solid #c9c9c9;
	border-radius: 4px;
	font-size: 16px;
}
body.rw-neu .mc4wp-form input[type="checkbox"] { margin-right: 8px; }
body.rw-neu .mc4wp-form p:has(input[type="checkbox"]) label { font-size: 13px !important; }
body.rw-neu .mc4wp-form input[type="submit"],
body.rw-neu .ff-btn-submit {
	padding: 12px 26px !important;
	border: 2px solid var(--rw-text) !important;
	border-radius: 4px !important;
	background: var(--rw-text) !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	letter-spacing: 1px !important;
	text-transform: uppercase;
	transition: background-color .2s, border-color .2s;
}
body.rw-neu .mc4wp-form input[type="submit"]:hover,
body.rw-neu .ff-btn-submit:hover {
	background: var(--rw-akzent) !important;
	border-color: var(--rw-akzent) !important;
}

/* --- Preisträger ---------------------------------------------------------- */
body.rw-neu .elementor-element-780c21c7,
body.rw-neu .elementor-element-9323d9f,
body.rw-neu .elementor-element-9aa1754,
body.rw-neu .elementor-element-9245a76,
body.rw-neu .elementor-element-9879dd6,
body.rw-neu .elementor-element-8971dff {
	max-width: 980px;
	margin: 0 auto !important;
	padding: 26px 20px !important;
	border-bottom: 1px solid var(--rw-linie);
}
body.rw-neu .elementor-element-8971dff { border-bottom: 0; }
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-col-50:first-child {
	width: 38% !important;
}
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-col-50:last-child {
	width: 62% !important;
	padding-left: 32px;
}
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-image img {
	width: 100%;
	height: 300px !important;
	object-fit: cover;
	border-radius: 6px;
}
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-heading h2.elementor-heading-title,
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-heading-title {
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: left !important;
	text-transform: none;
	color: var(--rw-text) !important;
	margin-bottom: 8px !important;
}
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-heading h2.elementor-heading-title::after { display: none; }
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) p {
	margin: 0 0 6px !important;
	font-size: 16px !important;
	color: var(--rw-grau);
}

/* --- Kontakt & Booking / Formulare --------------------------------------- */
body.rw-neu .elementor-element-46052f0 .elementor-container { max-width: 860px; }
body.rw-neu .elementor-element-f941e29 p { text-align: center; }
body.rw-neu .fluentform .ff-el-input--label label {
	font-size: 14px !important;
	font-weight: 700;
	color: var(--rw-text);
}
body.rw-neu .fluentform .ff-el-form-control {
	min-height: 46px;
	border-radius: 4px;
	font-size: 16px !important;
}
body.rw-neu .fluentform .ff-el-form-check-label,
body.rw-neu .fluentform .ff-el-form-check-label span { font-size: 14px !important; }
body.rw-neu .fluentform .ff-el-section-break .ff-el-section-title,
body.rw-neu .fluentform h3 {
	font-size: 22px !important;
	font-weight: 700 !important;
}

/* --- Podcast-Seite -------------------------------------------------------- */
body.rw-neu .podcast-details-container { padding: 40px 0 10px; }
body.rw-neu .podcast-details {
	display: grid !important;
	grid-template-columns: 1fr 300px;
	gap: 40px;
	align-items: start;
	max-width: 980px;
	padding: 0 !important;
}
body.rw-neu .podcast-details::before,
body.rw-neu .podcast-details::after { display: none !important; }
body.rw-neu .podcast-details__right img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
body.rw-neu .podcast-title {
	font-family: var(--rw-kopf) !important;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	margin-bottom: 18px;
}
body.rw-neu .podcast-title::after {
	content: '';
	display: block;
	width: 48px;
	height: 3px;
	margin-top: 14px;
	background: var(--rw-akzent);
}
body.rw-neu .podcast-description {
	font-size: 17px !important;
	line-height: 1.7;
	color: var(--rw-text);
}
body.rw-neu .elementor-element-797c0e93 .kh-mk,
body.rw-neu .elementor-element-797c0e93 iframe {
	max-width: 980px;
	margin: 30px auto 0;
	border-radius: 8px;
}
body.rw-neu .elementor-element-71b9fbb .elementor-container {
	max-width: 980px;
	margin-top: 40px;
	padding: 30px;
	background: var(--rw-hell);
	border-radius: 8px;
}

/* --- Fußzeile -------------------------------------------------------------- */
body.rw-neu .footer {
	background: #111 !important;
	padding: 26px 0 !important;
}
body.rw-neu .footer .copyright,
body.rw-neu .footer .copyright a {
	font-size: 13px !important;
	letter-spacing: 1.5px;
	color: rgba(255, 255, 255, .7) !important;
}
body.rw-neu .footer .copyright a:hover { color: #fff !important; }
body.rw-neu .footer .col-sm-6:first-child { width: 100%; text-align: center; }

/* --- Handy ------------------------------------------------------------------ */
@media (max-width: 767px) {
	body.rw-neu { font-size: 16px; }
	body.rw-neu p,
	body.rw-neu .elementor-widget-text-editor p,
	body.rw-neu li { font-size: 16px !important; }
	body.rw-neu .elementor-widget-heading h2.elementor-heading-title,
	body.rw-neu h2.elementor-heading-title.elementor-size-default { font-size: 28px !important; }
	body.rw-neu .elementor-element-9e6091a,
	body.rw-neu .elementor-element-60c207c,
	body.rw-neu .elementor-element-db87e5d,
	body.rw-neu .elementor-element-510fd7a { padding-top: 52px !important; }
	body.rw-neu .elementor-section > .elementor-container { padding-left: 20px; padding-right: 20px; }
	body.rw-neu div.termine .event-wrapper {
		grid-template-columns: 1fr;
		grid-template-areas: "kopf" "prog" "zeit" "aktion" "hinweis";
		padding: 18px 0;
	}
	body.rw-neu div.termine .event-wrapper .button,
	body.rw-neu div.termine .event-wrapper .ausverkauft {
		grid-row: auto;
		justify-self: stretch;
		margin-top: 12px;
	}
	body.rw-neu div.termine .event-wrapper h3 { font-size: 18px !important; }
	body.rw-neu .elementor-element-57f625a,
	body.rw-neu .elementor-element-57f625a * { text-align: left; }
	body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-col-50:first-child,
	body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-col-50:last-child {
		width: 100% !important;
		padding-left: 0;
	}
	body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-image img {
		height: 240px !important;
		margin-bottom: 14px;
	}
	body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-heading h2.elementor-heading-title,
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-heading-title { text-align: left !important; }
	body.rw-neu .podcast-details { grid-template-columns: 1fr; gap: 22px; }
	body.rw-neu .podcast-details__right { order: -1; max-width: 240px; }
	body.rw-neu .podcast-title { font-size: 32px; }
	body.rw-neu .elementor-element-71b9fbb .elementor-container { padding: 22px 18px; margin: 30px 16px 0; }
}

/* Einblend-Animationen von Elementor im neuen Design aus (Inhalte sofort sichtbar, ruhiger) */
body.rw-neu .elementor-invisible { visibility: visible !important; }
body.rw-neu .animated { animation: none !important; }

@media (prefers-reduced-motion: reduce) {
	body.rw-neu * { transition: none !important; }
}

/* Emojis im Text klein halten */
body.rw-neu img.emoji { width: 1em !important; height: 1em !important; display: inline !important; margin: 0 .1em !important; vertical-align: -0.1em; }
/* Video-/Podcast-Platzhalter: Link im Hinweis weiß (allgemeine Linkfarbe überstimmen) */
body.rw-neu .kh-mk a, body.rw-neu .kh-mk a:hover { color: #fff !important; }
body.rw-neu .kh-mk__titel, body.rw-neu .kh-mk__hinweis { color: #fff !important; }
/* Termin-Text einheitlich grau */
body.rw-neu div.termine .event-wrapper,
body.rw-neu div.termine .event-wrapper * { -webkit-text-fill-color: currentColor; }
body.rw-neu div.termine .event-wrapper a[href^="tel"],
body.rw-neu div.termine .event-wrapper span:not([itemprop]) { color: inherit !important; }
/* Kontakt-Block: Text einheitlich */
body.rw-neu .elementor-element-f941e29 p,
body.rw-neu .elementor-element-f941e29 strong,
body.rw-neu .elementor-element-f941e29 span,
body.rw-neu .elementor-element-f941e29 h3,
body.rw-neu .elementor-element-f941e29 h4 {
	font-size: 17px !important;
	line-height: 1.6 !important;
	text-align: center;
}
body.rw-neu .elementor-element-f941e29 strong,
body.rw-neu .elementor-element-f941e29 b { font-family: var(--rw-kopf) !important; letter-spacing: .5px; }
/* Lade-Overlay des Themes aus – Inhalt sofort sichtbar */
body.rw-neu .page-loader { display: none !important; }
/* Ticket-Knopf: Beschriftung exakt mittig */
body.rw-neu div.termine .event-wrapper .button { display: inline-flex; align-items: center; justify-content: center; }
/* Preisträger-Texte linksbündig wie die Überschrift */
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-text-editor,
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-text-editor p { text-align: left !important; }
/* Podcast-Seite: Feinschliff */
body.rw-neu .podcast-description,
body.rw-neu .podcast-description * { font-size: 17px !important; line-height: 1.7 !important; }
body.rw-neu .podcast-title { font-size: 40px !important; text-align: left !important; }
body.rw-neu .elementor-element-2cfaf8a8 { padding-bottom: 0 !important; }
body.rw-neu .elementor-element-71b9fbb { padding-top: 0 !important; }
body.rw-neu .elementor-element-71b9fbb .elementor-container { margin-top: 36px; }
body.rw-neu .kh-mk--podigee .kh-mk__play { border-radius: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; background: var(--rw-akzent); }
body.rw-neu .kh-mk--podigee .kh-mk__play::after { left: 25px; top: 21px; border-width: 11px 0 11px 18px; }
@media (max-width: 767px) {
	body.rw-neu .podcast-title { font-size: 30px !important; }
	body.rw-neu .podcast-description,
	body.rw-neu .podcast-description * { font-size: 16px !important; }
	body.rw-neu .kh-mk--podigee { background-image: none !important; min-height: 190px; }
}
body.rw-neu .elementor-element-71b9fbb { margin-top: 0 !important; margin-bottom: 70px !important; }
@media (max-width: 767px) {
	body.rw-neu .kh-mk--podigee .kh-mk__play { top: 34%; }
	body.rw-neu .kh-mk--podigee .kh-mk__knopf { display: none; }
	body.rw-neu .elementor-element-71b9fbb { margin-bottom: 40px !important; }
}
/* Handy-Menü deckend (Theme: halbtransparent – Inhalt schien durch) */
@media (max-width: 767px) {
	body.rw-neu .navbar-custom .navbar-collapse,
	body.rw-neu .navbar-fixed-top .navbar-collapse {
		background: #111 !important;
		border-bottom: 3px solid var(--rw-akzent);
		box-shadow: 0 12px 24px rgba(0, 0, 0, .25);
	}
	body.rw-neu .navbar-custom .nav li > a { font-size: 14px !important; padding: 13px 20px !important; }
}
/* Podcast: Einzel-Player entfällt zugunsten der Folgenliste (Plugin kh-podcast-folgen) */
body.rw-neu .elementor-element-797c0e93 .kh-mk--podigee { display: none !important; }
body.rw-neu .elementor-element-f0lg3n1 { margin-top: 40px; }
body.rw-neu .kh-pf__ueberschrift {
	font-family: var(--rw-kopf) !important;
	font-size: 30px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	color: var(--rw-text) !important;
}
body.rw-neu .kh-pf__ueberschrift::after { content: ''; display: block; width: 48px; height: 3px; margin-top: 12px; background: var(--rw-akzent); }
body.rw-neu .kh-pf__titel { font-family: var(--rw-kopf) !important; font-size: 22px !important; font-weight: 700 !important; color: var(--rw-text) !important; }
body.rw-neu .kh-pf__text { font-size: 16px !important; line-height: 1.6 !important; }
body.rw-neu .kh-pf__untertitel { font-size: 16px !important; }
body.rw-neu .kh-pf__meta { font-size: 13px !important; }

/* ==========================================================================
   Animationen (dezent) – Klassen setzt assets/rw-neu.js; ohne JS / bei „Bewegung reduzieren“ inaktiv
   ========================================================================== */
html.rw-anim body.rw-neu .rw-auf {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .6s ease, transform .6s cubic-bezier(.2, .7, .2, 1);
	transition-delay: var(--rw-verz, 0ms);
}
html.rw-anim body.rw-neu .rw-auf.rw-sichtbar {
	opacity: 1;
	transform: none;
}
/* Roter Strich unter den Überschriften wächst beim Erscheinen */
html.rw-anim body.rw-neu .elementor-widget-heading h2.elementor-heading-title.rw-auf::after,
html.rw-anim body.rw-neu .kh-pf__ueberschrift.rw-auf::after,
html.rw-anim body.rw-neu .podcast-details__left.rw-auf .podcast-title::after {
	transform: scaleX(0);
	transition: transform .7s cubic-bezier(.2, .7, .2, 1) .25s;
}
html.rw-anim body.rw-neu .elementor-widget-heading h2.elementor-heading-title.rw-sichtbar::after,
html.rw-anim body.rw-neu .kh-pf__ueberschrift.rw-sichtbar::after,
html.rw-anim body.rw-neu .podcast-details__left.rw-sichtbar .podcast-title::after {
	transform: scaleX(1);
}
body.rw-neu .kh-pf__ueberschrift::after,
body.rw-neu .podcast-title::after { transform-origin: left center; }
body.rw-neu .elementor-widget-heading h2.elementor-heading-title::after { transform-origin: center; }

/* Kopfbereich wird beim Scrollen schmaler (Klasse navbar-scroll-point setzt das Theme) */
body.rw-neu .navbar-custom .header-container,
body.rw-neu .navbar-custom .shop_isle_header_title .site-title a,
body.rw-neu .navbar-custom .shop_isle_header_title h1 a {
	transition: padding .3s ease, font-size .3s ease;
}
@media (min-width: 768px) {
	body.rw-neu .navbar-custom { transition: padding .3s ease, box-shadow .3s ease; }
	body.rw-neu .navbar-custom .shop_isle_header_title { transition: padding .3s ease, transform .3s ease; transform-origin: left center; }
	body.rw-neu .navbar-custom.navbar-scroll-point { padding-top: 2px !important; padding-bottom: 2px !important; }
	body.rw-neu .navbar-custom.navbar-scroll-point .shop_isle_header_title { padding-top: 0 !important; padding-bottom: 0 !important; transform: scale(.88); }
	body.rw-neu .navbar-custom.navbar-scroll-point { box-shadow: 0 4px 18px rgba(0, 0, 0, .25); }
}

/* Menü: Unterstrich wächst beim Darüberfahren (Desktop) */
@media (min-width: 768px) {
	body.rw-neu .navbar-custom .nav > li > a { position: relative; }
	body.rw-neu .navbar-custom .nav > li > a::after {
		content: '';
		position: absolute;
		left: 15px;
		right: 15px;
		bottom: 8px;
		height: 2px;
		background: var(--rw-akzent);
		transform: scaleX(0);
		transform-origin: left center;
		transition: transform .3s ease;
	}
	body.rw-neu .navbar-custom .nav > li > a:hover::after,
	body.rw-neu .navbar-custom .nav > li > a:focus-visible::after { transform: scaleX(1); }
}

/* Knöpfe heben sich leicht an */
body.rw-neu div.termine .event-wrapper .button,
body.rw-neu .rw-mehr,
body.rw-neu .kh-pf__play,
body.rw-neu .kh-pf__mehr,
body.rw-neu .ff-btn-submit,
body.rw-neu .mc4wp-form input[type="submit"] {
	transition: background-color .2s, border-color .2s, color .2s, transform .2s ease, box-shadow .2s ease !important;
}
body.rw-neu div.termine .event-wrapper .button:hover,
body.rw-neu .kh-pf__play:hover,
body.rw-neu .kh-pf__mehr:hover,
body.rw-neu .ff-btn-submit:hover,
body.rw-neu .mc4wp-form input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, .18);
}

/* Preisträger-Bilder: sanfter Zoom beim Darüberfahren */
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-image .elementor-widget-container {
	overflow: hidden;
	border-radius: 6px;
}
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff) .elementor-widget-image img {
	transition: transform .6s cubic-bezier(.2, .7, .2, 1);
}
body.rw-neu :is(.elementor-element-780c21c7, .elementor-element-9323d9f, .elementor-element-9aa1754, .elementor-element-9245a76, .elementor-element-9879dd6, .elementor-element-8971dff):hover .elementor-widget-image img {
	transform: scale(1.04);
}

/* Video-/Podcast-Platzhalter: Abspielknopf reagiert */
body.rw-neu .kh-mk__play { transition: transform .25s ease; }
body.rw-neu .kh-mk__start:hover .kh-mk__play,
body.rw-neu .kh-mk__start:focus-visible .kh-mk__play { transform: scale(1.12); }

/* Termine: Zeile hebt sich beim Darüberfahren ganz leicht ab */
@media (hover: hover) {
	body.rw-neu div.termine .event-wrapper { transition: background-color .25s ease; }
	body.rw-neu div.termine .event-wrapper:hover { background: #fafaf8; }
}

@media (prefers-reduced-motion: reduce) {
	html.rw-anim body.rw-neu .rw-auf { opacity: 1 !important; transform: none !important; }
	body.rw-neu *, body.rw-neu *::after { transition: none !important; }
}
/* Theme setzt nach dem Zurückscrollen .navbar-transparent mit 15px statt 10px – gleiche Höhe wie beim Laden */
@media (min-width: 768px) {
	body.rw-neu .navbar-custom.navbar-transparent { padding-top: 10px !important; padding-bottom: 10px !important; }
}

/* --- Karte: Info-Blasen und Marker im neuen Design ------------------------- */
body.rw-neu .leaflet-popup-content-wrapper {
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(0, 0, 0, .22);
	padding: 4px 2px;
}
body.rw-neu .leaflet-popup-content { margin: 14px 18px 16px; }
body.rw-neu .leaflet-popup-content p.address {
	margin: 0 !important;
	font-family: var(--rw-schrift) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	color: var(--rw-text) !important;
}
body.rw-neu .leaflet-popup-content p.address br { display: block; content: ''; margin-top: 2px; }
body.rw-neu .leaflet-popup-content p.address strong {
	display: block;
	margin-bottom: 4px;
	font-family: var(--rw-kopf) !important;
	font-size: 13px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--rw-akzent);
}
body.rw-neu .leaflet-popup-content p.address a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 10px;
	padding: 9px 18px;
	border-radius: 4px;
	background: var(--rw-text);
	color: #fff !important;
	font-size: 0;
	text-decoration: none !important;
	transition: background-color .2s;
}
body.rw-neu .leaflet-popup-content p.address a::after {
	content: 'Tickets';
	font-family: var(--rw-kopf);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}
body.rw-neu .leaflet-popup-content p.address a:hover { background: var(--rw-akzent); }
body.rw-neu .leaflet-container a.leaflet-popup-close-button { top: 6px; right: 6px; color: #999; font-size: 20px; }
body.rw-neu .leaflet-container a.leaflet-popup-close-button:hover { color: var(--rw-text); }
/* Marker im Akzent-Rot (Standard-Leaflet-Marker ist blau) */
body.rw-neu img.leaflet-marker-icon { filter: hue-rotate(150deg) saturate(1.25) brightness(.95); }
body.rw-neu .leaflet-popup-content p.address strong + br { display: none; }
/* Info-Blase: Wochentag + Datum dunkel, Programm rot (wie in der Terminliste), Beginn grau */
body.rw-neu .leaflet-popup-content p.address strong { color: var(--rw-text); font-size: 14px; letter-spacing: 1px; margin-bottom: 2px; }
body.rw-neu .leaflet-popup-content p.address br { display: none; }
body.rw-neu .leaflet-popup-content p.address .tp-programm {
	display: block;
	margin-bottom: 6px;
	font-family: var(--rw-kopf) !important;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--rw-akzent);
}
body.rw-neu .leaflet-popup-content p.address .tp-zeit {
	display: block;
	margin-top: 2px;
	font-size: 14px;
	font-weight: 400;
	color: var(--rw-grau);
}
body.rw-neu .leaflet-popup-content p.address .tp-ausverkauft {
	display: inline-block;
	margin-top: 10px;
	padding: 7px 14px;
	border: 2px solid var(--rw-akzent);
	border-radius: 4px;
	color: var(--rw-akzent) !important;
	font-family: var(--rw-kopf) !important;
	font-size: 13px;
	letter-spacing: 1px;
}
body.rw-neu .leaflet-popup-content p.address a { display: flex; width: fit-content; }

/* --- Termine mittig (Wunsch des Managements, 03.11.2026) --------------------
   Alles zentriert untereinander, Ticket-/Ausverkauft-Knopf mittig unter dem Termin – auf allen Bildschirmgrößen. */
body.rw-neu div.termine,
body.rw-neu div.termine .event-wrapper,
body.rw-neu div.termine .event-wrapper h3,
body.rw-neu div.termine .event-wrapper h4,
body.rw-neu div.termine .event-wrapper .wenig { text-align: center !important; }
body.rw-neu div.termine .event-wrapper {
	grid-template-columns: 1fr;
	grid-template-areas: "kopf" "prog" "zeit" "aktion" "hinweis";
	justify-items: center;
}
body.rw-neu div.termine .event-wrapper .button,
body.rw-neu div.termine .event-wrapper .ausverkauft {
	grid-row: auto;
	justify-self: center;
	margin-top: 14px;
	min-width: 200px;
}
/* Knopftext exakt mittig: der versteckte Originaltext („Kartenvorverkauf hier klicken“) hat font-size 0,
   aber sein Buchstabenabstand nahm trotzdem Platz ein → Abstand nur auf dem sichtbaren „Tickets“ */
body.rw-neu div.termine .event-wrapper .button { letter-spacing: 0 !important; }
body.rw-neu div.termine .event-wrapper .button::after { letter-spacing: 1px; }
/* Fester Kopfbereich über den Zoom-Knöpfen der Karte (beide z-index 1000, Karte lag beim Scrollen obenauf) */
body.rw-neu .navbar-custom.navbar-fixed-top { z-index: 1100; }
/* Karten-Blase: Tickets-Knopf mittig wie der übrige (zentrierte) Text – als Flex-Element brauchte er eigene Ränder */
body.rw-neu .leaflet-popup-content p.address a { margin-left: auto; margin-right: auto; }
