/* OGV Bönnigheim – ergänzende Gestaltung zu theme.json.
   Farben aus dem Vereinslogo (Birne mit Rosen): Blattgrün #2F5A2C (Text/Knöpfe), Tannengrün #1D3A1B (dunkle Flächen),
   Rosenrot #A3283A (Fokus/Akzent, textfähig), Birnengelb #D9AE2E NUR für Linien/Deko (2,1:1 auf Weiß), Creme #FBF7EC.
   Schriften lokal: Lora (Überschriften), Source Sans 3 (Fließtext, Menü). Technische Basis: KOGL-OGV-Vorlagetheme 1.0.6 (Okt. 2026). */

:root {
	--ogv-radius: 14px;
	--ogv-radius-klein: 8px;
	--ogv-schatten: 0 18px 40px -26px rgba(29, 58, 27, .55);
	--ogv-schatten-leicht: 0 6px 18px -14px rgba(29, 58, 27, .5);
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }

/* ---------- Kopfbereich: bleibt beim Scrollen oben ---------- */
.ogv-kopf-bereich { position: sticky; top: 0; z-index: 100; }
.admin-bar .ogv-kopf-bereich { top: 32px; }
@media (max-width: 782px) { .admin-bar .ogv-kopf-bereich { top: 46px; } }
@media (max-width: 600px) { .admin-bar .ogv-kopf-bereich { top: 0; } }
/* Glaseffekt auf ::before – backdrop-filter direkt am Kopf macht ihn zum Containing Block
   des mobilen Vollbild-Menüs (position: fixed) und sperrt es auf die Kopfhöhe ein (18.10.2026). */
.ogv-kopf {
	position: relative;
	isolation: isolate;
	background: transparent !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
	box-shadow: 0 4px 20px -18px rgba(29, 58, 27, .7);
}
.ogv-kopf::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(255, 255, 255, .97);
}
@supports (backdrop-filter: blur(6px)) {
	.ogv-kopf::before { background: rgba(255, 255, 255, .9); backdrop-filter: blur(8px); }
}
.ogv-kopf__innen { gap: 1rem; }
.ogv-marke { min-width: 0; align-items: center; }
.ogv-marke .wp-block-site-logo { flex: 0 0 auto; line-height: 0; }
.ogv-marke .wp-block-site-logo img { width: 58px; height: auto; border-radius: 6px; }
.ogv-marke__name { margin: 0; white-space: nowrap; }
.ogv-marke__text { gap: 0 !important; }
.ogv-marke__zusatz { margin: 0 !important; font-size: .8125rem; color: var(--wp--preset--color--muted); letter-spacing: .02em; white-space: nowrap; }
.ogv-nav .wp-block-navigation-item__content { padding: .45rem .2rem; letter-spacing: .02em; }
.ogv-nav .wp-block-navigation__container { gap: .35rem 1.35rem; }
.ogv-nav .current-menu-item > .wp-block-navigation-item__content,
.ogv-nav .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--accent);
	text-decoration-thickness: 3px;
	text-underline-offset: .45em;
}
.ogv-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: var(--ogv-radius-klein);
	padding: .4rem 0;
	box-shadow: var(--ogv-schatten);
	min-width: 15rem !important;
}
.ogv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .55rem 1.1rem; font-weight: 500; }
.ogv-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--light); text-decoration: none; }
@media (max-width: 600px) {
	.ogv-marke__name { font-size: 1.05rem !important; }
	.ogv-marke__zusatz { display: none; }
	.ogv-marke .wp-block-site-logo img { width: 44px; }
}

/* ---------- Tastaturfokus sichtbar ---------- */
a:focus-visible,
button:focus-visible,
select:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible,
.wp-element-button:focus-visible {
	outline: 3px solid var(--wp--preset--color--rose);
	outline-offset: 2px;
	border-radius: 2px;
}
.ogv-fuss a:focus-visible,
.ogv-dunkel a:focus-visible,
.ogv-hero a:focus-visible { outline-color: #FFFFFF; }

/* ---------- Inhalt allgemein ---------- */
.ogv-main { padding-top: var(--wp--preset--spacing--50); }
.ogv-main--start { padding-top: 0; margin-top: 0 !important; }
.ogv-seitentitel { margin-top: 0; margin-bottom: var(--wp--preset--spacing--40); }
.ogv-seitentitel::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-top: .9rem;
	border-radius: 2px;
	background: var(--wp--preset--color--accent);
}
.ogv-seitentitel--bericht { margin-top: .5rem; }
.ogv-einleitung { font-size: 1.125rem; }
/* keine eigene max-width: im constrained-Layout würde sie zentriert und gegenüber dem Titel eingerückt */
.ogv-ueberzeile {
	margin: 0;
	font-family: var(--wp--preset--font-family--source-sans);
	font-size: .8125rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mid);
}
.ogv-abschnitt-titel { letter-spacing: 0; }
.ogv-inhalt img { border-radius: var(--ogv-radius-klein); height: auto; }
.ogv-inhalt .wp-block-gallery img { border-radius: 6px; }
.ogv-beitragsbild img { border-radius: var(--ogv-radius); }
.ogv-meta { gap: .5rem 1rem; align-items: center; }
.ogv-meta > * { margin: 0 !important; }
.ogv-themen { font-size: .8125rem; }
.ogv-themen a {
	display: inline-block;
	padding: .15rem .6rem;
	margin: 0 .25rem .25rem 0;
	border-radius: 999px;
	background: var(--wp--preset--color--light);
	color: var(--wp--preset--color--primary);
	text-decoration: none;
	font-weight: 600;
}
.ogv-themen a:hover { background: var(--wp--preset--color--primary); color: #FFFFFF; }
.ogv-themen .wp-block-post-terms__separator { display: none; }
.ogv-nachbarn { margin-top: var(--wp--preset--spacing--50); padding-top: var(--wp--preset--spacing--30); border-top: 1px solid var(--wp--preset--color--border); gap: 1rem 2rem; }
.ogv-zurueck { margin-top: var(--wp--preset--spacing--30); font-weight: 700; }
.wp-block-table table { background: var(--wp--preset--color--base); }
.wp-block-table th { background: var(--wp--preset--color--light); }
.wp-block-table td, .wp-block-table th { padding: .5rem .75rem; }

/* ---------- Titelbild der Startseite ---------- */
.ogv-hero.wp-block-cover { min-height: clamp(380px, 62vh, 640px) !important; padding: clamp(1.5rem, 5vw, 4rem) clamp(1rem, 4vw, 2rem); }
.ogv-hero .wp-block-cover__inner-container { max-width: 1200px; margin: 0 auto; width: 100%; }
.ogv-hero__titel {
	margin: 0 !important;
	font-weight: 600 !important;
	letter-spacing: 0;
	line-height: 1.1;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .35);
}
@media (max-width: 600px) {
	/* „Obst- und Gartenbauverein Bönnigheim“ muss in 390 px umbrechen können, ohne zu überlaufen */
	.ogv-hero__titel { font-size: clamp(1.9rem, 8.6vw, 2.6rem) !important; hyphens: auto; }
}
.ogv-hero__unterzeile { margin: 1rem 0 0 !important; font-size: clamp(1.05rem, 1.6vw, 1.3rem); max-width: 34rem; text-shadow: 0 1px 12px rgba(0, 0, 0, .45); }
.ogv-hero .wp-block-buttons { margin-top: 1.75rem; gap: .75rem; }
.ogv-hero .is-style-outline .wp-block-button__link {
	color: #FFFFFF;
	border: 2px solid #FFFFFF;
	background: rgba(29, 58, 27, .35);
}
.ogv-hero .is-style-outline .wp-block-button__link:hover { background: #FFFFFF; color: var(--wp--preset--color--primary); }

/* ---------- Abschnitte ---------- */
.ogv-abschnitt { padding-top: var(--wp--preset--spacing--70) !important; padding-bottom: var(--wp--preset--spacing--70) !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.ogv-abschnitt--sand { background: var(--wp--preset--color--sand); }
.ogv-dunkel { background: var(--wp--preset--color--primary); color: #FFFFFF; }
.ogv-dunkel h2, .ogv-dunkel h3, .ogv-dunkel .ogv-ueberzeile { color: #FFFFFF; }
.ogv-dunkel .ogv-ueberzeile { color: #DCE6D6; }
.ogv-dunkel a:not(.wp-element-button) { color: #FFFFFF; }
.ogv-dunkel .wp-block-button__link { background: #FFFFFF; color: var(--wp--preset--color--primary); }
.ogv-dunkel .wp-block-button__link:hover { background: var(--wp--preset--color--light); color: var(--wp--preset--color--hover); }
/* Karten im dunklen Abschnitt behalten ihre hellen Farben */
.ogv-dunkel .ogv-karte { color: var(--wp--preset--color--schrift); border-color: transparent; }
.ogv-dunkel .ogv-karte h3,
.ogv-dunkel .ogv-karte a:not(.wp-element-button) { color: var(--wp--preset--color--primary); }
.ogv-dunkel .ogv-karte .wp-block-post-date { color: var(--wp--preset--color--muted); }
.ogv-kopfzeile { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: .75rem 2rem; margin-bottom: var(--wp--preset--spacing--40) !important; }
.ogv-kopfzeile > * { margin: 0 !important; }
.ogv-kopfzeile h2 { letter-spacing: 0; }

/* Willkommen + Leitbild */
.ogv-willkommen__text { font-size: 1.125rem; }
.ogv-leitbild { gap: var(--wp--preset--spacing--40) !important; }
.ogv-leitbild > .wp-block-column {
	background: var(--wp--preset--color--base);
	border-radius: var(--ogv-radius);
	overflow: hidden;
	box-shadow: var(--ogv-schatten-leicht);
	display: flex;
	flex-direction: column;
}
.ogv-leitbild .wp-block-image { margin: 0; }
.ogv-leitbild .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 0; display: block; }
.ogv-leitbild__text { padding: 1.25rem 1.4rem 1.5rem; display: flex; flex-direction: column; flex: 1; }
.ogv-leitbild__text > * { margin-top: 0; }
.ogv-leitbild__text h3 { margin-bottom: .5rem; }
.ogv-leitbild__stichworte { color: var(--wp--preset--color--muted); font-size: .95rem; margin-bottom: 1rem; }
.ogv-leitbild__mehr { margin-top: auto !important; margin-bottom: 0; font-weight: 700; }
.ogv-leitbild-lang { margin-bottom: var(--wp--preset--spacing--40) !important; }
.ogv-leitbild-lang .wp-block-image img { border-radius: var(--ogv-radius); }
h2[id] { scroll-margin-top: 6rem; }

/* Bildschirmleser-Text (Blocktheme bringt ihn nicht für Inhalte mit) */
.screen-reader-text {
	border: 0; clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* ---------- Karten (Beiträge) ---------- */
.ogv-karte {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--ogv-radius);
	overflow: hidden;
	transition: box-shadow .2s ease, transform .2s ease;
}
.ogv-karte:hover { box-shadow: var(--ogv-schatten); transform: translateY(-3px); }
.ogv-karte__bild { margin: 0 !important; }
.ogv-karte__bild img { border-radius: 0 !important; }
.ogv-karte > .ogv-karte__text { margin-top: 0 !important; }
.ogv-karte__text { padding: 1.15rem 1.3rem 1.35rem; display: flex; flex-direction: column; gap: .5rem; flex: 1; }
.ogv-karte__text > * { margin: 0 !important; }
.ogv-karte__titel { line-height: 1.3; font-size: 1.2rem !important; }
.ogv-karte .wp-block-post-excerpt { display: flex; flex-direction: column; flex: 1; }
.ogv-karte .wp-block-post-excerpt__excerpt { margin: 0 0 .75rem; }
.ogv-karte .wp-block-post-excerpt__more-text { margin-top: auto; margin-bottom: 0; }
.wp-block-post-excerpt__more-link { font-weight: 700; }
/* Karten ohne Beitragsbild: gleich große Fläche mit Blatt-Zeichen, damit Text in jeder Reihe bündig beginnt */
.ogv-karte:not(:has(.wp-block-post-featured-image))::before {
	content: "";
	display: block;
	aspect-ratio: 3 / 2;
	background: var(--wp--preset--color--light) url("../images/platzhalter.svg") center / auto 38% no-repeat;
}
.ogv-karten .wp-block-post-template { gap: var(--wp--preset--spacing--40); }
@media (prefers-reduced-motion: reduce) {
	.ogv-karte { transition: none; }
	.ogv-karte:hover { transform: none; }
}

/* ---------- Filter (Unterthemen) ---------- */
.ogv-filter-nav { margin-bottom: var(--wp--preset--spacing--40) !important; }
.ogv-filter { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; }
.ogv-filter__knopf {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	min-height: 44px;
	box-sizing: border-box;
	padding: .45rem 1rem;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--lora);
	font-size: .875rem;
	font-weight: 600;
	text-decoration: none;
}
.ogv-filter__knopf:hover { border-color: var(--wp--preset--color--primary); background: var(--wp--preset--color--light); color: var(--wp--preset--color--hover); }
.ogv-filter__knopf.is-aktiv { background: var(--wp--preset--color--primary); border-color: var(--wp--preset--color--primary); color: #FFFFFF; }
.ogv-filter__zahl { font-size: .75rem; font-weight: 700; padding: .05rem .45rem; border-radius: 999px; background: var(--wp--preset--color--light); color: var(--wp--preset--color--primary); }
.ogv-filter__knopf.is-aktiv .ogv-filter__zahl { background: rgba(255, 255, 255, .2); color: #FFFFFF; }

/* ---------- Galerie-Übersicht ---------- */
.ogv-alben { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); gap: var(--wp--preset--spacing--40); }
.ogv-album__link {
	position: relative;
	display: block;
	border-radius: var(--ogv-radius);
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--wp--preset--color--light);
	color: #FFFFFF;
	text-decoration: none;
	box-shadow: var(--ogv-schatten-leicht);
}
.ogv-album__bild { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.ogv-album__bild--leer { background: var(--wp--preset--color--light) url("../images/platzhalter.svg") center / auto 35% no-repeat; }
.ogv-album__link:hover .ogv-album__bild { transform: scale(1.04); }
.ogv-album__text {
	position: absolute;
	inset: auto 0 0 0;
	padding: 2.5rem 1rem .9rem;
	display: flex;
	flex-direction: column;
	gap: .1rem;
	background: linear-gradient(to top, rgba(20, 36, 19, .88), rgba(20, 36, 19, 0));
}
.ogv-album__titel { font-family: var(--wp--preset--font-family--lora); font-weight: 600; font-size: 1.05rem; line-height: 1.3; color: #FFFFFF; }
.ogv-album__zahl { font-size: .85rem; color: #EAF0E5; }
@media (prefers-reduced-motion: reduce) { .ogv-album__bild { transition: none; } .ogv-album__link:hover .ogv-album__bild { transform: none; } }
.ogv-galerie.wp-block-gallery { gap: .6rem !important; }

/* ---------- Vorstand ---------- */
.ogv-personen { gap: var(--wp--preset--spacing--40) !important; }
.ogv-person { text-align: center; }
.ogv-person .wp-block-image img { width: 160px; height: 160px; object-fit: cover; border-radius: 50%; margin: 0 auto; box-shadow: var(--ogv-schatten-leicht); }
.ogv-person__amt { margin: .75rem 0 .1rem !important; font-family: var(--wp--preset--font-family--source-sans); font-size: .8125rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--mid); }
.ogv-person__name { margin: 0 !important; font-size: 1.25rem !important; }
.ogv-beirat { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); gap: .75rem; }
.ogv-beirat li { margin: 0; padding: .85rem 1rem; border-radius: var(--ogv-radius-klein); background: var(--wp--preset--color--light); font-weight: 600; color: var(--wp--preset--color--primary); }

/* ---------- Gruppen-Stile ---------- */
.is-style-karte {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--ogv-radius);
	padding: 1.4rem 1.5rem;
}
.is-style-hinweis {
	background: var(--wp--preset--color--light);
	border-left: 4px solid var(--wp--preset--color--accent);
	border-radius: var(--ogv-radius-klein);
	padding: 1rem 1.25rem;
}
.wp-block-columns > .wp-block-column > .is-style-karte:only-child { height: 100%; box-sizing: border-box; }

/* ---------- Termine (Plugin) in Vereinsfarben ---------- */
.ogv-termine {
	--ogv-akzent: var(--wp--preset--color--primary);
	--ogv-flaeche: var(--wp--preset--color--base);
	--ogv-rand: var(--wp--preset--color--border);
	--ogv-leise: var(--wp--preset--color--muted);
}
.ogv-termin { border-radius: var(--ogv-radius); }
.ogv-termin__datum { border-radius: 10px; font-family: var(--wp--preset--font-family--lora); }
.ogv-termin-details { background: var(--wp--preset--color--light); border-color: var(--wp--preset--color--border); border-radius: var(--ogv-radius); }
.ogv-termin-details dt { color: var(--wp--preset--color--primary); }
.ogv-termin-details__vorbei { color: var(--wp--preset--color--schrift); border-left: 4px solid var(--wp--preset--color--rose); padding-left: .6rem; }
.ogv-termine-leer { border-color: var(--wp--preset--color--border); color: var(--wp--preset--color--schrift); background: var(--wp--preset--color--base); border-radius: var(--ogv-radius); }
.ogv-termine-jahr__tabelle tr.is-vorbei td { color: var(--wp--preset--color--schrift); }
.ogv-termine-jahr__tabelle a { color: var(--wp--preset--color--primary); }

/* ---------- Startseite: Termine + Aktuelles nebeneinander, Knöpfe auf einer Linie ---------- */
.ogv-start-spalten { gap: var(--wp--preset--spacing--50) !important; }
.ogv-start-spalten > .wp-block-column { display: flex; flex-direction: column; }
.ogv-start-spalten > .wp-block-column > .wp-block-ogv-termine { flex: 1; }
.ogv-start-spalten > .wp-block-column > .wp-block-buttons { margin-top: 1.25rem; }

/* ---------- Kontaktformular (Plugin ogv-kontakt) ---------- */
.ogv-kontakt { display: grid; gap: 1rem; max-width: 40rem; }
.ogv-kontakt__feld { display: grid; gap: .35rem; }
.ogv-kontakt__feld label { font-weight: 700; font-size: .95rem; }
.ogv-kontakt__feld .ogv-kontakt__optional { font-weight: 400; color: var(--wp--preset--color--muted); }
.ogv-kontakt input[type="text"],
.ogv-kontakt input[type="email"],
.ogv-kontakt input[type="tel"],
.ogv-kontakt textarea {
	font: inherit;
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	padding: .65rem .85rem;
	border: 1px solid #77826F; /* 3,9:1 auf Weiß – Rahmen von Eingabefeldern (WCAG 1.4.11) */
	border-radius: var(--ogv-radius-klein);
	background: #FFFFFF;
	color: var(--wp--preset--color--schrift);
}
.ogv-kontakt textarea { min-height: 9rem; resize: vertical; }
.ogv-kontakt input:hover, .ogv-kontakt textarea:hover { border-color: var(--wp--preset--color--primary); }
.ogv-kontakt__einwilligung { display: flex; gap: .6rem; align-items: flex-start; font-size: .95rem; }
.ogv-kontakt__einwilligung input { width: 1.25rem; height: 1.25rem; margin-top: .2rem; flex: 0 0 auto; accent-color: var(--wp--preset--color--primary); }
.ogv-kontakt__senden { justify-self: start; border: 0; cursor: pointer; font: inherit; }
.ogv-kontakt__meldung { padding: .9rem 1.1rem; border-radius: var(--ogv-radius-klein); font-weight: 600; }
.ogv-kontakt__meldung--ok { background: var(--wp--preset--color--light); border-left: 4px solid var(--wp--preset--color--accent); color: var(--wp--preset--color--hover); }
.ogv-kontakt__meldung--fehler { background: #FBEDEF; border-left: 4px solid var(--wp--preset--color--rose); color: #6B1A26; }
.ogv-kontakt__fehlerliste { margin: .35rem 0 0; padding-left: 1.25rem; font-weight: 400; }
.ogv-kontakt__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

/* ---------- Fußbereich ---------- */
.ogv-fuss a { color: #FFFFFF; text-decoration-color: rgba(255, 255, 255, .45); }
.ogv-fuss a:hover { color: #FFFFFF; text-decoration-color: var(--wp--preset--color--accent); }
.ogv-fuss__marke {
	margin: 0 0 .75rem !important;
	font-family: var(--wp--preset--font-family--lora);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0;
	color: #FFFFFF;
}
.ogv-fuss__kopf {
	margin: 0 0 .75rem !important;
	font-family: var(--wp--preset--font-family--source-sans) !important;
	font-size: .8125rem !important;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #DCE6D6 !important;
}
.ogv-fuss__links { list-style: none; padding: 0; margin: 0; }
.ogv-fuss__links li { margin: 0 0 .4rem; }
.ogv-fuss__copyright {
	margin-top: var(--wp--preset--spacing--50) !important;
	padding-top: var(--wp--preset--spacing--30);
	border-top: 1px solid rgba(255, 255, 255, .18);
	color: #DCE6D6;
}

/* ---------- Seitennavigation der Listen ---------- */
.ogv-seiten { margin-top: var(--wp--preset--spacing--50); gap: .5rem; font-weight: 700; }
.ogv-seiten .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; box-sizing: border-box; padding: .35rem .7rem; border-radius: 999px; }
.ogv-seiten .page-numbers.current { background: var(--wp--preset--color--primary); color: #FFFFFF; }
.ogv-seiten a { min-height: 44px; display: inline-flex; align-items: center; }

/* ---------- Mobiles Menü (Overlay): linksbündige Liste, Untermenü eingerückt ---------- */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	align-items: flex-start !important;
	padding-top: 1.5rem;
	font-size: 1.125rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left;
	width: 100%;
	gap: .35rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: .45rem 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open .ogv-nav .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-left: 3px solid var(--wp--preset--color--accent) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-width: 0 !important;
	width: 100%;
	padding: 0 0 0 1rem !important;
	margin: 0 0 .25rem .15rem !important;
	align-items: flex-start !important;
	gap: 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-weight: 500;
	font-size: 1.0625rem;
	padding: .4rem 0 !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 1.25rem; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }

/* Kontakt: Adresskarte nur so hoch wie ihr Inhalt (Formular daneben ist viel länger) */
.ogv-kontakt-spalten { align-items: flex-start !important; }
.ogv-kontakt-spalten .is-style-karte { height: auto !important; }
@media (min-width: 782px) {
	.ogv-kontakt-spalten > .wp-block-column:last-child { position: sticky; top: 6rem; }
}

/* ---------- Beitrittsformular (Plugin ogv-beitritt) – nutzt die Formularstile von .ogv-kontakt ---------- */
.ogv-beitritt { max-width: 46rem; }
.ogv-beitritt fieldset { border: 1px solid var(--wp--preset--color--border); border-radius: var(--ogv-radius-klein); padding: 1rem 1.25rem 1.25rem; margin: 0; display: grid; gap: 1rem; }
.ogv-beitritt legend { padding: 0 .4rem; font-family: var(--wp--preset--font-family--lora); font-weight: 600; font-size: 1.125rem; color: var(--wp--preset--color--primary); }
.ogv-beitritt__zeile { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); }
.ogv-beitritt input[type="date"],
.ogv-beitritt select {
	font: inherit;
	width: 100%;
	box-sizing: border-box;
	min-height: 44px;
	padding: .55rem .85rem;
	border: 1px solid #77826F;
	border-radius: var(--ogv-radius-klein);
	background: #FFFFFF;
	color: var(--wp--preset--color--schrift);
}
.ogv-beitritt__art { display: grid; gap: .5rem; }
.ogv-beitritt__art label { display: flex; gap: .6rem; align-items: center; font-weight: 400; min-height: 32px; }
.ogv-beitritt__art input { width: 1.25rem; height: 1.25rem; accent-color: var(--wp--preset--color--primary); }
.ogv-kontakt__hinweis { margin: 0; font-size: .95rem; color: var(--wp--preset--color--muted); }

/* ---------- Bönnigheim: Startseite ---------- */
.ogv-hero .wp-block-cover__background { background: linear-gradient(100deg, rgba(20, 36, 19, .78) 0%, rgba(20, 36, 19, .45) 55%, rgba(20, 36, 19, .15) 100%) !important; opacity: 1 !important; }
.ogv-hero__ueberzeile { margin: 0 0 .75rem !important; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; font-size: .875rem; color: #F3E3A8; text-shadow: 0 1px 10px rgba(0, 0, 0, .4); }
.ogv-zahlen { gap: var(--wp--preset--spacing--40) !important; }
.ogv-zahl { border-top: 4px solid var(--wp--preset--color--accent); padding-top: .9rem; }
.ogv-zahl__wert { margin: 0 !important; font-family: var(--wp--preset--font-family--lora); font-size: clamp(2rem, 4vw, 2.75rem) !important; font-weight: 600; line-height: 1.1; color: var(--wp--preset--color--primary); }
.ogv-zahl__text { margin: .35rem 0 0 !important; color: var(--wp--preset--color--muted); }
.ogv-kacheln { gap: var(--wp--preset--spacing--40) !important; }
.ogv-kachel { height: 100%; box-sizing: border-box; border-top: 4px solid var(--wp--preset--color--accent) !important; }
.ogv-kachel h3 { margin-top: 0; }
.is-style-platzhalter { background: #FFF7DA; border-left: 4px solid var(--wp--preset--color--accent); padding: .75rem 1rem; border-radius: var(--ogv-radius-klein); }
.ogv-vorstand-tabelle td:first-child { font-weight: 600; color: var(--wp--preset--color--primary); width: 40%; }
/* Startseite „Eindrücke“: gleich große Kacheln trotz gemischter Hoch-/Querformate */
.ogv-start-spalten .wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; height: auto; }
/* Kopf zwischen Mobil-Overlay (600 px) und Desktop: 8 Menüpunkte in EINER Zeile halten (vorher zweizeilig bis 1279 px) */
@media (min-width: 600px) and (max-width: 1279px) {
	.ogv-nav .wp-block-navigation__container { gap: .2rem .85rem; }
	.ogv-nav { font-size: .9375rem !important; }
	.ogv-marke__zusatz { display: none; }
}
@media (min-width: 600px) and (max-width: 1179px) {
	.ogv-kopf__innen { flex-wrap: wrap !important; justify-content: center !important; row-gap: .35rem; }
	.ogv-nav .wp-block-navigation__container { gap: .15rem .7rem; justify-content: center; }
	.ogv-nav { font-size: .875rem !important; }
}
/* Sprungziel nach dem Absenden (#ogv-kontakt/#ogv-beitritt): Meldung nicht unter dem fixierten Kopf verstecken (Kalt-Review 21.10.2026) */
.ogv-kontakt-bereich { scroll-margin-top: 7rem; }
