.cookie-notice[hidden], .cookie-placeholder[hidden] { display: none !important; }
.cookie-notice {
    position: fixed;
    z-index: 10000;
    bottom: max(1rem, env(safe-area-inset-bottom));
    left: 50%;
    transform: translateX(-50%);
    width: min(960px, calc(100% - 2rem));
    max-height: 75vh;
    max-height: 75dvh;
    overflow: auto;
    display: flex;
    gap: 1.5rem;
    align-items: center;
    padding: 1.5rem;
    background: var(--white, #fff);
    color: var(--text-color, #3D4546);
    border: 1px solid #c3e2e6;
    border-radius: var(--border-radius, 1rem);
    box-shadow: 0 8px 40px #1f282926;
    font-size: 13px;
    line-height: 1.6;
}
.cookie-notice h2 { margin: 0 0 .6rem; font: 600 20px/1.3 'Montserrat', sans-serif; color: var(--black, #1F2829); }
.cookie-notice p { margin: 0 0 .6rem; }
.cookie-notice summary { width: fit-content; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice a, .cookie-notice summary, .cookie-placeholder button { color: #246d77; }
.cookie-notice a { text-decoration: underline; }
.cookie-notice__details { margin-top: .8rem; }
.cookie-notice__actions { flex: 0 0 155px; display: grid; gap: .75rem; }
.cookie-choice {
    border: 1px solid #9dcdd3;
    border-radius: 2.25em;
    padding: .8rem 1.2rem;
    background: #e4f3f5;
    color: #1F2829;
    font: 600 14px/1.4 'Montserrat', sans-serif;
}
.cookie-choice:hover { background: #cce9ed; }
.cookie-notice :focus-visible, .cookie-settings-link:focus-visible, .cookie-placeholder button:focus-visible { outline: 3px solid #258D9B; outline-offset: 3px; }
.cookie-notice__status:empty { display: none; }
.cookie-notice .cookie-notice__status { margin: .6rem 0 0; font-weight: 500; }
.site-footer .cookie-settings-link { border: 0; background: transparent; text-align: left; font: inherit; cursor: pointer; }
.cookie-placeholder { min-height: 250px; padding: 1.5rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border: 1px solid #c3e2e6; border-radius: 1rem; background: #F4F8FF; color: #3D4546; font-size: 14px; }
.cookie-placeholder p { margin: 0 0 .75rem; }
.cookie-placeholder button { border: 0; background: transparent; text-decoration: underline; text-underline-offset: 3px; font: inherit; }
.cookie-noscript { padding: 1rem; margin: 0; text-align: center; font-size: 14px; }
@media (max-width: 600px) {
    .cookie-notice { flex-direction: column; align-items: stretch; gap: .9rem; padding: 1rem; width: calc(100% - 1rem); bottom: max(.5rem, env(safe-area-inset-bottom)); }
    .cookie-notice__actions { flex: auto; grid-template-columns: 1fr 1fr; }
}
