/* Local consent UI: equal choices, readable text, no entrance animation. */
#cc-main {
    --cc-font-family: Inter, Arial, sans-serif;
    --cc-primary-color: #142334;
    --cc-secondary-color: #384653;
    --cc-btn-primary-bg: #17354c;
    --cc-btn-primary-color: #fff;
    --cc-btn-primary-border-color: #17354c;
    --cc-btn-primary-hover-bg: #244a66;
    --cc-btn-primary-hover-color: #fff;
    --cc-btn-primary-hover-border-color: #244a66;
    --cc-btn-secondary-bg: #17354c;
    --cc-btn-secondary-color: #fff;
    --cc-btn-secondary-border-color: #17354c;
    --cc-btn-secondary-hover-bg: #244a66;
    --cc-btn-secondary-hover-color: #fff;
    --cc-btn-secondary-hover-border-color: #244a66;
    --cc-toggle-on-bg: #17354c;
    --cc-modal-transition-duration: 0s;
    --cc-btn-border-radius: .45rem;
    --cc-modal-border-radius: .75rem;
}
#cc-main .cm { max-width: 34rem; }
#cc-main .cm__desc { font-size: .95rem; line-height: 1.55; }
#cc-main .cm__btn, #cc-main .pm__btn { min-height: 44px; }
:root {
    --mg-control-left: calc(24px + env(safe-area-inset-left, 0px));
    --mg-control-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
    --mg-control-size: 48px;
    --mg-control-gap: 12px;
}
.mg-consent-settings {
    position: fixed; bottom: var(--mg-control-bottom); left: var(--mg-control-left);
    z-index: 1001; display: flex; align-items: center; justify-content: center;
    box-sizing: border-box; width: var(--mg-control-size); height: var(--mg-control-size);
    padding: 0; border: 1px solid #b49643; border-radius: 50%;
    background: #0b2331; color: #e8c558;
    box-shadow: 0 4px 16px rgba(0,0,0,.25); cursor: pointer;
    transition: background-color .2s, border-color .2s, box-shadow .2s;
    -webkit-tap-highlight-color: transparent;
}
.mg-consent-settings svg { width: 26px; height: 26px; flex: none; }
.mg-consent-settings:focus-visible { outline: 3px solid #e9c854; outline-offset: 4px; }
@media (hover: hover) {
    .mg-consent-settings:hover {
        background: #17354c; border-color: #e8c558;
        box-shadow: 0 4px 20px rgba(212,175,55,.18);
    }
}
/* Beide Bedienelemente teilen sich eine Spalte mit einem festen Abstand. */
.back-to-top {
    left: var(--mg-control-left);
    bottom: calc(var(--mg-control-bottom) + var(--mg-control-size) + var(--mg-control-gap));
    background: #0b2331; border-color: #b49643; color: #e8c558;
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.back-to-top:hover { background: #17354c; }
/* Der geöffnete Dialog enthält bereits die Auswahl; keine überlappenden Ziele. */
html.show--consent .mg-consent-settings,
html.show--preferences .mg-consent-settings { display: none; }
@media (max-width: 768px) {
    :root { --mg-control-left: calc(16px + env(safe-area-inset-left, 0px)); }
    /* Nur Seiten mit der festen Kontaktleiste benötigen den zusätzlichen Platz. */
    body:has(.mobile-cta) {
        --mg-control-bottom: calc(88px + env(safe-area-inset-bottom, 0px));
    }
}
@media (prefers-reduced-motion: reduce) {
    .mg-consent-settings { transition: none; }
}
