/* =====================================================================
   UNTERSEITEN NAVY + WEISS (live seit 2026-09-30, Yusuf)
   Gleiche Regeln wie die Startseite (css/home-navy.css):
   nur zwei Flächen (Navy #0b1c3d, Weiß), kein Schwarz, kein Grau.
   Überschriften auf Weiß Navy, auf Navy weiß. Buttons auf Weiß #16336a, auf Navy weiß.
   Gilt nicht für die Startseite (body.is-home hat eigene Datei).
   ===================================================================== */
:root { --sn-navy: #0b1c3d; --sn-btn: #16336a; --sn-card: #132a52; --sn-line: #e3e9f2; }

/* ---------- Header-Button sitewide ---------- */
body .nav-cta, body .nav-mobile-cta { background: var(--sn-btn) !important; color: #fff !important; border-color: var(--sn-btn) !important; }
body .nav-cta:hover { background: #1d4180 !important; }

/* ---------- Helle Flächen: nur Weiß ---------- */
body:not(.is-home).theme-light,
body:not(.is-home).news-soft { background: #fff !important; --bg-soft: #fff; }
body:not(.is-home) #content-start:not([class*="hero"]):not(.orbital-c-section):not(.dc-scroll):not(.sub-hero):not(.ai-leistungen-dark):not([class*="dark"]),
body:not(.is-home) .page-hero,
body:not(.is-home) .page-hero--news,
body:not(.is-home) .mx-sec--soft,
body:not(.is-home) .bs-sec--soft,
body:not(.is-home) #rz-reels,
body:not(.is-home) #partner,
body:not(.is-home) #rz-cta,
body:not(.is-home) .ac-intro,
body:not(.is-home) .ac-trainings,
body:not(.is-home) .ac-cert,
body:not(.is-home) #stellen,
body:not(.is-home) .faq-section,
body:not(.is-home) .kontakt-hero-mini,
body:not(.is-home) .kontakt-anfrage,
body:not(.is-home) .news-navy-band,
body:not(.is-home) .news-ticker-section,
body:not(.is-home) .rm-platform,
body:not(.is-home) .ai-leistungen-dark + section,
body:not(.is-home) main > section[style*="bg-soft"],
body:not(.is-home) .sub-hero:not(.sub-hero--redmind) { background: #fff !important; background-image: none !important; }
body:not(.is-home) .sicherheit-compliance-page main > section,
body:not(.is-home) main > section[style*="linear-gradient(180deg,var(--bg)"] { background: #fff !important; }
/* Weiße Karten auf Weiß brauchen eine Kante (Aufklapp-Zeilen wie FAQ/Stellen NICHT: die behalten ihr Linien-Design, Yusuf 2026-09-30) */
body:not(.is-home) .kontakt-anfrage form,
body:not(.is-home) .kontakt-card { border: 1px solid var(--sn-line); }

/* ---------- Dunkle Flächen: nur Navy ---------- */
body:not(.is-home) .orbital-c-section,
body:not(.is-home) .sub-dark-section,
body:not(.is-home) .rm-section-dark,
body:not(.is-home) .ac-hero,
body:not(.is-home) .ac-packages,
body:not(.is-home) .context-band--hero,
body:not(.is-home) .solutions-grid-section--dark,
body:not(.is-home) .tile-grid-section.theme-dark,
body:not(.is-home) .rz-navy { background: var(--sn-navy) !important; background-image: none !important; }
body:not(.is-home) .sub-dark-section::before { background: radial-gradient(800px 500px at 80% 10%, rgba(43,138,255,.12), transparent 60%) !important; }
/* Karten auf Navy */
body:not(.is-home) .rm-section-dark .sub-compare-card,
body:not(.is-home) .rm-section-dark .sub-phase,
body:not(.is-home) .rm-section-dark .redmind-accordion,
body:not(.is-home) .sub-dark-section .sub-card,
body:not(.is-home) .ai-leistungen-dark [class*="card"] { background: var(--sn-card) !important; border-color: rgba(255,255,255,.10) !important; }

/* ---------- Überschriften ---------- */
body:not(.is-home) main h1,
body:not(.is-home) main h2 { color: var(--sn-navy); }
body:not(.is-home) main h1 .accent-blue { color: #2b8aff; }
body:not(.is-home) main h2 .accent-blue { color: #2b8aff; } /* Hero-Blau, nur große Überschriften */
body:not(.is-home) .orbital-c-section :is(h1,h2), body:not(.is-home) .orbital-c-section :is(h1,h2) .accent-blue,
body:not(.is-home) .sub-dark-section :is(h1,h2), body:not(.is-home) .sub-dark-section :is(h1,h2) .accent-blue,
body:not(.is-home) .ai-leistungen-dark :is(h1,h2), body:not(.is-home) .ai-leistungen-dark :is(h1,h2) .accent-blue,
body:not(.is-home) .rm-section-dark :is(h1,h2), body:not(.is-home) .rm-section-dark :is(h1,h2) .accent-blue,
body:not(.is-home) .ac-hero :is(h1,h2), body:not(.is-home) .ac-hero :is(h1,h2) .accent-blue,
body:not(.is-home) .ac-packages :is(h1,h2), body:not(.is-home) .ac-packages :is(h1,h2) .accent-blue,
body:not(.is-home) .dc-scroll :is(h1,h2),
body:not(.is-home) .mx-hero :is(h1,h2), body:not(.is-home) .mx-final :is(h1,h2),
body:not(.is-home) .bs-hero :is(h1,h2), body:not(.is-home) .bs-final :is(h1,h2) { color: #fff !important; }

/* ---------- Buttons: auf Weiß helles Navy, auf Navy weiß ---------- */
body:not(.is-home) main .btn-primary,
body:not(.is-home) main .mx-btn--primary,
body:not(.is-home) main .bs-btn--primary { background: var(--sn-btn) !important; border-color: var(--sn-btn) !important; color: #fff !important; }
body:not(.is-home) main .btn-primary:hover,
body:not(.is-home) main .mx-btn--primary:hover,
body:not(.is-home) main .bs-btn--primary:hover { background: #1d4180 !important; }
body:not(.is-home) :is(.orbital-c-section,.sub-dark-section,.ai-leistungen-dark,.rm-section-dark,.ac-hero,.ac-packages,.dc-scroll,.mx-hero,.mx-final,.bs-hero,.bs-final) :is(.btn-primary,.mx-btn--primary,.bs-btn--primary) {
  background: #fff !important; border-color: #fff !important; color: var(--sn-navy) !important; }
body:not(.is-home) :is(.orbital-c-section,.sub-dark-section,.ai-leistungen-dark,.rm-section-dark,.ac-hero,.ac-packages,.dc-scroll,.mx-hero,.mx-final,.bs-hero,.bs-final) :is(.btn-primary,.mx-btn--primary,.bs-btn--primary):hover { background: #e8eef8 !important; }
body:not(.is-home) main .btn-ghost { color: var(--sn-navy); border-color: rgba(11,28,61,.28); }
body:not(.is-home) :is(.orbital-c-section,.sub-dark-section,.ai-leistungen-dark,.rm-section-dark,.ac-hero,.ac-packages,.mx-hero,.bs-hero) .btn-ghost { color: #fff !important; border-color: rgba(255,255,255,.4) !important; background: transparent !important; }
/* Mindestgröße für Fingertipps */
body:not(.is-home) main :is(.btn,.mx-btn,.bs-btn) { min-height: 44px; }
body:not(.is-home) main > section[style*="rgba(26,90,204,0.04)"] { background: #fff !important; }

/* AI Solutions: Hero bleibt schwarz wie ursprünglich (Yusuf 2026-09-30, Grün passt nicht zu Navy) */

/* EN-Seiten: Kicker der Anwendungsfall-Karten war deutsch (style.css .uc-area::before) */
html[lang^="en"] .uc-area::before { content: "Service area · "; }

/* =====================================================================
   Einheitliche Button-Reaktion sitewide (Yusuf 2026-09-30):
   wie „Demo buchen": leicht anheben + weicher Schatten, gedrückt zurück.
   Gilt auch auf der Startseite (site-navy.css ist dort ebenfalls eingebunden).
   ===================================================================== */
:is(.btn,.btn-primary,.btn-ghost,.nav-cta,.hero-btn-primary,.hero-btn-ghost,.gad-cta-btn,.trust-belt-compliance-cta,
    .mx-btn,.bs-btn,.konfig-next-btn,.lp-cta,.sw-link,.decision-link,.rz-hero-cta a,.testimonial-avatar,.dv-tab) {
  transition: transform .2s cubic-bezier(.16,1,.3,1), box-shadow .2s ease, background-color .2s ease, border-color .2s ease, color .2s ease !important;
}
@media (hover: hover) {
  :is(.btn,.btn-primary,.btn-ghost,.nav-cta,.hero-btn-primary,.hero-btn-ghost,.gad-cta-btn,.trust-belt-compliance-cta,.mx-btn,.bs-btn,.konfig-next-btn,.rz-hero-cta a):hover {
    transform: translateY(-2px); box-shadow: 0 12px 28px rgba(11,28,61,.28);
  }
  /* Umriss-Buttons auf dunklen Flächen: zusätzlich leichter Glaston */
  :is(.hero-btn-ghost,.btn-ghost,.trust-belt-compliance-cta):hover { background-color: rgba(255,255,255,.10); border-color: rgba(255,255,255,.75); }
  .theme-light main :is(.ueber-final-cta,.faq-section,.kontakt-anfrage) .btn-ghost:hover,
  body:not(.is-home) main .btn-ghost:not(:is(.orbital-c-section,.sub-dark-section,.rm-section-dark,.ac-hero,.ac-packages,.mx-hero,.bs-hero) *):hover { background-color: rgba(11,28,61,.06); border-color: rgba(11,28,61,.5); }
  /* Textlinks mit Pfeil: Pfeil wandert */
  :is(.lp-cta,.sw-link,.decision-link):hover { transform: translateX(3px); }
}
:is(.btn,.btn-primary,.btn-ghost,.nav-cta,.hero-btn-primary,.hero-btn-ghost,.gad-cta-btn,.trust-belt-compliance-cta,.mx-btn,.bs-btn,.rz-hero-cta a):active { transform: translateY(0) scale(.98); box-shadow: none; }
:is(.btn,.btn-primary,.btn-ghost,.nav-cta,.hero-btn-primary,.hero-btn-ghost,.gad-cta-btn,.trust-belt-compliance-cta,.mx-btn,.bs-btn):focus-visible { outline: 3px solid rgba(43,138,255,.55); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
  :is(.btn,.btn-primary,.btn-ghost,.nav-cta,.hero-btn-primary,.hero-btn-ghost,.gad-cta-btn,.trust-belt-compliance-cta,.mx-btn,.bs-btn,.lp-cta,.sw-link,.decision-link):hover { transform: none; }
}

/* =====================================================================
   „Kachel-Sektion" wie auf Neuigkeiten (Yusuf 2026-09-30):
   Seite hat Navy-Hintergrund, Inhalts-Sektionen liegen als große weiße Karten darauf.
   Nutzung: <body class="… sheet-page"> und Sektionen mit class="gad-sheet".
   Hero/Navy-Sektionen ohne gad-sheet liegen direkt auf dem Navy.
   ===================================================================== */
/* Yusuf 2026-09-30: Kachel-Seiten haben einen HELLEN Hintergrund (wie früher Neuigkeiten), nicht Navy. Nur die Umrahmung zählt. */
body.sheet-page, body.sheet-page:not(.is-home).theme-light, body.sheet-page:not(.is-home).news-soft { background: #eef3f9 !important; }
body.sheet-page main > .gad-sheet,
body.sheet-page .gad-sheet {
  background: #fff !important; background-image: none !important;
  border-radius: 28px; margin: 28px auto !important; padding: 64px 0 !important;
  max-width: min(1240px, calc(100% - 48px)); position: relative;
  box-shadow: 0 10px 32px rgba(20,40,80,.08), inset 0 1px 0 rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.85);
}
body.sheet-page .gad-sheet > .container { padding-left: clamp(22px, 5vw, 60px); padding-right: clamp(22px, 5vw, 60px); }
body.sheet-page .gad-sheet + .gad-sheet { margin-top: 0 !important; }
/* Handy: keine Kachel-Rahmen, Sektionen volle Breite (Yusuf 2026-10-01: Rahmen kosten Platz, stören Wischreihen) */
@media (max-width: 760px) {
  body.sheet-page, body.sheet-page:not(.is-home).theme-light { background: #fff !important; }
  body.sheet-page .gad-sheet, body.sheet-page main > .gad-sheet { border-radius: 0; margin: 0 !important; padding: 56px 0 !important; max-width: none; box-shadow: none; border: 0; }
  body.sheet-page .gad-sheet + .gad-sheet:not(.gad-sheet--navy) { border-top: 1px solid #e3e9f2; }
}
/* Aufklapp-Zeilen sitewide im Startseiten-Stil: nur Trennlinien, kein Kasten */
body:not(.is-home) main .faq-item { border: 0 !important; border-bottom: 1px solid var(--sn-line) !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
/* Karriere-Hero wie ursprünglich (Foto + eigenes Styling aus style.css), nur Überschrift bleibt hell lesbar */
body:not(.is-home) .karriere-hero h1 { color: #fff !important; }

/* =====================================================================
   Einheitliche Hero-Typografie Unterseiten (Yusuf 2026-10-01)
   Maß: Cybersecurity-Hero. h1 46px (Desktop) bis 30px (390 px), Lead 18px,
   Abstände Kicker→h1 20px, h1→Lead 18px, Lead→Buttons 28px, Buttons 16px/52px.
   Layouts, Bilder und Grafiken bleiben. Karriere bewusst ausgenommen.
   :is(#content-start,.ac-hero) hebt die Spezifität über style.css und Inline-Styles.
   ===================================================================== */
body:not(.is-home) :is(.orbital-c-section,.grc-hero,.ai-leistungen-dark,.sub-hero,.dc-scroll,.ac-hero,.page-hero,.ueber-hero-tower,.kontakt-hero-mini,.konfig-hub-hero,.mx-hero,.bs-hero):is(#content-start,.ac-hero) {
  --hero-lead-color: rgba(11,28,61,.72);
}
body:not(.is-home) :is(.orbital-c-section,.grc-hero,.ai-leistungen-dark,.dc-scroll,.ac-hero,.mx-hero,.bs-hero):is(#content-start,.ac-hero) { --hero-lead-color: rgba(255,255,255,.8); }
body:not(.is-home) :is(.orbital-c-section,.grc-hero,.ai-leistungen-dark,.sub-hero,.dc-scroll,.ac-hero,.page-hero,.ueber-hero-tower,.kontakt-hero-mini,.konfig-hub-hero,.mx-hero,.bs-hero):is(#content-start,.ac-hero) h1 {
  font-size: clamp(30px, 23px + 1.8vw, 46px); line-height: 1.08; letter-spacing: -.02em; font-weight: 700;
  margin: 0 0 18px;
}
body:not(.is-home) :is(.orbital-c-section,.grc-hero,.ai-leistungen-dark,.sub-hero,.dc-scroll,.ac-hero,.page-hero,.ueber-hero-tower,.kontakt-hero-mini,.konfig-hub-hero,.mx-hero,.bs-hero):is(#content-start,.ac-hero) :is(.eyebrow,.ac-hero-eyebrow,.page-brand,.mx-hero-logo,.bs-logo):has(+ h1) { margin-bottom: 20px; }
body:not(.is-home) :is(.orbital-c-section,.grc-hero,.ai-leistungen-dark,.sub-hero,.dc-scroll,.ac-hero,.page-hero,.ueber-hero-tower,.kontakt-hero-mini,.konfig-hub-hero,.mx-hero,.bs-hero):is(#content-start,.ac-hero) h1 + p {
  font-size: 18px; line-height: 1.55; max-width: 620px; color: var(--hero-lead-color); margin-top: 0; margin-bottom: 0;
}
body:not(.is-home) :is(.orbital-c-section,.grc-hero,.ai-leistungen-dark,.sub-hero,.dc-scroll,.ac-hero,.page-hero,.ueber-hero-tower,.kontakt-hero-mini,.konfig-hub-hero,.mx-hero,.bs-hero):is(#content-start,.ac-hero) h1 + p + :is(.hero-cta,.dc-scroll-cta,.ac-hero-cta,.uht-cta,.mx-hero-btns,.bs-hero-btns) { margin-top: 28px !important; }
body:not(.is-home) :is(.orbital-c-section,.sub-hero,.dc-scroll,.ac-hero,.ueber-hero-tower,.mx-hero,.bs-hero):is(#content-start,.ac-hero) :is(.hero-cta,.dc-scroll-cta,.ac-hero-cta,.uht-cta,.mx-hero-btns,.bs-hero-btns) :is(.btn,.mx-btn,.bs-btn) {
  font-size: 16px; min-height: 52px;
}
body:not(.is-home) :is(.mx-hero,.bs-hero)#content-start :is(.mx-btn,.bs-btn) { padding-top: 0; padding-bottom: 0; }
/* BsMind: Hero kompakter, Grafik nach rechts wie bei MiRA, Text bekommt mehr Breite */
body:not(.is-home) .bs-hero-grid { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: 52px; }
body:not(.is-home) .bs-hero .bs-illu { justify-self: end; max-width: 470px; }
@media (max-width: 760px) {
  body:not(.is-home) .bs-hero-grid { grid-template-columns: 1fr; gap: 26px; }
  body:not(.is-home) .bs-hero .bs-illu { justify-self: center; max-width: 340px; }
}

/* ---------- Buttons: Mindestgröße 44 px + Farben nach Regel (Prüfung 2026-10-01) ---------- */
/* Cookie-Banner */
.cookie-banner .btn { min-height: 44px; padding: 10px 18px; font-size: 14px; }
.cookie-banner .btn-primary { background: #16336a !important; border-color: #16336a !important; color: #fff !important; }
/* Footer-Newsletter liegt auf Navy: weißer Button */
.site-footer .footer-newsletter-row .btn { min-height: 44px; background: #fff !important; border-color: #fff !important; color: #0b1c3d !important; }
/* Header-Button: Optik bleibt, Trefferfläche 44 px */
body .nav-cta { position: relative; }
body .nav-cta::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 44px; transform: translateY(-50%); }
/* Anfrage-Strecken: Weiter-Button */
.konfig-next-btn { min-height: 44px; background: #16336a !important; border-color: #16336a !important; color: #fff !important; }
.konfig-next-btn:hover { background: #1d4180 !important; }

/* Neuigkeiten-Hero liegt auf Navy: Lead hell (Fix 2026-10-01) */
body #content-start.page-hero--news .lead { color: rgba(255,255,255,.8) !important; }

/* ---------- Kachel-Sektionen sitewide (Yusuf 2026-10-01): Navy-Kachel + schmalere Innenabstände auf dem Handy ---------- */
body.sheet-page .gad-sheet.gad-sheet--navy {
  background: linear-gradient(180deg, #0c2149 0%, #0a1a38 55%, #081428 100%) !important;
  border-color: rgba(255,255,255,.06); box-shadow: 0 14px 40px rgba(8,20,40,.22); color: #fff; overflow: hidden;
}
body.sheet-page .gad-sheet.gad-sheet--navy::before, body.sheet-page .gad-sheet.gad-sheet--navy::after { border-radius: inherit; }
@media (max-width: 760px) {
  body.sheet-page .gad-sheet > .container { padding-left: 20px; padding-right: 20px; }
  /* Wischreihen laufen genau bis zum Bildschirmrand (Innenabstand 20 px) */
  body.sheet-page .gad-sheet { --mb: 20px; }
  body.sheet-page .gad-sheet .m-swipe { --m-bleed: 20px; }
  body.sheet-page { overflow-x: clip; }
  html:has(body.sheet-page) { overflow-x: clip; }
}

/* Handy-Feinschliff sitewide (Prüfung 2026-10-02) */
@media (max-width: 760px) {
  .site-header { background: rgba(255,255,255,.97) !important; }   /* Text darunter scheint nicht mehr durch */
  /* Footer: echte Klassen (footer-col, footer-h, footer-legalbar), Trefferfläche 44 px (Fix 2026-10-02) */
  .site-footer .footer-col li { padding: 0; }
  .site-footer .footer-col li a, .site-footer .footer-legalbar a { display: inline-flex; align-items: center; min-height: 44px; }
  .site-footer .compliance-mini-badge { min-width: 44px; min-height: 44px; justify-content: center; }
}
@media (hover: none) {
  .compliance-mini-badge:hover { transform: none !important; }
}

/* ---------- Inhalts- und Konsistenzprüfung 2026-10-02 ---------- */
/* Header am Handy/Tablet: echte 44-px-Trefferflächen für Icons und Menü-Knopf */
@media (max-width: 1023px) {
  .site-header .nav-account { gap: 0; }
  .site-header .nav-icon-btn { width: 44px; height: 44px; }
  .site-header .nav-icon-btn::before { content: none; }
  .site-header .nav-toggle { width: 44px; height: 44px; }
  .site-header .nav-toggle::before { content: none; }
  .site-header .nav-lang-current { bottom: 4px; right: 3px; }
  .site-header .nav-avatar { width: 44px; height: 44px; margin: 0; padding: 8px; background-clip: content-box; }
}
@media (max-width: 374px) {
  .site-header .nav-icon-btn { width: 40px; }
}
.nav-lang-current { background: #0062c4; }

/* Checkbox-Labels als Tippfläche */
.footer-newsletter-consent { padding: 6px 0; min-height: 44px; box-sizing: border-box; }
.form-checkbox label, .account-form .checkbox-row label { padding: 4px 0; }
.form-checkbox { min-height: 44px; }
.contact-anliegen-opt { min-height: 44px; }

/* Konto-Seiten: Kontrast (Button Navy, Links Text-Blau) */
.account-shell .account-form button[type="submit"] { background: #16336a; border-color: #16336a; color: #fff; }
.account-shell .account-form button[type="submit"]:hover { background: #1d4180; }
.account-shell .account-meta a, .account-shell .account-sub a, .account-shell .account-form a { color: #0071e3; }

/* Fachbeiträge: Eyebrow und Links Text-Blau, Metazeile dunkler */
body.news-soft .article-hero .article-eyebrow, body.news-soft .article-hero .article-eyebrow .dot, body.news-soft .article-body a:not(.btn), body.news-soft .article-back a { color: #0071e3; }
body.news-soft .article-hero .article-meta, body.news-soft .article-hero .article-breadcrumb, body.news-soft .article-hero .article-breadcrumb a, body.news-soft .article-hero .article-breadcrumb span { color: #5b6679; }

/* Nachrichten-Ticker auf Weiß (Unterseiten): Stand und Hinweis lesbar; Startseite (Navy) bleibt hell */
body:not(.is-home) .news-ticker-meta, body:not(.is-home) .news-ticker-disclaimer { color: #5b6679; }

/* BsMind: Vergleichs-Labels links; Wischpunkte der Bento-Reihe volle Breite (44-px-Punkte) */
body .bs-vs-col--out dt { color: #5b6679; }
.bs-bento > .m-swipe-dots { width: 100%; }
.bs-bento > .m-swipe-dots button { min-width: 44px; }
