/* ======================================================================
   Taxi Chemnitz 24h – gemeinsame Kontrastschicht für Inhaltsseiten
   Geladen NACH den seiteninternen Styles.

   Behebt insbesondere:
   - dunkle/unsichtbare Abschnittspillen (.kicker) im iOS-Dark-Mode
   - dunkle FAQ-Fragen in Bootstrap-Accordions
   - schlecht lesbare Antworten, Links, Tabellen und Formulare

   Gültig für Leistungen, Klinik, Tarif, Sofort-Taxi, Business und
   vorbereitend auch Flughafen-Seiten. Landingpage bleibt unverändert.
   Version pages2 ergänzt semantische Alert-Farben für iOS-Dark-Mode.
   ====================================================================== */

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page){
  --pc-text:#0f172a;
  --pc-muted:#475569;
  --pc-surface:#fff;
  --pc-surface-soft:#f8fafc;
  --pc-border:rgba(15,23,42,.14);
  --pc-link:#1d4ed8;
  --pc-kicker-bg:rgba(37,99,235,.09);
  --pc-kicker-border:rgba(37,99,235,.34);
  --pc-kicker-text:#173b83;
  --pc-accordion-active:rgba(37,99,235,.11);
  --pc-focus:rgba(37,99,235,.26);
}

@media (prefers-color-scheme:dark){
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page){
    --pc-text:#f8fafc;
    --pc-muted:#cbd5e1;
    --pc-surface:rgba(255,255,255,.065);
    --pc-surface-soft:rgba(255,255,255,.038);
    --pc-border:rgba(148,163,184,.30);
    --pc-link:#60a5fa;
    --pc-kicker-bg:rgba(37,99,235,.25);
    --pc-kicker-border:rgba(96,165,250,.62);
    --pc-kicker-text:#f4f9ff;
    --pc-accordion-active:rgba(37,99,235,.25);
    --pc-focus:rgba(96,165,250,.34);
  }
}

/* Abschnittspillen: eigene Farbwerte statt des globalen dunklen --ink. */
:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  max-width:100%;
  padding:.43rem .72rem;
  border:1px solid var(--pc-kicker-border)!important;
  border-radius:999px;
  background:var(--pc-kicker-bg)!important;
  color:var(--pc-kicker-text)!important;
  -webkit-text-fill-color:var(--pc-kicker-text)!important;
  font-size:.84rem;
  font-weight:780;
  line-height:1.2;
  letter-spacing:.01em;
  white-space:normal;
  overflow-wrap:anywhere;
  text-shadow:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}

/* Kicker im Hero bleibt hell auf dunklem Grund. */
:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .hero .kicker{
  border-color:rgba(94,234,212,.42)!important;
  background:rgba(34,230,207,.13)!important;
  color:#eafffb!important;
  -webkit-text-fill-color:#eafffb!important;
  text-shadow:0 1px 2px rgba(0,0,0,.30);
}

/* Bootstrap-Accordion vollständig mit dem Seitenmodus synchronisieren. */
:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion{
  --bs-accordion-color:var(--pc-text);
  --bs-accordion-bg:transparent;
  --bs-accordion-border-color:var(--pc-border);
  --bs-accordion-btn-color:var(--pc-text);
  --bs-accordion-btn-bg:transparent;
  --bs-accordion-active-color:var(--pc-text);
  --bs-accordion-active-bg:var(--pc-accordion-active);
  --bs-accordion-btn-focus-border-color:#60a5fa;
  --bs-accordion-btn-focus-box-shadow:0 0 0 .22rem var(--pc-focus);
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-item{
  color:var(--pc-text)!important;
  background:var(--pc-surface)!important;
  border-color:var(--pc-border)!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-header{
  color:var(--pc-text)!important;
  background:transparent!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-button,
:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-button.collapsed{
  color:var(--pc-text)!important;
  -webkit-text-fill-color:var(--pc-text)!important;
  background:transparent!important;
  border-color:transparent!important;
  font-weight:800;
  opacity:1!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-button:not(.collapsed){
  color:var(--pc-text)!important;
  -webkit-text-fill-color:var(--pc-text)!important;
  background:var(--pc-accordion-active)!important;
  box-shadow:inset 0 -1px 0 var(--pc-border)!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-button:focus-visible{
  outline:3px solid #60a5fa;
  outline-offset:-3px;
  box-shadow:0 0 0 .22rem var(--pc-focus)!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-body{
  color:var(--pc-muted)!important;
  -webkit-text-fill-color:var(--pc-muted)!important;
  background:var(--pc-surface-soft)!important;
  border-top:1px solid var(--pc-border);
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-body :is(p,li,span,strong,em){
  color:inherit;
  -webkit-text-fill-color:currentColor;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-body a:not(.btn){
  color:var(--pc-link)!important;
  -webkit-text-fill-color:var(--pc-link)!important;
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}

@media (prefers-color-scheme:dark){
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-button::after{
    filter:brightness(0) invert(1)!important;
    opacity:.94;
  }
}

/* Karten, Hinweise und Tabellen: Bootstrap-Light-Defaults neutralisieren. */
:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.card,.card-body,.card-header,.list-group-item){
  color:var(--pc-text);
}

/*
 * Semantische Hinweise dürfen ihre eigene Vorder-/Hintergrundfarbe behalten.
 * Die frühere Sammelregel setzte auch .alert pauschal auf hellen Text. Dadurch
 * erschien insbesondere .alert-warning im Dark-Mode als weiße Schrift auf
 * einem sehr hellen gelben Bootstrap-Hintergrund.
 */
:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert{
  border-width:1px;
  border-style:solid;
  opacity:1;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert-warning{
  --bs-alert-color:#4a2c00;
  --bs-alert-bg:#fff7d6;
  --bs-alert-border-color:#e5b72f;
  color:var(--bs-alert-color)!important;
  -webkit-text-fill-color:var(--bs-alert-color)!important;
  background:var(--bs-alert-bg)!important;
  border-color:var(--bs-alert-border-color)!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert-warning :is(p,span,strong,em,small,li){
  color:inherit!important;
  -webkit-text-fill-color:currentColor!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert-warning a:not(.btn){
  color:#1d4ed8!important;
  -webkit-text-fill-color:#1d4ed8!important;
  text-decoration-thickness:.08em;
  text-underline-offset:.16em;
}

@media (prefers-color-scheme:dark){
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert-warning{
    --bs-alert-color:#fff4c2;
    --bs-alert-bg:#33270f;
    --bs-alert-border-color:#d5a92f;
    color:#fff4c2!important;
    -webkit-text-fill-color:#fff4c2!important;
    background:
      linear-gradient(135deg,rgba(245,158,11,.16),rgba(217,119,6,.06)),
      #251e10!important;
    border-color:#d5a92f!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert-warning a:not(.btn){
    color:#fde68a!important;
    -webkit-text-fill-color:#fde68a!important;
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.alert-info,.alert-info-source){
    color:#dbeafe!important;
    -webkit-text-fill-color:#dbeafe!important;
    background:rgba(37,99,235,.16)!important;
    border-color:rgba(96,165,250,.58)!important;
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.alert-danger,.alert-emergency){
    color:#fee2e2!important;
    -webkit-text-fill-color:#fee2e2!important;
    background:rgba(220,38,38,.15)!important;
    border-color:rgba(248,113,113,.58)!important;
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .alert-success{
    color:#dcfce7!important;
    -webkit-text-fill-color:#dcfce7!important;
    background:rgba(22,163,74,.15)!important;
    border-color:rgba(74,222,128,.56)!important;
  }
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.text-muted,.small){
  color:var(--pc-muted)!important;
  -webkit-text-fill-color:var(--pc-muted)!important;
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) a:not(.btn){
  color:var(--pc-link);
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .table{
  --bs-table-color:var(--pc-text);
  --bs-table-bg:transparent;
  --bs-table-border-color:var(--pc-border);
  color:var(--pc-text);
}

:is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(details,summary){
  color:var(--pc-text);
}

@media (prefers-color-scheme:dark){
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.bg-white,.bg-light){
    color:var(--pc-text)!important;
    background-color:var(--pc-surface)!important;
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.text-dark,.text-black){
    color:var(--pc-text)!important;
    -webkit-text-fill-color:var(--pc-text)!important;
  }

  /* Tarifrechner und andere Formulare müssen auf dem iPhone lesbar bleiben. */
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.form-control,.form-select,.form-check-input){
    color:#f8fafc!important;
    -webkit-text-fill-color:#f8fafc!important;
    background-color:#111827!important;
    border-color:rgba(148,163,184,.42)!important;
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.form-control,.form-select)::placeholder{
    color:#aebdd0!important;
    -webkit-text-fill-color:#aebdd0!important;
    opacity:1;
  }

  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .form-select option{
    color:#f8fafc;
    background:#111827;
  }
}

@media (prefers-contrast:more){
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) :is(.kicker,.accordion-item){
    border-width:2px!important;
  }
  :is(.leistungen-page,.klinik-page,.tarif-page,.sofort-page,.business-page,.airport-page,.flughafen-page) .accordion-button{
    font-weight:850;
  }
}
