/* Klaro Cookie Banner - VDhoch3 Branding */

.klaro .cookie-modal,
.klaro .context-notice,
.klaro .cookie-notice {
    font-family: 'DM Sans', -apple-system, sans-serif !important;
}

/* Modal Container */
.klaro .cookie-modal .cm-modal {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border-radius: 12px !important;
    box-shadow: 0 20px 60px rgba(0, 76, 151, 0.15) !important;
    border: 1px solid rgba(0, 76, 151, 0.1) !important;
}

/* Cookie Notice (Banner unten) */
.klaro .cookie-notice {
    background: #ffffff !important;
    color: #1a1a1a !important;
    border-radius: 12px !important;
    box-shadow: 0 -10px 40px rgba(0, 76, 151, 0.15) !important;
    border: 1px solid rgba(0, 76, 151, 0.1) !important;
}

/* Titel */
.klaro .cookie-modal .cm-header h1,
.klaro .cookie-notice .cn-title {
    color: #004C97 !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-weight: 600 !important;
}

/* Text – alle Textelemente im Banner direkt ansprechen */
.klaro .cookie-modal .cm-body,
.klaro .cookie-notice .cn-body,
.klaro .cookie-notice .cn-body p,
.klaro .cookie-notice .cn-body span,
.klaro .cookie-notice p,
.klaro .cookie-notice span,
.klaro .cookie-notice div,
.klaro .cookie-notice {
    color: #000000 !important;
}

/* Beschreibungstext im Banner explizit */
.klaro .cookie-notice .cn-ok ~ p,
.klaro .cookie-notice > div > p,
.klaro .cn-body p,
.klaro .cn-description,
.klaro .cookie-notice .cn-body > p,
.klaro .cookie-notice .cn-body > span {
    color: #000000 !important;
}

/* Akzeptieren-Button (primary) */
.klaro .cookie-modal .cm-btn-success,
.klaro .cookie-notice .cm-btn-success,
.klaro .cookie-modal .cm-btn-accept-all,
.klaro .cookie-notice .cm-btn-accept-all {
    background: #004C97 !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 500 !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
    transition: background 0.2s ease !important;
}

.klaro .cookie-modal .cm-btn-success:hover,
.klaro .cookie-notice .cm-btn-success:hover,
.klaro .cookie-modal .cm-btn-accept-all:hover,
.klaro .cookie-notice .cm-btn-accept-all:hover {
    background: #003875 !important;
}

/* Speichern-Button (Gold) */
.klaro .cookie-modal .cm-btn-info {
    background: #BD9B60 !important;
    color: #ffffff !important;
    border: none !important;
    font-weight: 600 !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
}

.klaro .cookie-modal .cm-btn-info:hover {
    background: #A88848 !important;
}

/* Ablehnen-Button */
.klaro .cookie-modal .cm-btn-decline,
.klaro .cookie-notice .cm-btn-decline {
    background: transparent !important;
    color: #6b7280 !important;
    border: 1px solid #d1d5db !important;
    padding: 10px 20px !important;
    border-radius: 8px !important;
}

.klaro .cookie-modal .cm-btn-decline:hover,
.klaro .cookie-notice .cm-btn-decline:hover {
    background: #f9fafb !important;
}

/* Links */
.klaro .cookie-modal a,
.klaro .cookie-notice a {
    color: #004C97 !important;
    text-decoration: underline !important;
}

.klaro .cookie-modal a:hover,
.klaro .cookie-notice a:hover {
    color: #003875 !important;
}

/* Toggle Switches */
.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider {
    background: #004C97 !important;
}

.klaro .cookie-modal .cm-list-input:not(.required):checked + .cm-list-label .slider {
    background: #BD9B60 !important;
}

/* Service-Karten: padding-left:60px MUSS erhalten bleiben — Klaro positioniert
   den Toggle absolut bei left:0 innerhalb dieses Padding-Bereichs */
.klaro .cookie-modal .cm-services .cm-purpose,
.klaro .cookie-modal .cm-services .cm-service {
    border-bottom: 1px solid rgba(0, 76, 151, 0.1) !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
}

/* Mobile Optimierung */
@media (max-width: 640px) {
    .klaro .cookie-notice {
        padding: 16px !important;
    }

    .klaro .cookie-modal .cm-modal {
        max-width: 95vw !important;
        margin: 16px !important;
    }
}
