/* FU-Dunkelmodus (14.10.2026). Laedt nur, wenn das Geraet im Dunkelmodus laeuft:
   fu-hafen-stil.php bindet die Datei mit media="(prefers-color-scheme: dark)" ein und
   meldet per <meta name="color-scheme" content="light dark">, dass die Seite selbst
   einen Dunkelmodus hat. Damit lassen Chrome, Edge und Opera ihre Zwangs-Abdunkelung
   weg, Safari und Firefox folgen ohnehin der Systemeinstellung.
   Aufbau: 1. Palette als Theme-Variablen, 2. Bauteile mit festen Farben, 3. Altmarkup
   der .fu-Seiten, 4. Inline-Kaesten (Adjet, Artikel-CTAs) ueber Attribut-Zuordnung.
   Pruefen: node dunkel-pruefen.js (vier Modi je Seite). */

/* 1. Palette "FU Nacht": warmes Graphit statt Nachtblau (Horst fand Nachtblau beim
   Adventskalender zu kuehl), FU-Rot bleibt Buttonfarbe mit weisser Schrift. Text-Rot
   mit demselben Farbwinkel wie #9F1E13 (5 Grad), nur heller: das erste helle Rot #F08A7E
   (72 % Helligkeit) wirkte rosa und biss sich mit dem Markenrot (Horst, 16.10.).
   Kontraste gegen den Grund #131316: Text 15,6:1, text-soft 10,5:1, muted 6,4:1,
   Rot-Text #E8584A 5,2:1 (auf Karten 4,7:1); weiss auf Button-Rot #C4291B 5,7:1, auf #A32216 7,5:1. */
body {
	color-scheme: dark;
	--fu-n-grund: #131316;
	--fu-n-flaeche: #1D1D22;
	--fu-n-flaeche-2: #18181C;
	--fu-n-linie: #303037;
	--fu-n-text: #EDEBE8;
	--fu-n-text-2: #C5C2BF;
	--fu-n-text-3: #9A9794;
	--fu-n-rot: #C4291B;
	--fu-n-rot-tief: #A32216;
	--fu-n-rot-text: #E8584A;
	--fu-n-rot-tint: #2A1917;
	--fu-n-gruen: #5CC796;
	--wp--preset--color--base: var(--fu-n-grund);
	--wp--preset--color--surface: var(--fu-n-flaeche);
	--wp--preset--color--contrast: var(--fu-n-text);
	--wp--preset--color--text-soft: var(--fu-n-text-2);
	--wp--preset--color--muted: var(--fu-n-text-3);
	--wp--preset--color--border: var(--fu-n-linie);
	--wp--preset--color--deep: #0C0C0E;
	--wp--preset--color--brand: var(--fu-n-rot);
	--wp--preset--color--brand-dark: var(--fu-n-rot-text);
	--wp--preset--color--brand-light: var(--fu-n-rot-tint);
	--wp--preset--color--ai: #8D81FF;
	--wp--preset--color--ai-dark: #A99DFF;
	--wp--preset--color--ai-light: #1E1F3A;
}

/* 2. Bauteile */

/* Logo: Das Herz ist innen transparent, auf dunklem Grund verschwindet das Paar.
   Eine weisse Silhouette (730 Byte) liegt als Hintergrund dahinter, das Herz sieht
   dann aus wie im hellen Modus. Der Footer behaelt seine weisse Scheibe. */
.hafen-header .wp-block-site-logo a {
	display: inline-block;
	background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKgAAAClAgMAAAC1u175AAAADFBMVEVMaXH///////////8/u4fCAAAAA3RSTlMANMtN6iwRAAAACXBIWXMAAAPoAAAD6AG1e1JrAAACZUlEQVRYw9WZPXKDMBCFoTA3iAt0mRwhhUmBb2AKXUWFfYQUkMJH8GVIkdwAF1JC+LGEl9XTTAjJlp7P0tu3Gn4eUfSna5NljxiZ5VV12kFkdTbmowTYh8q0pcsnr86D6Uq/+PTmlx4116Nn0bMZ651fNr+RRiu2J2tRY9449GCT5soo2Fwc1DAKUpc09SwZywnazKLJZH+jHbFxlmXDuIWZli1281xVVZnR+zti4/y13afakfs7Yre95eUjub8lNi6Gn9qjITl0e7GORny/v9VXcfv7MUoIcuzLnuM7JfWGpo4qEh0scPo4SQZ1z9HHhUFT46/eLQmjpI80mhikVCAqcFTCKNRVN1lMaigqFkEljIIGBKKgAcuhYhFUroyiEwhB1UIoOqzV0a9r1jKo+Hm0if4PWq+NqpXR9maYrIk20cpoHXaHBVG1GIpdiruHnGVQgU4gCE3QCfw82j1pQzPA0eFRX+KoQL0KQhPUqyAUsECFo363bm9QAkcT1Ksg1NuX9bopcVSgXvnFWqhHrP3CHYB6+nLe+AVqgK8vB+XFukFGgaNb1ABewTTyKHB0CxrAK7iLZwrQAE6BvouS4jOMRnvQAOYcEKHTnAIqn9qDBtDJEN0VmTfNoXT60UDZHJe6FWBXM8OdQQlr9VyYuAe7Iq1t4CiRiR1TsCvCWs1EpBJHUzT2dCNitqtJRsxGtJPGNB89F6DUyZmpedQ+M7UvUQe7cvzS3u8KOdiV7VftRUe/lB/tM16/1PGE+6WO56tG0M4vhaDffiFS+2Uhqd2yNYh+LasidFlQartsiX+w2kW/Up8+Xlypj2CyGwAAAABJRU5ErkJggg==") center / contain no-repeat;
}
.hafen-header .wp-block-site-logo img {
	display: block;
}

/* Buttons: Hafen faerbt sie mit brand-dark, das ist hier das helle Text-Rot. FU-Buttons
   bleiben rot mit weisser Schrift; Hover dunkler statt hell (Theme: contrast + #fff,
   im Dunkeln waere das weiss auf fast weiss). Outline-Buttons behalten ihre Kontur. */
:root body :where(.wp-block-button:not([class*="is-style-outline"]) > .wp-block-button__link, .wp-element-button:not(.wp-block-button__link)) {
	background-color: var(--fu-n-rot);
	color: #fff;
}
:root body :where(.wp-block-button:not([class*="is-style-outline"]) > .wp-block-button__link, .wp-element-button:not(.wp-block-button__link)):is(:hover, :focus-visible) {
	background-color: var(--fu-n-rot-tief);
	color: #fff;
}
.single .comment-form input[type="submit"] {
	background: var(--fu-n-rot);
}

/* Navigation: Dropdowns und Mobilmenue */
.hafen-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	background-color: var(--fu-n-flaeche) !important;
	border-color: var(--fu-n-linie) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.5) !important;
}
body .hafen-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
	border-bottom-color: var(--fu-n-linie);
}
body .hafen-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item > a {
	color: var(--fu-n-text-2);
}
body .hafen-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border-left-color: var(--fu-n-rot-tint);
}

/* Kaesten aus fu-hafen.css */
.single .fu-mehr,
.single .fu-mehr-themen a {
	border-color: var(--fu-n-linie);
}
.single .fu-mehr-themen {
	color: var(--fu-n-text-3);
}
.single .fu-mehr-themen a {
	color: var(--fu-n-text-2);
}
.single .fu-mehr-liste li::before,
.single .fu-mehr-themen a:hover {
	color: var(--fu-n-rot-text);
	border-color: var(--fu-n-rot-text);
}
.single .entry-content #ez-toc-container,
.single .comment-respond,
.fu .grev {
	background: var(--fu-n-flaeche);
	border-color: var(--fu-n-linie);
	box-shadow: none;
}
.single .entry-content #ez-toc-container a,
.single .entry-content #ez-toc-container .ez-toc-title {
	color: var(--fu-n-rot-text);
}
.single .comment-form :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
	border-color: var(--fu-n-linie);
	background: var(--fu-n-grund);
	color: var(--fu-n-text);
}
.fu .grev-kopf,
.fu .grev figcaption {
	color: var(--fu-n-text-3);
}

/* Cookie-Banner (Adjet, Inline-Stile) */
#ajt-consent {
	background: var(--fu-n-flaeche) !important;
	box-shadow: 0 -6px 24px rgba(0, 0, 0, 0.5) !important;
}
#ajt-consent > div,
#ajt-consent [data-ajt-consent="deny"] {
	color: var(--fu-n-text) !important;
}
#ajt-consent [data-ajt-consent="deny"] {
	background: transparent !important;
	border-color: var(--fu-n-linie) !important;
}
#ajt-consent a {
	color: var(--fu-n-rot-text) !important;
}
#ajt-consent [data-ajt-consent="allow"] {
	background: var(--fu-n-rot) !important;
}

/* 3. Altmarkup der .fu-Seiten (Startseite, Master, Crashkurs, Erfahrungen, Anfrage,
   Dozenten): Die Seiten definieren ihre Farben als Variablen auf :root im eigenen
   <style>-Block. Auf .fu gesetzt gewinnen die Werte hier, egal in welcher Reihenfolge. */
body :is(.fu, .fuw) {
	background-color: var(--fu-n-grund);
	--brand: var(--fu-n-rot-text);
	--brand-deep: var(--fu-n-rot-tief);
	--ink: var(--fu-n-text);
	--ink-soft: var(--fu-n-text-2);
	--ink-faint: var(--fu-n-text-3);
	--bg: var(--fu-n-grund);
	--bg-soft: var(--fu-n-flaeche-2);
	--bg-green: #121C17;
	--line: var(--fu-n-linie);
	--green: var(--fu-n-gruen);
}
/* --brand ist dort Text- und Flaechenfarbe zugleich. Als Text ist es oben das helle Rot,
   als Flaeche wieder das Button-Rot (Liste aller background:var(--brand)-Regeln, 14.10.) */
body :is(.fu, .fuw, .fu-termine, .fu-team) :is(.btn-primary, .flag, .step .n, .ck-end-btns .m, .who .av, .fuw-btn, .fu-btn-primary, .fut-btn:not(.ghost), .midcta, .medias .mlist a:hover),
body .fu .tier.feat .flag {
	background: var(--fu-n-rot);
	color: #fff;
}
body :is(.fu, .fuw, .fu-termine, .fu-team) :is(.btn-primary, .fuw-btn, .fu-btn-primary):hover {
	background: var(--fu-n-rot-tief);
}
/* Erfahrungen: weisser Button auf rotem Band */
body .fu .midcta .btn-primary {
	background: #fff;
	color: var(--fu-n-rot);
}
body .fu .ck-hero {
	background: linear-gradient(180deg, var(--fu-n-flaeche-2) 0%, var(--fu-n-grund) 100%);
}
/* Dunkelgruene und dunkelrote Schrift (Forest, furd) faellt auf dem dunklen Grund weg */
body .fu .req-phone a {
	color: var(--fu-n-gruen);
}
body .fuw-badge {
	background: #12261B;
	color: var(--fu-n-gruen);
}
body .fu-team :is(.fut-bio[open] summary, .fut-o a:hover) {
	color: var(--fu-n-rot-text);
}
body .fumd :is(.kicker, .netz b, a:not(.buchen, .btn)),
body .fumd ul.checks li::before,
body .fu-platz .marke {
	color: var(--fu-n-rot-text);
}
body .fu .pain::before {
	background: var(--fu-n-rot-text);
}
/* Karten mit festem Weiss (Klassenliste aus allen Seiten mit eigenem <style>, 14.10.) */
body .fu :is(.pain, .step, .tier, .shot, .rcard, .ascend, details, .btn-ghost, .cardr, .quote, .riskitem, .qcol, .vcard, .vminicard, .medband .mlist span, .req-card, .req-trust, .mt-logos span),
body .fuw-cta,
body .fu-termine :is(.tk, details, .fu-btn-ghost),
body .fu-team :is(.fut-coach, .fut-o, .fut-btn.ghost),
body .fu-platz .kasten,
body .fumd :is(.netz div, table.preise, ol.ablauf li),
body .entry-content-wrapper :is(.fu-trustcard, .fu-vidcard, .media-reference-item) {
	background: var(--fu-n-flaeche);
	border-color: var(--fu-n-linie);
	box-shadow: none;
}
body .fu .ck-end {
	background: var(--fu-n-flaeche-2);
}
/* Seiten mit eigenen Variablennamen */
body .fu-termine {
	--tm-ink: var(--fu-n-text);
	--tm-ink-soft: var(--fu-n-text-2);
	--tm-ink-faint: var(--fu-n-text-3);
	--tm-bg: var(--fu-n-grund);
	--tm-bg-soft: var(--fu-n-flaeche-2);
	--tm-line: var(--fu-n-linie);
	--tm-brand: var(--fu-n-rot-text);
}
body .fu-team {
	--fur: var(--fu-n-rot-text);
	--tinte: var(--fu-n-text);
	--soft: var(--fu-n-text-2);
	--linie: var(--fu-n-linie);
}
body .fu-team :is(.fut-bio p, .fut-o-text) {
	color: var(--fu-n-text-2);
}
body .fu-team .fut-angebot {
	background: var(--fu-n-flaeche-2);
}
body .fu-platz {
	--tinte: var(--fu-n-text);
	--weich: var(--fu-n-text-2);
	--linie: var(--fu-n-linie);
	--hell: var(--fu-n-rot-tint);
}
body .fumd {
	--tinte: var(--fu-n-text);
	--grau: var(--fu-n-text-3);
	--sand: var(--fu-n-flaeche-2);
}
body .fumd :is(.lead, .netz p, .en) {
	color: var(--fu-n-text-2);
}
body .fumd tr.flagg {
	background: var(--fu-n-rot-tint);
}
body .entry-content-wrapper :is(.fu-trustcard, .fu-vidcard) {
	color: var(--fu-n-text);
}
/* Medienlogos sind fuer weissen Grund gezeichnet: Kacheln bleiben hell, nur gedaempft */
body .entry-content-wrapper .fu-logo {
	background: #EDEBE8;
	border-color: transparent;
}
body .fu-termine .tm-eyebrow {
	background: var(--fu-n-rot-tint);
}
body .entry-content-wrapper :is(.fu-tc-desc, .fu-logos-title, .fu-sec-lead) {
	color: var(--fu-n-text-2);
}
body .entry-content-wrapper .fu-chip {
	background: var(--fu-n-flaeche);
	color: var(--fu-n-text);
}
body .entry-content-wrapper :is(.fu-vidmore, .fu-backtop a) {
	color: var(--fu-n-gruen);
	border-color: var(--fu-n-gruen);
}
/* Anfrage-Formular (HappyForms): Farben stehen als Variablen auf der Formular-ID */
[id^="happyforms-"] {
	--happyforms-color-part-title: var(--fu-n-text) !important;
	--happyforms-color-part-value: var(--fu-n-text) !important;
	--happyforms-color-part-placeholder: var(--fu-n-text-3) !important;
	--happyforms-color-part-description: var(--fu-n-text-2) !important;
	--happyforms-color-part-border: var(--fu-n-linie) !important;
	--happyforms-color-part-background: var(--fu-n-grund) !important;
	--happyforms-color-part-background-focus: var(--fu-n-grund) !important;
	--happyforms-color-dropdown-item-bg: var(--fu-n-flaeche) !important;
	--happyforms-color-dropdown-item-text: var(--fu-n-text) !important;
	--happyforms-color-dropdown-item-bg-hover: var(--fu-n-linie) !important;
	--happyforms-color-dropdown-item-text-hover: var(--fu-n-text) !important;
	--happyforms-color-choice-checkmark-bg: var(--fu-n-grund) !important;
	--happyforms-color-divider-hr: var(--fu-n-linie) !important;
	--happyforms-color-success-notice: #12261B !important;
	--happyforms-color-error-notice: #2E1512 !important;
}
body .fu .tier.feat {
	background: var(--fu-n-flaeche);
	border-color: var(--fu-n-rot);
}
body .fu .btn-ghost {
	color: var(--fu-n-text);
}
body .fu .eyebrow {
	background: var(--fu-n-rot-tint);
}
body .fu .hero h1 mark {
	background: linear-gradient(180deg, transparent 62%, rgba(232, 88, 74, 0.2) 0);
}
body .fu .ascend .asc-row + .asc-row {
	border-top-color: var(--fu-n-linie);
}
/* Die dunkle Autoritaetskarte hebt sich vom dunklen Grund nur noch durch eine Kontur ab */
body .fu .card-auth {
	border-color: var(--fu-n-linie);
	box-shadow: none;
}
body .fu .stat b,
body .fu .center h2 {
	color: var(--fu-n-text);
}

/* 4. Inline-Kaesten in Artikeln, Adjet-Platzierungen und Exit-Modals tragen ihre
   Farben im style-Attribut (Palette des Altmarkups). Dieselbe Palette wird hier per
   Attribut-Selektor auf Nachtfarben umgelegt; dunkle Kaesten (#0F1117) bleiben. */
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style*="background:#fff;" i], [style*="background:#ffffff" i], [style*="background: #fff;" i], [style*="background:#F5F6F3" i], [style*="#F5F6F3,#fff" i], [style*="#FFF0F5" i]) {
	background: var(--fu-n-flaeche) !important;
}
[id^="ajt-fu-"] [style*="background:#fff;" i],
[id^="ajt-fu-"][style*="background:#fff;" i] {
	background: var(--fu-n-flaeche) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style*="#E6E8EB" i], [style*="#E7E9F0" i], [style*="#E3E7ED" i], [style*="#d0d5db" i]) {
	border-color: var(--fu-n-linie) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style^="color:#15171C" i], [style*=";color:#15171C" i], [style*="; color:#15171C" i], [style^="color:#33383f" i]) {
	color: var(--fu-n-text) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style^="color:#4A4F59" i], [style*=";color:#4A4F59" i], [style*="; color:#4A4F59" i]) {
	color: var(--fu-n-text-2) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style^="color:#8A909C" i], [style*=";color:#8A909C" i], [style*="; color:#8A909C" i]) {
	color: var(--fu-n-text-3) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style^="color:#9F1E13" i], [style*=";color:#9F1E13" i], [style*="; color:#9F1E13" i]) {
	color: var(--fu-n-rot-text) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) :is([style^="color:#1E7A52" i], [style*=";color:#1E7A52" i]) {
	color: var(--fu-n-gruen) !important;
}
:is(.entry-content, .adjet-ad, [id^="ajt-fu-"], [id^="fu-mbar"]) [style*="background:rgba(0,0,0,.08)" i] {
	background: rgba(255, 255, 255, 0.1) !important;
	color: var(--fu-n-text) !important;
}

/* Mitgliederbereich ist schon nachtblau gestaltet; seine Eingabefelder sind dort bewusst
   weiss. Ohne das faerbt color-scheme: dark sie grau. */
body:is(.page-id-87378, .single-mjet_course, .single-mjet_lesson) :is(input, textarea, select) {
	color-scheme: light;
}
