/* Eigene Farben garantieren Kontrast auch bei frei konfigurierten Theme-Farben. */
.consent{position:fixed;inset:auto 20px 20px auto;margin:0;width:min(640px,calc(100% - 40px));max-height:calc(100dvh - 40px);padding:0;border:1px solid #806158;border-radius:18px;background:#fbf4e4;color:#2a0709;box-shadow:0 12px 60px #0004;font-family:var(--body,Georgia,serif);overflow:auto;overscroll-behavior:contain;z-index:10000}
.consent:not([open]),.consent [hidden],[data-consent-open][hidden]{display:none!important}
.map-preview[hidden],.resmio-consent[hidden]{display:none!important}
.consent::backdrop{background:#140b0a66}
.consent-inner{padding:26px}
.consent-brand{margin:0 0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#694038}
.consent h2{margin:0 0 12px;font-family:var(--display,Georgia,serif);font-size:1.7rem;color:inherit}
.consent p,.consent-option>span{font-size:1rem;line-height:1.55}
.consent p{margin:0 0 14px}
.consent .consent-meta{font-size:.9rem;color:#61423a}
.consent-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 12px}
.consent .consent-decision{flex:1 1 160px;justify-content:center;background:#5c0e15;color:#fff8ed;border:2px solid #5c0e15;min-height:46px;font:600 1rem/1.3 var(--body,Georgia,serif);padding:12px 14px;border-radius:8px;cursor:pointer}
.consent .consent-decision:hover{background:#35090d;border-color:#35090d;transform:none}
.consent-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px}
.consent-links a,.consent-links button{display:inline-flex;align-items:center;min-height:44px;padding:2px 0;background:none;border:0;color:#5c0e15;text-decoration:underline;font:inherit;cursor:pointer}
.consent :focus-visible{outline:3px solid #215e70;outline-offset:4px}
.consent-details{margin-top:20px;border-top:1px solid #c6b6a6}
.consent-option{display:block;padding:16px 0;border-bottom:1px solid #c6b6a6;cursor:pointer}
.consent-option>span{display:block}
.consent-option>span:first-child{display:flex;gap:10px;align-items:center;margin-bottom:8px}
.consent-option input{width:22px;height:22px;flex:0 0 22px;margin:0;accent-color:#5c0e15}
.consent-option p{margin:8px 0 0}
.consent-details>.consent-meta{margin:16px 0}
.consent-footer-button{border:0;padding:8px 0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;min-height:44px}
.consent-nojs{font-size:.9rem;padding-block:16px}
.karte-allergene{margin-top:20px;font-size:1rem;line-height:1.6}
@media(max-width:540px){.consent{inset:auto 10px 10px;width:calc(100% - 20px);max-height:calc(100dvh - 20px);border-radius:12px}.consent-inner{padding:20px}.consent-actions{flex-direction:column}.consent .consent-decision{flex:auto;width:100%}.consent-links{gap:4px 16px}}
@media print{.consent,.consent-footer-button,.consent-nojs{display:none!important}}
