/*
Theme Name: GM friedenmachtschule
Description: Ruhiges, gut lesbares Design für Frieden macht Schule e.V. Child-Theme von Twenty Twenty-Five, ohne Lizenz und ohne fremde Ressourcen (Schriften liegen lokal im Eltern-Theme).
Author: Verwaltung
Template: twentytwentyfive
Version: 1.0.3
Update URI: false
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: gm-fms
*/

/* ==========================================================================
   1. Grundlagen
   ========================================================================== */

:root {
	/*
	 * Markierung der aktuellen Seite im Menü: derselbe Farbton wie das Logo-Orange, aber dunkler,
	 * damit die Linie auf Weiß gut sichtbar ist (3,7 : 1 statt 2,1 : 1, WCAG 1.4.11).
	 */
	--gm-markierung: #b77800;
}

html {
	scroll-padding-top: 1rem;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	overflow-wrap: break-word;
}

/* Sichtbarer Fokus für alle bedienbaren Elemente (Tastatur). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-3);
	outline-offset: 3px;
	border-radius: 2px;
}

/* Links im Fließtext gut erkennbar unterstreichen. */
a:where(:not(.wp-element-button)) {
	text-underline-offset: 0.18em;
	text-decoration-thickness: 1px;
}

a:where(:not(.wp-element-button)):hover {
	text-decoration-thickness: 2px !important; /* Twenty Twenty-Five erzwingt sonst überall 1px. */
}

::selection {
	background: #fde3ad;
	color: var(--wp--preset--color--contrast);
}

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

/* Sprunglink „Zum Inhalt springen“ deutlich sichtbar, sobald er Fokus hat. */
.skip-link.screen-reader-text:focus {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent-3);
	font-weight: 600;
	outline: 3px solid var(--wp--preset--color--accent-3);
}

/* Nur für Screenreader sichtbar. */
.gm-sr-only {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Kleine Überzeile über Überschriften. */
.gm-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 600;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-3);
	margin-bottom: 0.25rem;
}

/* ==========================================================================
   2. Kopfbereich
   ========================================================================== */

.gm-kopf {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid #e6e2d6;
}

.gm-kopf-leiste {
	gap: 1.5rem;
	min-width: 0;
}

.gm-kopf .wp-block-site-logo {
	flex-shrink: 0;
	line-height: 0;
}

.gm-kopf .wp-block-site-logo img {
	height: auto;
	max-width: 100%;
}

.gm-kopf-aktionen {
	gap: 1.25rem;
	min-width: 0;
}

/* Spenden-Knopf: Logo-Orange mit dunkler Schrift (Kontrast 7,3 : 1). */
.gm-btn-spenden .wp-block-button__link {
	background-color: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--contrast);
}

/* Nur im Kopf etwas kompakter; im Band der Startseite ist er so groß wie die anderen Knöpfe. */
.gm-kopf .gm-btn-spenden .wp-block-button__link {
	padding: 0.55rem 1.15rem;
	font-size: 1rem;
	white-space: nowrap;
}

.gm-btn-spenden .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
}

/* Hauptnavigation */
.gm-hauptnav .wp-block-navigation__container {
	gap: 0.25rem 1.1rem;
}

.gm-hauptnav .wp-block-navigation-item__content {
	padding-block: 0.4rem;
}

.gm-hauptnav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	border-bottom: 3px solid transparent;
}

.gm-hauptnav .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.gm-hauptnav .wp-block-navigation__container > .current-menu-ancestor > .wp-block-navigation-item__content,
.gm-hauptnav .wp-block-navigation__container > .has-child:has(.current-menu-item) > .wp-block-navigation-item__content {
	border-bottom-color: var(--gm-markierung);
}

.gm-hauptnav .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--accent-3);
}

/*
 * Menüpunkt ohne eigene Seite (z. B. „Weitere Angebote“): Er öffnet nur sein Untermenü
 * und soll deshalb beim Darüberfahren nicht wie ein Link aussehen.
 */
.gm-hauptnav a.wp-block-navigation-item__content:not([href]) {
	cursor: default;
	color: inherit;
	text-decoration: none;
}

/*
 * Damit auch ein Klick oder Tipp auf den Text „Weitere Angebote“ das Untermenü öffnet
 * (nicht nur auf den kleinen Pfeil): Die Klickfläche des Pfeil-Knopfs wird unsichtbar über
 * den ganzen Menüpunkt gelegt. Für Screenreader bleibt es ein einziger Knopf mit Namen
 * „Untermenü von Weitere Angebote“. Im Handy-Menü sind die Untermenüs ohnehin offen.
 */
.gm-hauptnav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item:has(> a.wp-block-navigation-item__content:not([href])) > .wp-block-navigation-submenu__toggle::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2; /* über dem Menütext (WordPress gibt ihm z-index 1) */
	cursor: pointer;
}

/* Fokusrahmen der kleinen Pfeil-Knöpfe enger anlegen, damit er den Menütext nicht überdeckt. */
.gm-hauptnav .wp-block-navigation-submenu__toggle:focus-visible {
	outline-offset: 0;
}

/*
 * Pfeil-Knöpfe der Untermenüs (Desktop): Klickfläche 24 × 24 px statt 10 × 10 px
 * (WCAG 2.2, 2.5.8 „Zielgröße“). Das Pfeil-Symbol selbst bleibt klein.
 * Im geöffneten Handy-Menü blendet WordPress die Knöpfe aus – das bleibt so.
 */
.gm-hauptnav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-icon {
	width: 24px;
	height: 24px;
	margin-left: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px;
}

.gm-hauptnav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-icon svg {
	width: 10px;
	height: 10px;
	margin-top: 0;
}

/*
 * Links in neue Fenster/Tabs (andere Webseiten) mit kleinem Pfeil kennzeichnen.
 * Screenreader lesen statt des Pfeils „(neuer Tab)“ vor.
 */
.gm-hauptnav a[target="_blank"] .wp-block-navigation-item__label::after,
.gm-fuss a[target="_blank"]::after,
.gm-2klick-ext::after {
	content: "\00a0\2197";
	content: "\00a0\2197" / " (neuer Tab)";
	font-size: 0.85em;
}

/* Untermenüs (Desktop) */
.gm-hauptnav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border: 1px solid #e3ded2 !important;
	border-radius: 0.6rem;
	box-shadow: 0 12px 32px rgba(31, 39, 23, 0.12);
	padding: 0.5rem 0 !important;
	min-width: 17rem !important;
}

.gm-hauptnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.5rem 1.1rem !important;
	font-weight: 400;
	line-height: 1.35;
}

.gm-hauptnav .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	font-weight: 600;
	color: var(--wp--preset--color--accent-3);
}

/* Mobiles Overlay-Menü */
.gm-hauptnav .wp-block-navigation__responsive-container-open {
	padding: 0.45rem;
	margin-right: -0.45rem;
	border-radius: 0.4rem;
}

.gm-hauptnav .wp-block-navigation__responsive-container-open svg,
.gm-hauptnav .wp-block-navigation__responsive-container-close svg {
	width: 30px;
	height: 30px;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open {
	/* Im Overlay linksbündig lesen (auf dem Desktop steht das Menü rechts). */
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
	padding: clamp(1rem, 4vw, 2.5rem);
	text-align: left;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation__responsive-container-content, .wp-block-navigation__container, .wp-block-navigation__submenu-container, .wp-block-navigation-item) {
	align-items: flex-start !important;
	justify-content: flex-start;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	max-width: 36rem;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3rem;
	gap: 0.25rem;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 1rem;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--literata);
	font-weight: 600;
	font-size: 1.3rem;
	border-bottom: 0;
	padding-top: 0.5rem;
}

/* Aktuelle Seite auch im Overlay bei den Hauptpunkten kennzeichnen. */
.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-3);
	text-decoration: underline;
	text-decoration-color: var(--gm-markierung);
	text-decoration-thickness: 3px !important; /* Twenty Twenty-Five setzt 1px mit !important. */
	text-underline-offset: 0.3em;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: none;
	padding: 0 0 0 1rem !important;
	min-width: 0 !important;
	border-left: 2px solid var(--wp--preset--color--accent-2) !important;
	border-radius: 0;
}

.gm-hauptnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.3rem 0 !important;
	font-size: 1.0625rem;
}

/*
 * Das Hauptmenü hat sieben Punkte. Damit es nie in zwei Zeilen umbricht,
 * gilt das Overlay-Menü bis 1199 px Breite (WordPress-Standard: 599 px).
 */
/* Unter 1200 px: Spenden-Knopf vor das Menü-Symbol, damit das Symbol ganz rechts sitzt. */
@media (max-width: 1199px) {
	.gm-kopf .gm-btn-spenden-gruppe {
		order: -1;
	}
}

@media (min-width: 600px) and (max-width: 1199px) {
	.gm-kopf .gm-hauptnav .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}

	.gm-kopf .gm-hauptnav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
}

@media (max-width: 599px) {
	.gm-kopf .wp-block-site-logo img {
		width: 132px !important;
	}

	.gm-kopf-leiste {
		gap: 0.75rem;
	}

	.gm-kopf-aktionen {
		gap: 0.6rem;
	}

	.gm-kopf .gm-btn-spenden .wp-block-button__link {
		padding: 0.45rem 0.8rem;
		font-size: 0.95rem;
	}
}

@media (max-width: 359px) {
	.gm-kopf .wp-block-site-logo img {
		width: 112px !important;
	}
}

/* ==========================================================================
   3. Seitenkopf (Titelband auf Unterseiten)
   ========================================================================== */

.gm-seitenkopf {
	border-bottom: 1px solid #ebe6d9;
}

.gm-seitenkopf :where(.wp-block-post-title, .wp-block-query-title, h1) {
	margin-top: 0.5rem;
}

.gm-seitenkopf .wp-block-breadcrumbs {
	margin-bottom: 0;
}

.gm-seitenkopf .wp-block-post-date,
.gm-seitenkopf .wp-block-post-terms {
	margin-top: 0.75rem;
}

/* ==========================================================================
   4. Startseite
   ========================================================================== */

.gm-hero .wp-block-site-title {
	margin-top: 0.25rem;
	margin-bottom: 0;
}

.gm-hero .gm-lead {
	max-width: 36em;
	color: var(--wp--preset--color--contrast);
}

.gm-hero-bild {
	margin-top: var(--wp--preset--spacing--50);
}

.gm-hero-bild img {
	display: block;
	width: 100%;
	aspect-ratio: 5 / 1;
	object-fit: cover;
	object-position: 50% 35%;
	border-radius: 1rem;
}

@media (max-width: 781px) {
	.gm-hero-bild img {
		aspect-ratio: 5 / 2;
	}
}

/* Karten (Startseite und Unterseiten-Übersicht) */
.gm-karte {
	height: 100%;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	background: var(--wp--preset--color--accent-5);
	border: 1px solid #e9e3d6;
	border-radius: 0.9rem;
	padding: 1.4rem 1.5rem 1.5rem;
	border-top: 4px solid var(--wp--preset--color--accent-1);
	transition: box-shadow 0.2s ease;
}

.gm-karte:hover {
	box-shadow: 0 10px 28px rgba(31, 39, 23, 0.1);
}

/*
 * Die ganze Karte ist anklickbar (sie hebt sich beim Darüberfahren ja auch als Ganzes hervor).
 * Technisch bleibt es ein einziger Link – der Titel –, dessen Klickfläche die Karte ausfüllt.
 * Screenreader lesen also nur den Titel als Link vor.
 */
.gm-karte {
	position: relative;
}

.gm-karte :is(h2, h3) a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.gm-karte > * {
	margin-block: 0 !important;
}

.gm-karte :is(h2, h3) {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.3;
}

.gm-karte :is(h2, h3) a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.gm-karte :is(h2, h3) a:hover {
	color: var(--wp--preset--color--accent-3);
	text-decoration: underline;
}

.gm-karte p {
	font-size: 1.0625rem;
	line-height: 1.55;
}

.gm-karte .gm-karte-mehr {
	margin-top: auto !important;
	padding-top: 0.25rem;
	font-weight: 600;
}

.gm-kartenraster > * {
	margin-block: 0 !important;
}

.gm-kartenraster {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
	gap: 1.25rem;
}

@media (prefers-reduced-motion: reduce) {
	.gm-karte {
		transition: none;
	}
}

.gm-band .wp-block-column {
	min-width: 0;
}

.gm-iban {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

/* ==========================================================================
   5. Inhalte (alte Seiten aus dem klassischen Editor)
   ========================================================================== */

.wp-block-post-content img {
	max-width: 100%;
	height: auto;
}

.wp-block-post-content :where(img.aligncenter, .wp-caption.aligncenter) {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-block-post-content :where(img.alignleft, .wp-caption.alignleft) {
	float: left;
	margin: 0.3rem 1.5rem 1rem 0;
}

.wp-block-post-content :where(img.alignright, .wp-caption.alignright) {
	float: right;
	margin: 0.3rem 0 1rem 1.5rem;
}

.wp-block-post-content .wp-caption {
	max-width: 100%;
}

.wp-block-post-content .wp-caption-text {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-4);
	margin-top: 0.4rem;
}

@media (max-width: 599px) {
	.wp-block-post-content :where(img.alignleft, img.alignright, .wp-caption.alignleft, .wp-caption.alignright) {
		float: none;
		display: block;
		margin: 1rem auto;
	}
}

.wp-block-post-content::after {
	content: "";
	display: table;
	clear: both;
}

/* Lange Adressen (URLs als Linktext) dürfen umbrechen, damit nichts seitlich überläuft. */
.wp-block-post-content a {
	overflow-wrap: anywhere;
}

/*
 * Alte Inline-Farben aus dem Editor an die neue Farbpalette angleichen:
 * Orange (#ff6600) und Rot hatten auf Weiß zu wenig Kontrast, Dunkelblau passte nicht
 * zur Palette. Überschriften erben die Überschriftenfarbe, Links die Linkfarbe,
 * farbig hervorgehobener Fließtext wird Waldgrün.
 */
.wp-block-post-content [style*="color"]:not(a) {
	color: inherit !important;
}

.wp-block-post-content a[style*="color"] {
	color: var(--wp--preset--color--accent-3) !important;
}

.wp-block-post-content span[style*="#ff6600"]:not(:is(h1, h2, h3, h4, h5, h6) *):not(a *) {
	color: var(--wp--preset--color--accent-3) !important;
}

.wp-block-post-content span[style*="font-size: 14pt"] {
	font-size: 1.05em !important;
}

/* Kopierreste der Pinterest-Erweiterung („Merken“) nie anzeigen. */
.wp-block-post-content span[style*="8675309"] {
	display: none !important;
}

/* Leere Absätze und Überschriften nicht als Lücke zeigen. */
.wp-block-post-content > p:empty,
.wp-block-post-content :is(h1, h2, h3, h4, h5, h6):empty {
	display: none;
}

.wp-block-post-content ul,
.wp-block-post-content ol {
	padding-left: 1.4em;
}

.wp-block-post-content li + li {
	margin-top: 0.35em;
}

.wp-block-post-content :where(h2) {
	margin-top: 2.2em;
}

.wp-block-post-content :where(h3) {
	margin-top: 1.8em;
}

.wp-block-post-content :where(h4) {
	margin-top: 1.2em;
}

/*
 * Hochgestufte Überschriften (functions.php, Punkt 7: aus H3 wird H2 usw.)
 * behalten Größe und Abstand ihrer ursprünglichen Ebene.
 */
.wp-block-post-content :where(.gm-ebene-3) {
	margin-top: 1.8em;
}

.wp-block-post-content :where(.gm-ebene-4, .gm-ebene-5, .gm-ebene-6) {
	margin-top: 1.2em;
}

.wp-block-post-content .gm-ebene-3 {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.25;
}

.wp-block-post-content .gm-ebene-4 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: 1.25;
}

.wp-block-post-content .gm-ebene-5 {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 600;
	line-height: 1.25;
}

.wp-block-post-content .gm-ebene-6 {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	line-height: 1.25;
}

.wp-block-post-content > :where(h1, h2, h3, h4):first-child {
	margin-top: 0;
}

.wp-block-post-content table {
	width: 100%;
	border-collapse: collapse;
	display: block;
	overflow-x: auto;
}

.wp-block-post-content :where(th, td) {
	border: 1px solid #e3ded2;
	padding: 0.5rem 0.75rem;
}

.wp-block-post-content pre {
	white-space: pre-wrap;
	overflow-x: auto;
}

/* Gemeinsam genutzte 2-Klick-Hülle (gm-basis) an die Farben anpassen. */
.gm-2klick {
	box-sizing: border-box;
	border-radius: 0.75rem !important;
	background: var(--wp--preset--color--accent-5) !important;
	border-color: #e3ded2 !important;
	color: var(--wp--preset--color--contrast) !important;
}

.gm-2klick-btn {
	background: var(--wp--preset--color--accent-3) !important;
	color: var(--wp--preset--color--base) !important;
	font-family: inherit; /* Knöpfe erben die Schrift sonst nicht (Browser-Standard: Arial). */
	font-weight: 600;
	border-radius: 0.5rem !important;
}

.gm-2klick-btn:hover {
	background: var(--wp--preset--color--contrast) !important;
}

/*
 * Vor dem Laden darf der Platzhalter mit seinem Text wachsen. Die gemeinsame Regel aus gm-basis
 * (overflow: hidden + festes Seitenverhältnis) schnitt auf dem Handy (bis ca. 430 px Breite)
 * den Anfang des Hinweises und den Link „Direkt bei … öffnen“ ab. Auf breiten Bildschirmen
 * bleibt das Seitenverhältnis, nach dem Laden gilt wieder die gemeinsame Regel (iframe füllt die Box).
 */
.gm-2klick:not(:has(iframe)) {
	overflow: visible !important;
	min-height: auto !important;
}

/* Zitate und Trennlinien aus dem klassischen Editor wie die Block-Varianten zeigen. */
.wp-block-post-content blockquote:not(.wp-block-quote, .wp-block-pullquote blockquote, .wp-embedded-content) {
	margin: 1.75em 0;
	padding-left: var(--wp--preset--spacing--40);
	border-left: 4px solid var(--wp--preset--color--accent-1);
	font-family: var(--wp--preset--font-family--literata);
	font-size: var(--wp--preset--font-size--large);
	font-style: italic;
	line-height: 1.5;
}

.wp-block-post-content blockquote:not(.wp-block-quote, .wp-block-pullquote blockquote, .wp-embedded-content) cite {
	display: block;
	margin-top: 0.5em;
	font-family: var(--wp--preset--font-family--fira-sans);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	color: var(--wp--preset--color--accent-4);
}

.wp-block-post-content hr:not(.wp-block-separator) {
	border: 0;
	border-top: 1px solid color-mix(in srgb, currentColor 18%, transparent);
	margin: 2.5em 0;
}

/* ==========================================================================
   6. Unterseiten-Übersicht, Beitragslisten, Suche
   ========================================================================== */

.gm-unterseiten {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: var(--wp--preset--spacing--40);
	border-top: 1px solid #ebe6d9;
}

/* Seite ohne eigenen Text (reine Übersichtsseite): keine Trennlinie, kein Abstand. */
.gm-unterseiten.gm-unterseiten--allein {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

.gm-unterseiten--allein > h2 {
	margin-top: 0;
}

.gm-unterseiten .wp-block-post-template,
.gm-liste .wp-block-post-template {
	margin-top: 1.25rem;
}

.gm-beitrag {
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: 1px solid #ebe6d9;
}

.gm-beitrag .wp-block-post-featured-image img {
	border-radius: 0.75rem;
}

.gm-beitrag > * {
	margin-block-start: 0.5rem;
}

/* Vor/Zurück unter Beiträgen nur zeigen, wenn es dort auch Links gibt. */
.gm-beitragsnavigation:not(:has(a)) {
	display: none;
}

/* „Älterer Beitrag:“ / „Neuerer Beitrag:“ vor dem Titel etwas kräftiger. */
.gm-beitragsnavigation .post-navigation-link__label {
	font-weight: 600;
}

/* Der Link zum neueren Beitrag steht immer rechts – auch wenn er in eine eigene Zeile umbricht. */
.gm-beitragsnavigation .post-navigation-link-next {
	margin-left: auto;
	text-align: right;
}

/* Kategorie-, Schlagwort- und Vor/Zurück-Links: Klickfläche mindestens 24 px hoch (WCAG 2.5.8). */
.gm-beitragsnavigation a,
.wp-block-post-terms a {
	display: inline-block;
	padding-block: 0.25rem;
}

/* Linkliste auf der 404-Seite als echte Links erkennbar (WordPress setzt dort sonst „inherit“ mit hoher Spezifität). */
.gm-404-nav.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-3);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	padding-block: 0.15rem;
}

.gm-404-nav.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--contrast);
	text-decoration-thickness: 2px;
}

/* Linkliste auf der 404-Seite enger zusammen (vorher fast eine Leerzeile zwischen den Links). */
.gm-404-nav .wp-block-navigation__container {
	gap: 0.5rem;
}

/* Trennlinie unter einem Beitrag nur zeigen, wenn darunter auch Vor/Zurück-Links folgen. */
.gm-inhalt:has(> .gm-beitragsnavigation):not(:has(.gm-beitragsnavigation a)) > .wp-block-separator {
	display: none;
}

.wp-block-query-pagination {
	gap: 1rem;
	margin-top: var(--wp--preset--spacing--40);
}

/* Seitenzahlen: Abstand und ausreichend große Klickflächen (mind. 40 × 40 px). */
.wp-block-query-pagination-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.wp-block-query-pagination-numbers .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0 0.6rem;
	border-radius: 0.5rem;
	box-sizing: border-box;
}

.wp-block-query-pagination-numbers .page-numbers.current {
	background: var(--wp--preset--color--accent-5);
	border: 1px solid #e3ded2;
}

.wp-block-query-pagination-numbers .page-numbers.dots {
	min-width: 0;
	padding: 0 0.25rem;
}

.wp-block-search__input {
	border: 1px solid var(--wp--preset--color--accent-4);
	border-radius: 0.5rem;
	padding: 0.6rem 0.9rem;
	min-width: 0;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font-size: 1rem;
}

/*
 * Platzhaltertext im Suchfeld gut lesbar (Steingrau auf Weiß 6,9 : 1). Firefox blendet
 * Platzhalter sonst auf 54 % ab (nur 3,5 : 1).
 */
.wp-block-search__input::placeholder {
	color: var(--wp--preset--color--accent-4);
	opacity: 1;
}

.wp-block-search__button {
	margin-left: 0.5rem;
}

.wp-block-search__inside-wrapper {
	max-width: 100%;
}

/* ==========================================================================
   7. Fußbereich
   ========================================================================== */

.gm-fuss {
	color: var(--wp--preset--color--accent-5);
}

.gm-fuss a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--base);
}

.gm-fuss a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--accent-1);
}

.gm-fuss :where(a, button, input, summary):focus-visible {
	outline-color: var(--wp--preset--color--accent-1);
}

.gm-fuss h2 {
	color: var(--wp--preset--color--accent-1);
	font-size: 1.125rem;
	letter-spacing: 0.01em;
	margin-bottom: 0.75rem;
}

.gm-fuss p {
	font-size: 1rem;
	line-height: 1.6;
}

.gm-fuss .wp-block-columns {
	gap: 2rem 3rem;
}

/* Tablet: Fußbereich zweispaltig statt vier Blöcke untereinander. */
@media (min-width: 600px) and (max-width: 781px) {
	.gm-fuss .wp-block-columns {
		flex-wrap: wrap !important;
	}

	.gm-fuss .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column {
		flex-basis: calc(50% - 1.5rem) !important;
	}
}

.gm-fuss .wp-block-navigation .wp-block-navigation__container {
	gap: 0.35rem;
}

.gm-fuss .wp-block-navigation .wp-block-navigation-item__content {
	padding: 0.15rem 0;
	font-size: 1rem;
	font-weight: 400;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.4);
	text-underline-offset: 0.2em;
}

.gm-fuss .wp-block-navigation .wp-block-navigation-item__content:hover {
	text-decoration-color: currentColor;
}

.gm-fuss .gm-partnerlogo {
	display: inline-block;
	background: var(--wp--preset--color--base);
	border-radius: 0.6rem;
	padding: 0.5rem 0.8rem;
	line-height: 0;
	margin-top: 1rem;
}

.gm-fuss .gm-partnerlogo img {
	width: 150px;
	height: auto;
}

.gm-fuss .wp-block-social-links .wp-social-link {
	background: rgba(255, 255, 255, 0.12) !important;
	color: var(--wp--preset--color--base) !important;
}

.gm-fuss .wp-block-social-links .wp-social-link:hover {
	background: var(--wp--preset--color--accent-1) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.gm-fuss .wp-block-search__input {
	border-color: transparent;
}

.gm-fuss .wp-block-search__button {
	background: var(--wp--preset--color--accent-1);
	color: var(--wp--preset--color--contrast);
}

.gm-fuss .wp-block-search__button:hover {
	background: var(--wp--preset--color--base);
}

.gm-fuss-unten {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

/* Rechtliche Links mit deutlichem Abstand (die allgemeine Fuß-Regel oben ist spezifischer, daher hier verstärkt). */
.gm-fuss .gm-fuss-unten .wp-block-navigation .wp-block-navigation__container {
	gap: 0.4rem 1.5rem;
}

.gm-fuss-unten p,
.gm-fuss-unten .wp-block-navigation-item__content {
	font-size: var(--wp--preset--font-size--small) !important;
}

/* ==========================================================================
   8. Druck
   ========================================================================== */

@media print {
	.gm-kopf .wp-block-navigation,
	.gm-btn-spenden,
	.gm-fuss .wp-block-navigation,
	.gm-fuss .wp-block-search,
	.wp-block-breadcrumbs {
		display: none !important;
	}

	.gm-fuss {
		background: none !important;
		color: #000 !important;
	}
}
