/* Einwilligungs-Hinweis (FA-87 – FA-91): Palette und Schriften des Themes, keine Dark Patterns
   („Alle akzeptieren“ und „Nur notwendige“ gleich gewichtet). */
.ymb-ew { position: fixed; inset: auto 0 0 0; z-index: 200; display: flex; justify-content: center; padding: 16px; box-sizing: border-box; pointer-events: none; }
.ymb-ew[hidden], html.ymb-ew-ok .ymb-ew[data-start] { display: none; }
html.ymb-ew-offen::after { content: ""; position: fixed; inset: 0; z-index: 199; background: rgb(35 52 71 / .35); }
.ymb-ew__box { pointer-events: auto; width: 100%; max-width: 760px; max-height: calc(100vh - 32px); overflow: auto; box-sizing: border-box;
	background: #FFFFFF; color: #233447; border-radius: 20px; padding: 32px 36px; box-shadow: 0 12px 40px rgb(35 52 71 / .25);
	font-family: "Google Sans", system-ui, sans-serif; font-size: 16px; line-height: 1.55; animation: ymb-ew-rein .5s cubic-bezier(.2, .75, .2, 1); }
@keyframes ymb-ew-rein { from { transform: translateY(24px); } }
.ymb-ew p { margin: 0; }
.ymb-ew__titel { font-family: Prata, Georgia, serif; font-size: 28px; line-height: 1.2; }
.ymb-ew__text { margin-top: 12px !important; color: #5C6675; }
.ymb-ew__einst { margin-top: 20px; border-top: 1px solid #E4D9CD; }
.ymb-ew__einst[hidden] { display: none; }
.ymb-ew__kat { display: flex; gap: 24px; justify-content: space-between; align-items: center; padding: 16px 0; border-bottom: 1px solid #E4D9CD; }
.ymb-ew__kname { font-weight: 500; }
.ymb-ew__kinfo { color: #5C6675; font-size: 15px; margin-top: 4px !important; }
.ymb-ew__schalter { flex: none; width: 52px; height: 32px; border-radius: 999px; border: 2px solid #233447; background: #FFFFFF; padding: 0; position: relative; cursor: pointer; }
.ymb-ew__schalter span { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; border-radius: 50%; background: #233447; transition: transform .25s cubic-bezier(.2, .75, .2, 1); }
.ymb-ew__schalter[aria-checked="true"] { background: #233447; }
.ymb-ew__schalter[aria-checked="true"] span { transform: translateX(20px); background: #F5BB2C; }
.ymb-ew__schalter:disabled { opacity: .6; cursor: not-allowed; }
.ymb-ew__knoepfe { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 24px; }
.ymb-ew__knopf { min-height: 52px; padding: 14px 24px; border-radius: 999px; border: 2px solid #233447; background: #233447; color: #FCD5B3;
	font: 500 16px/20px "Google Sans", system-ui, sans-serif; cursor: pointer; }
.ymb-ew__knopf:hover { background: #1C2A3A; }
/* „Nur notwendige“ sekundär: Sand-Fläche mit Nachtblau-Text (Kontrast 10,6:1), gleiche Größe wie „Alle akzeptieren“. */
.ymb-ew__knopf[data-aktion="notwendig"] { background: #F3E7DA; border-color: #F3E7DA; color: #233447; }
.ymb-ew__knopf[data-aktion="notwendig"]:hover { background: #E4D9CD; border-color: #E4D9CD; }
.ymb-ew__knopf[data-aktion="speichern"] { grid-column: 1 / -1; background: #FFFFFF; color: #233447; }
.ymb-ew__knopf[data-aktion="speichern"]:hover { background: #F3E7DA; }
.ymb-ew__knopf[hidden] { display: none; }
.ymb-ew__links { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 16px !important; font-size: 15px; }
.ymb-ew__links a, .ymb-ew__link { color: #233447; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 4px 0; font: inherit; cursor: pointer; min-height: 24px; }
/* Fokus nur für Tastatur, in Nachtblau (auf Weiß 12,6:1), folgt dem Radius des Elements. */
.ymb-ew :focus { outline: none; }
.ymb-ew :focus-visible { outline: 2px solid #233447; outline-offset: 3px; }
.ymb-ew__titel:focus, .ymb-ew__titel:focus-visible { outline: none; }
.ymb-ew-aendern:focus-visible { outline: 2px solid #233447; outline-offset: 3px; }
.ymb-ew-block { margin-top: 1.6em; padding: 24px; border-radius: 16px; background: #F3E7DA; }
.ymb-ew-aendern { margin-top: 12px; min-height: 48px; padding: 12px 24px; border-radius: 999px; border: 2px solid #233447; background: #233447; color: #FCD5B3; font: 500 16px/20px "Google Sans", system-ui, sans-serif; cursor: pointer; }
.ymb-karte__hinweis { display: block; max-width: 420px; font-size: 14px; line-height: 1.45; color: #5C6675; }
@media (max-width: 600px) {
	.ymb-ew { padding: 16px; }
	.ymb-ew__box { padding: 24px 20px; border-radius: 16px; }
	.ymb-ew__titel { font-size: 24px; }
	.ymb-ew__knoepfe { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
	.ymb-ew__box { animation: none; }
	.ymb-ew__schalter span { transition: none; }
}
