.visit-analytics-preferences { text-align: center; padding: .5rem 1rem; }
.cookie-preferences-link { border: 0; background: none; padding: 0; color: #315f91; text-decoration: underline; font: inherit; cursor: pointer; }
.public-cookie-notice .cookie-preferences-link { display: inline; width: auto; background: none; color: inherit; font: inherit; padding: 0; border: 0; }
.cookie-preferences-dialog { width: min(540px, calc(100vw - 2rem)); max-height: calc(100dvh - 2rem); margin: auto; border: 1px solid #dce4ee; border-radius: 18px; padding: 0; background: #fff; color: #22344d; box-shadow: 0 20px 70px #142f5140; text-align: left; font-family: inherit; }
.cookie-preferences-dialog::backdrop { background: #142f5180; backdrop-filter: blur(3px); }
.cookie-preferences-header { display: flex; gap: 1rem; justify-content: space-between; padding: 1.3rem; background: #f4f7fb; border-bottom: 1px solid #dce4ee; }
.cookie-preferences-header h2 { margin: 0 0 .45rem; font-size: 1.1rem; font-weight: 750; }
.cookie-preferences-dialog p { font-size: .8rem; line-height: 1.65; margin: 0; color: #61718a; }
.cookie-preferences-close { align-self: start; border: 0; background: none; font-size: 1.5rem; color: #22344d; cursor: pointer; }
.cookie-preferences-body { padding: 1.3rem; }
.cookie-preference-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid #e7edf4; }
.cookie-preference-row strong { display: block; font-size: .88rem; margin-bottom: .3rem; }
.cookie-preference-row small { display: block; font-size: .76rem; line-height: 1.6; color: #61718a; }
.cookie-preference-switch { appearance: none; width: 42px; height: 24px; flex: 0 0 42px; border-radius: 99px; background: #acb8c8; border: 0; cursor: pointer; position: relative; transition: background .15s; }
.cookie-preference-switch::after { content: ''; position: absolute; width: 18px; height: 18px; border-radius: 50%; background: white; top: 3px; left: 3px; transition: transform .15s; }
.cookie-preference-switch:checked { background: #315f91; }
.cookie-preference-switch:checked::after { transform: translateX(18px); }
.cookie-preference-switch:disabled { opacity: .5; cursor: not-allowed; }
.cookie-preference-switch:focus-visible, .cookie-preferences-button:focus-visible { outline: 3px solid #85b5e7; outline-offset: 3px; }
.cookie-preferences-footer { display: flex; justify-content: flex-end; gap: .65rem; padding: 1rem 1.3rem; border-top: 1px solid #dce4ee; }
.cookie-preferences-button { font: inherit; font-size: .8rem; font-weight: 650; border-radius: 9px; border: 1px solid #ccd8e5; background: white; color: #22344d; padding: .6rem .9rem; cursor: pointer; }
.cookie-preferences-button--primary { background: #22344d; border-color: #22344d; color: white; }
.cookie-preferences-button:disabled { opacity: .55; cursor: wait; }
.cookie-preferences-erasure { margin: 1rem 0; font-size: .75rem; color: #61718a; }
.cookie-preferences-erasure summary { cursor: pointer; }
.cookie-preferences-erasure p { margin: .65rem 0; }
