/* Umschalter (Toggle-Switch) für Ja/Nein-Einstellungen. */
.schalter {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    cursor: pointer;
}

.schalter__eingabe {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.schalter__regler {
    width: 52px;
    height: 28px;
    border-radius: 999px;
    background: var(--farbe-rahmen-kraeftig);
    transition: background-color 0.15s ease;
    flex: 0 0 auto;
    position: relative;
}

.schalter__regler::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
    transition: transform 0.15s ease;
}

.schalter__eingabe:checked + .schalter__regler {
    background: var(--farbe-sekundaer);
}

.schalter__eingabe:checked + .schalter__regler::after {
    transform: translateX(24px);
}

.schalter__eingabe:focus-visible + .schalter__regler {
    box-shadow: var(--fokus-ring);
}

/* Zeile aus Beschreibungstext und Schalter. */
.einstellung-zeile {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--abstand-gross);
    padding: var(--abstand-mittel) 0;
}

.einstellung-zeile__titel {
    display: block;
    font-weight: 700;
    color: var(--farbe-primaer);
}

.einstellung-zeile__beschreibung {
    display: block;
    font-size: 0.9rem;
    color: var(--farbe-text-leise);
    margin-top: 0.25rem;
    max-width: 60ch;
}

@media (max-width: 560px) {
    .einstellung-zeile {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--abstand-mittel);
    }
}
