/* Einheitlicher Block-Abstand wie Matchcenter ↔ „Rein ins Vereinsleben“ (52px / mobil 34px) */
:root {
	--ssv-block-gap: var(--block-gap, 52px);
	--ssv-block-gap-sm: var(--block-gap-sm, 34px);
	/* Untere Logohälfte (142px × 0.5), fest – nicht am sticky Header */
	--ssv-logo-overhang: 56px;
	--ssv-logo-slider-extra: 28px;
}

/*
  Kein margin/padding am sticky Header: das lässt die Navigation beim
  Scrollen hängen und flimmern. Die untere Logohälfte hängt ins Weiße,
  der Platz dafür liegt auf #main.
*/
#site-header.hd,
#site-header.hd.klein {
	overflow: visible !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	--kopf-h: 84px !important;
	--wappen: 112px !important;
}

@media (width <= 900px) {
	#site-header.hd,
	#site-header.hd.klein {
		--wappen: 96px !important;
	}
}

/* Jubiläumstext: links bündig zum Burgermenü, oben nicht abschneiden */
#site-header .hd-schnell-in {
	height: auto !important;
	min-height: var(--schnell-h, 40px);
	align-items: center;
	overflow: visible !important;
	padding-top: 6px;
	padding-bottom: 6px;
}

#site-header .hd-schnell a:first-child {
	margin-left: 0 !important;
}

#site-header .hd-schnell a.hd-schnell-jubilaeum {
	line-height: 1.35;
	padding-top: 2px;
	padding-bottom: 2px;
	overflow: visible;
	flex: 0 0 auto;
	max-width: none;
}

/* Kein schwarzer Fokus-Rahmen um Buttons und Links */
#site-header a,
#site-header button,
#main a,
#main button,
.ft a,
.ft button {
	-webkit-tap-highlight-color: transparent;
}

#site-header a:focus,
#site-header a:focus-visible,
#site-header button:focus,
#site-header button:focus-visible,
#main a:focus,
#main a:focus-visible,
#main button:focus,
#main button:focus-visible,
.ft a:focus,
.ft a:focus-visible,
.ft button:focus,
.ft button:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

.mc-btn,
.mc-btn:hover,
.mc-btn:focus,
.mc-btn:focus-visible {
	border-color: transparent !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Kontrast: graue Texte auf Weiß mindestens 4,5:1 */
.mc-reiter button[role="tab"] {
	color: #3a3a3a !important;
}

.mc-reiter button[role="tab"][aria-selected="true"] {
	color: #0a0a0a !important;
}

.mc-karte h3,
.mc-zahl,
.mc-fuss,
.mc-liga,
.mc-wett,
.ft-partner-k {
	color: #3a3a3a !important;
}

/* Grauer Streifen über „Unsere Partner“ = Abstand der drei Kästen bis zum Grau */
.ft-partner[data-astro-cid-lqfc4g44] {
	padding-top: var(--block-gap, 52px) !important;
}

.mc-tab li.eigen,
.mc-tab li.eigen .mc-zahl {
	color: #fff !important;
}

/* Sitemap-Button: kein Fokus-Rahmen nach dem Antippen */
.ft-sitemap-btn,
.ft-sitemap-btn:focus,
.ft-sitemap-btn:focus-visible,
.ft-sitemap-btn:active {
	outline: none !important;
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	-webkit-tap-highlight-color: transparent;
}

#site-header.hd .hd-in {
	transition: height 0.25s ease !important;
}

#site-header.hd .brand {
	transition: width 0.25s ease, height 0.25s ease, top 0.25s ease !important;
}

#suche .suche-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 2px 14px 12px;
}

#suche .suche-filter button {
	cursor: pointer;
	color: #333;
	background: #f2f2f2;
	border: 0;
	border-radius: 999px;
	padding: 8px 12px;
	font: 700 12px/1 Archivo, var(--font), sans-serif;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

#suche .suche-filter button.is-on {
	color: #fff;
	background: #0a0a0a;
}

#suche-treffer {
	list-style: none;
	margin: 0;
	padding: 0 8px 8px;
	gap: 6px;
}

#suche-treffer a {
	display: grid !important;
	grid-template-columns: 112px minmax(0, 1fr);
	grid-template-areas: "bereich titel" "bereich zeile";
	align-items: center;
	gap: 2px 14px;
	padding: 12px 14px;
	border-radius: 10px;
	text-decoration: none;
}

#suche-treffer a:hover {
	background: #f6f6f6;
}

#suche-treffer .tr-bereich {
	grid-area: bereich;
	color: #3a3a3a;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#suche-treffer .tr-titel {
	grid-area: titel;
	display: block;
	color: #0a0a0a;
	font-family: var(--display, Oswald, sans-serif);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
}

#suche-treffer .tr-zeile {
	grid-area: zeile;
	display: block;
	color: #555;
	font-size: 13.5px;
	line-height: 1.35;
}

@media (width <= 640px) {
	#suche-treffer a {
		grid-template-columns: 1fr;
		grid-template-areas: "bereich" "titel" "zeile";
	}
}

#site-header.hd .hd-cta {
	transition: padding 0.25s ease, font-size 0.25s ease !important;
}

#main {
	padding-top: var(--ssv-logo-overhang) !important;
}

#main > .seite[data-astro-cid-lcdefpme] {
	padding-top: 0 !important;
}

#main > .seite[data-astro-cid-lcdefpme] > section.hero[data-astro-cid-lcdefpme] {
	margin-top: var(--ssv-logo-slider-extra) !important;
}

#main > .seite[data-astro-cid-lcdefpme] > section[data-astro-cid-lcdefpme]:not(.hero) {
	margin-top: var(--ssv-block-gap) !important;
}

#main > .seite[data-astro-cid-lcdefpme] .hero-karte[data-astro-cid-lcdefpme] {
	top: 0 !important;
}

/* Heimspieltag */
#main .heimtag[data-astro-cid-lcdefpme] {
	position: relative;
	padding: 22px 22px 20px !important;
	background:
		radial-gradient(90% 80% at 100% 0%, rgba(255, 255, 255, 0.07), transparent 46%),
		#1c1f24 !important;
	box-shadow: 0 16px 36px rgba(0, 0, 0, 0.16);
}
#main .heimtag-kopf[data-astro-cid-lcdefpme] {
	margin: 0 0 16px;
	padding-right: 150px;
}
#main .heimtag-k[data-astro-cid-lcdefpme] {
	letter-spacing: 0.16em !important;
	font-size: 11px !important;
}
#main .heimtag-datum[data-astro-cid-lcdefpme] {
	margin: 2px 0 0 !important;
	font-family: var(--display);
	font-size: clamp(26px, 3vw, 34px) !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	line-height: 1;
	text-transform: uppercase;
}
#main .heimtag-liste[data-astro-cid-lcdefpme] {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 12px !important;
}
#main .heimtag-spiel[data-astro-cid-lcdefpme] {
	display: grid !important;
	grid-template-columns: 46px minmax(0, 1fr) !important;
	grid-template-areas: "zeit zeit" "wappen text" "wappen liga" !important;
	gap: 1px 12px !important;
	align-items: center !important;
	height: 100%;
	padding: 14px 14px 12px !important;
	background: rgba(255, 255, 255, 0.045);
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 14px !important;
	transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
#main .heimtag-spiel[data-astro-cid-lcdefpme]:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.22) !important;
	transform: translateY(-2px);
}
#main .heimtag-zeit[data-astro-cid-lcdefpme] {
	grid-area: zeit;
	margin-bottom: 8px;
	font-family: var(--display);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: 0.03em;
}
#main .heimtag-spiel[data-astro-cid-lcdefpme] img,
#main .heimtag-kurz[data-astro-cid-lcdefpme] {
	grid-area: wappen;
	width: 46px !important;
	height: 46px !important;
	padding: 4px;
	background: #fff;
	border-radius: 10px;
	object-fit: contain;
}
#main .heimtag-kurz[data-astro-cid-lcdefpme] {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
}
#main .heimtag-text[data-astro-cid-lcdefpme] {
	grid-area: text;
}
#main .heimtag-text[data-astro-cid-lcdefpme] strong {
	font-size: 15px;
	font-weight: 700;
}
#main .heimtag-text[data-astro-cid-lcdefpme] span {
	color: rgba(255, 255, 255, 0.62) !important;
	font-size: 13px !important;
}
#main .heimtag-liga[data-astro-cid-lcdefpme] {
	grid-area: liga;
	display: block !important;
	margin-top: 2px;
	color: rgba(255, 255, 255, 0.45) !important;
	font-size: 11px !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: left !important;
	text-transform: uppercase;
}
#main .heimtag-mehr[data-astro-cid-lcdefpme] {
	position: absolute;
	top: 24px;
	right: 22px;
	margin: 0 !important;
}
#main .heimtag-mehr[data-astro-cid-lcdefpme] a {
	border-bottom: 3px solid #fff;
	padding-bottom: 2px;
	font-size: 14px;
}
@media (width <= 800px) {
	#main .heimtag-liste[data-astro-cid-lcdefpme] {
		grid-template-columns: 1fr !important;
	}
	#main .heimtag-kopf[data-astro-cid-lcdefpme] {
		padding-right: 0;
	}
	#main .heimtag-mehr[data-astro-cid-lcdefpme] {
		position: static;
		margin-top: 14px !important;
	}
}

#main > .phero-box:first-child {
	margin-top: var(--ssv-logo-slider-extra) !important;
}

#main > .phero-box:first-child > .phero {
	border-radius: 14px !important;
}

#main .seite .kopf-team {
	padding-top: var(--ssv-block-gap) !important;
}

@media (width <= 900px) {
	#main > .seite[data-astro-cid-lcdefpme] > section.hero[data-astro-cid-lcdefpme] {
		margin-top: 20px !important;
	}

	#main > .seite[data-astro-cid-lcdefpme] > section[data-astro-cid-lcdefpme]:not(.hero) {
		margin-top: var(--ssv-block-gap-sm) !important;
	}

	#main > .phero-box:first-child {
		margin-top: 20px !important;
	}

	#main .seite .kopf-team {
		padding-top: var(--ssv-block-gap-sm) !important;
	}
}
