/* Accessibility: keep skip links available for keyboard users without taking layout space. */
.skip-to-content:not(:focus):not(:focus-visible),
a.skip-link.screen-reader-text:not(:focus):not(:focus-visible) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.skip-to-content:focus,
.skip-to-content:focus-visible,
a.skip-link.screen-reader-text:focus,
a.skip-link.screen-reader-text:focus-visible {
	position: fixed !important;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 10px) !important;
	left: 10px !important;
	z-index: 100000 !important;
	display: inline-flex !important;
	align-items: center !important;
	min-height: 44px !important;
	padding: 10px 14px !important;
	border: 2px solid #00006b !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: #00006b !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	text-decoration: none !important;
	box-shadow: 0 10px 28px rgba(0, 0, 70, .22) !important;
}

/* Global header/content gap: block themes add top spacing to main by default. */
.wp-site-blocks > main,
.wp-site-blocks > .wp-block-template-part + main,
main#wp--skip-link--target {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

.wp-site-blocks > header + main,
.wp-site-blocks > header + .wp-block-group,
.wp-site-blocks > .wp-block-template-part + main,
.wp-site-blocks > .wp-block-template-part + .wp-block-group {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Home: the editor template still carries an old negative hero offset. */
body.home .hero-section,
body.front-page .hero-section,
.home .hero-section,
.front-page .hero-section {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

main#wp--skip-link--target > .wp-block-group.alignfull:first-child:empty,
main#wp--skip-link--target > .wp-block-spacer:first-child {
	display: none !important;
}

body:has(.sch-bluearmy__hero) main#wp--skip-link--target,
body:has(.sch-kant-pg__hero) main#wp--skip-link--target,
body:has(.sch-eis-pg__hero) main#wp--skip-link--target,
body:has(.sch-ki-pg__hero) main#wp--skip-link--target,
body:has(.sch-ss-pg__hero) main#wp--skip-link--target {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
}

body:has(.sch-bluearmy__hero) .wp-block-post-content > .wp-block-shortcode:first-child,
body:has(.sch-kant-pg__hero) .wp-block-post-content > .wp-block-shortcode:first-child,
body:has(.sch-eis-pg__hero) .wp-block-post-content > .wp-block-shortcode:first-child,
body:has(.sch-ki-pg__hero) .wp-block-post-content > .wp-block-shortcode:first-child,
body:has(.sch-ss-pg__hero) .wp-block-post-content > .wp-block-shortcode:first-child {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
}

@media (max-width: 1100px) {
	html,
	body {
		max-width: 100%;
	}

	.wp-site-blocks,
	main,
	.wp-block-post-content {
		min-width: 0;
	}
}

/* Club page: JS owns the fixed nav in every viewport. */
.sch-club__nav.sch-club__nav--fixed {
	position: fixed !important;
	right: 0 !important;
	left: 0 !important;
	z-index: 3000 !important;
	width: 100% !important;
	max-width: 100vw !important;
	transform: translateZ(0) !important;
	background: #fff !important;
}

.sch-club__nav-placeholder.sch-club__nav-placeholder--active {
	display: block !important;
}

/* Keep custom shortcode layouts full-width without double breakouts. */
.sch-ki-pg__inner,
.sch-kant-card--has-img,
.sch-kant-w,
.sch-kant-pg__hero,
.sch-ss-pg,
.sch-ss-pg__hero,
.sch-ss-pg__section {
	box-sizing: border-box !important;
}

.sch-ki-pg__inner {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	transform: none !important;
}

.sch-ss-pg__inner {
	width: min(100%, 1200px) !important;
	max-width: 1200px !important;
}

/* Contact banner/page: prevent squeezed middle columns and clipped maps. */
@media (max-width: 900px) {
	.sch-kb--home {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		border-radius: 12px !important;
	}

	.sch-kb--home .sch-kb__map {
		grid-column: 1 / -1 !important;
		min-height: 240px !important;
	}

	.sch-kb--home .sch-kb__map iframe {
		min-height: 240px !important;
	}

	.sch-ki-pg__inner {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 660px) {
	.sch-kb--home {
		grid-template-columns: 1fr !important;
		border-radius: 0 !important;
	}

	.sch-kb__headline,
	.sch-kb__cta {
		min-width: 0 !important;
		padding: 22px var(--sch-mobile-edge, 18px) !important;
	}

	.sch-kb__contact-btn {
		width: 100% !important;
		min-width: 0 !important;
	}

	.sch-kb--home .sch-kb__map,
	.sch-kb--home .sch-kb__map iframe {
		height: 220px !important;
		min-height: 220px !important;
	}
}

/* Kantine and venue sections: stable full-width stacking on smaller screens. */
@media (max-width: 900px) {
	.sch-kant-card--has-img {
		flex-direction: column !important;
		min-height: 0 !important;
		border-radius: 0 !important;
	}

	.sch-kant-card--has-img .sch-kant-card__img,
	.sch-kant-card--has-img .sch-kant-card__body {
		width: 100% !important;
		flex: none !important;
	}

	.sch-kant-card--has-img .sch-kant-card__img {
		min-height: 0 !important;
		aspect-ratio: 16 / 9 !important;
	}

	.sch-kant-card--has-img .sch-kant-card__body {
		padding: clamp(22px, 5vw, 34px) var(--sch-mobile-edge, 18px) !important;
	}

	.sch-kant-w {
		border-radius: 0 !important;
	}

	.sch-kant-pg__body {
		width: 100% !important;
		max-width: none !important;
		grid-template-columns: 1fr !important;
		padding-right: var(--sch-mobile-edge, 18px) !important;
		padding-left: var(--sch-mobile-edge, 18px) !important;
	}

	.sch-ss-pg__section {
		padding-right: var(--sch-mobile-edge, 18px) !important;
		padding-left: var(--sch-mobile-edge, 18px) !important;
	}

	.sch-ss-pg__grid {
		grid-template-columns: 1fr !important;
	}
}

/* Team hero: season label must sit in the same column directly above the title. */
.wp-block-cover.team-cover .team-cover__season,
.page-id-635 .wp-block-cover.cover-fullwidth .team-cover__season {
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	text-align: left !important;
	position: static !important;
	transform: none !important;
}

.wp-block-cover.team-cover .team-cover__title,
.page-id-635 .wp-block-cover.cover-fullwidth .team-cover__title {
	align-self: flex-start !important;
}

.wp-block-cover.team-cover,
.page-id-635 .wp-block-cover.cover-fullwidth {
	margin-top: 0 !important;
}

.wp-block-cover.team-cover .wp-block-cover__image-background,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__image-background {
	object-position: center top !important;
}

/* Titelgroesse: siehe "TEAM-HERO 2026-08-11" am Dateiende – sie wird dort an
   die verfuegbare Breite gekoppelt, damit "Kampfmannschaft" nie anschneidet. */

/* Squad/player pages: avoid clipped position watermarks and cramped cards. */
@media (max-width: 720px) {
	.squad-section {
		overflow: visible !important;
	}

	.squad-section__watermark {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		display: block !important;
		width: 100% !important;
		max-width: calc(100vw - 16px) !important;
		margin: 0 auto -4px !important;
		padding: 0 8px !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		font-size: clamp(24px, 9vw, 50px) !important;
		line-height: .95 !important;
		letter-spacing: 0 !important;
	}

	.squad-section--trainer .squad-section__watermark {
		font-size: clamp(20px, 7vw, 38px) !important;
	}

	.squad-section__grid,
	.sq-skeleton {
		padding-top: 18px !important;
	}

	.sq-card__img-wrap {
		padding-top: 142% !important;
	}

	.sq-card__img-main {
		object-fit: cover !important;
		object-position: center top !important;
	}
}

@media (max-width: 420px) {
	.squad-section__watermark {
		font-size: clamp(22px, 10vw, 36px) !important;
	}

	.squad-section--trainer .squad-section__watermark {
		font-size: clamp(18px, 7.4vw, 30px) !important;
	}

	.sq-card__nachname {
		font-size: clamp(11px, 3.6vw, 14px) !important;
		letter-spacing: .02em !important;
	}

	.sq-card__vorname {
		font-size: clamp(7px, 2.4vw, 9px) !important;
		letter-spacing: .12em !important;
	}
}

/* Matchcenter and carousels: keep tabs usable and cards inside viewport. */
@media (max-width: 782px) {
	.sch-mc__tabs,
	.match-track,
	.highlights-track {
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.sch-mc__tabs::-webkit-scrollbar,
	.match-track::-webkit-scrollbar,
	.highlights-track::-webkit-scrollbar {
		display: none;
	}

	.match-card {
		flex-basis: min(86vw, 360px) !important;
		max-width: min(86vw, 360px) !important;
	}

	.sch-mc__row-match {
		min-width: 0 !important;
	}

	.sch-mc__team {
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
	}
}

/* Responsive pass 2026-05-29: scoped late fixes, keeping the club nav JS-owned. */
@media (max-width: 782px) {
	:root {
		--sch-mobile-edge: clamp(16px, 5vw, 24px);
	}

	body.home .hero-section,
	body.front-page .hero-section,
	.home .hero-section,
	.front-page .hero-section {
		min-height: clamp(540px, 86svh, 720px) !important;
		height: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		overflow: hidden !important;
		background: #05050a !important;
	}

	body.home .hero-section .wp-block-cover__image-background,
	body.front-page .hero-section .wp-block-cover__image-background,
	.home .hero-section .wp-block-cover__image-background,
	.front-page .hero-section .wp-block-cover__image-background {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center 42% !important;
	}

	body.home .hero-section .wp-block-cover__inner-container,
	body.front-page .hero-section .wp-block-cover__inner-container,
	.home .hero-section .wp-block-cover__inner-container,
	.front-page .hero-section .wp-block-cover__inner-container {
		width: 100% !important;
		max-width: none !important;
		min-height: inherit !important;
		padding-right: var(--sch-mobile-edge) !important;
		padding-left: var(--sch-mobile-edge) !important;
		box-sizing: border-box !important;
	}

	.wp-block-gallery.has-nested-images,
	.sch-np-wp-gallery.has-nested-images {
		width: min(100%, calc(100vw - (var(--sch-mobile-edge) * 2))) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	.wp-block-gallery.has-nested-images figure.wp-block-image,
	.sch-np-wp-gallery.has-nested-images figure.wp-block-image {
		margin: 0 !important;
		width: 100% !important;
	}

	.section-highlights .highlights-track > .wp-block-image,
	.section-highlights .highlights-track > figure {
		aspect-ratio: 4 / 3 !important;
	}

	.section-highlights .highlights-track img {
		object-position: center center !important;
	}

	.sch-kb--home,
	.sch-kant-card--has-img,
	.sch-kant-w,
	.sch-ki-pg,
	.sch-ss-pg,
	.sch-ss-pg__section {
		max-width: 100vw !important;
		overflow-x: clip !important;
	}

	.wp-block-button__link,
	.sch-kb__contact-btn,
	.sch-eisw__btn,
	.sch-mc__tab {
		white-space: normal !important;
		text-wrap: balance;
	}
}

@media (max-width: 520px) {
	body.home .hero-section,
	body.front-page .hero-section,
	.home .hero-section,
	.front-page .hero-section {
		min-height: clamp(520px, 84svh, 680px) !important;
	}

	body.home .hero-section .wp-block-cover__image-background,
	body.front-page .hero-section .wp-block-cover__image-background,
	.home .hero-section .wp-block-cover__image-background,
	.front-page .hero-section .wp-block-cover__image-background {
		object-fit: contain !important;
		object-position: center top !important;
		background: transparent !important;
	}

	body.home .hero-section .wp-block-cover__background,
	body.front-page .hero-section .wp-block-cover__background,
	.home .hero-section .wp-block-cover__background,
	.front-page .hero-section .wp-block-cover__background {
		background: linear-gradient(
			180deg,
			rgba(0, 0, 0, .02) 0%,
			rgba(0, 0, 0, .18) 52%,
			rgba(0, 0, 0, .72) 100%
		) !important;
		opacity: 1 !important;
	}
}

	@media (max-width: 420px) {
		.wp-block-gallery.has-nested-images,
		.sch-np-wp-gallery.has-nested-images {
			width: min(100%, calc(100vw - 32px)) !important;
			grid-template-columns: 1fr !important;
		}
	}

	/* Responsive pass 2026-06-10: text/image positioning on narrow screens. */
	@media (max-width: 782px) {
		.wp-block-media-text,
		.wp-block-media-text.has-media-on-the-right {
			display: grid !important;
			grid-template-columns: 1fr !important;
			gap: 0 !important;
		}

		.wp-block-media-text .wp-block-media-text__media,
		.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
			grid-column: 1 !important;
			grid-row: 1 !important;
			margin: 0 !important;
		}

		.wp-block-media-text .wp-block-media-text__content,
		.wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
			grid-column: 1 !important;
			grid-row: 2 !important;
			padding: 24px var(--sch-mobile-edge, 18px) 32px !important;
		}

		.wp-block-media-text .wp-block-media-text__media img {
			width: 100% !important;
			height: auto !important;
			max-height: 62vh !important;
			object-fit: cover !important;
			object-position: center top !important;
			display: block !important;
		}

		.wp-block-cover:not(.hero-section):not(.team-cover),
		.sch-to__hero,
		.sch-ss-teaser,
		.sch-ss-tile,
		.sch-to__card,
		.sq-card {
			isolation: isolate !important;
		}

		.wp-block-cover:not(.hero-section):not(.team-cover) .wp-block-cover__inner-container {
			width: 100% !important;
			max-width: none !important;
			padding-right: var(--sch-mobile-edge, 18px) !important;
			padding-left: var(--sch-mobile-edge, 18px) !important;
		}

		.wp-block-cover:not(.hero-section):not(.team-cover) .wp-block-cover__image-background {
			object-fit: cover !important;
			object-position: center top !important;
		}

		.hero-section h1,
		.hero-section h2,
		.hero-section p {
			max-width: calc(100vw - 96px) !important;
			text-wrap: balance;
		}

		.hero-section .wp-block-cover__inner-container {
			display: flex !important;
			flex-direction: column !important;
			justify-content: flex-end !important;
			padding-bottom: calc(var(--sch-sponsor-banner-height, 72px) + 78px) !important;
		}

		body.home .hero-section .wp-block-cover__image-background,
		body.front-page .hero-section .wp-block-cover__image-background,
		.home .hero-section .wp-block-cover__image-background,
		.front-page .hero-section .wp-block-cover__image-background {
			object-fit: cover !important;
			object-position: center 36% !important;
		}

		/* Team-Hero-Geometrie steht gesammelt am Dateiende
		   ("TEAM-HERO 2026-08-11"), hier bleibt nur der Overlay-Verlauf
		   der uebrigen Teaser-Kacheln. */
		.sch-to__hero-overlay,
		.sch-to__card-overlay,
		.sch-ss-tile__overlay {
			background: linear-gradient(
				to top,
				rgba(0, 0, 0, .78) 0%,
				rgba(0, 0, 0, .48) 34%,
				rgba(0, 0, 0, .14) 68%,
				rgba(0, 0, 0, 0) 100%
			) !important;
			opacity: 1 !important;
		}

		.sch-to__card {
			aspect-ratio: 16 / 10 !important;
		}

		.sch-to__card-bg {
			background-position: center 38% !important;
		}

		.sch-to__card-body {
			padding: 18px var(--sch-mobile-edge, 18px) 20px !important;
			background: linear-gradient(to top, rgba(0, 0, 0, .52), transparent) !important;
		}

		.sch-to__card-name {
			max-width: 14ch !important;
			line-height: .98 !important;
			text-wrap: balance;
		}

		.sch-to__hero {
			height: clamp(380px, 94vw, 540px) !important;
		}

		.sch-to__hero-bg {
			background-size: cover !important;
			background-position: center top !important;
		}

		.sch-to__hero-body {
			padding: 0 var(--sch-mobile-edge, 18px) 28px !important;
		}

		.sch-to__hero-name {
			max-width: 12ch !important;
			text-wrap: balance;
		}

		.sq-card__img-main,
		.sq-card__img-hover {
			object-position: center top !important;
		}

		.sq-card__gradient {
			height: 64% !important;
			background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,.30) 48%, transparent 100%) !important;
		}

		.sq-card__number {
			bottom: 76px !important;
			left: 10px !important;
			font-size: clamp(30px, 9vw, 52px) !important;
			opacity: .58 !important;
		}

		.sq-card__info {
			padding: 12px 12px 14px !important;
		}

		.sq-card__nachname,
		.sq-card__vorname {
			max-width: 100% !important;
			overflow-wrap: anywhere !important;
		}

		.sch-ss-teaser {
			aspect-ratio: 4 / 3 !important;
			background-position: center top !important;
		}

		.sch-ss-teaser__overlay {
			align-items: flex-end !important;
			justify-content: stretch !important;
			padding: 18px !important;
			background: linear-gradient(to top, rgba(0,0,0,.54) 0%, rgba(0,0,0,.18) 52%, rgba(0,0,0,0) 100%) !important;
		}

		.sch-ss-teaser__cta {
			width: 100% !important;
			justify-content: center !important;
			white-space: normal !important;
			text-align: center !important;
		}

		.sch-ss-tile__pic {
			aspect-ratio: 4 / 3 !important;
		}

		.sch-ss-tile__img {
			object-position: center top !important;
		}

		.sch-ss-tile__title {
			bottom: 58px !important;
			left: 14px !important;
			right: 14px !important;
			max-width: calc(100% - 28px) !important;
			text-wrap: balance;
		}

		.sch-ss-tile__maps {
			right: auto !important;
			left: 14px !important;
			max-width: calc(100% - 28px) !important;
			white-space: normal !important;
		}

		.sch-kb__photo-wrap {
			align-self: stretch !important;
			min-height: 104px !important;
		}

		.sch-kb__photo {
			height: 112% !important;
			object-position: bottom center !important;
		}

		.sch-kb__actions {
			align-items: stretch !important;
		}

		.sch-kb__btn {
			white-space: normal !important;
		}
	}

	@media (max-width: 520px) {
		.hero-section h1,
		.hero-section h2,
		.hero-section p {
			max-width: calc(100vw - 82px) !important;
		}

		.wp-block-media-text .wp-block-media-text__media img {
			max-height: 54vh !important;
		}

		.sch-to__card,
		.sch-ss-tile__pic {
			aspect-ratio: 1 / 1 !important;
		}

		.sch-to__card-name {
			max-width: 12ch !important;
		}

		.sq-card__img-wrap {
			padding-top: 152% !important;
		}
	}

	@media (max-width: 420px) {
		.sch-to__hero {
			min-height: clamp(360px, 108vw, 500px) !important;
		}

		.sch-to__hero-body {
			padding-bottom: 22px !important;
		}

		.sch-ss-teaser {
			aspect-ratio: 1 / 1 !important;
		}

		.sch-ss-tile__title {
			bottom: 62px !important;
		}
	}

	/* Follow-up 2026-06-10: keep mobile image areas natural, avoid colored washes. */
	@media (max-width: 782px) {
		.hero-section,
		.wp-block-cover.team-cover,
		.page-id-635 .wp-block-cover.cover-fullwidth,
		.sch-to__hero,
		.sch-to__card,
		.sch-ss-teaser,
		.sch-ss-tile,
		.sq-card {
			background-color: #05050a !important;
		}

		.hero-section .wp-block-cover__image-background,
		.wp-block-cover.team-cover .wp-block-cover__image-background,
		.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__image-background,
		.wp-block-cover:not(.hero-section):not(.team-cover) .wp-block-cover__image-background {
			background: transparent !important;
		}

		.sch-to__card-bg,
		.sch-to__hero-bg {
			background-color: transparent !important;
		}

		.wp-block-cover.team-cover .wp-block-cover__background,
		.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__background,
		.sch-to__hero-overlay,
		.sch-to__card-overlay,
		.sch-ss-tile__overlay {
			background: linear-gradient(
				to top,
				rgba(0, 0, 0, .58) 0%,
				rgba(0, 0, 0, .24) 42%,
				rgba(0, 0, 0, 0) 76%
			) !important;
		}

		.sch-to__card-body {
			background: transparent !important;
		}

		.sch-ss-teaser__overlay {
			background: linear-gradient(
				to top,
				rgba(0, 0, 0, .54) 0%,
				rgba(0, 0, 0, .18) 52%,
				rgba(0, 0, 0, 0) 100%
			) !important;
		}

		.sq-card__gradient {
			height: 58% !important;
			background: linear-gradient(
				to top,
				rgba(0, 0, 0, .7) 0%,
				rgba(0, 0, 0, .28) 56%,
				rgba(0, 0, 0, 0) 100%
			) !important;
		}

		.sch-ss-tile__placeholder {
			background: #111 !important;
		}
	}

	@media (max-width: 520px) {
		.sch-to__card {
			aspect-ratio: 16 / 11 !important;
		}

		.sch-ss-tile__pic,
		.sch-ss-teaser {
			aspect-ratio: 4 / 3 !important;
		}
	}

	@media (max-width: 420px) {
		.sch-ss-teaser {
			aspect-ratio: 4 / 3 !important;
		}
	}

	/* Responsive pass 2026-06-19: keep the closed tablet nav out of layout. */
	@media (max-width: 782px) {
		body.home .hero-section,
		body.front-page .hero-section,
		.home .hero-section,
		.front-page .hero-section {
			min-height: clamp(520px, 70svh, 640px) !important;
		}

		header .wp-block-navigation.is-responsive,
		.site-header .wp-block-navigation.is-responsive {
			width: auto !important;
			max-width: none !important;
			flex: 0 0 auto !important;
			align-items: center !important;
			justify-content: flex-end !important;
			overflow: visible !important;
		}

		header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-open,
		.site-header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container-open {
			width: 44px !important;
			height: 44px !important;
			min-width: 44px !important;
			display: inline-flex !important;
			align-items: center !important;
			justify-content: center !important;
			margin-left: 0 !important;
			padding: 0 !important;
		}

		header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open),
		.site-header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open) {
			display: none !important;
			visibility: hidden !important;
			opacity: 0 !important;
			width: 0 !important;
			height: 0 !important;
			max-width: 0 !important;
			overflow: hidden !important;
			pointer-events: none !important;
			position: absolute !important;
			inset: auto !important;
		}

		header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close,
		.site-header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-close {
			display: none !important;
		}

		header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open,
		.site-header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open {
			position: fixed !important;
			inset: 0 !important;
			width: 100vw !important;
			height: 100svh !important;
			max-width: none !important;
			display: flex !important;
			overflow-y: auto !important;
			padding: clamp(68px, 13svh, 128px) var(--sch-mobile-edge, 20px) 36px !important;
		}

		header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close,
		.site-header .wp-block-navigation.is-responsive .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
			position: fixed !important;
			top: clamp(24px, 7vw, 56px) !important;
			right: var(--sch-mobile-edge, 20px) !important;
			width: 48px !important;
			height: 48px !important;
			display: inline-flex !important;
		}
	}

	@media (max-width: 520px) {
		body.home .hero-section,
		body.front-page .hero-section,
		.home .hero-section,
		.front-page .hero-section {
			min-height: clamp(500px, 68svh, 620px) !important;
		}
	}

	/* Team-Hero: Geometrie und Titelband stehen gesammelt am Dateiende
	   ("TEAM-HERO 2026-08-11"). Die frueheren min-height-/padding-Passes
	   von 2026-06-25 sind dort aufgegangen. */

	/* Responsive pass 2026-06-25: compact home carousel and schedule empty states. */
	.sch-spielplan__status {
		display: none;
	}

	.sch-spielplan__actions[hidden] {
		display: none !important;
	}

	@media (max-width: 1100px) {
		body.home .match-carousel,
		body.front-page .match-carousel,
		.home .match-carousel,
		.front-page .match-carousel {
			margin-top: 0 !important;
			padding-top: clamp(8px, 2.2vw, 16px) !important;
			padding-bottom: clamp(10px, 2.6vw, 22px) !important;
		}

		body.home .match-track,
		body.front-page .match-track,
		.home .match-track,
		.front-page .match-track {
			height: auto !important;
			min-height: clamp(180px, 23vw, 236px) !important;
			align-items: flex-start !important;
			padding-top: 0 !important;
			padding-bottom: clamp(8px, 2vw, 14px) !important;
			overflow-x: auto !important;
			overflow-y: hidden !important;
		}

		.sch-spielplan__status:not(:empty) {
			display: block !important;
			width: min(100%, 560px);
			margin: 0 auto;
			padding: clamp(16px, 4vw, 24px);
			border: 1px solid rgba(255, 255, 255, .22);
			border-radius: 12px;
			background: rgba(255, 255, 255, .08);
			color: rgba(255, 255, 255, .9);
			font-weight: 850;
			line-height: 1.35;
			text-align: center;
			box-sizing: border-box;
		}

		.sch-spielplan__status:empty {
			display: none !important;
		}
	}

	@media (max-width: 782px) {
		body.home .hero-section,
		body.front-page .hero-section,
		.home .hero-section,
		.front-page .hero-section {
			min-height: clamp(450px, 62svh, 560px) !important;
		}

	body.home .hero-section + .wp-block-spacer,
	body.front-page .hero-section + .wp-block-spacer,
	.home .hero-section + .wp-block-spacer,
	.front-page .hero-section + .wp-block-spacer {
		height: clamp(24px, 6.5vw, 36px) !important;
		max-height: clamp(24px, 6.5vw, 36px) !important;
		margin-top: 0 !important;
	}

		body.home .match-track,
		body.front-page .match-track,
		.home .match-track,
		.front-page .match-track {
			min-height: clamp(172px, 44vw, 204px) !important;
			scroll-padding-inline: var(--sch-mobile-edge, 18px) !important;
			padding-inline: var(--sch-mobile-edge, 18px) !important;
		}

		.sch-tabpanel.is-active {
			overflow: visible !important;
		}

		.sch-spielplan {
			height: auto !important;
			min-height: 0 !important;
			padding-top: clamp(22px, 6vw, 34px) !important;
			padding-bottom: clamp(22px, 6vw, 34px) !important;
			overflow: visible !important;
		}

		.sch-spielplan__inner {
			width: min(100%, calc(100vw - (var(--sch-mobile-edge, 18px) * 2))) !important;
			margin-right: auto !important;
			margin-left: auto !important;
		}

		body.page-id-325 .entry-content > p:empty {
			display: none !important;
		}

		body.page-id-325 .sch-tabs {
			width: min(100%, calc(100vw - (var(--sch-mobile-edge, 18px) * 2))) !important;
			display: grid !important;
			grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
			gap: clamp(5px, 1.6vw, 8px) !important;
			margin-top: clamp(14px, 4vw, 20px) !important;
			margin-bottom: clamp(10px, 3vw, 14px) !important;
			padding-inline: 0 !important;
		}

		body.page-id-325 .sch-tab {
			min-width: 0 !important;
			min-height: 42px !important;
			padding: 8px clamp(3px, 1.5vw, 6px) !important;
			font-size: clamp(10px, 2.75vw, 14px) !important;
			letter-spacing: .035em !important;
			overflow: hidden !important;
			text-overflow: clip !important;
			white-space: nowrap !important;
		}

		body.page-id-325 .sch-tabpanel.is-active {
			margin-top: 0 !important;
		}

		@media (max-width: 420px) {
			body.page-id-325 .sch-tabs {
				grid-template-columns: 1fr !important;
				gap: 7px !important;
			}

			body.page-id-325 .sch-tab {
				min-height: 40px !important;
				padding: 8px 10px !important;
				font-size: 12px !important;
				letter-spacing: .04em !important;
			}
		}

		body.page-id-325 main#wp--skip-link--target,
		body.page-id-325 main#wp--skip-link--target > .wp-block-group {
			padding-bottom: clamp(12px, 4vw, 22px) !important;
		}

		.sch-ki-pg__map {
			height: clamp(310px, 82vw, 360px) !important;
			min-height: clamp(310px, 82vw, 360px) !important;
		}

		.sch-ki-pg__map .sch-map-consent {
			height: 100% !important;
			min-height: 100% !important;
			border-radius: 0 !important;
		}

		.sch-ki-pg__map iframe {
			position: absolute !important;
			inset: 0 !important;
			width: 100% !important;
			height: 100% !important;
		}
	}

	@media (max-width: 520px) {
		body.home .hero-section,
		body.front-page .hero-section,
		.home .hero-section,
		.front-page .hero-section {
			min-height: clamp(420px, 58svh, 500px) !important;
		}
	}

/* Header/page-start repair 2026-07-02: keep the front-page header pinned to
   the viewport top and give mobile subpages room below the header. */
body.home .wp-site-blocks > header,
body.front-page .wp-site-blocks > header,
body.home header.wp-block-template-part,
body.front-page header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 0px) !important;
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	transform: none !important;
	z-index: 4000 !important;
}

@media (max-width: 782px) {
	:root {
		--sch-mobile-page-start-gap: calc(var(--sch-header-height, 84px) + clamp(16px, 4vw, 28px));
	}

	body.page-id-325 main#wp--skip-link--target,
	body.page-id-325 .wp-site-blocks > main,
	body.page-id-9 main#wp--skip-link--target,
	body.page-id-9 .wp-site-blocks > main,
	body:has(.section-news-archive) main#wp--skip-link--target,
	body:has(.section-news-archive) .wp-site-blocks > main,
	body:has(.sch-club) main#wp--skip-link--target,
	body:has(.sch-club) .wp-site-blocks > main,
	body.page-id-935 main#wp--skip-link--target,
	body.page-id-1347 main#wp--skip-link--target,
	body.page-id-935 .wp-site-blocks > main,
	body.page-id-1347 .wp-site-blocks > main {
		padding-top: var(--sch-mobile-page-start-gap) !important;
	}

	body.page-id-325 main#wp--skip-link--target > .wp-block-group:first-child,
	body.page-id-9 .wp-block-post-content > :first-child,
	body:has(.section-news-archive) .section-news-archive,
	body:has(.sch-club) .wp-block-post-content > .wp-block-shortcode:first-child,
	body.page-id-935 .wp-block-post-content > .wp-block-shortcode:first-child,
	body.page-id-1347 .wp-block-post-content > .wp-block-shortcode:first-child {
		margin-top: 0 !important;
		margin-block-start: 0 !important;
	}

	.sch-club__nav.sch-club__nav--fixed {
		position: fixed !important;
		right: 0 !important;
		left: 0 !important;
		z-index: 4000 !important;
		width: 100% !important;
		max-width: 100vw !important;
	}

	.sch-club__nav-placeholder.sch-club__nav-placeholder--active {
		display: block !important;
	}

	body.page-id-935 .sch-fanclub,
	body.page-id-1347 .sch-fanclub {
		box-sizing: border-box !important;
	}

	body.page-id-935 .sch-fanclub__hero,
	body.page-id-1347 .sch-fanclub__hero,
	body.page-id-935 .sch-fanclub__intro-grid,
	body.page-id-1347 .sch-fanclub__intro-grid,
	body.page-id-935 .sch-fanclub__social-box,
	body.page-id-1347 .sch-fanclub__social-box {
		grid-template-columns: 1fr !important;
	}

	body.page-id-935 .sch-fanclub__hero,
	body.page-id-1347 .sch-fanclub__hero {
		min-height: 0 !important;
	}

	body.page-id-935 .sch-fanclub__hero-copy,
	body.page-id-1347 .sch-fanclub__hero-copy,
	body.page-id-935 .sch-fanclub__section,
	body.page-id-1347 .sch-fanclub__section {
		padding-right: var(--sch-mobile-edge, 18px) !important;
		padding-left: var(--sch-mobile-edge, 18px) !important;
	}

	body.page-id-935 .sch-fanclub__hero-media,
	body.page-id-1347 .sch-fanclub__hero-media {
		min-height: clamp(260px, 64vw, 380px) !important;
	}

	body.page-id-935 .sch-fanclub__offer-grid,
	body.page-id-1347 .sch-fanclub__offer-grid,
	body.page-id-935 .sch-fanclub__social-links,
	body.page-id-1347 .sch-fanclub__social-links {
		grid-template-columns: 1fr !important;
	}

	body.page-id-935 .sch-fanclub__actions,
	body.page-id-1347 .sch-fanclub__actions {
		display: grid !important;
		grid-template-columns: 1fr !important;
	}
}

body.page-id-935 .wp-block-buttons.sch-bluearmy__social-grid,
body.page-id-1347 .wp-block-buttons.sch-bluearmy__social-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	align-items: stretch !important;
	justify-content: stretch !important;
}

body.page-id-935 .wp-block-buttons.sch-bluearmy__social-grid > .wp-block-button.sch-bluearmy__social,
body.page-id-1347 .wp-block-buttons.sch-bluearmy__social-grid > .wp-block-button.sch-bluearmy__social {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
}

@media (max-width: 560px) {
	body.page-id-935 .sch-fanclub h1,
	body.page-id-1347 .sch-fanclub h1 {
		font-size: clamp(42px, 15vw, 70px) !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	body.page-id-935 .sch-fanclub__btn,
	body.page-id-1347 .sch-fanclub__btn {
		width: 100% !important;
		min-height: 48px !important;
	}

	body.page-id-935 .wp-block-buttons.sch-bluearmy__social-grid,
	body.page-id-1347 .wp-block-buttons.sch-bluearmy__social-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Fanclub mobile cards: at phone widths the arrow columns made the cards too
   narrow, especially around 420px. Keep the same visuals, but let cards use
   the available content width. */
@media (max-width: 560px) {
	body.page-id-935 .sch-bluearmy__slider-wrap,
	body.page-id-935 .sch-bluearmy__slider-wrap--dark,
	body.page-id-1347 .sch-bluearmy__slider-wrap,
	body.page-id-1347 .sch-bluearmy__slider-wrap--dark {
		position: relative !important;
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body.page-id-935 .sch-bluearmy__slider,
	body.page-id-935 .sch-bluearmy__slider--chants,
	body.page-id-1347 .sch-bluearmy__slider,
	body.page-id-1347 .sch-bluearmy__slider--chants {
		width: 100% !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		scroll-padding-inline: 0 !important;
	}

	body.page-id-935 .sch-bluearmy__tab-card,
	body.page-id-935 .sch-bluearmy__chant-card,
	body.page-id-935 .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-935 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-935 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card.is-active,
	body.page-id-935 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants):not(.has-active-card) .sch-bluearmy__tab-card:first-child,
	body.page-id-1347 .sch-bluearmy__tab-card,
	body.page-id-1347 .sch-bluearmy__chant-card,
	body.page-id-1347 .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-1347 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-1347 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card.is-active,
	body.page-id-1347 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants):not(.has-active-card) .sch-bluearmy__tab-card:first-child {
		flex: 0 0 calc(100vw - (var(--sch-mobile-edge, 18px) * 2) - 12px) !important;
		width: calc(100vw - (var(--sch-mobile-edge, 18px) * 2) - 12px) !important;
		max-width: calc(100vw - (var(--sch-mobile-edge, 18px) * 2) - 12px) !important;
	}

	body.page-id-935 .sch-bluearmy__arrow,
	body.page-id-1347 .sch-bluearmy__arrow {
		position: absolute !important;
		top: 50% !important;
		z-index: 5 !important;
		transform: translateY(-50%) !important;
	}

	body.page-id-935 .sch-bluearmy__arrow[data-sch-ba-prev],
	body.page-id-1347 .sch-bluearmy__arrow[data-sch-ba-prev] {
		left: -18px !important;
	}

	body.page-id-935 .sch-bluearmy__arrow[data-sch-ba-next],
	body.page-id-1347 .sch-bluearmy__arrow[data-sch-ba-next] {
		right: -18px !important;
	}

	body.page-id-935 .sch-fanclub__offer,
	body.page-id-935 .sch-fanclub__social,
	body.page-id-1347 .sch-fanclub__offer,
	body.page-id-1347 .sch-fanclub__social {
		width: 100% !important;
		max-width: none !important;
	}
}

@media (max-width: 420px) {
	body.page-id-935 .sch-bluearmy__tab-card,
	body.page-id-935 .sch-bluearmy__chant-card,
	body.page-id-935 .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-935 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-935 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card.is-active,
	body.page-id-935 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants):not(.has-active-card) .sch-bluearmy__tab-card:first-child,
	body.page-id-1347 .sch-bluearmy__tab-card,
	body.page-id-1347 .sch-bluearmy__chant-card,
	body.page-id-1347 .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-1347 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card,
	body.page-id-1347 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants) .sch-bluearmy__tab-card.is-active,
	body.page-id-1347 .sch-bluearmy__image-section .sch-bluearmy__slider:not(.sch-bluearmy__slider--chants):not(.has-active-card) .sch-bluearmy__tab-card:first-child {
		flex-basis: calc(100vw - 32px) !important;
		width: calc(100vw - 32px) !important;
		max-width: calc(100vw - 32px) !important;
	}
}

@media (max-width: 782px) {
	.sch-eisw,
	.sch-eisw__panel {
		background: #00006b !important;
	}

	.sch-eisw__img {
		display: block !important;
		margin-bottom: 0 !important;
	}
}

/* Mobile fixes 2026-07-30: home hero ratio, centered match cards, page starts. */
@media (max-width: 782px) {
	body.home .hero-section,
	body.front-page .hero-section,
	.home .hero-section,
	.front-page .hero-section {
		min-height: 0 !important;
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
		max-height: none !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		overflow: hidden !important;
	}

	body.home .hero-section .wp-block-cover__inner-container,
	body.front-page .hero-section .wp-block-cover__inner-container,
	.home .hero-section .wp-block-cover__inner-container,
	.front-page .hero-section .wp-block-cover__inner-container {
		min-height: 0 !important;
		height: 100% !important;
	}

	body.home .hero-section .wp-block-cover__image-background,
	body.front-page .hero-section .wp-block-cover__image-background,
	.home .hero-section .wp-block-cover__image-background,
	.front-page .hero-section .wp-block-cover__image-background {
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	body.home .match-track,
	body.front-page .match-track,
	.home .match-track,
	.front-page .match-track {
		--sch-match-card-width: min(86vw, 360px);
		--sch-match-scroll-gutter: max(var(--sch-mobile-edge, 18px), calc((100vw - var(--sch-match-card-width)) / 2));
		padding-inline: var(--sch-match-scroll-gutter) !important;
		scroll-padding-inline: var(--sch-match-scroll-gutter) !important;
		scroll-snap-type: x mandatory;
	}

	body.home .match-card,
	body.front-page .match-card,
	.home .match-card,
	.front-page .match-card {
		flex: 0 0 var(--sch-match-card-width) !important;
		width: var(--sch-match-card-width) !important;
		max-width: var(--sch-match-card-width) !important;
		scroll-snap-align: center;
		scroll-snap-stop: always;
	}

	body:has(.sch-ki-pg__hero) .sch-ki-pg__hero,
	body:has(.sch-ss-pg__hero) .sch-ss-pg__hero {
		padding-top: calc(var(--sch-header-height, 84px) + clamp(28px, 7vw, 48px)) !important;
	}

	body:has(.sch-contact) main#wp--skip-link--target,
	body:has(.sch-contact) .wp-site-blocks > main,
	body.sch-dsgvo-legal-page main#wp--skip-link--target,
	body.sch-dsgvo-legal-page .wp-site-blocks > main {
		padding-top: var(--sch-mobile-page-start-gap, calc(var(--sch-header-height, 84px) + 24px)) !important;
	}

	body:has(.sch-contact) .wp-block-post-content > :first-child,
	body.sch-dsgvo-legal-page .wp-block-post-content > :first-child {
		margin-top: 0 !important;
		margin-block-start: 0 !important;
	}
}

/* Rechtstexte: Seitentitel deutlich kleiner, damit "Datenschutzerklärung"
   auch am Handy in einer Zeile steht und nicht als Plakat wirkt. */
body.sch-dsgvo-legal-page .sch-page-title {
	font-size: clamp(26px, 5.2vw, 46px) !important;
	line-height: 1.08 !important;
	letter-spacing: -0.01em !important;
	text-wrap: balance;
	overflow-wrap: break-word;
	margin-bottom: clamp(14px, 2.4vw, 26px) !important;
}

/* Erste Fließtext-Zeile bekommt nach dem kleineren Titel wieder Luft. */
body.sch-dsgvo-legal-page .sch-page-title + p {
	margin-top: clamp(10px, 1.8vw, 18px) !important;
}

/* Home visit section: create real breathing room between Eintritt and Kantine. */
.sch-visit-section__grid {
	gap: clamp(22px, 3vw, 42px) !important;
}

.sch-visit-card + .sch-visit-card {
	border-left: 0 !important;
}

@media (max-width: 680px) {
	.sch-visit-section__grid {
		gap: clamp(44px, 12vw, 68px) !important;
	}

	.sch-visit-card + .sch-visit-card {
		border-top: 0 !important;
	}

	.sch-visit-card--kantine {
		margin-top: 0 !important;
	}
}

/* Eislaufplatz: align the remaining dark blues with the SCH palette. */
.sch-eis-section,
.sch-eisw,
.sch-eisw__panel {
	background: #00006b !important;
}

.sch-eisw::after {
	background: linear-gradient(90deg, rgba(0, 0, 0, .14) 50%, rgba(0, 0, 107, .72) 75%) !important;
}

.sch-eis-pg__djbanner {
	background: linear-gradient(90deg, #00006b 0%, #000050 100%) !important;
}

/* Highlights: keep the full thumbnail artwork visible on phones. */
@media (max-width: 782px) {
	.section-highlights .highlights-track > .wp-block-image,
	.section-highlights .highlights-track > figure {
		aspect-ratio: 16 / 9 !important;
		background: #050535 !important;
		line-height: 0 !important;
		position: relative !important;
	}

	.section-highlights .highlights-track > .wp-block-image a,
	.section-highlights .highlights-track > figure a {
		display: grid !important;
		width: 100% !important;
		height: 100% !important;
		place-items: center !important;
		position: relative !important;
		overflow: hidden !important;
	}

	.section-highlights .highlights-track img {
		display: block !important;
		position: absolute !important;
		inset: 0 !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-width: 100% !important;
		max-height: 100% !important;
		margin: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
	}
}

/* Mobile fixes 2026-07-30: follow-up for header offsets and centering. */
@media (max-width: 782px) {
	:root {
		--sch-mobile-header-visual-height: max(var(--sch-header-height, 0px), clamp(126px, 32vw, 154px));
		--sch-mobile-page-start-gap: calc(var(--sch-mobile-header-visual-height) + clamp(28px, 7vw, 46px));
	}

	body.home .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block),
	body.front-page .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block),
	.home .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block),
	.front-page .hero-section .wp-block-cover__inner-container > .wp-block-group:has(.wp-block-outermost-icon-block),
	body.home .hero-section .wp-block-social-links,
	body.front-page .hero-section .wp-block-social-links,
	.home .hero-section .wp-block-social-links,
	.front-page .hero-section .wp-block-social-links {
		top: min(74%, calc(100% - 42px)) !important;
		right: clamp(10px, 3vw, 18px) !important;
		gap: 10px !important;
	}

	body.home .hero-section .wp-block-outermost-icon-block .icon-container,
	body.front-page .hero-section .wp-block-outermost-icon-block .icon-container,
	.home .hero-section .wp-block-outermost-icon-block .icon-container,
	.front-page .hero-section .wp-block-outermost-icon-block .icon-container,
	body.home .hero-section .wp-social-link a,
	body.front-page .hero-section .wp-social-link a,
	.home .hero-section .wp-social-link a,
	.front-page .hero-section .wp-social-link a {
		width: 30px !important;
		height: 30px !important;
	}

	body.page-id-1258 .sch-ss-pg__hero,
	body.page-id-1259 .sch-ki-pg__hero,
	body:has(.sch-ss-pg__hero) .sch-ss-pg__hero,
	body:has(.sch-ki-pg__hero) .sch-ki-pg__hero {
		padding-top: calc(var(--sch-mobile-header-visual-height) + clamp(38px, 9vw, 62px)) !important;
		padding-bottom: clamp(42px, 10vw, 66px) !important;
	}

	body.page-id-325 main#wp--skip-link--target,
	body.page-id-325 .wp-site-blocks > main,
	body:has(.sch-club) main#wp--skip-link--target,
	body:has(.sch-club) .wp-site-blocks > main {
		padding-top: var(--sch-mobile-page-start-gap) !important;
	}

	body.page-id-325 .sch-spielplan {
		padding-top: clamp(42px, 10vw, 62px) !important;
	}

	.sch-club {
		--sch-club-nav-lift: 0px;
	}

	body.page-id-11 .wp-block-post-content,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
		display: grid !important;
		width: min(calc(100vw - 28px), 600px) !important;
		max-width: 600px !important;
		grid-template-columns: 1fr !important;
		gap: 16px !important;
		margin-right: max(calc(50% - 300px), calc(50% - 50vw + 14px)) !important;
		margin-left: max(calc(50% - 300px), calc(50% - 50vw + 14px)) !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover {
		position: relative !important;
		isolation: isolate !important;
		width: 100% !important;
		max-width: 100% !important;
		min-height: clamp(280px, 70vw, 380px) !important;
		aspect-ratio: 1 / 0.82 !important;
		margin: 0 auto !important;
		border-radius: 8px !important;
		overflow: hidden !important;
		box-shadow: 0 18px 46px rgba(0, 0, 60, 0.14) !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover .wp-block-cover__background,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover .wp-block-cover__background {
		opacity: 1 !important;
		background:
			linear-gradient(180deg, rgba(0, 0, 30, 0.08) 0%, rgba(0, 0, 45, 0.4) 50%, rgba(0, 0, 62, 0.72) 100%),
			linear-gradient(90deg, rgba(0, 0, 107, 0.42), rgba(0, 0, 0, 0.04)) !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover .wp-block-cover__inner-container,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover .wp-block-cover__inner-container {
		display: flex !important;
		width: 100% !important;
		height: 100% !important;
		min-height: inherit !important;
		align-items: flex-end !important;
		justify-content: flex-start !important;
		padding: clamp(20px, 6vw, 30px) !important;
		text-align: left !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover p,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p {
		max-width: 9ch !important;
		margin: 0 !important;
		font-family: "Anton", system-ui, sans-serif !important;
		font-size: clamp(2.55rem, 12vw, 4rem) !important;
		font-weight: 400 !important;
		line-height: .94 !important;
		letter-spacing: 0 !important;
		text-align: left !important;
		text-wrap: balance;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover p a,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p a {
		color: #fff !important;
		text-decoration: none !important;
		text-shadow: 0 2px 18px rgba(0, 0, 35, .36) !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover p strong,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p strong {
		font-weight: 400 !important;
	}

	.sch-visit-section {
		background: #fff !important;
		border-bottom: clamp(10px, 2.8vw, 16px) solid #00006b !important;
		box-shadow: none !important;
	}

	body.home .sch-visit-section,
	body.front-page .sch-visit-section,
	.home .sch-visit-section,
	.front-page .sch-visit-section {
		margin-bottom: clamp(34px, 9vw, 52px) !important;
	}

	.sch-visit-section__grid {
		gap: clamp(44px, 12vw, 68px) !important;
	}

	.sch-visit-card {
		background: #00006b !important;
	}

	.sch-visit-card + .sch-visit-card {
		border-top: 0 !important;
	}

	body.single-post .wp-block-post-featured-image {
		width: min(calc(100vw - 32px), 760px) !important;
		max-width: min(calc(100vw - 32px), 760px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		transform: none !important;
	}

	body.single-post .wp-block-post-featured-image img {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		object-position: center center !important;
	}

	body.single-post .wp-block-post-content {
		width: min(calc(100vw - 32px), 760px) !important;
		max-width: min(calc(100vw - 32px), 760px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		box-sizing: border-box !important;
	}

	body.single-post .sch-sb-card,
	body.single-post .sch-sb-card__result {
		width: 100% !important;
		max-width: min(100%, 560px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
		box-sizing: border-box !important;
	}
}

@media (max-width: 420px) {
	body.home .hero-section .wp-block-outermost-icon-block .icon-container,
	body.front-page .hero-section .wp-block-outermost-icon-block .icon-container,
	.home .hero-section .wp-block-outermost-icon-block .icon-container,
	.front-page .hero-section .wp-block-outermost-icon-block .icon-container,
	body.home .hero-section .wp-social-link a,
	body.front-page .hero-section .wp-social-link a,
	.home .hero-section .wp-social-link a,
	.front-page .hero-section .wp-social-link a {
		width: 28px !important;
		height: 28px !important;
	}

	body.page-id-11 .wp-block-post-content,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) {
		width: calc(100vw - 24px) !important;
		max-width: calc(100vw - 24px) !important;
		margin-right: calc(50% - 50vw + 12px) !important;
		margin-left: calc(50% - 50vw + 12px) !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		min-height: 300px !important;
		aspect-ratio: auto !important;
	}

	body.page-id-11 .wp-block-post-content > .wp-block-cover p,
	.wp-block-post-content:has(> .wp-block-cover a[href*="blue-army"]):has(> .wp-block-cover a[href*="club-1899"]) > .wp-block-cover p {
		font-size: clamp(2.3rem, 12.5vw, 3.25rem) !important;
	}
}

/* Spielplan mobile: keep all team views centered and readable. */
@media (max-width: 900px) {
	body.page-id-325 .sch-filters,
	body.page-id-325 .sch-spielplan__filters,
	.sch-spielplan .sch-spielplan__filters {
		display: flex !important;
		flex-direction: column !important;
		width: min(100%, calc(100vw - (var(--sch-mobile-edge, 18px) * 2))) !important;
		max-width: 420px !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 0 !important;
		padding-left: 0 !important;
		box-sizing: border-box !important;
		text-align: center !important;
	}

	body.page-id-325 .sch-filter-label {
		width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		text-align: center !important;
	}

	body.page-id-325 #sch-team,
	body.page-id-325 .sch-filter-select,
	body.page-id-325 .sch-spielplan__team-select,
	.sch-spielplan .sch-spielplan__team-select {
		width: 100% !important;
		max-width: 420px !important;
		min-height: 44px !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding-right: 38px !important;
		padding-left: 38px !important;
		text-align: center !important;
		text-align-last: center !important;
		-moz-text-align-last: center !important;
		box-sizing: border-box !important;
	}

	body.page-id-325 #sch-match-list,
	body.page-id-325 #sch-results-list,
	#sch-section-spiele #sch-match-list,
	#sch-section-ergebnisse #sch-results-list {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}

	body.page-id-325 .sch-spielplan .match-row,
	#sch-section-spiele .sch-spielplan .match-row,
	#sch-section-ergebnisse .sch-spielplan .match-row {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-areas:
			"dt"
			"main"
			"comp"
			"venue" !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-items: center !important;
		align-items: center !important;
		padding-right: clamp(14px, 4vw, 24px) !important;
		padding-left: clamp(14px, 4vw, 24px) !important;
		box-sizing: border-box !important;
		text-align: center !important;
		overflow: visible !important;
	}

	body.page-id-325 .sch-spielplan .match-row::before,
	#sch-section-spiele .sch-spielplan .match-row::before,
	#sch-section-ergebnisse .sch-spielplan .match-row::before {
		right: 0 !important;
		left: 0 !important;
		width: auto !important;
		transform: none !important;
	}

	body.page-id-325 .sch-spielplan .match-datetime,
	body.page-id-325 .sch-spielplan .match-main,
	body.page-id-325 .sch-spielplan .match-competition,
	body.page-id-325 .sch-spielplan .match-venue,
	#sch-section-spiele .sch-spielplan .match-datetime,
	#sch-section-spiele .sch-spielplan .match-main,
	#sch-section-spiele .sch-spielplan .match-competition,
	#sch-section-spiele .sch-spielplan .match-venue,
	#sch-section-ergebnisse .sch-spielplan .match-datetime,
	#sch-section-ergebnisse .sch-spielplan .match-main,
	#sch-section-ergebnisse .sch-spielplan .match-competition,
	#sch-section-ergebnisse .sch-spielplan .match-venue {
		width: 100% !important;
		max-width: 100% !important;
		justify-self: center !important;
		text-align: center !important;
		white-space: normal !important;
		box-sizing: border-box !important;
	}

	body.page-id-325 .sch-spielplan .match-main,
	#sch-section-spiele .sch-spielplan .match-main,
	#sch-section-ergebnisse .sch-spielplan .match-main {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		justify-items: center !important;
		row-gap: 10px !important;
		column-gap: 0 !important;
	}

	body.page-id-325 .sch-spielplan .match-team,
	body.page-id-325 .sch-spielplan .match-team--home,
	body.page-id-325 .sch-spielplan .match-team--away,
	#sch-section-spiele .sch-spielplan .match-team,
	#sch-section-spiele .sch-spielplan .match-team--home,
	#sch-section-spiele .sch-spielplan .match-team--away,
	#sch-section-ergebnisse .sch-spielplan .match-team,
	#sch-section-ergebnisse .sch-spielplan .match-team--home,
	#sch-section-ergebnisse .sch-spielplan .match-team--away {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-right: auto !important;
		margin-left: auto !important;
		justify-content: center !important;
		text-align: center !important;
	}

	body.page-id-325 .sch-spielplan .match-team__name,
	#sch-section-spiele .sch-spielplan .match-team__name,
	#sch-section-ergebnisse .sch-spielplan .match-team__name {
		display: block !important;
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		overflow: visible !important;
		text-align: center !important;
		text-overflow: clip !important;
		white-space: normal !important;
		overflow-wrap: anywhere !important;
		word-break: normal !important;
		hyphens: auto !important;
	}

	body.page-id-325 .sch-spielplan .match-score,
	body.page-id-325 .sch-spielplan .match-score__inner,
	#sch-section-spiele .sch-spielplan .match-score,
	#sch-section-spiele .sch-spielplan .match-score__inner,
	#sch-section-ergebnisse .sch-spielplan .match-score,
	#sch-section-ergebnisse .sch-spielplan .match-score__inner {
		max-width: 100% !important;
		margin-right: auto !important;
		margin-left: auto !important;
		justify-content: center !important;
		box-sizing: border-box !important;
	}

	body.page-id-325 .sch-spielplan .match-score::before,
	body.page-id-325 .sch-spielplan .match-score::after,
	#sch-section-spiele .sch-spielplan .match-score::before,
	#sch-section-spiele .sch-spielplan .match-score::after,
	#sch-section-ergebnisse .sch-spielplan .match-score::before,
	#sch-section-ergebnisse .sch-spielplan .match-score::after {
		display: none !important;
		content: none !important;
	}

	body.page-id-325 .sch-spielplan .match-score__inner,
	#sch-section-spiele .sch-spielplan .match-score__inner,
	#sch-section-ergebnisse .sch-spielplan .match-score__inner {
		display: inline-flex !important;
		align-items: center !important;
		gap: clamp(8px, 3vw, 14px) !important;
		white-space: nowrap !important;
	}

	body.page-id-325 .sch-spielplan .match-score__logo,
	#sch-section-spiele .sch-spielplan .match-score__logo,
	#sch-section-ergebnisse .sch-spielplan .match-score__logo {
		width: clamp(28px, 9vw, 40px) !important;
		height: clamp(28px, 9vw, 40px) !important;
		object-fit: contain !important;
		flex: 0 0 auto !important;
	}

	body.page-id-325 .sch-spielplan .match-competition,
	#sch-section-spiele .sch-spielplan .match-competition,
	#sch-section-ergebnisse .sch-spielplan .match-competition {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-wrap: wrap !important;
		gap: 5px 7px !important;
		overflow-wrap: anywhere !important;
	}

	body.page-id-325 .sch-spielplan .match-team-badge,
	#sch-section-spiele .sch-spielplan .match-team-badge,
	#sch-section-ergebnisse .sch-spielplan .match-team-badge {
		margin: 0 !important;
	}

	body.page-id-325 .sch-spielplan .match-venue__link,
	#sch-section-spiele .sch-spielplan .match-venue__link,
	#sch-section-ergebnisse .sch-spielplan .match-venue__link {
		overflow-wrap: anywhere !important;
	}
}

/* Responsive defect pass 2026-08-03: spacing, logo cards, image crops and overflow. */
:root {
	--sch-space-xs: 8px;
	--sch-space-s: 12px;
	--sch-space-m: 16px;
	--sch-space-l: clamp(24px, 4vw, 40px);
	--sch-space-xl: clamp(40px, 7vw, 72px);
	--sch-section-pad-x: clamp(16px, 4vw, 72px);
	--sch-section-pad-y: clamp(48px, 7vw, 96px);
}

body.home :where(.section-termine, .section-news, .section-blue-army, .section-highlights),
body.front-page :where(.section-termine, .section-news, .section-blue-army, .section-highlights),
.sch-club__section {
	padding-block: var(--sch-section-pad-y) !important;
	padding-inline: var(--sch-section-pad-x) !important;
}

:where(.section-termine, .section-news, .section-blue-army, .section-highlights, .sch-club__section) > :where(h1, h2, h3, .wp-block-heading, .sch-club__title):first-child {
	margin-top: 0 !important;
}

:where(.section-termine, .section-news, .section-blue-army, .section-highlights, .sch-club__section) > :where(h1, h2, h3, .wp-block-heading, .sch-club__title) {
	margin-bottom: var(--sch-space-l) !important;
}

:where(.sch-kant-w, .sch-ticket-w, .sch-patron-w, .sch-kant-card, .sch-visit-card, .sch-eisw, .sch-eis-section, .sch-sp, .sch-sb-card__result) {
	height: auto !important;
}

.sch-club__sponsor-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)) !important;
	gap: var(--sch-space-m) !important;
	align-items: stretch !important;
}

.sch-sp {
	min-height: clamp(128px, 15vw, 156px) !important;
	padding: clamp(16px, 2.4vw, 24px) !important;
	justify-content: center !important;
	box-shadow: 0 10px 28px rgba(0, 0, 70, .09) !important;
}

.sch-sp__img {
	display: block !important;
	width: min(100%, 160px) !important;
	height: clamp(52px, 6vw, 68px) !important;
	max-width: 100% !important;
	max-height: none !important;
	object-fit: contain !important;
	object-position: center center !important;
	box-shadow: none !important;
	filter: none !important;
}

.sch-sp__name,
.sch-sp__placeholder {
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	text-wrap: balance;
}

#rotating-sponsors-banner {
	overflow: hidden !important;
}

#rotating-sponsors-banner .sponsor-item {
	width: clamp(104px, 28vw, 188px) !important;
	padding-inline: clamp(10px, 2.4vw, 22px) !important;
	overflow: hidden !important;
}

#rotating-sponsors-banner .sponsor-item a {
	display: grid !important;
	width: 100% !important;
	height: 100% !important;
	place-items: center !important;
}

#rotating-sponsors-banner .sponsor-item img {
	width: 100% !important;
	height: clamp(28px, 5.5vw, 38px) !important;
	max-width: 100% !important;
	max-height: 38px !important;
	object-fit: contain !important;
	box-shadow: none !important;
	filter: drop-shadow(0 2px 3px rgba(0, 0, 0, .22)) !important;
}

@media (max-width: 782px) {
	:root {
		--sch-section-pad-x: var(--sch-mobile-edge, 18px);
		--sch-section-pad-y: clamp(42px, 10vw, 64px);
	}

	body.home :where(.section-termine, .section-news, .section-blue-army, .section-highlights),
	body.front-page :where(.section-termine, .section-news, .section-blue-army, .section-highlights),
	.sch-club__section {
		padding-inline: var(--sch-section-pad-x) !important;
	}

	body.home .news-track,
	body.front-page .news-track,
	.home .news-track,
	.front-page .news-track {
		display: grid !important;
		grid-auto-flow: row !important;
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)) !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: 0 !important;
		padding: 0 !important;
		gap: var(--sch-space-l) !important;
		overflow: visible !important;
		scroll-snap-type: none !important;
	}

	body.home .news-track > *,
	body.front-page .news-track > *,
	.home .news-track > *,
	.front-page .news-track > * {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		flex: initial !important;
		flex-basis: auto !important;
		overflow: visible !important;
	}

	body.home .news-track :where(.news-media, .wp-block-post-featured-image),
	body.front-page .news-track :where(.news-media, .wp-block-post-featured-image),
	.home .news-track :where(.news-media, .wp-block-post-featured-image),
	.front-page .news-track :where(.news-media, .wp-block-post-featured-image) {
		aspect-ratio: 16 / 10 !important;
		height: auto !important;
		overflow: hidden !important;
	}

	body.home .news-track :where(.news-media, .wp-block-post-featured-image) img,
	body.front-page .news-track :where(.news-media, .wp-block-post-featured-image) img,
	.home .news-track :where(.news-media, .wp-block-post-featured-image) img,
	.front-page .news-track :where(.news-media, .wp-block-post-featured-image) img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	body.home .section-highlights .highlights-track,
	body.front-page .section-highlights .highlights-track,
	.home .section-highlights .highlights-track,
	.front-page .section-highlights .highlights-track {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: var(--sch-space-m) !important;
		padding-inline: 0 calc(var(--sch-mobile-edge, 18px) + 46px) !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-padding-inline: 0 !important;
		scroll-snap-type: x mandatory !important;
		-webkit-overflow-scrolling: touch;
	}

	body.home .section-highlights .highlights-track > .wp-block-image,
	body.home .section-highlights .highlights-track > figure,
	body.front-page .section-highlights .highlights-track > .wp-block-image,
	body.front-page .section-highlights .highlights-track > figure,
	.home .section-highlights .highlights-track > .wp-block-image,
	.home .section-highlights .highlights-track > figure,
	.front-page .section-highlights .highlights-track > .wp-block-image,
	.front-page .section-highlights .highlights-track > figure {
		flex: 0 0 min(82vw, 360px) !important;
		width: min(82vw, 360px) !important;
		max-width: min(82vw, 360px) !important;
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
		margin: 0 !important;
		overflow: hidden !important;
		background: #050535 !important;
		scroll-snap-align: start !important;
	}

	body.home .section-highlights .highlights-track > .wp-block-image a,
	body.home .section-highlights .highlights-track > figure a,
	body.front-page .section-highlights .highlights-track > .wp-block-image a,
	body.front-page .section-highlights .highlights-track > figure a,
	.home .section-highlights .highlights-track > .wp-block-image a,
	.home .section-highlights .highlights-track > figure a,
	.front-page .section-highlights .highlights-track > .wp-block-image a,
	.front-page .section-highlights .highlights-track > figure a {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
	}

	body.home .section-highlights .highlights-track img,
	body.front-page .section-highlights .highlights-track img,
	.home .section-highlights .highlights-track img,
	.front-page .section-highlights .highlights-track img {
		position: static !important;
		inset: auto !important;
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		min-height: 0 !important;
		max-width: 100% !important;
		max-height: 100% !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	:where(.sch-kant-w, .sch-ticket-w, .sch-patron-w, .sch-kant-card--has-img, .sch-visit-section, .sch-eisw, .sch-eis-section) {
		width: 100% !important;
		max-width: 100% !important;
		left: auto !important;
		right: auto !important;
		margin-inline: 0 !important;
		transform: none !important;
		min-height: 0 !important;
	}

	:where(.sch-kant-w__img, .sch-ticket-w__img, .sch-visit-card__img, .sch-eisw__img, .sch-eis-bild img) {
		position: relative !important;
		inset: auto !important;
		left: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		aspect-ratio: 16 / 9 !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	.sch-kant-card--has-img .sch-kant-card__img {
		width: 100% !important;
		min-height: 0 !important;
		aspect-ratio: 16 / 9 !important;
	}

	.sch-kant-card--has-img .sch-kant-card__img img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center center !important;
	}

	.sch-eis-pg__hero {
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	.sch-eis-pg__hero-img {
		position: static !important;
		width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
		object-position: center top !important;
	}

	.sch-club__nav,
	.sch-np-bar__inner,
	.sch-tabs,
	.sch-mc__tabs {
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-snap-type: x proximity;
		scroll-padding-inline: var(--sch-mobile-edge, 18px);
		-webkit-overflow-scrolling: touch;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
	}

	.sch-club__nav > *,
	.sch-np-bar__inner > *,
	.sch-tabs > *,
	.sch-mc__tabs > * {
		scroll-snap-align: start;
	}

	body.single-post .wp-block-post-content,
	body.single-post .entry-content,
	body.single-post .wp-block-post-content > :where(p, ul, ol, blockquote, figure, table, .sch-sb-card) {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
		overflow-wrap: anywhere !important;
	}

	.sch-sb-card__result {
		max-width: 100% !important;
		overflow: visible !important;
	}

	.sch-sb-card__team,
	.sch-sb-card__tore,
	.match-team,
	.match-team__name,
	.sch-sb-team {
		min-width: 0 !important;
		white-space: normal !important;
		text-overflow: clip !important;
		overflow: visible !important;
		overflow-wrap: anywhere !important;
		hyphens: auto;
	}
}

@media (max-width: 600px) {
	body.home .news-track,
	body.front-page .news-track,
	.home .news-track,
	.front-page .news-track {
		grid-template-columns: 1fr !important;
	}

	.sch-sb-card__teams {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: var(--sch-space-s) !important;
		text-align: center !important;
	}

	.sch-sb-card__team,
	.sch-sb-card__team--away {
		text-align: center !important;
	}

	.sch-sb-card__score {
		justify-self: center !important;
		white-space: nowrap !important;
	}
}

@media (max-width: 430px) {
	.sch-sp {
		min-height: 118px !important;
		padding: 14px 12px !important;
	}

	.sch-sp__img {
		height: 52px !important;
		width: 100% !important;
	}
}

/* Start page mobile repair 2026-08-04: keep highlight artwork complete and
   leave room for match-card borders inside the horizontal carousel. */
@media (max-width: 782px) {
	body.home .section-highlights .highlights-track,
	body.front-page .section-highlights .highlights-track,
	.home .section-highlights .highlights-track,
	.front-page .section-highlights .highlights-track {
		display: flex !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 calc(var(--sch-mobile-edge, 18px) + 48px) 10px var(--sch-mobile-edge, 18px) !important;
		gap: var(--sch-space-m, 16px) !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
		scroll-padding-inline: var(--sch-mobile-edge, 18px) !important;
		scroll-snap-type: x mandatory !important;
	}

	body.home .section-highlights .highlights-track > .wp-block-image,
	body.home .section-highlights .highlights-track > figure,
	body.front-page .section-highlights .highlights-track > .wp-block-image,
	body.front-page .section-highlights .highlights-track > figure,
	.home .section-highlights .highlights-track > .wp-block-image,
	.home .section-highlights .highlights-track > figure,
	.front-page .section-highlights .highlights-track > .wp-block-image,
	.front-page .section-highlights .highlights-track > figure {
		flex: 0 0 min(86vw, 380px) !important;
		width: min(86vw, 380px) !important;
		max-width: min(86vw, 380px) !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: auto !important;
		margin: 0 !important;
		padding: clamp(6px, 2vw, 10px) !important;
		box-sizing: border-box !important;
		display: grid !important;
		place-items: center !important;
		overflow: visible !important;
		background: #050535 !important;
		line-height: 0 !important;
		scroll-snap-align: start !important;
	}

	body.home .section-highlights .highlights-track > .wp-block-image a,
	body.home .section-highlights .highlights-track > figure a,
	body.front-page .section-highlights .highlights-track > .wp-block-image a,
	body.front-page .section-highlights .highlights-track > figure a,
	.home .section-highlights .highlights-track > .wp-block-image a,
	.home .section-highlights .highlights-track > figure a,
	.front-page .section-highlights .highlights-track > .wp-block-image a,
	.front-page .section-highlights .highlights-track > figure a {
		display: grid !important;
		place-items: center !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		overflow: visible !important;
	}

	body.home .section-highlights .highlights-track img,
	body.front-page .section-highlights .highlights-track img,
	.home .section-highlights .highlights-track img,
	.front-page .section-highlights .highlights-track img {
		position: static !important;
		inset: auto !important;
		display: block !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-width: 100% !important;
		max-height: none !important;
		aspect-ratio: auto !important;
		object-fit: contain !important;
		object-position: center center !important;
	}

	body.home .match-carousel,
	body.front-page .match-carousel,
	.home .match-carousel,
	.front-page .match-carousel {
		overflow-x: auto !important;
		overflow-y: visible !important;
		padding-top: clamp(10px, 2.6vw, 18px) !important;
		padding-bottom: clamp(12px, 3vw, 22px) !important;
	}

	body.home .match-track,
	body.front-page .match-track,
	.home .match-track,
	.front-page .match-track {
		--sch-match-card-width: min(86vw, 360px);
		--sch-match-scroll-gutter: max(var(--sch-mobile-edge, 18px), calc((100vw - var(--sch-match-card-width)) / 2));
		min-height: 0 !important;
		align-items: stretch !important;
		padding-top: 8px !important;
		padding-bottom: 12px !important;
		padding-inline: var(--sch-match-scroll-gutter) !important;
		overflow-x: auto !important;
		overflow-y: visible !important;
		scroll-padding-inline: var(--sch-match-scroll-gutter) !important;
	}

	body.home .match-card,
	body.front-page .match-card,
	.home .match-card,
	.front-page .match-card {
		flex: 0 0 var(--sch-match-card-width) !important;
		width: var(--sch-match-card-width) !important;
		max-width: var(--sch-match-card-width) !important;
		box-sizing: border-box !important;
		border: 2px solid rgba(0, 0, 107, .22) !important;
		border-radius: 12px !important;
		background-clip: padding-box !important;
		overflow: hidden !important;
	}

	body.home .match-logos,
	body.front-page .match-logos,
	.home .match-logos,
	.front-page .match-logos {
		display: grid !important;
		width: 100% !important;
		min-width: 0 !important;
		grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
		align-items: center !important;
		gap: clamp(8px, 2.4vw, 14px) !important;
		margin-bottom: 10px !important;
	}

	body.home .match-logos .match-score,
	body.front-page .match-logos .match-score,
	.home .match-logos .match-score,
	.front-page .match-logos .match-score {
		min-width: clamp(48px, 13vw, 58px) !important;
		margin-bottom: 0 !important;
		white-space: nowrap !important;
		font-variant-numeric: tabular-nums !important;
	}

	body.home .match-logo,
	body.front-page .match-logo,
	.home .match-logo,
	.front-page .match-logo {
		display: block !important;
		width: clamp(40px, 8.5vw, 60px) !important;
		height: clamp(40px, 8.5vw, 60px) !important;
		max-width: 100% !important;
		min-width: 0 !important;
		object-fit: contain !important;
		object-position: center center !important;
		justify-self: center !important;
	}

	body.home .match-card.current,
	body.front-page .match-card.current,
	.home .match-card.current,
	.front-page .match-card.current {
		border-color: #00006b !important;
		box-shadow: 0 8px 22px rgba(0, 0, 107, .16) !important;
	}
}

@media (max-width: 430px) {
	body.home .section-highlights .highlights-track > .wp-block-image,
	body.home .section-highlights .highlights-track > figure,
	body.front-page .section-highlights .highlights-track > .wp-block-image,
	body.front-page .section-highlights .highlights-track > figure,
	.home .section-highlights .highlights-track > .wp-block-image,
	.home .section-highlights .highlights-track > figure,
	.front-page .section-highlights .highlights-track > .wp-block-image,
	.front-page .section-highlights .highlights-track > figure {
		flex-basis: calc(100vw - (var(--sch-mobile-edge, 18px) * 2)) !important;
		width: calc(100vw - (var(--sch-mobile-edge, 18px) * 2)) !important;
		max-width: calc(100vw - (var(--sch-mobile-edge, 18px) * 2)) !important;
	}
}

/* Startseite mobil: hoechstens vier News anzeigen.
   Server-seitig werden ohnehin nur vier Beitraege gerendert
   (mu-plugins/sch-home-news-limit.php) - diese Regel ist der Fallback,
   falls ein Cache die Desktop-Variante an ein Handy ausliefert. */
@media (max-width: 782px) {
	body.home .news-track > *:nth-child(n+5),
	body.front-page .news-track > *:nth-child(n+5),
	.home .news-track > *:nth-child(n+5),
	.front-page .news-track > *:nth-child(n+5) {
		display: none !important;
	}
}

/* Club page: keep the page H1 clear of the fixed section navigation. */
@supports selector(body:has(.sch-club)) {
	@media (min-width: 783px) {
		body:has(.sch-club) .sch-page-title,
		body:has(.sch-club) .wp-block-post-content > h1:first-of-type {
			margin-top: clamp(112px, 8vw, 148px) !important;
		}
	}
}

/* ══ TEAM-HERO 2026-08-11 ══════════════════════════════════════════════════
   Eine einzige Stelle fuer die Geometrie der Mannschaftsfoto-Heros
   (KM, U23, Damen, alle Nachwuchsteams). Ersetzt die frueheren Passes,
   die sich gegenseitig ueberschrieben haben.

   Aufbau:  Hero = Fotoflaeche, Text liegt im Foto

   1) Fotoflaeche = Content-Box des Covers, per aspect-ratio auf das
      Seitenverhaeltnis des Fotos gelegt. Das Foto laeuft dadurch exakt ueber
      die volle Breite: seitlich wird nichts abgeschnitten, kein Spieler
      faellt aus dem Bild.
      Nach oben auf --sch-team-photo-max gedeckelt; ein Ueberschuss
      schneidet wegen "object-position: center top" nur unten Rasen weg,
      nie Koepfe.
      --sch-team-crop ist die Stellschraube fuer den Anschnitt:
      1 = gar kein seitlicher Anschnitt, 0.94 = max. 3 % je Seite
      (das Foto wird dadurch entsprechend hoeher).

   2) Saison und Teamname liegen unten links im Foto – kein farbiger Streifen
      unter dem Bild. Damit Weiss auf hellem Rasen lesbar bleibt, laeuft ein
      weicher Verlauf ueber die unteren --sch-team-textzone Pixel des Fotos
      (Verlauf, keine Flaeche). Die Textzone waechst mit der Titelgroesse.
      Angeschnitten werden kann der Text trotzdem nicht: der Hero hat
      margin-bottom 0, der Kaderbereich schiebt sich also nicht darueber.

   3) Titelgroesse ist zusaetzlich an die verfuegbare Breite gekoppelt:
      --sch-team-title-fit ist die Textbreite in em (in Anton gemessen:
      "KAMPFMANNSCHAFT" = 7.52em). So passt der volle Name auch auf
      schmalen Handys in eine Zeile, ohne Kuerzel und ohne Clipping.

   --team-cover-ar (Seitenverhaeltnis als Zahl) liefert sch-team.js aus den
   echten Bildmassen; den Startwert setzt sch_theme_team_cover_ratio() im
   Child-Theme serverseitig, damit der Hero beim Laden nicht springt. */

/* Der Header ist fixiert und 111px hoch. Desktop reserviert diese Hoehe an
   .wp-site-blocks, mobil aber gar nichts – dort lag der Hero also 57px unter
   dem Header, und weil die Fotoflaeche jetzt exakt dem Bildverhaeltnis folgt,
   verschwanden auf schmalen Geraeten die Koepfe der ganzen Mannschaft darunter.
   Deshalb: alle Abstaende oberhalb des Heros auf null, und der Hero setzt
   selbst exakt an der Unterkante des Headers an. Das raeumt zugleich die
   weisse Luecke weg, die am Desktop ueber dem Foto stand. */
body.sch-team-detail .wp-site-blocks,
body.sch-team-detail .wp-site-blocks > main,
body.sch-team-detail .wp-site-blocks > main > .wp-block-group {
	padding-top: 0 !important;
}

body.sch-team-detail .wp-block-cover.team-cover,
body.sch-team-detail .wp-block-cover.cover-fullwidth {
	margin-top: var(--sch-header-height, 111px) !important;
}

.wp-block-cover.team-cover,
.page-id-635 .wp-block-cover.cover-fullwidth {
	--sch-team-crop: 1;
	--sch-team-edge: clamp(18px, 5vw, 78px);
	--sch-team-title: clamp(34px, 5.6vw, 76px);
	--sch-team-title-fit: 3;
	/* Hoehe der Zone unten im Foto, in der Saison und Teamname stehen. */
	--sch-team-textzone: calc(var(--sch-team-title) * 1.02 + 44px);
	--sch-team-photo-max: 68vh;

	position: relative !important;
	display: block !important;
	/* content-box: aspect-ratio und max-height beziehen sich damit auf die
	   Fotoflaeche, das padding-bottom darunter ist das Titelband. Die Breite
	   bleibt bewusst unangetastet (der Hero wird an anderer Stelle auf volle
	   Fensterbreite gezogen) – so rechnet die Hoehe immer mit der echten
	   Elementbreite statt mit 100vw. */
	box-sizing: content-box !important;
	aspect-ratio: calc(var(--team-cover-ar, 1.75) * var(--sch-team-crop)) !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: var(--sch-team-photo-max) !important;
	padding: 0 !important;
	margin-top: 0 !important;
	/* Die globale Cover-Regel des Themes zieht mit margin-bottom: -120px den
	   naechsten Abschnitt ueber den Hero – genau das hat den Teamnamen von
	   unten angeschnitten. */
	margin-bottom: 0 !important;
	overflow: hidden !important;
	/* Nur sichtbar, solange das Foto noch nicht geladen ist. */
	background-color: #0d1a2e !important;
}

/* Das Foto fuellt den kompletten Hero. */
.wp-block-cover.team-cover .wp-block-cover__image-background,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__image-background {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: auto !important;
	left: 0 !important;
	width: 100% !important;
	/* Nicht ueber "bottom" loesen: bei absolut positionierten <img> mit
	   height:auto gewinnt das Eigenverhaeltnis und der Inset wird ignoriert. */
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center top !important;
	background: transparent !important;
}

/* Weicher Verlauf statt Farbflaeche: nur so viel Abdunklung, dass der weisse
   Text auf hellem Rasen lesbar bleibt. Oben laeuft er vollstaendig aus. */
.wp-block-cover.team-cover .wp-block-cover__background,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__background {
	position: absolute !important;
	inset: 0 !important;
	background: linear-gradient(
		to top,
		rgba(9, 18, 34, .78) 0%,
		rgba(9, 18, 34, .46) calc(var(--sch-team-textzone) * .7),
		rgba(9, 18, 34, .12) calc(var(--sch-team-textzone) + 70px),
		rgba(9, 18, 34, 0) 100%
	) !important;
	opacity: 1 !important;
}

/* Kein weisser Streifen zwischen Hero und Kader: der Abstandhalter aus dem
   Block-Editor entfaellt, der Kaderbereich schliesst direkt an das Titelband
   an. Frueher hat das der negative Cover-Rand verdeckt – der hat aber den
   Teamnamen mitgeschluckt. */
.wp-block-cover.team-cover + .wp-block-spacer,
.page-id-635 .wp-block-cover.cover-fullwidth + .wp-block-spacer {
	display: none !important;
}

.wp-block-cover.team-cover + *,
.wp-block-cover.team-cover + .wp-block-spacer + *,
.page-id-635 .wp-block-cover.cover-fullwidth + *,
.page-id-635 .wp-block-cover.cover-fullwidth + .wp-block-spacer + * {
	margin-top: 0 !important;
}

/* Textzone unten links im Foto – gleiche Position wie zuvor, nur ohne
   farbige Flaeche darunter. */
.wp-block-cover.team-cover .wp-block-cover__inner-container,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__inner-container {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 var(--sch-team-edge) clamp(16px, 2vw, 24px) !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-end !important;
	overflow: visible !important;
	text-align: left !important;
}

/* Leere Absaetze aus dem Block-Editor duerfen das Band nicht auseinander
   ziehen (sch-team.js raeumt sie auf, das hier ist der Fallback). */
.wp-block-cover.team-cover .wp-block-cover__inner-container > p:empty,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__inner-container > p:empty {
	display: none !important;
}

.wp-block-cover.team-cover .team-cover__season,
.wp-block-cover.team-cover .wp-block-cover__inner-container > p,
.page-id-635 .wp-block-cover.cover-fullwidth .team-cover__season,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-cover__inner-container > p {
	order: 1 !important;
	margin: 0 0 clamp(5px, .8vw, 9px) !important;
	padding: 0 !important;
	color: rgba(255, 255, 255, .78) !important;
	font-size: clamp(11px, 1.1vw, 14px) !important;
	font-weight: 800 !important;
	letter-spacing: .14em !important;
	line-height: 1.15 !important;
	text-transform: uppercase !important;
}

.wp-block-cover.team-cover h1,
.wp-block-cover.team-cover h2,
.wp-block-cover.team-cover .team-cover__title,
.wp-block-cover.team-cover .wp-block-heading,
.page-id-635 .wp-block-cover.cover-fullwidth h1,
.page-id-635 .wp-block-cover.cover-fullwidth h2,
.page-id-635 .wp-block-cover.cover-fullwidth .wp-block-heading {
	order: 2 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	font-family: "Anton", system-ui, sans-serif !important;
	font-size: min(
		var(--sch-team-title),
		calc((100vw - 2 * var(--sch-team-edge)) / var(--sch-team-title-fit))
	) !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
	white-space: nowrap !important;
	overflow: visible !important;
	text-transform: uppercase !important;
	transform: none !important;
}

/* Der einzige lange Teamname – Breite in Anton gemessen (7.52em) plus Reserve. */
.wp-block-cover.team-cover--km {
	--sch-team-title-fit: 7.7;
}

/* Sehr niedrige Fenster (Landscape-Handy): Band schlanker halten. */
@media (max-height: 520px) and (min-width: 783px) {
	.wp-block-cover.team-cover,
	.page-id-635 .wp-block-cover.cover-fullwidth {
		--sch-team-photo-max: 74vh;
		--sch-team-title: clamp(30px, 4.4vw, 52px);
	}
}
