/*
Theme Name: AdipositasHilfe Deutschland
Theme URI: https://www.adipositas-selbsthilfe.de
Author: AdipositasHilfe Deutschland e.V.
Description: Barrierearmes Block-Theme (Full Site Editing) für die Webseite der AdipositasHilfe Deutschland e.V. Farben aus dem Vereinslogo, lokal eingebundene Schrift (DSGVO-konform), Muster für Startseite, Veranstaltungen, Kontakt, Spenden sowie Vorlagen für Impressum und Datenschutz.
Version: 1.0.3
Requires at least: 6.6
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ahd-theme
*/

/* ---------- Grundlagen ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.ahd-hauptteil > * { margin-block-start: 0; margin-block-end: 0; }

/* Vollbreite Abschnitte: Inhalt bündig zum Seitenrand halten */
.wp-block-group.ahd-vollbreit {
	padding-left: var(--wp--style--root--padding-left);
	padding-right: var(--wp--style--root--padding-right);
}
.wp-block-group.ahd-abschnitt {
	padding-top: clamp(4.5rem, 9vw, 8rem);
	padding-bottom: clamp(4.5rem, 9vw, 8rem);
}
.ahd-abschnitt > .alignwide,
.ahd-kopf > .alignwide,
.ahd-fuss > .alignwide {
	width: 100%;
	max-width: 75rem;
	margin-left: auto !important;
	margin-right: auto !important;
}
.ahd-seite-kopf { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--40); }
.ahd-seite-inhalt { padding-bottom: var(--wp--preset--spacing--80); }
.wp-block-post-content > .alignfull { margin-block: 0; }
.wp-block-post-content > .alignfull + * { margin-block-start: var(--wp--preset--spacing--60); }

/* ---------- Barrierefreiheit ---------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--tinte);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--wp--preset--color--weiss);
	border-radius: 2px;
}
.has-gruen-dunkel-background-color :focus-visible,
.has-gruen-tief-background-color :focus-visible {
	outline-color: var(--wp--preset--color--gelb);
	box-shadow: none;
}
.wp-element-button, .wp-block-button__link, .wp-block-search__button { min-height: 44px; }
/* Sichtbarer Hover-Zustand auch für Buttons mit Farb-Voreinstellung (z. B. Startseite) */
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- Kopfbereich ---------- */
.ahd-kopf {
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
	border-bottom: 4px solid var(--wp--preset--color--hellgruen);
}
.ahd-kopf .wp-block-site-logo img { height: auto; }
.wp-block-navigation a[aria-current="page"] {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: 0.4em;
	text-decoration-color: var(--wp--preset--color--gruen-dunkel);
}
.wp-block-navigation__responsive-container.is-menu-open { background-color: var(--wp--preset--color--weiss); }

/* ---------- Startseiten-Hero ---------- */
.ahd-hero {
	padding-top: clamp(4.5rem, 9vw, 8rem);
	padding-bottom: clamp(4.5rem, 9vw, 8rem);
}
.ahd-hero p { max-width: 38rem; }
.ahd-hero .wp-block-columns { align-items: center; gap: clamp(2rem, 5vw, 4rem); }
.ahd-hero-bild {
	margin: 0;
	background-color: var(--wp--preset--color--weiss);
	border-radius: 2.5rem 2.5rem 2.5rem 0.5rem;
	padding: clamp(0.75rem, 2vw, 1.5rem);
	box-shadow: 1rem 1rem 0 0 var(--wp--preset--color--hellgruen);
}
.ahd-hero-bild img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 875 / 859;
	object-fit: contain;
}
@media (max-width: 781px) {
	.ahd-hero-bild {
		max-width: 24rem;
		margin-left: auto;
		margin-right: auto;
		box-shadow: 0.6rem 0.6rem 0 0 var(--wp--preset--color--hellgruen);
	}
}

/* ---------- Karten, Termine, Hinweise ---------- */
.ahd-karte {
	background-color: var(--wp--preset--color--hellgruen-blass);
	border-radius: 2rem 2rem 2rem 0.25rem;
	padding: clamp(1.75rem, 3vw, 2.75rem);
	height: 100%;
}
.ahd-karte > :first-child { margin-top: 0; }
.ahd-termin {
	border-top: 4px solid var(--wp--preset--color--hellgruen);
	padding-top: var(--wp--preset--spacing--40);
	padding-bottom: var(--wp--preset--spacing--40);
}
.ahd-hinweis {
	border-left: 6px solid var(--wp--preset--color--gruen);
	background-color: var(--wp--preset--color--hellgruen-blass);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
}
.ahd-hinweis > :first-child { margin-top: 0; }
.ahd-hinweis > :last-child { margin-bottom: 0; }

/* ---------- Inhalte ---------- */
.wp-block-post-featured-image img { border-radius: 0.5rem; }
.wp-block-quote { border-left: 6px solid var(--wp--preset--color--hellgruen); padding-left: var(--wp--preset--spacing--50); }
.wp-block-separator { border-color: var(--wp--preset--color--hellgruen); border-width: 0 0 4px 0; opacity: 1; }
.wp-block-search__input {
	border: 2px solid var(--wp--preset--color--tinte);
	border-radius: 0.5rem;
	padding: 0.7rem 0.9rem;
	min-height: 48px;
	font: inherit;
}
.wp-block-search__label { font-weight: 700; }
.wp-block-columns { gap: clamp(1.5rem, 3vw, 2.5rem); }
.wp-block-post-template.is-layout-grid { gap: var(--wp--preset--spacing--50); }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--60); }
.wp-block-query-pagination .page-numbers, .wp-block-query-pagination a { padding: 0.35rem 0.5rem; }

/* ---------- Fußbereich ---------- */
.ahd-fuss {
	padding-top: clamp(3.5rem, 6vw, 5rem);
	padding-bottom: clamp(2.5rem, 4vw, 3.5rem);
}
.ahd-fuss a, .ahd-fuss .wp-block-navigation a { color: var(--wp--preset--color--weiss); text-decoration: underline; }
.ahd-fuss a:hover, .ahd-fuss .wp-block-navigation a:hover { color: var(--wp--preset--color--gelb); }
.ahd-fuss p { margin-block: 0.5rem; }
