/* =========================================================
   365 Rechtsschutz – SAFE Premium Typografie & Kontrast Patch
   Version: Repair nach Sichtprüfung
   Ziel: Typografie/Kontrast verbessern, ohne Karten, Layouts,
   Slider, Lenis oder Bootstrap-Logik zu überschreiben.
   ========================================================= */

:root {
  --premium-text: #334155;
  --premium-text-soft: #475569;
  --premium-heading: #0f172a;
  --premium-muted: #64748b;
  --premium-surface: #f8fafc;
  --premium-border: rgba(15, 23, 42, 0.08);
  --premium-dark-text: rgba(255, 255, 255, 0.82);
}

html,
body {
  color: var(--premium-text);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body,
p,
li,
small,
label,
input,
textarea,
select,
button {
  line-height: 1.65;
}

p,
li,
.card-text,
.lead,
.accordion-body {
  color: var(--premium-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6 {
  color: var(--premium-heading);
  line-height: 1.25;
  letter-spacing: -0.02em;
}

/* Helle Karten müssen dunkel bleiben – auch wenn sie in einer dunklen Hero- oder FAQ-Fläche liegen. */
.card,
.card-body,
.sitehero__card,
.kosten-card,
.warte-card,
.pricing-card-modern,
.index-compare-card,
.review-card,
.tarif-table-shell,
.risk-table-shell,
.faq-premium-shell,
.privat-summary-card,
.funnel-info-box,
.privat-contact-card,
.pdf-teaser-card,
.kosten-overview__shell,
.warte-overview-shell {
  color: var(--premium-text);
}

.card h1,
.card h2,
.card h3,
.card h4,
.card h5,
.card h6,
.card-body h1,
.card-body h2,
.card-body h3,
.card-body h4,
.card-body h5,
.card-body h6,
.sitehero__card h1,
.sitehero__card h2,
.sitehero__card h3,
.sitehero__card h4,
.sitehero__card h5,
.sitehero__card h6,
.kosten-card h1,
.kosten-card h2,
.kosten-card h3,
.warte-card h1,
.warte-card h2,
.warte-card h3,
.pricing-card-modern h1,
.pricing-card-modern h2,
.pricing-card-modern h3,
.index-compare-card h1,
.index-compare-card h2,
.index-compare-card h3,
.review-card h1,
.review-card h2,
.review-card h3,
.tarif-table-shell h1,
.tarif-table-shell h2,
.tarif-table-shell h3,
.risk-table-shell h1,
.risk-table-shell h2,
.risk-table-shell h3,
.faq-premium-shell h1,
.faq-premium-shell h2,
.faq-premium-shell h3,
.privat-summary-card h1,
.privat-summary-card h2,
.privat-summary-card h3,
.funnel-info-box h1,
.funnel-info-box h2,
.funnel-info-box h3,
.privat-contact-card h1,
.privat-contact-card h2,
.privat-contact-card h3,
.pdf-teaser-card h1,
.pdf-teaser-card h2,
.pdf-teaser-card h3 {
  color: var(--premium-heading) !important;
}

.card p,
.card li,
.card-body p,
.card-body li,
.sitehero__card p,
.sitehero__card li,
.kosten-card p,
.kosten-card li,
.warte-card p,
.warte-card li,
.pricing-card-modern p,
.pricing-card-modern li,
.index-compare-card p,
.index-compare-card li,
.review-card p,
.review-card li,
.tarif-table-shell p,
.tarif-table-shell li,
.risk-table-shell p,
.risk-table-shell li,
.faq-premium-shell p,
.faq-premium-shell li,
.faq-premium-shell .accordion-body,
.privat-summary-card p,
.privat-summary-card li,
.funnel-info-box p,
.funnel-info-box li,
.privat-contact-card p,
.privat-contact-card li,
.pdf-teaser-card p,
.pdf-teaser-card li {
  color: var(--premium-text) !important;
}

/* Hero-/Introflächen: nur die linke Textspalte hell setzen, nicht die hellen Karten rechts. */
.sitehero__content,
.sitehero__content h1,
.sitehero__content h2,
.sitehero__content h3,
.sitehero__content h4,
.sitehero__content .sitehero__title,
.sitehero__content .sitehero__title-gradient {
  color: #ffffff !important;
}

.sitehero__content p,
.sitehero__content li,
.sitehero__content .sitehero__sub,
.sitehero__content .sitehero__points,
.sitehero__content .sitehero__points div {
  color: rgba(255, 255, 255, 0.86) !important;
}

.kosten-hero,
.warte-hero,
.lohnt-hero,
.pdf-hero,
.thankyou-page,
.thankyou-wrap {
  color: #ffffff;
}

.kosten-hero h1,
.kosten-hero h2,
.warte-hero h1,
.warte-hero h2,
.lohnt-hero h1,
.lohnt-hero h2,
.pdf-hero h1,
.pdf-hero h2,
.thankyou-page h1,
.thankyou-page h2,
.thankyou-wrap h1,
.thankyou-wrap h2 {
  color: #ffffff !important;
}

.kosten-hero p,
.warte-hero p,
.lohnt-hero p,
.pdf-hero p,
.thankyou-page p,
.thankyou-wrap p {
  color: rgba(255, 255, 255, 0.84) !important;
}

/* Dunkle FAQ-/Kontaktbereiche: Überschriften sichtbar, Accordion-Karten bleiben hell/dunkel lesbar. */
.faq-dark,
.get-in-touch,
.services.bg-dark,
.footer-dark,
.footer-premium,
.footer-premium-v2 {
  color: #ffffff;
}

.faq-dark > .container h1,
.faq-dark > .container h2,
.faq-dark > .container h3,
.get-in-touch h1,
.get-in-touch h2,
.get-in-touch h3,
.services.bg-dark h1,
.services.bg-dark h2,
.services.bg-dark h3,
.footer-dark h1,
.footer-dark h2,
.footer-dark h3,
.footer-dark h4,
.footer-dark h5,
.footer-dark h6,
.footer-premium h1,
.footer-premium h2,
.footer-premium h3,
.footer-premium h4,
.footer-premium h5,
.footer-premium h6 {
  color: #ffffff !important;
}

.faq-dark > .container p,
.get-in-touch p,
.get-in-touch label,
.get-in-touch .form-label,
.services.bg-dark p,
.services.bg-dark li,
.footer-dark p,
.footer-dark li,
.footer-dark small,
.footer-premium p,
.footer-premium li,
.footer-premium small,
.footer-premium .footer-sub {
  color: rgba(255, 255, 255, 0.78) !important;
}

.get-in-touch .form-check-label {
  color: rgba(255, 255, 255, 0.92) !important;
}

.get-in-touch .form-control,
.get-in-touch input,
.get-in-touch textarea,
.get-in-touch select {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

.get-in-touch .form-control::placeholder,
.get-in-touch input::placeholder,
.get-in-touch textarea::placeholder {
  color: rgba(255, 255, 255, 0.48) !important;
}

/* Accordion-Kontrast: auf weißen FAQ-Karten dunkel, auf echten dunklen Accordion-Varianten hell. */
.faq-dark .accordion-item,
.faq-dark .accordion-button,
.faq-dark .accordion-body {
  background: #ffffff !important;
  color: var(--premium-heading) !important;
}

.faq-dark .accordion-body,
.faq-dark .accordion-body p,
.faq-dark .accordion-body li {
  color: var(--premium-text) !important;
}

.faq-dark .accordion-button::after {
  filter: none !important;
  opacity: 0.9 !important;
}

.faq-accordion-dark .accordion-item {
  background: transparent !important;
  border-color: rgba(255, 255, 255, 0.16) !important;
}

.faq-accordion-dark .accordion-button,
.faq-accordion-dark .accordion-button:not(.collapsed) {
  color: #ffffff !important;
  background: transparent !important;
}

.faq-accordion-dark .accordion-body,
.faq-accordion-dark .accordion-body p,
.faq-accordion-dark .accordion-body li {
  color: rgba(255, 255, 255, 0.78) !important;
  background: transparent !important;
}

.faq-accordion-dark .accordion-button::after {
  filter: invert(1) grayscale(1) brightness(2) !important;
  opacity: 0.95 !important;
}

/* SEO-Text: nur die wirklich dafür gedachte Klasse auf hellen Premium-Look ziehen. */
.seo-text-clean {
  background: var(--premium-surface) !important;
  color: var(--premium-text) !important;
}

.seo-text-clean h1,
.seo-text-clean h2,
.seo-text-clean h3,
.seo-text-clean h4,
.seo-text-block h1,
.seo-text-block h2,
.seo-text-block h3,
.premium-seo-block h1,
.premium-seo-block h2,
.premium-seo-block h3,
.kosten-longtext h1,
.kosten-longtext h2,
.kosten-longtext h3,
.warte-longtext h1,
.warte-longtext h2,
.warte-longtext h3 {
  color: var(--premium-heading) !important;
}

.seo-text-clean p,
.seo-text-clean li,
.seo-text-block p,
.seo-text-block li,
.premium-seo-block p,
.premium-seo-block li,
.kosten-longtext p,
.kosten-longtext li,
.warte-longtext p,
.warte-longtext li {
  color: var(--premium-text) !important;
  line-height: 1.72;
}

/* PDF-CTA behält seinen dunklen Premium-Look, damit kein weiß-auf-weiß entsteht. */
.pdf-seo-box h1,
.pdf-seo-box h2,
.pdf-seo-box h3 {
  color: #ffffff !important;
}

.pdf-seo-box p,
.pdf-seo-box li {
  color: rgba(255, 255, 255, 0.78) !important;
}

.pdf-seo-box a:not(.btn) {
  color: #ffffff !important;
}

/* Footer-Links und Meta-Texte sichtbar halten. */
.footer-dark a:not(.btn),
.footer-premium a:not(.btn) {
  color: rgba(255, 255, 255, 0.9) !important;
}

.footer-dark a:not(.btn):hover,
.footer-premium a:not(.btn):hover {
  color: #ffffff !important;
}

/* =========================================================
   Index FAQ Fix – helle, saubere FAQ-Sektion auf der Startseite
   Fix: transparente/dunkle Startseiten-FAQ bekam dunklen Hintergrund
   und unsichtbare Überschriften. Nur die Startseite betroffen.
   ========================================================= */
.apple-core-index section.faq:not(.faq-dark) {
  background: #f8fafc !important;
  color: var(--premium-text) !important;
}

.apple-core-index section.faq:not(.faq-dark) h1,
.apple-core-index section.faq:not(.faq-dark) h2,
.apple-core-index section.faq:not(.faq-dark) h3,
.apple-core-index section.faq:not(.faq-dark) h4,
.apple-core-index section.faq:not(.faq-dark) h5,
.apple-core-index section.faq:not(.faq-dark) h6 {
  color: var(--premium-heading) !important;
  -webkit-text-fill-color: var(--premium-heading) !important;
}

.apple-core-index section.faq:not(.faq-dark) p,
.apple-core-index section.faq:not(.faq-dark) .fs-5,
.apple-core-index section.faq:not(.faq-dark) .text-opacity-70 {
  color: var(--premium-text-soft) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--premium-text-soft) !important;
}

.apple-core-index section.faq:not(.faq-dark) .badge.text-bg-dark {
  background: #e2e8f0 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

.apple-core-index section.faq:not(.faq-dark) .border-line,
.apple-core-index section.faq:not(.faq-dark) .border-line.bg-white {
  background: rgba(15, 23, 42, 0.18) !important;
  border-color: rgba(15, 23, 42, 0.18) !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion {
  background: #ffffff !important;
  border: 1px solid rgba(15, 23, 42, 0.08) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08) !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion-item {
  background: #ffffff !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion-item:last-child {
  border-bottom: 0 !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion-button,
.apple-core-index section.faq:not(.faq-dark) .accordion-button.collapsed,
.apple-core-index section.faq:not(.faq-dark) .accordion-button:not(.collapsed) {
  background: #ffffff !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: none !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion-button:hover,
.apple-core-index section.faq:not(.faq-dark) .accordion-button:focus {
  background: #f8fafc !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: none !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion-body,
.apple-core-index section.faq:not(.faq-dark) .accordion-body.text-dark,
.apple-core-index section.faq:not(.faq-dark) .accordion-body p,
.apple-core-index section.faq:not(.faq-dark) .accordion-body li {
  color: #334155 !important;
  -webkit-text-fill-color: #334155 !important;
  background: #ffffff !important;
}

.apple-core-index section.faq:not(.faq-dark) .accordion-button::after {
  filter: none !important;
  opacity: 0.85 !important;
}
/* =========================================================
   FIX: Moderne Entscheidungs-Sektion – Dark Cards Kontrast
   ========================================================= */

.decision-modern-section .decision-card,
.decision-modern-section .decision-card *,
.decision-modern-section .decision-main-card,
.decision-modern-section .decision-main-card *,
.decision-modern-section .decision-split-card,
.decision-modern-section .decision-split-card * {
  color: inherit;
}

.decision-modern-section .decision-card,
.decision-modern-section .decision-main-card,
.decision-modern-section .decision-split-card,
.decision-modern-section .index-compare-card {
  background-color: #071024;
}

.decision-modern-section .decision-card h2,
.decision-modern-section .decision-card h3,
.decision-modern-section .decision-card h4,
.decision-modern-section .decision-main-card h2,
.decision-modern-section .decision-main-card h3,
.decision-modern-section .decision-main-card h4,
.decision-modern-section .decision-split-card h2,
.decision-modern-section .decision-split-card h3,
.decision-modern-section .decision-split-card h4,
.decision-modern-section .index-compare-card h2,
.decision-modern-section .index-compare-card h3,
.decision-modern-section .index-compare-card h4,
.decision-modern-section strong {
  color: #ffffff !important;
}

.decision-modern-section .decision-card p,
.decision-modern-section .decision-main-card p,
.decision-modern-section .decision-split-card p,
.decision-modern-section .index-compare-card p,
.decision-modern-section li,
.decision-modern-section .text-muted {
  color: rgba(255, 255, 255, 0.72) !important;
}

.decision-modern-section .decision-kicker,
.decision-modern-section .index-compare-mini-kicker,
.decision-modern-section .service-apple-card-topic {
  color: rgba(255, 255, 255, 0.78) !important;
}

.decision-modern-section .decision-icon,
.decision-modern-section iconify-icon {
  color: #ffffff !important;
}

.decision-modern-section .decision-negative,
.decision-modern-section .index-compare-half.is-negative {
  background: rgba(127, 29, 29, 0.34) !important;
}

.decision-modern-section .decision-positive,
.decision-modern-section .index-compare-half.is-positive {
  background: rgba(6, 78, 59, 0.42) !important;
}

.decision-modern-section .compare-pill-red,
.decision-modern-section .decision-pill-orange {
  color: #fb923c !important;
  background: rgba(251, 146, 60, 0.16) !important;
}

.decision-modern-section .compare-pill-green,
.decision-modern-section .decision-pill-green {
  color: #86efac !important;
  background: rgba(34, 197, 94, 0.16) !important;
}

.decision-modern-section .btn,
.decision-modern-section .btn-primary {
  color: #ffffff !important;
}

.decision-modern-section a:not(.btn) {
  color: #93c5fd !important;
}