/* BDL-spezifische Klaro-Overrides — laedt NACH klaro-base.css */

.klaro .cookie-notice,
.klaro .cookie-modal .cm-modal {
    border-radius: 8px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28) !important;
    max-width: 480px !important;
    padding: 1.4rem 1.5rem !important;
    font-family: 'Roboto', sans-serif !important;
}
.klaro .cookie-modal .cm-modal { max-width: 640px !important; }

.klaro .cookie-notice .cn-body p,
.klaro .cookie-modal p {
    font-size: 14px !important;
    line-height: 1.5 !important;
    color: #ffffff !important;
    margin-bottom: 1rem !important;
}

.klaro a { color: #ffffff !important; text-decoration: underline !important; text-underline-offset: 3px; }
.klaro a:hover { color: #e8f0fa !important; }

/* Buttons */
.klaro .cm-btn {
    border-radius: 4px !important;
    padding: 0.55rem 1.4rem !important;
    font-family: 'Roboto', sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    transition: background-color 150ms ease, transform 100ms ease !important;
    border: 1px solid transparent !important;
}
.klaro .cm-btn:hover { transform: translateY(-1px); }

.klaro .cm-btn.cm-btn-success, .klaro .cm-btn.cm-btn-accept-all, .klaro .cn-ok .cm-btn-accept-all {
    background-color: #5f77b5 !important; color: #ffffff !important; border-color: #5f77b5 !important;
}
.klaro .cm-btn.cm-btn-success:hover { background-color: #7f92c4 !important; }

.klaro .cm-btn.cm-btn-danger, .klaro .cn-decline {
    background-color: transparent !important; color: #ffffff !important; border-color: rgba(255, 255, 255, 0.5) !important;
}
.klaro .cm-btn.cm-btn-danger:hover { background-color: rgba(255, 255, 255, 0.12) !important; border-color: #ffffff !important; }

.klaro .cn-learn-more, .klaro .cm-link {
    color: #ffffff !important; opacity: 0.85 !important; text-decoration: underline !important;
}
.klaro .cn-learn-more:hover, .klaro .cm-link:hover { opacity: 1 !important; }

/* Modal-Overlay & Toggles */
.klaro .cookie-modal { background-color: rgba(0, 20, 45, 0.75) !important; }
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider { background-color: #5f77b5 !important; }

.klaro .cookie-modal .cm-list-title {
    font-weight: 500 !important; color: #ffffff !important;
}
.klaro .cookie-modal .cm-list-description,
.klaro .cookie-modal .cm-purposes {
    color: rgba(255, 255, 255, 0.85) !important; font-size: 13px !important;
}

.klaro .cn-ok, .klaro .cm-footer-buttons { gap: 0.6rem !important; }

/* Kontrast-Fix 08.07.2026: Textlinks im Notice/Modal auf Blau-Hintergrund */
.klaro .cookie-notice a.cn-learn-more,
.klaro .cookie-notice a.cm-link,
.klaro .cookie-notice p a,
.klaro .cookie-modal a {
    color: #ffffff !important;
    opacity: 0.92 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px !important;
}
.klaro .cookie-notice a:hover,
.klaro .cookie-modal a:hover {
    color: #ffffff !important;
    opacity: 1 !important;
    text-decoration-thickness: 2px !important;
}

/* Modal-Kontraste + Toggle-Sichtbarkeit 08.07.2026 v2 */

/* Link "Datenschutzerklaerung" im Modal: hell und lesbar */
.klaro .cookie-modal a,
.klaro .cookie-modal .cm-modal a {
    color: #ffffff !important;
    opacity: 1 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px !important;
}
.klaro .cookie-modal a:hover {
    color: #ffffff !important;
    text-decoration-thickness: 2px !important;
}

/* Toggle-Switch: klare visuelle Trennung OFF vs ON */
/* OFF-Zustand: dunkler Track mit hellem Rand, Kreis links */
.klaro .cookie-modal .cm-list-input + .cm-list-label .slider,
.klaro .cookie-modal .slider {
    background-color: rgba(255, 255, 255, 0.15) !important;
    border: 2px solid rgba(255, 255, 255, 0.55) !important;
    box-sizing: border-box !important;
}
.klaro .cookie-modal .cm-list-input + .cm-list-label .slider::before,
.klaro .cookie-modal .slider::before {
    background-color: rgba(255, 255, 255, 0.75) !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
}

/* ON-Zustand: kraeftiger BDL-Akzent-Track, weisser Kreis rechts */
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-modal input:checked + .slider,
.klaro .cookie-modal .cm-list-input:checked ~ .slider {
    background-color: #6ea1e6 !important;
    border-color: #6ea1e6 !important;
}
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider::before,
.klaro .cookie-modal input:checked + .slider::before {
    background-color: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

/* "Required"-Zustand grau-transparent, nicht bedienbar */
.klaro .cookie-modal .cm-list-input.required + .cm-list-label .slider,
.klaro .cookie-modal .slider.required {
    background-color: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.25) !important;
}

/* Speichern-Button voll kontrastreich */
.klaro .cookie-modal .cm-btn.cm-btn-success,
.klaro .cookie-modal .cm-btn.cm-btn-accept,
.klaro .cookie-modal .cm-btn.cm-btn-accept-all {
    background-color: #ffffff !important;
    color: #003a78 !important;
    border: 1px solid #ffffff !important;
    font-weight: 600 !important;
}
.klaro .cookie-modal .cm-btn.cm-btn-success:hover,
.klaro .cookie-modal .cm-btn.cm-btn-accept:hover,
.klaro .cookie-modal .cm-btn.cm-btn-accept-all:hover {
    background-color: #e8f0fa !important;
    color: #003a78 !important;
}

/* Ablehnen-Button: outline weiss */
.klaro .cookie-modal .cm-btn.cm-btn-danger,
.klaro .cookie-modal .cm-btn.cn-decline {
    background-color: transparent !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.6) !important;
}

/* Kontrast-Fix v3 (2026-07-09): Klaro-Textlinks mit hoechster Spezifitaet weiss */
html body .klaro .cookie-notice .cn-body p a,
html body .klaro .cookie-notice .cn-body p a.cn-learn-more,
html body .klaro .cookie-notice .cn-body a.cm-link.cn-learn-more,
html body .klaro .cookie-notice a.cn-learn-more,
html body .klaro .cookie-notice a.cm-link,
html body .klaro .cookie-modal .cm-body p a,
html body .klaro .cookie-modal a {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
    text-decoration-color: rgba(255, 255, 255, 0.7) !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}
html body .klaro .cookie-notice a:hover,
html body .klaro .cookie-modal a:hover {
    color: #ffffff !important;
    text-decoration-color: #ffffff !important;
    text-decoration-thickness: 2px !important;
}

/* --klaro-accent-hover ueberschreiben, falls es irgendwo als Farbe verwendet wird */
html body .klaro {
    --klaro-accent-hover: #ffffff !important;
}

/* ============================================================
   Kontrast-Fix v4 (2026-07-24): Klaro-Modal-Datenschutzlink
   Der Link im Modal-Body ("Datenschutzerklärung") hat keine
   Klasse → v3-BDL-Global-Rule (0-9-3) übersticht klaro-Regel
   (0-3-3). Fix: :not(#__klaro_bump) → ID-Ebene 1-3-3.
   ============================================================ */
html body .klaro .cookie-modal a:not(#__klaro_bump),
html body .klaro .cookie-modal .cm-body a:not(#__klaro_bump),
html body .klaro .cookie-modal .cm-body p a:not(#__klaro_bump),
html body .klaro .cookie-notice a:not(#__klaro_bump),
html body .klaro .cn-body a:not(#__klaro_bump),
html body .klaro .cn-body p a:not(#__klaro_bump) {
    color: #ffffff !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
    text-decoration-thickness: 1px !important;
    text-decoration-color: rgba(255, 255, 255, 0.75) !important;
    font-weight: 500 !important;
    opacity: 1 !important;
}
html body .klaro .cookie-modal a:hover:not(#__klaro_bump),
html body .klaro .cookie-notice a:hover:not(#__klaro_bump) {
    color: #ffffff !important;
    text-decoration-color: #ffffff !important;
    text-decoration-thickness: 2px !important;
}
