/*
Theme Name: DAWV
Theme URI: https://armwrestling.de
Author: Florian Bäthge
Description: Block-Theme (FSE) für armwrestling.de, die Website des Deutschen Armwrestling Verbands e.V. Fork von Ollie v1.6.1 (Mike McAlister, GPL) mit eigenem Design-System: Schwarz / Rot / Gold, Archivo, Bebas Neue, Source Sans 3.
Tags: sports, one-column, two-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, template-editing, translation-ready, wide-blocks
Tested up to: 7.1
Requires PHP: 8.1
Version: 0.1.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: dawv

DAWV ist ein Fork von Ollie (C) 2026 Mike McAlister und steht unter der GNU GPL.
*/

/* ============================================================
   0  Eigene Tokens
   ============================================================ */

:root {
	/* Randabstand: 20 px mobil, 32 px Tablet, 48 px Desktop (Mockups 390 / 834 / 1440). */
	--dawv-rand: var(--wp--preset--spacing--20);
	/* Radien — Buttons/Kacheln 6, Karten 8, Panels 10, Chips Pille. */
	--dawv-radius-s: 6px;
	--dawv-radius-m: 8px;
	--dawv-radius-l: 10px;
	--dawv-radius-pill: 999px;
	/* Sektionsabstände (hell / dunkel), je Breite. */
	--dawv-sektion: var(--wp--preset--spacing--32);
	--dawv-band: var(--wp--preset--spacing--30);
	/* Breitenachse der Archivo für Versalien. */
	--dawv-wdth: 110;
}

@media (min-width: 600px) {
	:root {
		--dawv-rand: var(--wp--preset--spacing--32);
		--dawv-sektion: var(--wp--preset--spacing--44);
		--dawv-band: var(--wp--preset--spacing--44);
	}
}

@media (min-width: 1200px) {
	:root {
		--dawv-rand: var(--wp--preset--spacing--48);
		--dawv-sektion: var(--wp--preset--spacing--64);
		--dawv-band: var(--wp--preset--spacing--60);
	}
}

/* ============================================================
   1  Reset
   ============================================================ */

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body { margin: 0; text-rendering: optimizeLegibility; }

img,
video,
svg { max-width: 100%; height: auto; }

/*
 * Kein Abstand zwischen den Sektionen der obersten Ebene: jede Bühne bringt ihr
 * eigenes Padding mit, ein zusätzlicher blockGap würde helle Streifen zwischen
 * zwei dunklen Flächen erzeugen.
 */
.wp-site-blocks > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Sprunglink: erstes fokussierbares Element, sichtbar nur bei Fokus. */
.dawv-skip {
	position: absolute;
	left: var(--wp--preset--spacing--16);
	top: -100px;
	z-index: 100;
	padding: var(--wp--preset--spacing--12) var(--wp--preset--spacing--18);
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 700;
	text-transform: uppercase;
	border-radius: var(--dawv-radius-s);
}

.dawv-skip:focus { top: var(--wp--preset--spacing--16); outline: 2px solid var(--wp--preset--color--base); outline-offset: 2px; }

/* Fokus: 2 px Rot mit Abstand auf hell, Weiß auf dunkel. */
:focus-visible {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
}

.is-style-buehne-schwarz :focus-visible,
.dawv-header :focus-visible,
.dawv-footer :focus-visible,
.has-main-background-color :focus-visible,
.has-main-soft-background-color :focus-visible {
	outline-color: var(--wp--preset--color--base);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after { transition: none; animation: none; scroll-behavior: auto; }
}

/* ============================================================
   2  Typo-Skala — jede Stufe mit fester Familie und Zeilenhöhe
   ============================================================ */

.has-display-1-font-size,
.has-display-2-font-size,
.has-display-3-font-size,
.has-display-4-font-size,
.has-display-5-font-size,
.has-display-6-font-size,
.has-display-7-font-size,
.has-display-8-font-size {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-variation-settings: 'wdth' var(--dawv-wdth);
	letter-spacing: -0.025em;
	text-transform: uppercase;
	line-height: 1;
}

.has-display-1-font-size { --dawv-wdth: 114; line-height: 0.96; }
.has-display-2-font-size { --dawv-wdth: 112; }
.has-display-3-font-size { line-height: 1.02; letter-spacing: -0.02em; }
.has-display-4-font-size,
.has-display-5-font-size { --dawv-wdth: 108; letter-spacing: -0.015em; line-height: 1.02; }
.has-display-6-font-size,
.has-display-7-font-size { --dawv-wdth: 106; letter-spacing: -0.01em; line-height: 1.05; }
.has-display-8-font-size { --dawv-wdth: 104; letter-spacing: -0.01em; line-height: 1.1; }

.has-titel-xl-font-size,
.has-titel-l-font-size,
.has-titel-m-font-size,
.has-titel-s-font-size,
.has-titel-xs-font-size,
.has-titel-xxs-font-size {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
	line-height: 1.25;
}

.has-titel-xl-font-size { line-height: 1.15; }
.has-titel-s-font-size  { line-height: 1.15; }
.has-titel-xs-font-size { line-height: 1.2; }
.has-titel-xxs-font-size { line-height: 1.3; }

.has-ui-font-size,
.has-ui-s-font-size,
.has-label-font-size,
.has-label-s-font-size {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1.2;
}

.has-ui-font-size,
.has-ui-s-font-size { letter-spacing: 0.04em; }
.has-label-font-size,
.has-label-s-font-size { letter-spacing: 0.08em; }

.has-kicker-font-size,
.has-kicker-s-font-size,
.has-ziffer-xl-font-size,
.has-ziffer-l-font-size,
.has-ziffer-m-font-size,
.has-ziffer-s-font-size,
.has-ziffer-xs-font-size,
.has-ziffer-xxs-font-size {
	font-family: var(--wp--preset--font-family--ziffer);
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1;
}

.has-kicker-font-size   { letter-spacing: 0.16em; line-height: 1.3; }
.has-kicker-s-font-size { letter-spacing: 0.14em; line-height: 1.3; }

.has-lead-font-size,
.has-body-l-font-size,
.has-body-font-size,
.has-body-s-font-size,
.has-small-font-size,
.has-caption-font-size,
.has-caption-s-font-size,
.has-micro-font-size {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.has-lead-font-size    { font-weight: 600; line-height: 1.55; }
.has-body-l-font-size  { line-height: 1.7; }
.has-body-font-size    { line-height: 1.6; }
.has-body-s-font-size  { line-height: 1.55; }
.has-small-font-size   { line-height: 1.55; }
.has-caption-font-size { line-height: 1.5; }
.has-caption-s-font-size { line-height: 1.5; }
.has-micro-font-size   { line-height: 1.4; letter-spacing: 0.04em; }

strong,
b { font-weight: 700; }

/*
 * Stufenwechsel statt Interpolation.
 *
 * WordPress gibt die Preset-Klassen mit !important aus — eine Überschreibung per
 * Klasse würde verlieren. Deshalb bekommt die Preset-Variable selbst den Wert
 * einer anderen Stufe derselben Skala. Es entsteht kein neuer Zahlenwert.
 */

@media (max-width: 1199px) {
	:root {
		--wp--preset--font-size--display-1: 50px;
		--wp--preset--font-size--display-2: 40px;
		--wp--preset--font-size--display-3: 38px;
		--wp--preset--font-size--display-4: 32px;
		--wp--preset--font-size--display-5: 28px;
		--wp--preset--font-size--display-6: 24px;
		--wp--preset--font-size--display-7: 22px;
		--wp--preset--font-size--titel-xl: 24px;
		--wp--preset--font-size--ziffer-xl: 46px;
		--wp--preset--font-size--ziffer-l: 42px;
		--wp--preset--font-size--ziffer-m: 30px;
		--wp--preset--font-size--lead: 19px;
		--wp--preset--font-size--body-l: 17px;
	}

	.has-display-1-font-size { line-height: 0.98; }
}

@media (max-width: 599px) {
	:root {
		--wp--preset--font-size--display-1: 38px;
		--wp--preset--font-size--display-2: 32px;
		--wp--preset--font-size--display-3: 30px;
		--wp--preset--font-size--display-4: 26px;
		--wp--preset--font-size--display-5: 24px;
		--wp--preset--font-size--display-6: 22px;
		--wp--preset--font-size--display-7: 20px;
		--wp--preset--font-size--titel-xl: 21px;
		--wp--preset--font-size--ziffer-xl: 36px;
		--wp--preset--font-size--ziffer-l: 26px;
		--wp--preset--font-size--ziffer-m: 32px;
		--wp--preset--font-size--lead: 18px;
		--wp--preset--font-size--body-l: 16px;
	}

	.has-display-1-font-size { --dawv-wdth: 110; letter-spacing: -0.02em; }
	.has-display-3-font-size { line-height: 1.04; }
}

/* ============================================================
   3  Farben auf Flächen
   ============================================================ */

/*
 * Jede dunkle Fläche färbt ihre Überschriften ausdrücklich ein — theme.json gibt
 * h1–h6 eine eigene Farbe, und jede direkte Regel schlägt Vererbung.
 */
.is-style-buehne-schwarz,
.dawv-header,
.dawv-footer,
.has-main-background-color,
.has-main-soft-background-color {
	color: var(--wp--preset--color--text-dark);
}

.is-style-buehne-schwarz :is(h1, h2, h3, h4, h5, h6),
.dawv-header :is(h1, h2, h3, h4, h5, h6),
.dawv-footer :is(h1, h2, h3, h4, h5, h6),
.has-main-background-color :is(h1, h2, h3, h4, h5, h6),
.has-main-soft-background-color :is(h1, h2, h3, h4, h5, h6) {
	color: var(--wp--preset--color--base);
}

.is-style-buehne-schwarz a:not(.wp-block-button__link):not(.wp-element-button),
.has-main-background-color a:not(.wp-block-button__link):not(.wp-element-button),
.has-main-soft-background-color a:not(.wp-block-button__link):not(.wp-element-button) {
	color: var(--wp--preset--color--base);
}

.is-style-buehne-schwarz {
	background-color: var(--wp--preset--color--main);
	border-top: 1px solid var(--wp--preset--color--main-line);
	padding-block: var(--dawv-band);
}

.is-style-flaeche-papier {
	background-color: var(--wp--preset--color--tertiary);
	border-top: 1px solid var(--wp--preset--color--border-light);
	padding-block: var(--dawv-sektion);
}

.is-style-karte {
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--dawv-radius-m);
	padding: var(--wp--preset--spacing--22);
}

.is-style-hinweis-gold {
	border-left: 3px solid var(--wp--preset--color--gold);
	background-color: var(--wp--preset--color--gold-tint);
	padding: var(--wp--preset--spacing--18) var(--wp--preset--spacing--22);
	border-radius: 0 var(--dawv-radius-m) var(--dawv-radius-m) 0;
}

.is-style-kasten-gestrichelt {
	border: 1px dashed var(--wp--preset--color--border-light);
	background-color: var(--wp--preset--color--tertiary);
	border-radius: var(--dawv-radius-m);
	padding: var(--wp--preset--spacing--24);
}

/* Kicker: Bebas, Versalien, Tracking .16 em. */
.is-style-kicker,
.is-style-kicker-gold,
.is-style-kicker-grau {
	font-family: var(--wp--preset--font-family--ziffer);
	font-size: var(--wp--preset--font-size--kicker);
	font-weight: 400;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.3;
	color: var(--wp--preset--color--primary-accent);
	margin-bottom: var(--wp--preset--spacing--4);
}

.is-style-kicker-gold { color: var(--wp--preset--color--gold); }
.is-style-kicker-grau { color: var(--wp--preset--color--muted-dark); }

/* Textseite: Zwischentitel in gemischter Schreibung. */
.is-style-gemischt {
	text-transform: none;
	letter-spacing: 0;
	font-weight: 700;
	font-variation-settings: 'wdth' 100;
	line-height: 1.15;
}

/* Gewichtsklassen-Tabelle: zwei Spalten, Zeilen auf Linien. */
.wp-block-table.is-style-zwei-spalten table {
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--dawv-radius-m);
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}

.wp-block-table.is-style-zwei-spalten td,
.wp-block-table.is-style-zwei-spalten th {
	border: 0;
	border-top: 1px solid var(--wp--preset--color--border-light);
	padding: var(--wp--preset--spacing--14) var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--body-s);
	vertical-align: baseline;
}

.wp-block-table.is-style-zwei-spalten tr:first-child :is(td, th) { border-top: 0; }

.wp-block-table.is-style-zwei-spalten :is(td, th):first-child {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	color: var(--wp--preset--color--contrast);
	width: 230px;
}

.wp-block-details.is-style-kasten {
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: var(--dawv-radius-m);
	padding: var(--wp--preset--spacing--16) var(--wp--preset--spacing--20);
}

.wp-block-details.is-style-kasten summary {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.wp-block-details.is-style-kasten[open] summary { margin-bottom: var(--wp--preset--spacing--14); }

/* Fließtext auf Lesebreite. */
.entry-content > p,
.entry-content > ul,
.entry-content > ol { max-width: 760px; }

/* ============================================================
   4  Buttons
   ============================================================ */

.wp-block-button__link,
.wp-element-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border: 2px solid transparent;
	text-align: center;
	transition: background-color .15s, border-color .15s, color .15s;
}

.wp-block-button.is-style-sekundaer .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--contrast);
	border-color: var(--wp--preset--color--contrast);
	padding-top: 13px;
	padding-bottom: 13px;
}

.wp-block-button.is-style-sekundaer .wp-block-button__link:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* Auf Dunkel: Rahmen grau, Text weiß. */
.is-style-buehne-schwarz .wp-block-button.is-style-sekundaer .wp-block-button__link,
.has-main-background-color .wp-block-button.is-style-sekundaer .wp-block-button__link,
.has-main-soft-background-color .wp-block-button.is-style-sekundaer .wp-block-button__link {
	color: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--outline-dark);
	background: transparent;
}

.is-style-buehne-schwarz .wp-block-button.is-style-sekundaer .wp-block-button__link:hover,
.has-main-background-color .wp-block-button.is-style-sekundaer .wp-block-button__link:hover,
.has-main-soft-background-color .wp-block-button.is-style-sekundaer .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--base);
}

.wp-block-button.is-style-gold .wp-block-button__link {
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--main);
}

.wp-block-button.is-style-gold .wp-block-button__link:hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--main);
}

.wp-block-button.is-style-dunkel .wp-block-button__link {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	padding-top: 14px;
	padding-bottom: 14px;
	padding-left: var(--wp--preset--spacing--24);
	padding-right: var(--wp--preset--spacing--24);
}

.wp-block-button.is-style-dunkel .wp-block-button__link:hover {
	background: var(--wp--preset--color--main);
}

/* Textlink mit 2-px-Unterlinie (Sektionskopf). */
.wp-block-button.is-style-textlink .wp-block-button__link,
.wp-block-button.is-style-textlink-gold .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--primary-accent);
	border: 0;
	border-bottom: 2px solid var(--wp--preset--color--border-light);
	border-radius: 0;
	padding: 0 0 var(--wp--preset--spacing--4);
	min-height: 0;
}

.wp-block-button.is-style-textlink .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary);
	border-bottom-color: var(--wp--preset--color--primary);
}

.wp-block-button.is-style-textlink-gold .wp-block-button__link {
	color: var(--wp--preset--color--gold);
	border-bottom: 0;
	font-size: var(--wp--preset--font-size--ui-s);
	padding: 0;
}

.wp-block-button.is-style-textlink-gold .wp-block-button__link:hover { color: var(--wp--preset--color--base); }

/* Touchziel: der Textlink bleibt 44 px hoch treffbar. */
.wp-block-button.is-style-textlink .wp-block-button__link::after,
.wp-block-button.is-style-textlink-gold .wp-block-button__link::after {
	content: '';
	position: absolute;
	inset: -12px 0;
}

.wp-block-button.is-style-textlink .wp-block-button__link,
.wp-block-button.is-style-textlink-gold .wp-block-button__link { position: relative; }

@media (max-width: 599px) {
	.wp-block-buttons:not(.is-layout-flex) .wp-block-button,
	.wp-block-buttons.is-vertical .wp-block-button { width: 100%; }

	.wp-block-buttons.is-vertical .wp-block-button__link,
	.wp-block-buttons.dawv-mobil-voll .wp-block-button__link { width: 100%; }

	.wp-block-buttons.dawv-mobil-voll { flex-direction: column; }
	.wp-block-buttons.dawv-mobil-voll .wp-block-button { width: 100%; }
}

/* ============================================================
   5  Formulare (Kern-Elemente; Formularblock bringt eigenes CSS)
   ============================================================ */

input:not([type='checkbox']):not([type='radio']),
select,
textarea {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body-s);
	color: var(--wp--preset--color--contrast);
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--text-dark);
	border-radius: var(--dawv-radius-s);
	padding: 13px var(--wp--preset--spacing--14);
	min-height: 48px;
}

/* ============================================================
   6  Kopfzeile
   ============================================================ */

.dawv-header {
	background-color: var(--wp--preset--color--main);
	padding-top: var(--wp--preset--spacing--18);
	padding-bottom: var(--wp--preset--spacing--18);
}

.dawv-header > .wp-block-group { min-height: 46px; }

.dawv-header__rechts { gap: var(--wp--preset--spacing--30); }

@media (max-width: 1199px) {
	.dawv-header { padding-top: var(--wp--preset--spacing--16); padding-bottom: var(--wp--preset--spacing--16); }
	.dawv-header__rechts { gap: var(--wp--preset--spacing--14); }
}

@media (max-width: 599px) {
	.dawv-header { padding-top: var(--wp--preset--spacing--12); padding-bottom: var(--wp--preset--spacing--12); }
	/* Mobil sind die Social-Quadrate im Menü-Panel, nicht in der Zeile. */
	:root .dawv-header .dawv-header__social { display: none; }
}

/* ============================================================
   7  Fußzeile
   ============================================================ */

.dawv-footer {
	background-color: var(--wp--preset--color--main);
	border-top: 1px solid var(--wp--preset--color--main-line);
	padding-top: var(--wp--preset--spacing--52);
	padding-bottom: var(--wp--preset--spacing--34);
	color: var(--wp--preset--color--text-dark);
}

.dawv-footer__titel {
	color: var(--wp--preset--color--base);
	margin-bottom: var(--wp--preset--spacing--12);
}

.dawv-footer__unterzeile {
	color: var(--wp--preset--color--muted-dark);
	margin-top: var(--wp--preset--spacing--6);
}

.dawv-footer__unten a { color: var(--wp--preset--color--muted-dark); text-decoration: underline; text-underline-offset: 3px; }
.dawv-footer__unten a:hover { color: var(--wp--preset--color--base); }

.dawv-footer__unten {
	margin-top: var(--wp--preset--spacing--34);
	padding-top: var(--wp--preset--spacing--20);
	border-top: 1px solid var(--wp--preset--color--main-line);
	color: var(--wp--preset--color--secondary);
}

.dawv-footer .wp-block-columns { gap: var(--wp--preset--spacing--36); }

@media (max-width: 1199px) {
	.dawv-footer { padding-top: var(--wp--preset--spacing--34); padding-bottom: var(--wp--preset--spacing--26); }
	.dawv-footer .wp-block-columns { gap: var(--wp--preset--spacing--24); }
	/* Tablet: drei Spalten — die Sportseiten wandern ins Menü. */
	:root .dawv-footer .dawv-footer__sport { display: none; }
}

@media (max-width: 599px) {
	.dawv-footer { padding-top: var(--wp--preset--spacing--26); padding-bottom: var(--wp--preset--spacing--26); }
	:root .dawv-footer .dawv-footer__marke,
	:root .dawv-footer .dawv-footer__verband { display: none; }
	:root .dawv-footer .dawv-footer__wettkampf .dawv-footer__titel { display: none; }
	.dawv-footer__unten { margin-top: var(--wp--preset--spacing--18); padding-top: var(--wp--preset--spacing--14); }
}

/* ============================================================
   8  Seitenkopf (dunkler Titelbereich aller Unterseiten)
   ============================================================ */

.dawv-seitenkopf {
	background-color: var(--wp--preset--color--main);
	border-top: 1px solid var(--wp--preset--color--main-line);
	padding-top: var(--wp--preset--spacing--44);
	padding-bottom: var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--text-dark);
}

.dawv-seitenkopf :is(h1, h2, h3) { color: var(--wp--preset--color--base); }

.dawv-seitenkopf .dawv-vorspann { max-width: 62ch; }

.dawv-seitenkopf-schmal .wp-block-post-title,
.dawv-seitenkopf-schmal .dawv-vorspann { max-width: 760px; margin-left: auto; margin-right: auto; }

@media (max-width: 1199px) {
	.dawv-seitenkopf { padding-top: var(--wp--preset--spacing--34); padding-bottom: var(--wp--preset--spacing--30); }
}

@media (max-width: 599px) {
	.dawv-seitenkopf { padding-top: var(--wp--preset--spacing--26); padding-bottom: var(--wp--preset--spacing--22); }
}

/* Weiße Lesefläche unter dem Seitenkopf. */
.dawv-inhalt {
	padding-top: var(--wp--preset--spacing--48);
	padding-bottom: var(--wp--preset--spacing--64);
}

@media (max-width: 1199px) {
	.dawv-inhalt { padding-top: var(--wp--preset--spacing--32); padding-bottom: var(--wp--preset--spacing--40); }
}

@media (max-width: 599px) {
	.dawv-inhalt { padding-top: var(--wp--preset--spacing--20); padding-bottom: var(--wp--preset--spacing--28); }
}

/* ============================================================
   9  Beitragsbilder, Medien, Sonstiges
   ============================================================ */

.wp-block-post-featured-image img,
.wp-block-image img { border-radius: var(--dawv-radius-l); }
.wp-block-image.dawv-bild-schmal { width: 60%; margin-inline: auto; }
@media (max-width: 599px) { .wp-block-image.dawv-bild-schmal { width: 100%; } }

/* Beitragsbild ragt 24 px in den dunklen Kopf (News-Detail). */
:root .dawv-inhalt .dawv-bild-ueberlappt { margin-top: calc(-1 * var(--wp--preset--spacing--24)); }

@media (max-width: 1199px) { :root .dawv-inhalt .dawv-bild-ueberlappt { margin-top: calc(-1 * var(--wp--preset--spacing--20)); } }
@media (max-width: 599px) { :root .dawv-inhalt .dawv-bild-ueberlappt { margin-top: calc(-1 * var(--wp--preset--spacing--16)); } }

.wp-block-post-navigation-link a {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	text-transform: uppercase;
	font-size: var(--wp--preset--font-size--ui-s);
}

/* Inline-Code (Rabattcode). */
code {
	font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-light);
	border-radius: 4px;
	padding: 2px 8px;
}

/* Klassischer Bestandsinhalt (Beiträge ohne Blöcke): Bilder und Listen zähmen. */
.entry-content .wp-block-freeform img,
.entry-content > img { height: auto; }

/* ============================================================
   10  Vereinsseite: Rumpf mit Seitenspalte
   ============================================================ */

.dawv-vseite { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: var(--wp--preset--spacing--48); align-items: start; }
.dawv-seitenkopf-vereine { padding-top: var(--wp--preset--spacing--44); padding-bottom: var(--wp--preset--spacing--48); }

@media (max-width: 1199px) {
	.dawv-vseite { grid-template-columns: 1fr; gap: 0; }
	.dawv-vseite__seite, .dawv-vseite__seite > * { width: 100%; max-width: none; }
	.dawv-vseite__seite { order: 2; }
	.dawv-vseite__haupt { display: contents; }
	.dawv-vseite__haupt > .dawv-vfakten { order: 1; }
	.dawv-vseite__haupt > .dawv-vturniere { order: 3; }
	.dawv-seitenkopf-vereine { padding-top: var(--wp--preset--spacing--32); padding-bottom: var(--wp--preset--spacing--30); }
}

@media (max-width: 599px) {
	.dawv-seitenkopf-vereine { padding-top: var(--wp--preset--spacing--24); padding-bottom: var(--wp--preset--spacing--24); }
}

/* Versteckt bleibt versteckt — auch gegen display:grid/flex einzelner Klassen. */
:root [hidden] { display: none; }

/* ============================================================
   11  Kontaktseite: Formular links, Karten rechts
   ============================================================ */

.dawv-kontaktseite { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: var(--wp--preset--spacing--56); align-items: start; }
.dawv-hof__portrait img { border-radius: var(--dawv-radius-m); }

@media (max-width: 1199px) {
	.dawv-kontaktseite { grid-template-columns: 1fr; gap: var(--wp--preset--spacing--26); }
}

/* Textseiten: Zwischenüberschriften in gemischter Schreibung (Spezifikation §Textseite). */
.dawv-textseite__text :is(h2, h3) { text-transform: none; letter-spacing: 0; font-variation-settings: 'wdth' 100; }
.dawv-textseite__text h2 { font-size: var(--wp--preset--font-size--display-6); }
.dawv-textseite__text h3 { font-size: var(--wp--preset--font-size--titel-m); }

/* Textseiten: zweispaltige Tabelle (Gewichtsklassen), Aufklapper, Hinweiskasten — Spezifikation §Textseite. */
.dawv-textseite__text .dawv-tabelle-zweispaltig { margin: var(--wp--preset--spacing--18) 0 var(--wp--preset--spacing--20); }
.dawv-textseite__text .dawv-tabelle-zweispaltig table { border-collapse: separate; border-spacing: 0; border: 1px solid var(--wp--preset--color--border-light); border-radius: var(--dawv-radius-m); overflow: hidden; font-size: var(--wp--preset--font-size--body-s); }
.dawv-textseite__text .dawv-tabelle-zweispaltig td { border: 0; border-top: 1px solid var(--wp--preset--color--line-soft); padding: 14px 20px; vertical-align: top; }
.dawv-textseite__text .dawv-tabelle-zweispaltig tr:first-child td { border-top: 0; }
.dawv-textseite__text .dawv-tabelle-zweispaltig td:first-child { width: 230px; font-family: var(--wp--preset--font-family--display); font-weight: 700; color: var(--wp--preset--color--contrast); }
.dawv-textseite__text .dawv-tabelle-zweispaltig td:last-child { color: var(--wp--preset--color--contrast-soft); }
.dawv-textseite__text .wp-block-details { border: 1px solid var(--wp--preset--color--border-light); border-radius: var(--dawv-radius-m); padding: 0 var(--wp--preset--spacing--18); margin: var(--wp--preset--spacing--20) 0; }
.dawv-textseite__text .wp-block-details summary { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: var(--wp--preset--font-size--small); padding: var(--wp--preset--spacing--14) 0; cursor: pointer; }
.dawv-textseite__text .wp-block-details[open] summary { border-bottom: 1px solid var(--wp--preset--color--line-soft); }
.dawv-textseite__text .wp-block-details .dawv-tabelle-zweispaltig { margin-top: var(--wp--preset--spacing--14); }
.dawv-textseite__text .wp-block-buttons { margin-top: var(--wp--preset--spacing--24); }
@media (max-width: 599px) {
	.dawv-textseite__text .dawv-tabelle-zweispaltig td { display: block; padding: 10px 14px; }
	.dawv-textseite__text .dawv-tabelle-zweispaltig td:first-child { width: auto; padding-bottom: 0; }
	.dawv-textseite__text .dawv-tabelle-zweispaltig td:last-child { border-top: 0; }
}
