/* =====================================================================
   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 */
body:not(.is-home) .kontakt-anfrage form,
body:not(.is-home) .kontakt-card,
body:not(.is-home) .job-row,
body:not(.is-home) .ac-card,
body:not(.is-home) .faq-item { 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) .karriere-hero,
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) .karriere-hero :is(h1,h2), body:not(.is-home) .karriere-hero :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,.karriere-hero,.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,.karriere-hero,.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,.karriere-hero,.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,.karriere-hero,.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; }
}
