.cookie-banner[hidden] { display: none; }
.cookie-banner { position: fixed; bottom: 24px; left: 0; width: 100%; padding: 0 100px; z-index: 10000; pointer-events: none; }
.cookie-banner, .cookie-banner *, .cookie-settings, .cookie-settings * { box-sizing: border-box; }
.cookie-banner__panel, .cookie-settings__panel { background: #414147; color: #fff; font-family: 'Onest', sans-serif; font-weight: 400; }
.cookie-banner__panel { display: flex; align-items: center; gap: 24px; width: 859px; max-width: 100%; min-height: 120px; padding: 24px; border-radius: 10px; font-size: 16px; line-height: 24px; pointer-events: auto; }
.cookie-banner p, .cookie-settings p { margin: 0; }
.cookie-banner p { flex: 1; min-width: 0; }
.cookie-banner a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cookie-banner__actions { display: flex; gap: 24px; flex-shrink: 0; }
button.cookie-button { display: inline-flex; align-items: center; justify-content: center; min-height: 54px; border: 0; border-radius: 5px; background: #56937b; color: #fff; padding: 10px 20px; font: inherit; cursor: pointer; }
.cookie-banner__actions button.cookie-button { width: 129px; }
.cookie-banner__actions button.cookie-button--secondary { width: 147px; }
button.cookie-button:hover { background: #477e69; }
button.cookie-button--secondary { background: #6d6d76; }
button.cookie-button--secondary:hover { background: #7c7c86; }
.cookie-button:focus-visible, .cookie-settings__close:focus-visible, .cookie-settings input:focus-visible { outline: 2px solid white; outline-offset: 3px; }
.cookie-settings { border: 0; padding: 0; background: #414147; width: calc(100% - 30px); max-width: 480px; max-height: calc(100dvh - 30px); margin: auto; color: white; border-radius: 10px; box-shadow: 0 0 20px #0004; overflow-y: auto; }
.cookie-settings::backdrop { background: #0005; }
.cookie-settings__panel { position: relative; padding: 20px; font-size: 16px; line-height: 22px; }
.cookie-settings h2 { margin: 0 32px 10px 0; font-size: 24px; line-height: 31px; font-weight: 400; }
.cookie-settings__close { position: absolute; top: 24px; right: 22px; display: flex; align-items: center; justify-content: center; width: 21px; height: 21px; border: 1.5px solid #fff; border-radius: 50%; padding: 0; background: transparent; color: white; cursor: pointer; }
.cookie-settings__close svg { display: block; width: 9px; height: 9px; }
.cookie-settings__categories { border-top: 1px solid #fff; margin-top: 10px; padding-top: 14px; display: grid; gap: 27px; }
.cookie-settings__category { display: flex; gap: 11px; cursor: pointer; align-items: flex-start; font-size: 15px; line-height: 21px; }
.cookie-settings__category:has(input:disabled) { cursor: default; }
.cookie-settings__category input { appearance: none; -webkit-appearance: none; position: relative; width: 25px; height: 25px; flex-shrink: 0; margin: 0; padding: 0; border: 1px solid #9595a4; border-radius: 5px; background: transparent; cursor: pointer; }
.cookie-settings__category input:checked { background: #56937b; border-color: #56937b; }
.cookie-settings__category input:checked::after { content: ''; position: absolute; left: 8px; top: 4px; width: 7px; height: 12px; border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg); }
.cookie-settings__category input:disabled { opacity: 1; cursor: default; }
.cookie-settings__category strong { display: block; font-weight: 500; margin-bottom: 0; }
.cookie-settings__category span span { display: block; }
.cookie-settings .cookie-settings__note { margin: 27px 0 27px 36px; font-size: 15px; line-height: 21px; }
.cookie-settings__save { width: 100%; min-height: 60px; font-size: 22px; line-height: 31px; }
@media (max-width: 1440px) {
    .cookie-banner { padding: 0 50px; }
}
@media (max-width: 960px) {
    .cookie-banner { padding: 0 15px; bottom: 15px; }
    .cookie-banner__panel { width: 100%; min-height: 153px; flex-direction: column; align-items: stretch; gap: 8px; padding: 14px; font-size: 13px; line-height: 18px; border-radius: 6px; }
    .cookie-banner__actions { gap: 15px; }
    .cookie-banner__actions button.cookie-button { flex: 1; width: auto; min-height: 45px; padding: 10px 12px; font-size: 16px; line-height: 22px; }
}
@media (max-width: 720px) {
    .cookie-settings { max-width: 330px; }
    .cookie-settings h2 { max-width: 245px; }
}
