.cookie-notice,
.cookie-notice * { box-sizing: border-box; }
.cookie-notice[hidden] { display: none !important; }
.cookie-notice {
    position: fixed;
    z-index: 90;
    inset-inline: 16px;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    margin-inline: auto;
    width: auto;
    max-width: 760px;
    max-height: calc(100dvh - 32px);
    overflow-y: auto;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 18px 22px;
    border: 1px solid #d5dce8;
    border-radius: 16px;
    background: #fff;
    color: #17334b;
    box-shadow: 0 6px 30px rgb(23 51 75 / 15%);
    font: 15px/1.5 Arial, sans-serif;
    text-align: left;
    transition: opacity 350ms ease, transform 350ms ease;
}
.cookie-notice.is-closing { opacity: 0; transform: translateY(12px); pointer-events: none; }
.cookie-notice p { margin: 0; font: inherit; text-align: left; }
.cookie-notice a { display: inline-flex; align-items: center; min-height: 44px; font: inherit; text-align: left; color: #287a5d; text-decoration: underline; text-underline-offset: 3px; }
.cookie-notice button {
    flex: 0 0 auto;
    min-height: 48px;
    padding: 11px 24px;
    border: 0;
    border-radius: 10px;
    background: #287a5d;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.cookie-notice :focus-visible { outline: 3px solid #9a61da; outline-offset: 3px; }
.cookie-policy-link { display: inline-flex; align-items: center; min-height: 44px; padding-block: 8px; color: #287a5d; text-decoration: underline; font-size: 14px; }
@media (prefers-reduced-motion: reduce) {
    .cookie-notice { transition: none; }
}
@media (max-width: 639px) {
    .cookie-notice { inset-inline: 12px; padding: 16px; flex-direction: column; align-items: stretch; gap: 10px; font-size: 14px; }
    .cookie-notice button { width: 100%; }
    .cookie-notice--afisha { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 100px); }
}
