/**
Theme Name: Saatkorn
Author: Mark Heuermann - epunks GmbH
Author URI: https://epunks.de
Description: Saatkorn Theme - Based on Astra Pro
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: saatkorn
Template: astra
*/

/* ==========================================================================
   Abdunkel-Layer hinter dem aufgeklappten mobilen Menue: das Popup selbst
   ist nur so hoch wie sein eigener Inhalt (position:absolute, keine feste
   Viewport-Hoehe) - der restliche Content (Hero, Trust-Bar, "Nach oben"-
   Button) blieb dadurch ungedimmt sichtbar darunter. Astra setzt bei
   offenem Menue automatisch die Body-Klasse "ast-main-header-nav-open" -
   die wird hier als Hook genutzt, kein eigenes JS noetig. Header bekommt
   einen hoeheren z-index als der Layer, damit Menue/Popup obenauf bleiben. */
body.ast-main-header-nav-open::after {
	content: "";
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.9);
	z-index: 220;
}
body.ast-main-header-nav-open .site-header {
	position: relative;
	z-index: 230;
}

/* ==========================================================================
   "Nach oben"-Button (Astra #ast-scroll-top): sitzt sonst mit z-index:99
   hinter der fixierten Trust-Bar (z-index:200) versteckt.
   ========================================================================== */
#ast-scroll-top {
	z-index: 210;
	bottom: 54px;
	/* Gleicher Tuerkis-zu-Pink-Verlauf wie der Burger-Menu-Button (35 Grad
	   gedreht) statt Astras orangefarbenem Standard-Hintergrund - nutzt
	   dieselbe <linearGradient id="sk-burger-gradient"> aus functions.php
	   (saatkorn_burger_gradient_def(), sitewide im wp_footer). */
	background: transparent !important;
	border: 1px solid transparent !important;
	border-image: linear-gradient(125deg, #14C8C8, #F028AA) 1 !important;
}
#ast-scroll-top svg {
	fill: url(#sk-burger-gradient) !important;
}

/* ==========================================================================
   Zeilenabstand H2/H3 = Schriftgroesse (1em). Astras Customizer-Einstellung
   "line-height-h2/h3" ist auf 1 gesetzt, die generierte CSS liefert aber
   weiterhin 1.2em (spezifischere h2/h3-Regel gewinnt gegen die allgemeine
   Headings-Regel) - deshalb hier direkt fixiert.
   ========================================================================== */
h2,
h3 {
	line-height: 1em !important;
}

/* ==========================================================================
   Schriftanwendung: Navigation, Buttons und Highlights (Atkinson Hyperlegible
   Mono) bekommen einheitlich Letter-Spacing -0.05em. Astra hat dafuer keine
   eigene Customizer-Einstellung, daher hier auf den gleichen Selektoren wie
   Astras eigene Button-Typography + dem Primary-Menu. !important bei den
   Buttons noetig, weil einzelne UAGB-Buttons ("Explore WorkTech" etc.) im
   Editor ein eigenes letterSpacing im Block gesetzt haben, das sonst
   gewinnt.
   ========================================================================== */
button,
.ast-button,
.uagb-buttons-repeater.wp-block-button__link,
input#submit,
input[type="button"],
input[type="submit"],
input[type="reset"] {
	letter-spacing: -0.05em !important;
}
.main-header-menu a,
.ast-header-navigation-menu a {
	letter-spacing: -0.05em;
}

/* Mobile-Menue-Popup: Astra rendert das Aufklapp-Menue standardmaessig mit
   hellem Kartenhintergrund (#f9f9f9) und dunkler Schrift - passt nicht zum
   sonst komplett dunklen Theme. Gleiche Optik wie Desktop-Nav erzwingen. */
.main-header-menu,
.main-header-menu li,
.main-header-menu a,
.main-header-menu .menu-link,
.main-header-menu .sub-menu {
	background-color: #000000 !important;
	background-image: none !important;
}
/* Im Popup faellt der Menu-Font sonst auf "Inter Tight" 16px zurueck (nur
   auf Desktop greift Astras eigene Font-Family-Einstellung) - explizit auf
   dieselbe Nav-Typo wie Desktop (Atkinson Mono, 18px) gesetzt. */
.main-header-menu a,
.main-header-menu .menu-link {
	font-family: 'Atkinson Hyperlegible Mono', sans-serif;
	font-size: 18px;
}
/* Eigenes Padding deaktiviert - der linke/rechte Abstand kommt einheitlich
   von .ast-mobile-header-content (siehe dort), damit Nav/Suche/Sprache/
   Login IMMER dieselbe Kante wie Logo/Close-Button haben, statt mit
   Astras eigener (abweichender) Breakpoint-Logik zu kollidieren. */
.main-header-menu .menu-link {
	padding-left: 0 !important;
}
.main-header-menu a,
.main-header-menu .menu-link {
	color: #ffffff !important;
}
.main-header-menu a:hover,
.main-header-menu a:active,
.main-header-menu a:focus {
	color: #14C8C8 !important;
}
/* WorkTech/Attitude im Popup-Menue in den jeweiligen Markenfarben, wie bei
   den Hero-Buttons "Explore WorkTech"/"Explore Attitude". */
.main-header-menu .menu-item-735 > a:hover,
.main-header-menu .menu-item-735 > a:active,
.main-header-menu .menu-item-735 > a:focus {
	color: #F028AA !important;
}
/* Sprachumschalter und Login-Button fehlten optisch im mobilen Popup-Menue:
   Astra rendert sie in einem eigenen Wrapper (.ast-mobile-header-content)
   mit hellem Standard-Hintergrund - weisser/oranger Text war darauf
   praktisch unsichtbar. Gleiche dunkle Optik wie das Hauptmenue erzwingen. */
/* Einzige Quelle fuer den seitlichen Abstand im Popup: dieselben Werte wie
   Logo/Close-Button im Header (24px bis 767px, 32px 768-976px, 20px ab
   977px - siehe Logo-Ausrichtung weiter unten). Alle Kind-Elemente
   (Nav/Suche/Sprache/Login) bekommen ihr eigenes Padding auf 0 gesetzt,
   damit nichts mehr gegen Astras eigene (abweichende) Breakpoint-Werte
   ankaempfen muss - eine Zahl pro Breite statt Einzel-Patches je Element. */
.ast-mobile-header-content {
	background-color: #000000 !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
}
@media (min-width: 768px) and (max-width: 976px) {
	.ast-mobile-header-content {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}
}
@media (min-width: 977px) {
	.ast-mobile-header-content {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}
.ast-mobile-header-content .ast-builder-language-switcher-menu-item-header {
	padding-left: 0 !important;
}
.ast-mobile-header-content .ast-header-button-1 .ast-custom-button-link {
	padding-left: 0 !important;
}
.ast-mobile-header-content .ast-search-menu-icon,
.ast-mobile-header-content .ast-header-search,
.ast-mobile-header-content .ast-header-button-1,
.ast-mobile-header-content .ast-header-language-switcher-element {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
/* ==========================================================================
   Sprachumschalter (EN | DE): einheitliche Pillen-Optik in Desktop-Header
   UND mobilem Popup-Menue. Trennstrich als absolut positioniertes
   Pseudo-Element vor dem zweiten Item, mittig in der Luecke zentriert.
   Aktive Sprache gefuellt/fett hervorgehoben (Klasse wird per JS gesetzt,
   saatkorn_lang_switcher_current_script() in functions.php, da Astra EN/DE
   im Markup nicht selbst unterscheidet).
   ========================================================================== */
.ast-builder-language-switcher-menu-item-header {
	/* Astra gibt dem <li> zusaetzlich 10px eigenes Vertikal-Padding, obendrauf
	   auf das Padding des Wrapper-Blocks - dadurch wirkte der Abstand zum
	   naechsten Menue-Punkt (z.B. Login) fast doppelt so gross wie ueberall
	   sonst. Nur oben/unten genullt, links/rechts bleibt fuer den Abstand
	   zwischen EN/DE erhalten. */
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.ast-builder-language-switcher-menu-item-header + .ast-builder-language-switcher-menu-item-header {
	position: relative;
	margin-left: 4px;
}
.ast-builder-language-switcher-menu-item-header + .ast-builder-language-switcher-menu-item-header::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 14px;
	background: #ffffff;
}
.ast-builder-language-switcher-menu-item-header a {
	color: #8a8f98 !important;
	font-family: 'Atkinson Hyperlegible Mono', sans-serif;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: -0.05em;
	border: 1px solid #444444;
	border-radius: 999px;
	padding: 2px 12px;
	display: inline-block;
}
.ast-builder-language-switcher-menu-item-header a:hover,
.ast-builder-language-switcher-menu-item-header a:active,
.ast-builder-language-switcher-menu-item-header a:focus {
	color: #14C8C8 !important;
	border-color: #14C8C8;
}
.ast-builder-language-switcher-menu-item-header a.sk-lang-current {
	background-color: #2a2a2a !important;
	border-color: #444444;
	font-weight: 700;
}
.ast-builder-language-switcher-menu-item-header a.sk-lang-current,
.ast-builder-language-switcher-menu-item-header a.sk-lang-current span {
	color: #ffffff !important;
}
.ast-mobile-header-content .ast-header-button-1 .ast-custom-button-link,
.ast-mobile-header-content .ast-header-button-1 .ast-custom-button {
	color: #ffffff !important;
	font-family: 'Atkinson Hyperlegible Mono', sans-serif;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: -0.05em;
}
.ast-mobile-header-content .ast-header-button-1 .ast-custom-button-link:hover,
.ast-mobile-header-content .ast-header-button-1 .ast-custom-button-link:active,
.ast-mobile-header-content .ast-header-button-1 .ast-custom-button-link:focus {
	color: #14C8C8 !important;
}

/* Menu-Text ist durch die line-height:80px-Zentrierung (Header-Hoehe) rein
   optisch ca. 4px zu weit oben - Unterkante soll auf Logo-Unterkante
   sitzen. Transform statt Padding, damit sich die Klickflaeche/Header-Hoehe
   nicht veraendert. */
.main-header-menu > li > a,
ul.main-header-menu > li > a {
	display: inline-block;
	transform: translateY(9px);
}

/* Login und Sprachumschalter sitzen in derselben Header-Zeile - gleiche
   Korrektur, damit alle Navigationselemente auf einer Linie sind. */
.ast-header-button-1 .ast-custom-button-link,
.ast-builder-language-switcher-menu-item-header {
	display: inline-block;
	transform: translateY(9px);
}

/* Such-Icon: eigener Offset, da Icon-Groesse/Baseline anders liegt als
   Text - ebenfalls auf Logo-Unterkante ausgerichtet. */
.ast-search-icon .astra-search-icon {
	display: inline-block;
	transform: translateY(8px);
}

/* ==========================================================================
   Claim "Where WorkTech meets Attitude" (Startseite, Eyebrow ueber der H1):
   nur dieser Teil bekommt den Verlauf, "Saatkorn:" davor bleibt in der
   normalen Textfarbe. Einziger Verlaufstext auf der Seite.
   ========================================================================== */
.sk-claim-gradient {
	background: linear-gradient(90deg, #14C8C8, #F028AA);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

/* ==========================================================================
   Vertikaler Rhythmus Hero-Textblock (Eyebrow/H1/Subtext/Buttons/Kleingedr.):
   Eltern-Wrap ist display:flex;flex-direction:column mit einem eigenen
   row-gap:14px von UAGB, PLUS eigene UAGB-!important-Margins mit hoeherer
   Selector-Spezifitaet (.wp-block-uagb-container.uagb-block-XXX statt nur
   .uagb-block-XXX) - beides hier neutralisiert/ueberschrieben, damit die
   Ziel-Abstaende exakt stimmen statt sich aufzuaddieren.
   Bewusst auf den Hero-Block (uagb-block-d3766248) eingeschraenkt statt
   global - eine ungezielte ".uagb-container-inner-blocks-wrap"-Regel hat
   sonst jeden UAGB-Container auf der Seite getroffen, u.a. den Abstand
   zwischen 4er- und 12er-Teaser-Reihe auf 0 gesetzt (2026-09-29 behoben). */
.uagb-block-d3766248 > .uagb-container-inner-blocks-wrap {
	row-gap: 0 !important;
}
.wp-block-uagb-info-box.uagb-block-5ce0bbc1 {
	margin-bottom: 16px !important;
}
.wp-block-uagb-info-box.uagb-block-25ad1463 {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
}
.uagb-block-25ad1463 + p {
	margin-top: 0 !important;
	margin-bottom: 40px !important;
}
.wp-block-uagb-container.uagb-block-8feab85e {
	margin-top: 0 !important;
	margin-bottom: 40px !important;
}
.wp-block-uagb-container.uagb-block-6d59bc15 {
	margin-top: 0 !important;
}

/* ==========================================================================
   Startseite "Attitude"-Content-Kacheln: Spectra rendert den im Editor
   gesetzten backgroundColor fehlerhaft (var(u002du002dast-global-color-2)
   landet unveraendert/undekodiert im style-Attribut, ist ausserdem keine
   real definierte CSS-Variable) - Hintergrund faellt dadurch komplett weg.
   Fix direkt per Klasse+data-spectra-id, Radius (40px oben) kommt weiterhin
   korrekt aus dem Editor (nur am Bild, nicht am Container - daher hier auf
   den Container uebertragen + overflow:hidden, damit die Karte inkl. Rahmen
   dieselbe abgerundete Form hat wie das Bild). Dezenter Rahmen wie bei der
   Saatkorn-KI-Box (.saatkorn-ai-search-card, selbe Randfarbe #2a2a2a).
   ========================================================================== */
[data-spectra-id="spectra-mfdg0wk0-jn8gxr"],
[data-spectra-id="spectra-mfdg0x6w-2cp67t"] {
	background-color: #110B11 !important;
	border: 1px solid #2a2a2a !important;
	border-radius: 40px 40px 18px 18px !important;
	overflow: hidden !important;
}

/* ==========================================================================
   Astra generiert sitweit eine eigene, inline eingebundene Default-Regel
   ("button, .ast-button, ... { text-transform: uppercase }" sowie dieselbe
   fuer ".wp-block-button__link"), die per Block-Attribut nicht abschaltbar
   ist. Designvorgabe: keine Versalien mehr, ausser dem Hero-H1 - deshalb
   hier sitweit fuer alle Buttons per !important zurueckgesetzt.
   ========================================================================== */
button,
select,
.ast-button,
.ast-custom-button,
.button,
input#submit,
input[type="button"],
input[type="submit"],
input[type="reset"],
.wp-block-button .wp-block-button__link,
.wp-block-search .wp-block-search__button,
.wp-block-file .wp-block-file__button {
	text-transform: none !important;
}

/* ==========================================================================
   Header "Login"-Link (Astra Header-Builder Button 1): als reiner Text-Link
   dargestellt statt als Button, passend zu den anderen Navigationslinks.
   ========================================================================== */
.ast-header-button-1 .ast-custom-button-link,
.ast-header-button-1 .ast-custom-button {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	white-space: nowrap;
	color: #ffffff;
	font-size: 18px;
	font-weight: 400;
	font-family: 'Atkinson Hyperlegible Mono', sans-serif;
	letter-spacing: -0.05em;
}
.ast-header-button-1 .ast-custom-button-link:hover,
.ast-header-button-1 .ast-custom-button-link:hover .ast-custom-button {
	color: #14C8C8;
}

/* ==========================================================================
   Trust-Bar (Kennzahlen-Leiste direkt unter der Navigation)
   ========================================================================== */
.saatkorn-trustbar {
	--tb-bg: #000000;
	--tb-fg: #ffffff;
	--tb-muted: #8a8f98;
	--tb-cyan: #2FE0D6;
	--tb-pink: #FF3E9C;
	--tb-divider: #2a2a2a;

	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 200;
	background: var(--tb-bg);
	color: var(--tb-fg);
	padding: 22px 0;
	overflow-x: auto;
	scrollbar-width: none;
	box-shadow: 0 -4px 16px rgba(0, 0, 0, .45);
	/* Astra zwingt jedem direkten Kind von .entry-content eine
	   max-width (Content-Breite) + Auto-Margin auf - hier aushebeln,
	   damit die Bar wirklich 100% Viewport-Breite bekommt. */
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	/* Startet ausserhalb des Viewports (unten) und faehrt beim ersten
	   Scrollen hoch - siehe saatkorn_trustbar_reveal_script() in
	   functions.php, die die Klasse .is-visible ergaenzt. */
	transform: translateY(100%);
	transition: transform 0.4s ease;
}
.saatkorn-trustbar.is-visible {
	transform: translateY(0);
}
.saatkorn-trustbar::-webkit-scrollbar {
	display: none;
}

/* Reserviert Platz am Seitenende, damit die fixierte Trust-Bar keinen
   Content/Footer verdeckt (tatsaechliche Bar-Hoehe: ~140px Desktop,
   ~132px Mobile, + kleiner Puffer). */
body {
	padding-bottom: 130px;
}
@media (max-width: 976px) {
	body {
		padding-bottom: 0;
	}
	/* Unter 960px komplett ausgeblendet statt im Textfluss gezeigt - auf
	   schmalen Screens war dafuer zu wenig Platz/Relevanz. */
	.saatkorn-trustbar {
		display: none !important;
	}
}

/* Aeusseres Padding (20px, wie Hero/H1: alignfull-Box + eigenes Padding,
   siehe .uagb-block-d3766248) - ohne das sass der Inhalt unterhalb 1360px
   Breite direkt am Browser-Rand (max-width+margin:auto zentriert erst
   OBERHALB von 1360px, darunter ist kein Puffer vorhanden).
   Symmetrisch (20px beidseitig) - der Platz fuer #ast-scroll-top wird NICHT
   hier reserviert (siehe .saatkorn-trustbar-inner weiter unten): asymmetrisches
   Aussen-Padding (frueher 76px rechts) verschob den margin:auto-zentrierten
   Inner-Wrapper bei sehr breiten Screens 28px zu weit nach links, weil
   margin:auto die Differenz je zur Haelfte auf beide Seiten verteilt statt
   sie einseitig auszugleichen - "Seit 2009" lag dadurch nicht mehr auf
   gleicher Kante wie Footer-Logo/H1/Header-Logo. */
.saatkorn-trustbar {
	padding-left: 20px;
	padding-right: 20px;
}

/* Inner-Wrapper: haelt den Inhalt auf derselben Breite wie Navigation und
   Hero-Section (site-content-width, 1360px), egal ob volle Breite (Unterseiten,
   Hintergrund bleibt edge-to-edge) oder Boxed-Variante (Startseite).
   padding-right reserviert hier (innerhalb des bereits zentrierten
   1360px-Rahmens) den Platz fuer #ast-scroll-top, statt aussen am
   Trustbar-Container - so bleibt die Zentrierung symmetrisch/korrekt. */
.saatkorn-trustbar-inner {
	display: flex;
	align-items: center;
	width: 100%;
	max-width: 1360px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-right: 56px;
}

/* Unterseiten (volle Breite, kein --boxed): 5px weniger Innenabstand als auf der Startseite. */
.saatkorn-trustbar:not(.saatkorn-trustbar--boxed) .saatkorn-trustbar-inner {
	padding-top: 15px;
	padding-bottom: 15px;
}

.saatkorn-trustbar .stat {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 0 16px;
	white-space: nowrap;
	border-right: 1px solid var(--tb-divider);
	flex: 1 1 0;
	min-width: 0;
}
.saatkorn-trustbar .stat:first-child {
	padding-left: 0;
}
.saatkorn-trustbar .stat:last-of-type {
	border-right: none;
}

.saatkorn-trustbar .stat-icon {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.saatkorn-trustbar .stat-icon svg {
	width: 100%;
	height: 100%;
}
.saatkorn-trustbar .stat-text {
	display: flex;
	flex-direction: column;
	line-height: 1.15;
}
.saatkorn-trustbar .stat-num {
	font-weight: 800;
	font-size: 17px;
	letter-spacing: .01em;
}
.saatkorn-trustbar .stat-label {
	font-size: 11px;
	color: var(--tb-muted);
	letter-spacing: .04em;
	margin-top: 2px;
}
.saatkorn-trustbar .cyan {
	color: var(--tb-cyan);
}
.saatkorn-trustbar .pink {
	color: var(--tb-pink);
}

.saatkorn-trustbar .person {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
	padding-left: 16px;
	flex: 1 1 0;
	min-width: 0;
}
.saatkorn-trustbar .avatar {
	width: 56px;
	height: 56px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
	object-position: center top;
	border: 1.5px solid rgba(255, 255, 255, .15);
}
.saatkorn-trustbar .person-text {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}
.saatkorn-trustbar .person-name {
	font-weight: 800;
	font-size: 14px;
	letter-spacing: .02em;
}
.saatkorn-trustbar .person-role {
	font-size: 11px;
	color: var(--tb-muted);
	margin-top: 2px;
}

/* ==========================================================================
   Checkmark-Liste (Startseite, unter "Bessere Worktech Entscheidungen")
   ========================================================================== */
.saatkorn-checklist {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 16px 32px;
	margin-top: 24px !important;
	width: 100%;
}
.saatkorn-checklist-item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 !important;
	white-space: nowrap;
}
.saatkorn-checklist-icon {
	width: 22px;
	height: 22px;
	flex-shrink: 0;
	color: #14C8C8;
}
.saatkorn-checklist-item span {
	display: inline !important;
	color: rgba(255, 255, 255, .85);
	font-size: 16px;
	line-height: 1.3;
}
@media (max-width: 600px) {
	.saatkorn-checklist {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   [saatkorn_ai_search]-Shortcode: "SAATKORN-KI"-Suchbox mit Beispiel-Pills
   ========================================================================== */
.saatkorn-ai-search {
	--ai-bg: #0d0d0d;
	--ai-fg: #ffffff;
	--ai-muted: #8a90a6;
	--ai-cyan: #14c8c8;
	--ai-pink: #f028aa;
	--ai-border: #2a2a2a;
	width: 100%;
	background: var(--ai-bg);
	border: 1px solid var(--ai-border);
	border-radius: 20px;
	overflow: hidden;
}
.saatkorn-ai-search-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	/* Rechtes Padding bewusst groesser als links: soll den Info-Button auf
	   dieselbe Flucht wie den Such-Button im Eingabefeld darunter bringen
	   (der sitzt hinter dem Karten-Padding + eigenem Form-Padding weiter
	   innen) - siehe .saatkorn-ai-search-card/-form (2026-09-18). */
	padding: 12px 38px 12px 16px;
	border-bottom: 1px solid var(--ai-border);
}
/* Segmented-Control-Kasten (2026-09-18, nachgemessen auf der Vorlage
   r1.tekay.net): beide Tabs gleich breit in einem gemeinsamen umschlossenen
   Kasten statt lose nebeneinander. */
.saatkorn-ai-search-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	flex: 1;
	min-width: 0;
	gap: 4px;
	padding: 4px;
	border-radius: 14px;
	border: 1px solid var(--ai-border);
	background: rgba(0, 0, 0, 0.4);
}
.saatkorn-ai-search-tab {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: 'Atkinson Hyperlegible Mono', monospace;
	font-size: 18px;
	font-weight: 400;
	letter-spacing: -0.02em;
	color: var(--ai-muted) !important;
	text-decoration: none !important;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid transparent;
	white-space: nowrap;
}
.saatkorn-ai-search-tab-icon {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
}
/* Gleiche Rahmen/Fuellungs-Logik wie bei den Teaser-Icons (siehe
   svg.saatkorn-term-icon, dort per currentColor+color-mix) - hier explizit
   auf Teal bezogen (nicht currentColor, da der Tab-Text selbst weiss
   bleiben soll), nur auf einen laenglichen Tab statt eines quadratischen
   Icons angewandt (2026-09-18). */
.saatkorn-ai-search-tab.is-active {
	color: var(--ai-fg) !important;
	border-color: color-mix(in srgb, var(--ai-cyan) 37%, transparent);
	background-color: color-mix(in srgb, var(--ai-cyan) 10%, transparent);
}
.saatkorn-ai-search-tab.is-active .saatkorn-ai-search-tab-icon {
	color: var(--ai-pink);
}
.saatkorn-ai-search-badge {
	font-size: 10px;
	font-weight: 700;
	color: var(--ai-cyan);
	background: rgba(20, 200, 200, 0.18);
	border-radius: 999px;
	padding: 2px 8px;
	letter-spacing: 0;
}
.saatkorn-ai-search-info {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid transparent;
	/* Gleiche Rahmen+Fuellungs-Logik wie unsere Icon-Badges
	   (svg.saatkorn-term-icon: getoentes Fuellung + Rahmen), hier als
	   Tuerkis-zu-Pink-Verlauf statt Einzelfarbe. Kein mask-composite (das
	   wuerde auch das Icon-Kind ausstanzen) - stattdessen zwei Hintergrund-
	   Ebenen: innen leicht getoente, deckende Kartenfarbe (padding-box),
	   aussen der Verlauf als Rahmen (border-box). */
	background: linear-gradient(color-mix(in srgb, var(--ai-cyan) 10%, var(--ai-bg)), color-mix(in srgb, var(--ai-cyan) 10%, var(--ai-bg))) padding-box,
		linear-gradient(135deg, var(--ai-cyan), var(--ai-pink)) border-box;
	cursor: pointer;
	text-decoration: none;
}
.saatkorn-ai-search-info svg {
	width: 18px;
	height: 18px;
	color: var(--ai-fg);
}
.saatkorn-ai-search-card {
	padding: 28px 32px 24px;
}
.saatkorn-ai-search-instruction {
	color: var(--ai-fg);
	font-size: 16px;
	margin: 0 0 16px;
}
.saatkorn-ai-search-form {
	display: flex;
	align-items: center;
	gap: 10px;
	border: 1px solid var(--ai-border);
	border-radius: 16px;
	padding: 6px 6px 6px 20px;
	background: #151515;
}
.saatkorn-ai-search-input {
	flex: 1 1 auto;
	min-width: 0;
	/* Astras input[type="text"]-Default (var(--ast-comment-inputs-background))
	   hat hoehere Spezifitaet (Element+Attribut) als unsere Klasse -
	   braucht !important. */
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--ai-fg) !important;
	font-size: 16px !important;
	padding: 12px 0 !important;
}
.saatkorn-ai-search-input:focus {
	outline: none;
}
.saatkorn-ai-search-input::placeholder {
	color: var(--ai-muted) !important;
}
.saatkorn-ai-search-submit {
	flex-shrink: 0;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border-radius: 12px;
	border: none;
	background: var(--ai-cyan);
	color: #06201f;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity .15s ease;
}
.saatkorn-ai-search-submit:hover {
	opacity: .85;
}
.saatkorn-ai-search-submit svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	display: block;
}
.saatkorn-ai-search-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 0;
	overflow-x: auto;
}
.saatkorn-ai-search-pill {
	background: transparent;
	border: 1px solid #3a3a3a;
	border-radius: 999px;
	color: var(--ai-fg);
	font-family: 'Atkinson Hyperlegible Mono', monospace;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.02em;
	padding: 10px 20px;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.saatkorn-ai-search-pill:hover {
	background: var(--ai-cyan);
	border-color: var(--ai-cyan);
	color: #06201f;
}
.saatkorn-ai-search-privacy {
	display: flex;
	align-items: center;
	gap: 8px;
	color: var(--ai-fg);
	font-size: 16px;
	margin: 20px 0 0;
}
.saatkorn-ai-search-privacy svg {
	flex-shrink: 0;
}
@media (max-width: 600px) {
	.saatkorn-ai-search-topbar {
		flex-wrap: wrap;
		row-gap: 10px;
	}
	.saatkorn-ai-search-card {
		padding: 20px;
	}
	.saatkorn-ai-search-pills {
		flex-wrap: nowrap;
	}
}
/* Segmented-Control-Tabs auf schmalen Screens: "SAATKORN-AI"+Beta-Badge
   und "Filtersuche" ueberlappten sich nebeneinander (2026-09-18) - unter
   480px stapeln statt quetschen, dazu Text/Badge etwas kleiner. */
@media (max-width: 480px) {
	/* Info-Button rechtsbuendig neben "Filtersuche" statt eigener Zeile
	   (2026-09-18): Topbar wird zum 2-Spalten-Grid, SAATKORN-AI-Tab spannt
	   oben beide Spalten, Filtersuche + Info-Button teilen sich die
	   zweite Zeile. ".saatkorn-ai-search-tabs" wird "display:contents",
	   damit seine beiden Tab-Kinder direkte Grid-Items der Topbar werden. */
	.saatkorn-ai-search-topbar {
		display: grid;
		grid-template-columns: 1fr auto;
		grid-template-areas: "ai ai" "filter info";
		align-items: center;
		row-gap: 8px;
	}
	.saatkorn-ai-search-tabs {
		display: contents;
	}
	.saatkorn-ai-search-tab.is-active {
		grid-area: ai;
	}
	.saatkorn-ai-search-tab:not(.is-active) {
		grid-area: filter;
	}
	.saatkorn-ai-search-info {
		grid-area: info;
	}
	.saatkorn-ai-search-tab {
		font-size: 14px;
		padding: 8px 10px;
	}
	.saatkorn-ai-search-badge {
		font-size: 9px;
	}
}

/* ==========================================================================
   FAQ-Box auf der Startseite: dunkler Hintergrund, heller Text (invertiert,
   passend zum restlichen dunklen Seitendesign). Ueberschriften (h1-h6)
   brauchen einen expliziten Override, weil Astras globale Weiss-Farbe fuer
   Headings ueber einfache Element-Selektoren immer vor geerbter Farbe
   gewinnt - Fliesstext (p) erbt dagegen korrekt.
   !important auf background-color/color (2026-09-29 ergaenzt): UAGB
   generiert seinen eigenen Cache fuer diesen Block nicht deterministisch
   mit gleicher Selektor-Spezifitaet - mal ".uagb-block-d5a098f7" (0,1,0,
   von uns hier schlagbar), mal ".wp-block-uagb-container.uagb-block-d5a098f7"
   (0,2,0, spezifischer als unsere einfache Klasse) mit
   "background-color: var(--ast-global-color-5)" (= weiss). Bei jeder
   Cache-Neugenerierung kann sich das unbemerkt umdrehen - !important macht
   den Override unabhaengig davon, welche Variante UAGB gerade erzeugt. */
.uagb-block-d5a098f7 {
	background-color: #000000 !important;
	color: #ffffff !important;
}
.uagb-block-d5a098f7 h1,
.uagb-block-d5a098f7 h2,
.uagb-block-d5a098f7 h3,
.uagb-block-d5a098f7 h4,
.uagb-block-d5a098f7 h5,
.uagb-block-d5a098f7 h6 {
	color: #ffffff !important;
}
/* Intro-Text ueber der FAQ ("Brauchst du eine schnelle Antwort...") und die
   Antwort-Texte in den aufgeklappten FAQ-Items haben beide ihre eigene,
   UAGB-generierte Farbe (var(--ast-global-color-3), dunkles Navy) - die
   erbt NICHT vom obigen Block-Override, weil beide Selektoren spezifischer
   sind. Auf Wunsch (2026-09-29) ebenfalls weiss. */
.uagb-block-8490f342 .uagb-ifb-desc,
.uagb-block-835fc823 .uagb-faq-item .uagb-faq-content {
	color: #ffffff !important;
}

/* ==========================================================================
   [saatkorn_divider]-Shortcode: dezenter Trennstrich zwischen Content-Bloecken
   ========================================================================== */
.saatkorn-divider {
	--saatkorn-divider-margin-top: 0px;
	--saatkorn-divider-margin-bottom: 0px;
	--saatkorn-divider-padding: 0px;
	box-sizing: content-box;
	width: 100%;
	flex-shrink: 0;
	height: 2px;
	background: linear-gradient(90deg, #14C8C8, #F028AA);
	margin-top: var(--saatkorn-divider-margin-top);
	margin-bottom: var(--saatkorn-divider-margin-bottom);
	padding-top: var(--saatkorn-divider-padding);
	padding-bottom: var(--saatkorn-divider-padding);
}
/* Hochkant-Variante (2026-09-24): gleicher Verlauf, nur um 90 Grad gedreht
   und als schmale, volle Spaltenhoehe stehende Linie - fuer Trenner
   zwischen Spalten (z.B. saatkorn_divider orientation="vertical"). Nutzt
   dieselben --saatkorn-divider-margin-*-Variablen, hier als links/rechts
   statt oben/unten. */
.saatkorn-divider--vertical {
	width: 1px;
	height: 100%;
	min-height: 100%;
	background: linear-gradient(180deg, #14C8C8, #F028AA);
	opacity: 0.5;
	/* Steht meist allein in einer schmalen Spacer-Spalte (siehe Attitude-
	   Post-Grid/Info-Box-Layout) - standardmaessig horizontal zentriert
	   statt an den (ungenutzten) horizontalen Trennerabstaenden. */
	margin: 0 auto;
}

/* ==========================================================================
   WorkTech-Suchformular ([worktech_search] Shortcode): an den Input/Button-
   Stil der Saatkorn-AI-Suchbox von der Startseite angeglichen (Pill-Form,
   siehe .saatkorn-ai-search-form/-input/-submit), statt eigenem eckigem
   Look (Feedback 2026-09-30).
   ========================================================================== */
.saatkorn-worktech-search {
	display: flex;
	align-items: center;
	gap: 10px;
	max-width: 560px;
	border: 1px solid #2a2a2a;
	border-radius: 16px;
	padding: 6px 6px 6px 20px;
	background: #151515;
}
.saatkorn-worktech-search-input {
	flex: 1 1 auto;
	min-width: 0;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #ffffff !important;
	font-size: 16px !important;
	padding: 12px 0 !important;
}
.saatkorn-worktech-search-input::placeholder {
	color: #8a90a6 !important;
}
.saatkorn-worktech-search-input:focus {
	outline: none;
}
.saatkorn-worktech-search-button {
	flex-shrink: 0;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	border-radius: 12px;
	border: none;
	background: #14C8C8;
	color: #06201f;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: opacity .15s ease;
}
.saatkorn-worktech-search-button:hover {
	opacity: .85;
}
.saatkorn-worktech-search-button svg {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	display: block;
}

.wp-block-post-terms {
	display: inline-flex;
	align-items: flex-start;
	gap: 6px;
}
.saatkorn-term-icon {
	width: 15px;
	height: 15px;
	flex-shrink: 0;
	color: currentColor;
}

/* ==========================================================================
   Schwarzer Outline-Button mit Pfeil-Icon (uagb/buttons), site-weit:
   "EXPLORE WORKTECH" / "EXPLORE ATTITUDE" im Hero, "Get Started" im
   GERO-CTA. Astras globale Button-Hover-Farbe (--ast-global-color-0,
   ATTITUDE-Pink) greift sonst fuer alle gleich - Hover-Farbe soll aber
   zur jeweiligen Marke passen (WORKTECH=Cyan, ATTITUDE=Pink, Standard
   ohne Markenwort=Cyan). Der farbige Markenname-Text (.worktech/.attitude,
   per !important gesetzt) muss beim Hover mit auf Schwarz wechseln, sonst
   wird er unlesbar (z.B. pinker Text auf pinkem Hover-Hintergrund).
   ========================================================================== */
.uagb-buttons-repeater.wp-block-button__link {
	border-color: #14C8C8 !important;
}
.uagb-buttons-repeater.wp-block-button__link:has(.attitude),
.uagb-block-a3f7c9d1 .uagb-buttons-repeater.wp-block-button__link,
.uagb-block-47b5ffd5 .uagb-buttons-repeater.wp-block-button__link {
	border-color: #F028AA !important;
}
.uagb-buttons-repeater.wp-block-button__link:hover,
.uagb-buttons-repeater.wp-block-button__link:active,
.uagb-buttons-repeater.wp-block-button__link:focus {
	background-color: #14C8C8 !important;
	border-color: #14C8C8 !important;
	color: #000000 !important;
}
.uagb-buttons-repeater.wp-block-button__link:hover .uagb-button__link,
.uagb-buttons-repeater.wp-block-button__link:active .uagb-button__link,
.uagb-buttons-repeater.wp-block-button__link:focus .uagb-button__link {
	color: #000000;
}
.uagb-buttons-repeater.wp-block-button__link:has(.attitude):hover,
.uagb-buttons-repeater.wp-block-button__link:has(.attitude):active,
.uagb-buttons-repeater.wp-block-button__link:has(.attitude):focus,
.uagb-block-a3f7c9d1 .uagb-buttons-repeater.wp-block-button__link:hover,
.uagb-block-a3f7c9d1 .uagb-buttons-repeater.wp-block-button__link:active,
.uagb-block-a3f7c9d1 .uagb-buttons-repeater.wp-block-button__link:focus,
.uagb-block-47b5ffd5 .uagb-buttons-repeater.wp-block-button__link:hover,
.uagb-block-47b5ffd5 .uagb-buttons-repeater.wp-block-button__link:active,
.uagb-block-47b5ffd5 .uagb-buttons-repeater.wp-block-button__link:focus {
	background-color: #F028AA !important;
	border-color: #F028AA !important;
}
.uagb-buttons-repeater.wp-block-button__link:hover .worktech,
.uagb-buttons-repeater.wp-block-button__link:hover .attitude,
.uagb-buttons-repeater.wp-block-button__link:active .worktech,
.uagb-buttons-repeater.wp-block-button__link:active .attitude,
.uagb-buttons-repeater.wp-block-button__link:focus .worktech,
.uagb-buttons-repeater.wp-block-button__link:focus .attitude {
	color: #000000 !important;
}
.uagb-buttons-repeater.wp-block-button__link:hover .uagb-button__icon svg,
.uagb-buttons-repeater.wp-block-button__link:active .uagb-button__icon svg,
.uagb-buttons-repeater.wp-block-button__link:focus .uagb-button__icon svg {
	fill: #000000;
}

/* "Weiterlesen ->"-Link in den Post-Excerpts: ATTITUDE-Pink statt Weiss. */
.wp-block-post-excerpt__more-link {
	color: #F028AA !important;
}
.wp-block-post-excerpt__more-link:hover {
	color: #ffffff !important;
}

/* ==========================================================================
   "Load more"/"No more posts to show"-Button der Blog-Archiv-Infinite-
   Scroll-Pagination (Astra Blog Pro): an die Explore-WorkTech/Attitude-
   Pill-Buttons der Startseite angeglichen, statt Astras Standard-Look
   (2026-09-30).
   ========================================================================== */
.ast-load-more {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	background-color: #000000 !important;
	color: #ffffff !important;
	border: 2px solid #14C8C8 !important;
	border-radius: 30px !important;
	padding: 15px 30px !important;
	font-weight: 600;
	font-size: 16px;
	text-decoration: none !important;
	cursor: pointer;
}
.ast-load-more:not(.no-more):hover,
.ast-load-more:not(.no-more):focus {
	background-color: #14C8C8 !important;
	color: #000000 !important;
}
.ast-load-more.no-more {
	cursor: default;
	opacity: 0.85;
}

/* Artikel-Einzelansicht: Autor/Datum-Leiste (Astra-Standard, hellgrau) auf
   Schwarz umstellen, passend zum restlichen dunklen Seitendesign. Je nach
   Beitrag sitzt hier zusaetzlich auch die H1 drin (Astra-Einstellung
   "ast-normal-title-enabled") mit Astras dunkler Standard-Titelfarbe, die
   fuer einen hellen Hintergrund gedacht war - deshalb Text explizit weiss. */
.ast-single-entry-banner {
	background-color: #000000;
}
.ast-single-entry-banner,
.ast-single-entry-banner *,
.ast-single-entry-banner .entry-title,
.ast-single-entry-banner .entry-title a,
.ast-single-entry-banner .entry-meta,
.ast-single-entry-banner .entry-meta a {
	color: #ffffff !important;
}
.ast-single-entry-banner .entry-title a:hover,
.ast-single-entry-banner .entry-title a:hover *,
.ast-single-entry-banner .entry-meta a:hover,
.ast-single-entry-banner .entry-meta a:hover * {
	color: #F028AA !important;
}

/* Block-Editor: Die Additional CSS ("body { background: #000 !important }")
   wird von Gutenberg zusammen mit den Editor-Styles auch in den "Klassischer
   Editor"-Block (TinyMCE-iframe) eingespeist. Dessen <body> heisst dort
   ebenfalls einfach "body" und wird dadurch mitgetroffen - Schreibbereich
   war praktisch unsichtbar (dunkelgrauer Text auf Schwarz). Fuer die
   TinyMCE-Editierflaeche auf normale helle Editor-Optik zuruecksetzen. */
body.mce-content-body {
	background-color: #ffffff !important;
	color: #3a3a3a !important;
}

/* ==========================================================================
   Hero-Hintergrundfoto (Gero, als ::before auf .uagb-block-d3766248) ist
   nur fuer Desktop positioniert (feste %-Werte) - auf schmalen Screens
   zeigt das nur einen willkuerlichen Bildausschnitt hinter dem Text. Sauber
   ausblenden statt kaputt zuzuschneiden.
   ========================================================================== */
@media (max-width: 767px) {
	.uagb-block-d3766248::before {
		display: none !important;
	}
}

/* Zwischen Mobile (767px, Bild ausgeblendet) und dem Nav-Breakpoint (1280px)
   ueberlappt das Bild zunehmend den Text, weil die feste %-Position
   (80% -21%) nicht mit der schrumpfenden Breite mitskaliert. Als erster
   Zwischenschritt: Bild unten "andocken" (100% statt -21%) statt es mit
   dem Text kollidieren zu lassen. */
@media (min-width: 768px) and (max-width: 1260px) {
	.uagb-block-d3766248::before {
		background-position: calc(80% + 100px) 100px !important;
	}
}
@media (min-width: 1261px) and (max-width: 1699px) {
	.uagb-block-d3766248::before {
		background-position: 80% 100px !important;
	}
}

/* Ab 1700px soll das Bild wirklich "fix" sein: die Standard-%-Werte
   (80% -21%, Groesse 36% auto) skalieren mit der Container-Breite mit und
   bewegen/vergroessern das Bild bei jedem weiteren px Fensterbreite.
   Groesse eingefroren (612px, Wert bei 1700px). Position NICHT an die
   Viewport-Kante gebunden (die waechst unbegrenzt weiter), sondern an die
   rechte Kante des 1360px-Content-Rahmens (zentriert: 50% + 680px), damit
   das Bild im Rahmen bleibt statt bei sehr breiten Screens weiter nach
   rechts zu wandern. -218px = gleicher Innenabstand wie vorher bei 1700px. */
@media (min-width: 1700px) {
	.uagb-block-d3766248::before {
		background-size: 612px auto !important;
		background-position: calc(50% + 362px) 67px !important;
	}
}

/* ==========================================================================
   Hero-CTA-Buttons ("Explore WorkTech"/"Explore Attitude"): Wrapper immer
   linksbuendig, unabhaengig von Viewport-Breite (uagb-buttons ist
   inline-flex und kann sonst je nach Kontext zentriert wirken).
   ========================================================================== */
.uagb-block-7fe9040f.wp-block-uagb-buttons {
	text-align: left !important;
}
.uagb-block-7fe9040f .uagb-buttons__wrap {
	justify-content: flex-start !important;
}

/* Auf Mobile: statt nebeneinander gequetscht (Text bricht in der Pill um)
   volle Breite gestapelt. */
@media (max-width: 480px) {
	.uagb-block-7fe9040f .uagb-buttons__wrap {
		flex-direction: column;
		width: 100%;
	}
	.uagb-block-7fe9040f .wp-block-uagb-buttons-child {
		width: 100% !important;
		text-align: center !important;
	}
	.uagb-block-7fe9040f .uagb-button__wrapper {
		width: 100% !important;
	}
	.uagb-block-7fe9040f .uagb-buttons-repeater.wp-block-button__link {
		width: 100% !important;
		justify-content: center;
	}
}

/* ==========================================================================
   Logo-/Close-Button-Ausrichtung: Astra's Header-Container schaltet erst
   bei 1280px (astra_tablet_breakpoint) von Tablet- auf Desktop-Padding
   (32px -> 20px) um, waehrend UAGB-Bloecke (Hero) schon bei 977px auf
   Desktop-Padding (20px) wechseln. Dadurch waren Logo (links) UND
   Close-Button (rechts) im Bereich 977-1279px 12px weiter aussen als der
   Hero-Content. Beide Seiten auf den Hero-Wert (20px) angeglichen.
   ========================================================================== */
@media (min-width: 977px) and (max-width: 1279px) {
	.site-primary-header-wrap.ast-primary-header-bar {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* ==========================================================================
   Burger-Menu-Button: gleicher Tuerkis-zu-Pink-Verlauf wie der Claim
   "Where WorkTech meets Attitude". Ein SVG-Icon kann keinen CSS-Gradient als
   Fuellfarbe nutzen, deshalb referenziert fill: url(...) eine echte
   <linearGradient>, die per wp_footer in den DOM injiziert wird (siehe
   saatkorn_burger_gradient_def() in functions.php). border-image ersetzt
   die normale border-color, damit auch der Rahmen den Verlauf zeigt.
   ========================================================================== */
.main-header-menu-toggle {
	border: 1px solid transparent !important;
	border-image: linear-gradient(125deg, #14C8C8, #F028AA) 1 !important;
}
.main-header-menu-toggle svg {
	fill: url(#sk-burger-gradient) !important;
}

/* ==========================================================================
   Suchfeld im mobilen Popup-Menue: war komplett unsichtbar (Astra rendert
   input[type=search] nativ/appearance:auto -> weisse Pille auf schwarzem
   Grund, kaum lesbar). Eingabefeld + runder Pfeil-Button (dasselbe Icon wie
   .saatkorn-ai-search-submit weiter unten auf der Seite) in einer Zeile,
   statt Lupe oder Text-Button auf eigener Zeile.
   ========================================================================== */
.ast-mobile-header-content .search-form {
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	display: flex !important;
	flex-wrap: nowrap;
	align-items: center;
	gap: 12px;
}
.ast-mobile-header-content .search-field {
	-webkit-appearance: none;
	appearance: none;
	background-color: transparent !important;
	border: none !important;
	border-bottom: 1px solid #ffffff !important;
	border-radius: 0 !important;
	color: #ffffff !important;
	font-family: 'Atkinson Hyperlegible Mono', sans-serif;
	font-size: 18px;
	letter-spacing: -0.05em;
	padding: 8px 0 !important;
	flex: 1 1 auto;
	min-width: 0;
}
.ast-mobile-header-content .search-field::placeholder {
	color: #999999;
	opacity: 1;
}
/* Runder Pfeil-Button statt Lupe/Text, neben dem Eingabefeld. */
.ast-mobile-header-content .search-submit {
	position: static !important;
	flex-shrink: 0;
	background: transparent !important;
	border: 1px solid #14C8C8 !important;
	border-radius: 999px !important;
	width: 40px !important;
	height: 40px !important;
	padding: 0 !important;
	margin-right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.ast-mobile-header-content .search-submit .astra-search-icon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #ffffff;
}
.ast-mobile-header-content .search-submit:hover,
.ast-mobile-header-content .search-submit:active,
.ast-mobile-header-content .search-submit:focus {
	background: #14C8C8 !important;
}
.ast-mobile-header-content .search-submit:hover .astra-search-icon,
.ast-mobile-header-content .search-submit:active .astra-search-icon,
.ast-mobile-header-content .search-submit:focus .astra-search-icon {
	color: #000000;
}

/* ==========================================================================
   Footer-Spaltenueberschriften (Platform/About/Newsletter): standen auf
   Font-Weight 600 statt des Bold-Specs (700) fuer Ueberschriften. Ausserdem
   fiel "Newsletter" (UAGB-Heading-Block) auf Atkinson Hyperlegible Mono
   zurueck statt wie "Platform"/"About" (Astra-Widget-Titel) Inter Tight
   zu nutzen - angeglichen.
   ========================================================================== */
.site-footer .widget-title,
.site-footer .uagb-heading-text {
	font-weight: 700 !important;
}
.site-footer .uagb-heading-text {
	font-family: 'Inter Tight', sans-serif !important;
}

/* Kompletter Footer einheitlich auf Inter Tight, 18px (statt gemischt
   16/18px und Inter/Atkinson je Element). */
.site-footer,
.site-footer * {
	font-family: 'Inter Tight', sans-serif !important;
	font-size: 18px !important;
}

/* "Below Footer"-Zeile (Logo + Copyright) hatte ein festes 40px-Padding -
   Trust-Bar/Header nutzen an derselben Breite 20px. Auf denselben
   Rhythmus wie Logo/Hero (24/32/20px) angeglichen. */
.site-below-footer-wrap {
	padding-left: 24px !important;
	padding-right: 24px !important;
}
@media (min-width: 768px) and (max-width: 976px) {
	.site-below-footer-wrap {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}
}
@media (min-width: 977px) {
	.site-below-footer-wrap {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}
}

/* Footer-Bottom-Bar: Links (Impressum/Datenschutz/Cookie-Richtlinie) und
   Copyright-Schriftzug auf dieselbe hellgraue Farbe angeglichen (vorher
   Links var(--ast-global-color-7) = #e6e6e6, Copyright ein separat
   eingestelltes, leicht abweichendes Blaugrau) und auf 14px verkleinert -
   bewusst nur diese Bottom-Bar (Legal-Links + Copyright), nicht der Rest
   des Footers (Widget-Titel, Newsletter etc. bleiben bei den 18px aus der
   ".site-footer *"-Regel oben). */
.ast-footer-copyright,
.ast-footer-copyright *,
#astra-footer-menu .menu-link {
	color: var(--ast-global-color-7) !important;
	font-size: 14px !important;
}

/* "© 2026 SAATKORN. Alle Rechte vorbehalten." (18px Inter Tight) ist mit
   ca. 349px minimal breiter als die Spalte, die Astras 3-Spalten-Grid
   dieser Zeile dafuer vorsieht (".ast-builder-grid-row-3-cheavy
   .ast-builder-grid-row", Verhaeltnis 1fr:2fr:1fr = z.B. 340/680/340px bei
   1440px Breite) - bricht dadurch knapp in eine zweite Zeile um. Die
   Copyright-Spalte bekommt ihre Breite jetzt vom eigenen Inhalt
   (max-content), die Logo-Spalte (viel Leerraum, Logo ist nur 128px breit)
   gibt dafuer etwas ab - Logo:Menue bleiben im selben 1:2-Verhaeltnis wie
   im Original, weiterhin ueber fr-Einheiten responsiv.
   WICHTIG: nur ab 1281px (Astras eigener Breakpoint fuer die "1fr 2fr 1fr"-
   Cheavy-Regel, siehe ".ast-builder-grid-row-3-cheavy .ast-builder-grid-row"
   ohne Media Query). Darunter ersetzt Astra selbst die Spaltenaufteilung
   per @media (max-width:1280px) durch gleiche Drittel und @media
   (max-width:544px) durch eine einzelne Spalte (volle Stapelung Logo/
   Menue/Copyright untereinander) - ein ungescopter !important hier wuerde
   dort die Mobil-Stapelung ueberschreiben und den Text zeichenweise
   umbrechen lassen (genau das ist beim ersten Versuch passiert). */
@media (min-width: 1281px) {
	.site-below-footer-inner-wrap {
		grid-template-columns: 2fr 4fr max-content !important;
		column-gap: 32px !important;
	}
	.ast-footer-copyright p {
		white-space: nowrap;
	}
}

/* Astras eigener Mobile-Breakpoint (544px, unabhaengig von unseren
   eigenen Breakpoints) zentriert die Footer-Spalten (Platform/About/
   Newsletter) und den Copyright-Text - passt nicht zum linksbuendigen
   Rest der Seite. Auf Desktop/Tablet bleibt das Copyright bewusst rechts
   (Logo links / Copyright rechts in derselben Zeile), nur unter 544px
   wird beides links ausgerichtet, da die Zeile dort umbricht/stapelt. */
@media (max-width: 544px) {
	.footer-widget-area {
		text-align: left !important;
	}
	.ast-footer-copyright,
	.ast-footer-copyright p {
		text-align: left !important;
	}
	/* Die drei Footer-Links (Impressum/Datenschutz/Cookie-Richtlinie)
	   stehen mobil als ".astra-footer-mobile-vertical-menu" (display:grid,
	   justify-content:center) untereinander - "text-align:left" oben wirkt
	   auf ein Grid nicht, deshalb zusaetzlich justify-content ueberschreiben. */
	.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu {
		justify-content: start !important;
	}
	/* Astra setzt auf jedem Link zusaetzlich 20px links/rechts Padding (fuer
	   den Abstand zwischen Eintraegen in der horizontalen Desktop-Menue-
	   Variante gedacht) - untereinander gestapelt verschiebt das linke
	   Padding den Text sichtbar nach rechts, nicht mehr buendig mit Logo/
	   Copyright darunter. */
	.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu .menu-item > a {
		padding-left: 0 !important;
	}
	/* Zusaetzlich ist jedes "li.menu-item" bei Astra ein Column-Flex-
	   Container (".main-header-menu .menu-item, #astra-footer-menu
	   .menu-item { display:flex; flex-direction:column }") mit
	   "align-items: center" - bei flex-direction:column steuert
	   align-items die HORIZONTALE Achse, nicht justify-content (das waere
	   bei column nur die vertikale Achse). Der Link ist schmaler als seine
	   Grid-Zelle, dadurch blieb der Text trotz der beiden Fixes oben noch
	   mittig statt linksbuendig. */
	.footer-widget-area[data-section="section-footer-menu"] .astra-footer-mobile-vertical-menu .menu-item {
		align-items: flex-start !important;
	}
}

/* Newsletter-Text hatte eine etwas groessere line-height (39.6px) als die
   Platform-/About-Links (38px). Auf denselben Wert wie die Links angeglichen. */
.site-footer .wp-block-paragraph {
	line-height: 38px !important;
}
/* Eigentliche Ursache fuer den ungleichen Abstand zur Ueberschrift: margin-
   bottom auf dem <h2> selbst wird vom umschliessenden UAGB-Block-Wrapper
   ignoriert (Wrapper-Hoehe = reine Textzeile, ohne Margin). Der tatsaechlich
   wirksame Abstand kommt von Astras Standard-Widget-Abstand auf dem
   <section class="widget">, das die Newsletter-Ueberschrift umschliesst
   (22.5px) - kleiner als der Platform/About-Ueberschriften-Abstand (26px,
   Astra-Widget-Titel-Margin). Direkt auf den Zielwert gesetzt. */
.site-footer #block-35 {
	margin-bottom: 26px !important;
}

/* Newsletter-Fliesstext ("Bleib WorkTech...") hatte denselben Astra-
   Standard-Widget-Abstand (22.5px) zum Formular darunter - wirkte zu
   grosszuegig neben dem 52px hohen Eingabefeld. Verringert. */
.site-footer #block-33 {
	margin-bottom: 14px !important;
}

/* ==========================================================================
   Formular-Spezifikation (Basis: SureForms-Klassen, sitweit gueltig - erste
   Umsetzung am Footer-Newsletter-Formular): weisses Input-Feld mit
   dezentem Rahmen, Fokus in Tuerkis, schwarzer Button mit weisser Atkinson-
   Mono-Schrift, bei Hover Tuerkis-Flaeche mit schwarzer Schrift.
   ========================================================================== */
.srfm-input-common {
	background-color: #ffffff !important;
	color: #000000 !important;
	border: 1px solid #d0d0d0 !important;
	border-radius: 6px !important;
}
.srfm-input-common::placeholder {
	color: #6b6b6b !important;
	opacity: 1;
}
.srfm-input-common:focus {
	outline: none !important;
	border-color: #000000 !important;
	box-shadow: none !important;
}
.srfm-btn-frontend.srfm-submit-button {
	background-color: #000000 !important;
	color: #ffffff !important;
	font-family: 'Atkinson Hyperlegible Mono', sans-serif !important;
	letter-spacing: -0.05em;
	border: 1px solid #000000 !important;
	border-radius: 6px !important;
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.srfm-btn-frontend.srfm-submit-button:hover,
.srfm-btn-frontend.srfm-submit-button:focus {
	background-color: #14C8C8 !important;
	color: #000000 !important;
	border-color: #14C8C8 !important;
}
/* Kurzformulare (z.B. Newsletter): Eingabefeld + Button in EINER Zeile statt
   gestapelt, nahtlos aneinander wie eine durchgehende Pille - nur im Footer
   (fuer mehrfeldrige Formulare, z.B. Kontakt, bleibt das Stapeln sinnvoll).
   SureForms' eigenes Plugin-CSS setzt ".srfm-form-container .srfm-form
   .srfm-submit-container { width: 100% }" mit 3 Klassen Spezifitaet - bei
   flex-basis:auto zaehlt dafuer die eigene "width", nicht nur flex-grow/
   -shrink. Deshalb hier width explizit statt nur ueber "flex" gesetzt. */
.site-footer .srfm-form {
	flex-wrap: nowrap !important;
	gap: 0 !important;
	align-items: center !important;
}
.site-footer .srfm-email-block-wrap {
	flex: 1 1 auto !important;
}
.site-footer .srfm-submit-container {
	flex: 0 0 auto !important;
	width: fit-content !important;
}
.site-footer .srfm-submit-container .wp-block-button {
	width: fit-content !important;
}
.site-footer .srfm-input-common {
	border-top-right-radius: 0 !important;
	border-bottom-right-radius: 0 !important;
	border-right: none !important;
	height: 52px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
}
.site-footer .srfm-btn-frontend.srfm-submit-button {
	border-top-left-radius: 0 !important;
	border-bottom-left-radius: 0 !important;
	height: 52px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	width: fit-content !important;
	white-space: nowrap;
	padding-left: 24px !important;
	padding-right: 24px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
/* Reservierter, aber leerer Fehlermeldungs-Bereich unter dem Eingabefeld
   (16px hoch, fuer Validierungsfehler) hat auf der Button-Seite keine
   Entsprechung - dadurch war die eine Spalte 16px hoeher als die andere
   und "align-items:center" hat den Button dadurch 8px nach unten verschoben.
   Nur zusammenklappen, wenn wirklich leer - bei echter Fehlermeldung
   (Text vorhanden) wieder normal wachsen lassen. */
.site-footer .srfm-error-wrap {
	height: 0 !important;
}
.site-footer .srfm-error-wrap:has(.srfm-error-message:not(:empty)) {
	height: auto !important;
}
/* SureForms' Standard-Fehlertext (Rot #dc2626) sass direkt auf dem bunten
   Verlaufshintergrund (Tuerkis/Lila/Pink) - kollidiert mit dem Pink-Bereich
   und hat je nach Verlaufsstelle zu wenig Kontrast. Weisse Pille dahinter,
   analog zum weissen Input-Feld - Rot bleibt als Fehler-Signalfarbe
   erhalten, ist aber ueberall auf dem Verlauf garantiert lesbar. */
.site-footer .srfm-error-message {
	display: inline-block;
	background-color: #ffffff;
	padding: 2px 10px;
	border-radius: 6px;
	margin-top: 4px;
}
/* Unter 480px wird die einzeilige Pille eng (deutsche Labels wie "Jetzt
   abonnieren" sind laenger als "Subscribe") - Placeholder-Text wurde
   abgeschnitten. Darunter zurueck auf gestapeltes Layout (Feld oben volle
   Breite, Button darunter volle Breite), wie vor der Pillen-Variante.
   Zweiter betroffener Bereich: ab Astras 3-spaltiger Footer-Ansicht
   (>544px) ist die Newsletter-Spalte nur ein Drittel der Seitenbreite -
   bei 977px schrumpft das Eingabefeld auf ~126px, bei 700px sogar auf
   ~33px (Text komplett abgeschnitten). Erst ab ca. 1260px ist die Spalte
   wieder breit genug fuer die einzeilige Pille. Deshalb hier zusaetzlich
   im Bereich 545-1259px gestapelt. */
@media (max-width: 480px), (min-width: 545px) and (max-width: 1259px) {
	.site-footer .srfm-form {
		flex-wrap: wrap !important;
	}
	.site-footer .srfm-email-block-wrap {
		flex: 1 1 100% !important;
	}
	.site-footer .srfm-submit-container {
		flex: 1 1 100% !important;
		width: 100% !important;
		margin-top: 12px;
	}
	.site-footer .srfm-submit-container .wp-block-button {
		width: 100% !important;
	}
	.site-footer .srfm-input-common {
		border-top-right-radius: 6px !important;
		border-bottom-right-radius: 6px !important;
		border-right: 1px solid #d0d0d0 !important;
	}
	.site-footer .srfm-btn-frontend.srfm-submit-button {
		border-top-left-radius: 6px !important;
		border-bottom-left-radius: 6px !important;
		width: 100% !important;
		height: 52px !important;
	}
}

/* ==========================================================================
   Newsletter-Seite (/newsletter/, Formular 30721): SureForms' Standard-Look
   (weisse Karte, winzige Standard-Checkbox, schmaler Button) passt nicht zur
   fast-schwarzen Seite. SureForms themt Label-/Eingabefarben ueber eigene
   CSS-Variablen (--srfm-color-*) auf dem Formular-Container - darueber statt
   per Klassen-Ueberschreibung, das ist der von SureForms vorgesehene Weg.
   Panel-Hintergrund (#141414) uebernommen vom vorherigen Mailjet-Widget auf
   genau dieser Seite, das war schon auf die Seite abgestimmt. Schwarzer
   Button waere auf dem fast-schwarzen Panel unsichtbar - stattdessen die
   Akzentfarbe (Cyan), die sonst als Hover-Farbe im Footer-Formular dient.
   ========================================================================== */
.srfm-form-container-30721 {
	--srfm-color-input-label: #ffffff;
	--srfm-color-input-text: #1e1e1e;
	--srfm-color-scheme-primary: #14C8C8;
	--srfm-color-scheme-text-on-primary: #000000;
	--srfm-color-input-selected: #14C8C8;
}
.srfm-form-container-30721.srfm-bg-color {
	background-color: #141414 !important;
	border: 1px solid #2a2a2a;
	border-radius: 12px;
	padding: 32px !important;
	max-width: 480px;
}
.srfm-form-container-30721 .srfm-block-label,
.srfm-form-container-30721 label {
	color: #ffffff !important;
}
.srfm-form-container-30721 .srfm-btn-frontend.srfm-submit-button {
	background-color: #14C8C8 !important;
	color: #000000 !important;
	border-color: #14C8C8 !important;
	width: 100% !important;
	display: block;
	padding-top: 14px !important;
	padding-bottom: 14px !important;
}
.srfm-form-container-30721 .srfm-btn-frontend.srfm-submit-button:hover,
.srfm-form-container-30721 .srfm-btn-frontend.srfm-submit-button:focus {
	background-color: #ffffff !important;
	color: #000000 !important;
	border-color: #ffffff !important;
}
.srfm-form-container-30721 .srfm-cbx .srfm-span-wrap:first-child {
	border: 1px solid #6b6b6b !important;
	background-color: transparent !important;
	width: 20px !important;
	height: 20px !important;
}
.srfm-form-container-30721 input.srfm-input-gdpr:checked ~ label .srfm-span-wrap:first-child {
	background-color: #14C8C8 !important;
	border-color: #14C8C8 !important;
}
.srfm-form-container-30721 .srfm-check-icon {
	color: #000000;
}
/* Der sitweite Fokus-Rahmen ist schwarz (passt auf dem bunten Footer-
   Verlauf) - auf diesem fast-schwarzen Panel waere er unsichtbar. Hier
   die Akzentfarbe statt Schwarz. */
.srfm-form-container-30721 .srfm-input-common:focus {
	border-color: #14C8C8 !important;
}

/* ==========================================================================
   Teaser-Karten (Spectra Query Loop, z.B. Attitude-/WorkTech-Sektion auf der
   Startseite): auf Wunsch (2026-09-17) alle Innen-Radien entfernt - sowohl
   am Beitragsbild als auch an der umschliessenden Box (hatte 40px/40px/18px/
   18px, Ursprung nicht in post_content als Block-Attribut auffindbar,
   vermutlich Spectra-generiertes CSS - daher hier per Klasse erzwungen statt
   an der Quelle geaendert). Gescoped ueber die WordPress-Standardklasse fuer
   Query-Loop-Beitraege (:is(li, article).spectra-block-post), damit es fuer jede
   Teaser-Karte gilt, die per Query Loop gebaut wird. */
:is(li, article).spectra-block-post .spectra-background-color {
	border-radius: 0 !important;
	background-color: #111111 !important;
}
/* Duenne neutrale Outline um die Karte, aus dem Referenz-Screenshot
   nachgemessen (Spitzenwert rgb(55,55,55) am Kartenrand). Ersetzt Astras
   globale "Global Color 2" (#110b11, Lila-Stich) durch neutrales Grau - nur
   fuer Teaser-Karten, nicht an der globalen Palette geaendert (siehe oben).
   Hintergrundfarbe zusaetzlich auf der Karte selbst (nicht nur auf dem
   inneren Content-Flex): der Flex fuellt die Karte nicht ganz bis zum Rand
   aus, ohne eigene Hintergrundfarbe blieb dort ein transparenter Spalt, in
   dem der Seitenhintergrund durchschien - sichtbar als unsauberer Rand an
   der unteren Ecke. */
:is(body.blog, body.category, body.search) .saatkorn-home-article-grid > article.spectra-block-post {
	/* Preserve the shared card outline against Astra's archive border reset. */
	border: 1px solid #373737 !important;
}
:is(li, article).spectra-block-post {
	border: 1px solid #373737;
	border-radius: 28px;
	overflow: hidden;
	background-color: #111111 !important;
	/* Auf Blog-/Kategorie-Archiven traegt das <article> noch Astras eigene
	   "ast-width-md-4" o.ae. Klasse (width: 33.33%, fuer Astras eigenes
	   Flexbox-Spaltensystem gedacht) - in unserem Grid sorgt das fuer
	   verschachtelte Verkleinerung (Spalte nochmal auf 1/3 geschrumpft).
	   Volle Breite der eigenen Grid-Zelle erzwingen. */
	width: 100%;
	/* Astra setzt auf Blog-/Kategorie-Archiven per
	   ".ast-article-post.ast-separate-posts" 12px Padding auf die ganze
	   Karte (fuer Astras eigenes "separate boxed posts"-Layout gedacht) -
	   das druecke sonst auch das Bild vom Kartenrand weg. */
	padding: 0 !important;
}
:is(li, article).spectra-block-post .wp-block-spectra-container {
	background-color: #111111 !important;
}
/* Die 3 Homepage-Post-Grid-Bloecke (saatkorn_home_article_grid() in
   functions.php) werden im Frontend komplett durch unser eigenes Markup
   (:is(li, article).spectra-block-post) ersetzt - aber NUR dort. Im Blockeditor rendert
   UAGB fuer diesen Blocktyp eine rein client-seitige, bearbeitbare
   Live-Vorschau (article.uagb-post__inner-wrap mit editierbaren Feldern),
   die den PHP-Filter nie durchlaeuft und daher nie unser Markup/CSS sieht -
   stattdessen UAGBs eigenes helles Standard-Kartendesign (#f6f6f6), waehrend
   der Text auf sitewide Weiss steht -> im Editor unlesbar (heller Text auf
   hellem Grund). Volle Optik (Icons/Verlaeufe/Radien) ist dort technisch
   nicht erreichbar, ohne UAGBs Editor-Vorschau selbst zu ersetzen - hier nur
   der Kontrast repariert, damit die Vorschau im Editor lesbar ist. */
.wp-block-uagb-post-grid .uagb-post__inner-wrap {
	background-color: #111111 !important;
}

/* Kategorien-Zeile ueber dem Titel (z.B. "Podcast, WorkTech"): Block ist
   selbst auf --ast-global-color-5 (weiss) gestellt, wird aber von einer
   staerkeren Regel auf Schwarz ueberschrieben - auf der dunklen Karte damit
   praktisch unsichtbar. Ausserdem sitzt das Trennzeichen (", ") als eigenes
   Flex-Kind im inline-flex-Container mit gap:6px - der Gap wirkt dadurch
   auch VOR und NACH dem Komma und zerreisst "Podcast, WorkTech" in
   "Podcast  ,  WorkTech". Gap entfernt, Abstand stattdessen nur nach dem
   Icon (per Margin), das Komma-Leerzeichen aus dem Trennzeichen-Text macht
   den Rest normal. */
:is(li, article).spectra-block-post .wp-block-post-terms {
	gap: 0;
}
:is(li, article).spectra-block-post .wp-block-post-terms,
:is(li, article).spectra-block-post .wp-block-post-terms a {
	color: #ffffff !important;
}
/* Podcast-Icon (Kopfhoerer) wandert per JS (siehe
   saatkorn_teaser_icon_to_heading_script() in functions.php) von der
   Kategorien-Zeile an den Anfang der Ueberschrift (2026-09-17) - dort
   groesser (passend zur 27px-Headline statt der 15px-Kategorien-Zeile)
   und mit eigenem Abstand zum Text. */
:is(li, article).spectra-block-post .wp-block-post-title svg.saatkorn-term-icon {
	width: 24px;
	height: 24px;
	margin-right: 10px;
	vertical-align: top;
	display: inline-block;
	box-sizing: content-box;
	/* Box-Groesse aus dem Referenzbild nachgemessen: Icon selbst war dort
	   ebenfalls 24px (kein Skalieren noetig), die Box drumherum aber 55px
	   Gesamtgroesse - also 15.5px Padding pro Seite statt vorher 6px, und
	   Radius im selben Verhaeltnis (~22% der Boxgroesse) mitskaliert. */
	padding: 16px;
	border: 1px solid currentColor;
	border-radius: 12px;
	/* Echte Transparenz: Rahmen 37%, Fuellung 10%; Symbol bleibt deckend. */
	border-color: color-mix(in srgb, currentColor 37%, transparent);
	background-color: color-mix(in srgb, currentColor 10%, transparent);
	background-clip: padding-box;
}
/* Der Titel-Link selbst ist "display:inline-block" mit fixer 100%-Breite -
   passt dadurch nie neben ein vorangestelltes Inline-Element (das Icon) auf
   dieselbe Zeile, sondern rutscht komplett in die naechste. Zurueck auf
   "inline", damit Icon + erstes Wort des Titels gemeinsam auf einer Zeile
   stehen. */
:is(li, article).spectra-block-post .wp-block-post-title a {
	display: inline;
}
/* Mentimeter-Teaser: Icon-Flaeche nach der Referenz (56px, 18px Radius). */
:is(li, article).spectra-block-post.post-30510 > .wp-block-spectra-container {
	align-items: flex-start;
	justify-content: flex-start;
}
:is(li, article).spectra-block-post.post-30510 .wp-block-post-title {
	display: flex;
	align-items: flex-start;
	gap: 18px;
}
:is(li, article).spectra-block-post.post-30510 .wp-block-post-terms {
	padding-left: 74px; /* 56px Icon + 18px Abstand zur Headline. */
}
:is(li, article).spectra-block-post.post-30510 .wp-block-post-excerpt {
	padding-left: 74px !important; /* Ueberschreibt das Inline-Padding des Blocks. */
}
:is(li, article).spectra-block-post.post-30510 .wp-block-post-title a {
	display: block;
	flex: 1;
	min-width: 0;
}
:is(li, article).spectra-block-post.post-30510 .wp-block-post-title svg.saatkorn-term-icon {
	flex: 0 0 56px;
	margin-right: 0;
	box-sizing: border-box;
	width: 56px;
	height: 56px;
	padding: 15px;
	border-radius: 18px;
}
/* Abstaende um die Kategorien-Zeile (2026-09-17): oben mehr Luft zum
   Kartenrand (0 -> 30px), unten zur Ueberschrift weniger (24px -> 5px). */
:is(li, article).spectra-block-post .wp-block-post-terms {
	margin-top: 30px;
}
:is(li, article).spectra-block-post .wp-block-post-title {
	margin-top: 5px !important;
}

/* Lesbarkeit/Rhythmus im Text-Block (2026-09-17): Titel-Zeilenhoehe war
   1:1 zur Schriftgroesse (27px/27px) - bei 2-3 Zeilen zu eng, Ober-/
   Unterlaengen beruehren sich fast. Datum/Anriss-Abstaende (24px bzw.
   ~26px, fast eine ganze Zeile) wirken dadurch, im Kontrast zur engen
   Ueberschrift, wie einzeln schwebende Bloecke statt ein Lesefluss -
   auf einheitliche 16px vereinheitlicht. Ausserdem alles ausser der
   Ueberschrift auf 18px (Tags/Datum/Anriss waren uneinheitlich bei
   16/14/16px). */
:is(li, article).spectra-block-post .wp-block-post-title {
	line-height: 1.25 !important;
}
:is(li, article).spectra-block-post .wp-block-post-terms,
:is(li, article).spectra-block-post .wp-block-post-date,
:is(li, article).spectra-block-post .wp-block-post-excerpt__excerpt {
	font-size: 18px !important;
}
:is(li, article).spectra-block-post .wp-block-post-date {
	margin-top: 16px !important;
	margin-bottom: 0 !important;
}
:is(li, article).spectra-block-post .wp-block-post-excerpt__excerpt {
	margin-top: 16px !important;
}
/* Link-Farbe nach Kategorie: WorkTech = Tuerkis, Attitude = Pink, beide
   zusammen = derselbe Verlauf wie die Trennerregel (.saatkorn-divider).
   !important noetig, da .wp-block-post-excerpt__more-link bereits eine
   sitewide Standardfarbe mit !important gesetzt hat (Zeile ~896). */
:is(li, article).spectra-block-post.category-worktech:not(.category-attitude) .wp-block-post-excerpt__more-link {
	color: #14C8C8 !important;
}
:is(li, article).spectra-block-post.category-attitude:not(.category-worktech) .wp-block-post-excerpt__more-link {
	color: #F028AA !important;
}
:is(li, article).spectra-block-post.category-worktech.category-attitude .wp-block-post-excerpt__more-link {
	background: linear-gradient(90deg, #14C8C8, #F028AA) !important;
	-webkit-background-clip: text !important;
	background-clip: text !important;
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
}
/* Podcast-Icon in der Ueberschrift: dieselbe Kategorie-Farblogik wie beim
   "Weiterlesen"-Link, plus Rahmen mit runden Ecken (2026-09-17). Basis/
   Fallback (weder WorkTech noch Attitude aus den Kategorien ablesbar) =
   Pink, da "color" ueber currentColor auch den Rahmen mitfaerbt. Das Icon
   ist ein Stroke-SVG (kein Fill) - fuer den Verlauf-Fall reicht "color"
   nicht (kein CSS-Gradient als currentColor moeglich), daher
   stroke:url(#sk-teaser-icon-gradient) auf eine echte SVG-<linearGradient>
   (siehe saatkorn_teaser_icon_gradient_def() in functions.php) fuers Icon
   selbst und einen SVG-Hintergrund fuer den transparenten, runden Rahmen.
   !important noetig,
   da Spectras eigene Regel ".wp-block-spectra-container[class*='wp-block'].
   has-text-color *" (color:inherit) hoehere Spezifitaet hat (3 Klassen/
   Attribute vs. unsere 2 Klassen+1 Element). */
:is(li, article).spectra-block-post .saatkorn-term-icon {
	color: #F028AA !important;
}
:is(li, article).spectra-block-post.category-worktech:not(.category-attitude) .saatkorn-term-icon {
	color: #14C8C8 !important;
}
:is(li, article).spectra-block-post.category-attitude:not(.category-worktech) .saatkorn-term-icon {
	color: #F028AA !important;
}
:is(li, article).spectra-block-post.category-worktech.category-attitude .saatkorn-term-icon {
	stroke: url(#sk-teaser-icon-gradient) !important;
}
/* Ein SVG-Hintergrund trennt transparente Fuellung und Rahmen, ohne
   dass sich zwei Verlaufsebenen im Inneren zu mehr Deckkraft addieren. */
:is(li, article).spectra-block-post.category-worktech.category-attitude :is(.wp-block-post-title, .wp-block-post-terms) svg.saatkorn-term-icon {
	border-color: transparent;
	border-image: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 56 56'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='0'%3E%3Cstop stop-color='%2314C8C8'/%3E%3Cstop offset='1' stop-color='%23F028AA'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect x='.5' y='.5' width='55' height='55' rx='17.5' fill='url(%23g)' fill-opacity='.1' stroke='url(%23g)' stroke-opacity='.37'/%3E%3C/svg%3E") center / 100% 100% no-repeat border-box;
}

/* Mentimeter: Unter 1200px stapeln, bevor unter dem Bild Leerraum entsteht. */
@media (max-width: 1199px) {
	:is(li, article).spectra-block-post.post-30510 > .wp-block-spectra-container {
		flex-direction: column;
		gap: 0;
	}
	:is(li, article).spectra-block-post.post-30510 > .wp-block-spectra-container > * {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
		flex-basis: auto;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-featured-image img {
		display: block;
	}
	:is(li, article).spectra-block-post.post-30510 > .wp-block-spectra-container > .wp-block-spectra-container {
		padding: 24px;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-terms {
		margin-top: 0;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-title,
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-excerpt {
		padding-right: 0 !important;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-title a {
		overflow-wrap: anywhere;
	}
}
@media (max-width: 600px) {
	:is(li, article).spectra-block-post.post-30510 {
		border-radius: 20px;
	}
	:is(li, article).spectra-block-post.post-30510 > .wp-block-spectra-container > .wp-block-spectra-container {
		padding: 20px 16px;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-title {
		gap: 12px;
		font-size: 22px !important;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-title svg.saatkorn-term-icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		padding: 9px;
		border-radius: 14px;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-terms,
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-excerpt {
		padding-left: 56px !important;
	}
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-terms,
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-excerpt__excerpt,
	:is(li, article).spectra-block-post.post-30510 .wp-block-post-excerpt__more-link {
		font-size: 16px !important;
	}
}

/* Weitere Startseiten-Teaser: gleiche Text- und Icon-Geometrie wie Johnny. */
@media (max-width: 767px) {
	.wp-block-spectra-pro-loop-builder-child-template[data-spectra-id="spectra-mfdg0vwg-hjd0oi"] {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser > .wp-block-spectra-container {
	border: 0 !important;
	gap: 0;
	align-items: stretch;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-featured-image {
	width: 100%;
	margin: 0;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-featured-image img {
	display: block;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser > .wp-block-spectra-container > .wp-block-spectra-container {
	display: block;
	padding: 24px;
	width: 100%;
	box-sizing: border-box;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-title {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	font-size: 27px !important;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-title a {
	display: block;
	flex: 1;
	min-width: 0;
	overflow-wrap: anywhere;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-title svg.saatkorn-term-icon {
	box-sizing: border-box;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	padding: 15px;
	margin-right: 0;
	border-radius: 18px;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-terms,
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-date,
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-excerpt {
	padding-left: 74px !important;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-terms {
	margin-top: 0 !important;
	line-height: 1.5 !important;
	flex-wrap: wrap;
}
:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-date {
	font-weight: 400;
}
@media (max-width: 600px) {
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser { border-radius: 20px; }
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser > .wp-block-spectra-container > .wp-block-spectra-container {
		padding: 20px 16px;
	}
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-title {
		font-size: 22px !important;
		gap: 12px;
	}
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-title svg.saatkorn-term-icon {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		padding: 9px;
		border-radius: 14px;
	}
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-terms,
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-date,
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-excerpt {
		padding-left: 56px !important;
	}
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-terms,
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-date,
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-excerpt__excerpt,
	:is(li, article).spectra-block-post.saatkorn-secondary-teaser .wp-block-post-excerpt__more-link {
		font-size: 16px !important;
	}
}

/* FAQ-Kopf: tuerkise Icon-Box wie bei den Teasern. */
.uagb-block-8490f342 .uagb-ifb-icon-wrap {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	padding: 15px;
	border: 1px solid rgb(20 200 200 / 37%);
	border-radius: 18px;
	background: rgb(20 200 200 / 10%);
	background-clip: padding-box;
}
.uagb-block-8490f342 .uagb-ifb-icon-wrap svg {
	width: 24px;
	height: 24px;
	min-width: 24px;
	fill: #14C8C8;
	color: #14C8C8;
}
@media (max-width: 600px) {
	.uagb-block-8490f342 .uagb-ifb-icon-wrap {
		flex-basis: 44px;
		width: 44px;
		height: 44px;
		padding: 9px;
		border-radius: 14px;
	}
}
.uagb-block-8490f342 .uagb-ifb-icon-wrap svg,
.uagb-block-8490f342 .uagb-ifb-icon-wrap svg path {
	fill: #14C8C8 !important;
	color: #14C8C8 !important;
}
.uagb-block-8490f342 .uagb-ifb-icon-wrap {
	margin-right: 18px !important;
}
.uagb-block-8490f342.uagb-infobox-image-valign-middle {
	align-items: flex-start;
}
.uagb-block-8490f342 .uagb-ifb-icon-wrap {
	align-self: flex-start;
	margin-top: 0;
}

/* Info-Box neben dem Attitude-Post-Grid (2026-09-23): an unser Teaser-
   Kartendesign angeglichen - Icon+Titel+Text statt Bild+Anriss, sonst
   gleiche Kartenhuelle/Typografie wie li.spectra-block-post. */
.uagb-block-224527f1 {
	background-color: #111111;
	border: 1px solid #373737;
	border-radius: 28px;
	padding: 32px;
	height: 100%;
	box-sizing: border-box;
	text-align: left;
}
.uagb-block-224527f1 .uagb-ifb-content {
	text-align: left !important;
}
.uagb-block-224527f1 .uagb-ifb-icon-wrap {
	margin-left: 0 !important;
	margin-right: auto !important;
}
.uagb-block-224527f1 .uagb-ifb-icon-wrap {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 56px;
	width: 56px;
	height: 56px;
	padding: 15px;
	margin-bottom: 20px;
	border: 1px solid rgb(240 40 170 / 37%);
	border-radius: 18px;
	background: rgb(240 40 170 / 10%);
	background-clip: padding-box;
}
.uagb-block-224527f1 .uagb-ifb-icon-wrap svg,
.uagb-block-224527f1 .uagb-ifb-icon-wrap svg path {
	width: 24px;
	height: 24px;
	min-width: 24px;
	fill: #F028AA !important;
	color: #F028AA !important;
}
.uagb-block-224527f1 .uagb-ifb-title {
	color: #ffffff !important;
	font-family: "Inter Tight", sans-serif;
	font-size: 27px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0 0 16px;
}
.uagb-block-224527f1 .uagb-ifb-desc {
	color: #ffffff !important;
	font-size: 18px;
	line-height: 1.5;
	margin: 0;
}

/* Podcast-Player-Box unter der Info-Box (2026-09-24): gleiche Kartenhuelle
   wie die Info-Box daneben/darueber - Border/Hintergrund/Radius/Padding. */
.uagb-block-137dfeba {
	background-color: #111111;
	border: 1px solid #373737 !important;
	border-radius: 28px !important;
	padding: 32px !important;
	box-sizing: border-box;
}
.uagb-block-137dfeba h3 {
	font-size: 27px !important;
	font-weight: 700 !important;
}

/* Sechs Artikel unter den FAQs: drei Spalten, Tablet zwei, mobil eine. */
.saatkorn-home-article-grid {
	/* !important: auf Blog-/Kategorie-Archivseiten sitzt diese Klasse
	   zusaetzlich zu Astras eigenem ".ast-row" (siehe
	   saatkorn_blog_archive_grid_end() in functions.php) - Astras eigene,
	   spezifischere dynamische CSS-Regeln fuer ".ast-row" (Grid-Spalten je
	   nach Customizer-Einstellung) wuerden diese sonst ueberschreiben. */
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 48px !important;
	list-style: none;
	/* !important: Astras ".entry-content ul, .entry-content ol" (padding-
	   left: 20px) ist spezifischer und gewinnt sonst, wenn das Grid (wie
	   8be79ade) direkt im Seiteninhalt statt in einem UAGB-Container sitzt. */
	padding: 0 !important;
	margin: 0;
}
.saatkorn-home-article-grid .wp-block-post-title a,
.saatkorn-home-article-grid .wp-block-post-excerpt__excerpt {
	/* !important: einzelne Post-Grid-Bloecke (z.B. 8be79ade) haben eine per
	   Block-Instanz generierte ".wp-elements-N a"-Regel mit eigener
	   Linkfarbe (schwarz), die sonst gewinnt. */
	color: #fff !important;
}
.saatkorn-home-article-grid .wp-block-post-title {
	font-weight: 700;
	margin-bottom: 0;
}
.saatkorn-home-article-grid .wp-block-post-featured-image img {
	width: 100%;
	height: auto;
}
.saatkorn-home-article-grid .wp-block-post-excerpt__more-link {
	color: #F028AA;
}
@media (max-width: 767px) {
	.saatkorn-home-article-grid {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 32px !important;
	}
}
/* Grid soll die volle Breite seines Containers nutzen (wie die Ueberschrift
   im selben Abschnitt) statt zusaetzlich eingerueckt zu werden - vorher hier
   nochmal calc(100% - 80px) + margin: auto, was das Grid um 40px nach innen
   gegenueber Ueberschrift/Text im selben ".uagb-container-inner-blocks-wrap"
   verschoben hat (2026-09-29 behoben). */
.uagb-container-inner-blocks-wrap > ul.saatkorn-home-article-grid {
	width: 100%;
	margin: 0;
	padding: 0;
}
.saatkorn-home-article-grid > :is(li, article) > .wp-block-spectra-container {
	padding: 0;
}
.saatkorn-home-article-grid .wp-block-post-terms > span {
	white-space: pre;
}
/* Weiterlesen-Link an den unteren Kartenrand (2026-09-18): Karten in einer
   Grid-Reihe sind durch den Grid-Default (align-items: stretch) schon
   gleich hoch - hier nur noch die Flex-Kette durchreichen, damit der
   Excerpt-Block den uebrigen Platz fuellt und der Link per margin-top:auto
   an dessen Ende rutscht. Gilt fuer jede Teaser-Karte im Grid, auch die
   reduzierte --simple-Variante (dort ohne Kategorien/Titel). */
.saatkorn-home-article-grid :is(li, article).spectra-block-post {
	display: flex;
	flex-direction: column;
}
.saatkorn-home-article-grid :is(li, article).spectra-block-post > .wp-block-spectra-container,
.saatkorn-home-article-grid :is(li, article).spectra-block-post > .wp-block-spectra-container > .wp-block-spectra-container {
	display: flex;
	flex-direction: column;
	flex: 1;
}
.saatkorn-home-article-grid .wp-block-post-excerpt {
	display: flex;
	flex-direction: column;
	flex: 1;
	/* WP-Core setzt hier serienmaessig margin-bottom: var(--wp--style--block-gap)
	   (24px) zusaetzlich zum eh schon vorhandenen 24px-Innenabstand des
	   umschliessenden .wp-block-spectra-container (Spectra-Default) - das
	   ergaebe zusammen ~50px Abstand zum Kartenrand statt der gewuenschten
	   20-25px. Hier entfernt, das Spectra-Padding allein reicht. */
	margin-bottom: 0;
}
.saatkorn-home-article-grid .wp-block-post-excerpt__more-text {
	margin-top: auto;
	/* Astras Standard-Absatzabstand (p { margin-bottom: 1.75em }) wuerde
	   sonst zusaetzlich zum padding-bottom oben addieren. */
	margin-bottom: 0;
}
.uagb-container-inner-blocks-wrap > ul.saatkorn-home-article-grid {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.saatkorn-home-article-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Vier Boxen am Seitenende (Block b4660f1d): gleiches Karten-Markup, nur
   vier statt drei Spalten auf Desktop - Tablet/Mobile-Verhalten (2 bzw.
   1 Spalte) uebernimmt die Basisklasse oben unveraendert. */
.saatkorn-home-article-grid--4col {
	/* !important: muss die !important-Basisregel von .saatkorn-home-article-grid
	   (siehe dort - wegen Astras .ast-row auf Blog-/Kategorie-Archiven noetig)
	   ueberschreiben koennen. */
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	/* Kartenabstand an die 12er-Reihe (--6col) angeglichen (2026-09-29) -
	   vorher hier keine eigene gap, also 48px von der Basisklasse geerbt,
	   waehrend --6col mit 24px arbeitet. Gilt bewusst an allen Breakpoints,
	   genau wie bei --6col (dort ebenfalls keine eigene Mobile-/Tablet-
	   Ueberschreibung fuer gap). */
	gap: 24px !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
	.saatkorn-home-article-grid--4col { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Vierer-Grid (und die schmale Einbettung 8be79ade, die dasselbe
   Kartendesign nutzt): kompaktes Icon bei den Kategorien, volle
   Textbreite. */
.saatkorn-home-article-grid--4col :is(li, article).saatkorn-secondary-teaser .wp-block-post-terms,
.saatkorn-home-article-grid--4col :is(li, article).saatkorn-secondary-teaser .wp-block-post-excerpt,
.saatkorn-home-article-grid--narrow :is(li, article).saatkorn-secondary-teaser .wp-block-post-terms,
.saatkorn-home-article-grid--narrow :is(li, article).saatkorn-secondary-teaser .wp-block-post-excerpt {
	padding-left: 0 !important;
}
.saatkorn-home-article-grid--4col :is(li, article).saatkorn-secondary-teaser .wp-block-post-terms,
.saatkorn-home-article-grid--narrow :is(li, article).saatkorn-secondary-teaser .wp-block-post-terms {
	display: flex;
	align-items: flex-start;
	flex-wrap: nowrap;
	gap: 10px;
	margin-bottom: 12px !important;
}
.saatkorn-home-article-grid--4col .saatkorn-category-labels,
.saatkorn-home-article-grid--narrow .saatkorn-category-labels {
	white-space: normal !important;
	min-width: 0;
}
.saatkorn-home-article-grid--4col .wp-block-post-terms svg.saatkorn-term-icon,
.saatkorn-home-article-grid--narrow .wp-block-post-terms svg.saatkorn-term-icon {
	box-sizing: border-box;
	flex: 0 0 32px;
	width: 32px;
	height: 32px;
	padding: 6px;
	margin: 0;
	border: 1px solid color-mix(in srgb, currentColor 37%, transparent);
	border-radius: 10px;
	background-color: color-mix(in srgb, currentColor 10%, transparent);
	background-clip: padding-box;
}
.saatkorn-home-article-grid--4col :is(li, article).saatkorn-secondary-teaser .wp-block-post-title,
.saatkorn-home-article-grid--narrow :is(li, article).saatkorn-secondary-teaser .wp-block-post-title {
	display: block;
}
@media (max-width: 767px) {
	.saatkorn-home-article-grid--4col { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Sechser-Reihe (Block 5f6289f5, 2026-09-18): reduzierteste Kartenvariante -
   nur Bild + Anriss (10 Woerter) + Weiterlesen-Link, kein Titel/keine
   Kategorien (siehe $is_simple in saatkorn_home_article_grid()). Nutzt
   dieselbe 1200px/768px-Staffelung wie die Vierer-Reihe, nur mit mehr
   Spalten. */
.saatkorn-home-article-grid--6col {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 24px !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
	.saatkorn-home-article-grid--6col { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 767px) {
	.saatkorn-home-article-grid--6col { grid-template-columns: minmax(0, 1fr) !important; }
}
.saatkorn-home-article-grid--6col :is(li, article).saatkorn-secondary-teaser .wp-block-post-excerpt {
	padding-left: 0 !important;
}
/* Innenabstand der Textbox auf 15px (2026-09-18) - Spectra-Default waere
   24px (siehe :is(li, article).spectra-block-post > .wp-block-spectra-container >
   .wp-block-spectra-container ohne eigene Regel). */
.saatkorn-home-article-grid--6col :is(li, article).spectra-block-post > .wp-block-spectra-container > .wp-block-spectra-container {
	padding: 15px;
}

/* Schmale Einbettung (8be79ade, 2026-09-23): sitzt in einer 66%-Spalte
   neben der Info-Box, nicht auf voller Seitenbreite - eigenes, bewusst
   knappes Spaltenlimit statt der viewport-breiten --6col-Staffelung. */
.saatkorn-home-article-grid--narrow {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px !important;
}
@media (max-width: 480px) {
	.saatkorn-home-article-grid--narrow { grid-template-columns: minmax(0, 1fr) !important; }
}

/* Grid-Breite/-Rand auch in Tablet-Breakpoints an den Container angleichen
   (kein Extra-Einzug mehr, siehe Begruendung oben bei der Basis-Regel;
   box-sizing/min-width bleiben als Absicherung gegen Grid-Gap-Overflow). */
@media (max-width: 1199px) {
	#page .uagb-container-inner-blocks-wrap > ul.saatkorn-home-article-grid {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0;
		margin-inline: 0 !important;
	}
}
@media (max-width: 767px) {
	#page .uagb-container-inner-blocks-wrap > ul.saatkorn-home-article-grid {
		width: 100% !important;
		max-width: 100% !important;
	}
}

/* /blog, /category und Suchergebnisse: mehr Luft links/rechts zum
   Fensterrand. Astras eigener ".ast-container" liefert hier serienmaessig
   nur 20px (Desktop) bzw. 9px (Mobil) - bewusst nur fuer die Archiv-Seiten
   erhoeht, nicht global, damit andere Seitentypen (Startseite,
   Einzelbeitraege) ihr bestehendes Abstandsverhalten behalten. */
:is(body.blog, body.category, body.search) .ast-container {
	padding-left: 40px;
	padding-right: 40px;
}
@media (max-width: 767px) {
	:is(body.blog, body.category, body.search) .ast-container {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* Suchergebnisse (body.search): Astras eigene dynamische CSS setzt den
   dunklen Banner-Hintergrund (var(--ast-global-color-6), siehe /blog) nur
   fuer "richtige" Archivseiten - auf der Suchergebnisseite bleibt trotz
   identischer data-Attribute (data-post-type="post", data-banner-
   background-type="custom") die helle Default-Titelleisten-Farbe
   (var(--ast-title-layout-bg), #eee) stehen, mit weissem (unlesbarem) Text.
   Hier direkt auf das gleiche Dunkel-Theme wie /blog angeglichen. */
body.search .ast-archive-entry-banner {
	background: #000 !important;
}

/* /blog, /category, Suchergebnisse: etwas mehr Abstand zwischen Ueberschrift
   und Untertitel im Archiv-Banner - Astras Standard-Ueberschriften-Abstand
   (20px, global fuer h1-h6) wirkte hier zu knapp. Bewusst auf den Banner
   beschraenkt statt die globale Regel zu erhoehen. */
.ast-archive-entry-banner h1 {
	margin-bottom: 32px;
}

/* /blog und /category: Astras Archiv-Header (".ast-archive-entry-banner")
   nutzt feste em-Werte fuer sein Padding (11em 20em 7em Desktop, per Astra-
   eigener Regel 8em 4em 5em ab 544px) UND ein festes "min-height: 400px" ohne
   eigene Breakpoint-Anpassung - ohne Hintergrundbild bleibt das auf dem
   Handy eine grosse leere schwarze Flaeche ueber/unter der kurzen
   Ueberschrift. Kompakteres Padding + min-height fuer schmale Breakpoints,
   !important da Astras eigene dynamische CSS-Regel dieselbe Selektor-
   Spezifitaet hat. */
@media (max-width: 1024px) {
	/* Tablet-Zwischenbereich: Astras eigene 544px-Regel greift hier noch
	   nicht, das Desktop-Padding (20em seitlich) ist auf 768-1024px aber
	   schon breiter als sinnvoll - drueckt "WorkTech" in eine eigene Zeile. */
	.ast-archive-entry-banner[data-post-type="post"] {
		padding: 4em 3em 3em !important;
		min-height: 320px !important;
	}
}
@media (max-width: 544px) {
	.ast-archive-entry-banner[data-post-type="post"] {
		padding: 3em 1.5em 2.5em !important;
		min-height: 280px !important;
	}
}
@media (max-width: 375px) {
	.ast-archive-entry-banner[data-post-type="post"] {
		padding: 2.5em 1.25em 2em !important;
		min-height: 260px !important;
	}
}

/* 404-Seite ("Seite nicht gefunden"): Astras Default-Ueberschriftenfarbe
   (var(--ast-global-color-2), fast schwarz/#110b11) ist auf unserem
   schwarzen Seitenhintergrund praktisch unsichtbar - dazu mehr Abstand
   zwischen Ueberschrift und Untertitel (Astra setzt hier serienmaessig
   margin-bottom: 0 auf die Ueberschrift). */
.ast-404-layout-1 h1.page-title {
	color: #fff !important;
	margin-bottom: 24px !important;
}

/* ==========================================================================
   "Ueber Gero Hesse"-Seite (2026-09-30): einheitlicher Abstand vor allen
   Textbloecken. Ueber Gutenberg-Block-Attribute (style.spacing.margin) greift
   bei core/paragraph in diesem (klassischen) Theme nicht - kein theme.json
   mit "spacing.margin"-Support -, deshalb direkt per CSS.
   ========================================================================== */
:is(.page-id-30557, .page-id-33629) .entry-content .wp-block-paragraph,
:is(.page-id-30557, .page-id-33629) .entry-content .uagb-desc-text,
:is(.page-id-30557, .page-id-33629) .entry-content .uagb-ifb-desc {
	margin-top: 24px;
}

/* Kopfbereich (Text links, Bild rechts): Container zentrierte die beiden
   Spalten vertikal (align-items: center), dadurch startete das (hoehere)
   Bild sichtbar tiefer als der Text. Beide oben ausrichten. */
:is(.page-id-30557, .page-id-33629) .uagb-block-fe59c320 .uagb-container-inner-blocks-wrap {
	align-items: flex-start !important;
}

/* H1 + Subline oben auf der Seite: an die /blog/-Archiv-Banner-Ueberschrift
   angeglichen (Schriftgroesse, -gewicht, Zeilenhoehe, Abstand). Gleiches
   Muster fuer die Kontakt-Seite (2541/33642, 2026-10-01). */
:is(.page-id-30557, .page-id-33629, .page-id-2541, .page-id-33642) h1.wp-block-heading {
	font-size: 60px;
	font-weight: 600;
	line-height: 63px;
	margin-bottom: 20px !important;
}
@media (max-width: 600px) {
	:is(.page-id-30557, .page-id-33629, .page-id-2541, .page-id-33642) h1.wp-block-heading {
		font-size: 32px;
		line-height: 33.6px;
	}
}
:is(.page-id-30557, .page-id-33629, .page-id-2541, .page-id-33642) h1.wp-block-heading + .wp-block-paragraph {
	margin-top: 0 !important;
}
/* Kontakt-Seite (anders als About-Gero/EN, die zweispaltig und linksbuendig
   sind): H1 + Subline zentriert, exakt wie auf /blog/ (".ast-container"
   dort hat text-align:center) - Feedback 2026-10-01. */
:is(.page-id-2541, .page-id-33642) h1.wp-block-heading,
:is(.page-id-2541, .page-id-33642) h1.wp-block-heading + .wp-block-paragraph {
	text-align: center;
}

/* Text/Bild-Bereich (fe59c320) war ursprünglich als allererste Sektion der
   Seite designt und hat entsprechend viel Top-Padding (110px Mobile,
   120px Tablet). Hier auf der Seite folgt er aber schon auf H1+Subline,
   wodurch der Abstand doppelt wirkt - reduziert. */
@media (max-width: 600px) {
	:is(.page-id-30557, .page-id-33629) .uagb-block-fe59c320 {
		padding-top: 40px !important;
	}
}
@media (min-width: 601px) and (max-width: 1024px) {
	:is(.page-id-30557, .page-id-33629) .uagb-block-fe59c320 {
		padding-top: 60px !important;
	}
}

/* Mehrspaltige Reihen (3-Spalten "Hauptberuflich/EMBRACE Family/Beide Rollen"
   und 2-Spalten "Bevor ich Unternehmer wurde/Mit diesen Themen"): die
   Reihen-Container hatten align-items: center, wodurch kuerzere Spalten
   gegenueber laengeren nach unten verschoben wurden. Auf Reihen-Ebene (statt
   pro Spalte) einheitlich oben ausgerichtet. */
:is(.page-id-30557, .page-id-33629) .uagb-block-02607fe4 > .uagb-container-inner-blocks-wrap,
:is(.page-id-30557, .page-id-33629) .uagb-block-be63c855 > .uagb-container-inner-blocks-wrap {
	align-items: flex-start !important;
}

/* Inhaltsboxen auf 1360px Breite ziehen, wie auf der Startseite. Ueber die
   UAGB-Block-Attribute (innerContentCustomWidthDesktop) griff das bei den
   Root-Parent-Containern nicht zuverlässig (UAGB-eigenes CSS-Caching),
   deshalb direkt per CSS. */
:is(.page-id-30557, .page-id-33629) .uagb-block-9bbab02c > .uagb-container-inner-blocks-wrap,
:is(.page-id-30557, .page-id-33629) .uagb-block-02607fe4 > .uagb-container-inner-blocks-wrap,
:is(.page-id-30557, .page-id-33629) .uagb-block-be63c855 > .uagb-container-inner-blocks-wrap {
	width: min( 100%, 1360px ) !important;
	max-width: 1360px !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Diese drei Blöcke hatten (anders als die uebrigen Container auf der
   Seite) gar kein Seiten-Padding gesetzt - Text lief bei schmalen
   Breiten bis an den Bildschirmrand. Werte an fe59c320 angeglichen. */
:is(.page-id-30557, .page-id-33629) .uagb-block-9bbab02c,
:is(.page-id-30557, .page-id-33629) .uagb-block-02607fe4,
:is(.page-id-30557, .page-id-33629) .uagb-block-be63c855 {
	padding-left: 24px !important;
	padding-right: 24px !important;
}
@media (min-width: 601px) {
	:is(.page-id-30557, .page-id-33629) .uagb-block-9bbab02c,
	:is(.page-id-30557, .page-id-33629) .uagb-block-02607fe4,
	:is(.page-id-30557, .page-id-33629) .uagb-block-be63c855 {
		padding-left: 32px !important;
		padding-right: 32px !important;
	}
}
@media (min-width: 1025px) {
	:is(.page-id-30557, .page-id-33629) .uagb-block-9bbab02c,
	:is(.page-id-30557, .page-id-33629) .uagb-block-02607fe4,
	:is(.page-id-30557, .page-id-33629) .uagb-block-be63c855 {
		padding-left: 40px !important;
		padding-right: 40px !important;
	}
}

/* Ueberschriften-Sektionen "Zwei Perspektiven..." (5ca94c41) und "Ich kenne
   beide Seiten..." (d4f16084) hatten ein extrem hohes bottom-padding auf
   Tablet (200px!) und Mobile (120px) geerbt, obwohl Desktop nur 40px nutzt -
   dadurch riesiger Sprung zur folgenden Textreihe. Auf einen zum Desktop-Wert
   passenden Wert reduziert. */
@media (max-width: 1024px) {
	:is(.page-id-30557, .page-id-33629) .uagb-block-5ca94c41,
	:is(.page-id-30557, .page-id-33629) .uagb-block-d4f16084 {
		padding-bottom: 40px !important;
	}
}

/* ==========================================================================
   WorkTech-Sidebar-Box (Einzelbeitraege): Anbieter-Name + Kategorie hatten
   dieselbe weisse Textfarbe, keine visuelle Hierarchie. Kategorie als
   kleines Pill-Tag mit Tuerkis-Akzent, passend zu den runden Buttons/
   Trust-Bar-Icons, die sonst auf der Seite verwendet werden (2026-09-30).
   ========================================================================== */
.saatkorn-worktech-directory .saatkorn-worktech-category {
	display: inline-block;
	margin-top: 6px;
	padding: 2px 10px;
	border: 1px solid #14C8C8;
	border-radius: 20px;
	font-size: 12px;
	color: #14C8C8;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 100%;
}
.saatkorn-worktech-directory li {
	display: block;
}
.saatkorn-worktech-directory li + li {
	margin-top: 16px;
}
.saatkorn-worktech-directory .saatkorn-worktech-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
}
.saatkorn-worktech-directory .saatkorn-worktech-logo {
	width: 56px;
	height: 56px;
	padding: 8px;
	border-radius: 14px;
	box-sizing: border-box;
	object-fit: contain;
	background-color: #ffffff;
	flex-shrink: 0;
}
.saatkorn-worktech-directory .saatkorn-worktech-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.saatkorn-worktech-directory .saatkorn-worktech-name {
	font-weight: 600;
}

/* ==========================================================================
   Kopfbereich aller Einzelbeitraege (Titel/Meta/Beitragsbild-Banner): an
   die Grosszuegigkeit des "get-a-quote"-Hero-Bereichs angeglichen, aber
   Top-Abstand zum Menu etwas reduziert (Feedback 2026-09-30). Betrifft
   sitehweit alle Beitraege, nicht nur einzelne Seiten.
   ========================================================================== */
.single-post .ast-single-entry-banner {
	padding-top: 80px;
	padding-bottom: 24px;
}
.single-post .ast-single-entry-banner .post-thumb-img-content {
	margin-top: 40px;
}
@media (min-width: 601px) {
	.single-post .ast-single-entry-banner {
		padding-top: 90px;
		padding-bottom: 32px;
	}
	.single-post .ast-single-entry-banner .post-thumb-img-content {
		margin-top: 50px;
	}
}
@media (min-width: 1025px) {
	.single-post .ast-single-entry-banner {
		padding-top: 140px;
		padding-bottom: 40px;
	}
	.single-post .ast-single-entry-banner .post-thumb-img-content {
		margin-top: 55px;
	}
}

/* Content-Bereich (unterhalb des Banners) war ueber einen separaten,
   engeren Container auf 750px begrenzt (Quelle nicht als einzelne CSS-Regel
   auffindbar, vermutlich berechnete Astra-Variable) - auf 1024px erweitert,
   wie vom Banner-Bereich bereits genutzt. */
.single-post .site-content > .ast-container,
.single-post .ast-single-entry-banner .ast-container {
	max-width: 1024px !important;
}

/* Beitragsbild im Banner: Rundung wie im Rest der Seite ueblich (50px,
   z.B. get-a-quote-Hero-Bild, Teaser-Karten). */
.single-post .ast-single-entry-banner .post-thumb-img-content img {
	border-radius: 50px;
}
@media (max-width: 600px) {
	.single-post .ast-single-entry-banner .post-thumb-img-content img {
		border-radius: 24px;
	}
}

/* Trennlinien (WordPress-Separator-Block) in Beitragstexten: Verlauf
   Tuerkis -> Pink wie auf der Startseite (saatkorn-divider-Konvention),
   statt Astras Standard-Graufarbe. */
.single-post .entry-content hr,
.single-post .entry-content .wp-block-separator {
	height: 3px;
	border: none;
	background: linear-gradient(90deg, #14C8C8, #F028AA);
	opacity: 1;
}

/* Weitere, ausserhalb des Textbereichs liegende Trenner auf der
   Beitragsseite (Astra-eigene graue Border-Linien): Autoren-Box und
   Beitrags-Navigation ("Zurueck"/"Weiter"). Gleicher Verlauf, hier per
   border-image umgesetzt (border-top unterstuetzt keine Farbverlaeufe
   direkt). */
.single-post .ast-single-author-box,
.single-post .post-navigation {
	border-top: 3px solid transparent;
	border-image: linear-gradient(90deg, #14C8C8, #F028AA) 1;
}

/* Vertikale Trennlinie zwischen Content und Sidebar (beide Seiten haben
   ihre eigene 1px-Border) - gleicher Verlauf, aber vertikal (oben nach
   unten) und nur 1px, wie gewuenscht. Astra stapelt Content/Sidebar ab
   max-width:1280px per flex-direction:column (".site-content .ast-container"),
   die vertikale Trennlinie ist dann sinnlos - ab derselben Breite entfernen. */
.single-post .content-area.primary {
	border-right: 1px solid transparent;
	border-image: linear-gradient(180deg, #14C8C8, #F028AA) 1;
	padding-right: 32px !important;
}
.single-post .widget-area.secondary {
	border-left: 1px solid transparent;
	border-image: linear-gradient(180deg, #14C8C8, #F028AA) 1;
	padding-left: 24px !important;
}
@media (max-width: 1280px) {
	.single-post .content-area.primary,
	.single-post .widget-area.secondary {
		border: none;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Astras eigene dynamische Customizer-CSS setzt den Content-Hintergrund
   (".site-content") unterhalb von max-width:1280px auf --ast-global-color-4
   (#ffffff, nie fuer unser Dark-Theme angepasst) statt Schwarz wie auf
   Desktop - dadurch verschwindet weisser Text auf weissem Grund. Erzwingt
   Schwarz unabhaengig von der Breite. */
.ast-narrow-container .site-content {
	background-color: #000000 !important;
}

/* Sidebar-Widgets "Passende WorkTech-Anbieter" und "Recent Posts" als Karte,
   wie die Teaser-Karten auf der Startseite (gleiche Werte: 1px #373737
   Border, 28px Radius, #111111 Hintergrund - siehe .spectra-block-post). */
.single-post .widget-area.secondary .saatkorn-worktech-directory,
.single-post .widget-area.secondary .widget_block:has(.wp-block-latest-posts) {
	border: 1px solid #373737;
	border-radius: 28px;
	background-color: #111111;
	padding: 24px;
}

/* Promo-Text der "Entdecke WorkTech-Anbieter"-Box: Zeilenhoehe an den
   Fliesstext im Content angleichen (dort 1.7em, hier vorher 2em Default). */
.saatkorn-worktech-directory-promo p {
	line-height: 1.7em;
	margin-bottom: 16px;
}

/* Kopfhoerer-/Dokument-Icon vor jedem "Recent Posts"-Eintrag (analog zu den
   Teaser-Karten): Link als Flex-Container, damit Icon und Titel sauber
   nebeneinander sitzen statt Icon einfach nur inline vor dem Text. */
.wp-block-latest-posts__post-title {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
}
.wp-block-latest-posts__post-title .saatkorn-term-icon {
	margin-top: 3px;
}

/* Ueberschriften "WorkTech im Fokus"/"Entdecke WorkTech-Anbieter" und
   "Recent Posts": an den Teaser-Headline-Stil der Startseite angeglichen,
   Inter Tight - siehe .saatkorn-home-article-grid .wp-block-post-title).
   Braucht die #secondary-ID im Selektor, sonst gewinnt Astras eigene
   Regel "#secondary .widget-title" (ID schlaegt reine Klassen-Selektoren).
   Bei "Recent Posts" (core/latest-posts-Widget) heisst die Ueberschrift
   nicht .widget-title, sondern .wp-block-heading. */
.single-post #secondary .saatkorn-worktech-directory .widget-title,
.single-post #secondary .widget_block:has(.wp-block-latest-posts) .wp-block-heading {
	font-family: "Inter Tight", sans-serif;
	font-size: 22px;
	font-weight: 700;
	line-height: 27.5px;
	color: #ffffff;
}

/* "Recent Posts"-Icons farblich wie auf der Startseite (Teaser-Karten):
   WorkTech tuerkis, Attitude pink, beide = Verlauf. Der Link-Text selbst
   bleibt weiss (nur .saatkorn-term-icon wird eingefaerbt). Gleiches
   getoentes Rahmen-Badge wie bei den grossen Teaser-Icons (padding+border+
   radius+color-mix-Fuellung), hier auf die kleinere 15px-Iconflaeche
   herunterskaliert (halbe Groesse: 8px Padding/Radius statt 16px/12px). */
.wp-block-latest-posts li .saatkorn-term-icon {
	color: #F028AA;
	box-sizing: content-box;
	padding: 8px;
	border: 1px solid currentColor;
	border-radius: 8px;
	border-color: color-mix(in srgb, currentColor 37%, transparent);
	background-color: color-mix(in srgb, currentColor 10%, transparent);
	background-clip: padding-box;
}
.wp-block-latest-posts li.category-worktech:not(.category-attitude) .saatkorn-term-icon {
	color: #14C8C8;
}
.wp-block-latest-posts li.category-attitude:not(.category-worktech) .saatkorn-term-icon {
	color: #F028AA;
}
.wp-block-latest-posts li.category-worktech.category-attitude .saatkorn-term-icon {
	stroke: url(#sk-teaser-icon-gradient);
}

/* Faengt der Content mit einer Ueberschrift an (z.B. Redakteur setzt eine
   H1 als ersten Block), erzeugt Astras eigene Regel ".entry-content
   :where(h1,...) { margin-top: 1.5em }" trotzdem Abstand nach oben - hier
   nicht erwuenscht, der Content soll direkt anfangen. */
.entry-content > :first-child:is(h1, h2, h3, h4, h5, h6) {
	margin-top: 0;
}

/* ==========================================================================
   Kontakt-Seite: 50/50-Layout - links das Kontaktformular, rechts die
   beiden Info-Karten (Inhaltliche Anfragen / Werbeanfragen) uebereinander
   (Feedback 2026-10-01). Gleiche Karten-Tokens wie die Teaser-Karten
   (1px #373737, 28px Radius, #111111 Hintergrund, siehe
   :is(li, article).spectra-block-post).
   ========================================================================== */
.saatkorn-contact-layout {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin-top: 40px;
	align-items: start;
}
.saatkorn-contact-inquiries {
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.saatkorn-contact-card,
.saatkorn-contact-form-card {
	border: 1px solid #373737;
	border-radius: 28px;
	background-color: #111111;
	padding: 32px;
}
.saatkorn-contact-card h2,
.saatkorn-contact-form-card h2 {
	margin-top: 0;
	font-size: 22px;
	font-weight: 700;
}
.saatkorn-contact-card p,
.saatkorn-contact-form-card p {
	margin-bottom: 0;
}
.saatkorn-contact-form-card .srfm-form-container {
	margin-top: 16px;
	background: transparent !important;
}
/* SureForms' Label-Farbe (rgb(30,30,30), fuer deren eigenen weissen
   Formular-Hintergrund gedacht) war auf der dunklen Karte quasi unsichtbar -
   erst nach dem Entfernen des weissen Hintergrunds aufgefallen. */
.saatkorn-contact-form-card .srfm-block-label {
	color: #ffffff !important;
}
/* Submit-Button im Hero-Outline-Stil (siehe .uagb-buttons-repeater.wp-
   block-button__link: 30px Radius, 2px Rand, 15px/30px Padding, Atkinson
   Hyperlegible Mono 16px/600) - hier bewusst in Pink statt Marken-abhaengig
   Cyan/Pink, da auf der Kontaktseite keine WorkTech/Attitude-Zuordnung
   greift (Feedback 2026-10-01). */
.saatkorn-contact-form-card .srfm-btn-frontend.srfm-submit-button {
	background-color: transparent !important;
	color: #F028AA !important;
	border: 2px solid #F028AA !important;
	border-radius: 30px !important;
	padding: 15px 30px !important;
	font-family: "Atkinson Hyperlegible Mono", sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}
.saatkorn-contact-form-card .srfm-btn-frontend.srfm-submit-button:hover,
.saatkorn-contact-form-card .srfm-btn-frontend.srfm-submit-button:focus {
	background-color: #F028AA !important;
	color: #000000 !important;
}
/* Gero-Box (ueber "Inhaltliche Anfragen"): Avatar wie in der Trust-Bar
   (56px, rund), Text + LinkedIn-Link wie der Footer-Link, ergaenzt um
   einen kleinen Pfeil als externes-Link-Hinweis. */
.saatkorn-contact-card--gero {
	display: flex;
	align-items: center;
	gap: 16px;
}
.saatkorn-contact-card--gero img {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	flex-shrink: 0;
	object-fit: cover;
	object-position: center top;
	border: 1.5px solid rgba(255, 255, 255, .15);
}
.saatkorn-contact-card--gero p {
	margin-bottom: 0;
}
.saatkorn-contact-card--gero a {
	white-space: nowrap;
}
.saatkorn-contact-card--gero a svg {
	width: 11px;
	height: 11px;
	margin-left: 2px;
	vertical-align: 1px;
}
/* 40px Luft zum Footer (Feedback 2026-10-01). */
.page-id-2541 .entry-content,
.page-id-33642 .entry-content {
	margin-bottom: 40px;
}
@media (max-width: 767px) {
	.saatkorn-contact-layout {
		grid-template-columns: 1fr;
	}
}
