/*=========================================
        LEGAL MODAL
=========================================*/

.legal-modal{
    position:fixed;
    inset:0;
    background:rgba(5,8,22,.75);
    backdrop-filter:blur(10px);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
    opacity:0;
    visibility:hidden;
    transition:.35s ease;
    z-index:99999;
}

.legal-modal.active{
    opacity:1;
    visibility:visible;
}

.legal-content{
    width:100%;
    max-width:900px;
    max-height:90vh;
    background:linear-gradient(145deg,#0d1328,#111b36);
    border:1px solid rgba(0,212,255,.18);
    border-radius:22px;
    overflow:hidden;
    box-shadow:
    0 25px 80px rgba(0,0,0,.45),
    0 0 35px rgba(0,212,255,.08);
    transform:translateY(40px) scale(.96);
    transition:.35s ease;
    position:relative;
}

.legal-modal.active .legal-content{
    transform:translateY(0) scale(1);
}

.legal-content::before{
    content:"";
    position:absolute;
    top:-120px;
    right:-120px;
    width:260px;
    height:260px;
    border-radius:50%;
    background:radial-gradient(circle,
    rgba(0,212,255,.18),
    transparent 70%);
    pointer-events:none;
}

.legal-content::after{
    content:"";
    position:absolute;
    bottom:-140px;
    left:-140px;
    width:280px;
    height:280px;
    border-radius:50%;
    background:radial-gradient(circle,
    rgba(123,97,255,.15),
    transparent 70%);
    pointer-events:none;
}

/*==========================
        HEADER
==========================*/

.legal-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:24px 30px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.03);
}

.legal-top h2{
    font-size:28px;
    color:#fff;
    font-weight:700;
}

.close-modal{
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    cursor:pointer;
    color:#fff;
    font-size:28px;
    transition:.3s;
}

.close-modal:hover{
    background:#A855F7;
    color:#070b1d;
    transform:rotate(90deg);
}

/*==========================
        BODY
==========================*/

.legal-body{
    padding:35px;
    max-height:72vh;
    overflow-y:auto;
    color:#d9e3f5;
    line-height:1.9;
}

.legal-body h3{
    color:#A855F7;
    margin:35px 0 15px;
    font-size:24px;
}

.legal-body h4{
    color:#fff;
    margin:25px 0 12px;
}

.legal-body p{
    margin-bottom:18px;
    color:#cfd7e6;
    font-size:15px;
}

.legal-body ul{
    margin:18px 0 18px 24px;
}

.legal-body li{
    margin-bottom:12px;
}

.legal-body strong{
    color:#fff;
}

.legal-body a{
    color:#A855F7;
    text-decoration:none;
}

.legal-body a:hover{
    text-decoration:underline;
}

.effective-date{
    background:rgba(0,212,255,.08);
    border-left:4px solid#A855F7;
    padding:14px 18px;
    border-radius:10px;
    margin-bottom:25px;
}

/*==========================
      LEGAL LINKS
==========================*/

.footer-legal{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:12px;
    margin-top:30px;
    flex-wrap:wrap;
}

.footer-legal span{
    color:#7c8aa6;
}

.footer-legal a{
    color:#dfe7f5;
    text-decoration:none;
    transition:.3s;
    font-size:15px;
}

.footer-legal a:hover{
    color:#A855F7;
}

/*==========================
      SCROLLBAR
==========================*/

.legal-body::-webkit-scrollbar{
    width:8px;
}

.legal-body::-webkit-scrollbar-track{
    background:#0c1224;
}

.legal-body::-webkit-scrollbar-thumb{
    background:#A855F7;
    border-radius:20px;
}

.legal-body::-webkit-scrollbar-thumb:hover{
    background:#A855F7;
}

/*==========================
      MOBILE
==========================*/

@media(max-width:768px){

    .legal-content{
        max-height:95vh;
    }

    .legal-top{
        padding:18px 20px;
    }

    .legal-top h2{
        font-size:22px;
    }

    .legal-body{
        padding:22px;
    }

    .legal-body h3{
        font-size:20px;
    }

    .close-modal{
        width:38px;
        height:38px;
        font-size:24px;
    }

}

@media(max-width:480px){

    .legal-content{
        border-radius:16px;
    }

    .legal-body{
        padding:18px;
    }

    .footer-legal{
        flex-direction:column;
        gap:8px;
    }

    .footer-legal span{
        display:none;
    }

}