/* "Was ich meiden will" (allergen-einstellungen.js, Entwurf A): ein Block je Dringlichkeit.
   Rot ist Allergien vorbehalten - eine Erdnussallergie kann toedlich sein, eine
   Geschmacksfrage nicht. Die Bedeutung steht im Text (Tag), die Farbe verstaerkt nur. */
.meiden-block {
    margin-top: var(--space-12);
    padding: var(--space-12);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
}

.meiden-kopf {
    display: flex;
    align-items: flex-start;
    gap: var(--space-10);
}

.meiden-marke {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: var(--radius-md);
    color: #fff; /* lint:ignore-token-color */
    font-size: var(--text-13);
    font-weight: 800;
}

.meiden-marke--rot {
    background: #b91c1c; /* lint:ignore-token-color */
}

.meiden-marke--gelb {
    background: #b45309; /* lint:ignore-token-color */
}

.meiden-marke--grau {
    background: #4b5563; /* lint:ignore-token-color */
}

.meiden-titel {
    margin: 0;
    font-size: var(--text-16);
}

.meiden-erklaerung {
    margin: var(--space-2) 0 0;
    font-size: var(--text-13);
    color: var(--text-muted);
}

.meiden-liste {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
    margin: var(--space-12) 0;
    padding: 0;
    list-style: none;
}

.meiden-eintrag {
    display: flex;
    align-items: center;
    gap: var(--space-8);
    min-height: 44px;
    padding: var(--space-4) var(--space-4) var(--space-4) var(--space-12);
    border: 1px solid rgba(239, 68, 68, 0.4);
    border-radius: var(--radius-lg);
    background: rgba(239, 68, 68, 0.12);
}

.meiden-eintrag-name {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: anywhere;
    font-weight: 700;
}

.meiden-eintrag-tag {
    flex: 0 0 auto;
    font-size: var(--text-12);
    color: var(--text-muted);
}

.meiden-eintrag-weg {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 0;
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
}

.meiden-eintrag-weg svg {
    width: 16px;
    height: 16px;
}

.meiden-wahl-knopf {
    width: 100%;
    min-height: 44px;
    border: 1px dashed var(--border);
    border-radius: var(--radius-lg);
    background: transparent;
    color: var(--accent-text);
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.meiden-schalter-liste {
    margin: var(--space-8) 0 0;
    padding: 0;
    list-style: none;
}

.meiden-schalter {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 56px;
    border-top: 1px solid var(--border);
}

.meiden-schalter-label {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-8) 0;
    cursor: pointer;
}

.meiden-schalter-name {
    font-weight: 700;
}

.meiden-schalter-beschreibung {
    font-size: var(--text-12);
    color: var(--text-muted);
}

.meiden-schalter-knopf {
    appearance: none;
    flex: 0 0 auto;
    position: relative;
    width: 48px;
    height: 28px;
    margin: 0;
    border-radius: var(--radius-pill);
    background: var(--border);
    cursor: pointer;
    transition: background 0.15s;
}

.meiden-schalter-knopf::after {
    content: "";
    position: absolute;
    top: 3px;
    left: 3px;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #fff; /* lint:ignore-token-color */
    transition: transform 0.15s;
}

.meiden-schalter-knopf:checked {
    background: #b45309; /* lint:ignore-token-color */
}

.meiden-schalter-knopf:checked::after {
    transform: translateX(20px);
}

.meiden-schalter-knopf:focus-visible,
.meiden-eintrag-weg:focus-visible,
.meiden-wahl-knopf:focus-visible {
    outline: 3px solid var(--accent-dark, #176937); /* lint:ignore-token-color */
    outline-offset: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .meiden-eintrag-weg:hover {
        color: var(--danger-text);
    }
}

/* Karte "Wie ich mich ernaehre" (ernaehrung-einstellungen.js): Einfachauswahl, ohne Warnfarbe. */
.ernaehrung-wahl {
    margin: var(--space-8) 0 0;
    padding: 0;
    border: 0;
}

.ernaehrung-option {
    display: flex;
    align-items: center;
    gap: var(--space-12);
    min-height: 56px;
    border-top: 1px solid var(--border);
    cursor: pointer;
}

.ernaehrung-radio {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    accent-color: var(--accent-dark, #176937); /* lint:ignore-token-color */
}

.ernaehrung-radio:focus-visible {
    outline: 3px solid var(--accent-dark, #176937); /* lint:ignore-token-color */
    outline-offset: 2px;
}

.ernaehrung-text {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-8) 0;
}

.ernaehrung-name {
    font-weight: 700;
}

.ernaehrung-beschreibung {
    font-size: var(--text-12);
    color: var(--text-muted);
}
