/* =========================================
   Design Tokens / Basiswerte
========================================= */
:root {
	--blue: #0066b3;
	--blue-dark: #005a8c;
	--blue-soft: #edf5f9;
	--red: #0066b3;

	--text: #1f2733;
	--text-soft: #5d6877;
	--line: #dbe4ee;
	--bg: #eceff3;
	--white: #ffffff;

	--shadow: 0 10px 28px rgba(9, 36, 68, 0.08);
	--shadow-soft: 0 6px 18px rgba(9, 36, 68, 0.05);

	--radius-lg: 10px;
	--radius-md: 10px;

	--container: 1180px;
}

/* =========================================
   Reset / Grundlayout
========================================= */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	min-height: 100%;
}

body {
	font-family: Arial, sans-serif;
	color: var(--text);
	overflow-x: hidden;
	background:
		radial-gradient(circle at top left, rgba(11, 75, 146, 0.05), transparent 32%),
		linear-gradient(180deg, #15212c 0%, #1b2c39 100%);
}

img {
	display: block;
	max-width: 100%;
}

a {
	color: inherit;
	text-decoration: none;
}

/* =========================================
   Alte Header-Strukturen neutralisieren
========================================= */
#header-placeholder {
	min-height: 0;
	background: transparent;
	border-bottom: 0;
}

header.site-header,
header {
	position: relative;
	z-index: 1000;
}

.header-container,
.headlogo,
.nav {
	all: unset;
}

/* =========================================
   Seiten-Container
========================================= */
.site-main {
	width: min(calc(100% - 24px), var(--container));
	margin: 24px auto 64px;
}

/* =========================================
   Wiederverwendbare UI-Bausteine
========================================= */
.card {
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(8, 53, 100, 0.08);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.section-head {
	margin-bottom: 20px;
}

.section-head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
}

.section-kicker {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--blue);
}

.section-head h2 {
	margin: 0;
	font-size: clamp(1.45rem, 3vw, 2.2rem);
	line-height: 1.08;
	color: #eef3f7;
}

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid transparent;
	border-radius: 999px;
	cursor: pointer;
	font-size: 0.92rem;
	font-weight: 700;
	transition:
		transform 0.2s ease,
		background 0.2s ease,
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.btn:hover {
	transform: translateY(-2px);
}

.btn-primary {
	color: #fff;
	background: var(--red);
	box-shadow: 0 8px 18px rgba(230, 58, 46, 0.22);
}

.btn-primary:hover {
	color: #fff;
	background: #00699f;
}

.btn-secondary {
	color: var(--blue-dark);
	background: rgba(255, 255, 255, 0.88);
	border-color: var(--line);
}

.btn-secondary:hover {
	color: var(--blue);
	background: #15212c;
	border-color: #354b5d;
}

.btn-small {
	min-height: 38px;
	padding: 0 14px;
	font-size: 0.84rem;
}

.icon-btn {
	width: 38px;
	height: 38px;
	border: 1px solid var(--line);
	border-radius: 50%;
	background: #15212c;
	color: var(--blue-dark);
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.icon-btn:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-soft);
}

.live-pill,
.hero-tags span,
.traffic-tags span,
.weather-tags span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 999px;
	font-weight: 600;
}

.hero-tags span,
.traffic-tags span,
.weather-tags span {
	background: #15212c;
	border: 1px solid var(--line);
	color: var(--blue-dark);
	font-size: 0.82rem;
}

.live-pill {
	padding: 6px 10px;
	background: #15212c;
	color: var(--red);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.13em;
}

.live-pill::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--red);
}

.point-box,
.platform-card,
.service-list-card,
.stream-link-item,
.jobs-highlight,
.join-hero__box,
.legal-hero__box,
.traffic-hero__box,
.weather-hero__box,
.weather-card {
	background: linear-gradient(180deg, #15212c 0%, #15212c 100%);
	border: 1px solid rgba(8, 53, 100, 0.08);
	box-shadow: var(--shadow-soft);
}

.point-box i,
.service-list-card__icon,
.jobs-highlight i,
.join-hero__box i,
.legal-hero__box i,
.traffic-hero__box i,
.weather-hero__box i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	background: #15212c;
	color: var(--blue);
	border-radius: var(--radius-lg);
}

/* =========================================
   Hero Startseite
========================================= */
.hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.38fr) minmax(320px, 0.72fr);
	gap: 18px;
	align-items: stretch;
	margin-bottom: 18px;
}

.hero-story {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 0;
	overflow: hidden;
}

.hero-story__image {
	position: relative;
	height: 320px;
}

.hero-story__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-story__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7, 37, 73, 0.08), rgba(7, 37, 73, 0.42));
}

.hero-story__badge {
	position: absolute;
	left: 18px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: 7px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--blue-dark);
	font-size: 0.76rem;
	font-weight: 700;
}

.hero-story__content {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	padding: 24px;
}

.hero-story__content h1 {
	margin: 0 0 14px;
	font-size: clamp(2.2rem, 4vw, 3.5rem);
	line-height: 0.98;
	letter-spacing: -0.03em;
	color: #eef3f7;
}

.hero-story__lead {
	margin-bottom: 12px !important;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.7 !important;
	color: #eef3f7 !important;
}

.hero-story__content p {
	max-width: 760px;
	margin: 0 0 18px;
	font-size: 1rem;
	line-height: 1.75;
	color: var(--text-soft);
}

.hero-actions,
.hero-tags {
	display: flex;
	flex-wrap: wrap;
}

.hero-actions {
	gap: 10px;
	margin-bottom: 16px;
}

.hero-tags {
	gap: 8px;
}

/* =========================================
   On Air Box
========================================= */
.onair-box {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 16px;
}

.onair-box__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 12px;
}

.onair-box__cover {
	position: relative;
	margin-bottom: 16px;
	overflow: hidden;
	border-radius: var(--radius-lg);
	background: var(--blue-soft);
}

.song_img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.play-fab {
	position: absolute;
	left: 14px;
	bottom: 14px;
	width: 52px;
	height: 52px;
	border: 0;
	border-radius: 50%;
	background: var(--red);
	color: #fff;
	font-size: 0.95rem;
	cursor: pointer;
	box-shadow: 0 10px 20px rgba(230, 58, 46, 0.22);
}

.show-title {
	margin-bottom: 8px;
	font-size: 1.45rem;
	font-weight: 800;
	line-height: 1.1;
	color: #eef3f7;
}

.show-time {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
	font-size: 0.9rem;
	color: var(--text-soft);
}

.now-playing-label {
	margin-bottom: 7px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--blue);
}

.track-title {
	margin-bottom: 4px;
	font-size: 1.04rem;
	font-weight: 800;
	color: #eef3f7;
}

.track-artist {
	font-size: 0.96rem;
	color: var(--text-soft);
}

/* =========================================
   Welcome / Intro
========================================= */
.welcome-box {
	margin-bottom: 22px;
	padding: 28px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 252, 255, 0.96));
}

.welcome-head {
	display: block;
	margin-bottom: 24px;
}

.welcome-head__content {
	max-width: 100%;
}

.welcome-head h2 {
	margin: 10px 0 14px;
	line-height: 1.15;
	max-width: 900px;
	letter-spacing: -0.01em;
}

.welcome-intro {
	margin: 0;
	max-width: 720px;
	font-size: 1rem;
	line-height: 1.75;
	color: var(--text-soft);
}

.welcome-quicklinks {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 18px;
}

.welcome-quicklinks a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.9);
	color: var(--blue);
	text-decoration: none;
	font-weight: 700;
	font-size: 0.95rem;
	transition: all 0.2s ease;
	box-shadow: var(--shadow-soft);
	backdrop-filter: blur(6px);
}

.welcome-quicklinks a:hover {
	background: var(--blue-soft);
	border-color: rgba(11, 75, 146, 0.25);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(11, 75, 146, 0.12);
}

.welcome-quicklinks i {
	font-size: 0.95rem;
}

.welcome-grid {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	gap: 22px;
	align-items: start;
}

.welcome-copy {
	display: grid;
	gap: 16px;
}

.welcome-copy__panel {
	padding: 22px;
	border-radius: var(--radius-lg);
	background: linear-gradient(180deg, #15212c 0%, #15212c 100%);
	border: 1px solid rgba(8, 53, 100, 0.08);
}

.welcome-lead {
	font-size: 1.08rem;
	line-height: 1.8;
	color: #eef3f7;
}

.welcome-copy p {
	margin: 0 0 16px;
	line-height: 1.75;
	color: var(--text-soft);
}

.welcome-copy p:last-child {
	margin-bottom: 0;
}

.welcome-contact {
	padding: 18px 20px;
	border-radius: var(--radius-lg);
	background: linear-gradient(135deg, #0066b3 0%, #0066b3 100%);
	color: #fff;
	box-shadow: 0 14px 28px rgba(11, 75, 146, 0.16);
}

.welcome-contact__label {
	display: inline-block;
	margin-bottom: 8px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.welcome-contact p {
	margin: 0;
	line-height: 1.7;
	color: #fff;
}

.welcome-points {
	display: grid;
	gap: 12px;
}

.point-box {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px;
	border-radius: var(--radius-lg);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.point-box:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px rgba(9, 36, 68, 0.1);
}

.point-box i {
	width: 40px;
	height: 40px;
	border-radius: var(--radius-md);
}

.point-box strong {
	display: block;
	margin-bottom: 5px;
	font-size: 1rem;
	color: #eef3f7;
}

.point-box span {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--text-soft);
}

/* =========================================
   Playlist Showcase
========================================= */
.playlist-showcase {
	margin-bottom: 24px;
}

.playlist-showcase__head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 14px;
}

.playlist-showcase__title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.playlist-showcase__title h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: clamp(1.9rem, 3vw, 2.5rem);
	line-height: 1.1;
	color: var(--blue);
}

.playlist-showcase__title h2 i {
	font-size: 1.35rem;
	color: var(--blue);
}

.playlist-showcase__line {
	display: block;
	width: 128px;
	height: 4px;
	margin-top: 10px;
	margin-left: 54px;
	border-radius: 999px;
	background: var(--red);
}

.playlist-showcase__cta {
	flex-shrink: 0;
	white-space: nowrap;
}

.playlist-showcase__panel {
	display: grid;
	grid-template-columns: 330px minmax(0, 1fr);
	gap: 18px;
	align-items: stretch;
	padding: 12px;
	overflow: hidden;
	background: linear-gradient(180deg, #15212c 0%, #1b2c39 100%);
	border: 1px solid rgba(11, 75, 146, 0.12);
	border-radius: var(--radius-lg);
	box-shadow: 0 12px 28px rgba(11, 75, 146, 0.08);
}

.playlist-featured {
	position: relative;
	min-width: 0;
	height: 100%;
}

.playlist-featured__cover {
	position: relative;
	height: 100%;
	overflow: hidden;
	background: #005a8c;
	border-radius: var(--radius-lg);
}

.playlist-featured__cover img {
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.playlist-featured__cover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.02) 0%,
		rgba(0, 0, 0, 0.08) 55%,
		rgba(0, 0, 0, 0.62) 100%
	);
	pointer-events: none;
}

.playlist-featured__badge {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 30px;
	padding: 0 10px;
	border-radius: 4px;
	background: #ff2b2b;
	color: #fff;
	font-size: 0.86rem;
	font-weight: 800;
}

.playlist-featured__meta {
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 12px;
	z-index: 2;
}

.playlist-featured__meta::before {
	content: "Aktuell im Stream";
	display: block;
	margin-bottom: 6px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.9);
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}

.playlist-featured__meta h3 {
	margin: 0 0 3px;
	font-size: 1.12rem;
	font-weight: 800;
	line-height: 1.18;
	color: #fff;
	text-shadow: 0 3px 10px rgba(0, 0, 0, 0.42);
	word-break: break-word;
}

.playlist-featured__meta p {
	margin: 0;
	font-size: 0.92rem;
	line-height: 1.32;
	color: rgba(255, 255, 255, 0.96);
	text-shadow: 0 3px 10px rgba(0, 0, 0, 0.42);
	word-break: break-word;
}

.playlist-history {
	display: flex;
	align-items: stretch;
	min-width: 0;
	height: 100%;
	padding: 0;
}

.playlist-history__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
	height: 100%;
}

.playlist-history__item {
	flex: 1;
	display: grid;
	grid-template-columns: 60px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid rgba(8, 53, 100, 0.1);
}

.playlist-history__item:last-child {
	border-bottom: 0;
}

.playlist-history__cover {
	width: 60px;
	height: 60px;
	flex-shrink: 0;
	object-fit: cover;
	border-radius: var(--radius-md);
	background: rgba(255, 255, 255, 0.7);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.playlist-history__content {
	min-width: 0;
}

.playlist-history__time {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 20px;
	padding: 0 6px;
	margin-bottom: 3px;
	border-radius: 3px;
	background: #ff2b2b;
	color: #fff;
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 1;
}

.playlist-history__title {
	margin: 0 0 3px;
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.22;
	color: #80c4f2;
	word-break: break-word;
}

.playlist-history__artist {
	margin: 0;
	font-size: 0.85rem;
	line-height: 1.3;
	color: #b8c7d3;
	word-break: break-word;
}

/* =========================================
   Nützliche Links
========================================= */
.useful-links-section {
	margin-bottom: 24px;
}

.links-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	margin-bottom: 18px;
}

.links-head h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: clamp(1.9rem, 3vw, 2.8rem);
	line-height: 1.1;
	color: #eef3f7;
}

.links-head h2 i {
	font-size: 1.7rem;
	color: var(--blue-dark);
}

.links-head__line {
	display: block;
	width: 128px;
	height: 4px;
	margin-top: 12px;
	margin-left: 58px;
	border-radius: 999px;
	background: var(--red);
}

.useful-links-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 18px;
}

.useful-links-grid .useful-link-card:nth-child(1),
.useful-links-grid .useful-link-card:nth-child(2) {
	grid-column: span 3;
	min-height: 250px;
}

.useful-links-grid .useful-link-card:nth-child(n + 3) {
	grid-column: span 2;
	min-height: 220px;
}

.useful-link-card {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.useful-link-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 30px rgba(0, 0, 0, 0.16);
}

.useful-link-card__image,
.useful-link-card__image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.useful-link-card__image img {
	object-fit: cover;
}

.useful-link-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(8, 19, 34, 0.12) 0%,
		rgba(8, 19, 34, 0.28) 48%,
		rgba(8, 19, 34, 0.72) 100%
	);
}

.useful-link-card__content {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 18px;
	z-index: 2;
	color: #fff;
}

.useful-link-card__content h3 {
	margin: 0 0 8px;
	font-size: 1.45rem;
	line-height: 1.1;
	color: #fff;
}

.useful-link-card__content p {
	max-width: 92%;
	margin: 0;
	font-size: 0.96rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, 0.94);
}

/* =========================================
   Footer
========================================= */
#dynamic-footer footer,
footer {
	margin-top: 0;
	padding: 28px 20px 34px;
	background: #0d1f36;
	color: rgba(255, 255, 255, 0.78);
	text-align: center;
}

.sociallinks-link-icon p {
	margin: 0 0 12px;
}

.sociallinks-link-icon a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin: 0 6px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	font-size: 20px;
	transition: 0.2s ease;
}

.sociallinks-link-icon a:hover {
	background: rgba(255, 255, 255, 0.16);
	color: #fff;
	transform: translateY(-2px);
}

/* =========================================
   Unterseiten / Empfang
========================================= */
.subhero {
	display: grid;
	grid-template-columns: 1.08fr 0.92fr;
	gap: 0;
	overflow: hidden;
	margin-bottom: 22px;
}

.subhero__media {
	position: relative;
	min-height: 420px;
}

.subhero__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.subhero__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(7, 37, 73, 0.06), rgba(7, 37, 73, 0.34));
}

.subhero__badge {
	position: absolute;
	left: 18px;
	bottom: 16px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: 7px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.94);
	color: var(--blue-dark);
	font-size: 0.76rem;
	font-weight: 700;
}

.subhero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 28px;
}

.subhero__content h1 {
	margin: 0 0 14px;
	font-size: clamp(2.1rem, 4vw, 3.3rem);
	line-height: 1;
	color: #eef3f7;
}

.subhero__lead {
	margin: 0 0 14px;
	font-size: 1.06rem;
	font-weight: 700;
	line-height: 1.7;
	color: #eef3f7;
}

.subhero__content p {
	margin: 0 0 16px;
	line-height: 1.75;
	color: var(--text-soft);
}

.platform-section,
.services-panel,
.stream-links-panel {
	margin-bottom: 22px;
	padding: 26px;
}

.platform-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.platform-card {
	display: block;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	border-radius: var(--radius-lg);
}

.platform-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 24px rgba(9, 36, 68, 0.08);
}

.platform-card img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	border-radius: 10px 10px 0 0;
}

.platform-card__body {
	padding: 18px;
}

.platform-card__tag,
.job-card__tag {
	display: inline-block;
	margin-bottom: 10px;
	padding: 6px 10px;
	background: #15212c;
	color: var(--blue);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.platform-card h3 {
	margin: 0 0 8px;
	font-size: 1.35rem;
	color: #eef3f7;
}

.platform-card p {
	margin: 0 0 14px;
	line-height: 1.6;
	color: var(--text-soft);
}

.platform-card__link {
	color: var(--blue-dark);
	font-weight: 700;
}

.service-list-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.service-list-card {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
	border-radius: var(--radius-lg);
}

.service-list-card__icon {
	width: 52px;
	height: 52px;
	font-size: 1.1rem;
}

.service-list-card__content h3 {
	margin: 0 0 8px;
	font-size: 1.2rem;
	color: #eef3f7;
}

.service-list-card__content p {
	margin: 0 0 14px;
	line-height: 1.6;
	color: var(--text-soft);
}

.stream-links-box {
	display: grid;
	gap: 12px;
	margin-bottom: 18px;
}

.stream-link-item {
	display: grid;
	grid-template-columns: 74px minmax(0, 1fr);
	gap: 14px;
	align-items: center;
	padding: 14px 16px;
	border-radius: var(--radius-lg);
}

.stream-link-item__label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 34px;
	padding: 0 12px;
	background: #15212c;
	color: var(--blue-dark);
	font-size: 0.8rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.stream-link-item a {
	color: var(--blue-dark);
	font-weight: 600;
	word-break: break-all;
}

.stream-note {
	padding: 18px 20px;
	background: linear-gradient(135deg, #0066b3 0%, #0066b3 100%);
	color: #fff;
	line-height: 1.7;
}

/* =========================================
   Playlist Unterseite
========================================= */
.playlist-page-panel {
	margin-bottom: 22px;
	padding: 26px;
}

.playlist-page-intro {
	margin: 10px 0 0;
	line-height: 1.75;
	color: var(--text-soft);
}

.playlist-widget-wrap {
	margin-top: 18px;
}

.et_pb_row,
.et_pb_column,
.et_pb_module,
.et_pb_code,
.et_pb_code_inner {
	width: 100%;
	margin: 0;
	padding: 0;
}

/* =========================================
   Mitmachen / Jobs
========================================= */
.jobs-intro-panel {
	margin-bottom: 22px;
	padding: 26px;
}

.jobs-highlight-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

.jobs-highlight {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
}

.jobs-highlight i {
	width: 42px;
	height: 42px;
}

.jobs-highlight strong,
.join-hero__box strong,
.legal-hero__box strong,
.weather-hero__box strong {
	display: block;
	margin-bottom: 5px;
	font-size: 1rem;
	color: #eef3f7;
}

.jobs-highlight span,
.join-hero__box span,
.legal-hero__box span,
.weather-hero__box span {
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--text-soft);
}

.jobs-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin-bottom: 22px;
}

.job-card {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 20px;
	padding: 24px;
}

.job-card__icon {
	width: 96px;
	height: 96px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(8, 53, 100, 0.08);
	background: linear-gradient(180deg, #15212c 0%, #15212c 100%);
	color: var(--blue);
	font-size: 2rem;
	border-radius: var(--radius-lg);
}

.job-card__content h3 {
	margin: 0 0 10px;
	font-size: 1.5rem;
	line-height: 1.1;
	color: #eef3f7;
}

.job-card__content p {
	margin: 0 0 16px;
	line-height: 1.75;
	color: var(--text-soft);
}

.job-card__tools {
	padding: 14px 16px;
	background: linear-gradient(180deg, #15212c 0%, #15212c 100%);
	border: 1px solid rgba(8, 53, 100, 0.08);
	border-radius: var(--radius-lg);
}

.job-card__tools strong {
	display: block;
	margin-bottom: 6px;
	font-size: 0.98rem;
	color: #eef3f7;
}

.job-card__tools span {
	font-size: 0.94rem;
	line-height: 1.6;
	color: var(--text-soft);
}

.jobs-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 22px;
	padding: 26px;
}

.jobs-cta__text {
	max-width: 760px;
}

.jobs-cta__text h2 {
	margin: 0 0 12px;
	font-size: clamp(1.9rem, 3vw, 2.6rem);
	line-height: 1.08;
	color: #eef3f7;
}

.jobs-cta__text p {
	margin: 0;
	line-height: 1.75;
	color: var(--text-soft);
}

.jobs-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

/* =========================================
   Mitmachen Hero ohne Bild
========================================= */
.join-hero {
	display: grid;
	grid-template-columns: 1.12fr 0.88fr;
	gap: 24px;
	margin-bottom: 22px;
	padding: 28px;
}

.join-hero__intro h1,
.legal-hero__intro h1,
.traffic-hero__intro h1,
.weather-hero__intro h1 {
	margin: 0 0 14px;
	line-height: 1;
	color: #eef3f7;
}

.join-hero__intro h1,
.legal-hero__intro h1 {
	font-size: clamp(2.1rem, 4vw, 3.3rem);
}

.traffic-hero__intro h1,
.weather-hero__intro h1 {
	font-size: clamp(2.1rem, 4vw, 3rem);
}

.join-hero__lead,
.traffic-hero__lead,
.weather-hero__lead {
	margin: 0 0 14px;
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.7;
	color: #eef3f7;
}

.legal-hero__lead {
	margin: 0 0 14px;
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.7;
	color: #eef3f7;
}

.join-hero__intro p,
.legal-hero__intro p,
.traffic-hero__intro p,
.weather-hero__intro p {
	max-width: 760px;
	margin: 0 0 16px;
	line-height: 1.75;
	color: var(--text-soft);
}

.join-hero__side {
	display: grid;
	gap: 12px;
	align-content: center;
}

.join-hero__box {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px;
	border-radius: var(--radius-lg);
}

.join-hero__box i,
.legal-hero__box i,
.traffic-hero__box i,
.weather-hero__box i {
	width: 42px;
	height: 42px;
}

/* =========================================
   Rechtliches / Datenschutz / Impressum
========================================= */
.legal-hero {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 24px;
	margin-bottom: 22px;
	padding: 28px;
}

.legal-hero__intro h1 {
	font-size: clamp(2.1rem, 4vw, 3.1rem);
}

.legal-hero__box {
	display: flex;
	align-items: flex-start;
	align-self: center;
	gap: 14px;
	padding: 18px;
	border-radius: var(--radius-lg);
}

.legal-panel {
	margin-bottom: 22px;
	padding: 28px;
}

.legal-content {
	max-width: 920px;
}

.legal-content h2 {
	margin: 0 0 18px;
	font-size: 2rem;
	line-height: 1.1;
	color: #eef3f7;
}

.legal-content h3 {
	margin: 30px 0 12px;
	font-size: 1.28rem;
	line-height: 1.2;
	color: #80c4f2;
}

.legal-content h4 {
	margin: 24px 0 10px;
	font-size: 1.05rem;
	line-height: 1.2;
	color: #eef3f7;
}

.legal-content p,
.legal-content li {
	font-size: 1rem;
	line-height: 1.8;
	color: var(--text-soft);
}

.legal-content p {
	margin: 0 0 14px;
}

.legal-content ul {
	margin: 0 0 18px 20px;
	padding: 0;
}

.legal-content li {
	margin-bottom: 8px;
}

.legal-content a {
	color: var(--blue-dark);
	text-decoration: underline;
	text-underline-offset: 2px;
	word-break: break-word;
}

/* =========================================
   Verkehr
========================================= */
.traffic-hero {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 24px;
	margin-bottom: 22px;
	padding: 28px;
}

.traffic-tags,
.weather-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.traffic-hero__box,
.weather-hero__box {
	display: flex;
	align-items: flex-start;
	align-self: center;
	gap: 14px;
	padding: 18px;
}

.traffic-panel {
	padding: 26px;
}

.traffic-panel__head h2 {
	margin: 0 0 6px;
	font-size: 1.6rem;
}

.traffic-panel__head p {
	margin: 0 0 16px;
	color: var(--text-soft);
}

.traffic-frame {
	position: relative;
	width: 100%;
	height: 520px;
	overflow: hidden;
	border: 1px solid rgba(8, 53, 100, 0.08);
	border-radius: 12px;
	box-shadow: var(--shadow-soft);
	background: #15212c;
}

.traffic-frame iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.traffic-note {
	margin-top: 12px;
	font-size: 0.85rem;
	color: var(--text-soft);
}

/* =========================================
   Wetter
========================================= */
.weather-hero {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 24px;
	margin-bottom: 22px;
	padding: 28px;
}

.weather-panel,
.weather-warning-panel {
	margin-bottom: 22px;
	padding: 26px;
}

.weather-panel__intro {
	max-width: 760px;
	margin: 10px 0 0;
	line-height: 1.75;
	color: var(--text-soft);
}

.weather-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 18px;
	margin-top: 18px;
}

.weather-card {
	overflow: hidden;
}

.weather-card__head {
	padding: 12px 14px;
	background: #8dbf24;
	color: #fff;
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.weather-card iframe {
	display: block;
	width: 100%;
	height: 365px;
	border: 0;
	background: #15212c;
}

.warning-map-link {
	display: block;
	margin-top: 18px;
	overflow: hidden;
	border: 1px solid rgba(8, 53, 100, 0.08);
	box-shadow: var(--shadow-soft);
	background: #15212c;
}

.warning-map-link img {
	display: block;
	width: 100%;
	height: auto;
}

/* =========================
   EVENTS / VERANSTALTUNGEN
========================= */

.events-section {
	margin: 28px 0 24px;
	padding: 28px;
	border-radius: var(--radius-lg);
	background:
		radial-gradient(circle at top right, rgba(11, 75, 146, 0.05), transparent 28%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 255, 0.96));
	border: 1px solid rgba(8, 53, 100, 0.08);
	box-shadow: var(--shadow);
}

.events-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 24px;
}

.events-head h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 8px 0 10px;
	font-size: clamp(1.8rem, 3vw, 2.5rem);
	line-height: 1.08;
	color: #eef3f7;
	letter-spacing: -0.02em;
}

.events-head h2 i {
	color: var(--blue);
	font-size: 1.5rem;
}

.events-head p {
	max-width: 760px;
	margin: 0;
	font-size: 1rem;
	line-height: 1.7;
	color: var(--text-soft);
}

.events-grid {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.event-card {
	display: flex;
	align-items: stretch;
	gap: 18px;
	padding: 18px;
	border-radius: var(--radius-lg);
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(8, 53, 100, 0.08);
	box-shadow: var(--shadow-soft);
	transition:
		transform 0.2s ease,
		box-shadow 0.2s ease,
		border-color 0.2s ease;
}

.event-card:hover {
	transform: translateY(-2px);
	border-color: rgba(11, 75, 146, 0.18);
	box-shadow: 0 14px 28px rgba(9, 36, 68, 0.08);
}

.event-date {
	width: 84px;
	min-width: 84px;
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 100%);
	color: #fff;
	box-shadow: 0 10px 24px rgba(11, 75, 146, 0.16);
}

.event-date strong {
	font-size: 2rem;
	line-height: 1;
	font-weight: 800;
}

.event-date span {
	margin-top: 5px;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	opacity: 0.92;
}

.event-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.event-category {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 10px;
	padding: 6px 10px;
	border-radius: 999px;
	background: #15212c;
	color: var(--blue);
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.event-content h3 {
	margin: 0 0 8px;
	font-size: 1.35rem;
	line-height: 1.18;
	color: #eef3f7;
}

.event-content p {
	margin: 0;
	max-width: 920px;
	font-size: 0.98rem;
	line-height: 1.7;
	color: var(--text-soft);
}

.event-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 14px;
}

.event-meta span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 0.9rem;
	font-weight: 600;
	color: #b8c7d3;
}

.event-meta i {
	color: var(--blue);
}

.event-card--highlight {
	background:
		radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 34%),
		linear-gradient(135deg, var(--blue-dark) 0%, var(--blue) 100%);
	border-color: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.event-card--highlight .event-date {
	background: rgba(255, 255, 255, 0.12);
	box-shadow: none;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.event-card--highlight .event-category {
	background: rgba(255, 255, 255, 0.14);
	color: rgba(255, 255, 255, 0.92);
}

.event-card--highlight .event-content h3,
.event-card--highlight .event-content p,
.event-card--highlight .event-meta span,
.event-card--highlight .event-meta i {
	color: rgba(255, 255, 255, 0.92);
}

.event-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-size: 0.95rem;
	font-weight: 800;
	color: #fff;
	text-decoration: none;
}

.event-link:hover {
	text-decoration: underline;
}


/* =========================================
   Responsive: <= 1100px
========================================= */
@media (max-width: 1100px) {
	.hero-layout,
	.welcome-grid,
	.subhero,
	.platform-grid,
	.service-list-grid,
	.jobs-highlight-grid,
	.join-hero,
	.legal-hero,
	.traffic-hero,
	.weather-hero {
		grid-template-columns: 1fr;
	}

	.playlist-showcase__panel {
		grid-template-columns: 1fr;
	}

	.playlist-history {
		height: auto;
		padding-top: 12px;
	}

	.playlist-history__list {
		height: auto;
	}

	.playlist-history__item {
		flex: 0 0 auto;
	}

	.useful-links-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.useful-links-grid .useful-link-card:nth-child(1),
	.useful-links-grid .useful-link-card:nth-child(2),
	.useful-links-grid .useful-link-card:nth-child(n + 3) {
		grid-column: span 1;
		min-height: 220px;
	}

	.jobs-cta {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* =========================================
   Responsive: <= 768px
========================================= */
@media (max-width: 768px) {
	.site-main {
		width: min(calc(100% - 16px), var(--container));
		margin-top: 14px;
	}

	.hero-story__image {
		height: 240px;
	}

	.hero-story__content,
	.welcome-box,
	.subhero__content,
	.platform-section,
	.services-panel,
	.stream-links-panel,
	.playlist-page-panel,
	.jobs-intro-panel,
	.jobs-cta,
	.join-hero,
	.legal-hero,
	.legal-panel,
	.traffic-hero,
	.traffic-panel,
	.weather-hero,
	.weather-panel,
	.weather-warning-panel {
		padding: 18px;
	}

	.welcome-copy__panel,
	.welcome-contact {
		padding: 18px;
	}

	.section-head--row,
	.hero-actions,
	.hero-tags {
		align-items: flex-start;
	}

	.playlist-showcase__head {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.playlist-showcase__title {
		width: 100%;
	}

	.playlist-showcase__title h2 {
		font-size: 1.9rem;
		line-height: 1.05;
		flex-wrap: wrap;
		gap: 10px;
	}

	.playlist-showcase__cta {
		align-self: flex-start;
	}

	.playlist-showcase__line,
	.links-head__line {
		width: 110px;
		margin-left: 0;
	}

	.welcome-head h2 {
		max-width: 100%;
	}

	.welcome-quicklinks {
		gap: 10px;
	}

	.welcome-quicklinks a {
		width: 100%;
		justify-content: center;
	}

	.playlist-showcase__panel {
		gap: 12px;
		padding: 10px;
	}

	.playlist-featured__cover {
		aspect-ratio: 1 / 1;
		min-height: 0;
	}

	.playlist-featured__cover img {
		width: 100%;
		height: 100%;
		min-height: 0;
		aspect-ratio: 1 / 1;
		object-fit: cover;
	}

	.playlist-featured__meta {
		left: 12px;
		right: 12px;
		bottom: 10px;
	}

	.playlist-featured__meta::before {
		margin-bottom: 5px;
		font-size: 0.66rem;
	}

	.playlist-featured__meta h3 {
		font-size: 1rem;
	}

	.playlist-featured__meta p {
		font-size: 0.82rem;
	}

	.playlist-history__item {
		grid-template-columns: 52px minmax(0, 1fr);
		gap: 12px;
		padding: 9px 0;
	}

	.playlist-history__cover {
		width: 52px;
		height: 52px;
	}

	.playlist-history__time {
		height: 19px;
		padding: 0 6px;
		font-size: 0.66rem;
	}

	.playlist-history__title {
		font-size: 0.96rem;
	}

	.playlist-history__artist {
		font-size: 0.82rem;
	}

	.useful-links-grid {
		grid-template-columns: 1fr;
	}

	.useful-link-card,
	.useful-links-grid .useful-link-card:nth-child(1),
	.useful-links-grid .useful-link-card:nth-child(2),
	.useful-links-grid .useful-link-card:nth-child(n + 3) {
		grid-column: span 1;
		min-height: 220px;
	}

	.links-head h2 {
		font-size: 2rem;
	}

	.subhero__media {
		min-height: 260px;
	}

	.stream-link-item {
		grid-template-columns: 1fr;
	}

	.job-card {
		grid-template-columns: 1fr;
		gap: 16px;
		padding: 18px;
	}

	.job-card__icon {
		width: 72px;
		height: 72px;
		font-size: 1.5rem;
	}

	.legal-content h2 {
		font-size: 1.7rem;
	}

	.legal-content h3 {
		font-size: 1.16rem;
	}

	.weather-grid {
		grid-template-columns: 1fr;
	}

	.traffic-frame {
		height: 420px;
	}
}

/* =========================
   Responsive Events
========================= */

@media (max-width: 768px) {
	.events-section {
		padding: 18px;
	}

	.events-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.events-head .btn {
		width: 100%;
	}

	.event-card {
		flex-direction: column;
	}

	.event-date {
		width: 76px;
		min-width: 76px;
		height: 76px;
	}
}

/* =========================================
   Responsive: <= 560px
========================================= */
@media (max-width: 560px) {
	.hero-story__content h1 {
		font-size: 2rem;
	}

	.show-title {
		font-size: 1.25rem;
	}

	.point-box {
		padding: 16px;
	}

	.playlist-showcase__head {
		margin-bottom: 12px;
	}

	.playlist-showcase__title h2 {
		font-size: 1.75rem;
	}

	.playlist-showcase__title h2 i {
		font-size: 1.15rem;
	}

	.playlist-showcase__cta {
		width: auto;
		max-width: 100%;
	}

	.playlist-showcase__panel {
		gap: 10px;
		padding: 9px;
	}

	.playlist-featured__cover {
		border-radius: 8px;
	}

	.playlist-featured__badge {
		top: 8px;
		left: 8px;
		min-height: 28px;
		padding: 0 9px;
		font-size: 0.78rem;
	}

	.playlist-featured__meta {
		left: 10px;
		right: 10px;
		bottom: 9px;
	}

	.playlist-featured__meta::before {
		margin-bottom: 4px;
		font-size: 0.62rem;
	}

	.playlist-featured__meta h3 {
		font-size: 0.96rem;
		line-height: 1.16;
	}

	.playlist-featured__meta p {
		font-size: 0.78rem;
		line-height: 1.28;
	}

	.playlist-history__item {
		grid-template-columns: 48px minmax(0, 1fr);
		gap: 10px;
		padding: 8px 0;
	}

	.playlist-history__cover {
		width: 48px;
		height: 48px;
	}

	.playlist-history__time {
		height: 18px;
		margin-bottom: 3px;
		padding: 0 6px;
		font-size: 0.64rem;
	}

	.playlist-history__title {
		font-size: 0.9rem;
		line-height: 1.18;
	}

	.playlist-history__artist {
		font-size: 0.78rem;
		line-height: 1.24;
	}

	.useful-link-card__content h3 {
		font-size: 1.3rem;
	}

	.useful-link-card__content p {
		max-width: 100%;
		font-size: 0.94rem;
	}

	.traffic-frame {
		height: 360px;
	}
}

/* =========================================
   Kontaktseite
========================================= */
.contact-hero {
	margin-bottom: 22px;
}

.contact-tags {
	margin-top: 8px;
}

.contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	gap: 22px;
	margin-bottom: 24px;
	align-items: start;
}

.contact-form-panel {
	padding: 26px;
}

.contact-panel-intro {
	margin: 0 0 20px;
	line-height: 1.75;
	color: var(--text-soft);
}

.contact-form {
	display: grid;
	gap: 18px;
}

.contact-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.form-group {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.form-group label {
	font-size: 0.92rem;
	font-weight: 700;
	color: #eef3f7;
}

.form-group label span {
	color: var(--red);
}

.form-group input,
.form-group select,
.form-group textarea {
	width: 100%;
	min-height: 50px;
	padding: 0 14px;
	border: 1px solid rgba(8, 53, 100, 0.14);
	background: rgba(255, 255, 255, 0.96);
	color: var(--text);
	font: inherit;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.form-group textarea {
	min-height: 180px;
	padding: 14px;
	resize: vertical;
}

.form-group select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
}

.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus {
	border-color: rgba(11, 75, 146, 0.55);
	box-shadow: 0 0 0 4px rgba(11, 75, 146, 0.08);
	background: #15212c;
}

.contact-security {
	padding: 20px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(246, 250, 255, 0.97));
	border: 1px solid rgba(8, 53, 100, 0.08);
	box-shadow: var(--shadow-soft);
}

.contact-form__grid--security {
	display: grid;
	grid-template-columns: 1fr;
	gap: 16px;
	align-items: start;
}

.contact-security__head {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
}

.contact-security__head i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	background: #15212c;
	color: var(--blue);
	box-shadow: var(--shadow-soft);
	flex-shrink: 0;
}

.contact-security__head strong {
	display: block;
	margin-bottom: 4px;
	font-size: 1rem;
	color: #eef3f7;
}

.contact-security__head span {
	font-size: 0.94rem;
	line-height: 1.5;
	color: var(--text-soft);
}

.form-group--math .math-row {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}

.math-task {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 110px;
	min-height: 50px;
	padding: 0 14px;
	background: #15212c;
	border: 1px solid rgba(8, 53, 100, 0.1);
	font-weight: 800;
	color: var(--blue-dark);
	white-space: nowrap;
}

.g-recaptcha {
	max-width: 100%;
	overflow: hidden;
}

.g-recaptcha > div {
	max-width: 100%;
}

.form-group--recaptcha {
	align-items: start;
}

.contact-form__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	flex-wrap: wrap;
}

.contact-form__notice {
	max-width: 720px;
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.65;
	color: var(--text-soft);
}

.contact-info-panel {
	display: grid;
	gap: 18px;
}

.contact-info-card {
	padding: 24px;
}

.contact-info-card h3 {
	margin: 0 0 18px;
	font-size: 1.5rem;
	line-height: 1.1;
	color: #eef3f7;
}

.contact-info-list {
	display: grid;
	gap: 12px;
}

.contact-info-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px;
	background: linear-gradient(180deg, #15212c 0%, #15212c 100%);
	border: 1px solid rgba(8, 53, 100, 0.08);
	box-shadow: var(--shadow-soft);
}

.contact-info-item i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: #15212c;
	color: var(--blue);
	flex-shrink: 0;
}

.contact-info-item strong {
	display: block;
	margin-bottom: 5px;
	font-size: 1rem;
	color: #eef3f7;
}

.contact-info-item span {
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--text-soft);
}

.contact-points {
	gap: 12px;
}

.hp-field {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* =========================================
   Responsive Kontaktseite
========================================= */
@media (max-width: 1100px) {
	.contact-layout,
	.contact-form__grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.contact-form-panel,
	.contact-info-card,
	.contact-security {
		padding: 18px;
	}

	.form-group--math .math-row {
		flex-direction: column;
		align-items: stretch;
	}

	.math-task {
		min-width: 100%;
		justify-content: flex-start;
	}

	.contact-form__footer {
		align-items: flex-start;
		flex-direction: column;
	}
}
/* =========================================
   2026 Refresh: Bild-Header + Live-Player
========================================= */
body { padding-bottom: 94px; }

.station-masthead {
    position: relative;
    min-height: 300px;
    overflow: visible;
    background: #12385f;
}
.station-masthead__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 48%;
}
.station-masthead__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(5,33,62,.74) 0%, rgba(5,33,62,.38) 48%, rgba(5,33,62,.12) 100%);
}
.station-masthead__inner {
    position: relative;
    z-index: 2;
    width: min(calc(100% - 24px), var(--container));
    min-height: 300px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    padding: 42px 0 66px;
}
.station-masthead__identity { color: #fff; max-width: 560px; text-shadow: 0 2px 16px rgba(0,0,0,.26); }
.station-masthead__eyebrow { display:block; margin-bottom:10px; font-size:.76rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.station-masthead__claim { margin:0; font-size:clamp(2.5rem,5vw,4.8rem); line-height:.95; letter-spacing:-.045em; color:#fff; }

.header-player {
    width: min(520px, 48%);
    min-height: 108px;
    display: grid;
    grid-template-columns: 82px 52px 1fr 42px;
    align-items: center;
    gap: 12px;
    padding: 12px;
    background: rgba(255,255,255,.96);
    box-shadow: 0 18px 48px rgba(5,33,62,.24);
}
.header-player__cover { width:82px; height:82px; object-fit:cover; border-radius:8px; background:#15212c; }
.header-player__play { width:48px; height:48px; border:0; border-radius:50%; background:var(--blue); color:#fff; cursor:pointer; font-size:1rem; box-shadow:0 7px 18px rgba(11,75,146,.25); }
.header-player__content { min-width:0; }
.header-player__label { display:flex; align-items:center; gap:7px; margin-bottom:7px; font-size:.7rem; font-weight:900; color:var(--blue-dark); letter-spacing:.08em; }
.header-player__dot { width:7px; height:7px; border-radius:50%; background:var(--red); box-shadow:0 0 0 4px rgba(230,58,46,.12); }
.header-player__track { display:flex; flex-direction:column; min-width:0; }
.header-player__track strong, .header-player__track span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.header-player__track strong { color:#eef3f7; font-size:1rem; }
.header-player__track span { margin-top:3px; color:var(--text-soft); font-size:.9rem; }
.header-player__show { margin-top:7px; color:var(--blue); font-size:.76rem; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.header-player__open { width:38px; height:38px; border:1px solid var(--line); border-radius:50%; background:#15212c; color:var(--blue); cursor:pointer; }

.player-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 99990;
    background: rgba(7,40,75,.97);
    color:#fff;
    border-top: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 -10px 30px rgba(0,0,0,.16);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}
.player-dock__inner {
    width:min(calc(100% - 24px), var(--container));
    height:78px;
    margin:0 auto;
    display:grid;
    grid-template-columns: 54px 50px minmax(0,1fr) minmax(180px,.55fr) auto;
    align-items:center;
    gap:14px;
}
.player-dock__cover { width:54px; height:54px; border-radius:7px; object-fit:cover; background:#15212c; }
.player-dock__play { width:46px; height:46px; border:0; border-radius:50%; background:var(--red); color:#fff; cursor:pointer; font-size:1rem; }
.player-dock__meta, .player-dock__show { min-width:0; }
.player-dock__status { display:inline-block; margin-bottom:3px; font-size:.62rem; font-weight:900; letter-spacing:.14em; color:#ffb1aa; }
.player-dock__song { display:flex; flex-direction:column; min-width:0; }
.player-dock__song strong, .player-dock__song span, .player-dock__show strong { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.player-dock__song strong { font-size:.92rem; }
.player-dock__song span { margin-top:2px; font-size:.8rem; color:rgba(255,255,255,.68); }
.player-dock__show { padding-left:16px; border-left:1px solid rgba(255,255,255,.14); display:flex; flex-direction:column; }
.player-dock__show span { font-size:.68rem; color:rgba(255,255,255,.56); }
.player-dock__show strong { margin-top:4px; font-size:.84rem; }
.player-dock__cta { min-height:42px; display:inline-flex; align-items:center; gap:8px; padding:0 16px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:rgba(255,255,255,.1); color:#fff; font-weight:700; cursor:pointer; }

.site-footer__links { display:flex; justify-content:center; gap:18px; flex-wrap:wrap; margin:0 0 14px; font-size:.88rem; }
.site-footer__links a:hover { color:#fff; text-decoration:underline; }

/* Startseite: der eigentliche Inhalt beginnt kompakter unter dem Bild-Header. */
body:has(.hero-layout) .site-main { margin-top:28px; }
.hero-layout { grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr); }
.hero-story__image { display:none; }
.hero-story__content { padding:34px; }
.hero-story__content h1 { font-size:clamp(2rem,3.5vw,3rem); }

@media (max-width: 900px) {
    body { padding-bottom: 82px; }
    .station-masthead { min-height:340px; }
    .station-masthead__inner { min-height:340px; align-items:flex-start; flex-direction:column; justify-content:center; gap:20px; padding:34px 0 44px; }
    .station-masthead__identity { max-width:100%; }
    .station-masthead__claim { font-size:clamp(2.4rem,10vw,4rem); }
    .header-player { width:min(100%,560px); grid-template-columns:68px 46px 1fr 38px; }
    .header-player__cover { width:68px; height:68px; }
    .player-dock__inner { height:68px; grid-template-columns:44px 42px minmax(0,1fr) auto; gap:10px; }
    .player-dock__cover { width:44px; height:44px; }
    .player-dock__play { width:40px; height:40px; }
    .player-dock__show { display:none; }
    .player-dock__cta { width:42px; height:42px; min-height:42px; padding:0; justify-content:center; border-radius:50%; }
    .player-dock__cta span { display:none; }
}

@media (max-width: 600px) {
    .station-masthead { min-height:325px; }
    .station-masthead__inner { min-height:325px; padding:28px 0 34px; }
    .station-masthead__shade { background:linear-gradient(180deg,rgba(5,33,62,.42),rgba(5,33,62,.75)); }
    .station-masthead__eyebrow { font-size:.66rem; }
    .header-player { grid-template-columns:58px 42px minmax(0,1fr); gap:9px; padding:10px; }
    .header-player__cover { width:58px; height:58px; }
    .header-player__open { display:none; }
    .header-player__show { display:none; }
    .player-dock__inner { width:calc(100% - 14px); grid-template-columns:40px 38px minmax(0,1fr) 38px; gap:8px; }
    .player-dock__cover { width:40px; height:40px; }
    .player-dock__play { width:36px; height:36px; }
    .player-dock__song strong { font-size:.8rem; }
    .player-dock__song span { font-size:.72rem; }
    .player-dock__status { display:none; }
    .player-dock__cta { width:38px; height:38px; min-height:38px; }
}
.home-intro-title { margin:0 0 14px; font-size:clamp(2rem,3.5vw,3rem); line-height:1.02; letter-spacing:-.03em; color:#eef3f7; }

/* Refresh v2 */
.station-masthead{min-height:285px;overflow:hidden}.station-masthead__image{object-position:center 52%}.station-masthead__shade{background:linear-gradient(180deg,rgba(5,33,62,.10),rgba(5,33,62,.24))}.station-masthead__inner,.station-masthead__identity,.station-masthead__eyebrow,.station-masthead__claim{display:none!important}
.header-player-wrap{position:relative;z-index:30;width:min(calc(100% - 24px),var(--container));height:0;margin:0 auto}.header-player{position:absolute;left:50%;bottom:0;transform:translate(-50%,50%);width:min(620px,calc(100vw - 32px));min-height:96px;grid-template-columns:72px 48px minmax(0,1fr) 40px;gap:12px;padding:11px 13px;border-radius:12px;border:1px solid rgba(8,53,100,.10);box-shadow:0 16px 38px rgba(5,33,62,.20);background:rgba(255,255,255,.98)}.header-player__cover{width:72px;height:72px}
body:has(.hero-layout) .site-main{margin-top:74px}.hero-layout{display:block;margin-bottom:18px}.hero-story{width:100%}.hero-story__content{padding:34px 36px}
.player-dock{left:0;right:0;bottom:14px;background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;pointer-events:none}.player-dock__inner{width:min(760px,calc(100% - 28px));height:64px;padding:0 12px;border-radius:9px;grid-template-columns:46px 42px minmax(0,1fr) auto auto;gap:10px;color:#fff;background:linear-gradient(90deg,#0066b3 0%,#00699f 38%,#0066b3 100%);box-shadow:0 12px 30px rgba(5,33,62,.28);border:1px solid rgba(255,255,255,.18);pointer-events:auto}.player-dock__cover{width:46px;height:46px;border-radius:6px}.player-dock__play{width:38px;height:38px;background:#15212c;color:var(--blue-dark);box-shadow:0 4px 14px rgba(0,0,0,.14)}.player-dock__status{color:rgba(255,255,255,.82)}.player-dock__song strong{font-size:.88rem}.player-dock__song span{color:rgba(255,255,255,.82)}.player-dock__show{padding-left:12px;border-left:1px solid rgba(255,255,255,.2)}.player-dock__show span{color:rgba(255,255,255,.65)}.player-dock__cta{min-height:38px;padding:0 13px;background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.25)}
@media(max-width:900px){.station-masthead{min-height:245px}body:has(.hero-layout) .site-main{margin-top:68px}.header-player{width:min(600px,calc(100vw - 24px))}.player-dock__inner{height:60px;grid-template-columns:42px 38px minmax(0,1fr) auto}.player-dock__cover{width:42px;height:42px}.player-dock__show{display:none}}
@media(max-width:600px){body{padding-bottom:82px}.station-masthead{min-height:190px}.station-masthead__image{object-position:center center}body:has(.hero-layout) .site-main{margin-top:63px}.header-player{min-height:82px;grid-template-columns:56px 38px minmax(0,1fr);gap:8px;padding:9px 10px;border-radius:10px}.header-player__cover{width:56px;height:56px}.header-player__play{width:36px;height:36px}.header-player__label{margin-bottom:4px;font-size:.60rem}.header-player__track strong{font-size:.82rem}.header-player__track span{font-size:.74rem}.header-player__show,.header-player__open{display:none}.hero-story__content{padding:24px 20px}.player-dock{bottom:8px}.player-dock__inner{width:calc(100% - 16px);height:56px;padding:0 8px;grid-template-columns:38px 34px minmax(0,1fr) 34px;gap:7px;border-radius:8px}.player-dock__cover{width:38px;height:38px}.player-dock__play{width:32px;height:32px}.player-dock__cta{width:34px;height:34px;min-height:34px;padding:0;border-radius:50%;justify-content:center}.player-dock__cta span{display:none}.player-dock__song strong{font-size:.76rem}.player-dock__song span{font-size:.68rem}.player-dock__status{display:none}}

/* ==========================================================
   Refresh V3 – Seefunk-inspirierter Header- und Footerplayer
   ========================================================== */
body { padding-bottom: 108px; }

/* Logo wirklich geometrisch zur Browserbreite zentrieren */
.header-top__inner { min-height: 92px; }
.header-brand {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    margin: 0 !important;
    width: 190px;
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header-brand a { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; }
.site-logo {
    display: block;
    width: 150px !important;
    max-width: none !important;
    height: auto !important;
    max-height: 68px !important;
    margin: 0 auto !important;
    object-fit: contain;
}

/* Bildheader bleibt komplett frei */
.station-masthead { min-height: 310px; overflow: hidden; }
.station-masthead__image { object-position: center 52%; }
.station-masthead__shade { background: linear-gradient(180deg, rgba(5,33,62,.04), rgba(5,33,62,.12)); }

/* Großer Headerplayer – bewusst deutlich breiter/höher */
.header-player-wrap {
    position: relative;
    z-index: 40;
    width: 100%;
    height: 0;
    margin: 0 auto;
}
.header-player {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 50%);
    width: min(950px, calc(100vw - 48px));
    height: 178px;
    display: grid;
    grid-template-columns: 250px minmax(0,1fr) 86px;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 14px;
    background: #15212c;
    box-shadow: 0 16px 34px rgba(10,34,62,.23);
}
.header-player__visual {
    min-width: 0;
    background: #1b2c39;
    overflow: hidden;
}
.header-player__cover {
    width: 100% !important;
    height: 100% !important;
    border-radius: 0 !important;
    object-fit: cover;
    display: block;
}
.header-player__main {
    min-width: 0;
    padding: 24px 28px 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.header-player__headline {
    display: flex;
    align-items: center;
    gap: 20px;
    min-width: 0;
}
.header-player__play {
    flex: 0 0 auto;
    width: 64px !important;
    height: 64px !important;
    border: 0;
    border-radius: 50%;
    background: var(--blue);
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    box-shadow: none;
}
.header-player__track {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}
.header-player__label {
    display: block;
    margin: 0 0 5px;
    color: var(--blue-dark);
    font-size: 1.08rem;
    font-weight: 900;
    letter-spacing: 0;
}
.header-player__track strong,
.header-player__track > span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.header-player__track strong { color: #eef3f7; font-size: 1.2rem; }
.header-player__track > span:last-child { margin-top: 3px; color: #eef3f7; font-size: 1rem; }
.header-player__show {
    margin-top: 26px;
    display: flex;
    flex-direction: column;
    color: #eef3f7;
    font-size: .95rem;
    overflow: visible;
    white-space: normal;
}
.header-player__show span {
    margin-bottom: 3px;
    color: var(--blue-dark);
    font-weight: 800;
}
.header-player__show strong { font-size: 1rem; }
.header-player__history {
    width: 86px;
    display: grid;
    grid-template-rows: repeat(3, 1fr);
    background: #15212c;
}
.header-player__history-item { min-height: 0; overflow: hidden; border-bottom: 2px solid #354b5d; }
.header-player__history-item:last-child { border-bottom: 0; }
.header-player__history-item img { width: 100%; height: 100%; display: block; object-fit: cover; }
.header-player__history-empty { height: 100%; background: linear-gradient(145deg,#1b2c39,#1b2c39); }

body:has(.hero-layout) .site-main { margin-top: 114px; }

/* Footerplayer wie die Referenz: volle Breite, klare Fläche, Cover links, Controls rechts */
.player-dock {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3000;
    height: 94px;
    background: var(--blue);
    border: 0;
    box-shadow: 0 -8px 28px rgba(5,33,62,.16);
    pointer-events: auto;
}
.player-dock__inner {
    width: min(1180px, 100%);
    height: 94px;
    margin: 0 auto;
    padding: 0 20px 0 0;
    display: grid;
    grid-template-columns: 94px minmax(0,1fr) 64px 64px;
    gap: 22px;
    align-items: center;
    color: #fff;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.player-dock__cover {
    width: 94px;
    height: 94px;
    border-radius: 0;
    object-fit: cover;
    background: #15212c;
}
.player-dock__song {
    display: flex;
    flex-direction: column;
    min-width: 0;
    line-height: 1.15;
}
.player-dock__song strong,
.player-dock__song span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.player-dock__song strong { font-size: 1.2rem; color: #fff; }
.player-dock__song span { margin-top: 5px; font-size: 1rem; color: rgba(255,255,255,.95); }
.player-dock__queue,
.player-dock__play {
    width: 58px;
    height: 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    cursor: pointer;
}
.player-dock__queue {
    background: transparent;
    color: #fff;
    font-size: 1.55rem;
}
.player-dock__play {
    border-radius: 50%;
    background: #15212c;
    color: var(--blue);
    font-size: 1.1rem;
}

@media (max-width: 900px) {
    .header-top__inner { min-height: 78px; }
    .header-brand { width: 160px; height: 60px; }
    .site-logo { width: 128px !important; max-height: 56px !important; }
    .station-masthead { min-height: 245px; }
    .header-player {
        width: min(760px, calc(100vw - 28px));
        height: 148px;
        grid-template-columns: 190px minmax(0,1fr) 72px;
    }
    .header-player__main { padding: 18px 22px 16px; }
    .header-player__play { width: 54px !important; height: 54px !important; }
    .header-player__label { font-size: .92rem; }
    .header-player__track strong { font-size: 1.05rem; }
    .header-player__track > span:last-child { font-size: .9rem; }
    .header-player__show { margin-top: 17px; font-size: .84rem; }
    .header-player__history { width: 72px; }
    body:has(.hero-layout) .site-main { margin-top: 96px; }
}

@media (max-width: 600px) {
    body { padding-bottom: 76px; }
    .header-top__inner { min-height: 62px; }
    .header-brand { width: 130px; height: 48px; }
    .site-logo { width: 105px !important; max-height: 44px !important; }
    .station-masthead { min-height: 180px; }
    .station-masthead__image { object-position: center center; }
    .header-player {
        width: calc(100vw - 18px);
        height: 112px;
        grid-template-columns: 100px minmax(0,1fr);
        border-radius: 10px;
    }
    .header-player__history { display: none; }
    .header-player__main { padding: 12px 13px; }
    .header-player__headline { gap: 10px; }
    .header-player__play { width: 40px !important; height: 40px !important; font-size: .9rem; }
    .header-player__label { margin-bottom: 3px; font-size: .68rem; }
    .header-player__track strong { font-size: .78rem; }
    .header-player__track > span:last-child { margin-top: 2px; font-size: .7rem; }
    .header-player__show { margin-top: 10px; font-size: .67rem; }
    .header-player__show span { margin-bottom: 2px; }
    .header-player__show strong { font-size: .7rem; white-space: nowrap; overflow:hidden; text-overflow:ellipsis; }
    body:has(.hero-layout) .site-main { margin-top: 72px; }

    .player-dock { height: 68px; }
    .player-dock__inner {
        width: 100%;
        height: 68px;
        padding: 0 10px 0 0;
        grid-template-columns: 68px minmax(0,1fr) 40px 44px;
        gap: 9px;
    }
    .player-dock__cover { width: 68px; height: 68px; }
    .player-dock__song strong { font-size: .78rem; }
    .player-dock__song span { margin-top: 3px; font-size: .68rem; }
    .player-dock__queue { width: 38px; height: 38px; font-size: 1.05rem; }
    .player-dock__play { width: 40px; height: 40px; font-size: .85rem; }
}

/* ==========================================================
   Refresh V4 – Headerkorrektur
   Logo stabil zentriert + Headerplayer exakt auf Bildkante
   ========================================================== */

/* Logo: keine translate-Abhängigkeit mehr, sondern echte Zentrierung
   innerhalb einer fest definierten weißen Kopfzeile. */
.header-top {
    height: 92px !important;
    min-height: 92px !important;
}
.header-top__inner {
    width: 100% !important;
    max-width: none !important;
    height: 92px !important;
    min-height: 92px !important;
    padding: 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.header-brand {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 92px !important;
    margin: 0 !important;
    transform: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none;
}
.header-brand a {
    width: auto !important;
    height: 72px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: auto;
}
.site-logo {
    width: auto !important;
    height: 62px !important;
    max-width: 190px !important;
    max-height: 62px !important;
    margin: 0 !important;
    display: block !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
}

/* Der Player sitzt mit seiner Mitte exakt auf der Unterkante des Bildheaders.
   Alte min-height/padding-Regeln des ursprünglichen Layouts werden vollständig
   neutralisiert. */
.header-player-wrap {
    position: relative !important;
    z-index: 40 !important;
    width: 100% !important;
    max-width: none !important;
    height: 112px !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
}
.header-player {
    position: absolute !important;
    left: 50% !important;
    top: 0 !important;
    bottom: auto !important;
    transform: translate(-50%, -50%) !important;
    width: min(1040px, calc(100vw - 48px)) !important;
    height: 190px !important;
    min-height: 0 !important;
    grid-template-columns: 270px minmax(0, 1fr) 92px !important;
    gap: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    background: #15212c !important;
    box-shadow: 0 15px 34px rgba(10,34,62,.22) !important;
}
.header-player__main {
    padding: 26px 30px 22px !important;
}
.header-player__history {
    width: 92px !important;
}

/* Da der Wrapper die untere Playerhälfte nun selbst im Dokumentfluss reserviert,
   wird kein künstlicher Abstand mehr vor dem Startseiteninhalt benötigt. */
body:has(.hero-layout) .site-main {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .header-top,
    .header-top__inner { height: 78px !important; min-height: 78px !important; }
    .header-brand { height: 78px !important; }
    .header-brand a { height: 62px !important; }
    .site-logo { height: 52px !important; max-height: 52px !important; max-width: 160px !important; }

    .header-player-wrap { height: 94px !important; }
    .header-player {
        width: min(820px, calc(100vw - 28px)) !important;
        height: 156px !important;
        grid-template-columns: 205px minmax(0,1fr) 74px !important;
    }
    .header-player__main { padding: 19px 22px 17px !important; }
    .header-player__history { width: 74px !important; }
}

@media (max-width: 600px) {
    .header-top,
    .header-top__inner { height: 66px !important; min-height: 66px !important; }
    .header-brand { height: 66px !important; }
    .header-brand a { height: 52px !important; }
    .site-logo { height: 44px !important; max-height: 44px !important; max-width: 136px !important; }

    .header-player-wrap { height: 76px !important; }
    .header-player {
        width: calc(100vw - 18px) !important;
        height: 122px !important;
        grid-template-columns: 104px minmax(0,1fr) !important;
        border-radius: 10px !important;
    }
    .header-player__history { display: none !important; }
    .header-player__main { padding: 11px 13px !important; }
    .header-player__headline { gap: 10px !important; }
    .header-player__show { margin-top: 9px !important; }
}

/* ==========================================================
   Refresh V5 – Headerplayer im Dokumentfluss
   wie bei der Referenz: halb im Hero, halb darunter
   ========================================================== */
.header-player-wrap {
    position: relative !important;
    z-index: 40 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: -95px 0 0 !important;
    padding: 0 20px 34px !important;
    display: flex !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    pointer-events: none;
}
.header-player {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: min(1040px, 100%) !important;
    height: 190px !important;
    min-height: 190px !important;
    margin: 0 auto !important;
    grid-template-columns: 270px minmax(0,1fr) 92px !important;
    overflow: hidden !important;
    background: #15212c !important;
    border-radius: 14px !important;
    box-shadow: 0 15px 34px rgba(10,34,62,.22) !important;
    pointer-events: auto;
}
.header-player__visual,
.header-player__cover {
    height: 190px !important;
}
.header-player__cover {
    width: 100% !important;
    object-fit: cover !important;
}
.header-player__main {
    padding: 28px 32px 22px !important;
    min-width: 0 !important;
}
.header-player__history {
    width: 92px !important;
    height: 190px !important;
}

/* Inhalt beginnt erst NACH dem Player – keine Überlagerung mehr */
body:has(.hero-layout) .site-main {
    margin-top: 0 !important;
}

@media (max-width: 900px) {
    .header-player-wrap {
        margin-top: -78px !important;
        padding: 0 14px 28px !important;
    }
    .header-player {
        width: min(820px, 100%) !important;
        height: 156px !important;
        min-height: 156px !important;
        grid-template-columns: 205px minmax(0,1fr) 74px !important;
    }
    .header-player__visual,
    .header-player__cover,
    .header-player__history { height: 156px !important; }
    .header-player__history { width: 74px !important; }
}

@media (max-width: 600px) {
    .header-player-wrap {
        margin-top: -56px !important;
        padding: 0 9px 22px !important;
    }
    .header-player {
        width: 100% !important;
        height: 112px !important;
        min-height: 112px !important;
        grid-template-columns: 104px minmax(0,1fr) !important;
        border-radius: 10px !important;
    }
    .header-player__visual,
    .header-player__cover { height: 112px !important; }
    .header-player__history { display: none !important; }
    .header-player__main { padding: 11px 13px !important; }
}

/* ======================================================================
   RADIO RHEINLAND – COMPLETE FRONTEND REFRESH 2026
   ====================================================================== */
:root{
  --rr-blue:#0066b3;
  --rr-blue-dark:#005a8c;
  --rr-blue-soft:#edf5f9;
  --rr-red:#0066b3;
  --rr-magenta:#005a8c;
  --rr-ink:#102b39;
  --rr-text:#66515b;
  --rr-line:#dfe7eb;
  --rr-bg:#f4f7f8;
  --rr-white:#fff;
  --rr-shadow:0 14px 34px rgba(87,20,49,.13);
  --rr-radius:14px;
}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rr-bg);color:var(--rr-ink);font-family:Arial,Helvetica,sans-serif;padding-bottom:88px}
*{box-sizing:border-box}
img{max-width:100%}
a{color:inherit}

/* top + brand */
.site-header{background:#15212c;position:relative;z-index:20}
.network-bar{height:38px;background:#15212c;border-bottom:1px solid #354b5d;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:relative;z-index:40}
.network-bar__brand,.network-bar__more{display:flex;align-items:center;text-decoration:none}
.network-bar__brand img{display:block;height:24px;width:auto}
.network-bar__more{gap:7px;color:var(--rr-magenta);font-size:13px;font-weight:700}
.brand-bar{height:86px;background:#15212c;display:flex;align-items:center;justify-content:center;overflow:hidden}
.brand-bar__link{display:flex;align-items:center;justify-content:center;height:100%;width:230px}
.site-logo{display:block;width:auto!important;height:auto!important;max-height:58px!important;max-width:200px!important;position:static!important;transform:none!important;margin:0!important;object-fit:contain}

/* panorama + floating live player */
.station-masthead{height:280px;overflow:hidden;position:relative;background:#173b5a}
.station-masthead img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 48%}
.station-masthead:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,27,45,.08),rgba(6,27,45,.24))}
.header-player-zone{max-width:980px;margin:-72px auto 0;padding:0 20px 34px;position:relative;z-index:25}
.header-player{height:144px;background:#15212c;border-radius:13px;box-shadow:0 14px 32px rgba(10,34,57,.23);display:grid;grid-template-columns:190px 1fr 82px;overflow:hidden}
.header-player__visual{height:144px;background:#15212c}
.header-player__visual img{display:block;width:100%;height:100%;object-fit:cover}
.header-player__body{padding:20px 22px 15px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.header-player__trackrow{display:flex;align-items:center;gap:18px;min-width:0}
.header-player__play{width:54px;height:54px;border-radius:50%;border:0;background:#00699f;color:#fff;display:grid;place-items:center;font-size:20px;cursor:pointer;flex:0 0 auto;box-shadow:none}
.header-player__track{display:flex;flex-direction:column;min-width:0}
.header-player__eyebrow{font-size:14px;font-weight:900;color:#80c4f2;letter-spacing:.01em;margin-bottom:2px}
.header-player__track strong,.header-player__track span.api_lfm_currentsong_title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-player__track strong{font-size:20px;line-height:1.15;color:#eef3f7}
.header-player__track .api_lfm_currentsong_title{font-size:15px;color:#eef3f7;margin-top:2px}
.header-player__show{margin:14px 0 0 72px;display:flex;align-items:center;gap:10px;min-width:0;font-size:14px}
.header-player__onair{color:#80c4f2;font-weight:900;white-space:nowrap}
.header-player__show strong{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.header-player__history{display:grid;grid-template-rows:repeat(3,1fr);background:#15212c;border-left:1px solid #354b5d}
.header-player__history-item,.header-player__history-empty{min-height:0;border-bottom:1px solid #354b5d}
.header-player__history-item:last-child,.header-player__history-empty:last-child{border-bottom:0}
.header-player__history-item img{width:100%;height:100%;object-fit:cover;display:block}

/* Main shell */
.site-main{width:min(1080px,calc(100% - 40px));margin:0 auto 56px}
.home-main{margin-top:0}
.card{background:#15212c;border:1px solid var(--rr-line);border-radius:var(--rr-radius);box-shadow:0 5px 18px rgba(15,47,76,.06)}
.section-kicker{display:block;color:var(--rr-blue);font-size:12px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;margin-bottom:7px}
.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}
.section-title-row h2{margin:0;font-size:30px;line-height:1.1;color:var(--rr-ink)}
.section-title-row p{margin:8px 0 0;color:var(--rr-text)}
.home-section{margin-top:46px}
.text-link{color:var(--rr-blue);font-weight:800;text-decoration:none;font-size:14px;white-space:nowrap}
.text-link--light{color:#fff}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:999px;text-decoration:none;font-weight:800;font-size:14px;border:1px solid transparent;cursor:pointer}
.btn-primary{background:var(--rr-red);color:#fff}
.btn-secondary{background:#15212c;border-color:#354b5d;color:var(--rr-blue-dark)}
.btn-small{padding:9px 13px;font-size:12px}

/* intro */
.home-intro{display:grid;grid-template-columns:1.25fr .75fr;gap:28px;padding:30px 0 8px;align-items:stretch}
.home-intro__copy{background:#15212c;border-radius:var(--rr-radius);padding:32px 34px;box-shadow:0 7px 22px rgba(16,45,73,.07)}
.home-intro__copy h1{font-size:38px;line-height:1.04;margin:0 0 15px;max-width:700px}
.home-intro__lead{font-size:17px;line-height:1.6;color:var(--rr-text);margin:0}
.home-intro__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.home-intro__facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-intro__facts a{background:#15212c;border:1px solid var(--rr-line);border-radius:12px;text-decoration:none;padding:18px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 4px 14px rgba(15,47,76,.05)}
.home-intro__facts i{width:34px;height:34px;border-radius:50%;background:var(--rr-blue-soft);color:var(--rr-blue);display:grid;place-items:center;flex:0 0 auto}
.home-intro__facts span{display:flex;flex-direction:column;color:var(--rr-text);font-size:12px;line-height:1.35}
.home-intro__facts strong{color:var(--rr-ink);font-size:14px;margin-bottom:2px}

/* now playing */
.now-playing-grid{background:#15212c;border-radius:var(--rr-radius);padding:14px;display:grid;grid-template-columns:310px 1fr;gap:14px;min-height:310px}
.now-playing-current{position:relative;overflow:hidden;border-radius:11px;background:#12273b;min-height:282px}
.now-playing-current>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}
.now-playing-current:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 42%,rgba(4,14,25,.9))}
.now-playing-current__overlay{position:absolute;z-index:2;left:18px;right:18px;bottom:16px;color:#fff;display:flex;flex-direction:column}
.now-playing-current__overlay>span{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.now-playing-current__overlay strong{font-size:22px;margin-top:4px}
.now-playing-current__overlay p{margin:3px 0 0;font-size:14px}
.now-playing-history{display:flex;flex-direction:column;justify-content:center;min-width:0}
.playlist-history__item{display:grid;grid-template-columns:58px 70px 1fr;align-items:center;gap:10px;padding:7px 6px;border-bottom:1px solid rgba(67,104,142,.16);min-height:66px}
.playlist-history__item:last-child{border-bottom:0}
.playlist-history__cover{width:58px;height:58px;border-radius:7px;object-fit:cover}
.playlist-history__time{font-size:12px;font-weight:900;color:#fff;background:var(--rr-red);border-radius:5px;padding:4px 6px;text-align:center}
.playlist-history__meta{min-width:0}
.playlist-history__meta strong,.playlist-history__meta span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.playlist-history__meta strong{font-size:14px;color:#113d6c}.playlist-history__meta span{font-size:12px;color:#b8c7d3;margin-top:3px}

/* regional features */
.regional-grid{display:grid;grid-template-columns:1.08fr 1fr 1fr;grid-template-rows:190px 190px;gap:12px}
.regional-story{grid-row:1/3;background:linear-gradient(145deg,#0e4f86,#0b6cb5);color:#fff;border-radius:var(--rr-radius);padding:30px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--rr-shadow)}
.regional-story__tag{display:inline-block;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:12px;opacity:.85}
.regional-story h3{font-size:28px;line-height:1.08;margin:0 0 14px}.regional-story p{line-height:1.6;color:#eef7ff;font-size:14px}
.feature-tile{position:relative;border-radius:var(--rr-radius);overflow:hidden;min-height:0;text-decoration:none;background:#18334c}
.feature-tile--large{grid-column:2/4}
.feature-tile img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s}
.feature-tile:hover img{transform:scale(1.03)}
.feature-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 35%,rgba(5,20,34,.86))}
.feature-tile span{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;color:#fff;font-size:12px}.feature-tile strong{display:block;font-size:18px;margin-bottom:3px}

/* events */
.events-section{background:#15212c;border-radius:var(--rr-radius);padding:28px;box-shadow:0 7px 22px rgba(16,45,73,.07)}
.events-grid{display:grid;gap:12px}
.event-card{display:grid;grid-template-columns:78px 1fr;gap:18px;padding:18px;background:#15212c;border:1px solid var(--rr-line);border-radius:12px;box-shadow:none}
.event-date{width:70px;height:76px;background:#0b5595;color:#fff;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.event-date strong{font-size:27px;line-height:1}.event-date span{font-size:10px;font-weight:900;margin-top:5px}
.event-content h3{margin:3px 0 7px;font-size:18px}.event-content p{margin:0 0 10px;color:var(--rr-text);line-height:1.5;font-size:13px}.event-category{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--rr-blue);font-weight:900}.event-meta{display:flex;gap:14px;flex-wrap:wrap;color:#b8c7d3;font-size:11px;font-weight:700}.event-card--highlight{background:linear-gradient(135deg,#0b5595,#0a6db6);color:#fff;border:0}.event-card--highlight .event-date{background:rgba(255,255,255,.13)}.event-card--highlight .event-category,.event-card--highlight .event-content p{color:#fff}.event-link{color:#fff;font-weight:900;text-decoration:none;font-size:12px}

/* link cards */
.home-links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.home-links-grid a{height:190px;border-radius:var(--rr-radius);overflow:hidden;position:relative;text-decoration:none;background:#17334d}.home-links-grid img{width:100%;height:100%;object-fit:cover}.home-links-grid a:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 30%,rgba(4,17,29,.88))}.home-links-grid span{position:absolute;z-index:2;left:18px;right:18px;bottom:15px;color:#fff;font-size:12px}.home-links-grid strong{display:block;font-size:18px;margin-bottom:3px}

/* Re-skin existing interior pages */
.subhero,.legal-hero,.traffic-hero,.weather-hero,.contact-hero,.join-hero,.playlist-page-hero,.schedule-hero{margin-top:12px}
.platform-section,.services-panel,.legal-panel,.traffic-panel,.weather-panel,.contact-panel,.join-panel,.playlist-panel,.schedule-panel{background:#15212c;border-radius:var(--rr-radius);border:1px solid var(--rr-line);box-shadow:0 7px 22px rgba(16,45,73,.07)}
.site-main h1,.site-main h2,.site-main h3{color:var(--rr-ink)}

/* footer */
.site-footer{background:#102b39;color:#fff;margin-top:70px;padding:34px 20px 110px;text-align:center}
.site-footer__inner{max-width:1080px;margin:auto}.site-footer a{color:#fff;text-decoration:none}.site-footer__links{display:flex;justify-content:center;gap:18px;font-size:12px;margin:10px 0}.site-footer p{font-size:12px;margin:8px 0;color:#d8e3ed}.sociallinks-link-icon a{font-size:20px;margin:0 5px}
.player-dock{position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;height:86px!important;background:#005a8c!important;z-index:9999!important;box-shadow:0 -5px 18px rgba(7,29,48,.2)!important;border:0!important;transform:none!important}
.player-dock__inner{max-width:1080px!important;height:86px!important;margin:0 auto!important;padding:0 18px!important;display:grid!important;grid-template-columns:64px 1fr 54px 58px!important;align-items:center!important;gap:14px!important}
.player-dock__cover{width:64px!important;height:64px!important;object-fit:cover!important;border-radius:4px!important}.player-dock__song{min-width:0!important;color:#fff!important}.player-dock__song strong,.player-dock__song span{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.player-dock__song strong{font-size:17px!important}.player-dock__song span{font-size:13px!important;margin-top:3px!important}.player-dock__queue,.player-dock__play{border:0!important;color:#fff!important;cursor:pointer!important}.player-dock__queue{background:transparent!important;font-size:22px!important}.player-dock__play{width:52px!important;height:52px!important;border-radius:50%!important;background:#8dbf24!important;font-size:18px!important;display:grid!important;place-items:center!important}

@media(max-width:900px){
  .brand-bar{height:72px}.site-logo{max-height:48px!important;max-width:175px!important}
  .station-masthead{height:230px}.header-player-zone{max-width:760px;margin-top:-60px}.header-player{height:120px;grid-template-columns:150px 1fr 68px}.header-player__visual{height:120px}.header-player__body{padding:14px 16px}.header-player__play{width:46px;height:46px}.header-player__track strong{font-size:17px}.header-player__show{margin-left:64px;margin-top:9px}
  .home-intro{grid-template-columns:1fr}.home-intro__facts{grid-template-columns:repeat(4,1fr)}.home-intro__facts a{flex-direction:column;align-items:flex-start}
  .regional-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto 180px 180px}.regional-story{grid-column:1/3;grid-row:auto}.feature-tile--large{grid-column:1/3}
}
@media(max-width:760px){
  body{padding-bottom:74px}
  .network-bar{height:34px;padding:0 10px}.network-bar__brand img{height:21px}.network-bar__more{font-size:11px}
  .brand-bar{height:68px}.site-logo{max-height:45px!important;max-width:168px!important}
  .station-masthead{height:175px}.station-masthead img{object-position:center}
  .header-player-zone{margin:-34px auto 0;padding:0 12px 24px}.header-player{height:auto;min-height:104px;grid-template-columns:92px 1fr;grid-template-rows:auto;border-radius:10px}.header-player__visual{height:104px}.header-player__history{display:none}.header-player__body{padding:12px}.header-player__trackrow{gap:10px}.header-player__play{width:38px;height:38px;font-size:14px}.header-player__eyebrow{font-size:10px}.header-player__track strong{font-size:14px}.header-player__track .api_lfm_currentsong_title{font-size:11px}.header-player__show{margin:8px 0 0 48px;font-size:10px;gap:6px}.header-player__show strong{max-width:160px}
  .site-main{width:min(100% - 20px,1080px);margin-bottom:34px}.home-intro{padding-top:12px;gap:10px}.home-intro__copy{padding:22px 18px}.home-intro__copy h1{font-size:28px}.home-intro__lead{font-size:14px}.home-intro__facts{grid-template-columns:1fr 1fr;gap:8px}.home-intro__facts a{padding:13px 11px;flex-direction:row;align-items:center}.home-intro__facts i{width:30px;height:30px}
  .home-section{margin-top:32px}.section-title-row{align-items:flex-start;flex-direction:column;gap:10px}.section-title-row h2{font-size:24px}
  .now-playing-grid{grid-template-columns:1fr;padding:8px;min-height:0}.now-playing-current{min-height:320px}.playlist-history__item{grid-template-columns:48px 56px 1fr;padding:6px 2px}.playlist-history__cover{width:48px;height:48px}.playlist-history__time{font-size:10px}
  .regional-grid{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.regional-story,.feature-tile--large{grid-column:auto;grid-row:auto}.regional-story{padding:23px}.feature-tile{height:160px}
  .events-section{padding:18px 12px}.event-card{grid-template-columns:58px 1fr;gap:12px;padding:12px}.event-date{width:54px;height:62px}.event-date strong{font-size:22px}.event-content h3{font-size:15px}.event-meta{gap:6px;flex-direction:column}
  .home-links-grid{grid-template-columns:1fr}.home-links-grid a{height:150px}
  .site-footer{padding-bottom:95px}
  .player-dock{height:72px!important}.player-dock__inner{height:72px!important;grid-template-columns:50px 1fr 34px 44px!important;padding:0 10px!important;gap:9px!important}.player-dock__cover{width:50px!important;height:50px!important}.player-dock__song strong{font-size:13px!important}.player-dock__song span{font-size:10px!important}.player-dock__queue{font-size:18px!important}.player-dock__play{width:40px!important;height:40px!important;font-size:14px!important}
}
.playlist-history__content{min-width:0;display:grid;grid-template-columns:64px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}.playlist-history__content .playlist-history__time{grid-row:1/3;align-self:center}.playlist-history__title,.playlist-history__artist{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-history__title{font-size:14px;font-weight:900;color:#80c4f2}.playlist-history__artist{font-size:12px;color:#b8c7d3;margin-top:2px}
@media(max-width:760px){.playlist-history__content{grid-template-columns:54px 1fr;column-gap:7px}.playlist-history__title{font-size:12px}.playlist-history__artist{font-size:10px}}

/* ==========================================================
   Feinabstimmung 25.08.2026
   ========================================================== */

/* Offizielles Logo ohne künstlich erzeugte Header-Grafik */
.brand-bar {
    height: 100px;
    overflow: visible;
}
.brand-bar__link {
    width: 260px;
    height: 92px;
    padding: 7px 0;
}
.site-logo {
    width: auto !important;
    height: 76px !important;
    max-width: 235px !important;
    max-height: 76px !important;
    object-fit: contain !important;
}

/* Startseite: schmale Schnellwahl-Kacheln entfallen */
.home-intro {
    grid-template-columns: 1fr !important;
}
.home-intro__copy {
    width: 100%;
}
.home-intro__facts {
    display: none !important;
}

/* Blaue Storykarte: Überschrift muss weiß bleiben */
.site-main .regional-story h3,
.regional-story h3 {
    color: #fff !important;
}
.regional-story p {
    color: #eef7ff !important;
}

/* Letzte Titel: Bild + komplette Metadaten, nicht drei Spalten */
.playlist-history__item {
    grid-template-columns: 58px minmax(0, 1fr) !important;
}
.playlist-history__content {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: 68px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 10px !important;
    align-items: center !important;
}
.playlist-history__content .playlist-history__time {
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
    align-self: center !important;
    justify-self: start !important;
}
.playlist-history__title,
.playlist-history__artist {
    grid-column: 2 !important;
    display: block !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.playlist-history__title {
    grid-row: 1 !important;
    margin: 0 0 2px !important;
    color: #80c4f2 !important;
    font-size: 14px !important;
    font-weight: 900 !important;
}
.playlist-history__artist {
    grid-row: 2 !important;
    margin: 0 !important;
    color: #b8c7d3 !important;
    font-size: 12px !important;
}

/* Inhaltsseiten bewusst breiter als bisher */
.site-main:not(.home-main) {
    width: min(calc(100% - 36px), 1360px) !important;
}
.contact-layout {
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .55fr) !important;
    gap: 26px !important;
}
.contact-form-panel {
    padding: 32px !important;
}
.contact-info-card {
    padding: 26px !important;
}

@media (max-width: 1100px) {
    .contact-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 760px) {
    .brand-bar {
        height: 78px !important;
    }
    .brand-bar__link {
        width: 205px !important;
        height: 72px !important;
        padding: 5px 0 !important;
    }
    .site-logo {
        height: 60px !important;
        max-height: 60px !important;
        max-width: 190px !important;
    }

    .site-main:not(.home-main) {
        width: calc(100% - 20px) !important;
    }

    /* Songhistorie mobil: Titel und Interpret bleiben sichtbar */
    .playlist-history__item {
        grid-template-columns: 48px minmax(0, 1fr) !important;
        gap: 9px !important;
        padding: 7px 2px !important;
    }
    .playlist-history__cover {
        width: 48px !important;
        height: 48px !important;
    }
    .playlist-history__content {
        grid-template-columns: 54px minmax(0, 1fr) !important;
        column-gap: 7px !important;
    }
    .playlist-history__title {
        font-size: 12px !important;
    }
    .playlist-history__artist {
        font-size: 10px !important;
    }

    /* Veranstaltungstipps mobil neu umbrechen */
    .events-section {
        padding: 18px 12px !important;
    }
    .event-card {
        display: block !important;
        padding: 14px !important;
    }
    .event-date {
        width: max-content !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 8px 12px !important;
        margin-bottom: 12px !important;
        flex-direction: row !important;
        gap: 7px !important;
        border-radius: 8px !important;
    }
    .event-date strong {
        font-size: 19px !important;
    }
    .event-date span {
        margin: 0 !important;
        font-size: 10px !important;
    }
    .event-category {
        max-width: 100% !important;
        white-space: normal !important;
        line-height: 1.35 !important;
    }
    .event-content h3 {
        font-size: 17px !important;
        line-height: 1.25 !important;
    }
    .event-content p {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }
    .event-meta {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 7px !important;
        margin-top: 12px !important;
    }
    .event-meta span {
        min-width: 0 !important;
        white-space: normal !important;
        line-height: 1.35 !important;
    }

    .contact-form-panel,
    .contact-info-card,
    .contact-security {
        padding: 18px !important;
    }
}

/* ======================================================================
   Einheitliche Seitenbreite – 25.08.2026
   Alle regulären Inhaltsseiten inklusive Startseite nutzen denselben Shell.
   ====================================================================== */
.site-main,
.site-main.home-main,
.site-main:not(.home-main) {
    width: min(calc(100% - 36px), 1360px) !important;
    max-width: 1360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 760px) {
    .site-main,
    .site-main.home-main,
    .site-main:not(.home-main) {
        width: calc(100% - 20px) !important;
        max-width: none !important;
    }
}


/* ======================================================================
   RADIO RHEINLAND – Markenfarben Bordeaux / Himbeere 25.08.2026
   ====================================================================== */
:root{
  --blue:#0066b3;
  --blue-dark:#005a8c;
  --blue-soft:#edf5f9;
  --red:#0066b3;
  --rr-blue:#0066b3;
  --rr-blue-dark:#005a8c;
  --rr-blue-soft:#edf5f9;
  --rr-red:#0066b3;
  --rr-accent:#8dbf24;
  --rr-bordeaux:#005a8c;
  --rr-berry:#0066b3;
  --rr-raspberry:#0066b3;
  --rr-ink:#102b39;
  --rr-text:#66515b;
  --rr-line:#dfe7eb;
  --rr-bg:#f4f7f8;
}
body{
  background:
    radial-gradient(circle at top left,rgba(214,36,104,.055),transparent 34%),
    linear-gradient(180deg,#15212c 0%,#15212c 100%)!important;
}
/* Das neue Logo enthält weißes „land“ – deshalb eigener dunkler Markenbereich. */
.brand-bar{
  height:128px!important;
  background:linear-gradient(110deg,#102b39 0%,#12425d 52%,#005a8c 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden!important;
}
.brand-bar__link{width:210px!important;height:120px!important;padding:6px 0!important}
.site-logo{width:180px!important;height:auto!important;max-width:180px!important;max-height:none!important;filter:drop-shadow(0 5px 14px rgba(0,0,0,.14))}
.header-navbar{background:linear-gradient(90deg,#005a8c 0%,#0066b3 58%,#005a8c 100%)!important}
.desktop-nav>a:hover,.desktop-nav>.dropdown>a:hover,.desktop-nav>a.active,.desktop-nav>.dropdown.active>a{background:#0066b3!important}
.desktop-nav .dropdown-menu a:hover,.desktop-nav .dropdown-menu a.active{background:#15212c!important;color:#80c4f2!important}
.mobile-nav__brand{background:linear-gradient(120deg,#102b39,#005a8c);border-radius:12px;border-bottom:0!important;padding:16px 10px!important}
.mobile-nav__brand img{width:165px!important;max-width:100%;height:auto}
.mobile-nav a.active{color:#80c4f2!important}
.station-masthead:after{background:linear-gradient(90deg,rgba(65,12,35,.08),rgba(104,16,55,.20))!important}
.header-player__play{background:#00699f!important}
.header-player__eyebrow,.header-player__onair{color:#80c4f2!important}
.header-player__onair i{color:#8dbf24!important}
.header-player{box-shadow:0 14px 34px rgba(80,17,45,.20)!important}
.btn-primary{background:linear-gradient(135deg,#0066b3,#0066b3)!important;color:#fff!important;box-shadow:0 8px 18px rgba(167,25,85,.22)!important}
.btn-primary:hover{background:linear-gradient(135deg,#005a8c,#005a8c)!important}
.section-kicker,.text-link{color:#80c4f2!important}
.home-intro__facts i{background:#15212c!important;color:#80c4f2!important}
.regional-story{background:linear-gradient(135deg,#005a8c 0%,#005a8c 62%,#0066b3 100%)!important}
.regional-story p{color:#edf5f9!important}
.now-playing-grid{background:linear-gradient(135deg,#15212c,#1b2c39)!important}
.event-date{background:linear-gradient(135deg,#0066b3 0%,#005a8c 100%)!important}
.event-card--highlight{background:linear-gradient(135deg,#005a8c 0%,#0066b3 58%,#0066b3 100%)!important}
.site-footer{background:linear-gradient(135deg,#102b39 0%,#102b39 100%)!important}
.player-dock{background:linear-gradient(90deg,#005a8c 0%,#0066b3 52%,#0066b3 100%)!important;box-shadow:0 -5px 20px rgba(75,16,43,.24)!important}
.player-dock__play{background:#8dbf24!important;color:#b8c7d3!important}
.player-dock__queue{color:#fff!important}
.playlist-history__title{color:#80c4f2!important}
.playlist-history__artist{color:#b8c7d3!important}
.icon-btn{color:#80c4f2!important}
.live-pill{background:#1b2c39!important;color:#8a5310!important}
.live-pill::before{background:#8dbf24!important}

/* Einheitliche Inhaltsbreite für alle Seiten */
.site-main,.site-main:not(.home-main){width:min(calc(100% - 36px),1360px)!important}

@media(max-width:760px){
  .brand-bar{height:104px!important}
  .brand-bar__link{width:166px!important;height:98px!important;padding:4px 0!important}
  .site-logo{width:145px!important;max-width:145px!important;height:auto!important;max-height:none!important}
  .site-main,.site-main:not(.home-main){width:calc(100% - 20px)!important}
}


/* Logo-Header: kompakteres Logo + Social Media – korrigiert */
.brand-bar { height: 112px !important; }
.brand-bar__inner {
    position: relative;
    width: min(calc(100% - 36px), 1360px);
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.brand-bar__link {
    width: 190px !important;
    height: 104px !important;
    padding: 4px 0 !important;
    display: flex;
    align-items: center;
    justify-content: center;
}
.site-logo {
    width: 158px !important;
    max-width: 158px !important;
    max-height: 100px !important;
}
.brand-bar__socials {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 10px;
}
.brand-bar__socials a {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    text-decoration: none;
    font-size: 17px;
    border: 1px solid rgba(255,255,255,.32);
    background: rgba(255,255,255,.10);
}
.brand-bar__socials a:hover {
    background: #8dbf24;
    border-color: #8dbf24;
    color: #b8c7d3 !important;
}

/* Headerplayer: linkes Cover immer quadratisch */
.header-player {
    width: min(950px, calc(100vw - 48px));
    height: 190px;
    grid-template-columns: 190px minmax(0, 1fr) 86px;
}
.header-player__visual {
    width: 190px;
    height: 190px;
    aspect-ratio: 1 / 1;
}
.header-player__cover,
.header-player__visual > img {
    width: 190px !important;
    height: 190px !important;
    aspect-ratio: 1 / 1;
    object-fit: cover !important;
}
.header-player__main,
.header-player__body {
    min-width: 0;
}
.header-player__history { height: 190px; }

@media (max-width: 900px) {
    .brand-bar { height: 102px !important; }
    .brand-bar__link { width: 170px !important; height: 96px !important; }
    .site-logo { width: 142px !important; max-width: 142px !important; max-height: 92px !important; }
    .header-player {
        width: min(760px, calc(100vw - 28px));
        height: 160px;
        grid-template-columns: 160px minmax(0,1fr) 72px;
    }
    .header-player__visual,
    .header-player__cover,
    .header-player__visual > img {
        width: 160px !important;
        height: 160px !important;
    }
    .header-player__history { height: 160px; }
}

@media (max-width: 600px) {
    .brand-bar { height: 88px !important; }
    .brand-bar__inner { width: calc(100% - 20px); }
    .brand-bar__link { width: 132px !important; height: 82px !important; }
    .site-logo { width: 112px !important; max-width: 112px !important; max-height: 78px !important; }
    .brand-bar__socials { right: 0; gap: 6px; }
    .brand-bar__socials a { width: 31px; height: 31px; font-size: 14px; }
    .header-player {
        width: calc(100vw - 18px);
        height: 108px;
        grid-template-columns: 108px minmax(0,1fr);
    }
    .header-player__visual,
    .header-player__cover,
    .header-player__visual > img {
        width: 108px !important;
        height: 108px !important;
    }
    .header-player__history { display: none; }
}

/* Performance cleanup 2026-08-26: Footer-Player entfernt, Header ohne History-Cover */
.header-player {
    grid-template-columns: 190px minmax(0, 1fr) !important;
}
@media (max-width: 900px) {
    .header-player { grid-template-columns: 160px minmax(0, 1fr) !important; }
}
@media (max-width: 600px) {
    body { padding-bottom: 0 !important; }
    .header-player { grid-template-columns: 108px minmax(0, 1fr) !important; }
}

/* ======================================================================
   Performance-Layout V2 – 26.08.2026
   Footer ohne Player-Reserve + wertigere ON-AIR-Box (rein CSS, keine Requests)
   ====================================================================== */

/* Nach Entfernen des Footer-Players darf keine alte Sicherheitszone bleiben. */
.site-footer,
#dynamic-footer footer,
footer.site-footer {
    margin-top: 38px !important;
    padding: 30px 20px 32px !important;
    min-height: 0 !important;
}
.site-footer__inner {
    min-height: 0 !important;
}
body {
    padding-bottom: 0 !important;
}

/* ON AIR: mehr Tiefe und Markencharakter, ohne weitere Bilder oder APIs. */
.header-player {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(116,21,59,.12) !important;
    background: #15212c !important;
    box-shadow: 0 16px 42px rgba(78,18,43,.18) !important;
}
.header-player::before {
    content: "";
    position: absolute;
    left: 190px;
    right: 0;
    top: 0;
    height: 4px;
    background: linear-gradient(90deg,#005a8c 0%,#0066b3 64%,#8dbf24 100%);
    z-index: 1;
}
.header-player::after {
    content: "";
    position: absolute;
    width: 180px;
    height: 180px;
    right: -70px;
    top: -90px;
    border-radius: 50%;
    background: radial-gradient(circle,rgba(214,36,104,.09) 0%,rgba(214,36,104,0) 70%);
    pointer-events: none;
}
.header-player__visual {
    position: relative;
    background: #15212c;
}
.header-player__visual::after {
    content: "LIVE";
    position: absolute;
    left: 12px;
    bottom: 12px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #8dbf24;
    color: #eef3f7;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .08em;
    box-shadow: 0 4px 12px rgba(58,22,35,.18);
}
.header-player__cover {
    transition: transform .25s ease;
}
.header-player:hover .header-player__cover {
    transform: scale(1.015);
}
.header-player__body {
    position: relative;
    z-index: 2;
    padding: 23px 28px 20px !important;
    background: linear-gradient(115deg,#15212c 0%,#15212c 67%,#15212c 100%);
}
.header-player__trackrow {
    align-items: center !important;
}
.header-player__play {
    width: 64px !important;
    height: 64px !important;
    flex: 0 0 64px;
    border: 0 !important;
    background: linear-gradient(145deg,#0066b3,#005a8c) !important;
    box-shadow: 0 8px 20px rgba(116,21,59,.25) !important;
    transition: transform .18s ease, box-shadow .18s ease !important;
}
.header-player__play:hover {
    transform: translateY(-1px) scale(1.03);
    box-shadow: 0 10px 24px rgba(116,21,59,.31) !important;
}
.header-player__eyebrow {
    display: inline-flex !important;
    align-items: center;
    width: max-content;
    margin-bottom: 4px !important;
    color: #80c4f2 !important;
    font-size: .78rem !important;
    font-weight: 900 !important;
    letter-spacing: .075em !important;
}
.header-player__track strong {
    color: #eef3f7 !important;
    font-size: 1.18rem !important;
    line-height: 1.15 !important;
}
.header-player__track > span:last-child {
    margin-top: 3px !important;
    color: #eef3f7 !important;
    font-size: .98rem !important;
}
.header-player__show {
    display: flex !important;
    align-items: center;
    gap: 12px;
    margin-top: 17px !important;
    padding-top: 13px;
    border-top: 1px solid #354b5d;
}
.header-player__onair {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 6px 9px;
    border-radius: 999px;
    background: #1b2c39;
    color: #80c4f2 !important;
    font-size: .72rem !important;
    font-weight: 900 !important;
    letter-spacing: .05em;
}
.header-player__onair i {
    color: #8dbf24 !important;
}
.header-player__show strong {
    min-width: 0;
    color: #eef3f7 !important;
    font-size: .96rem !important;
    font-weight: 800 !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.header-player__stationline {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    color: #b8c7d3;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .045em;
    white-space: nowrap;
}
.header-player__stationline i {
    color: #80c4f2;
    font-size: .68rem;
}

@media (max-width: 900px) {
    .header-player::before { left: 160px; }
    .header-player__body { padding: 19px 22px 17px !important; }
    .header-player__stationline { display: none; }
}

@media (max-width: 600px) {
    .site-footer,
    #dynamic-footer footer,
    footer.site-footer {
        margin-top: 26px !important;
        padding: 25px 14px 27px !important;
    }
    .header-player::before { left: 108px; height: 3px; }
    .header-player__visual::after {
        left: 7px;
        bottom: 7px;
        padding: 4px 6px;
        font-size: 8px;
    }
    .header-player__body { padding: 12px 13px 11px !important; }
    .header-player__play {
        width: 42px !important;
        height: 42px !important;
        flex-basis: 42px;
    }
    .header-player__eyebrow { font-size: .63rem !important; }
    .header-player__track strong { font-size: .82rem !important; }
    .header-player__track > span:last-child { font-size: .72rem !important; }
    .header-player__show {
        gap: 7px;
        margin-top: 9px !important;
        padding-top: 8px;
    }
    .header-player__onair {
        padding: 4px 6px;
        font-size: .58rem !important;
    }
    .header-player__show strong { font-size: .7rem !important; }
}


/* ======================================================================
   ON AIR V3 – klarer Live-Look, Referenz Bild 2 / Cover stabil
   Keine zusätzlichen Requests oder externen Assets.
   ====================================================================== */
.header-player-zone {
    max-width: 1080px !important;
    margin-top: -88px !important;
    padding-bottom: 30px !important;
}
.header-player {
    height: 176px !important;
    min-height: 176px !important;
    grid-template-columns: 176px minmax(0,1fr) !important;
    overflow: visible !important;
    border-radius: 14px !important;
}
.header-player::before {
    left: 176px !important;
    height: 4px !important;
}
.header-player::after {
    display: none !important;
}
.header-player__visual {
    width: 176px !important;
    height: 176px !important;
    min-width: 176px !important;
    min-height: 176px !important;
    overflow: hidden !important;
    border-radius: 14px 0 0 14px !important;
    background: #15212c !important;
}
.header-player__visual::after {
    display: none !important;
}
.header-player__visual img,
.header-player__visual .api_lfm_currentsong_img {
    position: static !important;
    display: block !important;
    width: 176px !important;
    height: 176px !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    border: 0 !important;
    border-radius: 0 !important;
    transform: none !important;
}
.header-player:hover .api_lfm_currentsong_img {
    transform: none !important;
}
.header-player__body {
    min-height: 176px !important;
    padding: 20px 30px 16px 32px !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 0 14px 14px 0;
}
.header-player__trackrow {
    display: grid !important;
    grid-template-columns: 92px minmax(0,1fr) !important;
    gap: 23px !important;
    align-items: center !important;
}
.header-player__control {
    position: relative;
    width: 92px;
    height: 98px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    flex: 0 0 auto;
}
.header-player__listen-label {
    position: absolute;
    z-index: 3;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    max-width: 116px;
    padding: 7px 10px 8px;
    background: #8dbf24;
    color: #eef3f7;
    font-size: 10px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: .01em;
    white-space: nowrap;
    box-shadow: 0 6px 13px rgba(95,41,18,.15);
}
.header-player__listen-label::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7px;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #8dbf24;
}
.header-player__play {
    width: 66px !important;
    height: 66px !important;
    flex: 0 0 66px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    background: #005a8c !important;
    box-shadow: 0 9px 22px rgba(116,21,59,.26) !important;
}
.header-player__play i {
    margin-left: 3px;
}
.header-player__eyebrow {
    margin: 0 0 7px !important;
    color: #b8c7d3 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: .16em !important;
}
.header-player__track strong {
    font-size: clamp(1.45rem,2.15vw,2rem) !important;
    line-height: 1.02 !important;
    font-weight: 900 !important;
    letter-spacing: .015em !important;
    text-transform: uppercase;
    color: #eef3f7 !important;
}
.header-player__track > span.api_lfm_currentsong_title,
.header-player__track > span:last-child {
    margin-top: 5px !important;
    font-size: 1.02rem !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    color: #eef3f7 !important;
}
.header-player__show {
    margin: 10px 0 0 115px !important;
    padding-top: 9px !important;
    gap: 10px !important;
}
.header-player__onair {
    padding: 5px 9px !important;
    font-size: .68rem !important;
}
.header-player__show strong {
    font-size: .9rem !important;
}
.header-player__stationline {
    font-size: .66rem !important;
}

@media (max-width: 900px) {
    .header-player-zone {
        margin-top: -72px !important;
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
    .header-player {
        height: 148px !important;
        min-height: 148px !important;
        grid-template-columns: 148px minmax(0,1fr) !important;
    }
    .header-player::before { left: 148px !important; }
    .header-player__visual,
    .header-player__visual img,
    .header-player__visual .api_lfm_currentsong_img {
        width: 148px !important;
        height: 148px !important;
        min-width: 148px !important;
        min-height: 148px !important;
    }
    .header-player__body {
        min-height: 148px !important;
        padding: 14px 20px 12px 22px !important;
    }
    .header-player__trackrow {
        grid-template-columns: 76px minmax(0,1fr) !important;
        gap: 17px !important;
    }
    .header-player__control { width:76px; height:84px; }
    .header-player__listen-label { padding:6px 8px 7px; font-size:9px; }
    .header-player__play { width:56px !important; height:56px !important; flex-basis:56px !important; }
    .header-player__eyebrow { font-size:10px !important; margin-bottom:5px !important; }
    .header-player__track strong { font-size:1.35rem !important; }
    .header-player__track > span.api_lfm_currentsong_title { font-size:.88rem !important; }
    .header-player__show { margin-left:93px !important; margin-top:7px !important; padding-top:7px !important; }
}

@media (max-width: 600px) {
    .header-player-zone {
        margin-top: -44px !important;
        padding: 0 9px 20px !important;
    }
    .header-player {
        height: 112px !important;
        min-height: 112px !important;
        grid-template-columns: 112px minmax(0,1fr) !important;
        overflow: hidden !important;
        border-radius: 10px !important;
    }
    .header-player::before { left:112px !important; height:3px !important; }
    .header-player__visual,
    .header-player__visual img,
    .header-player__visual .api_lfm_currentsong_img {
        width:112px !important;
        height:112px !important;
        min-width:112px !important;
        min-height:112px !important;
        border-radius:10px 0 0 10px !important;
    }
    .header-player__body {
        min-height:112px !important;
        padding:10px 11px !important;
        border-radius:0 10px 10px 0;
    }
    .header-player__trackrow {
        grid-template-columns:40px minmax(0,1fr) !important;
        gap:9px !important;
    }
    .header-player__control {
        width:40px;
        height:46px;
        align-items:flex-end;
    }
    .header-player__listen-label { display:none; }
    .header-player__play {
        width:38px !important;
        height:38px !important;
        flex-basis:38px !important;
        font-size:.78rem !important;
    }
    .header-player__eyebrow {
        font-size:8px !important;
        letter-spacing:.1em !important;
        margin-bottom:3px !important;
    }
    .header-player__track strong {
        font-size:.88rem !important;
        line-height:1.05 !important;
    }
    .header-player__track > span.api_lfm_currentsong_title {
        margin-top:3px !important;
        font-size:.66rem !important;
    }
    .header-player__show {
        margin:6px 0 0 49px !important;
        padding-top:5px !important;
        gap:6px !important;
    }
    .header-player__onair {
        padding:3px 6px !important;
        font-size:.53rem !important;
    }
    .header-player__show strong {
        max-width:120px;
        font-size:.62rem !important;
    }
}

/* ======================================================================
   ON AIR V4 – näher an Referenz: eine klare Fläche, keine verschachtelten Boxen
   Rein visuell; keine zusätzlichen Requests.
   ====================================================================== */
.header-player-zone {
    max-width: 1120px !important;
    margin-top: -88px !important;
    padding: 0 20px 28px !important;
}
.header-player {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 176px 132px minmax(0,1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 176px !important;
    min-height: 176px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.97) !important;
    border: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 16px 38px rgba(57,20,35,.16) !important;
}
.header-player::before,
.header-player::after { display:none !important; }

.header-player__visual {
    position: relative !important;
    width: 176px !important;
    height: 176px !important;
    min-width: 176px !important;
    min-height: 176px !important;
    overflow: hidden !important;
    background: #15212c !important;
    border-radius: 14px 0 0 14px !important;
}
.header-player__visual::after { display:none !important; }
.header-player__visual img,
.header-player__visual .api_lfm_currentsong_img {
    position: static !important;
    display:block !important;
    width:176px !important;
    height:176px !important;
    min-width:176px !important;
    min-height:176px !important;
    max-width:none !important;
    max-height:none !important;
    object-fit:cover !important;
    object-position:center !important;
    border:0 !important;
    border-radius:0 !important;
    transform:none !important;
}
.header-player:hover .api_lfm_currentsong_img { transform:none !important; }

.header-player__control {
    position: relative !important;
    width:auto !important;
    height:auto !important;
    min-width:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding-top:18px !important;
    background:#15212c !important;
}
.header-player__listen-label {
    position:absolute !important;
    top:18px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:2 !important;
    width:max-content !important;
    max-width:none !important;
    padding:9px 13px !important;
    background:#8dbf24 !important;
    color:#eef3f7 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.015em !important;
    white-space:nowrap !important;
    box-shadow:none !important;
}
.header-player__listen-label::after {
    content:"" !important;
    position:absolute !important;
    left:50% !important;
    bottom:-8px !important;
    transform:translateX(-50%) !important;
    border-left:8px solid transparent !important;
    border-right:8px solid transparent !important;
    border-top:8px solid #8dbf24 !important;
}
.header-player__play {
    width:76px !important;
    height:76px !important;
    min-width:76px !important;
    flex:0 0 76px !important;
    margin:28px 0 0 !important;
    border:0 !important;
    border-radius:50% !important;
    background:#005a8c !important;
    color:#8dbf24 !important;
    font-size:1.35rem !important;
    box-shadow:0 10px 24px rgba(117,20,61,.23) !important;
    transition:transform .18s ease, box-shadow .18s ease !important;
}
.header-player__play:hover {
    transform:translateY(-2px) !important;
    box-shadow:0 14px 28px rgba(117,20,61,.28) !important;
}
.header-player__play i { margin-left:4px !important; }

.header-player__content {
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    padding:24px 34px 20px 18px !important;
    background:#15212c !important;
}
.header-player__eyebrow {
    display:block !important;
    margin:0 0 8px !important;
    color:#b8c7d3 !important;
    font-size:11px !important;
    line-height:1 !important;
    font-weight:700 !important;
    letter-spacing:.19em !important;
    text-transform:uppercase !important;
}
.header-player__track {
    min-width:0 !important;
    display:block !important;
}
.header-player__track strong {
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    margin:0 !important;
    color:#eef3f7 !important;
    font-size:clamp(1.65rem,2.4vw,2.35rem) !important;
    line-height:1.02 !important;
    font-weight:900 !important;
    letter-spacing:.025em !important;
    text-transform:uppercase !important;
}
.header-player__track > span.api_lfm_currentsong_title {
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    margin:7px 0 0 !important;
    color:#eef3f7 !important;
    font-size:1.08rem !important;
    line-height:1.15 !important;
    font-weight:800 !important;
    letter-spacing:.02em !important;
    text-transform:uppercase !important;
}
.header-player__show {
    display:flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:9px 12px !important;
    margin:17px 0 0 !important;
    padding:12px 0 0 !important;
    border-top:1px solid #354b5d !important;
}
.header-player__onair {
    display:inline-flex !important;
    align-items:center !important;
    gap:5px !important;
    padding:5px 9px !important;
    border-radius:999px !important;
    background:#15212c !important;
    color:#80c4f2 !important;
    font-size:.68rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    white-space:nowrap !important;
}
.header-player__onair i { color:#8dbf24 !important; }
.header-player__show strong {
    max-width:48% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    color:#eef3f7 !important;
    font-size:.82rem !important;
    line-height:1.1 !important;
    font-weight:800 !important;
}
.header-player__stationline {
    margin-left:auto !important;
    color:#00699f !important;
    font-size:.64rem !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.035em !important;
    white-space:nowrap !important;
}

@media (max-width: 900px) {
    .header-player-zone {
        margin-top:-68px !important;
        padding-left:14px !important;
        padding-right:14px !important;
    }
    .header-player {
        grid-template-columns:146px 104px minmax(0,1fr) !important;
        height:146px !important;
        min-height:146px !important;
    }
    .header-player__visual,
    .header-player__visual img,
    .header-player__visual .api_lfm_currentsong_img {
        width:146px !important;
        height:146px !important;
        min-width:146px !important;
        min-height:146px !important;
    }
    .header-player__listen-label { top:14px !important; padding:7px 9px !important; font-size:9px !important; }
    .header-player__play { width:62px !important; height:62px !important; min-width:62px !important; flex-basis:62px !important; margin-top:24px !important; }
    .header-player__content { padding:18px 22px 15px 10px !important; }
    .header-player__eyebrow { margin-bottom:6px !important; font-size:9px !important; }
    .header-player__track strong { font-size:1.45rem !important; }
    .header-player__track > span.api_lfm_currentsong_title { margin-top:5px !important; font-size:.9rem !important; }
    .header-player__show { margin-top:12px !important; padding-top:9px !important; }
    .header-player__stationline { display:none !important; }
    .header-player__show strong { max-width:65% !important; }
}

@media (max-width: 600px) {
    .header-player-zone {
        margin-top:-38px !important;
        padding:0 9px 16px !important;
    }
    .header-player {
        grid-template-columns:96px 54px minmax(0,1fr) !important;
        height:110px !important;
        min-height:110px !important;
        border-radius:10px !important;
    }
    .header-player__visual,
    .header-player__visual img,
    .header-player__visual .api_lfm_currentsong_img {
        width:96px !important;
        height:110px !important;
        min-width:96px !important;
        min-height:110px !important;
        border-radius:10px 0 0 10px !important;
    }
    .header-player__listen-label { display:none !important; }
    .header-player__control { padding-top:0 !important; }
    .header-player__play {
        width:42px !important;
        height:42px !important;
        min-width:42px !important;
        flex-basis:42px !important;
        margin:0 !important;
        font-size:.85rem !important;
        box-shadow:none !important;
    }
    .header-player__content { padding:10px 10px 9px 3px !important; }
    .header-player__eyebrow { font-size:7px !important; letter-spacing:.11em !important; margin-bottom:4px !important; }
    .header-player__track strong { font-size:.87rem !important; }
    .header-player__track > span.api_lfm_currentsong_title { margin-top:3px !important; font-size:.64rem !important; }
    .header-player__show { gap:6px !important; margin-top:7px !important; padding-top:6px !important; }
    .header-player__onair { padding:3px 6px !important; font-size:.51rem !important; }
    .header-player__show strong { max-width:68% !important; font-size:.57rem !important; }
}

/* === Radio Rheinland: compact ON AIR header v5 === */
.header-player-zone{position:relative!important;z-index:35!important;width:min(1120px,calc(100% - 32px))!important;margin:-58px auto 24px!important;padding:0!important}
.header-player{position:relative!important;inset:auto!important;transform:none!important;width:100%!important;min-height:128px!important;height:auto!important;display:grid!important;grid-template-columns:112px minmax(0,1fr) 220px!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:0!important;overflow:hidden!important;border:1px solid rgba(117,20,61,.12)!important;border-radius:14px!important;background:#15212c!important;box-shadow:0 12px 30px rgba(58,24,39,.14)!important}
.header-player__visual{width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;align-self:center!important;margin-left:8px!important;overflow:hidden!important;border-radius:10px!important;background:#15212c!important}
.header-player__visual img,.header-player__visual .api_lfm_currentsong_img{display:block!important;width:112px!important;height:112px!important;min-width:112px!important;min-height:112px!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important;border:0!important;border-radius:10px!important}
.header-player__content{min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;padding:18px 28px!important;background:#15212c!important}
.header-player__eyebrow{display:flex!important;align-items:center!important;gap:7px!important;margin:0 0 7px!important;color:#00699f!important;font-size:.68rem!important;font-weight:900!important;line-height:1!important;letter-spacing:.13em!important;text-transform:uppercase!important}
.header-player__live-dot{width:7px!important;height:7px!important;flex:0 0 7px!important;border-radius:50%!important;background:#8dbf24!important;box-shadow:0 0 0 4px rgba(255,173,56,.15)!important}
.header-player__track{display:block!important;min-width:0!important}
.header-player__track strong{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin:0!important;color:#eef3f7!important;font-size:clamp(1.25rem,2vw,1.8rem)!important;font-weight:900!important;line-height:1.08!important;letter-spacing:0!important;text-transform:none!important}
.header-player__track > span.api_lfm_currentsong_title{display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;margin:5px 0 0!important;color:#b8c7d3!important;font-size:.98rem!important;font-weight:700!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important}
.header-player__show{display:flex!important;align-items:center!important;gap:7px!important;margin:12px 0 0!important;padding:0!important;border:0!important;color:#b8c7d3!important;font-size:.7rem!important;line-height:1!important}
.header-player__show span{margin:0!important;padding:0!important;background:none!important;color:#00699f!important;font-size:.66rem!important;font-weight:900!important;letter-spacing:.08em!important}
.header-player__show span:after{content:'·';margin-left:7px;color:#b8c7d3}
.header-player__show strong{display:block!important;max-width:70%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;color:#b8c7d3!important;font-size:.72rem!important;font-weight:700!important}
.header-player__listen{appearance:none!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:13px!important;width:100%!important;min-width:0!important;margin:0!important;padding:0 22px!important;border:0!important;border-left:1px solid rgba(117,20,61,.10)!important;border-radius:0!important;background:#15212c!important;color:#80c4f2!important;cursor:pointer!important;box-shadow:none!important;text-align:left!important;transition:background .18s ease!important}
.header-player__listen:hover{background:#15212c!important}
.header-player__listen-icon{display:grid!important;place-items:center!important;width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:50%!important;background:#005a8c!important;color:#8dbf24!important;font-size:1rem!important;box-shadow:0 8px 20px rgba(117,20,61,.18)!important}
.header-player__listen-icon i{margin-left:3px!important}
.header-player__listen-copy{display:flex!important;flex-direction:column!important;gap:3px!important;color:#80c4f2!important}
.header-player__listen-copy small{font-size:.58rem!important;font-weight:800!important;line-height:1!important;letter-spacing:.1em!important}
.header-player__listen-copy strong{font-size:1rem!important;font-weight:900!important;line-height:1!important;letter-spacing:.03em!important}
.header-player__control,.header-player__listen-label,.header-player__stationline,.header-player__onair{display:none!important}
@media(max-width:800px){.header-player-zone{margin-top:-44px!important}.header-player{grid-template-columns:92px minmax(0,1fr) 72px!important;min-height:106px!important}.header-player__visual{width:88px!important;height:88px!important;min-width:88px!important;min-height:88px!important;margin-left:7px!important}.header-player__visual img,.header-player__visual .api_lfm_currentsong_img{width:88px!important;height:88px!important;min-width:88px!important;min-height:88px!important}.header-player__content{padding:13px 16px!important}.header-player__track strong{font-size:1.15rem!important}.header-player__track > span.api_lfm_currentsong_title{font-size:.82rem!important}.header-player__listen{padding:0!important;border-left:1px solid rgba(117,20,61,.10)!important}.header-player__listen-icon{width:44px!important;height:44px!important;flex-basis:44px!important;box-shadow:none!important}.header-player__listen-copy{display:none!important}}
@media(max-width:520px){.header-player-zone{width:calc(100% - 18px)!important;margin-top:-32px!important;margin-bottom:16px!important}.header-player{grid-template-columns:74px minmax(0,1fr) 58px!important;min-height:88px!important;border-radius:10px!important}.header-player__visual{width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;margin-left:6px!important;border-radius:7px!important}.header-player__visual img,.header-player__visual .api_lfm_currentsong_img{width:68px!important;height:68px!important;min-width:68px!important;min-height:68px!important;border-radius:7px!important}.header-player__content{padding:10px 9px!important}.header-player__eyebrow{margin-bottom:4px!important;font-size:.53rem!important}.header-player__live-dot{width:5px!important;height:5px!important;flex-basis:5px!important;box-shadow:none!important}.header-player__track strong{font-size:.9rem!important}.header-player__track > span.api_lfm_currentsong_title{margin-top:3px!important;font-size:.68rem!important}.header-player__show{margin-top:7px!important;gap:5px!important}.header-player__show span{font-size:.51rem!important}.header-player__show span:after{margin-left:5px!important}.header-player__show strong{max-width:62%!important;font-size:.55rem!important}.header-player__listen-icon{width:38px!important;height:38px!important;flex-basis:38px!important;font-size:.78rem!important}}


/* === Radio Rheinland: ON AIR header v6 — closer to original === */
.header-player-zone{
  width:min(1120px,calc(100% - 32px))!important;
  margin:-58px auto 24px!important;
}
.header-player{
  min-height:122px!important;
  grid-template-columns:118px 74px minmax(0,1fr)!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:12px!important;
  background:#005a8c!important;
  box-shadow:0 12px 30px rgba(58,24,39,.18)!important;
}
.header-player__visual{
  width:106px!important;height:106px!important;
  min-width:106px!important;min-height:106px!important;
  margin:8px 0 8px 8px!important;
  align-self:center!important;
  border-radius:9px!important;
  background:#005a8c!important;
}
.header-player__visual img,.header-player__visual .api_lfm_currentsong_img{
  width:106px!important;height:106px!important;
  min-width:106px!important;min-height:106px!important;
  border-radius:9px!important;
  object-fit:cover!important;
}
.header-player__content{
  grid-column:3!important;
  padding:16px 24px 15px 8px!important;
  background:#005a8c!important;
  color:#fff!important;
}
.header-player__eyebrow{
  margin-bottom:7px!important;
  color:#8dbf24!important;
  font-size:.64rem!important;
}
.header-player__track strong{
  color:#fff!important;
  font-size:clamp(1.15rem,2vw,1.65rem)!important;
}
.header-player__track > span.api_lfm_currentsong_title{
  color:rgba(255,255,255,.82)!important;
  font-size:.9rem!important;
}
.header-player__show{
  margin-top:11px!important;
  gap:7px!important;
  color:rgba(255,255,255,.72)!important;
}
.header-player__show span{
  color:#8dbf24!important;
  font-size:.64rem!important;
}
.header-player__show span:after{color:rgba(255,255,255,.38)!important}
.header-player__show strong{
  max-width:78%!important;
  color:#fff!important;
  font-size:.78rem!important;
  font-weight:800!important;
}
.header-player__listen{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  border:0!important;
  background:#005a8c!important;
}
.header-player__listen:hover{background:#005a8c!important}
.header-player__listen-icon{
  width:50px!important;height:50px!important;flex:0 0 50px!important;
  background:#8dbf24!important;
  color:#80c4f2!important;
  box-shadow:none!important;
}
.header-player__listen-copy{display:none!important}

@media(max-width:800px){
  .header-player{
    grid-template-columns:96px 60px minmax(0,1fr)!important;
    min-height:106px!important;
  }
  .header-player__visual{
    width:88px!important;height:88px!important;
    min-width:88px!important;min-height:88px!important;
    margin-left:7px!important;
  }
  .header-player__visual img,.header-player__visual .api_lfm_currentsong_img{
    width:88px!important;height:88px!important;
    min-width:88px!important;min-height:88px!important;
  }
  .header-player__content{padding:13px 15px 12px 4px!important}
  .header-player__listen-icon{width:44px!important;height:44px!important;flex-basis:44px!important}
  .header-player__show strong{font-size:.76rem!important;max-width:82%!important}
}
@media(max-width:520px){
  .header-player-zone{
    width:calc(100% - 18px)!important;
    margin-top:-32px!important;
    margin-bottom:16px!important;
  }
  .header-player{
    grid-template-columns:76px 50px minmax(0,1fr)!important;
    min-height:92px!important;
    border-radius:10px!important;
  }
  .header-player__visual{
    width:68px!important;height:68px!important;
    min-width:68px!important;min-height:68px!important;
    margin-left:6px!important;
    border-radius:7px!important;
  }
  .header-player__visual img,.header-player__visual .api_lfm_currentsong_img{
    width:68px!important;height:68px!important;
    min-width:68px!important;min-height:68px!important;
    border-radius:7px!important;
  }
  .header-player__content{padding:9px 8px 8px 2px!important}
  .header-player__eyebrow{margin-bottom:4px!important;font-size:.54rem!important}
  .header-player__track strong{font-size:.92rem!important;line-height:1.05!important}
  .header-player__track > span.api_lfm_currentsong_title{
    margin-top:3px!important;
    font-size:.7rem!important;
  }
  .header-player__show{
    margin-top:7px!important;
    gap:5px!important;
    line-height:1.1!important;
  }
  .header-player__show span{font-size:.56rem!important;flex:0 0 auto!important}
  .header-player__show strong{
    max-width:none!important;
    font-size:.68rem!important;
    font-weight:900!important;
    line-height:1.12!important;
    white-space:nowrap!important;
  }
  .header-player__listen-icon{
    width:38px!important;height:38px!important;flex-basis:38px!important;
    font-size:.78rem!important;
  }
}


/* === Radio Rheinland: ON AIR header v7 — Radio Rheinland Live === */
/* Remove the light/white strip below the main header/hero. */
.header-player-zone{
  width:min(1120px,calc(100% - 32px))!important;
  margin:-58px auto 24px!important;
  padding:0!important;
  background:transparent!important;
}
.header-player-zone::before,.header-player-zone::after{display:none!important}
.hero,.hero-section,.header-hero,.page-hero{margin-bottom:0!important}
main{padding-top:0!important}

/* One clean bordeaux live bar: no cover, no programme/show row. */
.header-player{
  min-height:116px!important;
  display:grid!important;
  grid-template-columns:96px minmax(0,1fr)!important;
  align-items:center!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:12px!important;
  background:#005a8c!important;
  box-shadow:0 12px 30px rgba(58,24,39,.18)!important;
}
.header-player__visual{display:none!important}
.header-player__listen{
  grid-column:1!important;
  grid-row:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  background:#005a8c!important;
}
.header-player__listen:hover{background:#005a8c!important}
.header-player__listen-icon{
  display:grid!important;
  place-items:center!important;
  width:66px!important;height:66px!important;flex:0 0 66px!important;
  border-radius:50%!important;
  background:#8dbf24!important;
  color:#80c4f2!important;
  font-size:1.15rem!important;
  box-shadow:0 8px 20px rgba(45,8,25,.20)!important;
}
.header-player__listen-copy{display:none!important}
.header-player__content{
  grid-column:2!important;
  grid-row:1!important;
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:18px 28px 18px 4px!important;
  background:#005a8c!important;
}
.header-player__eyebrow{
  display:block!important;
  margin:0 0 8px!important;
  color:#8dbf24!important;
  font-size:.69rem!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.header-player__eyebrow .header-player__live-dot{display:none!important}
.header-player__eyebrow::after{content:"RADIO RHEINLAND LIVE"!important}
.header-player__eyebrow{font-size:0!important}
.header-player__eyebrow::after{font-size:.69rem!important}
.header-player__track strong{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  margin:0!important;
  color:#fff!important;
  font-size:clamp(1.35rem,2.2vw,1.85rem)!important;
  font-weight:900!important;
  line-height:1.08!important;
}
.header-player__track > span.api_lfm_currentsong_title{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  margin:5px 0 0!important;
  color:rgba(255,255,255,.82)!important;
  font-size:.96rem!important;
  font-weight:700!important;
  line-height:1.2!important;
}
.header-player__show,.header-player__onair,.header-player__stationline,.header-player__control,.header-player__listen-label{display:none!important}

/* Ensure no legacy bottom/player spacing survives. */
body,main,.site-main,.page-content{padding-bottom:0!important}
.footer-player,.sticky-player,.player-footer,.radio-footer-player{display:none!important}

@media(max-width:800px){
  .header-player{grid-template-columns:82px minmax(0,1fr)!important;min-height:104px!important}
  .header-player__listen-icon{width:58px!important;height:58px!important;flex-basis:58px!important}
  .header-player__content{padding:15px 18px 15px 2px!important}
}
@media(max-width:520px){
  .header-player-zone{width:calc(100% - 18px)!important;margin-top:-32px!important;margin-bottom:16px!important}
  .header-player{
    grid-template-columns:70px minmax(0,1fr)!important;
    min-height:92px!important;
    border-radius:10px!important;
  }
  .header-player__listen-icon{
    width:50px!important;height:50px!important;flex-basis:50px!important;
    font-size:.92rem!important;box-shadow:none!important;
  }
  .header-player__content{padding:12px 10px 12px 0!important}
  .header-player__eyebrow::after{font-size:.6rem!important}
  .header-player__eyebrow{margin-bottom:6px!important}
  .header-player__track strong{font-size:1rem!important}
  .header-player__track > span.api_lfm_currentsong_title{font-size:.74rem!important;margin-top:4px!important}
}


/* === Radio Rheinland ON AIR v8 — reference layout === */
/* Close the white gap between masthead/header and content. */
.site-header{background:transparent!important}
.station-masthead{margin-bottom:0!important}
.header-player-zone{
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:#005a8c!important;
}
.header-player{
  width:min(1120px,calc(100% - 32px))!important;
  min-height:122px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:112px minmax(0,1fr)!important;
  align-items:center!important;
  border:0!important;
  border-radius:0!important;
  background:#005a8c!important;
  box-shadow:none!important;
}
.header-player__visual,.header-player__show,.header-player__onair,.header-player__stationline,.header-player__control,.header-player__listen-label{display:none!important}
.header-player__listen{
  grid-column:1!important;grid-row:1!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  height:100%!important;padding:0!important;border:0!important;
  background:transparent!important;
}
.header-player__listen-icon{
  display:grid!important;place-items:center!important;
  width:72px!important;height:72px!important;flex:0 0 72px!important;
  border-radius:50%!important;
  background:#8dbf24!important;color:#80c4f2!important;
  font-size:1.25rem!important;
  box-shadow:0 7px 18px rgba(45,8,25,.22)!important;
}
.header-player__listen-icon i{margin-left:4px!important}
.header-player__listen-copy{display:none!important}
.header-player__content{
  grid-column:2!important;grid-row:1!important;
  min-width:0!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
  padding:20px 24px 20px 0!important;
  background:transparent!important;color:#fff!important;
}
.header-player__eyebrow{
  display:block!important;
  margin:0 0 7px!important;
  color:#8dbf24!important;
  font-size:0!important;
  font-weight:900!important;
  line-height:1!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}
.header-player__eyebrow::after{
  content:"RADIO RHEINLAND LIVE"!important;
  font-size:.72rem!important;
}
.header-player__live-dot{display:none!important}
.header-player__track strong{
  display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  margin:0!important;color:#fff!important;
  font-size:clamp(1.45rem,2.4vw,2rem)!important;font-weight:900!important;line-height:1.06!important;
}
.header-player__track > span.api_lfm_currentsong_title{
  display:block!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  margin:5px 0 0!important;color:rgba(255,255,255,.82)!important;
  font-size:1rem!important;font-weight:700!important;line-height:1.2!important;
}
/* Content follows immediately — no old reserved strip. */
.site-main,.site-main.home-main{
  margin-top:0!important;
}
body:has(.header-player-zone) .site-main{
  margin-top:0!important;
}

@media(max-width:800px){
  .header-player{width:calc(100% - 20px)!important;grid-template-columns:90px minmax(0,1fr)!important;min-height:108px!important}
  .header-player__listen-icon{width:62px!important;height:62px!important;flex-basis:62px!important}
  .header-player__content{padding:16px 14px 16px 0!important}
}
@media(max-width:520px){
  .header-player-zone{margin:0!important;padding:0!important}
  .header-player{
    width:100%!important;
    grid-template-columns:78px minmax(0,1fr)!important;
    min-height:96px!important;
    border-radius:0!important;
  }
  .header-player__listen-icon{width:54px!important;height:54px!important;flex-basis:54px!important;font-size:1rem!important;box-shadow:none!important}
  .header-player__content{padding:13px 10px 13px 0!important}
  .header-player__eyebrow{margin-bottom:5px!important}
  .header-player__eyebrow::after{font-size:.61rem!important}
  .header-player__track strong{font-size:1.08rem!important}
  .header-player__track > span.api_lfm_currentsong_title{font-size:.78rem!important;margin-top:4px!important}
}


/* === Radio Rheinland ON AIR v9 — cover + large play + live info === */
.header-player{
  grid-template-columns:112px 94px minmax(0,1fr)!important;
  min-height:122px!important;
}
.header-player__visual{
  grid-column:1!important;grid-row:1!important;
  display:block!important;
  width:100px!important;height:100px!important;
  min-width:100px!important;min-height:100px!important;
  margin:11px 0 11px 6px!important;
  align-self:center!important;
  overflow:hidden!important;
  border-radius:8px!important;
  background:#005a8c!important;
}
.header-player__visual img,.header-player__visual .api_lfm_currentsong_img{
  display:block!important;
  width:100px!important;height:100px!important;
  min-width:100px!important;min-height:100px!important;
  max-width:none!important;max-height:none!important;
  margin:0!important;padding:0!important;
  object-fit:cover!important;object-position:center!important;
  border:0!important;border-radius:8px!important;
}
.header-player__listen{
  grid-column:2!important;grid-row:1!important;
}
.header-player__listen-icon{
  width:66px!important;height:66px!important;flex-basis:66px!important;
}
.header-player__content{
  grid-column:3!important;grid-row:1!important;
  padding:18px 24px 18px 0!important;
}
.header-player__show{display:none!important}

@media(max-width:800px){
  .header-player{
    grid-template-columns:94px 76px minmax(0,1fr)!important;
    min-height:108px!important;
  }
  .header-player__visual{
    width:86px!important;height:86px!important;
    min-width:86px!important;min-height:86px!important;
    margin:11px 0 11px 5px!important;
  }
  .header-player__visual img,.header-player__visual .api_lfm_currentsong_img{
    width:86px!important;height:86px!important;
    min-width:86px!important;min-height:86px!important;
  }
  .header-player__listen-icon{width:56px!important;height:56px!important;flex-basis:56px!important}
  .header-player__content{padding:15px 12px 15px 0!important}
}
@media(max-width:520px){
  .header-player{
    grid-template-columns:74px 60px minmax(0,1fr)!important;
    min-height:92px!important;
  }
  .header-player__visual{
    width:66px!important;height:66px!important;
    min-width:66px!important;min-height:66px!important;
    margin:13px 0 13px 4px!important;
    border-radius:6px!important;
  }
  .header-player__visual img,.header-player__visual .api_lfm_currentsong_img{
    width:66px!important;height:66px!important;
    min-width:66px!important;min-height:66px!important;
    border-radius:6px!important;
  }
  .header-player__listen-icon{
    width:46px!important;height:46px!important;flex-basis:46px!important;
    font-size:.9rem!important;
  }
  .header-player__content{padding:11px 8px 11px 0!important}
  .header-player__eyebrow::after{font-size:.56rem!important}
  .header-player__track strong{font-size:.96rem!important}
  .header-player__track > span.api_lfm_currentsong_title{font-size:.7rem!important}
}


/* Embedded live player controls */
.header-player__controls{display:grid;grid-template-columns:minmax(0,1fr);align-self:stretch;min-width:210px;background:#15212c;border-left:1px solid rgba(117,20,61,.10)!important}
.header-player__controls .header-player__listen{border-left:0!important;min-height:68px!important}
.header-player__volume{display:flex;align-items:center;gap:8px;padding:0 18px 12px;color:#80c4f2;font-size:.72rem;font-weight:800}
.header-player__volume i{width:14px;text-align:center;color:#80c4f2}
.header-player__volume input[type="range"]{width:110px;accent-color:#005a8c;cursor:pointer}
.header-player__volume span{min-width:34px;text-align:right}
@media(max-width:800px){
  .header-player{grid-template-columns:92px minmax(0,1fr) 78px!important}
  .header-player__controls{min-width:0;display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(117,20,61,.10)!important}
  .header-player__controls .header-player__listen{min-height:100%!important;border-left:0!important}
  .header-player__volume{position:absolute;left:0;right:0;top:100%;justify-content:center;padding:8px 12px;background:#15212c;border-radius:0 0 12px 12px;box-shadow:0 8px 18px rgba(55,20,36,.08)}
  .header-player-zone{margin-bottom:42px!important}
}
@media(max-width:520px){
  .header-player{grid-template-columns:74px minmax(0,1fr) 62px!important}
  .header-player__volume input[type="range"]{width:min(48vw,180px)}
}

/* === Embedded Player v2: controls integrated into ON AIR bar === */
.header-player{
  grid-template-columns:112px 94px minmax(0,1fr) 190px!important;
  background:#005a8c!important;
  overflow:visible!important;
}
.header-player__listen{
  grid-column:2!important;
  grid-row:1!important;
  background:transparent!important;
}
.header-player__content{
  grid-column:3!important;
  grid-row:1!important;
  padding-right:18px!important;
}
.header-player__volume{
  grid-column:4!important;
  grid-row:1!important;
  align-self:center!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:9px!important;
  width:auto!important;
  padding:0 20px 0 10px!important;
  background:transparent!important;
  border:0!important;
  color:#fff!important;
  font-size:.72rem!important;
  font-weight:800!important;
}
.header-player__volume i{color:#8dbf24!important;width:16px!important;text-align:center!important}
.header-player__volume input[type="range"]{
  width:112px!important;
  height:20px!important;
  margin:0!important;
  accent-color:#8dbf24!important;
  cursor:pointer!important;
}
.header-player__volume span{min-width:34px!important;color:rgba(255,255,255,.82)!important;text-align:right!important}
.header-player__listen-icon i{margin-left:3px!important}
.header-player__listen[aria-pressed="true"] .header-player__listen-icon i{margin-left:0!important}

@media(max-width:800px){
  .header-player{
    grid-template-columns:94px 76px minmax(0,1fr) 148px!important;
  }
  .header-player__volume{padding:0 12px 0 6px!important;gap:7px!important}
  .header-player__volume input[type="range"]{width:82px!important}
  .header-player__volume span{display:none!important}
}
@media(max-width:620px){
  .header-player{
    grid-template-columns:74px 60px minmax(0,1fr) 42px!important;
  }
  .header-player__volume{
    padding:0 10px 0 0!important;
    justify-content:center!important;
  }
  .header-player__volume i{font-size:.9rem!important}
  .header-player__volume input[type="range"],
  .header-player__volume span{display:none!important}
}


/* Embedded Player v3: on tablets/phones use device volume buttons */
@media (max-width:1024px), (hover:none) and (pointer:coarse){
  .header-player{
    grid-template-columns:112px 94px minmax(0,1fr)!important;
  }
  .header-player__volume{
    display:none!important;
  }
}
@media (max-width:800px){
  .header-player{
    grid-template-columns:94px 76px minmax(0,1fr)!important;
  }
}
@media (max-width:620px){
  .header-player{
    grid-template-columns:74px 60px minmax(0,1fr)!important;
  }
}

/* Embedded Player v6: readable marquee for long artist/title */
.header-player__track{
  min-width:0!important;
  overflow:hidden!important;
}
.header-player__marquee{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.header-player__marquee--title{
  margin-top:4px!important;
}
.header-player__marquee > .api_lfm_currentsong_artist,
.header-player__marquee > .api_lfm_currentsong_title{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  margin:0!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.header-player__marquee > .api_lfm_currentsong_artist{
  color:#ffffff!important;
}
.header-player__marquee > .api_lfm_currentsong_title{
  color:rgba(255,255,255,.88)!important;
  font-size:.98rem!important;
  font-weight:700!important;
  line-height:1.25!important;
}
.header-player__marquee.is-scrolling > .api_lfm_currentsong_artist,
.header-player__marquee.is-scrolling > .api_lfm_currentsong_title{
  animation:rr-track-scroll var(--rr-scroll-duration,9s) linear infinite;
  animation-delay:1.1s;
}
@keyframes rr-track-scroll{
  0%,12%{transform:translate3d(0,0,0)}
  44%,56%{transform:translate3d(calc(-1 * var(--rr-scroll-distance,0px)),0,0)}
  88%,100%{transform:translate3d(0,0,0)}
}
@media(max-width:800px){
  .header-player__marquee > .api_lfm_currentsong_title{font-size:.82rem!important}
}
@media(max-width:520px){
  .header-player__marquee--title{margin-top:3px!important}
  .header-player__marquee > .api_lfm_currentsong_title{font-size:.72rem!important}
}
@media(prefers-reduced-motion:reduce){
  .header-player__marquee.is-scrolling > .api_lfm_currentsong_artist,
  .header-player__marquee.is-scrolling > .api_lfm_currentsong_title{animation:none!important}
}


/* Embedded Player v8: title as primary line + smooth ping-pong marquee */
.header-player__track{
  min-width:0!important;
  overflow:hidden!important;
}
.header-player__marquee{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
}
.header-player__marquee--title{
  margin-top:0!important;
}
.header-player__marquee--artist{
  margin-top:4px!important;
}
.header-player__marquee > .api_lfm_currentsong_title,
.header-player__marquee > .api_lfm_currentsong_artist{
  display:inline-block!important;
  width:max-content!important;
  max-width:none!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:nowrap!important;
  margin:0!important;
  transform:translate3d(0,0,0);
  will-change:transform;
}
.header-player__marquee > .api_lfm_currentsong_title{
  color:#8dbf24!important;
  font-size:1.38rem!important;
  font-weight:900!important;
  line-height:1.12!important;
  letter-spacing:-.015em!important;
}
.header-player__marquee > .api_lfm_currentsong_artist{
  color:#ffffff!important;
  font-size:.90rem!important;
  font-weight:700!important;
  line-height:1.2!important;
}
.header-player__marquee.is-scrolling > .api_lfm_currentsong_title,
.header-player__marquee.is-scrolling > .api_lfm_currentsong_artist{
  animation:rr-track-scroll var(--rr-scroll-duration,10s) ease-in-out infinite!important;
  animation-delay:.7s!important;
}
@keyframes rr-track-scroll{
  0%,12%{transform:translate3d(0,0,0)}
  44%,56%{transform:translate3d(calc(-1 * var(--rr-scroll-distance,0px)),0,0)}
  88%,100%{transform:translate3d(0,0,0)}
}
@media(max-width:800px){
  .header-player__marquee > .api_lfm_currentsong_title{font-size:1.18rem!important}
  .header-player__marquee > .api_lfm_currentsong_artist{font-size:.80rem!important}
}
@media(max-width:520px){
  .header-player__marquee--artist{margin-top:3px!important}
  .header-player__marquee > .api_lfm_currentsong_title{font-size:1.02rem!important}
  .header-player__marquee > .api_lfm_currentsong_artist{font-size:.70rem!important}
}
@media(prefers-reduced-motion:reduce){
  .header-player__marquee.is-scrolling > .api_lfm_currentsong_title,
  .header-player__marquee.is-scrolling > .api_lfm_currentsong_artist{animation:none!important}
}

/* =========================================
   Service API refresh: Wetter & Verkehr
========================================= */
.weather-now { background: linear-gradient(135deg, rgba(206,147,171,.16), rgba(255,255,255,.94)); }
.weather-now > i { font-size: 1.25rem; }
.weather-now__place { display:block; margin-bottom:3px; font-size:.76rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#80c4f2; }
.weather-now strong { display:block; font-size:2.15rem; line-height:1.05; color:#eef3f7; }
.weather-grid--api { grid-template-columns:repeat(3,minmax(0,1fr)); }
.weather-api-card { border:1px solid rgba(8,53,100,.08); border-radius:16px; box-shadow:var(--shadow-soft); background:#15212c; }
.weather-api-card .weather-card__head { display:flex; align-items:center; justify-content:space-between; background:#8dbf24; }
.weather-api-card .weather-card__head i { font-size:1.1rem; }
.weather-api-card__body { padding:18px; }
.weather-temp { font-size:2.65rem; font-weight:900; line-height:1; color:#eef3f7; letter-spacing:-.04em; }
.weather-temp small { font-size:1.25rem; font-weight:800; }
.weather-condition { margin:7px 0 18px; font-weight:800; color:#80c4f2; }
.weather-facts { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.weather-facts span { display:grid; grid-template-columns:22px 1fr; gap:2px 7px; align-items:center; padding:10px; border-radius:11px; background:#15212c; color:#b8c7d3; font-size:.84rem; }
.weather-facts span i { grid-row:1/3; color:#80c4f2; }
.weather-facts span b { font-size:.72rem; color:#b8c7d3; }
.weather-forecast-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin-top:18px; }
.forecast-day { display:flex; min-height:190px; flex-direction:column; align-items:center; justify-content:center; gap:8px; padding:18px 12px; border:1px solid rgba(8,53,100,.08); border-radius:15px; background:#15212c; text-align:center; box-shadow:var(--shadow-soft); }
.forecast-day > span { font-weight:800; color:#b8c7d3; }
.forecast-day > i { margin:4px 0; font-size:2rem; color:#80c4f2; }
.forecast-day strong { font-size:1.45rem; color:#eef3f7; }
.forecast-day strong small { font-size:.95rem; color:#b8c7d3; }
.forecast-day em { font-style:normal; font-size:.86rem; font-weight:700; color:#b8c7d3; }
.forecast-day > small { color:#b8c7d3; }

.traffic-status-box { background:linear-gradient(135deg,rgba(206,147,171,.14),rgba(255,255,255,.95)); }
.traffic-status-box strong { display:block; margin-bottom:5px; font-size:1.3rem; color:#eef3f7; }
.traffic-status-box span { display:block; line-height:1.55; color:var(--text-soft); }
.traffic-filter { display:flex; flex-wrap:wrap; gap:9px; margin:18px 0; }
.traffic-filter__button { display:inline-flex; align-items:center; gap:7px; padding:9px 13px; border:1px solid rgba(116,21,59,.14); border-radius:999px; background:#15212c; color:#b8c7d3; font:inherit; font-size:.86rem; font-weight:800; cursor:pointer; }
.traffic-filter__button b { display:inline-grid; min-width:21px; height:21px; place-items:center; padding:0 5px; border-radius:999px; background:#15212c; color:#80c4f2; font-size:.72rem; }
.traffic-filter__button.is-active { background:#005a8c; color:#fff; border-color:#005a8c; }
.traffic-filter__button.is-active b { background:rgba(255,255,255,.18); color:#fff; }
.traffic-list { display:grid; gap:12px; }
.traffic-item { display:grid; grid-template-columns:48px 1fr; gap:14px; padding:17px; border:1px solid rgba(8,53,100,.08); border-radius:14px; background:#15212c; box-shadow:0 5px 16px rgba(16,45,73,.055); }
.traffic-item[hidden] { display:none; }
.traffic-item__icon { display:grid; width:48px; height:48px; place-items:center; border-radius:13px; background:#15212c; color:#80c4f2; font-size:1.1rem; }
.traffic-item--closure .traffic-item__icon { background:#1b2c39; color:#a72f2f; }
.traffic-item--roadworks .traffic-item__icon { background:#1b2c39; color:#9a6200; }
.traffic-item__meta { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin-bottom:6px; font-size:.76rem; font-weight:800; color:#b8c7d3; text-transform:uppercase; letter-spacing:.04em; }
.traffic-item__meta strong { padding:4px 8px; border-radius:7px; background:#005a8c; color:#fff; font-size:.78rem; }
.traffic-item h3 { margin:0 0 5px; font-size:1.02rem; line-height:1.35; color:#eef3f7; }
.traffic-item p { margin:5px 0 0; line-height:1.55; color:var(--text-soft); font-size:.91rem; }
.traffic-item__subtitle { font-weight:700; color:#b8c7d3!important; }
.traffic-badge { padding:3px 7px; border-radius:999px; }
.traffic-badge--blocked { background:#1b2c39; color:#9f2828; }
.service-empty { display:flex; align-items:center; gap:14px; padding:20px; border-radius:14px; background:#15212c; color:#b8c7d3; }
.service-empty > i { font-size:1.5rem; }
.service-empty strong,.service-empty span { display:block; }
.service-empty span { margin-top:3px; font-size:.9rem; }
.service-empty--error { background:#15212c; color:#8e3030; }

@media (max-width:900px){.weather-grid--api{grid-template-columns:repeat(2,minmax(0,1fr));}.weather-forecast-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:600px){.weather-grid--api{grid-template-columns:1fr}.weather-facts{grid-template-columns:1fr 1fr}.weather-forecast-grid{grid-template-columns:1fr 1fr}.traffic-item{grid-template-columns:40px 1fr;padding:14px}.traffic-item__icon{width:40px;height:40px}.traffic-filter__button{font-size:.79rem;padding:8px 10px}}

/* Verkehr: Seitennavigation, 20 Meldungen pro Seite */
.traffic-pagination { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:7px; margin:22px 0 4px; }
.traffic-pagination[hidden] { display:none; }
.traffic-pagination__button { min-width:38px; height:38px; padding:0 11px; border:1px solid rgba(116,21,59,.16); border-radius:10px; background:#15212c; color:#b8c7d3; font:inherit; font-size:.86rem; font-weight:800; cursor:pointer; transition:.18s ease; }
.traffic-pagination__button:hover:not(:disabled) { border-color:#005a8c; color:#80c4f2; }
.traffic-pagination__button.is-active { background:#005a8c; border-color:#005a8c; color:#fff; }
.traffic-pagination__button:disabled { opacity:.38; cursor:default; }
@media (max-width:600px){.traffic-pagination{gap:5px}.traffic-pagination__button{min-width:35px;height:35px;padding:0 9px;font-size:.8rem}}
