/* ==========================================================================
   UTC Grafenwörth – Theme-Styles
   Farben/Schriften kommen aus theme.json (CSS-Variablen --wp--preset--…)
   ========================================================================== */

:root {
	--utc-gruen: var(--wp--preset--color--gruen, #17432B);
	--utc-dunkel: var(--wp--preset--color--dunkelgruen, #0F2E1E);
	--utc-gelb: var(--wp--preset--color--ballgelb, #D7E52A);
	--utc-sand: var(--wp--preset--color--sand, #B8532E);
	--utc-hell: var(--wp--preset--color--hellgruen, #E9F0E4);
	--utc-bg: var(--wp--preset--color--hintergrund, #F5F6F0);
	--utc-text: var(--wp--preset--color--text, #13211A);
	--utc-grau: var(--wp--preset--color--grau, #4A5A50);
	--utc-linie: var(--wp--preset--color--linie, #DDE2D6);
	--utc-cond: var(--wp--preset--font-family--barlow-condensed, "Barlow Condensed", sans-serif);
	--utc-radius: 18px;
}

/* Abstände des Block-Layouts zwischen den großen Bereichen zurücksetzen */
.wp-site-blocks > *,
.utc-main > *,
.utc-site-header > *,
.utc-site-footer > * { margin-block: 0; }
.wp-site-blocks { padding: 0; }

.utc-wrap {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: 24px;
	box-sizing: border-box;
	width: 100%;
}

.utc-kicker {
	margin: 0;
	font-weight: 700;
	font-size: 0.8125rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--utc-sand);
}
.utc-kicker--gelb { color: var(--utc-gelb); }
.utc-more { margin: 0; font-weight: 700; }

mark.utc-hl { background: none; color: var(--utc-gelb); }

/* ---------- Buttons (Block-Stile) ---------- */
.wp-block-button.is-style-akzent .wp-block-button__link { background: var(--utc-gelb); color: var(--utc-text); }
.wp-block-button.is-style-akzent .wp-block-button__link:hover { background: var(--utc-gelb-hover, #c4d21c); color: var(--utc-text); }
.wp-block-button.is-style-dunkel .wp-block-button__link { background: var(--utc-text); color: #fff; }
.wp-block-button.is-style-rahmen-hell .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.55); }
.wp-block-button.is-style-rahmen-hell .wp-block-button__link:hover { border-color: #fff; background: rgba(255,255,255,.08); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--utc-text); border: 2px solid currentColor; }
.wp-block-button__link { box-sizing: border-box; min-height: 48px; display: inline-flex; align-items: center; }

.utc-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 46px; padding: 0 1.4rem; border-radius: 999px;
	font-weight: 700; text-decoration: none;
}
.utc-btn--gelb { background: var(--utc-gelb); color: var(--utc-text) !important; }

/* ---------- Live-Balken ---------- */
.utc-livebar { background: var(--utc-dunkel); color: var(--utc-auf-dunkel, #E8EDE4); font-size: .875rem; }
.utc-livebar__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; padding-block: 8px; }
.utc-livebar a { color: var(--utc-gelb); font-weight: 600; }
.utc-badge-live {
	display: inline-flex; align-items: center; gap: 6px;
	background: #C8312B; color: #fff; font-weight: 700; font-size: .75rem;
	letter-spacing: .08em; padding: 3px 8px; border-radius: 4px;
}
.utc-dot { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: utc-pulse 1.6s infinite; }
@keyframes utc-pulse { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .utc-dot { animation: none; } }

/* ---------- Kopfbereich ---------- */
.utc-header { background: #fff; border-bottom: 1px solid var(--utc-linie); }
.utc-header__inner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 16px 28px; padding-block: 14px;
}
.utc-header__inner > * { margin: 0 !important; }
.utc-brand { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--utc-text); }
.utc-brand img, .utc-brand__logo { width: 64px; height: 64px; flex-shrink: 0; }
/* Logo in der Hauptfarbe: weiße Logo-Datei dient als Maske */
.utc-brand__logo {
	display: block; background: var(--utc-gruen);
	-webkit-mask: url("../images/logo-weiss.png") center / contain no-repeat;
	mask: url("../images/logo-weiss.png") center / contain no-repeat;
}
.utc-brand__text { display: flex; flex-direction: column; line-height: 1; }
.utc-brand__name { white-space: nowrap; font-family: var(--utc-cond); font-weight: 800; font-size: 1.625rem; text-transform: uppercase; letter-spacing: .02em; }
.utc-brand__sub { font-size: .8125rem; color: var(--utc-grau); margin-top: 4px; }
.utc-nav { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; font-weight: 600; gap: 4px 26px; }
.utc-nav a { color: var(--utc-text); text-decoration: none; padding-block: 6px; }
.utc-nav a:hover, .utc-nav a.is-aktiv { color: var(--utc-gruen); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.utc-nav a.is-aktiv { text-decoration-color: var(--utc-gelb); }
.utc-nav a.is-live { display: inline-flex; align-items: center; gap: 7px; background: #C8312B; color: #fff; padding: 5px 12px; border-radius: 999px; text-decoration: none; }
.utc-nav a.is-live:hover { background: #A5241F; color: #fff; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Hero ---------- */
.utc-hero { background: var(--utc-gruen); color: #fff; overflow: hidden; }
.utc-hero__inner {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr));
	gap: 48px; align-items: center; padding-block: 72px 96px;
}
.utc-hero__text > * + * { margin-top: 24px; }
.utc-hero__text > .utc-kicker + .utc-hero__title { margin-top: 40px; } /* Abstand Dachzeile → Überschrift */
.utc-hero__title {
	margin: 0; font-size: var(--wp--preset--font-size--hero); line-height: .92; color: #fff;
}
.utc-hero__lead { color: var(--utc-auf-dunkel, #D9E4DC); font-size: 1.1875rem; max-width: 520px; }

.utc-court-wrap { position: relative; }
.utc-court { aspect-ratio: 4 / 3; border-radius: 20px; background: var(--utc-sand); padding: 28px; box-sizing: border-box; }
.utc-court__lines { position: relative; width: 100%; height: 100%; border: 3px solid #F3E9DF; box-sizing: border-box; }
.utc-court__lines span { position: absolute; display: block; }
.utc-court__lines .l-top, .utc-court__lines .l-bottom { left: 0; right: 0; border-top: 3px solid #F3E9DF; }
.utc-court__lines .l-top { top: 12%; }
.utc-court__lines .l-bottom { bottom: 12%; }
.utc-court__lines .l-left, .utc-court__lines .l-right { top: 12%; bottom: 12%; border-left: 3px solid #F3E9DF; }
.utc-court__lines .l-left { left: 24%; }
.utc-court__lines .l-right { right: 24%; }
.utc-court__lines .l-center { top: 50%; left: 24%; right: 24%; border-top: 3px solid #F3E9DF; }
.utc-court__lines .l-net { top: -10px; bottom: -10px; left: 50%; border-left: 5px solid var(--utc-text); transform: translateX(-2px); }
.utc-court__ball { top: 34%; left: 64%; width: 26px; height: 26px; border-radius: 50%; background: var(--utc-gelb); box-shadow: 0 6px 14px rgba(0,0,0,.3); }

.utc-nextmatch {
	position: absolute; left: -12px; bottom: -22px;
	background: #fff; color: var(--utc-text); border-radius: 14px; padding: 14px 18px;
	box-shadow: 0 14px 30px rgba(0,0,0,.25);
}
.utc-nextmatch p { margin: 0; }
.utc-nextmatch__label { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--utc-grau); }
.utc-nextmatch__title { font-family: var(--utc-cond); font-weight: 700; font-size: 1.375rem; }
.utc-nextmatch__info { font-size: .875rem; color: var(--utc-grau); }

/* ---------- Schnellzugriff ---------- */
.utc-quick { position: relative; margin-top: -40px !important; }
.utc-quick__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: 16px; }
.utc-quick__tile {
	display: flex; gap: 14px; align-items: center; background: #fff; border-radius: 16px; padding: 20px;
	text-decoration: none; color: var(--utc-text); box-shadow: 0 10px 28px color-mix(in srgb, var(--utc-dunkel, #0F2E1E) 10%, transparent);
	transition: transform .15s ease, box-shadow .15s ease;
}
.utc-quick__tile:hover { transform: translateY(-2px); box-shadow: 0 14px 32px color-mix(in srgb, var(--utc-dunkel, #0F2E1E) 16%, transparent); color: var(--utc-text); }
.utc-quick__num,
.utc-quick__icon {
	flex: none; width: 48px; height: 48px; border-radius: 12px; background: var(--utc-hell);
	display: flex; align-items: center; justify-content: center;
	font-family: var(--utc-cond); font-weight: 800; font-size: 1.25rem; color: var(--utc-gruen);
	transition: background .15s ease, color .15s ease;
}
.utc-quick__tile:hover .utc-quick__icon { background: var(--utc-gruen); color: var(--utc-gelb); }
.utc-quick__text { display: flex; flex-direction: column; gap: 2px; }
.utc-quick__title { font-weight: 700; font-size: 1.0625rem; }
.utc-quick__sub { font-size: .875rem; color: var(--utc-grau); }

/* ---------- Abschnitte ---------- */
.utc-section { padding-block: 88px 24px; }
.utc-section--tight { padding-block: 72px; }
.utc-section--bottom { padding-block: 0 72px; }
.utc-section__head {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;
	gap: 16px; margin-bottom: 28px;
}
.utc-section__head > * { margin: 0 !important; }
.utc-section__titles > * + * { margin-top: 6px; }
.utc-section h2 { margin: 0; }

/* ---------- News-Karten ---------- */
.utc-cards { gap: 24px !important; }
@media (max-width: 900px) { .utc-cards.is-layout-grid { grid-template-columns: 1fr !important; } }
.utc-card {
	background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius);
	overflow: hidden; height: 100%; display: flex; flex-direction: column;
}
.utc-card > * { margin: 0 !important; }
.utc-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.utc-card__img:empty, .utc-card .wp-block-post-featured-image:empty { display: none; }
.utc-card__body { padding: 22px; }
.utc-card__body > * + * { margin-top: 10px; }
.utc-card__meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; font-size: .8125rem; color: var(--utc-grau); }
.utc-card__meta > * { margin: 0 !important; }
.utc-tag a, .utc-tag {
	background: var(--utc-hell); color: var(--utc-gruen); font-weight: 700;
	padding: 3px 10px; border-radius: 999px; text-decoration: none;
}
.utc-tag { background: none; padding: 0; }
.utc-card__title { font-family: var(--wp--preset--font-family--barlow); text-transform: none; font-weight: 700; font-size: 1.375rem; line-height: 1.25; letter-spacing: 0; }
.utc-card__title a { color: var(--utc-text); text-decoration: none; }
.utc-card__title a:hover { color: var(--utc-gruen); text-decoration: underline; }
.utc-card__excerpt { color: var(--utc-grau); }
.utc-card__excerpt .wp-block-post-excerpt__more-text { display: none; }

/* ---------- Livestream ---------- */
.utc-live { background: var(--utc-dunkel); color: #fff; margin-top: 64px !important; }
.utc-live h2, .utc-live h3 { color: #fff; }
.utc-live__inner { display: flex; flex-wrap: wrap; gap: 40px; padding-block: 80px; }
.utc-live__main { flex: 999 1 560px; min-width: 0; }
.utc-live__main > * + * { margin-top: 18px; }
.utc-live__aside { flex: 1 1 300px; min-width: 0; padding-top: 74px; }
.utc-player { position: relative; aspect-ratio: 16 / 9; border-radius: var(--utc-radius); overflow: hidden; background: var(--utc-flaeche, #1C3D2B); }
.utc-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.utc-player__badge { position: absolute; top: 14px; left: 14px; }
.utc-player__empty { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; }
.utc-player__court { position: absolute; inset: 14% 18%; border: 2px solid rgba(243,233,223,.3); background: #8E4022; opacity: .55; }
.utc-player__empty p { position: relative; margin: 0; padding: 14px 20px; border-radius: 12px; background: color-mix(in srgb, var(--utc-tief, var(--utc-tief, #0A1911)) 85%, transparent); color: var(--utc-auf-dunkel, #D9E4DC); }
.utc-live__note { color: var(--utc-auf-dunkel-2, #B9CBBF); font-size: .9375rem; }
.utc-live__aside-title { font-family: var(--wp--preset--font-family--barlow); text-transform: none; font-size: 1.125rem; font-weight: 700; letter-spacing: 0; }
.utc-streams { list-style: none; padding: 0; margin: 14px 0 0; display: flex; flex-direction: column; gap: 12px; }
.utc-streams li {
	background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 14px;
	padding: 14px 18px; color: var(--utc-auf-dunkel-2, #B9CBBF); font-size: .9375rem;
}
.utc-streams strong { color: #fff; }

/* ---------- Mannschaften ---------- */
.utc-teams { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 20px; }
.utc-team {
	background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); padding: 24px;
	display: flex; flex-direction: column; gap: 16px; text-decoration: none; color: var(--utc-text);
}
.utc-team:hover { border-color: var(--utc-gruen); color: var(--utc-text); }
.utc-team__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.utc-team__name { display: block; font-family: var(--utc-cond); font-weight: 800; font-size: 1.75rem; line-height: 1.05; text-transform: uppercase; }
.utc-team__liga { display: block; font-size: .875rem; color: var(--utc-grau); margin-top: 6px; }
.utc-team__rank {
	flex: none; width: 52px; height: 52px; border-radius: 50%; background: var(--utc-gruen); color: #fff;
	display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
}
.utc-team__rank b { font-family: var(--utc-cond); font-size: 1.25rem; }
.utc-team__rank small { font-size: .625rem; text-transform: uppercase; letter-spacing: .06em; }
.utc-team__next { border-top: 1px solid var(--utc-linie); padding-top: 14px; display: flex; flex-direction: column; gap: 4px; font-size: .875rem; font-weight: 600; }
.utc-team__next small { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--utc-grau); }
.utc-team__link { font-weight: 700; color: var(--utc-gruen); font-size: .9375rem; }

/* ---------- Termine + Rangliste ---------- */
.utc-split { display: flex; flex-wrap: wrap; gap: 32px; }
.utc-split__main { flex: 999 1 560px; min-width: 0; }
.utc-split__side { flex: 1 1 340px; min-width: 0; }
.utc-split h2 { margin: 6px 0 24px; }
.utc-events { background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); overflow: hidden; margin-bottom: 16px; }
.utc-event { display: flex; flex-wrap: wrap; gap: 18px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--utc-linie-hell, #E7EBE2); }
.utc-event:last-child { border-bottom: 0; }
.utc-date {
	flex: none; width: 64px; height: 64px; border-radius: 14px; background: var(--utc-bg);
	display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1;
}
.utc-date b { font-family: var(--utc-cond); font-weight: 800; font-size: 1.625rem; }
.utc-date small { font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--utc-grau); margin-top: 3px; }
.utc-event__text { flex: 1 1 240px; display: flex; flex-direction: column; gap: 4px; }
.utc-event__title { font-weight: 700; font-size: 1.125rem; }
.utc-event__info { font-size: .875rem; color: var(--utc-grau); }
.utc-chip { font-size: .8125rem; font-weight: 700; padding: 5px 12px; border-radius: 999px; }
.utc-chip--gruen { background: var(--utc-hell); color: var(--utc-gruen); }
.utc-chip--sand { background: #FBE7DD; color: #8A3A1D; }
.utc-chip--blau { background: #EEF0F6; color: #2C3A66; }

.utc-rank { background: var(--utc-gruen); color: #fff; border-radius: var(--utc-radius); padding: 22px; display: flex; flex-direction: column; gap: 6px; }
.utc-rank__head { display: flex; justify-content: space-between; font-size: .75rem; text-transform: uppercase; letter-spacing: .1em; color: var(--utc-auf-dunkel-2, #B9CBBF); padding: 0 6px 8px; }
.utc-rank__row { display: flex; align-items: center; gap: 14px; padding: 10px 6px; border-top: 1px solid rgba(255,255,255,.12); }
.utc-rank__pos {
	width: 34px; height: 34px; border-radius: 50%; background: rgba(255,255,255,.12);
	display: flex; align-items: center; justify-content: center; font-family: var(--utc-cond); font-weight: 800; font-size: 1.125rem;
}
.utc-rank__pos.is-first { background: var(--utc-gelb); color: var(--utc-text); }
.utc-rank__name { flex: 1; font-weight: 600; }
.utc-rank__pts { font-family: var(--utc-cond); font-weight: 700; font-size: 1.25rem; }
.utc-rank__lock { display: flex; align-items: center; gap: 10px; margin: 12px 0 8px; background: rgba(255,255,255,.08); border-radius: 12px; padding: 12px 14px; font-size: .875rem; color: var(--utc-auf-dunkel, #D9E4DC); }

/* ---------- Mitglied werden ---------- */
.utc-cta {
	background: var(--utc-gelb); border-radius: 24px; padding: clamp(28px, 5vw, 48px);
	display: flex; flex-wrap: wrap; gap: 32px; align-items: center; justify-content: space-between;
}
.utc-cta > * { margin: 0 !important; }
.utc-cta__text { flex: 1 1 420px; }
.utc-cta__text h2 { font-size: clamp(2.25rem, 4vw, 3.5rem); line-height: .95; }
.utc-cta__text p { font-size: 1.125rem; max-width: 560px; margin-top: 14px; }

/* ---------- Sponsoren ---------- */
.utc-sponsors__title { font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--utc-grau); }
.utc-sponsors { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 16px; }
.utc-sponsors__item {
	height: 80px; border-radius: 14px; border: 1px dashed var(--utc-feldrand, #C3CBBC);
	display: flex; align-items: center; justify-content: center; color: var(--utc-grau); font-weight: 600; font-size: .875rem;
}

/* ---------- Fußbereich ---------- */
.utc-footer { background: var(--utc-dunkel); color: var(--utc-auf-dunkel, #D9E4DC); }
.utc-footer a { color: var(--utc-auf-dunkel, #D9E4DC); text-decoration: none; }
.utc-footer a:hover { color: #fff; text-decoration: underline; }
.utc-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 32px; padding-block: 56px 32px; }
.utc-footer__col { display: flex; flex-direction: column; gap: 10px; }
.utc-footer__col p { margin: 0; font-size: .9375rem; }
.utc-footer__col img { width: 96px; height: 96px; }
.utc-footer__title { color: #fff; font-weight: 700; }
.utc-footer__bottom {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px;
	padding-block: 18px 28px; border-top: 1px solid rgba(255,255,255,.12); font-size: .875rem;
}
.utc-footer__legal { display: flex; gap: 20px; }
.utc-footer__legal a { text-decoration: underline; }

/* ---------- Inhaltsseiten (Seite, Beitrag) ---------- */
.utc-main--page { padding-block: 56px 88px; }

/* Inhaltsseiten: eine gemeinsame linke Kante für Titel, Text und breite Bereiche */
.utc-content { max-width: 1240px; margin-inline: auto !important; padding-inline: 24px; box-sizing: border-box; }
.utc-main--page .is-layout-constrained > :not(.alignfull) { margin-left: 0 !important; margin-right: auto !important; }

/* Klare Hierarchie: Seitentitel groß, Zwischenüberschriften deutlich kleiner */
.utc-page-title { font-size: clamp(2.75rem, 6vw, 4.5rem) !important; margin-bottom: 8px !important; }
.utc-main--page .wp-block-post-content h2:not(.utc-tp__name) {
	font-size: clamp(1.5rem, 2.6vw, 1.875rem);
	margin-top: 2.2em;
	margin-bottom: .5em;
}
.utc-main--page .wp-block-post-content h3:not(.utc-price__title) {
	font-family: var(--wp--preset--font-family--barlow);
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
	font-size: 1.25rem;
}

/* ---------- Mitgliedsbeiträge [utc_beitraege] ---------- */
.utc-lead { font-size: 1.1875rem; color: var(--utc-grau); }
.utc-prices-wrap { margin-block: 40px !important; }
.utc-prices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 20px; align-items: stretch; }
.utc-price {
	position: relative; background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius);
	padding: 28px 24px; display: flex; flex-direction: column; gap: 12px;
}
.utc-price > * { margin: 0; }
.utc-price.is-featured { background: var(--utc-gruen); border-color: var(--utc-gruen); color: #fff; }
.utc-price__badge {
	position: absolute; top: -13px; left: 24px; background: var(--utc-gelb); color: var(--utc-text);
	font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 12px; border-radius: 999px;
}
.utc-price__title { font-size: 1.5rem; line-height: 1.05; color: inherit; }
.utc-price__amount { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; }
.utc-price__value { font-family: var(--utc-cond); font-weight: 800; font-size: 2.75rem; line-height: 1; color: var(--utc-gruen); }
.utc-price.is-featured .utc-price__value { color: var(--utc-gelb); }
.utc-price__value.is-text { font-size: 1.75rem; }
.utc-price__period { font-size: .9375rem; color: var(--utc-grau); }
.utc-price.is-featured .utc-price__period, .utc-price.is-featured .utc-price__desc { color: var(--utc-auf-dunkel, #D9E4DC); }
.utc-price__desc { color: var(--utc-grau); font-size: .9375rem; }
.utc-price__list { list-style: none; padding: 14px 0 0; border-top: 1px solid var(--utc-linie); display: flex; flex-direction: column; gap: 8px; font-size: .9375rem; }
.utc-price.is-featured .utc-price__list { border-top-color: rgba(255,255,255,.18); }
.utc-price__list li { position: relative; padding-left: 26px; }
.utc-price__list li::before {
	content: ""; position: absolute; left: 0; top: .3em; width: 16px; height: 16px; border-radius: 50%;
	background: var(--utc-hell);
}
.utc-price__list li::after {
	content: ""; position: absolute; left: 3px; top: calc(.3em + 3px); width: 10px; height: 10px; background: var(--utc-gruen);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}
.utc-price.is-featured .utc-price__list li::before { background-color: var(--utc-gelb); }
.utc-prices__note { margin-top: 18px; font-size: .9375rem; color: var(--utc-grau); }

.utc-steps { padding-left: 1.4em; }
.utc-steps li { margin-bottom: 8px; }
.utc-steps li::marker { font-family: var(--utc-cond); font-weight: 800; color: var(--utc-sand); }
.utc-faq { background: #fff; border: 1px solid var(--utc-linie); border-radius: 14px; padding: 14px 18px; }
.utc-faq summary { font-weight: 700; cursor: pointer; }
.utc-faq[open] summary { margin-bottom: 8px; }

/* ---------- Termine (Plugin UTC Redaktion) ---------- */
.utc-event__link { font-size: .875rem; font-weight: 700; }
.utc-events__empty { background: #fff; border: 1px dashed var(--utc-linie); border-radius: var(--utc-radius); padding: 22px; color: var(--utc-grau); }
.utc-events__past-title { margin-top: 48px !important; }

/* ---------- Mannschaftsseite [utc_mannschaften] ---------- */
.utc-teampage { display: flex; flex-direction: column; gap: 56px; margin-block: 24px; }
.utc-teampage__team { scroll-margin-top: 24px; }
.utc-teampage__head { display: flex; flex-wrap: wrap; gap: 28px; align-items: flex-start; margin-bottom: 20px; }
.utc-teampage__photo { flex: 1 1 340px; max-width: 560px; }
.utc-teampage__photo img { width: 100%; height: auto; border-radius: var(--utc-radius); display: block; }
.utc-teampage__info { flex: 1 1 300px; }
.utc-teampage__info h2 { margin: 0 0 8px; }
.utc-teampage__info p { margin: 6px 0; }
.utc-teampage__liga { color: var(--utc-grau); font-weight: 600; }
.utc-teampage__label { font-weight: 700; margin-top: 16px !important; }
.utc-teampage__kader { columns: 2 180px; padding-left: 1.2em; margin: 6px 0 12px; }
.utc-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); }
.utc-spielplan { width: 100%; border-collapse: collapse; font-size: .9375rem; min-width: 560px; }
.utc-spielplan th { text-align: left; font-size: .75rem; text-transform: uppercase; letter-spacing: .08em; color: var(--utc-grau); padding: 12px 16px; border-bottom: 1px solid var(--utc-linie); }
.utc-spielplan td { padding: 12px 16px; border-bottom: 1px solid var(--utc-linie-hell, #E7EBE2); }
.utc-spielplan tr:last-child td { border-bottom: 0; }
.utc-spielplan tr.is-past td { color: var(--utc-grau); }

/* ---------- Mannschaftsseite v2 ---------- */
.utc-tp { display: flex; flex-direction: column; gap: 32px; margin-block: 8px 24px; }
.utc-tp__jump { display: flex; flex-wrap: wrap; gap: 8px; }
.utc-tp__jump a { padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid var(--utc-linie); font-weight: 700; text-decoration: none; color: var(--utc-text); }
.utc-tp__jump a:hover { border-color: var(--utc-gruen); color: var(--utc-gruen); }
.utc-tp__card { background: #fff; border: 1px solid var(--utc-linie); border-radius: 22px; overflow: hidden; scroll-margin-top: 24px; }
.utc-tp__head { background: var(--utc-gruen); color: #fff; padding: 22px 28px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.utc-tp__title { display: flex; flex-direction: column; gap: 6px; }
.utc-tp__kicker { font-size: .75rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--utc-gelb); }
.utc-tp__name { margin: 0 !important; font-size: clamp(1.75rem, 3vw, 2.25rem) !important; color: #fff; line-height: 1; }
.utc-tp__rank { flex: none; width: 76px; height: 76px; border-radius: 50%; background: var(--utc-gelb); color: var(--utc-text); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; text-align: center; }
.utc-tp__rank b { font-family: var(--utc-cond); font-size: 1.75rem; }
.utc-tp__rank small { font-size: .625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; margin-top: 2px; }
.utc-tp__body { display: flex; flex-wrap: wrap; gap: 28px; padding: 28px; }
.utc-tp__photo { flex: 1 1 320px; max-width: 520px; }
.utc-tp__photo img { width: 100%; height: auto; display: block; border-radius: 14px; }
.utc-tp__facts { flex: 1 1 280px; display: flex; flex-direction: column; gap: 18px; }
.utc-tp__fact { display: flex; flex-direction: column; gap: 4px; }
.utc-tp__label { font-size: .75rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--utc-sand); }
.utc-tp__value { font-size: 1.125rem; font-weight: 700; }
.utc-tp__sub { font-size: .9375rem; color: var(--utc-grau); }
.utc-tp__kader { list-style: none; padding: 0; margin: 4px 0 0; display: flex; flex-wrap: wrap; gap: 6px; }
.utc-tp__kader li { background: var(--utc-hell); color: var(--utc-gruen); font-weight: 600; font-size: .9375rem; padding: 4px 12px; border-radius: 999px; }
.utc-tp__link { font-weight: 700; }
.utc-tp__subhead { font-family: var(--wp--preset--font-family--barlow) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 1.125rem !important; font-weight: 700 !important; margin: 0 !important; padding: 0 28px 10px; }
.utc-tp__card .utc-table-wrap { margin: 0 28px 28px; }
@media (max-width: 600px) {
	.utc-tp__head, .utc-tp__body { padding: 18px; }
	.utc-tp__subhead { padding: 0 18px 10px; }
	.utc-tp__card .utc-table-wrap { margin: 0 18px 18px; }
	.utc-tp__rank { width: 62px; height: 62px; }
}

/* ---------- Sponsor-Logos ---------- */
.utc-sponsors__item.has-logo { background: #fff; border: 1px solid var(--utc-linie); border-style: solid; padding: 12px 18px; height: 96px; transition: border-color .15s ease, transform .15s ease; }
.utc-sponsors__item.has-logo img { max-width: 100%; max-height: 64px; width: auto; height: auto; object-fit: contain; display: block; }
a.utc-sponsors__item.has-logo:hover { border-color: var(--utc-gruen); transform: translateY(-2px); }

/* ---------- Beitrittsformular [utc_beitritt] ---------- */
.utc-form { background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); padding: clamp(18px, 4vw, 32px); scroll-margin-top: 24px; }
.utc-form label { display: block; font-weight: 700; margin: 16px 0 6px; }
.utc-form label.is-error { color: #B3261E; }
.utc-form input[type="text"], .utc-form input[type="email"], .utc-form input[type="tel"], .utc-form input[type="date"], .utc-form select, .utc-form textarea {
	width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; border: 1px solid var(--utc-feldrand, #C3CBBC); border-radius: 12px; font: inherit; background: #fff; color: var(--utc-text);
}
.utc-form input:focus, .utc-form select:focus, .utc-form textarea:focus { outline: 3px solid color-mix(in srgb, var(--utc-gruen, #17432B) 25%, transparent); border-color: var(--utc-gruen); }
.utc-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 0 16px; }
.utc-form__row.is-plz { grid-template-columns: minmax(90px, 140px) 1fr; }
.utc-form__hint { font-weight: 400; font-size: .875rem; color: var(--utc-grau); }
.utc-form__check { display: flex !important; gap: 10px; align-items: flex-start; font-weight: 400 !important; margin-top: 20px !important; }
.utc-form__check input { width: 20px; height: 20px; margin-top: 3px; flex: none; }
.utc-form__check.is-error span { color: #B3261E; }
.utc-form__submit { margin-top: 20px; min-height: 52px; padding: 0 28px; border: 0; border-radius: 999px; background: var(--utc-gruen); color: #fff; font: inherit; font-weight: 700; font-size: 1.0625rem; cursor: pointer; }
.utc-form__submit:hover { background: var(--utc-dunkel); }
.utc-form__msg { padding: 14px 18px; border-radius: 12px; margin-bottom: 8px; }
.utc-form__msg.is-ok { background: var(--utc-hell); color: var(--utc-gruen); }
.utc-form__msg.is-error { background: #FBE3E1; color: #8E1F17; }
.utc-form__hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Livestream: Zwei-Klick-Lösung */
.utc-player__consent { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; text-align: center; }
.utc-player__box { position: relative; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 18px 22px; border-radius: 14px; background: color-mix(in srgb, var(--utc-tief, var(--utc-tief, #0A1911)) 88%, transparent); max-width: 420px; margin: 16px; }
.utc-player__box p { margin: 0; font-size: .875rem; color: var(--utc-auf-dunkel, #D9E4DC); }
.utc-player__box a { color: var(--utc-gelb); }
.utc-player__play { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--utc-gelb); color: var(--utc-text); font: inherit; font-weight: 700; cursor: pointer; }

/* ---------- Livestream: Plätze 1–4 ---------- */
.utc-live .utc-wrap { padding-block: 80px; }
.utc-live__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 28px; }
.utc-live__head h2 { margin: 6px 0 0; color: #fff; }
.utc-live__badge { font-size: .875rem; padding: 6px 12px; }
.utc-courts__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 20px; }
.utc-court-tile { margin: 0; background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--utc-radius); overflow: hidden; }
.utc-court-tile__media { position: relative; aspect-ratio: 16 / 9; background: var(--utc-flaeche, #1C3D2B); display: flex; align-items: center; justify-content: center; }
.utc-court-tile__zoom { position: absolute; inset: 0; padding: 0; border: 0; background: none; cursor: zoom-in; z-index: 1; }
.utc-court-tile__zoom img { width: 100%; height: 100%; object-fit: cover; display: block; }
.utc-court-tile__empty { color: var(--utc-auf-dunkel-2, #B9CBBF); font-size: .9375rem; }
.utc-court-tile__badge { display: none; position: absolute; top: 12px; left: 12px; z-index: 2; align-items: center; gap: 6px; background: #C8312B; color: #fff; font-weight: 700; font-size: .75rem; letter-spacing: .08em; padding: 3px 8px; border-radius: 4px; }
.utc-court-tile.is-live:not(.is-offline) .utc-court-tile__badge { display: inline-flex; }
.utc-court-tile.is-offline .utc-court-tile__zoom { opacity: .35; }
.utc-court-tile.is-offline .utc-court-tile__empty { position: relative; z-index: 2; background: color-mix(in srgb, var(--utc-tief, var(--utc-tief, #0A1911)) 85%, transparent); padding: 6px 12px; border-radius: 8px; }
.utc-court-tile__cap { padding: 14px 18px 16px; display: flex; flex-direction: column; gap: 2px; min-height: 92px; box-sizing: border-box; }
.utc-court-tile__name { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--utc-gelb); }
.utc-court-tile__match { font-family: var(--utc-cond); font-weight: 800; font-size: 1.5rem; text-transform: uppercase; color: #fff; line-height: 1.1; }
.utc-court-tile__meta { font-size: .9375rem; color: var(--utc-auf-dunkel-2, #B9CBBF); }
.utc-court-tile__age { font-size: .8125rem; color: var(--utc-auf-dunkel-3, #8FA79A); }
.utc-court-tile:not(.is-live) { opacity: .6; }
.utc-courts__note { margin-top: 16px; font-size: .9375rem; color: var(--utc-auf-dunkel-2, #B9CBBF); }
.utc-courts__idle { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-radius: var(--utc-radius); padding: 24px 28px; }
.utc-courts__idle-title { margin: 0; font-weight: 700; font-size: 1.125rem; color: #fff; }
.utc-courts__idle-sub { margin: 8px 0 12px; color: var(--utc-auf-dunkel-2, #B9CBBF); }
.utc-courts__next { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.utc-courts__next li { background: rgba(255,255,255,.06); border-radius: 12px; padding: 12px 16px; color: var(--utc-auf-dunkel, #D9E4DC); }
.utc-courts__next strong { color: #fff; }
.utc-lightbox { position: fixed; inset: 0; z-index: 9999; background: color-mix(in srgb, var(--utc-tief, var(--utc-tief, #0A1911)) 92%, transparent); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; padding: 24px; }
.utc-lightbox img { max-width: 100%; max-height: 80vh; border-radius: 12px; }
.utc-lightbox p { color: #fff; margin: 0; font-weight: 600; }
.utc-lightbox__close { min-height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--utc-gelb); color: var(--utc-text); font: inherit; font-weight: 700; cursor: pointer; }

/* Fehlende Vereinsangabe (nur bis eingetragen) */
mark.utc-fehlt { background: #FFF1C2; color: #6B4E00; padding: 0 4px; border-radius: 4px; }

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.utc-brand img, .utc-brand__logo { width: 48px; height: 48px; }
	.utc-brand__name { font-size: 1.3rem; }
	.utc-hero__inner { padding-block: 40px 72px; }
	.utc-nextmatch { position: relative; left: auto; bottom: auto; margin-top: -24px !important; margin-inline: 12px; }
	.utc-live__aside { padding-top: 0; }
	.utc-section { padding-block: 56px 16px; }
}

/* ---------- Livestream als eigene Seite (v0.8.0) ---------- */
.utc-live--seite { margin-top: 0 !important; min-height: 60vh; }
.utc-live--seite .utc-live__head h1 { margin: 6px 0 0; color: #fff; font-size: clamp(2.5rem, 6vw, 4.5rem); line-height: 1; }
.utc-main--live { padding-bottom: 0; }

/* Kachel „Livestream“ auf der Startseite, wenn gerade live */
.utc-quick__tile.is-live { box-shadow: inset 0 0 0 2px #C8312B; }
.utc-quick__tile.is-live .utc-quick__icon { background: #C8312B; color: #fff; }
.utc-quick__tile.is-live .utc-quick__sub { color: #C8312B; font-weight: 700; }
.utc-badge-live--klein { font-size: .65rem; padding: 2px 7px; vertical-align: middle; margin-left: 6px; }
.utc-badge-live--klein .utc-dot { width: 6px; height: 6px; }

/* Livestream: Kamerabilder im Hochformat (3:4) – 4 Plätze nebeneinander, darunter 2 */
.utc-courts__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1000px) { .utc-courts__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.utc-court-tile__media { aspect-ratio: 3 / 4; }
.utc-court-tile__zoom img { object-fit: contain; background: var(--utc-tief, #0A1911); }
.utc-court-tile__empty { padding: 0 12px; text-align: center; }
.utc-court-tile__cap { padding: 12px 14px 14px; min-height: 0; }
.utc-court-tile__match { font-size: clamp(1.05rem, 1.6vw, 1.375rem); overflow-wrap: anywhere; }
@media (max-width: 600px) {
	.utc-courts__grid { gap: 10px; }
	.utc-court-tile__badge { top: 8px; left: 8px; }
	.utc-court-tile__cap { padding: 10px 10px 12px; }
	.utc-court-tile__meta { font-size: .8125rem; }
}
.utc-lightbox img { max-height: calc(100vh - 140px); width: auto; }

/* ---------- Handy-Menü (Schublade von links) ---------- */
.utc-burger { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px 0 12px; border: 1.5px solid var(--utc-linie); border-radius: 999px; background: #fff; color: var(--utc-text); font: inherit; font-weight: 700; cursor: pointer; position: relative; }
.utc-burger:hover { border-color: var(--utc-gruen); }
.utc-burger:focus-visible, .utc-drawer__close:focus-visible, .utc-drawer__link:focus-visible { outline: 3px solid var(--utc-gelb); outline-offset: 2px; }
.utc-burger__icon { display: grid; gap: 4px; width: 20px; }
.utc-burger__icon span { display: block; height: 2px; border-radius: 2px; background: currentColor; }
.utc-burger__icon span:nth-child(2) { width: 70%; }
.utc-burger.is-live::after { content: ""; position: absolute; top: 4px; right: 6px; width: 9px; height: 9px; border-radius: 50%; background: #C8312B; box-shadow: 0 0 0 2px #fff; }

.utc-drawer[hidden] { display: none; }
.utc-drawer { position: fixed; inset: 0; z-index: 10000; }
.utc-drawer__backdrop { position: absolute; inset: 0; background: color-mix(in srgb, var(--utc-tief, var(--utc-tief, #0A1911)) 55%, transparent); opacity: 0; transition: opacity .3s ease; }
.utc-drawer__panel {
	position: absolute; top: 0; bottom: 0; left: 0; width: min(86vw, 380px);
	display: flex; flex-direction: column; overflow-y: auto; overscroll-behavior: contain;
	background: var(--utc-dunkel); color: #fff; box-shadow: 12px 0 40px rgba(0,0,0,.3);
	transform: translateX(-100%); transition: transform .35s cubic-bezier(.22,.8,.3,1);
	padding-bottom: env(safe-area-inset-bottom);
}
.utc-drawer.is-offen .utc-drawer__backdrop { opacity: 1; }
.utc-drawer.is-offen .utc-drawer__panel { transform: none; }
.utc-drawer__head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 16px 16px 16px 20px; border-bottom: 1px solid rgba(255,255,255,.12); }
.utc-drawer__brand { display: flex; align-items: center; gap: 10px; color: #fff; text-decoration: none; font-family: var(--utc-cond); font-weight: 800; font-size: 1.25rem; text-transform: uppercase; letter-spacing: .02em; }
.utc-drawer__close { width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: rgba(255,255,255,.1); color: #fff; cursor: pointer; }
.utc-drawer__close:hover { background: rgba(255,255,255,.2); }
.utc-drawer__nav { display: flex; flex-direction: column; padding: 12px 0; }
.utc-drawer__link {
	display: flex; align-items: center; gap: 10px; min-height: 56px; padding: 6px 24px; box-sizing: border-box; line-height: 1.1;
	border-left: 4px solid transparent; color: #fff; text-decoration: none;
	font-family: var(--utc-cond); font-weight: 700; font-size: 1.5rem; text-transform: uppercase; letter-spacing: .02em;
	opacity: 0; transform: translateX(-16px); transition: opacity .3s ease, transform .3s ease, background-color .15s;
}
.utc-drawer.is-offen .utc-drawer__link { opacity: 1; transform: none; }
.utc-drawer.is-offen .utc-drawer__link:nth-child(2) { transition-delay: .04s; }
.utc-drawer.is-offen .utc-drawer__link:nth-child(3) { transition-delay: .08s; }
.utc-drawer.is-offen .utc-drawer__link:nth-child(4) { transition-delay: .12s; }
.utc-drawer.is-offen .utc-drawer__link:nth-child(5) { transition-delay: .16s; }
.utc-drawer.is-offen .utc-drawer__link:nth-child(6) { transition-delay: .2s; }
.utc-drawer__link:hover { background: rgba(255,255,255,.06); }
.utc-drawer__link.is-aktiv { border-left-color: var(--utc-gelb); color: var(--utc-gelb); background: rgba(255,255,255,.04); }
.utc-drawer__link.is-live::after { content: "LIVE"; margin-left: auto; background: #C8312B; color: #fff; font-family: var(--wp--preset--font-family--barlow, sans-serif); font-size: .7rem; font-weight: 700; letter-spacing: .08em; padding: 3px 8px; border-radius: 4px; }
.utc-drawer__link .utc-dot { background: #FF6B63; }
.utc-drawer__foot { margin-top: auto; display: flex; flex-direction: column; padding: 18px 0 24px; border-top: 1px solid rgba(255,255,255,.12); }
.utc-drawer__label { padding: 0 24px 6px; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--utc-gelb); }
.utc-drawer__sub { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 24px; border-left: 4px solid transparent; color: var(--utc-auf-dunkel, #D9E4DC); font-weight: 600; font-size: 1.0625rem; text-decoration: none; }
.utc-drawer__sub:hover { color: #fff; background: rgba(255,255,255,.06); }
body.utc-menue-offen { overflow: hidden; }
@media (prefers-reduced-motion: reduce) {
	.utc-drawer__panel, .utc-drawer__backdrop, .utc-drawer__link { transition: none; }
}
@media (min-width: 1321px) and (max-width: 1480px) {
	.utc-header__inner { gap: 16px 20px; }
	.utc-brand__name { font-size: 1.375rem; }
	.utc-nav { gap: 4px 16px; font-size: .9375rem; }
}
@media (min-width: 1321px) { .utc-header__inner { flex-wrap: nowrap; } }
@media (max-width: 1320px) {
	.utc-header__inner { flex-wrap: nowrap; padding-block: 10px; }
	.utc-header .utc-nav, .utc-header .utc-header__cta { display: none !important; }
	.utc-burger { display: inline-flex; }
}
@media (max-width: 420px) {
	.utc-burger__text { display: none; }
	.utc-burger { padding: 0; width: 46px; justify-content: center; }
	.utc-brand { gap: 10px; }
	.utc-brand__sub { display: none; }
}

/* Kopfzeile: „Platz reservieren“ als schlichter Rahmen-Link, passend zum Menü */
.utc-nav { flex-wrap: nowrap; }
.utc-nav a { white-space: nowrap; }
a.utc-header__cta {
	display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; flex-shrink: 0;
	min-height: 40px; padding: 0 16px; border: 1.5px solid var(--utc-gruen); border-radius: 999px;
	color: var(--utc-gruen); font-weight: 600; text-decoration: none; transition: background-color .15s, color .15s;
}
a.utc-header__cta:hover { background: var(--utc-gruen); color: #fff; }

/* ---------- Seiten „Verein“ und „Anlage & Anfahrt“ ---------- */
.utc-block-wide { margin-block: 32px !important; }
.utc-small { font-size: .9375rem; color: var(--utc-grau); }

/* Kennzahlen */
.utc-zahlen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px; }
@media (max-width: 600px) { .utc-zahlen { grid-template-columns: 1fr 1fr; gap: 10px; } .utc-zahlen li { padding: 16px; } .utc-zahlen__wert { font-size: 2.25rem; } }
.utc-zahlen li { background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); padding: 22px 24px; display: flex; flex-direction: column; gap: 4px; }
.utc-zahlen__wert { font-family: var(--utc-cond); font-weight: 800; font-size: 2.75rem; line-height: 1; color: var(--utc-gruen); }
.utc-zahlen__text { color: var(--utc-grau); font-size: .9375rem; }

/* Bild + Text */
.utc-mt { margin-block: 48px !important; gap: 0; background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); overflow: hidden; }
.utc-mt .wp-block-media-text__media img { aspect-ratio: 16 / 10; object-fit: cover; height: 100%; }
.utc-mt .wp-block-media-text__content { padding: 32px 40px; }
.utc-main--page .wp-block-post-content .utc-mt h2 { margin-top: 0; }
@media (max-width: 600px) { .utc-mt .wp-block-media-text__content { padding: 22px 20px 26px; } }

/* Liste mit Haken */
.utc-haken { list-style: none; padding-left: 0; }
.utc-haken li { position: relative; padding-left: 30px; margin-bottom: 10px; }
.utc-haken li::before { content: ""; position: absolute; left: 0; top: .25em; width: 18px; height: 18px; border-radius: 50%; background: var(--utc-hell); }
.utc-haken li::after {
	content: ""; position: absolute; left: 4px; top: calc(.25em + 4px); width: 10px; height: 10px; background: var(--utc-gruen);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5 9-10'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Zeitleiste */
.utc-zeitleiste { list-style: none; margin: 24px 0 0; padding: 0; position: relative; }
.utc-zeitleiste::before { content: ""; position: absolute; left: 47px; top: 8px; bottom: 8px; width: 2px; background: var(--utc-linie); }
.utc-zeitleiste li { position: relative; display: grid; grid-template-columns: 96px 1fr; gap: 20px; padding-bottom: 26px; }
.utc-zeitleiste__jahr { position: relative; z-index: 1; justify-self: center; align-self: start; min-width: 72px; text-align: center; padding: 4px 10px; border-radius: 999px; background: var(--utc-gruen); color: #fff; font-family: var(--utc-cond); font-weight: 800; font-size: 1.125rem; }
.utc-zeitleiste__jahr mark.utc-fehlt { background: none; color: inherit; padding: 0; }
.utc-zeitleiste p { margin: 4px 0 0; color: var(--utc-grau); }

/* Vorstand */
.utc-vorstand { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 16px; }
.utc-vorstand__karte { background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); padding: 24px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; }
.utc-vorstand__bild { width: 84px; height: 84px; border-radius: 50%; display: grid; place-items: center; margin-bottom: 10px; background: var(--utc-hell); color: var(--utc-gruen); font-family: var(--utc-cond); font-weight: 800; font-size: 1.75rem; }
img.utc-vorstand__bild { object-fit: cover; background: var(--utc-hell); }
.utc-vorstand__name { font-weight: 700; font-size: 1.0625rem; }
.utc-vorstand__funktion { color: var(--utc-grau); font-size: .9375rem; }

/* Abschluss-Box */
.utc-cta-box { margin-top: 56px !important; padding: 36px 40px; border-radius: var(--utc-radius); background: var(--utc-dunkel); color: #fff; }
.utc-main--page .wp-block-post-content .utc-cta-box h3 { color: #fff; margin-top: 0; font-family: var(--utc-cond); text-transform: uppercase; font-size: 1.75rem; }
.utc-cta-box p { color: var(--utc-auf-dunkel); }
@media (max-width: 600px) { .utc-cta-box { padding: 26px 22px; } }

/* Bilder Anlage */
.utc-bild-breit { margin-block: 32px !important; }
.utc-bild-breit img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--utc-radius); }
.utc-bild-breit figcaption, .utc-galerie figcaption { font-size: .875rem; color: var(--utc-grau); }
.utc-galerie { margin-block: 32px !important; gap: 16px !important; }
.utc-galerie img { border-radius: var(--utc-radius); aspect-ratio: 4 / 3; object-fit: cover; }
.utc-galerie.wp-block-gallery figure.wp-block-image figcaption { position: static; background: none; color: var(--utc-grau); padding: 8px 0 0; text-align: left; text-shadow: none; max-height: none; overflow: visible; }
.utc-ausstattung { gap: 24px 40px; }
.utc-main--page .wp-block-post-content .utc-ausstattung h3, .utc-main--page .wp-block-post-content .utc-wege h3 { margin-top: 0; }

/* Anfahrt */
.utc-anfahrt { display: grid; grid-template-columns: 1fr auto; gap: 16px 32px; align-items: center; background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); padding: 28px 32px; }
.utc-anfahrt__adresse p { margin: 6px 0 0; font-size: 1.125rem; }
.utc-anfahrt__links { display: flex; flex-direction: column; gap: 10px; }
.utc-anfahrt__btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 1.5px solid var(--utc-gruen); color: var(--utc-gruen); font-weight: 700; text-decoration: none; white-space: nowrap; }
.utc-anfahrt__btn:hover { background: var(--utc-hell); }
.utc-anfahrt__btn.is-primary { background: var(--utc-gruen); color: #fff; }
.utc-anfahrt__btn.is-primary:hover { background: var(--utc-dunkel); }
.utc-anfahrt__hinweis { grid-column: 1 / -1; margin: 0; font-size: .8125rem; color: var(--utc-grau); }
.utc-wege { gap: 24px 40px; margin-top: 32px !important; }
.utc-wege .wp-block-column { background: #fff; border: 1px solid var(--utc-linie); border-radius: var(--utc-radius); padding: 24px; }
@media (max-width: 700px) {
	.utc-anfahrt { grid-template-columns: 1fr; padding: 22px 20px; }
	.utc-anfahrt__btn { white-space: normal; text-align: center; }
	.utc-zeitleiste::before { left: 35px; }
	.utc-zeitleiste li { grid-template-columns: 72px 1fr; gap: 14px; }
	.utc-zeitleiste__jahr { min-width: 0; font-size: 1rem; }
	.utc-vorstand { grid-template-columns: 1fr 1fr; gap: 10px; }
	.utc-vorstand__karte { padding: 18px 10px; }
	.utc-vorstand__bild { width: 64px; height: 64px; font-size: 1.375rem; }
}

/* Social Media */
.utc-social { display: flex; gap: 10px; margin-top: 6px; }
.utc-social__link { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.1); color: #fff !important; text-decoration: none !important; transition: background-color .15s; }
.utc-social__link:hover { background: var(--utc-gelb); color: var(--utc-text) !important; }
.utc-social__link span, .utc-drawer-social__link span { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.utc-drawer-social { display: flex; gap: 10px; padding: 12px 24px 0; }
.utc-drawer-social__link { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.1); color: #fff; }
.utc-drawer-social__link:hover { background: rgba(255,255,255,.2); }

/* Startseite: Turniere über den Terminen */
.utc-split__full { flex-basis: 100%; }
#turniere + #termine { margin-top: 24px; }
.utc-events__part-title { margin-top: 1.6em !important; }

/* Beitragsfoto: ganz zeigen, nicht beschneiden (Hoch- und Querformat) */
.utc-beitrag-bild { margin-block: 8px 28px !important; text-align: left; }
.utc-beitrag-bild img { width: auto !important; max-width: 100%; height: auto !important; max-height: 75vh; object-fit: contain; border-radius: var(--utc-radius); display: block; }

/* Easter Egg: Match gegen den Ballautomaten */
.utc-court { position: relative; }
.utc-court__ball.is-egg { cursor: pointer; transition: transform .2s; }
.utc-court__ball.is-egg:hover { transform: scale(1.25) rotate(25deg); }
@media (prefers-reduced-motion: no-preference) {
	.utc-court__ball.is-egg { animation: utc-hops 4s ease-in-out 2s infinite; }
}
@keyframes utc-hops { 0%, 86%, 100% { translate: 0 0; } 90% { translate: 0 -12px; } 94% { translate: 0 0; } 97% { translate: 0 -5px; } }
.utc-egg { position: absolute; inset: 0; z-index: 5; border-radius: 20px; overflow: hidden; touch-action: none; cursor: none; }
.utc-egg canvas { display: block; }
.utc-egg__info { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(86%, 380px); box-sizing: border-box; background: color-mix(in srgb, var(--utc-tief, #0A1911) 90%, transparent); color: #fff; border-radius: 16px; padding: 18px 20px; text-align: center; display: flex; flex-direction: column; gap: 8px; cursor: default; }
.utc-egg__info[hidden] { display: none; }
.utc-egg__info strong { font-family: var(--utc-cond); font-size: 1.5rem; text-transform: uppercase; line-height: 1.1; }
.utc-egg__info span { font-size: .9375rem; color: var(--utc-auf-dunkel, #D9E4DC); }
.utc-egg__los { align-self: center; margin-top: 6px; min-height: 42px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--utc-gelb); color: var(--utc-text); font: inherit; font-weight: 700; cursor: pointer; }
.utc-egg__zu { position: absolute; top: 8px; right: 8px; width: 36px; height: 36px; border-radius: 50%; border: 0; background: rgba(0,0,0,.45); color: #fff; cursor: pointer; z-index: 2; }

/* Easter Egg v2: Gegnerwahl, Rangliste */
.utc-egg__info { max-height: calc(100% - 24px); overflow-y: auto; }
.utc-egg__info.is-gross { top: 12px; transform: translateX(-50%); width: min(94%, 460px); padding: 14px 16px; gap: 6px; }
.utc-egg__gegner { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.utc-egg__g { display: flex; align-items: center; gap: 10px; width: 100%; padding: 6px 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 12px; background: rgba(255,255,255,.06); color: #fff; font: inherit; text-align: left; cursor: pointer; }
.utc-egg__g:hover, .utc-egg__g:focus-visible { background: rgba(255,255,255,.16); outline: 2px solid var(--utc-gelb); outline-offset: 1px; }
.utc-egg__info .utc-egg__g-bild { color: var(--utc-gruen); }
.utc-egg__g-bild { flex: none; width: 38px; height: 38px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: var(--utc-hell); color: var(--utc-gruen); font-weight: 800; font-size: .875rem; }
.utc-egg__g-bild img { width: 100%; height: 100%; object-fit: cover; }
.utc-egg__g-text { flex: 1; display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.utc-egg__info .utc-egg__g-text b { color: #fff; }
.utc-egg__g-text small { color: var(--utc-auf-dunkel-2, #B9CBBF); font-size: .75rem; }
.utc-egg__g-st { display: flex; gap: 3px; }
.utc-egg__g-st i { width: 8px; height: 8px; border-radius: 50%; background: rgba(255,255,255,.2); }
.utc-egg__g-st i.is-an { background: var(--utc-gelb); }
.utc-egg__rang { margin-top: 8px; text-align: left; border-top: 1px solid rgba(255,255,255,.15); padding-top: 8px; }
.utc-egg__rang-titel { display: block; margin-bottom: 4px; font-family: var(--utc-cond); text-transform: uppercase; font-size: 1.125rem !important; color: var(--utc-gelb); }
.utc-egg__rang ol { margin: 4px 0 0; padding-left: 1.6em; font-size: .875rem; }
.utc-egg__rang li { display: flex; gap: 8px; padding: 2px 0; }
.utc-egg__rang li b { font-family: ui-monospace, Consolas, monospace; letter-spacing: .12em; min-width: 3.4em; }
.utc-egg__rang-g { flex: 1; color: var(--utc-auf-dunkel-2, #B9CBBF); }
.utc-egg__rang-p { font-weight: 700; }
.utc-egg__rang li.is-ich { color: var(--utc-gelb); }
.utc-egg__leer { display: block; font-size: .8125rem; }
.utc-egg__eintrag { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 6px; }
.utc-egg__eintrag label { width: 100%; font-size: .875rem; }
.utc-egg__eintrag input { width: 4.6em; min-height: 42px; text-align: center; font: 700 1.5rem ui-monospace, Consolas, monospace; letter-spacing: .25em; text-transform: uppercase; border-radius: 10px; border: 2px solid var(--utc-gelb); background: #000; color: var(--utc-gelb); }
.utc-egg__eintrag .utc-egg__los { margin-top: 0; }
.utc-egg__hinweis { width: 100%; color: var(--utc-gelb); font-size: .8125rem; }
.utc-egg__hinweis:empty { display: none; }
.utc-egg__fehler { width: 100%; color: #FF8A80; font-size: .8125rem; }
.utc-egg__platz { color: var(--utc-gelb); font-weight: 700; }
.utc-egg__los.is-zweit { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,.5); }

/* Easter Egg am Handy: ganzer Bildschirm */
html.utc-egg-offen, html.utc-egg-offen body { overflow: hidden; }
.utc-egg.is-vollbild { position: fixed; inset: 0; z-index: 100000; border-radius: 0; background: var(--utc-sand); width: 100vw; height: 100vh; height: 100dvh; }
.utc-egg.is-vollbild .utc-egg__zu { top: max(8px, env(safe-area-inset-top)); right: max(8px, env(safe-area-inset-right)); width: 44px; height: 44px; }
.utc-egg__drehen { display: none; }
@media (orientation: portrait) {
	.utc-egg.is-vollbild:not(.hochkant-ok) .utc-egg__drehen {
		position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px;
		background: color-mix(in srgb, var(--utc-tief, #0A1911) 94%, transparent); color: #fff; text-align: center; padding: 24px;
	}
	.utc-egg__drehen svg { color: var(--utc-gelb); animation: utc-drehen 2s ease-in-out infinite; }
	.utc-egg__drehen strong { font-family: var(--utc-cond); font-size: 1.75rem; text-transform: uppercase; }
	.utc-egg__drehen button { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.5); background: transparent; color: #fff; font: inherit; }
}
@keyframes utc-drehen { 0%, 30% { transform: rotate(0); } 60%, 100% { transform: rotate(-90deg); } }
@media (prefers-reduced-motion: reduce) { .utc-egg__drehen svg { animation: none; } }

.utc-egg__info .utc-egg__hinweis, .utc-egg__info .utc-egg__platz { color: var(--utc-gelb); }
.utc-egg__info .utc-egg__fehler { color: #FF8A80; }
