/* ============================================================
   af-basis.css – gemeinsame Grundlage aller Seiten (wie Startseite)
   Farben und Kopfzeile aus af-home.css übernommen, 11.10.2026
   ============================================================ */
:root {
  --af-bg:      #f0f1f4;
  --af-bg-line: #d4d8e0;
  --af-text:    #0f172a;
  --af-text-2:  #475569;
  --af-c-bakt:  #1e4fa8;
  --af-c-reise: #0e6655;
  --af-c-zoo:   #6a2ea0;
  --af-c-diag:  #8a1e1e;
  --af-c-resi:  #1a5c8a;
  --af-c-anw:   #b04a14;
  --af-c-pilz:  #6b5a10;
  --af-kachel-schatten: 0 6px 20px rgba(0,0,0,0.11);
  --af-kachel-schatten-hover: 0 16px 40px rgba(0,0,0,0.17);
}
body, #content, .site-content, .ast-plain-container, .ast-separate-container { background-color: var(--af-bg) !important; }

/* Kopfzeile blau wie auf der Startseite */
#ast-fixed-header, .ast-primary-header-bar, .main-header-bar, .main-header-bar-wrap,
.site-header, #masthead, .ast-desktop-header {
  background-color: var(--af-c-bakt) !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.site-header .site-title a, .main-header-bar .site-title a, .ast-primary-header-bar .site-title a { color: #ffffff !important; font-weight: 700 !important; }
.main-header-bar .main-navigation a, .ast-primary-header-bar .main-navigation a, .site-header .main-navigation a { color: rgba(255,255,255,0.88) !important; font-weight: 500 !important; }
.main-header-bar .main-navigation a:hover, .site-header .main-navigation a:hover,
.site-header .main-navigation .current-menu-item > a, .site-header .main-navigation .current-menu-ancestor > a { color: #ffffff !important; }
.site-header .main-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.ast-mobile-menu-trigger-minimal, .ast-button-wrap .menu-toggle { color: #ffffff !important; }

/* Menü in der Kopfzeile vorerst ausgeblendet (Entscheidung 10.10.2026).
   Wieder einschalten: diesen Block entfernen; Menü „Hauptnavigation“ ist weiter zugeordnet. */
.site-header .ast-builder-menu-1,
.site-header .ast-builder-menu-mobile,
.site-header .ast-mobile-menu-trigger-minimal,
.site-header .ast-button-wrap { display: none !important; }

/* ---------------------------------------------------------
   Fibel-Suche und Assistent (Plugin af-fibel-suche)
   --------------------------------------------------------- */
.af-fs { display: grid; gap: 22px; }
.af-fs-form { display: grid; gap: 8px; }
.af-fs-form label { font-size: 1.15rem; font-weight: 700; color: var(--af-text); }
.af-fs-feld { position: relative; display: flex; gap: 10px; flex-wrap: wrap; }
.af-fs-feld svg { position: absolute; left: 20px; top: 33px; width: 24px; height: 24px; transform: translateY(-50%); color: var(--af-c-bakt); pointer-events: none; }
.af-fs-feld input[type="search"] { flex: 1 1 320px; min-width: 0; min-height: 66px; padding: 18px 22px 18px 58px !important; border: 2px solid var(--af-c-bakt) !important; border-radius: 14px !important; background: #fff; box-shadow: 0 10px 30px rgba(30,79,168,0.18); font: inherit; font-size: 1.12rem !important; color: var(--af-text); }
.af-fs-feld input[type="search"]::placeholder { color: #64748b; }
.af-fs-feld input[type="search"]:focus { outline: none; box-shadow: 0 0 0 4px rgba(30,79,168,0.18), 0 10px 30px rgba(30,79,168,0.18); }
.af-fs-feld button { min-height: 66px; padding: 0 28px; border: 0; border-radius: 14px; background: var(--af-c-bakt); color: #fff; font: inherit; font-weight: 700; font-size: 1.05rem; cursor: pointer; }
.af-fs-feld button:hover { background: #173f88; }
.af-fs-feld button:focus-visible { outline: 3px solid rgba(30,79,168,0.35); outline-offset: 2px; }
.af-fs-datenschutz { margin: 0; font-size: 0.88rem; color: var(--af-text-2); }
.af-fs-antwort, .af-fs-treffer { background: #fff; border-radius: 14px; box-shadow: var(--af-kachel-schatten); overflow: hidden; }
.af-fs-antwort h2, .af-fs-treffer h2 { margin: 0; padding: 14px 20px; font-size: 1rem; font-weight: 700; color: #fff; background: var(--af-c-bakt); }
.af-fs-treffer h2 { background: #334155; }
.af-fs-antwort-text { padding: 16px 20px 4px; font-size: 1.02rem; line-height: 1.65; color: var(--af-text); }
.af-fs-antwort-text p { margin: 0 0 10px; }
.af-fs-antwort-text ul { margin: 0 0 10px 20px; }
.af-fs-warten { display: flex; gap: 16px; align-items: flex-start; padding-bottom: 8px; }
.af-fs-warten p { margin: 0 0 6px; }
.af-fs-warte { font-weight: 700; color: var(--af-c-bakt); }
.af-fs-warte-info { font-size: 0.95rem; color: var(--af-text); }
.af-fs-warte-zeit { font-size: 0.9rem; font-variant-numeric: tabular-nums; color: var(--af-text-2); }
.af-fs-kreis { flex: 0 0 auto; width: 28px; height: 28px; margin-top: 2px; border: 3px solid rgba(30,79,168,0.2); border-top-color: var(--af-c-bakt); border-radius: 50%; }
@media (prefers-reduced-motion: no-preference) { .af-fs-kreis { animation: af-fs-dreh 0.9s linear infinite; } }
@keyframes af-fs-dreh { to { transform: rotate(360deg); } }
.af-fs-feld button:disabled { opacity: 0.75; cursor: progress; }
.af-fs-antwort.schreibt .af-fs-antwort-text > :last-child::after { content: ""; display: inline-block; width: 0.5em; height: 1.05em; margin-left: 2px; vertical-align: -0.15em; background: var(--af-c-bakt); }
@media (prefers-reduced-motion: no-preference) { .af-fs-antwort.schreibt .af-fs-antwort-text > :last-child::after { animation: af-fs-blink 1s steps(1) infinite; } }
@keyframes af-fs-blink { 50% { opacity: 0; } }
.af-fs-antwort.schreibt ul > li:last-child::after { content: none; }
.af-fs-ref { font-weight: 600; text-decoration: none; }
.af-fs-hinweis { color: #92400e; }
.af-fs .af-fs-quellen { margin: 0; padding: 8px 20px 16px 44px; border-top: 1px solid var(--af-bg-line); font-size: 0.92rem; display: grid; gap: 4px; }
.af-fs-quellen:empty { display: none; }
.af-fs-quellen .af-fs-werkzeug { list-style: square; }
.af-fs-liste { list-style: none; margin: 0; padding: 8px 10px 12px; display: grid; gap: 2px; }
.af-fs-liste li { padding: 10px 12px; border-radius: 10px; }
.af-fs-liste li:hover { background: rgba(30,79,168,0.05); }
.af-fs-liste a { font-weight: 600; text-decoration: none; color: var(--af-text); }
.af-fs-liste a b { color: var(--af-c-bakt); }
.af-fs-liste p { margin: 4px 0 0; font-size: 0.9rem; line-height: 1.5; color: var(--af-text-2); }
.af-fs-leer { color: var(--af-text-2); }
.af-fs-bald { margin: 0; padding: 0 22px 16px; font-size: 0.9rem; color: var(--af-text-2); font-style: italic; }
.af-fs-status { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; font-size: 0.75rem; font-weight: 600; background: #fef3c7; color: #92400e; }

/* Einstiege in die Suche */
.site-header { position: relative; }
.af-kopf-suche { position: absolute; right: max(20px, calc((100vw - 1240px) / 2 + 20px)); top: 50%; transform: translateY(-50%); z-index: 20;
  display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px; border-radius: 999px; background: rgba(255,255,255,0.14);
  color: #fff !important; font-weight: 600; text-decoration: none !important; }
.af-kopf-suche:hover { background: rgba(255,255,255,0.24); }
.af-kopf-suche:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.af-kopf-suche svg { width: 20px; height: 20px; }
@media (max-width: 600px) { .af-kopf-suche span { display: none; } .af-kopf-suche { padding: 9px; right: 16px; } }
.home .af-home-suchhinweis { margin: 10px 0 0 !important; font-size: 0.92rem; color: #475569; }
.af-ru-frage { margin: 0; }
.af-ru-frage a, .af-kapitel-frage a { font-weight: 600; text-decoration: none; color: var(--af-c-bakt); }
.af-ru-frage a:hover, .af-kapitel-frage a:hover { text-decoration: underline; }
.single-kapitel .entry-content .af-kapitel-frage { margin: 32px 0 0; padding: 14px 18px; border-radius: 12px; background: #eef4fd; }

/* Logo im Seitenkopf (SVG, Mindesthöhe laut Vorgabe 28 px) */
.site-title.af-logo { line-height: 0; margin: 0; }
.site-title.af-logo a { display: inline-block; }
.site-title.af-logo img { display: block; height: 44px; width: auto; max-width: 100%; }
@media (max-width: 544px) { .site-title.af-logo img { height: 34px; } }

/* Hinweisboxen auch auf Seiten (Datenschutz, Nutzungsbedingungen), gleiche Optik wie in Kapiteln */
.page .entry-content .af-box { display: flex; align-items: flex-start; gap: 10px; padding: 10px 14px; margin: 14px 0; border-radius: 10px; border-left: 5px solid rgba(0,0,0,0.25); }
.page .entry-content .af-box p { margin: 0; }
.page .entry-content .af-box figure { margin: 0; flex: none; }
.page .entry-content .af-box img { width: 40px; height: auto; display: block; }
.page .entry-content .af-box-warn { background: rgba(245,158,11,0.14); border-left-color: rgba(245,158,11,0.9); }
.page .entry-content .af-box-info { background: rgba(59,130,246,0.12); border-left-color: rgba(59,130,246,0.9); }
