/* Kept outside the animated slider so the notice stays usable on every slide. */
.cookie-notice,
.cookie-settings,
.cookie-map {
    box-sizing: border-box;
    font: 14px/1.5 Arial, sans-serif;
    letter-spacing: normal;
    text-transform: none;
}
.cookie-notice {
    position: fixed;
    z-index: 1000001;
    left: 20px;
    bottom: 136px;
    width: 410px;
    max-width: calc(100vw - 40px);
    max-height: calc(100vh - 156px);
    max-height: calc(100dvh - 156px);
    overflow-y: auto;
    padding: 20px;
    color: #fff;
    background: #272e38;
    border: 1px solid #59606a;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, .3);
    text-align: left;
}
.cookie-notice[hidden],
.cookie-settings[hidden],
.cookie-map [hidden] { display: none !important; }
.cookie-notice h2 {
    margin: 0 0 8px;
    color: #fff;
    font: bold 16px/1.4 Arial, sans-serif;
    letter-spacing: normal;
    text-transform: none;
}
.cookie-notice p,
.cookie-map p {
    margin: 0;
    color: inherit;
    font: inherit;
    text-align: left;
}
.cookie-notice__details { margin-top: 10px; }
.cookie-notice p.cookie-notice__policy { margin-top: 10px; font-size: 13px; }
.cookie-notice__details summary { cursor: pointer; text-decoration: underline; }
.cookie-notice__details p { margin-top: 10px; font-size: 13px; }
.cookie-notice a,
.cookie-map a { color: #fff; text-decoration: underline; }
.cookie-notice__actions { display: flex; gap: 10px; margin-top: 16px; }
.cookie-notice__actions button,
.cookie-map button {
    min-height: 44px;
    margin: 0;
    padding: 10px 18px;
    color: #fff;
    background: #272e38;
    border: 1px solid #89909a;
    border-radius: 4px;
    font: bold 14px/1.4 Arial, sans-serif;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
}
.cookie-notice__actions button { flex: 1; }
.cookie-notice__actions button:hover,
.cookie-map button:hover { background: #424a56; color: #fff; }
.cookie-notice button:focus-visible,
.cookie-notice a:focus-visible,
.cookie-notice summary:focus-visible,
.cookie-settings:focus-visible,
.cookie-map button:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }
.cookie-settings {
    position: fixed;
    z-index: 1001;
    left: 20px;
    bottom: 178px;
    width: 150px;
    min-height: 36px;
    margin: 0;
    padding: 7px 12px;
    color: #fff;
    background: #272e38;
    border: 1px solid #59606a;
    border-radius: 4px;
    cursor: pointer;
}
.cookie-settings:hover { background: #424a56; color: #fff; }
.cookie-policy-link {
    position: fixed;
    z-index: 1001;
    left: 20px;
    bottom: 136px;
    width: 150px;
    min-height: 36px;
    padding: 7px 10px;
    color: #fff;
    background: #272e38;
    border: 1px solid #59606a;
    border-radius: 4px;
    font: 12px/1.5 Arial, sans-serif;
    text-decoration: underline;
    text-align: center;
}
.cookie-policy-link:hover { color: #fff; background: #424a56; }
.cookie-policy-link:focus-visible { outline: 2px solid #fff !important; outline-offset: 3px; }
.no-js .cookie-policy-link { z-index: 1000001; }
.cookie-map {
    width: 390px;
    max-width: 100%;
    padding: 24px;
    color: #fff;
    background: rgba(39, 46, 56, .9);
    border: 1px solid #59606a;
    border-radius: 4px;
}
.cookie-map p + p,
.cookie-map button { margin-top: 12px; }
.cookie-map--enabled { padding: 0; border: 0; background: transparent; }
.cookie-map--enabled > p,
.cookie-map--enabled > button { display: none; }
.cookie-map iframe { display: block; width: 100%; max-width: 100%; border: 0; }
@media (max-width: 767px) {
    .cookie-notice { bottom: 78px; max-height: calc(100vh - 98px); max-height: calc(100dvh - 98px); }
    .cookie-settings { bottom: 120px; }
    .cookie-policy-link { bottom: 78px; }
}
@media (max-width: 480px) {
    .cookie-notice { left: 12px; max-width: calc(100vw - 24px); padding: 16px; }
    .cookie-settings { left: 12px; }
    .cookie-policy-link { left: 12px; }
}
