/*
Theme Name: Neve Child – DR Moments
Theme URI: https://drmoments.com
Description: Child-Theme von Neve für DR Moments. Magazin-Look: edle Serifen-Headlines (Playfair Display), ruhige Lesetypografie (Inter), warme Naturpalette und mehr Weißraum. Wird von Theme-Updates NICHT überschrieben.
Author: Dirk Rüger
Template: neve
Version: 1.7.0
Text Domain: neve-child
*/

/* ============================================================
   DR Moments – Magazin-Look
   Reihenfolge: Variablen -> Schrift -> Lesefluss -> Hero -> Buttons -> Header
   ============================================================ */

:root {
	--drm-ink:      #20201d; /* fast-schwarze Überschriften */
	--drm-ink-soft: #43413c; /* ruhiger Fließtext */
	--drm-cream:    #f1e9da; /* warmer Sandton als Grundton (sichtbar gegen Weiß) */
	--drm-forest:   #2d3a1e; /* tiefes Waldgrün (Akzent/Overlay) */
	--drm-olive:    #9c8a4e; /* edles Oliv-Gold (Akzente) */
	--drm-line:     #e7e2d6; /* feine Trennlinien */
}

/* ---- Neve-Schrift-Variablen überschreiben (an der Quelle) --
   Neve steuert die Schriften über --headingsfontfamily / --bodyfontfamily.
   Hier zentral umstellen, damit Playfair/Inter überall zuverlässig greifen. */
body {
	--headingsfontfamily: "Playfair Display", Georgia, "Times New Roman", serif !important;
	--bodyfontfamily: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

/* ---- Schrift-Identität ------------------------------------ */
body,
.nv-content-wrap,
.entry-content,
p, li {
	font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--drm-ink-soft);
}

h1, h2, h3, h4, h5, h6,
.site-title,
.entry-content .wp-block-heading {
	font-family: "Playfair Display", Georgia, "Times New Roman", serif;
	color: var(--drm-ink);
	font-weight: 700;
	letter-spacing: 0.005em;
	line-height: 1.12;
}

/* Magazin-Rhythmus: deutlich größere Überschriften + viel Luft darüber */
.entry-content h2 { font-size: clamp(2.3rem, 4.4vw, 3.4rem); font-weight: 700; margin-top: 2.4em; }
.entry-content h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); margin-top: 1.6em; }

/* ---- Lesefluss & Weißraum --------------------------------- */
body { background-color: var(--drm-cream); }
.entry-content p { line-height: 1.8; font-size: 1.06rem; }
.entry-content { letter-spacing: 0.003em; }

/* ---- Hero (wp-block-cover) -------------------------------- */
/* Schriftgröße/-art für einen großen, edlen ersten Eindruck.
   !important, weil die Headline im Block inline gesetzt ist. */
.wp-block-cover h1 {
	font-size: clamp(3.4rem, 7.5vw, 5.8rem) !important;
	font-weight: 800 !important;
	letter-spacing: 0.01em !important;
	line-height: 1.04;
	text-shadow: 0 2px 26px rgba(0, 0, 0, 0.42);
}
.wp-block-cover p {
	font-family: "Inter", sans-serif;
	text-shadow: 0 1px 12px rgba(0, 0, 0, 0.38);
	letter-spacing: 0.03em;
}

/* Mehr Höhe & Luft nur für den ersten Cover (Hero) der Startseite. */
.home .entry-content > .wp-block-cover:first-of-type {
	min-height: 620px !important;
}
.wp-block-cover__inner-container { padding-block: 2.2rem; }

/* Verlaufs-Overlay: oben hell (Foto sichtbar), unten dunkler (Text lesbar).
   Ersetzt die flache 30%-Abdunklung von Neve/Gutenberg. */
.wp-block-cover > .wp-block-cover__background.has-background-dim {
	opacity: 1 !important;
	background: linear-gradient(
		180deg,
		rgba(20, 20, 18, 0.20) 0%,
		rgba(32, 38, 22, 0.34) 45%,
		rgba(18, 22, 13, 0.64) 100%
	) !important;
}

/* Mehr Abstand zwischen den Hero-Buttons. */
.wp-block-cover .wp-block-buttons { gap: 1rem; margin-top: 1.6rem; }

/* Gefüllter Hero-Button: tieferes, edleres Oliv-Gold statt hellem Khaki. */
.wp-block-cover .wp-block-button__link.has-background {
	background-color: var(--drm-olive) !important;
}

/* ---- Buttons: ruhig, redaktionell ------------------------- */
.wp-block-button__link {
	font-family: "Inter", sans-serif !important;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	font-size: 0.82rem;
	border-radius: 2px !important;
	padding: 15px 32px !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wp-block-button__link:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* ---- Header / Seitentitel --------------------------------- */
.site-title { font-size: 1.15rem; letter-spacing: 0.02em; }

/* ---- Navigation: ruhiger Magazin-Masthead ------------------
   Nur die oberste Menüebene (> .menu-item > ...) bekommt Versalien.
   Untermenüs bleiben normal lesbar. */
.header--row .primary-menu-ul > .menu-item > .wrap > a,
.header--row .primary-menu-ul > .menu-item > a {
	font-family: "Inter", sans-serif;
	text-transform: uppercase;
	font-size: 0.76rem;
	letter-spacing: 0.05em;
	font-weight: 500;
	color: var(--drm-ink);
}
.header--row .primary-menu-ul > .menu-item > .wrap > a:hover,
.header--row .primary-menu-ul > .menu-item.nv-active > .wrap > a {
	color: var(--drm-olive);
}

/* Untermenüs: edel & gut lesbar (kein Versal). */
.header--row .sub-menu .menu-item > .wrap > a,
.header--row .sub-menu .menu-item > a {
	font-family: "Inter", sans-serif;
	font-size: 0.92rem;
	letter-spacing: 0.01em;
}

/* Feine Trennlinie unter dem Header für den klaren Magazin-Schnitt. */
#header-grid.site-header { border-bottom: 1px solid var(--drm-line); }

/* ---- Menü-Eleganz ----------------------------------------- */

/* Top-Level: Gold-Unterstreichung, die beim Hover aus der Mitte wächst. */
.header--row .primary-menu-ul > .menu-item > .wrap > a {
	position: relative;
	padding-bottom: 4px;
}
.header--row .primary-menu-ul > .menu-item > .wrap > a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 2px;
	background: var(--drm-olive);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.28s ease;
}
.header--row .primary-menu-ul > .menu-item > .wrap > a:hover::after,
.header--row .primary-menu-ul > .menu-item.nv-active > .wrap > a::after {
	transform: scaleX(1);
}

/* Dropdown-Panels: weiße Karte, feine Gold-Oberkante, weicher Schatten. */
.header--row .sub-menu {
	background: #ffffff !important;
	border: 1px solid var(--drm-line) !important;
	border-top: 3px solid var(--drm-olive) !important;
	border-radius: 0 0 5px 5px !important;
	box-shadow: 0 18px 44px rgba(32, 38, 22, 0.16) !important;
	padding: 0.5rem 0 !important;
	min-width: 232px;
}
.header--row .sub-menu .menu-item > .wrap > a {
	padding: 0.6rem 1.4rem !important;
	color: var(--drm-ink) !important;
	transition: background 0.18s ease, color 0.18s ease;
}
.header--row .sub-menu .menu-item > .wrap > a:hover {
	background: var(--drm-cream) !important;
	color: var(--drm-olive) !important;
}
.header--row .sub-menu .dd-title { letter-spacing: 0.01em; }

/* Dropdown-Pfeile dezenter, beim Hover golden. */
.header--row .caret svg { opacity: 0.5; width: 0.62em; }
.header--row .menu-item:hover > .wrap .caret svg {
	opacity: 1;
	color: var(--drm-olive);
}

/* ---- Footer: dunkler Magazin-Abschluss --------------------- */
.site-footer,
#site-footer {
	background-color: var(--drm-forest) !important;
	border-top: 3px solid var(--drm-olive);
	--footerbackground: var(--drm-forest);
	--footercolor: #e9e4d6;
	--footerlinkcolor: #e9e4d6;
}
.site-footer,
.site-footer p,
.site-footer .widget {
	color: #e9e4d6;
}
.site-footer .footer--row { padding-block: 1.7rem; }
.site-footer a {
	color: #e9e4d6;
	text-decoration: none;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	transition: color 0.2s ease;
}
.site-footer a:hover { color: #d9c98f; } /* helles Oliv-Gold für Kontrast auf Dunkel */

/* ---- Mobiles Slide-Menü: edel & markenkonform -------------
   Panel im Waldgrün wie der Footer -> stimmiger, premium Look. */
#header-menu-sidebar-bg,
#header-menu-sidebar-inner {
	background-color: var(--drm-forest) !important;
}
#header-menu-sidebar-inner { padding-top: 1rem; }

/* Menüpunkte: heller Text, große Touch-Flächen, feine Trennlinien. */
#header-menu-sidebar .menu-mobile > .menu-item {
	border-bottom: 1px solid rgba(233, 228, 214, 0.12);
}
#header-menu-sidebar .menu-mobile .menu-item > .wrap > a {
	color: #e9e4d6 !important;
	font-family: "Inter", sans-serif;
	font-size: 1.02rem;
	letter-spacing: 0.03em;
	padding: 0.95rem 1.4rem !important;
}
#header-menu-sidebar .menu-mobile .menu-item > .wrap > a:hover,
#header-menu-sidebar .menu-mobile .menu-item.nv-active > .wrap > a {
	color: #d9c98f !important; /* helles Gold */
}

/* Untermenüs im Panel: eingerückt, transparent, gedämpft. */
#header-menu-sidebar .menu-mobile .sub-menu {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding-left: 0.8rem !important;
}
#header-menu-sidebar .menu-mobile .sub-menu .menu-item > .wrap > a {
	font-size: 0.95rem;
	opacity: 0.92;
}

/* Pfeile & Schließen-Button hell. */
#header-menu-sidebar .caret svg { color: #e9e4d6; opacity: 0.7; }
#header-menu-sidebar .close-sidebar-panel { color: #e9e4d6 !important; }

/* Hamburger gut sichtbar auf hellem Header. */
.hamburger .hamburger-inner,
.hamburger .hamburger-inner::before,
.hamburger .hamburger-inner::after {
	background-color: var(--drm-ink) !important;
}

/* Overlay etwas dunkler für klaren Fokus aufs Menü. */
.header-menu-sidebar-overlay { background: rgba(18, 22, 13, 0.5) !important; }

/* ---- E-Books ("Neueste Beiträge"-Block): Karten-Raster -----
   Statt Liste untereinander -> responsives Raster nebeneinander,
   Cover oben, fetter Titel-Link. */
.wp-block-latest-posts__list.wp-block-latest-posts {
	display: grid !important;
	grid-template-columns: 1fr; /* Mobil: gestapelt */
	gap: 1.6rem;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
/* Desktop: saubere Reihe aus 3 Karten (kein einzelner "Waise"-Rest). */
@media (min-width: 782px) {
	.wp-block-latest-posts__list.wp-block-latest-posts {
		grid-template-columns: repeat(3, 1fr);
	}
}
/* Auf der Startseite nur die neuesten 3 E-Books zeigen; Rest sieht man
   über den "Mehr E-Books"-Button. */
.home .wp-block-latest-posts__list > li:nth-child(n + 4) {
	display: none !important;
}
.wp-block-latest-posts__list > li {
	background: #ffffff;
	border: 1px solid var(--drm-line);
	border-radius: 5px;
	padding: 1.6rem;
	box-shadow: 0 10px 30px rgba(45, 41, 30, 0.08);
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.wp-block-latest-posts__list > li:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 38px rgba(45, 41, 30, 0.12);
}

/* Cover oben, zentriert (Buchcover Hochformat). */
.wp-block-latest-posts__featured-image {
	float: none !important;
	margin: 0 0 1rem 0 !important;
	text-align: center;
}
.wp-block-latest-posts__featured-image img {
	border-radius: 3px;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

/* Titel-Link: fett & in der edlen Headline-Schrift. */
.wp-block-latest-posts__post-title {
	display: block;
	font-family: "Playfair Display", Georgia, serif !important;
	font-weight: 700 !important;
	font-size: 1.25rem;
	line-height: 1.25;
	color: var(--drm-ink) !important;
	text-decoration: none;
	margin-bottom: 0.55rem;
}
.wp-block-latest-posts__post-title:hover { color: var(--drm-olive) !important; }

/* Auszug ruhig & auf 4 Zeilen begrenzt -> gleichmäßige Karten. */
.wp-block-latest-posts__post-excerpt {
	font-size: 0.95rem;
	color: var(--drm-ink-soft);
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* "Mehr E-Books ansehen"-Button unter dem Raster (zentriert). */
.drm-more-books {
	text-align: center;
	margin-top: 2rem;
}
.drm-more-books__btn {
	display: inline-block;
	background: var(--drm-olive);
	color: #fff !important;
	font-family: "Inter", sans-serif;
	font-weight: 600;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	font-size: 0.82rem;
	text-decoration: none;
	border-radius: 2px;
	padding: 14px 32px;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.drm-more-books__btn:hover {
	background: var(--drm-forest);
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

/* ---- Sektionen unter dem Hero (Magazin-Raster) -------------
   Die 3er-Raster (Was-dich-erwartet / Empfehlungen) werden zu
   ruhigen redaktionellen Karten. Der "Über mich"-Block ist
   2-spaltig & vertikal zentriert -> per :not(...) ausgenommen. */

/* Mehr Luft & Zentrierung für die Sektions-Überschriften. */
.entry-content > .wp-block-heading,
.entry-content > h2 {
	text-align: center;
	margin-top: 3.4rem;
	margin-bottom: 1.8rem;
}
/* Goldene Akzentlinie unter den Sektionstiteln — klares Magazin-Signal. */
.entry-content > .wp-block-heading::after,
.entry-content > h2::after {
	content: "";
	display: block;
	width: 54px;
	height: 3px;
	background: var(--drm-olive);
	margin: 0.9rem auto 0;
}

/* Abstand zwischen den Kacheln eines Rasters. */
.entry-content .wp-block-columns:not(.are-vertically-aligned-center) {
	gap: 1.6rem;
	margin-top: 2.2rem;
	margin-bottom: 2.2rem;
}

/* Die Kacheln selbst: weiße Karte auf warmem Grund, feiner Rahmen. */
.entry-content .wp-block-columns:not(.are-vertically-aligned-center) > .wp-block-column {
	background: #ffffff;
	border: 1px solid var(--drm-line);
	border-radius: 4px;
	padding: 2.4rem 2rem;
	box-shadow: 0 10px 30px rgba(45, 41, 30, 0.08);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.entry-content .wp-block-columns:not(.are-vertically-aligned-center) > .wp-block-column:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
}

/* Karten-Überschriften etwas kompakter ansetzen. */
.entry-content .wp-block-columns:not(.are-vertically-aligned-center) > .wp-block-column :is(h2, h3, .wp-block-heading) {
	margin-top: 0;
}

/* ============================================================
   EINZELBEITRÄGE – Magazin-Leseerlebnis (nur .single-post)
   ============================================================ */

/* Lesbare Textbreite: Fließtext/Überschriften/Listen auf ~720px zentrieren,
   breite/volle Blöcke (alignwide/alignfull) dürfen weiter ausbrechen. */
.single-post .entry-content > *:not(.alignfull):not(.alignwide):not(.alignwide) {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

/* Beitrags-Titel als großzügige Magazin-Headline. */
.single-post .entry-title {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.12;
}

/* Fließtext etwas größer & luftiger zum Lesen. */
.single-post .entry-content p {
	font-size: 1.1rem;
	line-height: 1.85;
}

/* Inhaltliche Links: dezent oliv unterstrichen (Buttons ausgenommen). */
.single-post .entry-content a:not(.wp-block-button__link):not(.wp-element-button):not(.ez-toc-link) {
	color: var(--drm-olive);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	transition: color 0.15s ease;
}
.single-post .entry-content a:not(.wp-block-button__link):not(.wp-element-button):hover {
	color: var(--drm-forest);
}

/* Zitate: edel, mit Gold-Kante und Serifen-Kursiv. */
.single-post .entry-content blockquote {
	border-left: 3px solid var(--drm-olive);
	padding: 0.3rem 0 0.3rem 1.5rem;
	margin: 1.9rem auto;
	font-family: "Playfair Display", Georgia, serif;
	font-style: italic;
	font-size: 1.2rem;
	color: var(--drm-ink);
}

/* Bilder: weiche Ecken, dezenter Schatten; Bildunterschrift ruhig. */
.single-post .entry-content figure img {
	border-radius: 4px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1);
}
.single-post .entry-content figcaption {
	font-size: 0.86rem;
	color: var(--drm-ink-soft);
	font-style: italic;
	text-align: center;
	margin-top: 0.5rem;
}

/* Inhaltsverzeichnis (Easy TOC) als elegante Box. */
.single-post #ez-toc-container,
.single-post .ez-toc-container {
	background: var(--drm-cream) !important;
	border: 1px solid var(--drm-line) !important;
	border-left: 3px solid var(--drm-olive) !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	padding: 1.1rem 1.4rem !important;
}
.single-post .ez-toc-title {
	font-family: "Playfair Display", Georgia, serif !important;
	color: var(--drm-ink) !important;
	letter-spacing: 0.01em;
}
.single-post .ez-toc-list a { color: var(--drm-ink-soft) !important; }
.single-post .ez-toc-list a:hover { color: var(--drm-olive) !important; }

/* ============================================================
   ARCHIV / KATEGORIE / BLOG – Magazin-Karten
   ============================================================ */

/* Neves eigene Karten-Variablen aufwerten: weiße Karte auf Sandgrund,
   weicherer Schatten, etwas mehr Rundung. */
.archive .nv-index-posts,
.blog .nv-index-posts,
.search .nv-index-posts {
	--cardbgcolor: #ffffff;
	--cardboxshadow: 0 10px 30px rgba(45, 41, 30, 0.08);
	--borderradius: 6px;
}

/* Karte: feiner Rahmen + sanftes Anheben beim Hover. */
.archive .nv-index-posts article.layout-grid,
.blog .nv-index-posts article.layout-grid,
.search .nv-index-posts article.layout-grid {
	border: 1px solid var(--drm-line);
	overflow: hidden;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.archive .nv-index-posts article.layout-grid:hover,
.blog .nv-index-posts article.layout-grid:hover,
.search .nv-index-posts article.layout-grid:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(45, 41, 30, 0.14) !important;
}

/* Beitragsbild: dezenter Ken-Burns-Zoom beim Hover. */
.archive .nv-post-thumbnail-wrap,
.blog .nv-post-thumbnail-wrap,
.search .nv-post-thumbnail-wrap {
	overflow: hidden;
}
.archive .nv-post-thumbnail-wrap img,
.blog .nv-post-thumbnail-wrap img,
.search .nv-post-thumbnail-wrap img {
	transition: transform 0.45s ease;
}
.archive article.layout-grid:hover .nv-post-thumbnail-wrap img,
.blog article.layout-grid:hover .nv-post-thumbnail-wrap img,
.search article.layout-grid:hover .nv-post-thumbnail-wrap img {
	transform: scale(1.04);
}

/* Titel: edle Headline-Schrift, Oliv beim Hover. */
.archive .blog-entry-title a,
.blog .blog-entry-title a,
.search .blog-entry-title a {
	font-family: "Playfair Display", Georgia, serif;
	color: var(--drm-ink);
	transition: color 0.18s ease;
}
.archive .blog-entry-title a:hover,
.blog .blog-entry-title a:hover,
.search .blog-entry-title a:hover {
	color: var(--drm-olive);
}

/* Meta-Zeile (Datum): ruhig, in Versalien wie ein Magazin-Dachzeile. */
.archive .nv-meta-list,
.blog .nv-meta-list,
.search .nv-meta-list {
	font-family: "Inter", sans-serif;
	font-size: 0.74rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--drm-ink-soft);
}

/* Auszug ruhiger. */
.archive .excerpt-wrap,
.blog .excerpt-wrap,
.search .excerpt-wrap {
	color: var(--drm-ink-soft);
	line-height: 1.65;
}

/* ============================================================
   "ÜBER MICH"-Block auf der Startseite (Bild + Text, 2-spaltig)
   Nur dieser Block: .home + are-vertically-aligned-center
   ============================================================ */
.home .wp-block-columns.are-vertically-aligned-center {
	gap: 2.6rem;
	align-items: center;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

/* Foto von Dirk: weicher, edler Schatten. */
.home .wp-block-columns.are-vertically-aligned-center .wp-block-image img {
	box-shadow: 0 18px 44px rgba(45, 41, 30, 0.20);
}

/* Kleine goldene "Dachzeile" über der Überschrift. */
.home .wp-block-columns.are-vertically-aligned-center h2.wp-block-heading::before {
	content: "Über mich";
	display: block;
	font-family: "Inter", sans-serif;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--drm-olive);
	margin-bottom: 0.6rem;
}

/* Erster Absatz als hervorgehobener Lead. */
.home .wp-block-columns.are-vertically-aligned-center .wp-block-column:last-child > p:first-of-type {
	font-size: 1.15rem;
	line-height: 1.7;
	color: var(--drm-ink);
}
