.auth-legal { width: min(1120px, 100%); margin: 1.5rem auto 0; }
.auth-legal .cookie-banner { position: static; width: 100%; text-align: left; }
.auth-legal-footer { margin: 1.25rem auto 0; padding: .5rem; }
.auth-legal-footer nav { display: flex; justify-content: center; flex-wrap: wrap; gap: .6rem 1.2rem; }
.auth-legal-footer a, .auth-legal-footer button { color: #b9aa92; font-size: .8rem; text-decoration: none; }
.auth-legal-footer a:hover { color: #e0c17e; text-decoration: underline; }
.auth-legal .cookie-save { border: 1px solid #c6a05c; border-radius: 6px; background: linear-gradient(#80602f, #59401f); color: #eee4d2; }
.cookie-banner[hidden] { display: none !important; }
.cookie-banner {
    position: fixed;
    right: clamp(14px, 3vw, 42px);
    bottom: clamp(14px, 3vw, 34px);
    left: clamp(14px, 3vw, 42px);
    z-index: 100;
    width: min(calc(100% - clamp(28px, 6vw, 84px)), 1120px);
    display: grid;
    grid-template-columns: minmax(100px, 140px) minmax(0, 1fr) auto;
    align-items: center;
    gap: clamp(18px, 2.5vw, 32px);
    margin-inline: auto;
    padding: clamp(20px, 2.4vw, 30px);
    border: 1px solid rgba(198,160,92,.52);
    border-radius: 15px;
    color: #eee4d2;
    background: linear-gradient(145deg, rgba(39,30,20,.97), rgba(12,10,8,.98) 70%);
    box-shadow: 0 24px 70px rgba(0,0,0,.65), inset 0 1px rgba(255,255,255,.03);
    backdrop-filter: blur(14px);
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .22s ease, transform .22s ease;
}
.cookie-banner.is-visible { opacity: 1; transform: translateY(0); }
.cookie-icon { width: 100%; max-width: 140px; height: auto; object-fit: contain; filter: drop-shadow(0 8px 12px rgba(0,0,0,.38)); }
.cookie-copy h2 { margin: 0 0 8px; color: #e0c17e; font: 400 clamp(1.25rem, 2vw, 1.65rem)/1.15 Georgia, "Times New Roman", serif; }
.cookie-copy p { max-width: 700px; margin: 4px 0; color: #b9aa92; font-size: .86rem; line-height: 1.55; }
.cookie-copy a { display: inline-block; margin-top: 7px; color: #e0c17e; font-size: .76rem; }
.cookie-copy a:hover { color: #eee4d2; }
.cookie-actions { min-width: 250px; display: grid; justify-items: center; gap: 13px; }
.cookie-switch { display: grid; grid-template-columns: auto 56px auto; align-items: center; gap: 9px; color: #d6c8b2; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.cookie-switch input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.cookie-track { position: relative; width: 56px; height: 29px; border: 1px solid rgba(224,193,126,.62); border-radius: 999px; background: rgba(7,6,4,.7); box-shadow: inset 0 2px 7px rgba(0,0,0,.52); transition: background .2s ease, border-color .2s ease; }
.cookie-track > span { position: absolute; top: 4px; left: 4px; width: 19px; height: 19px; border-radius: 50%; background: #d7b66e; box-shadow: 0 2px 7px rgba(0,0,0,.42); transition: transform .2s ease; }
.cookie-switch input:checked + .cookie-track { border-color: #e0c17e; background: rgba(113,76,32,.78); }
.cookie-switch input:checked + .cookie-track > span { transform: translateX(27px); }
.cookie-switch input:focus-visible + .cookie-track { outline: 2px solid #e0c17e; outline-offset: 4px; }
.cookie-save { width: 100%; min-height: 44px; }
.footer-text-button { padding: 0; border: 0; color: var(--text-muted, #aa9b84); background: transparent; font: inherit; font-size: .82rem; cursor: pointer; }
.footer-text-button:hover { color: var(--gold-light, #e0c17e); }
@media (max-width: 780px) {
    .cookie-banner { grid-template-columns: 52px 1fr; align-items: start; }
    .cookie-icon { width: 52px; height: 52px; }
    .cookie-actions { min-width: 0; grid-column: 1 / -1; width: 100%; }
}
@media (max-width: 480px) {
    .cookie-banner { grid-template-columns: 1fr; max-height: calc(100vh - 24px); overflow-y: auto; text-align: center; }
    .cookie-icon { margin-inline: auto; }
    .cookie-copy p { font-size: .8rem; }
    .cookie-actions { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
    .cookie-banner, .cookie-track, .cookie-track > span { transition: none; }
}
