/* Klaro 0.7.10 – Barrierefreiheit (Schrift skaliert, Kontraste, Fokus) */

.klaro,
.klaro button {
    --font-size: 0.875rem;
    font-size: 0.875rem;
}

.klaro .cookie-modal .cm-modal .cm-header h1.title,
.klaro .cookie-modal .cm-modal .cm-header h1 {
    font-size: 1.25rem;
    line-height: 1.3;
}

.klaro .cookie-modal p,
.klaro .cookie-modal li,
.klaro .cookie-modal dd,
.klaro .cookie-modal dt {
    line-height: 1.5;
}

/* Texte ≥ 4,5:1 (vorher #a0a0a0 = 2,6:1 und #7c7c7c = 4,2:1) */
.klaro .cookie-modal .cm-list-description,
.klaro .cookie-modal p.purposes,
.klaro .cookie-modal .cm-required {
    color: #595959;
}

/* Schieberegler: Rahmen/Knopf ≥ 3:1 gegen Weiß (vorher #f2f2f2 = 1,1:1) */
.klaro .cookie-modal .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input:focus + .cm-list-label .slider {
    background-color: #fff;
    box-shadow: inset 0 0 0 2px #595959;
}

.klaro .cookie-modal .cm-list-label .slider::before {
    background-color: #595959;
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input:checked:focus + .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input.required:checked + .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input.only-required + .cm-list-label .slider,
.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider {
    background-color: #be1522;
    box-shadow: none;
    opacity: 1;
}

.klaro .cookie-modal .cm-list-input:checked + .cm-list-label .slider.round::before,
.klaro .cookie-modal .cm-list-input.only-required + .cm-list-label .slider.round::before,
.klaro .cookie-modal .cm-list-input.half-checked:checked + .cm-list-label .slider.round::before {
    background-color: #fff;
}

/* Sichtbarer Fokus: Fokus liegt auf der unsichtbaren Checkbox → Schieberegler markieren */
.klaro .cookie-modal .cm-list-input:focus-visible + .cm-list-label .slider {
    outline: 3px solid #005fcc;
    outline-offset: 3px;
}

.klaro .cookie-modal a:focus-visible,
.klaro .cookie-modal button:focus-visible {
    outline: 3px solid #005fcc;
    outline-offset: 2px;
    box-shadow: 0 0 0 2px #fff;
}

.klaro .cookie-modal .cm-modal:focus {
    outline: none;
}

/* "1 Dienst" als Button erkennbar */
.klaro .cookie-modal .cm-caret a {
    text-decoration: underline;
}

/* Cookie-Details als Beschreibungsliste */
.klaro .cm-cookie-details {
    display: block;
    margin-top: 0.5em;
}

.klaro .cm-cookie-details-title {
    display: block;
    font-weight: 600;
}

.klaro .cm-cookie-details dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.15em 0.75em;
    margin: 0.25em 0 0;
}

.klaro .cm-cookie-details dt {
    font-weight: 600;
}

.klaro .cm-cookie-details dd {
    margin: 0;
}

.klaro .cm-cookie-details dt:nth-of-type(3n+1) {
    margin-top: 0.5em;
}

.klaro .cm-cookie-details dt:nth-of-type(3n+1) + dd {
    margin-top: 0.5em;
}

/* Buttons in Code-Reihenfolge anzeigen (Fokusreihenfolge = sichtbare Reihenfolge) */
.klaro .cookie-modal .cm-footer-buttons .cm-btn {
    order: 0;
}
