.privacy-consent-banner{
    position:fixed;
    left:1rem;
    right:1rem;
    bottom:1rem;
    z-index:10000;
    max-width:760px;
    margin:0 auto;
    padding:1.25rem;
    border:1px solid #e2e8f0;
    border-radius:1rem;
    background:rgba(255,255,255,.98);
    box-shadow:0 20px 50px rgba(15,23,42,.18);
    color:#334155;
}

.privacy-consent-banner[hidden]{
    display:none;
}

.privacy-consent-title{
    margin:0 0 .5rem;
    color:#0f172a;
    font-size:1.1rem;
    font-weight:700;
}

.privacy-consent-message{
    margin:0;
    font-size:.95rem;
    line-height:1.6;
}

.privacy-consent-actions{
    display:flex;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1rem;
}

.privacy-consent-button{
    min-height:44px;
    padding:.7rem 1.1rem;
    border:1px solid #cbd5e1;
    border-radius:999px;
    background:#fff;
    color:#0f172a;
    font:inherit;
    font-weight:600;
    cursor:pointer;
}

.privacy-consent-button:hover,
.privacy-consent-button:focus-visible{
    border-color:#3b82f6;
    outline:2px solid transparent;
    box-shadow:0 0 0 3px rgba(59,130,246,.2);
}

.privacy-consent-button.primary{
    border-color:#3b82f6;
    background:#3b82f6;
    color:#fff;
}

.privacy-preferences-button{
    position:fixed;
    right:1rem;
    bottom:1rem;
    z-index:9999;
    min-height:40px;
    padding:.55rem .9rem;
    border:1px solid #cbd5e1;
    border-radius:999px;
    background:#fff;
    box-shadow:0 8px 24px rgba(15,23,42,.14);
    color:#334155;
    font:inherit;
    font-size:.8rem;
    font-weight:600;
    cursor:pointer;
}

.privacy-preferences-button[hidden]{
    display:none;
}

.privacy-preferences-button:hover,
.privacy-preferences-button:focus-visible{
    border-color:#3b82f6;
    color:#2563eb;
    outline:2px solid transparent;
    box-shadow:0 0 0 3px rgba(59,130,246,.2);
}

@media(max-width:640px){
    .privacy-consent-banner{
        left:.75rem;
        right:.75rem;
        bottom:.75rem;
        padding:1rem;
    }

    .privacy-consent-actions{
        flex-direction:column;
    }

    .privacy-consent-button{
        width:100%;
    }
}
