/* VERMAS · Mehr Leben · separate Testgestaltung
 * Ausschließlich Farbe, Hintergründe, Schatten und Deckkraft.
 * Keine Positions-, Größen-, Schrift-, Abstands- oder Zuschnittregeln.
 * Entfernen dieses Stylesheets und life-test.js stellt die Basis wieder her.
 * Vorhandene Fotos, Texte und CI-Farben werden weiterverwendet.
 */

/* 1. Licht und Tiefe: großzügige Farbflächen statt durchgehendem Weiß. */
body.quality-layout.r45-layout {
  --life-blue: #394a94;
  --life-navy: #24336f;
  --life-green: #9ebd3d;
  --life-sky: #83c4d6;
  --life-hero-photo: none;
  background: #f5f9fa;
}
body.quality-layout.r45-layout main {
  background: #f5f9fa;
}
body.quality-layout.r45-layout main > .r45-band--paper {
  background: radial-gradient(ellipse at 8% 0%, #83c4d61c, transparent 58%), #fff;
}
body.quality-layout.r45-layout main > .r45-band--mist {
  background: radial-gradient(ellipse at 92% 18%, #9ebd3d26, transparent 58%), linear-gradient(125deg, #edf5f7, #f6f9ee);
}
body.quality-layout.r45-layout main > .r45-band--navy {
  background: radial-gradient(ellipse at 92% 5%, #83c4d63b, transparent 55%), linear-gradient(125deg, #24336f, #394a94);
}
body.quality-layout.r45-layout .breadcrumbs {
  background: linear-gradient(90deg, #edf5f7, #f7faee, #edf5f7);
}

/* 2. Themenbezogene Fotohintergründe: rein dekorativ hinter dem Text.
 * Bestehende Illustrationen behalten ihre Größe und ihren eigenen Platz.
 * Ohne geladene Bilder bleibt der dunkle Verlauf lesbar.
 */
body.quality-layout.r45-layout[data-section="privat"] { --life-hero-photo: url('../img/optimized/private-advice-1280.webp'); }
body.quality-layout.r45-layout[data-section="firmen"] { --life-hero-photo: url('../img/optimized/business-office-1280.webp'); }
body.quality-layout.r45-layout[data-section="unternehmen"] { --life-hero-photo: url('../img/optimized/business-office-1280.webp'); }
body.quality-layout.r45-layout[data-section="ratgeber"] { --life-hero-photo: url('../img/optimized/succession-meeting-1280.webp'); }
body.quality-layout.r45-layout[data-section="kontakt"] { --life-hero-photo: url('../img/optimized/business-office-1280.webp'); }
body.quality-layout.r45-layout[data-section="service"] { --life-hero-photo: url('../img/optimized/succession-meeting-1280.webp'); }
body.quality-layout.r45-layout .page-hero.r45-page-hero {
  background-color: #24336f;
  background-image: radial-gradient(ellipse at 0% 0%, #83c4d633, transparent 58%), linear-gradient(110deg, #24336ff0, #394a94df 58%, #24336fe8), var(--life-hero-photo);
  background-size: cover;
  background-position: center, center, center 40%;
  color: #fff;
  box-shadow: inset 0 -5px #9ebd3d;
}
body.quality-layout.r45-layout .r45-page-hero .r45-hero-copy :is(h1, p) {
  color: #fff;
  text-shadow: 0 2px 18px #16234a30;
}
body.quality-layout.r45-layout .r45-page-hero .r45-hero-copy .eyebrow { color: #d8e7a5; }
body.quality-layout.r45-layout .page-hero.r45-page-hero > .hero-brand.r45-hero-visual {
  background: transparent;
}
body.quality-layout.r45-layout.r45-page--legal .page-hero.r45-page-hero {
  background-image: radial-gradient(ellipse at 85% 10%, #83c4d62e, transparent 60%), linear-gradient(125deg, #24336f, #394a94);
}

/* 3. Karten: abwechselnde Nuancen und farbige Reflexe, ohne Bewegung.
 * Die hohe Spezifität löst die historischen weißen !important-Flächen ab.
 */
body.quality-layout.r45-layout main :is(.article-block, .sidebar-card, .contact-form, .quote-card, .partner-card, .resource-grid > *, .related-links a) {
  color: #24336f;
  background: radial-gradient(ellipse at 100% 0%, #83c4d61a, transparent 58%), #fff !important;
  border-color: #83c4d66e;
  box-shadow: 0 14px 38px #24336f0c, inset 0 3px #83c4d6a6;
}
body.quality-layout.r45-layout main .article-block:nth-child(even) {
  background: radial-gradient(ellipse at 0% 0%, #9ebd3d1f, transparent 62%), #fff !important;
  box-shadow: 0 14px 38px #24336f0c, inset 0 3px #9ebd3db3;
}
body.quality-layout.r45-layout main :is(.navigation-topic, .feature-card, .value-card, .office-card, .advice-card, .team-card, .booking-grid a, .security-card) {
  color: #24336f;
  background: radial-gradient(ellipse at 90% 0%, #83c4d624, transparent 65%), #fff !important;
  border-color: #83c4d680;
  box-shadow: 0 12px 30px #24336f0d, inset 0 3px #83c4d6;
}
body.quality-layout.r45-layout main :is(.navigation-topic, .feature-card, .value-card, .office-card, .advice-card, .team-card, .booking-grid a, .security-card):nth-child(3n + 2) {
  background: radial-gradient(ellipse at 10% 0%, #9ebd3d26, transparent 65%), #fff !important;
  box-shadow: 0 12px 30px #24336f0d, inset 0 3px #9ebd3d;
}
body.quality-layout.r45-layout main :is(.navigation-topic, .feature-card, .value-card, .office-card, .advice-card, .team-card, .booking-grid a, .security-card):nth-child(3n) {
  background: radial-gradient(ellipse at 80% 0%, #394a9415, transparent 65%), #fff !important;
  box-shadow: 0 12px 30px #24336f0d, inset 0 3px #394a94;
}
body.quality-layout.r45-layout main :is(.navigation-topic, .feature-card, .value-card, .office-card, .advice-card, .team-card, .booking-grid a, .security-card) :is(h2, h3, strong) { color: #24336f; }
body.quality-layout.r45-layout main :is(.navigation-topic, .feature-card, .value-card, .office-card, .advice-card, .team-card, .booking-grid a, .security-card) p { color: #505b70; }
body.quality-layout.r45-layout main .article-block > h2::before { background: linear-gradient(90deg, #9ebd3d, #83c4d6); }
body.quality-layout.r45-layout main .r46-visual { border-color: #83c4d64d; box-shadow: 0 12px 34px #24336f09; }
body.quality-layout.r45-layout main .team-section.r45-band {
  background: radial-gradient(ellipse at 8% 10%, #9ebd3d25, transparent 58%), linear-gradient(120deg, #edf5f7, #fff) !important;
}
body.quality-layout.r45-layout main .team-section.r45-band:nth-of-type(even) {
  background: radial-gradient(ellipse at 92% 10%, #83c4d62c, transparent 58%), #fff !important;
}
body.quality-layout.r45-layout main details:not(.reader-dialog) {
  border-color: #83c4d67a;
}
body.quality-layout.r45-layout main details > summary {
  background: linear-gradient(110deg, #edf5f7, #f7faef);
  color: #24336f;
}
body.quality-layout.r45-layout main details[open] > summary {
  background: linear-gradient(110deg, #e3eff4, #eff5da);
  box-shadow: inset 0 -2px #9ebd3d;
}

/* 4. Startseite: vorhandene Bilder und Farbbänder stärker betonen.
 * Der komplette Hero mit Geschäftsführungsfoto bleibt unberührt.
 */
body.quality-layout.home-r42.r45-layout .r42-audience-card:nth-of-type(1)::before {
  background: linear-gradient(90deg, #24336ff0 0%, #394a94b8 60%, #24336f24);
}
body.quality-layout.home-r42.r45-layout .r42-audience-card:nth-of-type(2)::before {
  background: linear-gradient(90deg, #83c4d6f5 0%, #83c4d6d6 60%, #83c4d647);
}
body.quality-layout.home-r42.r45-layout .r42-audience-card:nth-of-type(3)::before {
  background: linear-gradient(90deg, #9ebd3df5 0%, #9ebd3dd6 60%, #9ebd3d47);
}
body.quality-layout.home-r42.r45-layout .r42-value {
  background: radial-gradient(ellipse at 95% 10%, #83c4d62e, transparent 60%), #fff;
}
body.quality-layout.home-r42.r45-layout .r42-value-item {
  background: linear-gradient(125deg, #ffffffdb, #edf5f78a);
  border-color: #83c4d66e;
  box-shadow: 0 10px 32px #24336f09;
}
body.quality-layout.home-r42.r45-layout .r42-value-icon {
  box-shadow: 0 0 0 7px #83c4d61f;
}
body.quality-layout.home-r42.r45-layout .r42-team-copy {
  background: radial-gradient(ellipse at 100% 0%, #83c4d638, transparent 60%), linear-gradient(125deg, #24336f, #394a94);
}
body.quality-layout.home-r42.r45-layout .r42-guidance {
  background: radial-gradient(ellipse at 0% 100%, #9ebd3d26, transparent 60%), #f4f8f9;
}
body.quality-layout.home-r42.r45-layout .r42-guide {
  background: radial-gradient(ellipse at 90% 0%, #83c4d633, transparent 70%), #fff;
  color: #24336f;
  border-color: #83c4d680;
  box-shadow: 0 12px 30px #24336f0d, inset 0 3px #83c4d6;
}
body.quality-layout.home-r42.r45-layout .r42-guide:nth-child(2n) {
  background: radial-gradient(ellipse at 10% 0%, #9ebd3d2b, transparent 70%), #fff;
  box-shadow: 0 12px 30px #24336f0d, inset 0 3px #9ebd3d;
}
body.quality-layout.home-r42.r45-layout .r42-guide :is(h3, p, span) { color: #24336f; }
body.quality-layout.home-r42.r45-layout .r42-services {
  background: radial-gradient(ellipse at 90% 100%, #83c4d61f, transparent 65%), #f1f6e7;
}
body.quality-layout.home-r42.r45-layout .r42-service-intro {
  background: radial-gradient(ellipse at 0% 100%, #83c4d62e, transparent 65%), #9ebd3d;
}
body.quality-layout.home-r42.r45-layout .r42-service-card {
  background: #ffffffa8;
  border-color: #9ebd3d47;
}

/* 5. Kleine Interaktionen: Licht statt hüpfender oder wachsender Karten. */
body.quality-layout.r45-layout :is(.button, .r42-button) {
  box-shadow: 0 5px 16px #24336f1f;
  transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
body.quality-layout.r45-layout :is(.button, .r42-button):is(:hover, :focus-visible) {
  box-shadow: 0 8px 24px #24336f33, 0 0 0 3px #83c4d633;
}
body.quality-layout.r45-layout main :is(.navigation-topic, .feature-card, .team-card, .partner-card, .advice-card, .booking-grid a, .related-links a, .r42-guide):is(:hover, :focus-within) {
  border-color: #9ebd3d;
  box-shadow: 0 14px 38px #24336f1c, inset 0 3px #9ebd3d;
}
body.quality-layout.r45-layout main [data-life-card]:is(:hover, :focus-within) {
  background: radial-gradient(circle at var(--life-x, 50%) var(--life-y, 20%), #83c4d636, transparent 65%), #fff !important;
}
body.quality-layout.r45-layout main [data-life-fade] {
  animation: vermas-life-in .65s ease both;
}
@keyframes vermas-life-in {
  from { opacity: .55; }
  to { opacity: 1; }
}

/* 6. Gemeinsamer Abschluss: sattes Blau, helle Flächen, CI-Farbakzente. */
body.quality-layout.r45-layout .site-header-r42 {
  background: #fff;
  border-color: #83c4d680;
  box-shadow: 0 3px 22px #24336f0a;
}
body.quality-layout.r45-layout .r42-contact-rail {
  background: radial-gradient(ellipse at 90% 0%, #83c4d640, transparent 55%), linear-gradient(120deg, #24336f, #394a94);
}
body.quality-layout.r45-layout .r42-footer-main {
  background: radial-gradient(ellipse at 5% 0%, #83c4d61f, transparent 55%), linear-gradient(120deg, #fff, #f6f9ee);
}
body.quality-layout.r45-layout .r43-social-card {
  background: #fff;
  border-color: #83c4d680;
  box-shadow: 0 5px 20px #24336f0b;
}
body.quality-layout.r45-layout :focus-visible { outline-color: #394a94; }
body.quality-layout.r45-layout :is(.r45-page-hero, .r42-contact-rail) :focus-visible { outline-color: #d8e7a5; }

/* Keine Animation bei entsprechender Systemeinstellung oder im Ausdruck. */
@media (prefers-reduced-motion: reduce), print {
  body.quality-layout.r45-layout main [data-life-fade] { animation: none; opacity: 1; }
}
@media print {
  body.quality-layout.r45-layout main > .r45-band,
  body.quality-layout.r45-layout .page-hero.r45-page-hero {
    background: #fff;
    color: #24336f;
    box-shadow: none;
  }
  body.quality-layout.r45-layout .r45-page-hero .r45-hero-copy :is(h1, p) { color: #24336f; text-shadow: none; }
}
