/*
 * Headletic Webseite, Stufe 1: Grundlage
 *
 * Nur Werte aus hl-tokens.css, keine eigenen Farben. Was hier steht:
 * Bereichstöne, Grundgerüst, Grain und Licht, Schrift, Links, Knöpfe,
 * Fokus, Moduswechsel, Pflichthinweis, Elementor-Brücke.
 * Kopfzeile, Artikel, Übersicht und Startseite folgen in eigenen Stufen.
 */

/* ---------------------------------------------------------------------
 * Bereichstöne (aus .hl-l1/.hl-s1 der App, hier global)
 * ------------------------------------------------------------------ */
:root {
	--hl-ton-meditation: #8CC3B8;
	--hl-ton-meditation-tint: rgba(62, 122, 112, .22);
	--hl-ton-journal: #BBAACF;
	--hl-ton-journal-tint: rgba(139, 123, 160, .22);
	--hl-ton-training: var(--hl-gold-text);
	--hl-ton-training-tint: rgba(233, 162, 59, .16);
	--hl-ton-wissen: var(--hl-gold-text);
	--hl-ton-wissen-tint: rgba(155, 142, 126, .20);
	--hl-lesebreite: 36rem;
	--hl-radius-gross: 20px;
}
:root[data-theme="hell"] {
	--hl-ton-meditation: #2F6B61;
	--hl-ton-meditation-tint: rgba(62, 122, 112, .12);
	--hl-ton-journal: #6E5E86;
	--hl-ton-journal-tint: rgba(139, 123, 160, .14);
	--hl-ton-training-tint: rgba(233, 162, 59, .18);
	--hl-ton-wissen-tint: rgba(155, 142, 126, .16);
}
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) {
		--hl-ton-meditation: #2F6B61;
		--hl-ton-meditation-tint: rgba(62, 122, 112, .12);
		--hl-ton-journal: #6E5E86;
		--hl-ton-journal-tint: rgba(139, 123, 160, .14);
		--hl-ton-training-tint: rgba(233, 162, 59, .18);
		--hl-ton-wissen-tint: rgba(155, 142, 126, .16);
	}
}

/* ---------------------------------------------------------------------
 * Grundgerüst
 * ------------------------------------------------------------------ */
html { background: var(--hl-grund); -webkit-text-size-adjust: 100%; }

body,
button, input, select, textarea {
	font-family: var(--hl-sans);
}
body {
	position: relative;
	background: var(--hl-grund);
	color: var(--hl-text);
	font-size: var(--hl-t-basis);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}

/* GeneratePress-Flächen durchsichtig, damit der Grund und das Licht tragen */
.site, .site-header, .site-content, .inside-article, .separate-containers .inside-article,
.separate-containers .comments-area, .separate-containers .page-header,
.one-container .container, .separate-containers .paging-navigation,
.inside-page-header, .sidebar .widget, .site-footer, .site-info, .footer-widgets {
	background: transparent;
	color: inherit;
}

/* Film-Grain über der ganzen Seite */
body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: var(--hl-grain);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* Lichtschein oben rechts: dunkel als Blur, hell als warme Tönung */
body::before {
	content: "";
	position: absolute;
	top: -8rem;
	right: -10rem;
	width: 34rem;
	height: 34rem;
	border-radius: 50%;
	background: var(--hl-gold);
	filter: blur(60px);
	opacity: calc(var(--hl-glow) * .55);
	pointer-events: none;
	z-index: 0;
}
:root[data-theme="hell"] body::before {
	filter: none;
	opacity: 1;
	background: radial-gradient(closest-side, color-mix(in srgb, var(--hl-gold) var(--hl-licht-hell), transparent), transparent);
}
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) body::before {
		filter: none;
		opacity: 1;
		background: radial-gradient(closest-side, color-mix(in srgb, var(--hl-gold) var(--hl-licht-hell), transparent), transparent);
	}
}
.site { position: relative; z-index: 1; }

/* ---------------------------------------------------------------------
 * Schrift
 * Serife gibt Gewicht, Sans spricht.
 * ------------------------------------------------------------------ */
h1, h2, h3, h4,
.entry-title, .page-title, .widget-title {
	font-family: var(--hl-serif);
	font-weight: 500;
	color: var(--hl-text);
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
}
h5, h6 { font-family: var(--hl-sans); font-weight: 600; color: var(--hl-text); }

h1, .entry-title { font-size: calc(var(--hl-t-gross) * 1.1); }
h2 { font-size: var(--hl-t-gross); }
h3 { font-size: var(--hl-t-titel); }
h4 { font-size: var(--hl-t-basis); }

@media (min-width: 52rem) {
	h1, .entry-title { font-size: 2.25rem; }
}

/* Gutenberg-Überschriften: das Theme färbt sie sonst weiß (siehe Übergabe) */
.entry-content :is(h1, h2, h3, h4, .gb-headline) { color: var(--hl-text); }

p, li, dd, td, th { color: inherit; }
small, .entry-meta, .posted-on, .byline, .cat-links, .tags-links, .comments-link {
	color: var(--hl-text-leise);
	font-size: var(--hl-t-klein);
}
.entry-meta a { color: var(--hl-text-leise); }

hr { border: 0; border-top: 1px solid var(--hl-haarlinie); }

blockquote {
	margin: var(--hl-s6) 0;
	padding: 0 0 0 var(--hl-s5);
	border-left: 2px solid var(--hl-gold);
	font-family: var(--hl-serif);
	font-size: var(--hl-t-titel);
	line-height: 1.4;
	font-style: normal;
	color: var(--hl-text);
	background: none;
}

::selection { background: var(--hl-gold); color: var(--hl-gold-ink); }

/* ---------------------------------------------------------------------
 * Links: Gold (dunkel) bzw. Bronze (hell), nie Browserblau
 * ------------------------------------------------------------------ */
a, a:visited { color: var(--hl-gold-text); }
a:hover, a:focus { color: var(--hl-gold-text); text-decoration-thickness: 2px; }
.entry-content a { text-decoration: underline; text-underline-offset: .18em; text-decoration-thickness: 1px; }

/* Fokus sichtbar: 2 px Gold, 2 px Abstand */
:focus-visible {
	outline: 2px solid var(--hl-gold);
	outline-offset: 2px;
}

/* ---------------------------------------------------------------------
 * Knöpfe
 * ------------------------------------------------------------------ */
.hl-knopf,
button:not(.hl-modus):not(.menu-toggle):not(.search-submit),
.button, input[type="submit"],
.wp-block-button__link, .wp-element-button {
	display: inline-block;
	min-height: 3rem;
	padding: var(--hl-s3) var(--hl-s5);
	border: 1px solid var(--hl-gold);
	border-radius: var(--hl-radius);
	background: var(--hl-gold);
	color: var(--hl-gold-ink);
	font-family: var(--hl-sans);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	box-shadow: var(--hl-gold-schein);
	transition: background var(--hl-zeit) var(--hl-kurve);
}
.hl-knopf:hover,
.button:hover, input[type="submit"]:hover,
.wp-block-button__link:hover, .wp-element-button:hover {
	background: color-mix(in srgb, var(--hl-gold) 88%, #fff);
	color: var(--hl-gold-ink);
}
.hl-knopf-leise {
	display: inline-block;
	min-height: 3rem;
	padding: var(--hl-s3) var(--hl-s5);
	border: 1px solid var(--hl-haarlinie);
	border-radius: var(--hl-radius);
	background: transparent;
	color: var(--hl-text);
	font-weight: 600;
	text-decoration: none;
}
.hl-knopf-leise:hover { border-color: var(--hl-gold-text); color: var(--hl-gold-text); }

/* Eingabefelder: der Rand ist hier die Aufforderung (WCAG 1.4.11) */
input[type="text"], input[type="email"], input[type="search"], input[type="url"],
input[type="password"], input[type="number"], textarea, select {
	background: var(--hl-flaeche);
	color: var(--hl-text);
	border: 1px solid var(--hl-feldrand);
	border-radius: var(--hl-radius-eng);
}

/* ---------------------------------------------------------------------
 * Moduswechsel (Sonne im Dunkeln, Mond im Hellen)
 * ------------------------------------------------------------------ */
.hl-modus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--hl-text-leise);
	cursor: pointer;
	box-shadow: none;
}
.hl-modus:hover { color: var(--hl-gold-text); background: var(--hl-gold-tint); }
.hl-modus svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.6;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.hl-modus .hl-mond { display: none; }
:root[data-theme="hell"] .hl-modus .hl-sonne { display: none; }
:root[data-theme="hell"] .hl-modus .hl-mond { display: block; }
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) .hl-modus .hl-sonne { display: none; }
	:root:not([data-theme]) .hl-modus .hl-mond { display: block; }
}

/* ---------------------------------------------------------------------
 * Bausteine für Inhalte (auch im Gutenberg-Editor nutzbar)
 * ------------------------------------------------------------------ */
.hl-kontextzeile {
	display: block;
	margin: 0 0 var(--hl-s2);
	font-family: var(--hl-sans);
	font-size: var(--hl-t-eyebrow);
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--hl-text-leise);
}
.hl-ton-meditation { --hl-ton: var(--hl-ton-meditation); --hl-ton-tint: var(--hl-ton-meditation-tint); }
.hl-ton-training   { --hl-ton: var(--hl-ton-training);   --hl-ton-tint: var(--hl-ton-training-tint); }
.hl-ton-journal    { --hl-ton: var(--hl-ton-journal);    --hl-ton-tint: var(--hl-ton-journal-tint); }
.hl-ton-wissen     { --hl-ton: var(--hl-ton-wissen);     --hl-ton-tint: var(--hl-ton-wissen-tint); }
.hl-kontextzeile[class*="hl-ton-"] { color: var(--hl-ton); }

.hl-karte {
	padding: var(--hl-s5);
	border-radius: var(--hl-radius);
	background: var(--hl-flaeche);
	color: var(--hl-text);
}
.hl-karte-kante { border-left: 2px solid var(--hl-gold); }

.hl-hinweis {
	padding: var(--hl-s4) var(--hl-s5);
	border-left: 3px solid var(--hl-gold);
	border-radius: var(--hl-radius-eng);
	background: var(--hl-gold-tint);
	color: var(--hl-text);
	font-size: var(--hl-t-klein);
}

.hl-pille {
	display: inline-flex;
	align-items: center;
	gap: var(--hl-s2);
	padding: var(--hl-s1) var(--hl-s3);
	border-radius: 999px;
	background: var(--hl-gold-tint);
	color: var(--hl-text);
	font-size: var(--hl-t-klein);
}

/* Im Hellmodus brauchen Karten einen weichen Schatten (Guide 5) */
:root[data-theme="hell"] .hl-karte { box-shadow: 0 1px 2px rgba(60, 40, 25, .06), 0 8px 24px -8px rgba(60, 40, 25, .14); }
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) .hl-karte { box-shadow: 0 1px 2px rgba(60, 40, 25, .06), 0 8px 24px -8px rgba(60, 40, 25, .14); }
}

/* ---------------------------------------------------------------------
 * Pflichthinweis: leise Zeile über der Fußzeile
 * ------------------------------------------------------------------ */
.hl-pflichthinweis {
	position: relative;
	z-index: 1;
	max-width: 46rem;
	margin: var(--hl-s7) auto 0;
	padding: var(--hl-s5) var(--hl-s4) 0;
	border-top: 1px solid var(--hl-haarlinie);
}
.hl-pflichthinweis p {
	margin: 0;
	color: var(--hl-safety);
	font-size: var(--hl-t-klein);
	line-height: 1.6;
	text-align: center;
}

/* ---------------------------------------------------------------------
 * Elementor-Brücke: die globalen Farben und Schriften des Kits auf die
 * Tokens legen. body[class*=...] schlägt die Kit-Klasse (.elementor-kit-N).
 * ------------------------------------------------------------------ */
body[class*="elementor-kit-"] {
	--e-global-color-primary: var(--hl-gold-text);
	--e-global-color-secondary: var(--hl-text-leise);
	--e-global-color-text: var(--hl-text);
	--e-global-color-accent: var(--hl-gold);
	--e-global-typography-primary-font-family: "Headletic Serif";
	--e-global-typography-primary-font-weight: 500;
	--e-global-typography-secondary-font-family: "Headletic Serif";
	--e-global-typography-secondary-font-weight: 500;
	--e-global-typography-text-font-family: "Headletic Sans";
	--e-global-typography-accent-font-family: "Headletic Sans";
}
body[class*="elementor-kit-"] :is(.elementor-widget-text-editor, .elementor-widget-theme-post-content) {
	color: var(--hl-text);
	font-family: var(--hl-sans);
}
body[class*="elementor-kit-"] .elementor-heading-title { font-family: var(--hl-serif); font-weight: 500; }

/* ---------------------------------------------------------------------
 * Bewegung: nur leise, und mit reduce gar nicht
 * ------------------------------------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------------------------------------------------------------------
 * 0.1.1 Korrekturen nach dem ersten Blick live (22.10.2026)
 * Elementor-Kit (.elementor-kit-13 button) und GP-Inline-Farben sind
 * spezifischer als die Regeln oben, deshalb hier gezielt stärker.
 * ------------------------------------------------------------------ */

/* Moduswechsel: kein Knopf-Look, Symbol sichtbar */
body .main-navigation button.hl-modus,
body button.hl-modus {
	background: transparent !important;
	color: var(--hl-text-leise) !important;
	box-shadow: none !important;
	border: 0 !important;
	padding: 0 !important;
	min-height: 0;
}
body button.hl-modus:hover { background: var(--hl-gold-tint) !important; color: var(--hl-gold-text) !important; }
body button.hl-modus svg { width: 1.25rem !important; height: 1.25rem !important; }

/* Knöpfe aus dem Elementor-Kit: Gold mit dunkler Schrift, nie Weiß auf Gold */
body[class*="elementor-kit-"] :is(button, input[type="submit"], .elementor-button):not(.hl-modus):not(.menu-toggle):not(.search-submit) {
	background-color: var(--hl-gold);
	color: var(--hl-gold-ink);
	box-shadow: var(--hl-gold-schein);
}

/* Navigation: keine weiße Leiste, Text in Tokenfarben */
body .main-navigation,
body .main-navigation ul ul,
body .main-navigation .main-nav ul li[class*="current-menu-"] > a,
body .main-navigation .main-nav ul li:not([class*="current-menu-"]):hover > a,
body .main-navigation .main-nav ul li:not([class*="current-menu-"]):focus > a,
body .main-navigation .main-nav ul ul li a {
	background-color: transparent;
}
body .main-navigation ul ul { background-color: var(--hl-flaeche); border-radius: var(--hl-radius-eng); }
body .main-navigation .main-nav ul li a,
body .main-navigation .menu-toggle,
body .main-navigation .menu-bar-items,
body .main-navigation .menu-bar-item > a {
	color: var(--hl-text);
	font-family: var(--hl-sans);
}
body .main-navigation .main-nav ul li a:hover,
body .main-navigation .main-nav ul li[class*="current-menu-"] > a {
	color: var(--hl-gold-text);
}

/* =====================================================================
 * 0.2.0 Stufe 2: Kopfzeile, Blogartikel, Fußzeile (22.10.2026)
 * ================================================================== */

/* --- Kopfzeile ----------------------------------------------------- */
body .site-header .site-logo,
body .site-header .site-branding,
body .main-navigation .site-logo.mobile-header-logo { display: none !important; }

.site-header .inside-header {
	display: flex;
	align-items: center;
	gap: var(--hl-s4);
	padding-top: var(--hl-s4);
	padding-bottom: var(--hl-s4);
}
.hl-marke-weg {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: var(--hl-s2) var(--hl-s2) var(--hl-s2) 0;
	margin-right: auto;
	flex: 0 1 auto;
	min-width: 6rem;
	transition: opacity var(--hl-zeit) var(--hl-kurve);
}
.hl-marke-weg:hover { opacity: .7; }
img.hl-marke {
	display: block;
	width: auto;
	max-width: 100%;
	height: 1.0625rem;
}
.site-header .main-navigation { margin-left: auto; }
body .main-navigation .main-nav ul li a { font-size: var(--hl-t-klein); font-weight: 500; }

/* --- Blogartikel: Lesebreite 36rem -------------------------------- */
.single-post .site-content .content-area { width: 100%; }
.single-post .inside-article {
	max-width: calc(var(--hl-lesebreite) + 4rem);
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
}
@media (max-width: 40rem) {
	.single-post .inside-article { padding-left: 1rem; padding-right: 1rem; }
}
/* Elementor-Abschnitte im Beitrag folgen der Spalte */
.single-post .inside-article .elementor-section.elementor-section-boxed > .elementor-container { max-width: 100%; }
.single-post .inside-article .e-con { --content-width: 100%; }
.single-post .inside-article .elementor-section > .elementor-container > .elementor-column > .elementor-widget-wrap { padding-left: 0; padding-right: 0; }

.single-post .entry-header { margin-bottom: var(--hl-s6); }
.single-post .entry-title { font-size: clamp(1.925rem, 6vw, 2.5rem); line-height: 1.15; margin-bottom: var(--hl-s3); }
.single-post .entry-meta { font-size: var(--hl-t-klein); }

.single-post .entry-content > p,
.single-post .entry-content li,
.single-post .elementor-widget-text-editor { font-size: var(--hl-t-basis); line-height: 1.65; }
.single-post .entry-content p { margin-bottom: 1.25em; }

/* Bilder: weiche Ecken, keine Rahmen */
.single-post .featured-image img,
.single-post .post-image img,
.single-post .entry-content figure img,
.single-post .elementor-widget-image img {
	border-radius: var(--hl-radius);
	border: 0;
}

/* --- Überschriften: GenerateBlocks-Stile h2_ronny / h3_ronny ------ */
body .gb-headline.gb-headline-h2_ronny,
body .gb-headline.gb-headline-h3_ronny {
	background: none !important;
	color: var(--hl-text) !important;
	font-family: var(--hl-serif) !important;
	font-weight: 500 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	line-height: 1.25;
}
body .gb-headline.gb-headline-h2_ronny { font-size: var(--hl-t-gross) !important; margin: var(--hl-s7) 0 var(--hl-s4) !important; }
body .gb-headline.gb-headline-h3_ronny { font-size: var(--hl-t-titel) !important; margin: var(--hl-s6) 0 var(--hl-s3) !important; }

/* --- Überschriften in Elementor: Serife, Textfarbe ---------------- */
body .elementor-widget-heading .elementor-heading-title {
	font-family: var(--hl-serif) !important;
	font-weight: 500 !important;
	color: var(--hl-text) !important;
	line-height: 1.25 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.single-post .elementor-widget-heading h1.elementor-heading-title { font-size: clamp(1.925rem, 6vw, 2.5rem) !important; }
.single-post .elementor-widget-heading h2.elementor-heading-title { font-size: var(--hl-t-gross) !important; }
.single-post .elementor-widget-heading h3.elementor-heading-title { font-size: var(--hl-t-titel) !important; }
.single-post .elementor-widget-heading:has(h2) { margin-top: var(--hl-s6); }

/* Fließtext in Elementor: Farbe und Schrift nicht pro Widget festhalten */
body .elementor-widget-text-editor,
body .elementor-widget-text-editor :is(p, li, span:not([class])) {
	color: var(--hl-text) !important;
	font-family: var(--hl-sans) !important;
}

/* --- Hinweis-Widget (Elementor Alert) wie .hl-hinweis -------------- */
body .elementor-alert {
	background: var(--hl-gold-tint) !important;
	border: 0 !important;
	border-left: 3px solid var(--hl-gold) !important;
	border-radius: var(--hl-radius-eng) !important;
	padding: var(--hl-s4) var(--hl-s5) !important;
	color: var(--hl-text) !important;
}
body .elementor-alert .elementor-alert-title { color: var(--hl-text) !important; font-family: var(--hl-sans); font-weight: 600; }
body .elementor-alert .elementor-alert-description { color: var(--hl-text) !important; font-size: var(--hl-t-klein); }
body .elementor-alert .elementor-alert-dismiss { color: var(--hl-text-leise) !important; background: none !important; box-shadow: none !important; }

/* --- Inhaltsverzeichnis: eine Karte, Zeilen, keine Rahmen --------- */
body .elementor-widget-table-of-contents .elementor-widget-container,
body .elementor-toc__header,
body .elementor-toc__body {
	background: var(--hl-flaeche) !important;
	border: 0 !important;
	box-shadow: none;
}
body .elementor-widget-table-of-contents .elementor-widget-container { border-radius: var(--hl-radius) !important; overflow: hidden; }
body .elementor-toc__header { border-bottom: 1px solid var(--hl-haarlinie) !important; }
body .elementor-toc__header-title { font-family: var(--hl-sans) !important; font-size: var(--hl-t-eyebrow) !important; font-weight: 600 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--hl-text-leise) !important; }
body .elementor-toc__list-item-text,
body .elementor-toc__list-item-text:visited { color: var(--hl-text) !important; text-decoration: none !important; }
body .elementor-toc__list-item-text:hover,
body .elementor-toc__list-item-text.elementor-item-active { color: var(--hl-gold-text) !important; }
body .elementor-toc__toggle-button { color: var(--hl-text-leise) !important; }

/* --- Tabellen ------------------------------------------------------ */
.entry-content table, .elementor-widget-text-editor table { border-collapse: collapse; width: 100%; font-size: var(--hl-t-klein); }
.entry-content :is(th, td), .elementor-widget-text-editor :is(th, td) { border: 0; border-bottom: 1px solid var(--hl-haarlinie); padding: var(--hl-s3) var(--hl-s2); text-align: left; background: transparent; color: var(--hl-text); }
.entry-content th, .elementor-widget-text-editor th { font-weight: 600; }

/* --- Fußzeile: leise ---------------------------------------------- */
body .site-footer, body .site-info, body .footer-bar { background: transparent !important; color: var(--hl-text-leise) !important; }
body .site-info { font-size: var(--hl-t-klein); padding: var(--hl-s5) 0 var(--hl-s7); }
body .site-info a, body .footer-bar a { color: var(--hl-text-leise) !important; text-decoration: none; }
body .site-info a:hover, body .footer-bar a:hover { color: var(--hl-gold-text) !important; }
body .footer-bar .widget_nav_menu li { margin: 0 var(--hl-s3); }

/* =====================================================================
 * 0.2.1 Korrekturen nach dem Blick live (22.10.2026), im Browser getestet
 * ================================================================== */

/* Der Lichtschein darf keine waagerechte Scrollleiste erzeugen */
html, body { overflow-x: clip; }

/* Navigation bleibt in einer Zeile */
@media (min-width: 769px) {
	body .main-navigation .inside-navigation { flex-wrap: nowrap; align-items: center; }
	body .main-navigation .main-nav { flex: 1 1 auto; min-width: 0; }
	body .main-navigation .main-nav > ul { justify-content: flex-end; }
	body .main-navigation .main-nav ul li a { padding-left: .6rem; padding-right: .6rem; line-height: 2.75rem; }
}

/* Mitlaufende Navigation (Sticky) und mobile Kopfzeile: fester Grund */
body .main-navigation.is_stuck,
body .main-navigation.navigation-stick,
body .main-navigation.stuckElement,
body #mobile-header {
	background-color: var(--hl-grund) !important;
}
body .main-navigation.is_stuck,
body .main-navigation.navigation-stick { border-bottom: 1px solid var(--hl-haarlinie); }

/* Mobile Kopfzeile: Schriftzug statt altem Logo, Menüknopf ohne Goldfläche */
body #mobile-header .site-logo { display: none !important; }
#mobile-header .inside-navigation { display: flex; align-items: center; }
#mobile-header .hl-marke-weg { order: -1; margin-right: auto; padding-left: 1rem; max-width: 8.5rem; }
#mobile-header img.hl-marke { height: auto; width: 100%; }
body #mobile-header .menu-toggle,
body .main-navigation .menu-toggle {
	background: transparent !important;
	color: var(--hl-text) !important;
	box-shadow: none !important;
	border: 0 !important;
}

/* Elementor: Abschnitte, die nur eine Überschrift tragen, ohne Farbbalken.
   Sie nutzten die globale Primärfarbe als Fläche (früher Blau, jetzt Gold). */
.single-post [data-elementor-type="wp-post"] .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-text-editor, .elementor-widget-image, .elementor-widget-button, .elementor-widget-html, .elementor-widget-template)) {
	background-color: transparent !important;
	background-image: none !important;
}
.single-post [data-elementor-type="wp-post"] .elementor-section:has(.elementor-widget-heading):not(:has(.elementor-widget-text-editor, .elementor-widget-image, .elementor-widget-button, .elementor-widget-html, .elementor-widget-template)) .elementor-widget-heading .elementor-widget-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* =====================================================================
 * 0.3.0 Stufe 3: Blogübersicht und Kategorien (22.10.2026), live getestet
 * Kleine Karten (Radius 8px), Kontextzeile in der Bereichsfarbe,
 * Seitenleiste mit Banner unter der Liste.
 * ================================================================== */

/* Bereichston je Kategorie (bis zur Umstellung auf die vier Bereiche) */
article:is(.category-meditation, .category-affirmation, .category-visualisierung, .category-individuelle_meditationen, .category-kindergeschichten) { --hl-ton: var(--hl-ton-meditation); }
article.category-persoenlichkeitsentwicklung { --hl-ton: var(--hl-ton-training); }

/* --- Archive (Kategorie, Schlagwort, Autor, Suche) ---------------- */
body:is(.archive, .blog, .search) .site-content { display: block; }
body:is(.archive, .blog, .search) .content-area { width: 100%; float: none; }
body:is(.archive, .blog, .search) :is(#right-sidebar, #left-sidebar) { width: 100%; max-width: 46rem; margin: var(--hl-s7) auto 0; float: none; }

body:is(.archive, .blog, .search) .page-header { max-width: 60rem; margin: 0 auto var(--hl-s6); padding: 0 var(--hl-s4); background: none; text-align: left; }
body:is(.archive, .blog, .search) .page-title { font-size: calc(var(--hl-t-gross) * 1.1); margin: 0; }

body:is(.archive, .blog, .search) .site-main {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	gap: var(--hl-s5);
	max-width: 60rem;
	margin: 0 auto;
	padding: 0 var(--hl-s4);
}
body:is(.archive, .blog, .search) .site-main > :is(.page-header, .paging-navigation, .elementor, div:not(article)) { grid-column: 1 / -1; }
body:is(.archive, .blog, .search) .site-main > article { display: flex; margin: 0; padding: 0 !important; }
body:is(.archive, .blog, .search) .site-main > article .inside-article {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	margin: 0 !important;
	padding: 0 0 var(--hl-s5) !important;
	max-width: none;
	background: var(--hl-flaeche) !important;
	border-radius: var(--hl-radius-eng);
	overflow: hidden;
}
:root[data-theme="hell"] body:is(.archive, .blog, .search) .site-main > article .inside-article { box-shadow: 0 1px 2px rgba(60, 40, 25, .06), 0 8px 24px -8px rgba(60, 40, 25, .14); }
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) body:is(.archive, .blog, .search) .site-main > article .inside-article { box-shadow: 0 1px 2px rgba(60, 40, 25, .06), 0 8px 24px -8px rgba(60, 40, 25, .14); }
}

body:is(.archive, .blog, .search) article .post-image { order: -2; margin: 0 0 var(--hl-s4) !important; }
body:is(.archive, .blog, .search) article .post-image img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; border: 0; }

/* Kategorie als Kontextzeile über dem Titel */
body:is(.archive, .blog, .search) article footer.entry-meta { order: -1; margin: 0 var(--hl-s5) var(--hl-s2); padding: 0; }
body:is(.archive, .blog, .search) article footer.entry-meta :is(.tags-links, .comments-link, .gp-icon) { display: none; }
body:is(.archive, .blog, .search) article .cat-links { display: block; font-size: var(--hl-t-eyebrow); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
body:is(.archive, .blog, .search) article .cat-links a { color: var(--hl-ton, var(--hl-text-leise)) !important; text-decoration: none; }

body:is(.archive, .blog, .search) article .entry-header { margin: 0 var(--hl-s5); }
body:is(.archive, .blog, .search) article .entry-title { font-size: var(--hl-t-titel); line-height: 1.25; margin: 0 0 var(--hl-s2); }
body:is(.archive, .blog, .search) article .entry-title a { color: var(--hl-text); text-decoration: none; }
body:is(.archive, .blog, .search) article .entry-title a:hover { color: var(--hl-gold-text); }
body:is(.archive, .blog, .search) article .entry-header .entry-meta { font-size: var(--hl-t-klein); color: var(--hl-text-leise); }
body:is(.archive, .blog, .search) article .entry-header .byline { display: none; }
body:is(.archive, .blog, .search) article .entry-summary {
	margin: var(--hl-s3) var(--hl-s5) 0;
	font-size: var(--hl-t-klein);
	color: var(--hl-text-leise);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body:is(.archive, .blog, .search) article .entry-summary p { margin: 0; }
body:is(.archive, .blog, .search) article :is(.read-more-container, .read-more) { display: none; }

/* Seitenzahlen */
.paging-navigation { display: flex; justify-content: center; gap: var(--hl-s4); font-size: var(--hl-t-klein); }
.paging-navigation .page-numbers { padding: var(--hl-s2) var(--hl-s3); border-radius: var(--hl-radius-eng); color: var(--hl-text); text-decoration: none; }
.paging-navigation .page-numbers.current { background: var(--hl-gold-tint); color: var(--hl-gold-text); }

/* --- Seite /blog/: Block „Neueste Beiträge“ als Karten ------------- */
.page:has(.wp-block-latest-posts.is-grid) :is(.entry-header, .entry-content) { max-width: 60rem; margin-left: auto; margin-right: auto; }
.wp-block-latest-posts.is-grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
	gap: var(--hl-s5);
	padding: 0;
	margin: var(--hl-s5) 0 0;
	list-style: none;
}
.wp-block-latest-posts.is-grid li {
	display: flex;
	flex-direction: column;
	width: auto !important;
	margin: 0 !important;
	padding: 0 0 var(--hl-s4);
	background: var(--hl-flaeche);
	border-radius: var(--hl-radius-eng);
	overflow: hidden;
}
.wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image { float: none !important; margin: 0 0 var(--hl-s3) !important; }
.wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image img { display: block; width: 100% !important; height: auto !important; max-width: none !important; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 0; }
.wp-block-latest-posts.is-grid .wp-block-latest-posts__post-title { display: block; margin: 0 var(--hl-s4); font-family: var(--hl-serif); font-size: var(--hl-t-titel); font-weight: 500; line-height: 1.25; color: var(--hl-text); text-decoration: none !important; }
.wp-block-latest-posts.is-grid .wp-block-latest-posts__post-title:hover { color: var(--hl-gold-text); }
.wp-block-latest-posts.is-grid .wp-block-latest-posts__post-date { margin: var(--hl-s2) var(--hl-s4) 0; font-size: var(--hl-t-klein); color: var(--hl-text-leise); }
:root[data-theme="hell"] .wp-block-latest-posts.is-grid li { box-shadow: 0 1px 2px rgba(60, 40, 25, .06), 0 8px 24px -8px rgba(60, 40, 25, .14); }
@media (prefers-color-scheme: light) {
	:root:not([data-theme]) .wp-block-latest-posts.is-grid li { box-shadow: 0 1px 2px rgba(60, 40, 25, .06), 0 8px 24px -8px rgba(60, 40, 25, .14); }
}
