/*
Theme Name: Werte & Visionen
Theme URI: https://www.werte-visionen.de/
Author: Stefan Schmitt
Author URI: https://www.createch-media.de/
Description: Persönliches Block-Theme (FSE) für Stefan Schmitt – Werte & Visionen. Redaktioneller, ruhiger Look mit Newsreader (Serif) und Libre Franklin (Sans), warmem Papierhintergrund und tiefrotem Akzent. Alle Inhalte über den Block-Editor pflegbar.
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: werte-visionen
Tags: full-site-editing, block-patterns, blog, portfolio, custom-colors, editor-style
*/

/*
 * Das eigentliche Design kommt aus theme.json und den Stylesheets in /assets.
 * Diese Datei enthält nur ergänzende Feinheiten, die theme.json (noch) nicht abbildet.
 */

/* Fixierter Header mit sanftem Blur (wie im Design).
   Sticky muss auf dem äußeren Template-Part-Wrapper liegen – der innere Header
   hätte als Container nur Kopfhöhe und würde nicht kleben. */
header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}
.wv-site-header {
	background: rgba(250, 248, 245, 0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--linie);
}
/* Wichtig: backdrop-filter macht den Header zum „containing block" für
   position:fixed-Elemente. Das mobile Overlay-Menü liegt im Header und würde
   dadurch nur die Höhe der Kopfleiste füllen (abgeschnittene Menüpunkte am
   rechten Rand) statt des ganzen Viewports. Solange das Menü offen ist, den
   Filter daher abschalten – die Kopfleiste ist dann ohnehin verdeckt. */
.wv-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* Abstand zwischen Header und erstem Inhaltsblock kompakter halten
   (die Werte stecken in den Seiteninhalten, daher zentral überschrieben) */
main > .entry-content > *:first-child,
main > .wp-block-group:first-child {
	padding-top: var(--wp--preset--spacing--50) !important;
}
main.wp-block-group[style*="padding-top"] {
	padding-top: var(--wp--preset--spacing--50) !important;
}

/* Wortmarke – gesamter Bereich (beide Zeilen) ist ein Link */
.wv-logo a { display: inline-block; text-decoration: none; }
.wv-logo a:hover { color: inherit !important; }
.wv-logo-name {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 800;
	letter-spacing: 0.02em;
	font-size: 32px;
	line-height: 1;
}
.wv-logo-name .wv-logo-first { color: var(--wp--preset--color--brand); }
.wv-logo-name .wv-logo-last { color: #3A3A3A; }
.wv-logo-sub {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.3em;
	color: #6B6B6B;
	margin-top: 6px;
}

/* Navigation Hover + aktiver Menüpunkt */
.wv-site-header .wp-block-navigation a:hover { color: var(--wp--preset--color--brand); }
.wv-site-header .wp-block-navigation .current-menu-item a,
.wv-site-header .wp-block-navigation .current-menu-ancestor a,
.wv-site-header .wp-block-navigation [aria-current] {
	color: var(--wp--preset--color--brand);
	font-weight: 600;
}

/* Einzelbeitrag – Zwei-Spalten-Layout (breite Beitragsspalte + schmale Weiterlesen-Spalte) */
.wv-single-cols { align-items: flex-start; }

/* Beitragsbild: unter der Überschrift, volle Spaltenbreite */
.wv-post-hero-img img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	border-radius: 6px;
	display: block;
}

/* Rechte Spalte „Weiterlesen": Teaser untereinander, klebt beim Scrollen mit */
.wv-sidebar { position: sticky; top: 110px; }
.wv-teaser { padding-bottom: var(--wp--preset--spacing--40); margin-bottom: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--wp--preset--color--linie); }
.wv-teaser:last-child { border-bottom: 0; margin-bottom: 0; }
.wv-teaser .wp-block-post-featured-image { margin: 0 0 12px; }
.wv-teaser .wp-block-post-featured-image img { width: 100%; height: 150px; object-fit: cover; display: block; border-radius: 5px; }
.wv-teaser .wp-block-post-title a { color: var(--wp--preset--color--tinte); text-decoration: none; transition: color .15s ease; }
.wv-teaser .wp-block-post-title a:hover { color: var(--wp--preset--color--brand) !important; }
@media (max-width: 781px) {
	.wv-sidebar { position: static; }
	.wv-single-cols { margin-top: 0; }
}

/* „prose" – Fließtext in Artikeln/Case Studies bekommt automatisch die richtige Typo */
.wv-prose p,
.wv-prose li {
	font-size: clamp(1.05rem, 0.6vw + 1rem, 1.25rem);
	line-height: 1.78;
	color: #1A1A1A;
	font-weight: 300;
}
.wv-prose h2 {
	font-size: clamp(1.6rem, 1vw + 1.3rem, 1.875rem);
	line-height: 1.25;
	font-weight: 500;
	letter-spacing: -0.01em;
	margin-top: 2.6rem;
}
.wv-prose strong { font-weight: 600; color: #1A1A1A; }

/* Karten-Hover für Beitrags-Vorschauen */
.wv-card-hover { transition: transform .2s ease, box-shadow .2s ease; }
.wv-card-hover:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px -22px rgba(60, 45, 25, .5);
}

/* Buttons in Libre Franklin, wie im Design */
.wp-block-button__link {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
}

/* Eyebrow-Label (kleine Versal-Überschrift).
   Die Seiten-Zeile über der Überschrift (PORTFOLIO, GEDANKEN, CASE STUDY …) ist dezent grau.
   Kategorie-Labels in Beitragskarten (post-terms) bleiben im Akzent-Rot. */
.is-style-wv-eyebrow {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #8A8478;
}
.wp-block-post-terms.is-style-wv-eyebrow,
.wp-block-post-terms.is-style-wv-eyebrow a {
	color: var(--wp--preset--color--brand);
}
/* Kategorie-Links: dezenter Hover */
.wp-block-post-terms.is-style-wv-eyebrow a { transition: color .15s ease; }
.wp-block-post-terms.is-style-wv-eyebrow a:hover {
	color: var(--wp--preset--color--brand-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Aktiver Menüpunkt / Kategorien-Pills etc. sind unten definiert. */

/* Porträt auf der Startseite: rund, weißer Ring + weicher Schatten zum Abheben */
.wv-portrait img {
	box-shadow: 0 24px 55px -22px rgba(60, 45, 25, 0.5);
}

/* Gedanken-Karten: Bild füllt die volle Kartenbreite (oben abgerundet), Inhalt füllt die Box.
   .has-background bringt von WordPress ein Standard-Padding mit – das setzen wir auf 0. */
.wv-card-hover { overflow: hidden; padding: 0 !important; }
.wv-card-hover .wp-block-post-featured-image,
.wv-card-hover .wp-block-post-featured-image a { display: block; width: 100%; margin: 0; }
.wv-card-hover .wp-block-post-featured-image img {
	width: 100%;
	height: 168px;
	object-fit: cover;
	display: block;
	border-radius: 0;
}
.wv-card-hover > .wp-block-group { padding: 20px 20px 24px !important; }

/* Core-Lightbox: vergrößertes Bild vollständig in den Viewport einpassen.
   Der Core erzwingt sonst min-width/min-height = Originalmaße (→ abgeschnitten);
   dazu darf die globale 100%-Bildregel hier nicht greifen. */
.wp-lightbox-overlay .lightbox-image-container {
	width: auto !important;
	height: auto !important;
	max-width: 92vw !important;
	max-height: 92vh !important;
}
.wp-lightbox-overlay .wp-block-image img {
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 92vw !important;
	max-height: 92vh !important;
	object-fit: contain !important;
}

/* Case-Study-Bilder: kleiner und links/rechts vom Text (Text umfließt sie).
   Höhere Spezifität (figure.wv-cs-img), damit sie die globale .wp-block-image-100%-Regel schlägt. */
.wv-cs-band { display: flow-root; }
.wv-cs-inner { display: flow-root; } /* 1240er-Container: schließt die Floats ein, richtet sie am Inhaltsrand aus */
/* clear:both verhindert, dass aufeinanderfolgende Bilder ineinanderlaufen */
figure.wv-cs-img { width: 500px !important; max-width: 48%; margin-top: 6px; margin-bottom: 22px; clear: both; }
figure.wv-cs-img.alignleft { margin-right: 34px; }
figure.wv-cs-img.alignright { margin-left: 34px; }
figure.wv-cs-img img { width: 100% !important; height: auto; display: block; }

/* Text-/Bild-Reihe: Bild neben dem Text, sauber ausgerichtet */
.wv-cs-mediarow { clear: both; margin: 8px 0 34px; }
.wv-cs-mediarow img { width: 100%; height: auto; display: block; }
.wv-cs-mediarow > .wp-block-column > *:first-child { margin-top: 0; }

/* Bild über volle Breite bzw. Bildreihe (mehrseitige Dokumente) */
.wv-cs-img-full { clear: both; width: 100%; margin: 8px 0 28px; }
.wv-cs-img-full img { width: 100%; height: auto; display: block; }
.wv-cs-imgrow { clear: both; margin: 8px 0 28px; }
.wv-cs-imgrow img { width: 100%; height: auto; display: block; border-radius: 5px; }

/* Case-Study-Tabellen: saubere Ausrichtung, farbiger Kopf */
.wv-cs-band .wp-block-table { clear: both; margin: 8px 0 28px; overflow-x: auto; }
.wv-cs-band .wp-block-table table { width: 100%; border-collapse: collapse; }
.wv-cs-band .wp-block-table th {
	background: var(--wp--preset--color--brand);
	color: #fff;
	font-weight: 600;
	text-align: left;
	padding: 13px 16px;
	border: 0;
	font-size: 14px;
}
.wv-cs-band .wp-block-table td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--linie);
	vertical-align: top;
	font-size: 15px;
}
.wv-cs-band .wp-block-table tbody tr:nth-child(even) { background: rgba(60, 45, 25, .04); }
.wv-cs-band .wp-block-table .wv-status { text-align: center; color: #2E7D46; font-weight: 700; font-size: 17px; }
@media (max-width: 900px) {
	figure.wv-cs-img,
	figure.wv-cs-img.alignleft,
	figure.wv-cs-img.alignright { float: none; width: 100% !important; max-width: 100%; margin-left: 0; margin-right: 0; }
}

/* „Zurück"-Button des Back-Button-Plugins ans Theme angleichen */
.alg_back_button_input {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--brand);
	background: transparent;
	border: 1px solid var(--wp--preset--color--brand);
	border-radius: 3px;
	padding: 12px 26px;
	cursor: pointer;
	transition: background .15s ease, color .15s ease;
}
.alg_back_button_input:hover {
	background: var(--wp--preset--color--brand);
	color: #fff;
}

/* Bild-Blöcke füllen ihre Spalte/Karte (Banner, Porträts, Referenz-Thumbnails).
   Ohne diese Regel rendert ein SVG-Platzhalter in seiner Eigengröße statt volle Breite. */
.wp-block-image { display: block; width: 100%; margin-left: 0; margin-right: 0; }
.wp-block-image img { width: 100% !important; height: auto; display: block; max-width: 100%; }

/* WPForms an das Werte-&-Visionen-Design angleichen */
.wpforms-container .wpforms-field input[type="text"],
.wpforms-container .wpforms-field input[type="email"],
.wpforms-container .wpforms-field input[type="tel"],
.wpforms-container .wpforms-field textarea {
	width: 100%;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	color: #1A1A1A;
	background: #fff;
	border: 1px solid #D8D1C4;
	border-radius: 4px;
	padding: 13px 15px;
	box-shadow: none;
}
.wpforms-container .wpforms-field input:focus,
.wpforms-container .wpforms-field textarea:focus {
	border-color: var(--wp--preset--color--brand);
	outline: none;
}
.wpforms-container .wpforms-field-label { font-family: var(--wp--preset--font-family--sans); font-weight: 600; color: #3A3A3A; }
.wpforms-container button[type="submit"],
.wpforms-container .wpforms-submit {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 600;
	font-size: 15px;
	color: #fff;
	background: var(--wp--preset--color--brand);
	border: none;
	border-radius: 3px;
	padding: 15px 24px;
	cursor: pointer;
	transition: background .15s ease;
}
.wpforms-container button[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover { background: var(--wp--preset--color--brand-dark); }

/* Kategorien als Buttons/Pills (Startseite „Themen", Seite „Gedanken") */
.wp-block-categories {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.wp-block-categories li { margin: 0; }
.wp-block-categories a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	color: #3A3A3A;
	border: 1px solid var(--wp--preset--color--linie-kraeftig);
	border-radius: 30px;
	padding: 11px 22px;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.wp-block-categories a:hover {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff !important;
}

/* „Alle Beiträge"-Filter (Reset) als Pill, gleiche Optik wie die Kategorien */
.wv-filter-all { margin: 0; }
.wv-filter-all a {
	display: inline-block;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	color: #3A3A3A;
	border: 1px solid var(--wp--preset--color--linie-kraeftig);
	border-radius: 30px;
	padding: 11px 22px;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.wv-filter-all a:hover {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff !important;
}

/* Aktive Auswahl (Alle Beiträge auf „Gedanken", bzw. aktuelle Kategorie im Archiv) */
.wv-filter-all.is-active a,
.wp-block-categories .current-cat a {
	background: var(--wp--preset--color--brand);
	border-color: var(--wp--preset--color--brand);
	color: #fff !important;
}

/* Blog-Vorschau-Titel: schwarz, beim Hover rot (nur in Query-Loops, nicht Einzelbeitrag) */
.wp-block-query .wp-block-post-title a {
	color: var(--wp--preset--color--tinte);
	text-decoration: none;
	transition: color .15s ease;
}
.wp-block-query .wp-block-post-title a:hover { color: var(--wp--preset--color--brand) !important; }

/* Aufklappbare Boxen (Weiterbildungen) – core/details als Karte */
.wv-akkordeon .wp-block-details {
	background: #fff;
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 6px;
	padding: 18px 24px;
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--sans);
	transition: border-color .18s ease, box-shadow .18s ease;
}
/* Dezenter Hover für die Weiterbildungs-Boxen */
.wv-akkordeon .wp-block-details:hover {
	border-color: var(--wp--preset--color--linie-kraeftig);
	box-shadow: 0 10px 26px -20px rgba(60, 45, 25, .45);
}
.wv-akkordeon .wp-block-details > summary {
	font-weight: 600;
	font-size: 16px;
	color: #1A1A1A;
	cursor: pointer;
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}
.wv-akkordeon .wp-block-details > summary::-webkit-details-marker { display: none; }
.wv-akkordeon .wp-block-details > summary::after {
	content: "+";
	color: var(--wp--preset--color--brand);
	font-weight: 700;
	font-size: 22px;
	line-height: 1;
	flex: none;
}
.wv-akkordeon .wp-block-details[open] > summary::after { content: "–"; }
.wv-akkordeon .wp-block-details[open] > summary { margin-bottom: 14px; }
.wv-akkordeon .wp-block-details .wv-cert-label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #8A8478;
	margin: 0 0 8px;
}

/* Häkchen-Liste (Skills) – ✓ in Akzentfarbe statt Aufzählungspunkt */
.wv-check { list-style: none; margin: 0; padding: 0; }
.wv-check li {
	position: relative;
	padding-left: 26px;
	margin: 0 0 10px;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	line-height: 1.4;
	color: #3A362F;
}
.wv-check li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--wp--preset--color--brand);
	font-weight: 700;
}

/* Vita-Liste im Über-mich-Sidebar */
.wv-vita p { border-bottom: 1px solid #E5DFD3; }
.wv-vita p:last-child { border-bottom: 0; }

/* Responsives Grid-Verhalten für die Sektions-Spalten */
@media (max-width: 781px) {
	.wv-logo-name { font-size: 26px; }
}

/* --- Mobile-Navigation (Overlay-Menü) ---
   Die Desktop-Navigation ist rechtsbündig (items-justified-right). Der Core
   übernimmt diese Ausrichtung ins geöffnete Overlay (align-items: flex-end),
   wodurch die Menüpunkte am rechten Rand kleben und abgeschnitten werden.
   Hier richten wir das geöffnete Overlay links aus und geben ihm passende
   Typo und Abstände. Greift nur, wenn das Overlay offen ist (< 600px). */

/* Hamburger-Icon in Textfarbe statt Rot-Erbe */
.wv-site-header .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--tinte);
}

/* Voller, ruhiger Hintergrund im Papierton */
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open {
	background-color: var(--wp--preset--color--papier);
}

/* Linksbündig statt rechtsbündig – überschreibt die von items-justified-right
   gesetzten align-items:flex-end auf Content, Liste und Einzel-Items. */
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
}

/* Menüpunkte: Serifentitel-Optik, gut tappbar */
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 0.35rem;
}
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.625rem;
	line-height: 1.3;
	font-weight: 400;
	color: var(--wp--preset--color--tinte);
	padding: 0.5rem 0;
}
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wv-site-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--brand);
}

/* Schließen-Button (X) klar sichtbar */
.wv-site-header .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--tinte);
}

/* --- „Beiträge von anderen Seiten" – RSS-Teaser-Karten (Startseite) ---
   Der Core-RSS-Block liefert echtes HTML (kein Fremd-Iframe), daher voll
   im Theme-Stil gestylt und gut lesbar. */
.wv-rss-cards.wp-block-rss.is-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
}
.wv-rss-cards.wp-block-rss.is-grid li {
	width: auto;
	margin: 0;
	background: var(--wp--preset--color--weiss);
	border: 1px solid var(--wp--preset--color--linie);
	border-radius: 6px;
	padding: 26px 26px 28px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: transform .2s ease, box-shadow .2s ease;
}
.wv-rss-cards.wp-block-rss.is-grid li:hover {
	transform: translateY(-3px);
	box-shadow: 0 16px 36px -22px rgba(60, 45, 25, .5);
}
/* Datum als kleines Eyebrow-Label über den Titel */
.wv-rss-cards .wp-block-rss__item-publish-date {
	order: -1;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--grau);
	margin: 0;
}
.wv-rss-cards .wp-block-rss__item-title a {
	font-family: var(--wp--preset--font-family--serif);
	font-size: 1.3rem;
	line-height: 1.3;
	font-weight: 500;
	color: var(--wp--preset--color--tinte);
	text-decoration: none;
}
.wv-rss-cards .wp-block-rss__item-title a:hover {
	color: var(--wp--preset--color--brand);
}
.wv-rss-cards .wp-block-rss__item-excerpt {
	font-size: 1rem;
	line-height: 1.6;
	font-weight: 300;
	color: var(--wp--preset--color--text-muted);
	margin: 0;
}
@media (max-width: 781px) {
	.wv-rss-cards.wp-block-rss.is-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Hover-Zustände – einheitlich für alle Buttons & Sonder-Links.
   theme.json deckt Standard-Links (→ brand-dark) und Standard-
   Buttons (→ brand-dark) ab. Hier die Fälle, bei denen inline
   gesetzte Farben den Standard-Hover aushebeln (Outline-Buttons,
   Footer-Links, helle Links auf farbigem Grund). !important, weil
   die Inline-Styles sonst gewinnen.
   ============================================================ */

/* Sanfte Übergänge überall dort, wo ein Hover greift */
.wp-block-button__link,
.wp-block-social-link,
footer a { transition: background-color .18s ease, border-color .18s ease, color .18s ease, opacity .18s ease; }

/* Gefüllte Buttons – auch wenn die Textfarbe inline gesetzt ist */
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--brand-dark) !important;
	color: var(--wp--preset--color--weiss) !important;
}

/* Outline-Buttons (z. B. „Zum Portfolio", „Wer schreibt hier?") –
   beim Hover mit dem Akzent füllen */
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus {
	background-color: var(--wp--preset--color--brand) !important;
	border-color: var(--wp--preset--color--brand) !important;
	color: var(--wp--preset--color--weiss) !important;
}

/* Footer-Textlinks – von Grau auf Weiß */
footer .has-link-color a:hover,
footer .has-link-color a:focus { color: #ffffff !important; }

/* Footer-Social-Icons – dezent aufhellen */
footer .wp-block-social-link:hover { opacity: .7; }

/* Helle Links auf farbigem Grund (z. B. „Mehr über mich →" im roten
   Band): unterstreichen statt Farbwechsel, damit sichtbar */
.has-brand-background-color .has-link-color a:hover,
.has-brand-background-color .has-link-color a:focus {
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* --- Autorenzeile unter Beiträgen ---
   Core setzt die Byline auf .5em (~7,5px) – unlesbar. Hier lesbare Größen:
   „Geschrieben von" als kleines Eyebrow-Label, Name deutlich größer. */
.wp-block-post-author__byline {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--grau);
	margin-bottom: 5px;
}
.wp-block-post-author__name {
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--tinte);
}
.wp-block-post-author__name a {
	color: inherit;
	text-decoration: none;
	transition: color .15s ease;
}
.wp-block-post-author__name a:hover { color: var(--wp--preset--color--brand); }
.wp-block-post-author__bio { font-size: 0.95rem; line-height: 1.6; color: var(--wp--preset--color--text-muted); }
