/* ==========================================================================
   GM 1centforpeace – ergänzende Styles zum theme.json
   Farben kommen aus der Palette (theme.json), hier nur Kurzformen.
   ========================================================================== */
:root {
	--gm-ink: var(--wp--preset--color--contrast, #1E2B2F);
	--gm-blue: var(--wp--preset--color--accent-1, #1A5F7A);
	--gm-green: var(--wp--preset--color--accent-2, #3A7A22);
	--gm-green-dark: #2E621A;
	--gm-gold: var(--wp--preset--color--accent-3, #F0A800);
	--gm-gold-dark: #D99600;
	--gm-slate: var(--wp--preset--color--accent-4, #56646A);
	--gm-sand: var(--wp--preset--color--accent-5, #F6F4EE);
	--gm-line: rgba(30, 43, 47, 0.14);
	--gm-radius: 10px;
	--gm-ui: var(--wp--preset--font-family--manrope, system-ui, sans-serif);
	--gm-error: #B3261E;
}

/* ---------- Grundlagen ---------- */
html { -webkit-text-size-adjust: 100%; }
/* Literata hat bereits Normalziffern; ihre „1“ hat aber eine kleine Fahne und sieht
   einem „I“ ähnlich. lining-nums hilft nur der Ersatzschrift (Georgia), solange
   Literata lädt. Den Namen „1centforpeace“ in Theme-Texten setzt .gm-brand in Manrope. */
body { text-rendering: optimizeLegibility; font-variant-numeric: lining-nums; }
.gm-brand { font-family: var(--gm-ui); font-weight: 700; letter-spacing: -0.005em; }

/* Kein weißer Streifen zwischen Inhalt und dunklem Fußbereich */
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }
.gm-main:not(.gm-main--home) { padding-bottom: var(--wp--preset--spacing--70) !important; }

img, video { max-width: 100%; height: auto; }
embed, object, iframe { max-width: 100%; }
/* Eigene Videos/Audios ([video]-Shortcode) haben feste Breiten – auf dem Handy begrenzen */
.wp-video, .wp-audio-shortcode, .mejs-container { max-width: 100% !important; }

a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }

:where(.wp-site-blocks) :focus-visible {
	outline: 3px solid var(--gm-blue);
	outline-offset: 2px;
	border-radius: 2px;
}

::selection { background: #FBE3A6; color: var(--gm-ink); }

.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
/* Beim Fokus (Tastatur) wieder sichtbar machen – sonst blieb der Skip-Link
   „Zum Inhalt springen“ wegen „clip“ unsichtbar, obwohl er den Fokus hatte. */
.screen-reader-text:focus {
	clip: auto !important;
	clip-path: none !important;
	height: auto;
	width: auto;
	margin: 0;
	overflow: visible;
}
.skip-link.screen-reader-text:focus {
	display: block;
	top: 0.5rem;
	left: 0.5rem;
	z-index: 100000;
	padding: 0.8rem 1.2rem;
	background: var(--gm-ink);
	color: #fff;
	font-family: var(--gm-ui);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: underline;
	border-radius: 6px;
	outline: 3px solid var(--gm-gold);
	outline-offset: 2px;
}

.gm-nowrap { white-space: nowrap; }

/* Lange Wörter und Adressen dürfen umbrechen, statt auf dem Handy (320 px) seitlich
   überzustehen – z. B. „Kategorie: Leuchtturmnetzwerk“ oder eine lange SZ-Adresse
   in einem Auszug. Silbentrennung nur auf schmalen Bildschirmen und nur bei langen Wörtern. */
:where(h1, h2, h3, h4) { overflow-wrap: break-word; }
.wp-block-post-excerpt__excerpt { overflow-wrap: anywhere; }
@media (max-width: 600px) {
	:where(h1, h2, h3) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 10 4 4; }
}
/* Sehr schmale Handys (unter 360 px): Seitentitel etwas kleiner, damit lange Wörter
   wie „Leuchtturmnetzwerk“ ganz in eine Zeile passen. */
@media (max-width: 359.98px) {
	h1.wp-block-query-title, h1.gm-article__title, h1.gm-page__title { font-size: 1.625rem !important; }
}

.gm-eyebrow {
	font-family: var(--gm-ui);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gm-green);
	margin-bottom: 0.5rem !important;
}

.gm-lead {
	font-size: clamp(1.125rem, 1rem + 0.5vw, 1.3rem);
	line-height: 1.6;
}
/* Zeilenlänge nur im Startseiten-Kopf begrenzen. Auf der 404-Seite ist der
   Absatz direkt im Inhaltsbereich und soll bündig mit der Überschrift stehen
   (mit max-width: 38em ragte er dort links aus der Inhaltsspalte). */
.gm-hero .gm-lead { max-width: 38em; }

.gm-small-heading { font-size: 1.125rem !important; }

/* ---------- Buttons ---------- */
.wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }

.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--gm-ink);
	border: 2px solid var(--gm-green);
	padding: calc(0.8em - 2px) calc(1.4em - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: rgba(58, 122, 34, 0.1);
	color: var(--gm-ink);
	border-color: var(--gm-green-dark);
}

.gm-btn-gold > .wp-block-button__link {
	background: var(--gm-gold);
	color: var(--gm-ink);
}
.gm-btn-gold > .wp-block-button__link:hover,
.gm-btn-gold > .wp-block-button__link:focus-visible {
	background: var(--gm-gold-dark);
	color: var(--gm-ink);
}

/* ---------- Kopfbereich ---------- */
.gm-header {
	border-bottom: 1px solid var(--gm-line);
	position: relative;
	z-index: 50;
}
.gm-header__row { min-height: 4rem; }
.gm-header .gm-logo { flex-shrink: 0; margin: 0; }
.gm-header .gm-logo img {
	width: clamp(100px, 24vw, 150px) !important;
	height: auto !important;
	display: block;
}
.gm-header__actions { flex-shrink: 1; min-width: 0; }

/* Hauptnavigation (Desktop) */
.gm-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding: 0.5rem 0;
}
.gm-nav .wp-block-navigation-item__content { text-underline-offset: 0.35em; }
/* Aktueller Menüpunkt – und sein Hauptpunkt (z. B. „Themen“, wenn man in „Ethik“ ist).
   Unterstrich in dunklem Gold (#B07A00, 3,7:1 auf Weiß – als Zustandsanzeige mind. 3:1). */
.gm-nav .current-menu-item > .wp-block-navigation-item__content,
.gm-nav .wp-block-navigation-item__content[aria-current="page"],
.gm-nav .wp-block-navigation__container > .has-child:has(.current-menu-item, [aria-current="page"]) > .wp-block-navigation-item__content {
	color: var(--gm-blue);
	text-decoration: underline;
	text-decoration-color: #B07A00;
	text-decoration-thickness: 3px;
}
.gm-nav li.has-child { position: relative; }

/* Unter-Untermenüs (z. B. Themen › Beziehungen) am Desktop nach rechts öffnen:
   Die Leiste ist rechtsbündig, nach links liefen sie bei 1024–1150 px aus dem Bild. */
@media (min-width: 1024px) {
	.gm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left: 100% !important;
		right: auto !important;
	}
}

/* Menüpunkte ohne eigene Seite (z. B. „Themen“): ganzer Text öffnet das Untermenü */
.gm-nav .wp-block-navigation-item.has-child:has(> a.wp-block-navigation-item__content:not([href])) > .wp-block-navigation-submenu__toggle::after {
	content: "";
	position: absolute;
	inset: 0;
}
.gm-nav a.wp-block-navigation-item__content:not([href]) { cursor: pointer; }
/* Tastatur-Fokus bei diesen Punkten um den ganzen Eintrag („Themen ⌄“) statt nur
   um den 10 px kleinen Pfeil zeichnen – so ist klar sichtbar, wo man gerade ist. */
.gm-nav .wp-block-navigation-item.has-child:has(> a.wp-block-navigation-item__content:not([href])) > .wp-block-navigation-submenu__toggle:focus-visible {
	outline: none;
}
.gm-nav .wp-block-navigation-item.has-child:has(> a.wp-block-navigation-item__content:not([href])) > .wp-block-navigation-submenu__toggle:focus-visible::after {
	outline: 3px solid var(--gm-blue);
	outline-offset: 2px;
	border-radius: 4px;
}

.gm-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--base, #fff) !important;
	color: var(--gm-ink) !important;
	border: 1px solid var(--gm-line) !important;
	border-radius: var(--gm-radius);
	box-shadow: 0 14px 34px rgba(30, 43, 47, 0.14);
	padding: 0.5rem 0 !important;
	min-width: 16rem !important;
	font-weight: 500;
}
.gm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 1.1rem !important;
	font-size: 1rem;
}
.gm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:not(:last-child) { margin-bottom: 0 !important; }
/* Pfeil-Knöpfe der Untermenüs (Menüleiste ab 1024 px): Klickfläche 24 × 24 px statt
   10 × 10 px (WCAG 2.5.8 Zielgröße), der Pfeil selbst bleibt klein und sitzt mittig.
   Vorher ragte der Pfeil aus seinem Knopf heraus und stand in den aufgeklappten Listen
   auf dem Rand. Im Overlay (Handy/Tablet) blendet WordPress die Pfeile aus und zeigt
   alle Unterpunkte offen – dort ändert sich nichts. */
.gm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	padding: 0;
	margin-left: 0.125rem;
	border-radius: 4px;
}
.gm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-submenu__toggle svg {
	width: 0.625rem;
	height: 0.625rem;
	margin-top: 0;
}
.gm-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
	margin-right: 0.5rem;
}

/* Header-Suche: Symbol im Header, Eingabefeld klappt darunter auf */
.gm-header-search { position: relative; margin: 0; }
.gm-header-search .wp-block-search__inside-wrapper { border: 0 !important; padding: 0 !important; }
.gm-header-search .wp-block-search__button {
	background: transparent !important;
	color: var(--gm-ink) !important;
	border: 0 !important;
	border-radius: 6px;
	padding: 0.5rem !important;
	margin: 0 !important;
	line-height: 0;
}
.gm-header-search .wp-block-search__button:hover { background: var(--gm-sand) !important; }
.gm-header-search .wp-block-search__button svg { width: 1.5rem; height: 1.5rem; fill: currentColor; }
.gm-header-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	position: absolute;
	top: calc(100% + 0.75rem);
	right: 0;
	width: min(20rem, calc(100vw - 2rem)) !important;
	min-width: 0 !important;
	background: #fff;
	color: var(--gm-ink);
	border: 1px solid var(--gm-slate) !important;
	border-radius: 6px;
	padding: 0.7rem 0.9rem !important;
	box-shadow: 0 14px 34px rgba(30, 43, 47, 0.16);
	z-index: 60;
	font-size: 1rem;
}
.gm-header-search .wp-block-search__input:focus,
.gm-search-big .wp-block-search__input:focus {
	outline: 3px solid var(--gm-blue);
	outline-offset: 1px;
	border-color: var(--gm-blue) !important;
}
/* Handy/Tablet: Suchfeld über die ganze Breite unter dem Kopf
   (rechtsbündig am Symbol lief es auf dem Handy links aus dem Bild). */
@media (max-width: 1023.98px) {
	.gm-header-search { position: static; }
	.gm-header-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
		top: calc(100% - 0.25rem);
		left: clamp(1rem, 4vw, 2.5rem);
		right: clamp(1rem, 4vw, 2.5rem);
		width: auto !important;
		max-width: none;
	}
}

.gm-header-cta { flex-shrink: 0; }
.gm-header-cta .wp-block-button__link { padding: 0.6em 1.1em; font-size: 0.9375rem; }

/* Bis 1023 px: Menü-Symbol mit Overlay statt Menüleiste (Leiste braucht ca. 950 px) */
@media (min-width: 600px) and (max-width: 1023.98px) {
	.gm-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.gm-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
@media (max-width: 1023.98px) {
	.gm-header__actions > .gm-nav { order: 3; }
	.gm-header__actions { gap: 0.4rem !important; }
}
@media (max-width: 380px) {
	.gm-header-cta .wp-block-button__link { padding: 0.55em 0.75em; font-size: 0.875rem; }
}

.gm-nav .wp-block-navigation__responsive-container-open,
.gm-nav .wp-block-navigation__responsive-container-close {
	padding: 0.4rem;
	border-radius: 6px;
}
.gm-nav .wp-block-navigation__responsive-container-open svg,
.gm-nav .wp-block-navigation__responsive-container-close svg { width: 1.75rem; height: 1.75rem; }

/* Overlay-Menü (Handy/Tablet): linksbündig, Untermenüs eingerückt */
.gm-nav .wp-block-navigation__responsive-container.is-menu-open {
	--navigation-layout-justification-setting: flex-start;
	--navigation-layout-justify: flex-start;
	--navigation-layout-align: flex-start;
	padding: 1rem clamp(1rem, 5vw, 2.5rem) 2.5rem !important;
	text-align: left;
}
.gm-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.gm-nav .is-menu-open .wp-block-navigation__container,
.gm-nav .is-menu-open .wp-block-navigation-item,
.gm-nav .is-menu-open .wp-block-navigation__submenu-container {
	align-items: flex-start !important;
	justify-content: flex-start !important;
	text-align: left !important;
}
.gm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1.0625rem !important;
	font-weight: 600;
}
.gm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 1rem !important;
	font-weight: 500;
}
.gm-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 2.5rem !important;
	align-items: flex-start !important;
}
.gm-nav .is-menu-open .wp-block-navigation__container { gap: 0.9rem !important; width: 100%; }
.gm-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.gm-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font-size: 1.2rem;
	font-weight: 800;
}
.gm-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-left: 2px solid var(--gm-line) !important;
	border-radius: 0;
	box-shadow: none;
	padding: 0.25rem 0 0.25rem 1rem !important;
	margin-top: 0.4rem;
	min-width: 0 !important;
	gap: 0.35rem !important;
}
.gm-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.2rem 0 !important; }

/* ---------- Startseite ---------- */
.gm-hero__title {
	font-size: clamp(2.1rem, 1.3rem + 3vw, 3.4rem) !important;
	line-height: 1.1 !important;
	max-width: 16ch;
	margin-top: 0 !important;
}
.gm-hero__buttons { margin-top: 2rem !important; }
.gm-hero__coin img {
	width: min(300px, 60vw) !important;
	aspect-ratio: 1 / 1;
	height: auto;
	filter: drop-shadow(0 18px 30px rgba(120, 80, 0, 0.18));
}
@media (max-width: 781px) {
	.gm-hero__coin img { width: 140px !important; }
	.gm-hero__cols > .wp-block-column { flex-basis: auto !important; }
}

.gm-section__title {
	font-size: var(--wp--preset--font-size--x-large) !important;
	margin-bottom: 1.75rem !important;
}
.gm-section__title::after {
	content: "";
	display: block;
	width: 3rem;
	height: 4px;
	margin-top: 0.6rem;
	background: var(--gm-gold);
	border-radius: 2px;
}

.gm-card {
	background: #fff;
	border: 1px solid var(--gm-line);
	border-radius: 14px;
	padding: 1.25rem 1.25rem 1.4rem;
	display: flex;
	flex-direction: column;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.gm-card:hover { border-color: rgba(26, 95, 122, 0.45); box-shadow: 0 10px 26px rgba(30, 43, 47, 0.08); }
.gm-card .wp-block-query,
.gm-card .wp-block-post-template { margin: 0; padding: 0; list-style: none; }
.gm-card .wp-block-post-featured-image { margin: 0 0 1rem; }
.gm-card .wp-block-post-featured-image img { border-radius: 8px; }
.gm-card__title { font-size: 1.2rem !important; line-height: 1.3 !important; margin: 0 0 0.5rem !important; }
.gm-card .wp-block-post-excerpt { font-size: 1rem; margin-top: 0; }

/* ---------- Beitragslisten ---------- */
.gm-postlist .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.gm-postlist .wp-block-post-template > li { margin: 0; }
.gm-post-row {
	display: flex;
	align-items: flex-start;
	gap: clamp(1rem, 3vw, 2rem);
	padding: clamp(1.5rem, 3vw, 2.25rem) 0;
	border-bottom: 1px solid var(--gm-line);
}
.gm-postlist .wp-block-post-template > li:first-child .gm-post-row { padding-top: 0.5rem; }
.gm-post-row > * { margin-block-start: 0 !important; }
.gm-post-row__img { flex: 0 0 clamp(190px, 34%, 300px); margin: 0 !important; }
.gm-post-row__img img { border-radius: 8px; }
.gm-post-row__body { flex: 1 1 auto; min-width: 0; }
.gm-post-row__body > * { margin-block-start: 0 !important; }
.gm-post-row__title {
	font-size: var(--wp--preset--font-size--large) !important;
	line-height: 1.3 !important;
	margin: 0 0 0.35rem !important;
	overflow-wrap: break-word;
}
.gm-post-row__date { margin: 0 0 0.6rem !important; }
/* Markierung für angeheftete Beiträge („Hervorgehoben“) vor dem Datum */
.gm-badge {
	display: inline-block;
	margin-right: 0.5rem;
	padding: 0.05rem 0.55rem;
	border: 1px solid var(--gm-gold);
	border-radius: 999px;
	background: var(--gm-sand);
	color: var(--gm-ink);
	font-family: var(--gm-ui);
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.06em;
	line-height: 1.5;
	text-transform: uppercase;
}
.gm-post-row .wp-block-post-excerpt { margin: 0; }
@media (max-width: 640px) {
	.gm-post-row { flex-direction: column; align-items: stretch; }
	.gm-post-row__img { flex-basis: auto; width: 100%; }
}

.wp-block-post-excerpt__excerpt { margin: 0; }
.wp-block-post-excerpt__more-text { margin-top: 0.6rem !important; margin-bottom: 0; }
.wp-block-post-excerpt__more-link {
	font-family: var(--gm-ui);
	font-weight: 700;
	font-size: 1rem;
	color: var(--gm-blue);
	text-decoration: none;
}
.wp-block-post-excerpt__more-link::after { content: " →"; content: " →" / ""; } /* Pfeil wird nicht vorgelesen */
.wp-block-post-excerpt__more-link:hover { text-decoration: underline; }

.gm-pagination { margin-top: 2.5rem !important; gap: 0.4rem !important; flex-wrap: wrap; }
.gm-pagination a, .gm-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.6rem;
	min-height: 2.6rem;
	padding: 0 0.7rem;
	border: 1px solid var(--gm-line);
	border-radius: 6px;
	text-decoration: none;
	color: var(--gm-ink);
}
.gm-pagination a:hover { border-color: var(--gm-blue); color: var(--gm-blue); }
.gm-pagination .page-numbers.current { background: var(--gm-blue); border-color: var(--gm-blue); color: #fff; }
.gm-pagination .page-numbers.dots { border: 0; }
.wp-block-query-pagination-numbers { display: flex; gap: 0.4rem; flex-wrap: wrap; }

.gm-archive-head { margin-bottom: 2rem; }
.gm-archive-head .wp-block-query-title { margin: 0; }
.gm-archive-head .wp-block-term-description { margin-top: 0.75rem; }

/* ---------- Band unten auf der Startseite ---------- */
.gm-fms-logo img, .gm-footer-fms img {
	background: #fff;
	padding: 0.6rem 0.8rem;
	border-radius: 8px;
	display: inline-block;
}

/* ---------- Beitrag / Seite ---------- */
.gm-kicker {
	font-size: 0.875rem !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	/* 2.0 statt 1.6: Bei mehreren Kategorien über zwei, drei Zeilen (Handy) liegen
	   die kleinen Links sonst so dicht übereinander, dass man sie leicht verfehlt
	   (Zielgröße nach WCAG 2.5.8: mind. 24 px Abstand). */
	line-height: 2;
}
.gm-kicker .wp-block-post-terms__separator { color: var(--gm-slate); }
.gm-article__title, .gm-page__title {
	font-size: var(--wp--preset--font-size--xx-large) !important;
	margin-top: 0 !important;
	overflow-wrap: break-word;
	hyphens: auto;
}
.gm-meta { margin-top: 0.25rem !important; }
.gm-article__image { margin-top: 2rem !important; }
/* Beitragsbild auf Beitrags-/Seitenansicht: nie über seine echte Größe hinaus
   vergrößern (kleine Bilder wurden vorher auf 720 px aufgezogen und unscharf) und
   Hoch-/Quadratformate in der Höhe begrenzen – sonst begann der Text erst nach einer
   ganzen Bildschirmhöhe Bild. Es wird nichts abgeschnitten. */
.gm-article__image img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: min(75vh, 34rem);
	margin-inline: auto;
	object-fit: contain;
	border-radius: var(--gm-radius);
}

.gm-content { overflow-wrap: break-word; }
.gm-content a { overflow-wrap: anywhere; }
.gm-content :where(h2, h3, h4) { margin-top: 2.2em; }
.gm-content :where(ul, ol) { padding-left: 1.4em; }
.gm-content li { margin-top: 0.35em; }
.gm-content img { border-radius: 4px; }
.gm-content blockquote {
	margin-left: 0;
	margin-right: 0;
	padding: 0.25em 0 0.25em 1.25em;
	border-left: 4px solid var(--gm-gold);
	font-style: italic;
}
.gm-content hr { border: 0; border-top: 1px solid var(--gm-line); margin: 2.5em 0; }
.gm-content table { width: 100%; border-collapse: collapse; display: block; overflow-x: auto; font-size: 0.95em; }
.gm-content th, .gm-content td { border: 1px solid var(--gm-line); padding: 0.5em 0.75em; text-align: left; vertical-align: top; }
.gm-content pre { overflow-x: auto; }

/* Klassischer Editor: Bildausrichtung und Bildunterschriften */
.gm-content .alignleft { float: left; margin: 0.3em 1.5em 1em 0; max-width: 50%; }
.gm-content .alignright { float: right; margin: 0.3em 0 1em 1.5em; max-width: 50%; }
.gm-content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.gm-content img.aligncenter { margin-top: 0.5em; margin-bottom: 0.5em; }
.gm-content::after { content: ""; display: table; clear: both; }
.wp-caption { max-width: 100%; }
.wp-caption img { display: block; }
.wp-caption-text, .gallery-caption {
	font-family: var(--gm-ui);
	font-size: 0.875rem;
	line-height: 1.45;
	color: var(--gm-slate);
	margin-top: 0.5rem;
}
@media (max-width: 599px) {
	.gm-content .alignleft, .gm-content .alignright { float: none; margin: 1em auto; max-width: 100%; display: block; }
	.gm-content .wp-caption { width: auto !important; }
}

/* Klassische Galerie [gallery] */
.gm-content .gallery {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 0.75rem;
	margin: 1.5em 0 !important;
}
.gm-content .gallery .gallery-item { width: auto !important; max-width: none !important; margin: 0 !important; float: none !important; }
.gm-content .gallery img { border: 0 !important; width: 100%; height: auto; border-radius: 6px; }
.gm-content .gallery br { display: none; }

.gm-tags { margin-top: 2.5rem !important; font-size: 0.9375rem !important; color: var(--gm-slate); }

.gm-postnav {
	border-top: 1px solid var(--gm-line);
	padding-top: 1.5rem;
	gap: 1.25rem;
}
.gm-postnav > div { flex: 1 1 16rem; max-width: 100%; }
.gm-postnav a { text-decoration: none; color: var(--gm-ink); display: inline-block; }
.gm-postnav a:hover .post-navigation-link__title { text-decoration: underline; color: var(--gm-blue); }
.gm-postnav .post-navigation-link__label {
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gm-slate);
	margin-bottom: 0.2rem;
}
.gm-postnav .post-navigation-link__title { font-weight: 700; }

/* ---------- Suche ---------- */
/* Nur oben/unten Abstand setzen: Die seitlichen Ränder kommen vom Inhaltsbereich,
   damit die Suche bündig unter der Überschrift steht (vorher klebte sie bei
   breiten Bildschirmen am linken Seitenrand). Die Breite begrenzt der innere Rahmen. */
.gm-search-big { margin-top: 1.5rem !important; margin-bottom: 2.5rem !important; }
.gm-search-big .wp-block-search__inside-wrapper { max-width: 36rem; }
.gm-search-big .wp-block-search__input {
	border: 1px solid var(--gm-slate);
	border-radius: 6px;
	padding: 0.7rem 0.95rem;
	font-size: 1rem;
	min-width: 0;
}
.gm-search-big .wp-block-search__button {
	background: var(--gm-green);
	color: #fff;
	border: 0;
	border-radius: 6px;
	font-weight: 700;
	padding: 0.7rem 1.2rem;
	margin-left: 0.5rem;
}
.gm-search-big .wp-block-search__button:hover { background: var(--gm-green-dark); }

/* Linklisten auf der 404-Seite: beide Spalten gleich (Aufzählungspunkt, gleicher Einzug) */
main .gm-linklist,
main .gm-linklist.wp-block-latest-posts { list-style: disc; padding-left: 1.2em; margin-top: 0.75rem; }
main .gm-linklist li { margin-top: 0.4rem; }
main .gm-linklist li::marker { color: var(--gm-slate); }

/* Platzhaltertext in Eingabefeldern etwas kräftiger (6,1:1 statt 4,6:1) */
.wp-block-search__input::placeholder,
.evf-container input::placeholder,
.evf-container textarea::placeholder { color: var(--gm-slate); opacity: 1; }

/* ---------- Fußbereich ---------- */
.gm-footer {
	font-family: var(--gm-ui);
	font-size: 1rem;
	line-height: 1.6;
}
.gm-footer a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255, 255, 255, 0.45); }
.gm-footer a:hover { color: var(--gm-gold); text-decoration-color: currentColor; }
.gm-footer :focus-visible { outline-color: var(--gm-gold) !important; }
.gm-footer p { margin-top: 0 !important; margin-bottom: 0.9rem !important; }
.gm-footer-heading {
	font-size: 0.875rem !important;
	font-weight: 800 !important;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--gm-gold) !important;
	margin: 0 0 1rem !important;
}
.gm-footer-links { list-style: none; padding: 0; margin: 0; }
.gm-footer-links li { margin: 0 0 0.45rem; }
.gm-footer .gm-social { margin-top: 0.5rem; }
.gm-footer .gm-social .wp-social-link a { padding: 0.25rem; }
.gm-footer .gm-social .wp-social-link svg { width: 1.6rem; height: 1.6rem; }
.gm-footer .gm-btn-gold .wp-block-button__link { text-decoration: none; color: var(--gm-ink); }
.gm-footer .gm-btn-gold .wp-block-button__link:hover { color: var(--gm-ink); }
.gm-footer__bar {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
	font-size: 0.9375rem;
}
.gm-footer__bar p { margin: 0 !important; }
.gm-legal-links { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem 1.4rem; }
.gm-legal-links li { margin: 0 !important; }

/* ---------- 2-Klick-Platzhalter (gm-basis) passend zum Design ---------- */
body .gm-2klick {
	background: var(--gm-sand);
	border: 1px solid var(--gm-line);
	border-radius: 12px;
	color: var(--gm-ink);
	font-family: var(--gm-ui);
	/* Box darf höher werden als 16:9, wenn der Hinweistext es braucht
	   (sonst waren Text und Knopf „Inhalt laden“ auf dem Handy abgeschnitten). */
	overflow: visible;
	min-height: auto;
}
body .gm-2klick iframe { border-radius: inherit; }
.gm-band .gm-2klick { background: #fff; }
body .gm-2klick .gm-2klick-btn {
	background: var(--gm-green);
	color: #fff;
	border-radius: 6px;
	font-weight: 700;
	padding: 0.7em 1.3em;
	font-family: var(--gm-ui);
}
body .gm-2klick .gm-2klick-btn:hover { background: var(--gm-green-dark); }
body .gm-2klick a { color: var(--gm-blue); }

/* ---------- Kontaktformular (Everest Forms) ---------- */
.evf-container { max-width: 40rem; margin-top: 1.5rem; }
/* Everest setzt Innenabstände für mehrspaltige Formulare (15 px); bei einer Spalte
   standen die Felder dadurch eingerückt, der Senden-Knopf aber bündig. */
.evf-container .everest-form .evf-field-container { padding-left: 0; padding-right: 0; }
.evf-container .everest-form .evf-field-container .evf-frontend-row:not(.wp-list-table) { margin-left: 0; margin-right: 0; }
.evf-container .everest-form .evf-field-container .evf-frontend-row .evf-frontend-grid { padding-left: 0; padding-right: 0; }
.evf-container .everest-form .evf-field { margin-bottom: 1.25rem; padding: 0; }
.evf-container .everest-form .evf-field-label,
.evf-container .everest-form label.evf-field-label {
	display: block;
	font-family: var(--gm-ui);
	font-weight: 700;
	font-size: 1rem;
	color: var(--gm-ink);
	margin-bottom: 0.4rem;
}
.evf-container .everest-form abbr.required { color: var(--gm-error); text-decoration: none; border: 0; }
.evf-container .everest-form input.input-text,
.evf-container .everest-form input[type="text"],
.evf-container .everest-form input[type="email"],
.evf-container .everest-form input[type="tel"],
.evf-container .everest-form textarea,
.evf-container .everest-form select {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	background: #fff;
	color: var(--gm-ink);
	border: 1px solid var(--gm-slate);
	border-radius: 6px;
	padding: 0.7rem 0.9rem;
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	box-shadow: none;
	height: auto;
}
.evf-container .everest-form textarea { min-height: 10rem; resize: vertical; }
.evf-container .everest-form input:focus,
.evf-container .everest-form textarea:focus,
.evf-container .everest-form select:focus {
	outline: 3px solid var(--gm-blue);
	outline-offset: 1px;
	border-color: var(--gm-blue);
}
.evf-container .everest-form .evf-submit-container { padding: 0; margin-top: 0.5rem; }
.evf-container .everest-form button.everest-forms-submit-button,
.evf-container .everest-form .everest-forms-submit-button {
	background: var(--gm-green);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 0.85em 1.6em;
	font-family: var(--gm-ui);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	box-shadow: none;
}
.evf-container .everest-form .everest-forms-submit-button:hover { background: var(--gm-green-dark); color: #fff; }
.evf-container .everest-form .everest-forms-submit-button:focus-visible { outline: 3px solid var(--gm-blue); outline-offset: 3px; }
.evf-container .everest-form label.evf-error,
.evf-container .everest-form .evf-error { color: var(--gm-error); font-family: var(--gm-ui); font-size: 0.9rem; }
.evf-container .everest-form input.evf-error,
.evf-container .everest-form textarea.evf-error { border-color: var(--gm-error); }
.everest-forms-notice {
	border-radius: 8px;
	font-family: var(--gm-ui);
}
