.policy-modal{
    position:fixed;
    inset:0;

    display:none;

    justify-content:center;
    align-items:center;

    z-index:9999;

    opacity:0;
    visibility:hidden;

    transition:opacity .25s ease;
}

.policy-modal.open{
    display:flex;

    opacity:1;
    visibility:visible;
}

.policy-overlay{
    position:absolute;
    inset:0;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(3px);
}

.policy-content{
    position:relative;
    width:min(90%,700px);
    max-height:80vh;
    overflow-y:auto;

    background:var(--card);
    border-radius:var(--radius);
    padding:2rem;

    box-shadow:var(--shadow);
    z-index:2;
}

.policy-content h2{
    margin-bottom:1rem;
    text-align:center;
}

.policy-content section{
    margin-bottom:1.25rem;
}

.policy-content h3{
    margin-bottom:.4rem;
    color:var(--lilac-deep);
}

.policy-close{
    position:absolute;
    top:1rem;
    right:1rem;

    border:none;
    background:none;
    cursor:pointer;
    font-size:1.5rem;
    background-color: var(--lilac-deep);
    padding: 10px;
    padding-top: 3px;
    padding-bottom: 5px;

    border-radius: 5px;
}

.policy-close:hover{
    background-color: var(--dusty-rose);
}

/* Ajustes para mobile */
@media(max-width:480px){
    .policy-content{
        padding:1rem;
    }
    .policy-close{
        top:.5rem;
        right:.5rem;
        font-size: 0.7rem;
    }
}
