/* Taurus Technics: aktives Swiss-A-Design auf Staging und LIVE. */
body.swiss-a {
  --lab-ink:#172b3d; --lab-soft:#f0f5f8; --lab-line:#cbd6dc; --lab-accent:#377fac;
  --bg:#fff; --bg-grad-a:#fff; --bg-grad-b:#f5f9fc; --text:#172b3d; --muted:#526575;
  --line:rgba(39,76,104,.18); --accent:#377fac; --accent-dark:#1f597d;
  --radius:0px; --shadow:none;
  background:#fff; color:var(--text);
}
body.swiss-a:not(.light-mode) {
  --lab-accent:#a3262f; --lab-soft:#fdf2f1; --lab-line:#d8b8bb;
  --bg:#fffafa; --bg-grad-a:#fffafa; --bg-grad-b:#fdf1f0; --text:#24191c; --muted:#5a474b;
  --line:rgba(120,34,44,.22); --accent:#a3262f; --accent-dark:#7f1821;
  background:#fffafa; color:var(--text);
}
body.swiss-a :is(.btn,.tag,.service-tile,.job-post,.job-offer,.jobs-contact-card,.consent-card,.contact-card,.portfolio-card,.feature-card,.proof-bar,.repair-principles>div,.why-taurus-card,.form-control,input,textarea,select,.swiss-hero-photo,.real-work-card,.theme-toggle) {
  border-radius:0!important; box-shadow:none!important;
}
body.swiss-a :is(.btn,input,textarea,select,button) { border-radius:0!important; }
body.swiss-a :is(.btn,.service-tile,.job-post,.jobs-contact-card,.portfolio-card) { transition: border-color .2s ease,background-color .2s ease,transform .2s ease; }
body.swiss-a :is(.btn,.service-tile,.job-post) { border:1px solid var(--lab-line); }
body.swiss-a .btn-primary { background:var(--lab-accent); color:#fff; border-color:var(--lab-accent); }
body.swiss-a .btn-secondary { background:transparent; color:var(--text); border-color:var(--lab-line); }
body.swiss-a .topbar { background:rgba(255,255,255,.97); border-bottom:1px solid var(--lab-line); box-shadow:none; backdrop-filter:none; }
body.swiss-a .nav-links a { color:var(--text); }
body.swiss-a .brand-wordmark-black { opacity:1; }
body.swiss-a .brand-wordmark-white { opacity:0; }
body.swiss-a .brand-head { mix-blend-mode:multiply; filter:none; }
body.swiss-a.light-mode .brand-head { filter:hue-rotate(188deg) saturate(2.25) brightness(.98) contrast(1.14); mix-blend-mode:normal; }
body.swiss-a .theme-toggle { border:1px solid var(--lab-line); background:var(--lab-soft); color:var(--text); }
body.swiss-a .container { width:min(var(--max),calc(100% - 3rem)); }
body.swiss-a :is(.hero,.service-showcase,.repair-first-section,.real-work-section,.why-taurus-section,.site-footer-pro) { background-image:none; }
body.swiss-a :is(.service-showcase,.repair-first-section,.real-work-section,.why-taurus-section) { padding-block:clamp(4rem,7vw,7.5rem); }
body.swiss-a :is(h1,h2,h3) { text-wrap:balance; }
body.swiss-a :is(.service-tile,.job-post,.jobs-contact-card,.contact-card) { background:var(--lab-soft); border-color:var(--lab-line); }
body.swiss-a :is(.service-tile h3,.job-post h2,.section-head h2) { color:var(--text); }
body.swiss-a .tag { background:var(--lab-accent); color:#fff; padding:.25rem .75rem; letter-spacing:.10em; font-weight:350; text-transform:uppercase; }
body.swiss-a :is(.proof-bar,.site-footer-pro) { border-top:1px solid var(--lab-line); }
body.swiss-a :is(.consent-card,.mobile-dropdown-panel) { background:#fff; color:#172b3d; border:1px solid var(--lab-line); }
body.swiss-a .swiss-hero-photo img,body.swiss-a .real-work-card img { border-radius:0; }
body.swiss-a :is(input,textarea,select) { background:#fff; border:1px solid var(--lab-line); color:#172b3d; }
body.swiss-a :is(a,button,input,textarea,select):focus-visible { outline:3px solid var(--lab-accent); outline-offset:3px; }
/* Warm-Modus: kräftiges Taurus-Rot und konsequenter Textkontrast auf hellen Flächen. */
body.swiss-a:not(.light-mode) :is(.btn-primary,.tag) {
  background:#a3262f; border-color:#a3262f; color:#fff;
}
body.swiss-a:not(.light-mode) .btn-secondary {
  background:#fff; border-color:#c8a9ad; color:#24191c;
}
body.swiss-a:not(.light-mode) :is(.service-tile,.job-post,.jobs-contact-card,.contact-card,.consent-card,.mobile-dropdown-panel) {
  background:#fff8f7; border-color:#d8b8bb; color:#24191c;
}
body.swiss-a:not(.light-mode) :is(.service-tile p,.job-post p,.jobs-contact-card p,.contact-card p,.section-head p,.hero-lead,.repair-first-copy p,.proof-bar span) { color:#49383c; }
body.swiss-a:not(.light-mode) :is(.service-tile h3,.job-post h2,.section-head h2,.hero h1) { color:#24191c; }
body.swiss-a:not(.light-mode) .proof-bar { background:#f9eceb; }
body.swiss-a:not(.light-mode) .topbar { background:#fffafa; }
body.swiss-a:not(.light-mode) :is(.nav-links a,.mobile-dropdown-panel a) { color:#24191c; }
body.swiss-a:not(.light-mode) :is(.nav-links a:hover,.nav-links a:focus-visible,.text-link:hover) { color:#7f1821; }
body.swiss-a:not(.light-mode) :is(input,textarea,select) { background:#fff; color:#24191c; border-color:#c8a9ad; }
body.swiss-a:not(.light-mode) :is(input,textarea)::placeholder { color:#67565b; opacity:1; }
body.swiss-a:not(.light-mode) .theme-toggle { background:#f9eceb; border-color:#c8a9ad; color:#24191c; }
body.swiss-a:not(.light-mode) .theme-toggle-thumb { background:#a3262f; }
body.swiss-a:not(.light-mode) :is(.footer-pro-contact,.footer-pro-navigation,.footer-legal-links,.footer-pro-brand) { color:inherit; }
body.swiss-a:not(.light-mode) :is(.footer-pro-navigation a,.footer-legal-links a,.footer-pro-contact a) { color:inherit; }
body.swiss-a:not(.light-mode) :is(.btn-primary,.tag) :is(span,strong,em) { color:inherit; }
/* A: Swiss Cool Grid – Celsio-inspirierte Grosszügigkeit, schmale Titelgewichte und Blauflächen. */
body.swiss-a { --max:1180px; --font-display:"Segoe UI Variable","Helvetica Neue",Arial,sans-serif; }
body.swiss-a :is(h1,h2) { font-weight:350; letter-spacing:.012em; line-height:1.13; }
body.swiss-a h1 { font-size:clamp(2.8rem,5vw,5.4rem); }
body.swiss-a .swiss-hero-grid { gap:clamp(2.5rem,6vw,6rem); }
body.swiss-a .section-head { padding-bottom:1.6rem; border-bottom:1px solid var(--lab-line); }
body.swiss-a .service-tile { padding:2.2rem; }
body.swiss-a .proof-bar { background:var(--lab-soft); }
/* Nur Swiss A aktiv. */

@media(max-width:700px) {
 body.swiss-a .container { width:calc(100% - 2rem); }
 body.swiss-a :is(.service-showcase,.repair-first-section,.real-work-section,.why-taurus-section) { padding-block:3.5rem; }
 body.swiss-a h1 { font-size:clamp(2.4rem,10vw,4rem); }
 
}

/* 2026-10-08: Swiss Cool Grid – all warm sections need readable ink on light backgrounds. */
body.swiss-a:not(.light-mode) :is(.swiss-hero,.hero,.page-hero,.proof-bar,.service-showcase,.repair-first-section,.why-taurus-section,.home-contact-section,.home-contact-shell,.contact-section,.site-footer-pro,.footer-pro-main) {
  background:#fff8f7 !important; color:#24191c !important;
}
body.swiss-a:not(.light-mode) :is(.repair-first-section,.why-taurus-section) {
  background:#fdf2f1 !important;
}
body.swiss-a:not(.light-mode) :is(.swiss-hero-copy,.repair-first-copy,.repair-first-copy h2,.repair-first-copy p,.repair-principles strong,.repair-principles span,.why-taurus-intro,.why-taurus-intro h2,.why-taurus-grid h2,.why-taurus-grid h3,.why-taurus-grid strong,.why-taurus-grid p,.home-contact-shell h2,.home-contact-shell p,.contact-section h2,.contact-section p,.hero h1,.hero-lead,.page-hero h1,.footer-pro-main strong,.footer-pro-main p,.footer-pro-main span,.footer-pro-main a,.footer-bottom,.footer-legal-links a) {
  color:#24191c !important;
}
body.swiss-a:not(.light-mode) :is(.repair-first-copy p,.repair-principles span,.why-taurus-grid p,.home-contact-shell p,.footer-pro-brand p) {
  color:#49383c !important;
}
body.swiss-a:not(.light-mode) :is(.eyebrow,.nav-partner-link,.mobile-partner-link) {
  background:#fdf2f1 !important; border:1px solid #c88d92 !important; color:#7f1821 !important;
}
body.swiss-a:not(.light-mode) .proof-bar-grid strong {
  color:#7f1821 !important;
}
body.swiss-a:not(.light-mode) .proof-bar-grid span {
  color:#49383c !important;
}
body.swiss-a:not(.light-mode) .repair-principles>div,
body.swiss-a:not(.light-mode) .why-taurus-grid>div {
  border-color:#d8b8bb;
}
body.swiss-a:not(.light-mode) .site-footer-pro {
  border-top:1px solid #d8b8bb;
}
body.swiss-a:not(.light-mode) .footer-bottom {
  border-top:1px solid #d8b8bb;
}
body.swiss-a:not(.light-mode) .footer-pro-navigation a:hover,
body.swiss-a:not(.light-mode) .footer-pro-navigation button:hover {
  color:#7f1821 !important;
}
/* Footer information and cookie control align with the navigation links. */
.footer-pro-contact { display:flex; flex-direction:column; gap:.25rem !important; line-height:1.32 !important; }
.footer-pro-contact > * { margin:0 !important; }
.footer-pro-contact strong { margin-bottom:.2rem !important; }
.footer-pro-navigation nav .footer-settings-link {
  appearance:none; display:block; width:fit-content; margin:0; padding:0;
  background:transparent; border:0; border-radius:0; color:inherit;
  font:inherit; text-align:left; line-height:inherit; cursor:pointer;
}
.footer-pro-navigation nav .footer-settings-link:hover,
.footer-pro-navigation nav .footer-settings-link:focus-visible { text-decoration:underline; }
/* Swiss A bleibt das einzige aktive Design; keine Variantenauswahl. */
body.swiss-a:not(.light-mode) .footer-wordmark { filter:brightness(0) !important; opacity:1; }
body.swiss-a.light-mode .footer-wordmark { filter:brightness(0) !important; }
body.swiss-a .footer-pro-navigation nav .footer-settings-link {
 font-family:inherit !important; font-size:.9rem !important; font-weight:inherit;
 line-height:inherit !important; letter-spacing:inherit; color:#b0bac5;
 display:block; margin:0; padding:0; align-self:auto; width:auto; text-align:left;
}
body.swiss-a:not(.light-mode) .footer-pro-navigation nav .footer-settings-link { color:#24191c; }
body.swiss-a.light-mode .brand-head,
body.swiss-a.light-mode .brand:hover .brand-head {
 filter:hue-rotate(188deg) saturate(2.25) brightness(.98) contrast(1.14) !important;
 mix-blend-mode:normal !important; opacity:1;
}
/* One central floating action; pages with a mobile contact bar use that bar instead. */
body.swiss-a .floating-whatsapp { display:inline-flex !important; z-index:85; border-radius:0; }
@media(max-width:720px) {
 body.swiss-a .floating-whatsapp { right:12px; bottom:12px; }
 body.swiss-a:has(.mobile-contact-bar) .floating-whatsapp { display:none !important; }
}

/* Swiss-A-Kontrast und Lightbox: aktive Produktionsregeln. */
body.swiss-a.light-mode .footer-wordmark {filter:brightness(0) invert(1) !important;}
body.swiss-a.light-mode .proof-bar {background:#e8f1f8 !important;}
body.swiss-a.light-mode .proof-bar-grid strong {color:#173a57 !important;}
body.swiss-a.light-mode .proof-bar-grid span {color:#3d5366 !important;}
body.swiss-a:not(.light-mode) :is(.partner-panel,.feature-card,.competence-card,.specialty-card,.process-step,.expertise-card,.method-card) {
  color:#f6f7fa !important;
}
body.swiss-a:not(.light-mode) :is(.partner-panel,.feature-card,.competence-card,.specialty-card,.process-step,.expertise-card,.method-card) :is(h2,h3,h4,strong) {
  color:#fff !important;
}
body.swiss-a:not(.light-mode) :is(.partner-panel,.feature-card,.competence-card,.specialty-card,.process-step,.expertise-card,.method-card) :is(p,span,li) {
  color:#e6e8eb !important;
}
body.swiss-a:not(.light-mode) .partner-panel .tag {color:#fff !important;}
body.swiss-a .lightbox .lightbox-meta {
 display:grid !important; grid-template-columns:52px minmax(0,1fr) auto;
 align-items:center; gap:12px; width:100%;
}
body.swiss-a .lightbox .lightbox-actions {display:flex !important; align-items:center; gap:9px;}
body.swiss-a .lightbox #lightboxPrev,
body.swiss-a .lightbox #lightboxNext {
 position:static !important; display:inline-flex !important; flex:0 0 48px;
 align-items:center;justify-content:center; width:48px; height:48px;
 opacity:1 !important;visibility:visible !important;
 background:#123552 !important; color:#fff !important;border:1px solid #7c9ab0 !important;
 font-size:1.4rem; cursor:pointer;
}
body.swiss-a .lightbox .lightbox-copy h4 {color:#fff !important; background:transparent !important;}
body.swiss-a .lightbox .lightbox-copy p {color:#e9edf3 !important;}
body.swiss-a .lightbox .lightbox-meta {background:#17202b !important;color:#fff !important;}
body.swiss-a .lightbox .lightbox-counter {color:#fff !important;}
@media(max-width:640px) {
 body.swiss-a .lightbox .lightbox-meta {grid-template-columns:45px minmax(0,1fr) 100px; gap:5px;}
 body.swiss-a .lightbox .lightbox-actions {flex-wrap:wrap; gap:4px;}
 body.swiss-a .lightbox #lightboxPrev,body.swiss-a .lightbox #lightboxNext {width:42px;height:42px;flex-basis:42px;}
 body.swiss-a .lightbox .lightbox-copy h4 {font-size:1rem;}
}

/* Fachkompetenz: existing .card modules use dark backgrounds in warm mode. */
body.swiss-a:not(.light-mode) .card:not(.consent-card):not(.contact-card):not(.legal-document):not(.legal-side-nav) {
 color:#f7f8fa !important;
}
body.swiss-a:not(.light-mode) .card:not(.consent-card):not(.contact-card):not(.legal-document):not(.legal-side-nav) :is(h2,h3,h4,strong) {color:#fff !important;}
body.swiss-a:not(.light-mode) .card:not(.consent-card):not(.contact-card):not(.legal-document):not(.legal-side-nav) :is(p,li,.muted,.small) {color:#e1e6eb !important;}

/* 08.10.2026 – Warm-Mode readability: targeted partner, jobs and privacy modules. */
/* Dark content modules must use light foreground consistently (including nested elements). */
body.swiss-a:not(.light-mode) :is(
 .partner-dark-section,.partner-benefit-grid,.partner-benefit-grid>div,
 .partner-hero-card,.partner-stat-grid>div,.partner-direct-card,
 .jobs-page .job-post,.jobs-page .job-offer,.jobs-page .jobs-contact-card,
 .legal-page-section .legal-side-nav,.legal-page-section .legal-document
) {
 background:#fff8f7 !important; color:#24191c !important;
 border-color:#d8b8bb !important;
}
body.swiss-a:not(.light-mode) :is(
 .partner-dark-section,.partner-benefit-grid,.partner-benefit-grid>div,
 .partner-hero-card,.partner-stat-grid>div,.partner-direct-card,
 .jobs-page .job-post,.jobs-page .job-offer,.jobs-page .jobs-contact-card,
 .legal-page-section .legal-side-nav,.legal-page-section .legal-document
) :is(h1,h2,h3,h4,strong,b,li,label,a,.job-lead,.small) {
 color:#24191c !important;
}
body.swiss-a:not(.light-mode) :is(
 .partner-dark-section,.partner-benefit-grid,.partner-benefit-grid>div,
 .partner-hero-card,.partner-stat-grid>div,.partner-direct-card,
 .jobs-page .job-post,.jobs-page .job-offer,.jobs-page .jobs-contact-card,
 .legal-page-section .legal-side-nav,.legal-page-section .legal-document
) :is(p,span,.muted,.notice-box) {
 color:#49383c !important;
}
/* Specific Fachpartner screenshot: dark inset boxes and intro headline. */
body.swiss-a:not(.light-mode) .partner-dark-section :is(.card,.partner-benefit-grid>div,.partner-stat-grid>div) {
 background:#fff !important; border:1px solid #d8b8bb !important;
}
body.swiss-a:not(.light-mode) .partner-dark-section :is(h2,h3,strong) { color:#24191c !important; }
body.swiss-a:not(.light-mode) .partner-dark-section :is(p,span,.muted,.small) { color:#49383c !important; }
/* Legal document: preserve link semantics and visible links on light backgrounds. */
body.swiss-a:not(.light-mode) .legal-page-section a:not(.btn) {color:#7f1821 !important; text-decoration:underline;}
body.swiss-a:not(.light-mode) .legal-page-section .legal-side-nav .is-active {font-weight:700;}
/* Readability for jobs badges without changing the form or application CTA. */
body.swiss-a:not(.light-mode) .jobs-page .job-badge,
body.swiss-a:not(.light-mode) .partner-dark-section .tag {
 background:#a3262f !important; color:#fff !important;
}
body.swiss-a:not(.light-mode) .jobs-page .job-post .btn-primary {color:#fff !important;}

/* Fachpartner warm: selective contrast overrides for the actual section structure. */
body.swiss-a.partner-page:not(.light-mode) .partner-dark-section .tag,
body.swiss-a.partner-page:not(.light-mode) .partner-contact-section .tag,
body.swiss-a.partner-page:not(.light-mode) .partner-panel .tag {
  background:#a3262f !important; color:#fff !important; border-color:#a3262f !important;
}
body.swiss-a.partner-page:not(.light-mode) .partner-dark-section .tag *,
body.swiss-a.partner-page:not(.light-mode) .partner-contact-section .tag * {color:#fff !important;}
body.swiss-a.partner-page:not(.light-mode) .partner-benefit-grid > *,
body.swiss-a.partner-page:not(.light-mode) .partner-benefit-grid .card,
body.swiss-a.partner-page:not(.light-mode) .process-grid .process-step {
  background:#fffafa !important; color:#24191c !important; border:1px solid #d8b8bb !important;
}
body.swiss-a.partner-page:not(.light-mode) .partner-benefit-grid > * :is(h2,h3,h4,strong),
body.swiss-a.partner-page:not(.light-mode) .process-step :is(h2,h3,h4,strong) { color:#24191c !important; }
body.swiss-a.partner-page:not(.light-mode) .partner-benefit-grid > * :is(p,span,li,.small,.muted),
body.swiss-a.partner-page:not(.light-mode) .process-step :is(p,span,li,.small,.muted) { color:#49383c !important; }
body.swiss-a.partner-page:not(.light-mode) .partner-direct-card,
body.swiss-a.partner-page:not(.light-mode) .partner-contact-grid .contact-card {
  background:#fffafa !important; color:#24191c !important; border-color:#d8b8bb !important;
}
body.swiss-a.partner-page:not(.light-mode) .partner-direct-card :is(h2,h3,strong),
body.swiss-a.partner-page:not(.light-mode) .partner-contact-grid .contact-card :is(h2,h3,strong) { color:#24191c !important; }
body.swiss-a.partner-page:not(.light-mode) .partner-direct-card :is(p,span),
body.swiss-a.partner-page:not(.light-mode) .partner-contact-grid .contact-card :is(p,span) { color:#49383c !important; }

/* Bewegter Taurus-Stier rechts im Hero – Swiss A, auf allen Seiten.
   Der Scroll-Offset stammt aus js/script.js; kein statisches transform mehr. */
body.swiss-a :is(.hero,.page-hero) {
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
body.swiss-a :is(.hero,.page-hero) > .container {
  position:relative;
  z-index:1;
}
body.swiss-a :is(.hero,.page-hero) .hero-watermark {
  --parallax-offset:0px;
  pointer-events:none;
  position:absolute;
  z-index:0;
  right:-4rem;
  top:50%;
  width:min(57vw,760px);
  transform:translateY(calc(-50% + var(--parallax-offset)));
  opacity:.15;
  mix-blend-mode:normal;
  filter:none;
  will-change:transform;
}
body.swiss-a :is(.hero,.page-hero) .hero-watermark::before { display:none; }
body.swiss-a :is(.hero,.page-hero) .hero-watermark img {
  display:block; width:100%; height:auto; opacity:1;
  object-fit:contain;
}
body.swiss-a.light-mode :is(.hero,.page-hero) .hero-watermark { opacity:.17; }
body.swiss-a.light-mode :is(.hero,.page-hero) .hero-watermark img {
  filter:hue-rotate(188deg) saturate(2.25) brightness(.98) contrast(1.14);
}
body.swiss-a:not(.light-mode) :is(.hero,.page-hero) .hero-watermark img { filter:none; }
/* Kompakte Rechtsseiten: der Stier ist vorhanden, bleibt aber hinter dem Text. */
body.swiss-a .compact-page-hero .hero-watermark {
  right:-3rem; width:min(51vw,660px); opacity:.12;
}
body.swiss-a.light-mode .compact-page-hero .hero-watermark { opacity:.14; }
@media(max-width:720px) {
  body.swiss-a :is(.hero,.page-hero) .hero-watermark {
    right:-8rem; top:1.5rem; width:min(98vw,540px);
    transform:translateY(var(--parallax-offset));
    opacity:.1;
  }
  body.swiss-a.light-mode :is(.hero,.page-hero) .hero-watermark { opacity:.12; }
  body.swiss-a .compact-page-hero .hero-watermark {
    right:-7rem; width:min(90vw,440px); opacity:.085;
  }
  body.swiss-a.light-mode .compact-page-hero .hero-watermark { opacity:.1; }
}
@media(prefers-reduced-motion:reduce) {
  body.swiss-a :is(.hero,.page-hero) .hero-watermark { transform:translateY(-50%); will-change:auto; }
}
@media(prefers-reduced-motion:reduce) and (max-width:720px) {
  body.swiss-a :is(.hero,.page-hero) .hero-watermark { transform:none; }
}

/* Mobile Rechtsnavigation und frei anklickbarer Footer, Staging und LIVE. */
body.swiss-a .floating-whatsapp.whatsapp-footer-hidden {display:none !important;}
body.swiss-a .mobile-legal-links {display:none;}
@media(max-width:800px) {
 body.swiss-a .mobile-dropdown-panel {max-height:calc(100dvh - 88px);overflow-y:auto;}
 body.swiss-a .mobile-legal-links {display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1.15rem;padding-top:1.15rem;border-top:1px solid var(--lab-line);}
 body.swiss-a .mobile-legal-links a {display:block;padding:.7rem .4rem;color:var(--text);font-size:.9rem;}
 body.swiss-a .footer-bottom {gap:1rem;padding-bottom:1.5rem;}
 body.swiss-a .footer-legal-links {display:flex;flex-wrap:wrap;gap:.85rem 1.1rem;}
}

/* 2026-10-11: Fachpartner warm-mode contrast, based on actual page markup.
   Section IDs deliberately outrank the older broad .card:not(...) white-text rule. */
body.swiss-a.partner-page:not(.light-mode) #willkommen .partner-hero-card .tag,
body.swiss-a.partner-page:not(.light-mode) #kontakt .partner-direct-card .tag,
body.swiss-a.partner-page:not(.light-mode) #warum-taurus .tag,
body.swiss-a.partner-page:not(.light-mode) #qualifikation .tag {
  background:#a3262f !important; border-color:#a3262f !important; color:#fff !important;
}
/* Four benefit cards and qualification cards: dark ink on their light surfaces. */
body.swiss-a.partner-page:not(.light-mode) #warum-taurus .partner-benefit-grid .card,
body.swiss-a.partner-page:not(.light-mode) #qualifikation .service-grid .card {
  background:#fffafa !important; color:#24191c !important; border-color:#d8b8bb !important;
}
body.swiss-a.partner-page:not(.light-mode) #warum-taurus .partner-benefit-grid .card strong,
body.swiss-a.partner-page:not(.light-mode) #qualifikation .service-grid .card h3 {
  color:#24191c !important;
}
body.swiss-a.partner-page:not(.light-mode) #warum-taurus .partner-benefit-grid .card p,
body.swiss-a.partner-page:not(.light-mode) #qualifikation .service-grid .card p {
  color:#49383c !important;
}
/* The email-validity message is .form-status.success (from js/script.js). */
body.swiss-a.partner-page:not(.light-mode) #kontakt .form-status.success {
  color:#21613b !important; opacity:1;
}
body.swiss-a.partner-page:not(.light-mode) #kontakt .form-status.error {
  color:#8d1e29 !important; opacity:1;
}
/* Success dialog is dark; its headings and body must therefore be light. */
body.swiss-a.partner-page:not(.light-mode) .success-modal-card {
  background:#141e29 !important; color:#f5f7fa !important;
  border-color:#475869 !important;
}
body.swiss-a.partner-page:not(.light-mode) .success-modal-card .success-modal-head h3 {
  color:#fff !important;
}
body.swiss-a.partner-page:not(.light-mode) .success-modal-card :is(p,.small,.muted) {
  color:#e1e8f0 !important;
}
body.swiss-a.partner-page:not(.light-mode) .success-modal-card a {
  color:#fff !important; text-decoration:underline;
}
body.swiss-a.partner-page:not(.light-mode) .success-modal-card .lightbox-close {
  color:#fff !important;
}

/* 2026-10-11 – Fachpartner-Hero: Stier dezent durch die Warm-Box sichtbar.
   Das rote Label und die kontrastreichen Textregeln bleiben unverändert. */
body.swiss-a.partner-page:not(.light-mode) #willkommen .partner-hero-card {
  background:rgba(255,249,248,.78) !important;
  border-color:rgba(216,184,187,.95) !important;
  -webkit-backdrop-filter:blur(1px);
  backdrop-filter:blur(1px);
}

/* Fachpartner-Hero: gleiche leichte Transparenz auch im hellen Kalt-Modus.
   Der blaue Stier schimmert durch; dunkle Texte bleiben gut lesbar. */
body.swiss-a.partner-page.light-mode #willkommen .partner-hero-card {
  background:rgba(247,251,255,.78) !important;
  border-color:rgba(159,186,208,.85) !important;
  -webkit-backdrop-filter:blur(1px);
  backdrop-filter:blur(1px);
}

/* 2026-10-19: Responsive navigation and precisely aligned cold/warm switch. */
/* Kalt/Warm-Switch: Icons und aktive Kreise koaxial auf Desktop und Mobile. */
body.swiss-a .theme-toggle {
  --taurus-switch-travel: 42px;
  width: 82px;
  height: 40px;
  position: relative;
  overflow: hidden;
}
body.swiss-a .theme-toggle-thumb {
  top: 5px;
  left: 5px;
  width: 30px;
  height: 30px;
  border-radius: 50% !important;
  transform: translateX(var(--taurus-switch-travel));
}
body.swiss-a.light-mode .theme-toggle-thumb { transform: translateX(0); }
body.swiss-a .theme-toggle-icons {
  inset: 0;
  padding: 0;
  display: block;
  z-index: 3;
}
body.swiss-a .theme-toggle-icons > span {
  position: absolute;
  top: 5px;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  font-size: 17px;
}
body.swiss-a .theme-toggle-icons > span:first-child { left: 5px; }
body.swiss-a .theme-toggle-icons > span:last-child { right: 5px; }
/* One responsive override group for the menu and the mobile theme control. */
@media (max-width: 960px) {
  body.swiss-a:not(.light-mode) .menu-toggle {
    color: #24191c;
    background: #fff8f7;
    border: 1px solid #c8a9ad;
    opacity: 1;
    visibility: visible;
  }
  body.swiss-a:not(.light-mode) .menu-toggle .burger span {
    background: currentColor;
  }
  body.swiss-a #mobileThemeToggle { --taurus-switch-travel: 32px; width: 70px; height: 38px; }
  body.swiss-a #mobileThemeToggle .theme-toggle-thumb,
  body.swiss-a #mobileThemeToggle .theme-toggle-icons > span {
    top: 4px;
    width: 28px;
    height: 28px;
  }
  body.swiss-a #mobileThemeToggle .theme-toggle-thumb { left: 5px; }
  body.swiss-a #mobileThemeToggle .theme-toggle-icons > span:first-child { left: 5px; }
  body.swiss-a #mobileThemeToggle .theme-toggle-icons > span:last-child { right: 5px; }
}
