.cookie-banner[hidden] { display: none !important; }
.cookie-banner {
    position: fixed;
    z-index: 9999;
    left: 20px;
    right: 20px;
    bottom: 20px;
    max-width: 760px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 16px;
    padding: 22px 58px 22px 22px;
    border: 1px solid rgba(23, 38, 95, .14);
    border-radius: 20px;
    background: #fff;
    color: #17265f;
    box-shadow: 0 20px 60px rgba(10, 22, 58, .24);
}
.cookie-icon { font-size: 1.8rem; line-height: 1; }
.cookie-content h2 { margin: 0 0 8px; font-size: 1.15rem; }
.cookie-content p { margin: 0; color: #566078; line-height: 1.55; }
.cookie-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 16px; }
.cookie-actions .button { border: 0; cursor: pointer; }
.cookie-actions a { color: #17265f; font-weight: 700; }
.cookie-close {
    position: absolute;
    top: 12px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 0;
    border-radius: 50%;
    background: #eef1f8;
    color: #17265f;
    font-size: 1.5rem;
    cursor: pointer;
}
.footer-legal { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.footer-legal a, .footer-legal button { color: inherit; font: inherit; text-decoration: underline; }
.footer-legal button { padding: 0; border: 0; background: transparent; cursor: pointer; }
@media (max-width: 640px) {
    .cookie-banner { left: 10px; right: 10px; bottom: 10px; grid-template-columns: 1fr; padding: 20px 48px 20px 18px; border-radius: 16px; }
    .cookie-icon { display: none; }
    .cookie-actions { align-items: stretch; flex-direction: column; }
    .cookie-actions .button { width: 100%; }
}
