/* SV Holzweiler – ergänzende Styles (Frontend und Editor) */

/* Keine Abstände zwischen Kopf, Inhalt und Fuß */
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-post-content > .alignfull,
.wp-block-post-content > .sv-sektion { margin-block-start: 0 !important; margin-block-end: 0 !important; }

/* Links ohne Unterstreichung in Navigation, Kopf- und Fußbereich */
.sv-kontaktleiste a,
.sv-kopf a,
.sv-fuss a,
.sv-kachel a,
a.sv-kachel { text-decoration: none; }
.sv-kontaktleiste a:hover,
.sv-fuss a:hover { text-decoration: underline; }
.sv-kontaktleiste p { margin: 0; }

/* Kopfbereich */
.sv-kopf { border-bottom: 1px solid #222; }
.sv-kopf .wp-block-site-title { font-size: 1.25rem; font-weight: 800; letter-spacing: -0.01em; margin: 0; }
.sv-kopf .wp-block-site-title a { text-decoration: none; }
.sv-kopf .wp-block-navigation .wp-block-navigation__submenu-container {
	background: #0a0a0a !important;
	color: #fff !important;
	border: 1px solid #262626 !important;
	padding: 0.5rem 0;
	min-width: 220px;
}
.sv-kopf .wp-block-navigation .wp-block-navigation-item__content { padding: 0.35rem 0; }
.sv-kopf .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.6rem 1.1rem; }
.sv-kopf .wp-block-navigation a:hover,
.sv-kopf .wp-block-navigation .current-menu-item > a { box-shadow: inset 0 -2px 0 var(--wp--preset--color--akzent); }
.sv-kopf .wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }

/* Kleine Überzeile in Großbuchstaben */
.sv-ueberzeile {
	font-size: 0.875rem !important;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	margin-bottom: 0;
}

/* Akzentbalken unter Überschriften */
.sv-balken::after {
	content: "";
	display: block;
	width: 72px;
	height: 4px;
	margin-top: 1.25rem;
	background: var(--wp--preset--color--akzent);
}
.has-text-align-center.sv-balken::after { margin-left: auto; margin-right: auto; }

/* Pfeil-Links in Großbuchstaben */
.sv-pfeil-link,
.sv-pfeil-link a {
	font-size: 0.875rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-decoration: none;
}
.sv-pfeil-link a:hover { text-decoration: underline; }

/* Button-Stile */
.wp-block-button.is-style-weiss .wp-block-button__link {
	background: #fff;
	color: #0a0a0a;
	border-color: #fff;
}
.wp-block-button.is-style-weiss .wp-block-button__link:hover { background: transparent; color: #fff; }
.wp-block-button.is-style-rahmen-weiss .wp-block-button__link {
	background: transparent;
	color: #fff;
	border-color: #fff;
}
.wp-block-button.is-style-rahmen-weiss .wp-block-button__link:hover { background: #fff; color: #0a0a0a; }

/* Platzhalter für FuPa, Fotos usw. */
.sv-platzhalter {
	border: 2px dashed #c4c4c4;
	min-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 1.5rem;
	box-sizing: border-box;
	color: #5a5a5a;
	background: #fafafa;
}
.sv-platzhalter p { margin: 0; max-width: 520px; }
.sv-platzhalter--dunkel { border-color: #3a3a3a; background: #1c1c1c; color: #9a9a9a; }
.sv-platzhalter--klein { min-height: 110px; }

/* Kacheln (Abteilungen, Mannschaften) */
.sv-kachel { transition: background-color .2s ease; }
.sv-kachel-raster > .wp-block-group { margin: 0 !important; }
.sv-nummer { font-size: 4rem !important; font-weight: 900; line-height: 1; margin: 0; }

/* Beitragsbilder */
.wp-block-post-featured-image img { filter: grayscale(100%); transition: filter .3s ease; }
.wp-block-post-featured-image a:hover img { filter: grayscale(0%); }
.wp-block-post-title a { text-decoration: none; }
.wp-block-post-title a:hover { text-decoration: underline; }

/* Fotos in Schwarzweiß (Klasse am Bild-Block) */
.sv-sw img { filter: grayscale(100%); }

/* Tabellen: Trainingszeiten */
.sv-tabelle-wrap { overflow-x: auto; }
.sv-tabelle { width: 100%; border-collapse: collapse; min-width: 560px; font-size: 1rem; }
.sv-tabelle th {
	background: #0a0a0a;
	color: #fff;
	text-align: left;
	padding: 1rem 1.25rem;
	font-size: 0.8125rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}
.sv-tabelle td { padding: 1rem 1.25rem; border-bottom: 1px solid #e5e5e5; vertical-align: top; }
.sv-tabelle td:first-child { font-weight: 800; }
.sv-tabelle .sv-ausfall { text-decoration: line-through; color: #8a8a8a; }
.sv-badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 0.15rem 0.5rem;
	background: #0a0a0a;
	color: #fff;
	margin-left: 0.5rem;
}
.sv-hinweis-klein { font-size: 0.9375rem; color: #5a5a5a; }

/* Nächste Termine (auf dunklem Grund) */
.sv-termine { list-style: none; margin: 0; padding: 0; }
.sv-termine li { display: flex; gap: 1.5rem; padding: 1.25rem 0; border-top: 1px solid #2e2e2e; }
.sv-termine li:last-child { border-bottom: 1px solid #2e2e2e; }
.sv-termine .sv-tag { font-weight: 900; font-size: 1.75rem; min-width: 4.5rem; line-height: 1.1; }
.sv-termine .sv-tag small { display: block; font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; color: #a3a3a3; }
.sv-termine strong { font-size: 1.125rem; }
.sv-termine .sv-meta { color: #a3a3a3; display: block; }
.has-weiss-background-color .sv-termine li,
.has-hellgrau-background-color .sv-termine li { border-color: #e5e5e5; }
.has-weiss-background-color .sv-termine .sv-meta { color: #5a5a5a; }

/* Instagram-Platzhalterraster */
.sv-insta-raster { text-decoration: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.sv-insta-raster span {
	aspect-ratio: 1;
	background: #1f1f1f;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #8a8a8a;
	font-size: 0.8125rem;
}
.sv-insta-raster span:nth-child(even) { background: #262626; }

/* Kontaktformular */
.sv-formular { display: grid; gap: 1.25rem; }
.sv-formular .sv-zeile { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.25rem; }
.sv-formular label { display: block; font-size: 0.8125rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 0.4rem; }
.sv-formular input[type="text"],
.sv-formular input[type="email"],
.sv-formular textarea {
	width: 100%;
	box-sizing: border-box;
	border: 2px solid #0a0a0a;
	border-radius: 0;
	padding: 0.85rem 1rem;
	font: inherit;
	background: #fff;
	color: #0a0a0a;
}
.sv-formular textarea { min-height: 160px; resize: vertical; }
.sv-formular input:focus,
.sv-formular textarea:focus { outline: 3px solid var(--wp--preset--color--akzent); outline-offset: 2px; }
.sv-formular .sv-check { display: flex; gap: 0.75rem; align-items: flex-start; font-size: 0.9375rem; }
.sv-formular .sv-check label { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: 0.9375rem; margin: 0; }
.sv-formular .sv-check input { width: 1.25rem; height: 1.25rem; margin-top: 0.2rem; accent-color: #0a0a0a; }
.sv-formular button {
	justify-self: start;
	background: #0a0a0a;
	color: #fff;
	border: 2px solid #0a0a0a;
	padding: 1rem 2.25rem;
	font: inherit;
	font-size: 0.9375rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	cursor: pointer;
}
.sv-formular button:hover { background: #fff; color: #0a0a0a; }
.sv-formular .sv-honig { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.sv-meldung { padding: 1rem 1.25rem; border: 2px solid #0a0a0a; font-weight: 600; }
.sv-meldung--fehler { border-color: #b00020; color: #b00020; }

/* Fußbereich */
.sv-fuss p { margin: 0; }
.sv-fuss .sv-copyright { border-top: 1px solid #262626; padding-top: 1.5rem; margin-top: 2.5rem !important; }

/* Mobile Feinheiten */
@media (max-width: 781px) {
	.sv-kontaktleiste { font-size: 0.8125rem !important; }
	.sv-nummer { font-size: 3rem !important; }
}
