/* ==========================================================================
   Legal Modal
   ========================================================================== */

body.legal-modal-open{

    overflow:hidden;

}


.legal-modal{

    position:fixed;

    inset:0;

    z-index:99999;

    display:none;

}


.legal-modal.is-open{

    display:block;

}


.legal-modal-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.65);

    backdrop-filter:blur(3px);

}


.legal-modal-dialog{

    position:relative;

    width:calc(100% - 40px);

    max-width:850px;

    height:calc(100vh - 80px);

    margin:40px auto;

    background:#ffffff;

    border-radius:14px;

    overflow:hidden;

    box-shadow:
        0 20px 60px rgba(0,0,0,.25);

    display:flex;

    flex-direction:column;

}


.legal-modal-header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    padding:20px 25px;

    background:#111827;

    color:#ffffff;

    flex-shrink:0;

}


.legal-modal-header h2{

    margin:0;

    font-size:20px;

    font-weight:700;

}


.legal-modal-close{

    width:36px;

    height:36px;

    padding:0;

    border:0;

    border-radius:8px;

    background:rgba(255,255,255,.1);

    color:#ffffff;

    font-size:25px;

    line-height:36px;

    cursor:pointer;

}


.legal-modal-close:hover{

    background:rgba(255,255,255,.2);

}


.legal-modal-content{

    flex:1;

    overflow-y:auto;

    padding:30px;

}


.legal-modal-content .legal-updated{

    margin-top:0;

}


.legal-modal-content section{

    margin-bottom:30px;

}


.legal-modal-content h2{

    margin:0 0 10px;

    font-size:18px;

    color:#111827;

}


.legal-modal-content p{

    margin:0 0 12px;

    color:#4b5563;

    font-size:14px;

    line-height:1.7;

}


.legal-modal-content ul{

    margin:0 0 15px;

    padding-left:22px;

}


.legal-modal-content li{

    margin-bottom:7px;

    color:#4b5563;

    font-size:14px;

    line-height:1.7;

}


.legal-modal-loading{

    padding:50px 20px;

    text-align:center;

    color:#6b7280;

}


.legal-modal-error{

    padding:30px;

    text-align:center;

    color:#b91c1c;

    background:#fef2f2;

    border-radius:8px;

}


@media(max-width:640px){

    .legal-modal-dialog{

        width:calc(100% - 20px);

        height:calc(100vh - 20px);

        margin:10px auto;

        border-radius:10px;

    }


    .legal-modal-header{

        padding:16px 18px;

    }


    .legal-modal-header h2{

        font-size:18px;

    }


    .legal-modal-content{

        padding:22px 18px;

    }

}