/*
Theme Name: ME.A
Theme URI: https://me-a.com
Description: GeneratePress-Child-Theme für ME.A. Setzt die Markenvorgaben (Source Serif 4, Inter, Farbpalette, Typo-Skala, Layout) site-weit. Benötigt das installierte Eltern-Theme GeneratePress.
Author: ME.A
Author URI: https://me-a.com
Template: generatepress
Version: 1.2.4
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mea
*/

/* =========================================================
   1. Schriften – lokal gehostet aus /fonts/ (DSGVO-konform,
      kein Abruf von Google-Servern)
   ========================================================= */

@font-face {
	font-family: 'Source Serif 4';
	src: url('fonts/source-serif-4-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Source Serif 4';
	src: url('fonts/source-serif-4-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Inter';
	src: url('fonts/inter-400.woff2') format('woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Inter';
	src: url('fonts/inter-500.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Inter';
	src: url('fonts/inter-600.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}

/* =========================================================
   2. Design-Tokens
   ========================================================= */

:root {
	--mea-bg: #FFFFFF;
	--mea-bg-alt: #F5F6F7;
	--mea-text: #15171B;
	--mea-text-secondary: #5A5E66;
	--mea-accent: #1A56A0;
	--mea-line: #E5E7EA;

	--mea-font-serif: 'Source Serif 4', Georgia, 'Times New Roman', serif;
	--mea-font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;

	--mea-content-width: 1140px;
	--mea-section-space: clamp(64px, 9vw, 112px);
	--mea-radius: 4px;
}

/* =========================================================
   3. Basis: Farben und Fliesstext
   ========================================================= */

body {
	background-color: var(--mea-bg);
	color: var(--mea-text);
	font-family: var(--mea-font-sans);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.65;
}

/* Sekundärer Text */
.mea-text-secondary,
.entry-meta,
.wp-block-post-date,
figcaption,
.wp-caption-text {
	color: var(--mea-text-secondary);
}

/* Links im Inhalt */
.entry-content a:not(.button):not(.wp-block-button__link) {
	color: var(--mea-accent);
	text-decoration: underline;
	text-decoration-color: var(--mea-line);
	text-underline-offset: 3px;
	transition: text-decoration-color 0.2s ease;
}

.entry-content a:not(.button):not(.wp-block-button__link):hover {
	text-decoration-color: var(--mea-accent);
}

/* =========================================================
   4. Typo-Skala
   ========================================================= */

h1, h2 {
	font-family: var(--mea-font-serif);
	font-weight: 600;
	color: var(--mea-text);
}

h1, .entry-title, .page-header h1 {
	font-size: clamp(35px, 2.5vw + 20px, 40px);
	line-height: 1.15;
}

h2 {
	font-size: 28px;
	line-height: 1.25;
}

h3, h4, h5, h6 {
	font-family: var(--mea-font-sans);
	font-weight: 600;
	color: var(--mea-text);
}

h3 {
	font-size: 20px;
	line-height: 1.4;
}

/* Kicker / Eyebrow – als Klasse auf Absatz oder Überschrift nutzbar */
.mea-kicker,
.eyebrow {
	display: block;
	font-family: var(--mea-font-sans);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 2px;
	text-transform: uppercase;
	color: var(--mea-accent);
	margin-bottom: 12px;
}

/* =========================================================
   5. Layout: Inhaltsbreite und Sektionsabstände
   ========================================================= */

.grid-container,
.site-content .content-area,
.entry-content > .wp-block-group.alignwide {
	max-width: var(--mea-content-width);
}

/* Volle Blockbreite bei Contained-Layout auf die Markenbreite begrenzen */
.entry-content > .alignfull > .wp-block-group__inner-container,
.wp-block-group.has-background .wp-block-group__inner-container {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
}

/* Großzügige vertikale Sektionsabstände – Klasse für Gruppen-Blöcke */
.mea-section,
.entry-content .wp-block-group.mea-section {
	padding-top: var(--mea-section-space);
	padding-bottom: var(--mea-section-space);
}

/* Alternative Sektionsfläche */
.mea-section-alt,
.has-flaeche-alternativ-background-color {
	background-color: var(--mea-bg-alt);
}

/* =========================================================
   6. Haarlinien und Ränder
   ========================================================= */

hr,
.wp-block-separator {
	border: 0;
	border-top: 1px solid var(--mea-line);
	background: none;
	height: auto;
}

.site-header {
	border-bottom: 1px solid var(--mea-line);
}

.site-footer {
	border-top: 1px solid var(--mea-line);
}

blockquote {
	border-left: 2px solid var(--mea-accent);
	color: var(--mea-text-secondary);
}

table, th, td {
	border-color: var(--mea-line);
}

/* Karten (z. B. GenerateBlocks-Container mit Klasse .mea-card) */
.mea-card {
	background-color: var(--mea-bg);
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-radius);
}

/* =========================================================
   7. Navigation
   ========================================================= */

.main-navigation,
.main-navigation .main-nav ul li a,
.menu-toggle {
	font-family: var(--mea-font-sans);
	font-weight: 500;
}

.main-navigation .main-nav ul li a {
	color: var(--mea-text);
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--mea-accent);
}

/* =========================================================
   8. Buttons
   ========================================================= */

.button,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
	font-family: var(--mea-font-sans);
	font-weight: 500;
	background-color: var(--mea-accent);
	color: #FFFFFF;
	border: 1px solid var(--mea-accent);
	border-radius: var(--mea-radius);
	padding: 12px 24px;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}

.button:hover,
.button:focus,
button:hover,
button:focus,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover,
.wp-block-button__link:focus {
	background-color: #15467F; /* Akzent, leicht abgedunkelt */
	border-color: #15467F;
	color: #FFFFFF;
}

/* Outline-Variante des Button-Blocks */
.wp-block-button.is-style-outline .wp-block-button__link {
	background-color: transparent;
	color: var(--mea-accent);
	border: 1px solid var(--mea-accent);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--mea-accent);
	color: #FFFFFF;
}

/* =========================================================
   9. Formulare
   ========================================================= */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="tel"],
input[type="search"],
input[type="number"],
textarea,
select {
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-radius);
	color: var(--mea-text);
	background-color: var(--mea-bg);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--mea-accent);
	outline: none;
}

/* =========================================================
   10. Politur-Schicht (v1.0.2)
   Realisiert die beabsichtigte Professional-Services-Optik:
   blauer Button, praesenterer Hero, gleich hohe Karten mit
   fixiertem CTA, ruhiger Rhythmus.
   ========================================================= */

/* --- Hero: mehr Hoehe, vertikal zentriert, lesbarer Verlauf --- */
.wp-block-cover.alignfull {
	min-height: min(70vh, 640px) !important;
	align-items: center;
}

/* Statt flacher Flaeche ein Verlauf von unten – Text bleibt lesbar,
   das Bild oben frei */
.wp-block-cover.alignfull > .wp-block-cover__background {
	background: linear-gradient(
		180deg,
		rgba(21, 23, 27, 0.15) 0%,
		rgba(21, 23, 27, 0.30) 45%,
		rgba(21, 23, 27, 0.65) 100%
	) !important;
	opacity: 1 !important;
}

.wp-block-cover.alignfull h1 {
	max-width: none;
	margin-inline: auto;
	text-shadow: 0 1px 24px rgba(21, 23, 27, 0.35);
	letter-spacing: -0.2px;
}

/* --- Button IMMER Akzentblau (schlaegt GeneratePress-Customizer) --- */
body .wp-block-button .wp-block-button__link.wp-element-button,
body .wp-block-button__link {
	background-color: var(--mea-accent);
	color: #FFFFFF;
	border-color: var(--mea-accent);
}

body .wp-block-button .wp-block-button__link.wp-element-button:hover,
body .wp-block-button__link:hover {
	background-color: #15467F;
	border-color: #15467F;
	color: #FFFFFF;
}

/* --- Kicker + Ueberschrift enger koppeln --- */
.mea-kicker {
	margin-bottom: 8px;
}
.mea-kicker + h2,
.mea-kicker + .wp-block-heading {
	margin-top: 0;
}

/* Einleitungssatz unter der H2 etwas ruhiger */
.mea-section > .wp-block-heading + p {
	color: var(--mea-text-secondary);
	max-width: 60ch;
}

/* --- Karten: gleiche Hoehe, CTA unten fixiert, dezenter Hover --- */
/* Nur Spalten, die eine Karte enthalten, werden Flex-Container
   (fuer gleiche Kartenhoehe). Spalten mit mehreren Elementen
   (z. B. Profil-Sektion) bleiben normale Stapel. */
.wp-block-column:has(> .mea-card) {
	display: flex;
}

.wp-block-column > .mea-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.mea-card:hover {
	border-color: #C9CDD3;
	box-shadow: 0 6px 24px rgba(21, 23, 27, 0.06);
	transform: translateY(-2px);
}

.mea-card > .wp-block-heading:first-child {
	margin-top: 0;
}

/* CTA-Absatz (mit Link) bekommt normalen Abstand nach dem Text.
   KEIN margin-top:auto mehr – das verursachte die Luecke unter der
   C-Level-Ueberschrift. */
.mea-card > p:last-child:has(a) {
	margin-top: 16px;
	margin-bottom: 0;
}

.mea-card a {
	color: var(--mea-accent);
	font-weight: 500;
	text-decoration: none;
}

.mea-card a::after {
	content: " \2192"; /* Pfeil rechts */
	transition: margin-left 0.2s ease;
}

.mea-card a:hover::after {
	margin-left: 4px;
}

/* --- Etwas Luft zwischen Karten --- */
.wp-block-columns {
	gap: 28px;
}

/* =========================================================
   11. Zentrierung & Rhythmus (v1.0.3) — Kernfix
   Ursache des Links-Klebens: Inhalt war breitenbegrenzt, aber
   nicht mittig. Hier wird alles sauber zentriert; alignfull
   bricht weiterhin randlos aus, sein Innenraum bleibt aber
   auf 1140 px zentriert und mit Seitenluft.
   ========================================================= */

/* Alle regulaeren Top-Level-Bloecke der Seite: mittig, 1140 px,
   IMMER mit 24 px Seitenluft – identisch zur Header-Zeile */
.entry-content > *:not(.alignfull) {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

/* Randlose Bloecke duerfen voll breit sein ... */
.entry-content > .alignfull {
	max-width: none;
	margin-left: auto;
	margin-right: auto;
}

/* ... ihr Innenraum wird aber zentriert und bekommt Seitenluft */
.entry-content > .alignfull > .wp-block-group__inner-container,
.entry-content > .alignfull > .wp-block-cover__inner-container {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* Seitenluft auf schmalen Viewports, damit nichts den Rand kuesst */
@media (max-width: 1180px) {
	.entry-content > *:not(.alignfull) {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* --- Hero-Feinschliff jetzt, wo er zentriert ist --- */
.wp-block-cover.alignfull h1 {
	max-width: 26ch;
}

/* --- Karten innen konsistent linksbuendig --- */
.mea-card {
	text-align: left;
}

/* Kopfzeilen-Balken (Site-Header) bekommt Marken-Haarlinie schon jetzt */
.site-header {
	border-bottom: 1px solid var(--mea-line);
}

/* =========================================================
   12. Karten- und Hero-Feinschliff (v1.0.4)
   ========================================================= */

/* Karteninhalt durchgehend linksbuendig – Ueberschrift und Text
   auf einer Kante, oben beginnend. Behebt "Titel zentriert, Text
   links". */
.mea-card,
.mea-card h1,
.mea-card h2,
.mea-card h3,
.mea-card .wp-block-heading,
.mea-card p {
	text-align: left;
}

.mea-card > .wp-block-heading:first-child,
.mea-card > h3:first-child {
	margin-top: 0;
	margin-bottom: 12px;
}

/* Hero-Titel: darf die volle Textbreite nutzen, sitzt aber nicht
   am Rand */
.wp-block-cover.alignfull .wp-block-cover__inner-container {
	width: 100%;
}

/* =========================================================
   13. v1.1.0 – Uebertrag der abgenommenen Design-Vorschau
   Header (Wortmarke, Navigation, Dropdowns), Hero mit Logo,
   Faktenzeilen, Kontaktband, Karten-CTA, Scroll-Reveal.
   ========================================================= */

/* ---------- Header: klebend, Wortmarke gestapelt ---------- */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(8px);
}

.site-branding .main-title,
.site-branding .main-title a {
	font-family: var(--mea-font-sans);
	font-weight: 600;
	font-size: 17px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--mea-text);
	line-height: 1.2;
}

.site-branding .site-description {
	font-family: var(--mea-font-sans);
	font-size: 11px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--mea-text-secondary);
	text-align: center;
	margin: 3px 0 0;
}

/* ---------- Navigation und Dropdowns ---------- */
.main-navigation .main-nav ul li a {
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
}

.main-navigation ul ul {
	background: var(--mea-bg);
	border: 1px solid var(--mea-line);
	border-radius: var(--mea-radius);
	box-shadow: 0 12px 32px rgba(21, 23, 27, 0.10);
	width: 280px;
}

.main-navigation ul ul li a {
	font-size: 15px;
	font-weight: 400;
	padding: 10px 20px;
	color: var(--mea-text);
}

.main-navigation ul ul li a:hover {
	color: var(--mea-accent);
	background: var(--mea-bg-alt);
}

/* ---------- Hero ---------- */
.mea-hero .wp-block-cover__inner-container { width: 100%; }

.mea-hero-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(24px, 5vw, 72px);
	width: 100%;
}

.mea-hero-sub {
	color: rgba(255, 255, 255, 0.92);
	font-size: 18px;
	max-width: 52ch;
	margin-top: 18px;
}

.mea-hero .wp-block-buttons { margin-top: 28px; }

/* Ghost-Button (Outline) auf dem Hero: weiss */
.mea-hero .is-style-outline .wp-block-button__link {
	background: rgba(255, 255, 255, 0.10);
	color: #FFFFFF;
	border: 1px solid rgba(255, 255, 255, 0.55);
}

.mea-hero .is-style-outline .wp-block-button__link:hover {
	background: rgba(255, 255, 255, 0.22);
	border-color: rgba(255, 255, 255, 0.75);
	color: #FFFFFF;
}

/* Logo rechts vom Titel */
.mea-hero-logo { flex: none; margin: 0; }

.mea-hero-logo img {
	width: clamp(140px, 16vw, 210px);
	height: auto;
	filter: drop-shadow(0 4px 28px rgba(21, 23, 27, 0.30));
}

/* Handy: Stapel – Logo klein ueber dem Titel */
@media (max-width: 900px) {
	.mea-hero-row {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 22px;
	}
	.mea-hero-logo img { width: 104px; }
}

/* ---------- Faktenzeilen (Profil-Sektion) ---------- */
p.mea-fact {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 12px;
	align-items: baseline;
	padding: 14px 0;
	margin: 0;
	border-top: 1px solid var(--mea-line);
	color: var(--mea-text-secondary);
	font-size: 15px;
}

p.mea-fact:last-of-type { border-bottom: 1px solid var(--mea-line); }

p.mea-fact strong {
	font-family: var(--mea-font-serif);
	font-size: 24px;
	font-weight: 600;
	color: var(--mea-accent);
	line-height: 1.2;
}

/* ---------- Kontaktband ---------- */
.mea-band { text-align: center; }

.mea-band .wp-block-buttons {
	display: flex;
	justify-content: center;
	margin-top: 26px;
}

/* ---------- Karten: CTA unten buendig (wie Vorschau) ---------- */
.mea-card > p:last-child:has(a) {
	margin-top: auto;
	margin-bottom: 0;
	padding-top: 18px;
}

/* ---------- Scroll-Reveal ---------- */
.mea-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.mea-reveal.in {
	opacity: 1;
	transform: none;
}

.mea-card.mea-reveal { transition-delay: var(--d, 0s); }

@media (prefers-reduced-motion: reduce) {
	.mea-reveal { opacity: 1; transform: none; transition: none; }
}

/* =========================================================
   14. v1.1.1 – Zentrierungs-Wurzelfix
   Ursache des Links-Klebens: Sektion 5 begrenzte den Content-
   Bereich auf 1140 px ohne ihn zu zentrieren. Der Container
   wird freigegeben; die Mittelspalte entsteht pro Sektion.
   ========================================================= */

/* Content-Bereich nicht mehr kappen – Vollbreite gehoert der Seite */
.site-content .content-area {
	max-width: none;
}

/* Regulaere Bloecke: 1140 px, mittig, mit Seitenluft */
.entry-content > *:not(.alignfull) {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* Randlose Sektionen (z. B. Themen auf grauer Flaeche):
   Kinder in die zentrierte Mittelspalte setzen */
.entry-content > .alignfull.mea-section > * {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* Hero: Inhaltszeile zentriert in der Mittelspalte */
.mea-hero .wp-block-cover__inner-container {
	max-width: none;
	width: 100%;
	padding: 0;
}

.mea-hero-row {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
}

/* =========================================================
   15. v1.1.2 – Sprachumschalter im Menue (DE · EN)
   ========================================================= */

.main-navigation .main-nav ul li.lang-item a {
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--mea-text-secondary);
	padding-left: 8px;
	padding-right: 8px;
}

.main-navigation .main-nav ul li.lang-item.current-lang a {
	color: var(--mea-text);
	font-weight: 600;
}

.main-navigation .main-nav ul li.lang-item + li.lang-item::before {
	content: "\00B7";
	color: var(--mea-text-secondary);
	align-self: center;
}

/* =========================================================
   16. v1.1.3 – Header einzeilig
   Wortmarke bricht nicht mehr um; Menuepunkte kompakter,
   damit alles in eine Zeile passt.
   ========================================================= */

.site-branding .main-title,
.site-branding .main-title a {
	white-space: nowrap;
}

.main-navigation .main-nav ul li a {
	padding-left: 13px;
	padding-right: 13px;
}

/* Header-Zeile vertikal mittig ausrichten */
.site-header .inside-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
	gap: 24px;
}

@media (max-width: 768px) {
	.site-header .inside-header { flex-wrap: wrap; }
}

/* =========================================================
   17. v1.1.4 – Header endgültig einzeilig
   Menue als nicht umbrechende Zeile, kompaktere Punkte,
   breiterer Header-Container (1300 px, nur Kopfbereich).
   ========================================================= */

.site-branding { flex: none; }

/* Nur die oberste Menue-Ebene: eine Zeile, nie umbrechen.
   Untermenues (Dropdowns) bleiben unberuehrt. */
.main-navigation .main-nav > ul {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}

.main-navigation .main-nav ul li a {
	padding-left: 11px;
	padding-right: 11px;
}

/* =========================================================
   18. v1.1.5 – Hero-Kante und Anker-Scroll
   ========================================================= */

/* Cover-Block-Eigenpolsterung entfernen: Hero-Inhalt liegt auf
   derselben Linkskante wie alle Sektionen darunter */
.mea-hero.wp-block-cover {
	padding-left: 0;
	padding-right: 0;
}

/* Anker-Sprünge: sanft scrollen und vor dem klebenden Header
   stoppen (Header 76 px + Luft) */
html {
	scroll-behavior: smooth;
}

[id] {
	scroll-margin-top: 100px;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* =========================================================
   19. v1.1.6 – Footer gemaess Vorlage
   Haarlinie oben, Copyright links, Links rechts.
   ========================================================= */

.site-info {
	border-top: 1px solid var(--mea-line);
	padding: 26px 0;
	font-size: 14px;
	color: var(--mea-text-secondary);
}

.mea-footer {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
}

.mea-footer-copy { color: var(--mea-text-secondary); }

.mea-footer-links {
	display: inline-flex;
	gap: 22px;
}

.mea-footer-links a {
	color: var(--mea-text-secondary);
	text-decoration: none;
}

.mea-footer-links a:hover { color: var(--mea-accent); }

@media (max-width: 600px) {
	.mea-footer { justify-content: center; text-align: center; }
}

/* =========================================================
   20. v1.1.8 – Hero-Kante erzwungen + Profil-Abstand
   ========================================================= */

/* Hero-Inhalt exakt auf die Kante der Sektionen darunter:
   Cover-Eigenpolster hart auf 0, Mittelspalte uebernimmt die Luft */
.mea-hero.wp-block-cover,
.mea-hero.wp-block-cover > .wp-block-cover__inner-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Grosse Luecke Profil -> Meine Rollen verkleinern:
   Profilsektion bekommt keinen unteren Sektionsabstand */
.mea-section:has(.mea-fact) {
	padding-bottom: 0;
}

/* =========================================================
   21. v1.1.9 – Hero-Kante FINAL
   Cover-Block hat eigene Polsterung (padding) auf mehreren
   Ebenen. Alle Ebenen auf 0, dann exakt EINE Mittelspalte
   mit derselben Berechnung wie die Sektionen darunter.
   ========================================================= */

/* Alle vom Cover-Block gesetzten Innenabstaende neutralisieren */
.entry-content .mea-hero.wp-block-cover {
	padding: 0 !important;
}

.entry-content .mea-hero .wp-block-cover__inner-container {
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

/* Die Hero-Zeile ist jetzt die einzige Instanz, die einrueckt –
   identisch zu ".entry-content > *:not(.alignfull)" */
.entry-content .mea-hero .mea-hero-row {
	max-width: var(--mea-content-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box;
}

/* =========================================================
   22. v1.2.0 – Hero-Titel auf gleiche Kante wie Zeile+Buttons
   Nur die H1 im Hero war eingerueckt. Alle drei Elemente
   (Titel, Untertitel, Buttons) linksbuendig auf 0.
   ========================================================= */

.mea-hero .mea-hero-text > h1,
.mea-hero .mea-hero-text > .mea-hero-sub,
.mea-hero .mea-hero-text > .wp-block-buttons {
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	max-width: none !important;
	text-align: left !important;
}

.mea-hero .mea-hero-text {
	margin-left: 0 !important;
	padding-left: 0 !important;
}

/* =========================================================
   23. v1.2.4 – Header UND Inhalt auf identische Kante
   Beide Bereiche nutzen exakt dieselbe zentrierte Spalte
   (1140 px, 24 px Rand). Kein separater Bezugsrahmen mehr,
   der auseinanderlaufen koennte.
   ========================================================= */

/* Aeussere Container voll breit, ohne Eigenmasse */
.site-header .inside-header.grid-container,
.site-content .content-area,
.entry-content {
	max-width: none;
}

/* EINE gemeinsame Spalte fuer Header-Zeile und jeden regulaeren
   Inhaltsblock */
.site-header .inside-header,
.entry-content > *:not(.alignfull) {
	max-width: var(--mea-content-width);
	margin-left: auto;
	margin-right: auto;
	padding-left: 24px;
	padding-right: 24px;
	box-sizing: border-box;
}

/* Header-Zeile als Flex (Wortmarke links, Menue rechts) */
.site-header .inside-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: nowrap;
}
