/*
Theme Name: RC Racer Pro
Description: Helles, professionelles Block-Theme für den RC Racer Hochsauerland e.V. – edel, aufgeräumt, schnell.
Version: 1.2.5
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: rcracer-pro
*/

/* ---------- Grundlagen ---------- */

::selection { background: var(--wp--preset--color--pink); color: #fff; }

html { scroll-behavior: smooth; }

body { -webkit-font-smoothing: antialiased; }

.wp-site-blocks > * + * { margin-block-start: 0; }

h1, h2, h3, h4 { overflow-wrap: normal; hyphens: manual; }

/* Schräge Racing-Buttons */
.wp-element-button,
.wp-block-button__link {
	clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
	transition: background-color .2s, color .2s, transform .2s;
}
.wp-block-button__link:hover { transform: translateY(-2px); }

.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
	clip-path: none;
	background: transparent !important;
	border: 2px solid rgba(255, 255, 255, .5) !important;
	color: #fff !important;
}
.is-style-outline > .wp-block-button__link:hover {
	border-color: #fff !important;
	background: rgba(255, 255, 255, .08) !important;
}

/* Kleine Überzeile mit Pink-Strich */
.rcm-kicker {
	display: flex;
	align-items: center;
	gap: .75rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-size: .95rem;
	color: var(--wp--preset--color--pink-dark);
}
.rcm-kicker::before {
	content: "";
	width: 2.25rem;
	height: 3px;
	background: var(--wp--preset--color--pink);
	transform: skewX(-20deg);
	flex: none;
}
.has-text-align-center.rcm-kicker { justify-content: center; }

/* Zielflaggen-Streifen */
.rcm-checker {
	height: 14px;
	background: repeating-conic-gradient(#fff 0 25%, #0A0A0C 0 50%) 0 0 / 14px 14px;
	opacity: .9;
}

/* ---------- Kopfbereich ---------- */

.rcm-header {
	position: sticky;
	top: 0;
	z-index: 100;
	border-bottom: 1px solid rgba(255, 255, 255, .07);
}
/* Glas-Effekt nur im Hintergrund: direkt am Kopf würde er das Handy-Menü in die Leiste einsperren */
.rcm-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(10, 10, 12, .82);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
}
.admin-bar .rcm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .rcm-header { top: 46px; } }

.rcm-header .wp-block-site-title {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-style: italic;
	text-transform: uppercase;
	line-height: .95;
	font-size: clamp(1rem, 1.6vw, 1.35rem);
}
.rcm-header .wp-block-site-title a { color: #fff; text-decoration: none; }
.rcm-header .wp-block-site-title small {
	display: block;
	font-size: .62em;
	letter-spacing: .18em;
	color: var(--wp--preset--color--pink-dark);
	font-style: normal;
	font-weight: 600;
}

.rcm-header .wp-block-navigation-item__content {
	position: relative;
	padding: .35rem 0;
	color: #fff;
}
.rcm-header .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--wp--preset--color--pink);
	transform: scaleX(0) skewX(-20deg);
	transform-origin: left;
	transition: transform .25s;
}
.rcm-header .wp-block-navigation-item__content:hover::after,
.rcm-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1) skewX(-20deg); }

@media (max-width: 900px) {
	.rcm-header-cta { display: none !important; }
}

/* Handy-Menü: Vollbild, große Einträge */
.rcm-header .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: 0;
	padding: 5.5rem 2rem 2rem;
	background:
		linear-gradient(160deg, rgba(242, 41, 91, .22), transparent 55%),
		var(--wp--preset--color--black) !important;
}
.rcm-header .is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	gap: 1.4rem !important;
}
.rcm-header .is-menu-open .wp-block-navigation__container {
	gap: 1.2rem !important;
	align-items: flex-start !important;
}
.rcm-header .is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-weight: 800;
	font-size: 2.4rem;
	letter-spacing: .02em;
	line-height: 1;
}
.rcm-header .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 1.4rem;
	right: 1.4rem;
}
.rcm-header .is-menu-open .wp-block-navigation__responsive-container-close svg { width: 34px; height: 34px; }
.rcm-header .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

/* ---------- Startseite ---------- */

.rcm-hero {
	overflow: hidden;
}
.rcm-hero .wp-block-cover__inner-container {
	width: 100% !important;
	box-sizing: border-box;
}
.rcm-hero .wp-block-cover__image-background {
	animation: rcm-zoom 18s ease-out both;
}
@keyframes rcm-zoom {
	from { transform: scale(1.12); }
	to { transform: scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.rcm-hero .wp-block-cover__image-background { animation: none; }
	html { scroll-behavior: auto; }
}
.rcm-hero h1 {
	font-size: var(--wp--preset--font-size--huge) !important;
	line-height: .86 !important;
	text-shadow: 0 6px 40px rgba(0, 0, 0, .45);
}
.rcm-hero h1 em {
	font-style: italic;
	color: transparent;
	-webkit-text-stroke: 2px #fff;
}
.rcm-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 6px;
	background: linear-gradient(90deg, var(--wp--preset--color--pink) 0 40%, transparent 40%);
	z-index: 2;
}

.rcm-stats {
	border-top: 1px solid rgba(255, 255, 255, .12);
	padding-top: 1.5rem;
}
.rcm-stat {
	border-left: 3px solid var(--wp--preset--color--pink);
	padding-left: 1rem;
}
.rcm-stat strong {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-weight: 800;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1;
	color: #fff;
}
.rcm-stat span {
	font-size: .85rem;
	color: var(--wp--preset--color--muted);
	text-transform: uppercase;
	letter-spacing: .1em;
}

/* Foto-Band */
.rcm-band.wp-block-gallery {
	gap: 0 !important;
}
.rcm-band.wp-block-gallery figure.wp-block-image {
	margin: 0 !important;
	overflow: hidden;
}
.rcm-band.wp-block-gallery figure.wp-block-image img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
	filter: grayscale(.85) contrast(1.05);
	transition: filter .4s, transform .6s;
}
.rcm-band.wp-block-gallery figure.wp-block-image:hover img {
	filter: none;
	transform: scale(1.06);
}

/* Bilder-Collage */
.rcm-collage { position: relative; }
.rcm-collage .rcm-collage-small {
	position: absolute !important;
	right: -1rem;
	bottom: -2.5rem;
	width: 46%;
	border: 6px solid var(--wp--preset--color--black);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .5);
}
@media (max-width: 781px) {
	.rcm-collage .rcm-collage-small { right: .5rem; bottom: -1.5rem; }
}
.rcm-collage img { display: block; }

.rcm-check li {
	list-style: none;
	position: relative;
	padding-left: 1.75rem;
	margin-bottom: .5rem;
}
.rcm-check {
	padding-left: 0;
}
.rcm-check li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: .9rem;
	height: .55rem;
	background: var(--wp--preset--color--pink);
	clip-path: polygon(30% 0, 100% 0, 70% 100%, 0 100%);
}

/* Nummerierte Gelände-Karten */
.rcm-feature {
	position: relative;
	background: rgba(21, 21, 26, .82);
	border: 1px solid var(--wp--preset--color--line);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	transition: border-color .25s, transform .25s;
	height: 100%;
}
.rcm-feature:hover {
	border-color: var(--wp--preset--color--pink);
	transform: translateY(-4px);
}
.rcm-num {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 800;
	font-style: italic;
	font-size: 3.2rem;
	line-height: 1;
	color: transparent;
	-webkit-text-stroke: 1.5px var(--wp--preset--color--pink);
}

/* Beitrags-Karten */
.rcm-card {
	background: var(--wp--preset--color--light);
	border: 1px solid var(--wp--preset--color--line);
	overflow: hidden;
	height: 100%;
	transition: border-color .25s, transform .25s;
}
.rcm-card:hover {
	border-color: var(--wp--preset--color--pink);
	transform: translateY(-4px);
}
.rcm-card .wp-block-post-featured-image {
	overflow: hidden;
	margin: 0;
}
.rcm-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform .6s;
}
.rcm-card:hover .wp-block-post-featured-image img { transform: scale(1.06); }
.rcm-card .wp-block-post-title a { color: #fff; text-decoration: none; }
.rcm-card .wp-block-post-title a:hover { color: var(--wp--preset--color--pink-dark); }
.wp-block-post-template.is-layout-grid > li { height: 100%; }

/* Pinkes Mitmach-Band */
.rcm-cta {
	position: relative;
	overflow: hidden;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
.rcm-cta::before {
	content: "";
	position: absolute;
	inset: -50% -10%;
	background: repeating-linear-gradient(115deg, rgba(255, 255, 255, .06) 0 40px, transparent 40px 110px);
	pointer-events: none;
}
.rcm-cta .wp-block-button__link {
	background: #fff !important;
	color: var(--wp--preset--color--black) !important;
}
.rcm-cta .wp-block-button__link:hover {
	background: var(--wp--preset--color--black) !important;
	color: #fff !important;
}

/* Partner-Logos: Originalfarben, leicht transparent */
.rcm-partners { gap: 2.5rem 3rem !important; }
.rcm-partners .wp-block-image { margin: 0 !important; }
.rcm-partners img {
	max-height: 60px;
	max-width: 190px;
	width: auto;
	height: auto;
	object-fit: contain;
	opacity: .6;
	transition: opacity .25s, transform .25s;
}
.rcm-partners img:hover {
	opacity: 1;
	transform: scale(1.05);
}

/* ---------- Unterseiten ---------- */

.rcm-pagehead {
	position: relative;
	border-bottom: 1px solid var(--wp--preset--color--line);
	background:
		linear-gradient(180deg, rgba(242, 41, 91, .14), transparent 70%),
		var(--wp--preset--color--black);
}
.rcm-pagehead h1 { margin: 0; }

/* Inhalte der Seiten an das dunkle Design anpassen */
.rc-person img { filter: grayscale(.2); }
.rc-person .wp-block-heading { color: #fff; }
.rc-price {
	border: 1px solid var(--wp--preset--color--line);
	border-top: 4px solid var(--wp--preset--color--pink);
	height: 100%;
}
.rc-kicker { letter-spacing: .14em; text-transform: uppercase; }

.wp-block-file {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background: var(--wp--preset--color--light);
	border: 1px solid var(--wp--preset--color--line);
	margin-bottom: .5rem;
}
.wp-block-file a:not(.wp-block-file__button) { color: #fff; font-weight: 600; text-decoration: none; }
.wp-block-file .wp-block-file__button { font-size: .9rem; padding: .5rem 1.2rem; }

.wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img { /* nur zugeschnittene Galerien quadratisch */
	aspect-ratio: 1;
	object-fit: cover;
}

.wp-block-video video { width: 100%; }

/* ---------- Termine ---------- */
.rc-termine-monat {
	margin-top: 2.25rem;
	font-size: 1.4rem;
	color: var(--wp--preset--color--pink-dark);
}
.rc-termine-liste { list-style: none; margin: .75rem 0 0; padding: 0; }
.rc-termin {
	display: flex;
	gap: 1.1rem;
	align-items: center;
	padding: .9rem 1rem;
	background: var(--wp--preset--color--light);
	border: 1px solid var(--wp--preset--color--line);
	border-left: 3px solid var(--wp--preset--color--pink);
	margin-bottom: .5rem;
	transition: border-color .2s, transform .2s;
}
.rc-termin:hover { transform: translateX(4px); border-color: var(--wp--preset--color--pink); }
.rc-termin-datum {
	flex: 0 0 3.4rem;
	text-align: center;
	line-height: 1;
}
.rc-termin-tag {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-weight: 800;
	font-size: 2.2rem;
	color: #fff;
}
.rc-termin-mon {
	display: block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: .85rem;
	text-transform: uppercase;
	letter-spacing: .15em;
	color: var(--wp--preset--color--pink-dark);
}
.rc-termin-info strong { display: block; color: #fff; line-height: 1.3; }
.rc-termin-info span { color: var(--wp--preset--color--muted); font-size: .9rem; }
.rc-termine-abo { margin-top: 1.5rem; font-size: .9rem; }
.rc-termine-leer { color: var(--wp--preset--color--muted); }

/* ---------- Fußbereich ---------- */
.rcm-footer a { color: var(--wp--preset--color--ink); text-decoration: none; }
.rcm-footer a:hover { color: var(--wp--preset--color--pink-dark); }
.rcm-footer .wp-block-heading { font-size: 1.35rem; }

/* Preis-Karten: alle gleich hoch, Preise auf einer Linie */
.wp-block-columns:has(> .rc-price) { align-items: stretch !important; }
.wp-block-column.rc-price {
	display: flex;
	flex-direction: column;
	align-self: stretch !important;
	height: auto !important;
}
.wp-block-column.rc-price > * { margin-block: 0; }
.wp-block-column.rc-price > * + * { margin-top: .9rem; }
.wp-block-column.rc-price > p:first-of-type { flex-grow: 1; }
.wp-block-column.rc-price > p:last-child { min-height: 3.4em; }

/* ---------- Laufendes Bilderband ---------- */
.rc-bildband {
	overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.rc-bildband-track {
	display: flex;
	width: max-content;
	animation: rc-bildband-lauf 120s linear infinite;
}
.rc-bildband:hover .rc-bildband-track { animation-play-state: paused; }
.rc-bildband-set {
	display: flex;
	gap: 16px;
	padding-right: 16px;
}
.rc-bildband-item {
	flex: none;
	display: block;
	width: clamp(220px, 24vw, 360px);
	aspect-ratio: 4 / 3;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
	outline-offset: 3px;
}
.rc-bildband-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	filter: saturate(.8) brightness(.9);
	transition: filter .35s, transform .5s;
}
.rc-bildband-item::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	box-shadow: inset 0 0 0 0 var(--wp--preset--color--pink);
	transition: box-shadow .25s;
}
.rc-bildband-item:hover img { filter: none; transform: scale(1.06); }
.rc-bildband-item:hover::after { box-shadow: inset 0 0 0 3px var(--wp--preset--color--pink); }
@keyframes rc-bildband-lauf {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.rc-bildband { overflow-x: auto; }
	.rc-bildband-track { animation: none; }
}

/* ---------- Abgerundete Ecken überall ---------- */
.rcm-card,
.rcm-feature,
.rc-price,
.rcm-collage .wp-block-image,
.rcm-collage img,
.wp-block-post-featured-image,
.wp-block-post-featured-image img {
	border-radius: 16px;
}
.rcm-card { overflow: hidden; }
.rcm-card .wp-block-post-featured-image,
.rcm-card .wp-block-post-featured-image img {
	border-radius: 16px 16px 0 0;
}
.rc-termin,
.wp-block-file {
	border-radius: 12px;
}
.rc-person img,
.wp-block-gallery.has-nested-images figure.wp-block-image,
.wp-block-gallery.has-nested-images figure.wp-block-image img,
.wp-block-image img {
	border-radius: 12px;
}
.rcm-partners img { border-radius: 0; }

/* ---------- Verein: mittig ausgerichtet ---------- */
.rc-team > .rc-person {
	flex: 0 0 200px;
	max-width: 200px;
	align-items: center !important;
	text-align: center;
}
.rc-team > .rc-person .wp-block-image { width: 100%; margin: 0 0 .4rem; }
.rc-team > .rc-person .rc-kicker { margin: 0; }
.rc-crew { text-align: center; }
.rc-crew ul { list-style: none; padding: 0; }
.rc-crew li { margin: .2rem 0; }
.rc-kontakt { text-align: center; }
.rc-kontakt { border-left: 0 !important; border-top: 4px solid var(--wp--preset--color--pink) !important; border-radius: 16px; }

/* ---------- Webcam ---------- */
.rc-webcam { margin: 0; }
.rc-webcam img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 16px;
	border: 1px solid var(--wp--preset--color--line);
}
.rc-webcam figcaption {
	margin-top: .8rem;
	font-size: .9rem;
	color: var(--wp--preset--color--muted);
	display: flex;
	align-items: center;
	gap: .6rem;
	flex-wrap: wrap;
}
.rc-webcam-live {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: #fff;
	background: var(--wp--preset--color--pink);
	padding: .15rem .6rem;
	border-radius: 999px;
}
.rc-webcam-live::before {
	content: "";
	width: .5rem;
	height: .5rem;
	border-radius: 50%;
	background: #fff;
	animation: rc-blink 1.6s ease-in-out infinite;
}
.rc-webcam-live.is-alt { background: var(--wp--preset--color--line); }
.rc-webcam-live.is-alt::before { animation: none; opacity: .5; }
@keyframes rc-blink { 50% { opacity: .2; } }

/* Zusätzliche Menüpunkte nur im aufgeklappten Handy-Menü */
.rcm-header .wp-block-navigation__container > .rcm-nur-handy { display: none; }
.rcm-header .is-menu-open .wp-block-navigation__container > .rcm-nur-handy { display: flex; }
.rcm-header .is-menu-open .rcm-menu-cta .wp-block-navigation-item__content {
	margin-top: 1rem;
	font-size: 1.4rem;
	background: var(--wp--preset--color--pink);
	padding: .9rem 1.8rem;
	clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
.rcm-header .is-menu-open .rcm-menu-cta .wp-block-navigation-item__content::after { display: none; }

/* ---------- Berichte: Verfasser und Ergänzungen kennzeichnen ---------- */
.rc-bericht-autor {
	font-size: .9rem;
	color: var(--wp--preset--color--muted);
	margin-bottom: 1.25rem !important;
}
.rc-bericht-autor::before { content: "✍ "; }
.rc-ergaenzung {
	margin-top: var(--wp--preset--spacing--50) !important;
	padding-top: 1.5rem;
	border-top: 2px dashed var(--wp--preset--color--line);
}
.rc-ergaenzung-kopf {
	display: inline-block;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: .9rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
	background: var(--wp--preset--color--pink);
	padding: .3rem .9rem;
	border-radius: 99px;
}
.rc-ergaenzung-kopf::before { content: "＋ "; }

/* Termin einzeln in den Kalender */
.rc-termin-aktion { margin-left: auto; display: flex; flex-direction: column; align-items: flex-end; gap: .25rem; flex: none; }
.rc-termin-ics {
	font-size: .8rem; font-weight: 600; white-space: nowrap; text-decoration: none;
	padding: .35rem .7rem; border-radius: 99px; border: 1px solid currentColor;
}
.rc-termin-google { font-size: .72rem; opacity: .7; }
@media (max-width: 480px) {
	.rc-termin { flex-wrap: wrap; }
	.rc-termin-aktion { flex-direction: row; margin-left: 4.4rem; align-items: center; gap: .75rem; }
}

/* ---------- Filter-Knöpfe: Veranstaltung, Vereinsleben, News … ---------- */
.rc-kategorien { display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; margin-top: 1.25rem; }
.rc-kat {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 1rem;
	text-decoration: none; color: var(--wp--preset--color--ink);
	padding: .45rem 1rem; border-radius: 99px;
	border: 1px solid var(--wp--preset--color--line); background: var(--wp--preset--color--light);
	transition: border-color .2s, background .2s, color .2s;
}
.rc-kat span { color: var(--wp--preset--color--muted); margin-left: .25rem; font-size: .85em; }
.rc-kat:hover { border-color: var(--wp--preset--color--pink); color: #fff; }
.rc-kat.is-an { background: var(--wp--preset--color--pink); border-color: var(--wp--preset--color--pink); color: #fff; }
.rc-kat.is-an span { color: rgba(255, 255, 255, .8); }

/* ---------- Termine: Liste / Woche / Monat / Jahr ---------- */
.rc-kal-tabs { display: inline-flex; gap: .25rem; padding: .3rem; border-radius: 99px; background: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); margin-bottom: 1.5rem; }
.rc-kal-tabs button {
	font-family: var(--wp--preset--font-family--heading); font-weight: 600; text-transform: uppercase; letter-spacing: .08em; font-size: 1rem;
	border: 0; background: none; color: var(--wp--preset--color--muted); padding: .45rem 1.1rem; border-radius: 99px; cursor: pointer;
}
.rc-kal-tabs button[aria-selected="true"] { background: var(--wp--preset--color--pink); color: #fff; }
.rc-kal-tabs button:hover:not([aria-selected="true"]) { color: #fff; }

.rc-kal-kopf { display: flex; align-items: center; gap: .5rem; margin-bottom: 1rem; }
.rc-kal-titel { margin: 0 .5rem; font-size: 1.6rem; min-width: 0; flex: 1; text-align: center; }
.rc-kal-nav, .rc-kal-heute {
	background: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); color: #fff; cursor: pointer;
	border-radius: 10px; height: 2.4rem; min-width: 2.4rem; font-size: 1.3rem; line-height: 1;
}
.rc-kal-heute { font-size: .85rem; padding: 0 .9rem; order: 4; }
.rc-kal-nav:hover, .rc-kal-heute:hover { border-color: var(--wp--preset--color--pink); }

/* Monat */
.rc-kal-monat { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.rc-kal-wt { text-align: center; font-size: .75rem; text-transform: uppercase; letter-spacing: .12em; color: var(--wp--preset--color--muted); padding: .3rem 0; }
.rc-kal-tag {
	position: relative; min-height: 6.2rem; padding: .35rem .3rem .3rem; text-align: left; cursor: pointer; overflow: hidden;
	background: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); border-radius: 10px; color: var(--wp--preset--color--ink);
	display: flex; flex-direction: column; gap: 3px; font: inherit;
}
.rc-kal-tag:hover { border-color: var(--wp--preset--color--pink-dark); }
.rc-kal-tag.ist-fremd { opacity: .35; }
.rc-kal-tag.is-heute .rc-kal-nr { background: var(--wp--preset--color--pink); color: #fff; }
.rc-kal-tag.is-gewaehlt { border-color: var(--wp--preset--color--pink); box-shadow: 0 0 0 1px var(--wp--preset--color--pink); }
.rc-kal-nr { font-size: .85rem; font-weight: 700; width: 1.7rem; height: 1.7rem; display: grid; place-items: center; border-radius: 50%; }
.rc-kal-balken {
	display: block; font-size: .72rem; line-height: 1.35; padding: .1rem .35rem; border-radius: 5px;
	background: rgba(242, 41, 91, .22); border-left: 3px solid var(--wp--preset--color--pink); color: #fff;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.rc-kal-balken.geht-weiter-links { border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; margin-left: -.35rem; }
.rc-kal-balken.geht-weiter-rechts { border-top-right-radius: 0; border-bottom-right-radius: 0; margin-right: -.35rem; }
.rc-kal-mehr { font-size: .7rem; color: var(--wp--preset--color--muted); }
.rc-kal-punkt { display: none; }

/* Woche */
.rc-kal-woche { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }
.rc-kal-wtag { background: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); border-radius: 12px; padding: .6rem; min-height: 8rem; display: flex; flex-direction: column; gap: .35rem; }
.rc-kal-wtag.is-heute { border-color: var(--wp--preset--color--pink); }
.rc-kal-wkopf { display: flex; justify-content: space-between; align-items: baseline; color: var(--wp--preset--color--muted); font-size: .8rem; text-transform: uppercase; letter-spacing: .1em; }
.rc-kal-wkopf strong { color: #fff; font-size: 1.1rem; font-family: var(--wp--preset--font-family--heading); font-style: italic; }
.rc-kal-wtag.is-heute .rc-kal-wkopf strong { color: var(--wp--preset--color--pink-dark); }
.rc-kal-chip { text-align: left; font: inherit; font-size: .8rem; line-height: 1.3; cursor: pointer; color: #fff; background: rgba(242, 41, 91, .22); border: 0; border-left: 3px solid var(--wp--preset--color--pink); border-radius: 6px; padding: .35rem .45rem; }
.rc-kal-chip em { font-style: normal; color: var(--wp--preset--color--pink-dark); font-weight: 700; }
.rc-kal-frei { color: var(--wp--preset--color--line); margin-top: auto; text-align: center; }

/* Jahr */
.rc-kal-jahr { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.rc-kal-mmonat { text-align: left; cursor: pointer; font: inherit; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); border-radius: 12px; padding: .7rem; }
.rc-kal-mmonat:hover { border-color: var(--wp--preset--color--pink); }
.rc-kal-mtitel { display: flex; justify-content: space-between; font-family: var(--wp--preset--font-family--heading); font-weight: 700; text-transform: uppercase; letter-spacing: .06em; margin-bottom: .4rem; color: #fff; }
.rc-kal-mtitel em { font-style: normal; background: var(--wp--preset--color--pink); color: #fff; border-radius: 99px; font-size: .75rem; padding: 0 .5rem; line-height: 1.6; }
.rc-kal-mgrid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.rc-kal-mini { font-size: .68rem; text-align: center; line-height: 1.75; border-radius: 4px; color: var(--wp--preset--color--muted); }
.rc-kal-mini.ist-wt { color: var(--wp--preset--color--line); font-weight: 700; }
.rc-kal-mini.hat-termin { background: var(--wp--preset--color--pink); color: #fff; font-weight: 700; }
.rc-kal-mini.is-heute { outline: 1px solid #fff; }

/* Terminliste unter den Ansichten */
.rc-kal-unter { font-size: 1.25rem; margin: 1.75rem 0 .5rem; }
.rc-kal-termine { list-style: none; padding: 0; margin: 0; }
.rc-kal-termin { display: flex; gap: 1rem; align-items: center; padding: .8rem 1rem; margin-bottom: .5rem; background: var(--wp--preset--color--light); border: 1px solid var(--wp--preset--color--line); border-left: 3px solid var(--wp--preset--color--pink); border-radius: 12px; }
.rc-kal-termin strong { display: block; color: #fff; }
.rc-kal-termin span { color: var(--wp--preset--color--muted); font-size: .9rem; }
.rc-kal-leer, .rc-kal-hinweis { color: var(--wp--preset--color--muted); font-size: .9rem; }

/* Handy: Monat mit Punkten statt Text, Woche untereinander */
@media (max-width: 700px) {
	.rc-kal-tabs { display: flex; width: 100%; }
	.rc-kal-tabs button { flex: 1; padding: .45rem .3rem; font-size: .9rem; }
	.rc-kal-titel { font-size: 1.25rem; }
	.rc-kal-tag { min-height: 3.1rem; align-items: center; padding: .25rem 0; }
	.rc-kal-balken, .rc-kal-mehr { display: none; }
	.rc-kal-punkt { display: block; width: 6px; height: 6px; border-radius: 50%; background: var(--wp--preset--color--pink); }
	.rc-kal-woche { grid-template-columns: 1fr; }
	.rc-kal-wtag { min-height: 0; flex-direction: row; flex-wrap: wrap; align-items: center; }
	.rc-kal-wkopf { width: 4rem; flex-direction: column; }
	.rc-kal-frei { margin: 0; }
	.rc-kal-termin { flex-wrap: wrap; }
	.rc-kal-termin .rc-termin-aktion { margin-left: 0; flex-direction: row; gap: .75rem; align-items: center; }
}


/* =====================================================================
 * RC RACER PRO – helles, professionelles Erscheinungsbild
 * (überschreibt die Grundlage oben)
 * ================================================================== */

:root {
	--rcp-schatten: 0 1px 2px rgba(16, 24, 40, .06), 0 8px 24px rgba(16, 24, 40, .08);
	--rcp-schatten-hoch: 0 4px 10px rgba(16, 24, 40, .08), 0 24px 48px rgba(16, 24, 40, .14);
	--rcp-radius: 16px;
}

::selection { background: var(--wp--preset--color--pink); color: #fff; }
h1, h2, h3, h4 { text-wrap: balance; }

/* ---------- Buttons: ruhig, rund, ohne Schräge ---------- */
.wp-element-button,
.wp-block-button__link {
	clip-path: none !important;
	box-shadow: 0 1px 2px rgba(16, 24, 40, .08);
}
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link {
	border: 1.5px solid rgba(255, 255, 255, .7) !important;
	background: rgba(255, 255, 255, .06) !important;
	color: #fff !important;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff !important; color: var(--wp--preset--color--black) !important; }
/* Umriss-Button auf hellem Grund */
.wp-block-button.is-style-outline.rcp-dunkel .wp-block-button__link {
	border-color: var(--wp--preset--color--black) !important;
	color: var(--wp--preset--color--black) !important;
	background: transparent !important;
}
.wp-block-button.is-style-outline.rcp-dunkel .wp-block-button__link:hover { background: var(--wp--preset--color--black) !important; color: #fff !important; }

/* ---------- Kopfbereich: schmal und dunkel ---------- */
.rcm-header::before { background: rgba(14, 17, 22, .9); }
.rcm-header .wp-block-site-title {
	font-style: normal;
	font-weight: 700;
	text-transform: none;
	letter-spacing: -.01em;
	font-size: clamp(1rem, 1.4vw, 1.15rem);
}
.rcm-header .wp-block-navigation-item__content::after { transform: scaleX(0); height: 2px; bottom: -2px; }
.rcm-header .wp-block-navigation-item__content:hover::after,
.rcm-header .current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.rcm-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--black) !important; }
.rcm-header .is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--heading); font-style: normal; font-weight: 700; font-size: 2rem; letter-spacing: -.02em; }
.rcm-header .is-menu-open .rcm-menu-cta .wp-block-navigation-item__content { clip-path: none; border-radius: 10px; }

/* ---------- Startseite: Hero ---------- */
.rcp-hero { overflow: hidden; }
.rcp-hero .wp-block-cover__inner-container { width: 100% !important; box-sizing: border-box; }
.rcp-hero .wp-block-cover__image-background { animation: rcm-zoom 20s ease-out both; }
.rcp-hero h1 {
	font-size: var(--wp--preset--font-size--huge) !important;
	line-height: 1.02 !important;
	letter-spacing: -.035em !important;
	max-width: 14ch;
}
.rcp-hero-text { max-width: 36rem; opacity: .9; }
.rcp-badge {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
	padding: .4rem .9rem;
	border-radius: 99px;
	font-size: .82rem;
	font-weight: 600;
	color: #fff;
	background: rgba(255, 255, 255, .12);
	border: 1px solid rgba(255, 255, 255, .25);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.rcp-badge::before { content: ""; width: .5rem; height: .5rem; border-radius: 50%; background: var(--wp--preset--color--pink); box-shadow: 0 0 0 4px rgba(215, 38, 61, .3); }

/* Glas-Karte „Nächster Termin“ */
.rcp-glas {
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .22);
	border-radius: var(--rcp-radius);
	padding: 1.25rem 1.25rem .75rem;
	-webkit-backdrop-filter: blur(16px) saturate(140%);
	backdrop-filter: blur(16px) saturate(140%);
	box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
	color: #fff;
}
.rcp-glas-titel { margin: 0 0 .6rem; font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; color: rgba(255, 255, 255, .75); }
.rcp-glas .rc-termin { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .14); border-left-color: var(--wp--preset--color--pink); }
.rcp-glas .rc-termin-info strong, .rcp-glas .rc-termin-tag { color: #fff; }
.rcp-glas .rc-termin-info span { color: rgba(255, 255, 255, .7); }
.rcp-glas .rc-termin-mon { color: #ff8a98; }
.rcp-glas .rc-termin-aktion { display: none; }
.rcp-glas .rc-termine-leer { color: rgba(255, 255, 255, .8); }
.rcp-glas-link { margin: .5rem 0 0; font-size: .9rem; }
.rcp-glas-link a { color: #fff; text-decoration: none; font-weight: 600; }
.rcp-glas-link a:hover { text-decoration: underline; }

/* Kennzahlen-Leiste, ragt in das Bild hinein */
.rcp-zahlen-wrap { margin-top: -3.5rem !important; position: relative; z-index: 2; }
.rcp-zahlen {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	background: #fff;
	border-radius: var(--rcp-radius);
	box-shadow: var(--rcp-schatten-hoch);
	overflow: hidden;
}
.rcp-zahlen > div { padding: 1.6rem 1.75rem; border-left: 1px solid var(--wp--preset--color--line); }
.rcp-zahlen > div:first-child { border-left: 0; }
.rcp-zahlen strong { display: block; font-family: var(--wp--preset--font-family--heading); font-weight: 800; font-size: clamp(1.8rem, 3vw, 2.4rem); letter-spacing: -.03em; line-height: 1.1; color: var(--wp--preset--color--black); }
.rcp-zahlen strong small { font-size: .55em; margin-left: .1em; color: var(--wp--preset--color--pink); }
.rcp-zahlen span { display: block; margin-top: .35rem; font-size: .9rem; color: var(--wp--preset--color--muted); line-height: 1.45; }
@media (max-width: 860px) {
	.rcp-zahlen { grid-template-columns: repeat(2, 1fr); }
	.rcp-zahlen > div:nth-child(3) { border-left: 0; }
	.rcp-zahlen > div:nth-child(n+3) { border-top: 1px solid var(--wp--preset--color--line); }
}

/* Überzeile */
.rcp-kicker {
	margin: 0 0 .75rem;
	font-size: .8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .16em;
	color: var(--wp--preset--color--pink);
}
.rcp-kicker-hell { color: #ff8a98; }

.rcp-check { list-style: none; padding: 0; margin: 1.25rem 0 0; }
.rcp-check li { position: relative; padding-left: 2rem; margin-bottom: .6rem; font-weight: 500; }
.rcp-check li::before {
	content: "";
	position: absolute; left: 0; top: .2em;
	width: 1.25rem; height: 1.25rem; border-radius: 50%;
	background: rgba(215, 38, 61, .1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23D7263D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 70% no-repeat;
}

.rcp-pfeil { font-weight: 600; text-decoration: none; color: var(--wp--preset--color--black); border-bottom: 2px solid var(--wp--preset--color--pink); padding-bottom: 2px; }
.rcp-pfeil::after { content: " →"; transition: margin .2s; }
.rcp-pfeil:hover { color: var(--wp--preset--color--pink); }

/* Bildpaar */
.rcp-bildpaar { position: relative; padding-bottom: 3rem; }
.rcp-bildpaar .wp-block-image { margin: 0; }
.rcp-bildpaar img { border-radius: var(--rcp-radius) !important; box-shadow: var(--rcp-schatten-hoch); display: block; }
.rcp-bild-klein { position: absolute !important; left: -2rem; bottom: 0; width: 44%; }
.rcp-bild-klein img { border: 6px solid var(--wp--preset--color--paper); }
@media (max-width: 781px) { .rcp-bild-klein { left: .75rem; } }

/* Bilderband auf Weiß */
.rcp-band { background: #fff; padding-bottom: var(--wp--preset--spacing--50); }
.rcp-band .rc-bildband-item img { filter: none; }
.rcp-band .rc-bildband-item { box-shadow: var(--rcp-schatten); }

/* Gelände-Karten */
.rcp-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 1.25rem; margin-top: var(--wp--preset--spacing--40); }
.rcp-feature { background: #fff; border-radius: var(--rcp-radius); padding: 1.75rem 1.5rem; box-shadow: var(--rcp-schatten); border: 1px solid var(--wp--preset--color--line); transition: transform .25s, box-shadow .25s; }
.rcp-feature:hover { transform: translateY(-4px); box-shadow: var(--rcp-schatten-hoch); }
.rcp-feature h3 { margin: 1rem 0 .4rem; font-size: 1.15rem; }
.rcp-feature p { margin: 0; color: var(--wp--preset--color--muted); font-size: .95rem; }
.rcp-icon { display: grid; place-items: center; width: 3rem; height: 3rem; border-radius: 12px; background: rgba(215, 38, 61, .08); color: var(--wp--preset--color--pink); }
.rcp-icon svg { width: 1.5rem; height: 1.5rem; }

/* Mitmach-Band */
.rcp-cta { position: relative; overflow: hidden; }
.rcp-cta::before {
	content: "";
	position: absolute; inset: 0;
	background: radial-gradient(60% 120% at 100% 0%, rgba(215, 38, 61, .35), transparent 60%);
	pointer-events: none;
}
.rcp-cta > * { position: relative; }
.rcp-cta-text { color: rgba(255, 255, 255, .78); }

/* Partner: Graustufen, farbig beim Drüberfahren */
.rcp-partner .wp-block-image { margin: 0 !important; }
.rcp-partner img { max-height: 56px; max-width: 180px; width: auto; height: auto; object-fit: contain; filter: grayscale(1); opacity: .6; transition: filter .3s, opacity .3s; }
.rcp-partner img:hover { filter: none; opacity: 1; }

/* ---------- Beitrags-Karten ---------- */
.rcm-card { background: #fff; border: 1px solid var(--wp--preset--color--line); box-shadow: var(--rcp-schatten); }
.rcm-card:hover { border-color: var(--wp--preset--color--line); box-shadow: var(--rcp-schatten-hoch); }
.rcm-card .wp-block-post-title a { color: var(--wp--preset--color--black); }
.rcm-card .wp-block-post-title a:hover { color: var(--wp--preset--color--pink); }
.rcm-card .wp-block-post-title { font-size: 1.15rem !important; letter-spacing: -.01em; }

/* ---------- Unterseiten ---------- */
.rcm-pagehead {
	background:
		radial-gradient(50% 120% at 85% 0%, rgba(215, 38, 61, .07), transparent 70%),
		#fff;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.rcm-kicker { color: var(--wp--preset--color--pink); font-family: var(--wp--preset--font-family--body); font-size: .8rem; font-weight: 700; letter-spacing: .16em; }
.rcm-kicker::before { transform: none; width: 1.5rem; height: 2px; }
.rc-person .wp-block-heading { color: var(--wp--preset--color--black); font-style: normal; }
.rc-person img { filter: none; box-shadow: var(--rcp-schatten); }
.rc-price { background: #fff !important; box-shadow: var(--rcp-schatten); }
.rc-kontakt { background: #fff !important; box-shadow: var(--rcp-schatten); }
.wp-block-file { background: #fff; box-shadow: var(--rcp-schatten); }
.wp-block-file a:not(.wp-block-file__button) { color: var(--wp--preset--color--black); }
.rc-ergaenzung-kopf { font-family: var(--wp--preset--font-family--body); letter-spacing: .06em; }

/* ---------- Termine (Liste) ---------- */
.rc-termin { background: #fff; box-shadow: var(--rcp-schatten); }
.rc-termin-info strong, .rc-termin-tag { color: var(--wp--preset--color--black); }
.rc-termin-tag { font-style: normal; letter-spacing: -.03em; }
.rc-termin-mon { color: var(--wp--preset--color--pink); }
.rc-termine-monat { color: var(--wp--preset--color--black); font-size: 1.15rem; }

/* Kalenderansichten */
.rc-kal-tabs { background: #fff; box-shadow: var(--rcp-schatten); }
.rc-kal-tabs button { font-family: var(--wp--preset--font-family--body); text-transform: none; letter-spacing: 0; font-size: .95rem; }
.rc-kal-tabs button:hover:not([aria-selected="true"]) { color: var(--wp--preset--color--black); }
.rc-kal-nav, .rc-kal-heute { background: #fff; color: var(--wp--preset--color--black); }
.rc-kal-titel { font-style: normal; }
.rc-kal-tag, .rc-kal-wtag, .rc-kal-mmonat { background: #fff; }
.rc-kal-balken, .rc-kal-chip { color: var(--wp--preset--color--pink-dark); background: rgba(215, 38, 61, .09); font-weight: 600; }
.rc-kal-chip em { color: var(--wp--preset--color--pink); }
.rc-kal-wkopf strong, .rc-kal-mtitel { color: var(--wp--preset--color--black); font-style: normal; }
.rc-kal-mini.is-heute { outline-color: var(--wp--preset--color--black); }
.rc-kal-termin { background: #fff; box-shadow: var(--rcp-schatten); }
.rc-kal-termin strong { color: var(--wp--preset--color--black); }

/* Filter-Knöpfe */
.rc-kat { font-family: var(--wp--preset--font-family--body); text-transform: none; letter-spacing: 0; font-size: .92rem; background: #fff; box-shadow: 0 1px 2px rgba(16, 24, 40, .06); }
.rc-kat:hover { color: var(--wp--preset--color--black); }

/* Webcam */
.rc-webcam img { box-shadow: var(--rcp-schatten-hoch); }
.rc-webcam-live { font-family: var(--wp--preset--font-family--body); letter-spacing: .08em; }

/* ---------- Formulare (Mitglied werden, Bericht, Ideen) ---------- */
.rc-antrag {
	--rca-feld: #F7F8FA;
	--rca-text: var(--wp--preset--color--ink);
	--rca-akzent: var(--wp--preset--color--pink-dark);
}
.rc-antrag input, .rc-antrag select, .rc-antrag textarea { color-scheme: light !important; }
.rc-antrag select option { background: #fff !important; }
.rca-schritt { background: #fff; box-shadow: var(--rcp-schatten-hoch); }
.rca-schritt h2 { font-style: normal; }
.rca-summe td { color: var(--wp--preset--color--black) !important; }
.rca-beitrag td { border-bottom-color: var(--wp--preset--color--line) !important; }
.rca-zurueck:hover { color: var(--wp--preset--color--black) !important; }
.rca-weg:hover { color: var(--wp--preset--color--pink) !important; }
.rci-antwort { background: var(--wp--preset--color--paper) !important; }
.rci-idee { background: #fff !important; box-shadow: var(--rcp-schatten); }
.rci-filter { background: #fff !important; }
.rcb-alt { background: var(--wp--preset--color--paper) !important; }

/* ---------- Fußbereich ---------- */
.rcm-footer { color: #AEB4BE; }
.rcm-footer .wp-block-heading { color: #fff; font-size: 1.05rem; letter-spacing: 0; }
.rcm-footer a { color: #E6E8EC; }
.rcm-footer a:hover { color: #ff8a98; }
.rcm-footer .has-muted-color { color: #8A919C !important; }
.rcm-footer { border-top: 3px solid var(--wp--preset--color--pink) !important; }
.rcm-footer .wp-social-link { background: rgba(255, 255, 255, .08) !important; }
.rcm-footer .wp-social-link:hover { background: var(--wp--preset--color--pink) !important; }
.rcm-footer .wp-block-separator { background: rgba(255, 255, 255, .12) !important; color: rgba(255, 255, 255, .12) !important; border: 0; height: 1px; }
/* Kopfzeile: helle Schrift auf dunklem Grund */
.rcm-header .wp-block-navigation a.wp-block-navigation-item__content,
.rcm-header .wp-block-site-title a { color: #E9EBEF !important; }
.rcm-header .wp-block-navigation a.wp-block-navigation-item__content:hover { color: #fff !important; }
.rcm-header .wp-block-navigation__responsive-container-open { color: #fff; }
/* Hero-Überschrift etwas ruhiger */
.rcp-hero h1 { font-size: clamp(2.4rem, 5.2vw, 4.6rem) !important; max-width: 16ch; }
.rcp-hero-text { font-size: clamp(1.05rem, 1.4vw, 1.2rem) !important; }

/* ---------- Video (Zwei-Klick, DSGVO) ---------- */
.rc-video { max-width: 1000px; margin-inline: auto; }
.rc-video-rahmen { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #0E1116; box-shadow: 0 24px 60px rgba(0, 0, 0, .35); }
.rc-video-rahmen iframe, .rc-video-start { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.rc-video-start { padding: 0; cursor: pointer; background: linear-gradient(135deg, #1b1f27, #0E1116); }
.rc-video-start img { width: 100%; height: 100%; object-fit: cover; display: block; filter: brightness(.78); transition: transform .5s ease, filter .3s ease; }
.rc-video-start:hover img { transform: scale(1.03); filter: brightness(.62); }
.rc-video-play { position: absolute; left: 50%; top: 50%; width: 88px; height: 88px; margin: -44px 0 0 -44px; border-radius: 50%; background: var(--wp--preset--color--pink); box-shadow: 0 0 0 12px rgba(215, 38, 61, .25); transition: transform .2s ease; }
.rc-video-play::after { content: ""; position: absolute; left: 35px; top: 28px; border-style: solid; border-width: 16px 0 16px 26px; border-color: transparent transparent transparent #fff; }
.rc-video-start:hover .rc-video-play { transform: scale(1.08); }
.rc-video-start:focus-visible { outline: 3px solid var(--wp--preset--color--pink); outline-offset: -3px; }
.rc-video-hinweis { font-size: .8rem; text-align: center; opacity: .65; margin: .9rem 0 0; }
.rc-video-hinweis a { color: inherit; text-decoration: underline; }
.rc-video.is-an .rc-video-hinweis { display: none; }
.rcp-video-text { color: rgba(255, 255, 255, .78); }
@media (max-width: 600px) {
	.rc-video-rahmen { border-radius: 12px; }
	.rc-video-play { width: 64px; height: 64px; margin: -32px 0 0 -32px; box-shadow: 0 0 0 8px rgba(215, 38, 61, .25); }
	.rc-video-play::after { left: 25px; top: 20px; border-width: 12px 0 12px 19px; }
}

/* Knopf „Video ansehen“ im Banner + großes Video-Fenster */
.rcp-video-knopf .wp-block-button__link { background: transparent !important; color: #fff !important; border: 0; padding-left: .4rem; padding-right: .4rem; display: inline-flex; align-items: center; gap: .7rem; }
.rcp-video-knopf .wp-block-button__link:hover { color: #fff !important; text-decoration: underline; text-underline-offset: 4px; }
.rcp-play-icon { position: relative; flex: none; width: 44px; height: 44px; border-radius: 50%; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .45); backdrop-filter: blur(6px); transition: background .2s, transform .2s; }
.rcp-play-icon::after { content: ""; position: absolute; left: 17px; top: 13px; border-style: solid; border-width: 9px 0 9px 14px; border-color: transparent transparent transparent #fff; }
.rcp-video-knopf .wp-block-button__link:hover .rcp-play-icon { background: var(--wp--preset--color--pink); border-color: var(--wp--preset--color--pink); transform: scale(1.06); }
.rc-video-dialog { width: min(1100px, 94vw); max-width: none; padding: 0; border: 0; background: transparent; overflow: visible; color: #fff; }
.rc-video-dialog::backdrop { background: rgba(8, 10, 14, .88); backdrop-filter: blur(4px); }
.rc-video-dialog[open] { animation: rcVideoAuf .25s ease; }
@keyframes rcVideoAuf { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
.rc-video-dialog .rc-video { max-width: none; }
.rc-video-dialog .rc-video-hinweis { color: rgba(255, 255, 255, .7); }
.rc-video-zu { position: absolute; z-index: 2; right: .75rem; top: .75rem; backdrop-filter: blur(6px); width: 2.5rem; height: 2.5rem; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .4); background: rgba(255, 255, 255, .1); color: #fff; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.rc-video-zu:hover { background: var(--wp--preset--color--pink); border-color: var(--wp--preset--color--pink); }

/* Mitgliedschaft: DMC & Gastfahrer als Karten wie die Preise */
.rc-price--info .wp-block-heading { margin-top: 0; }
.rc-price--info ul { margin: 0; padding-left: 1.2em; }
.rc-price--info li + li { margin-top: .4rem; }
