/*==========================================================
MODAL
==========================================================*/

.modal-overlay{

    position:fixed;

    inset:0;

    background:rgba(10,25,47,.70);

    backdrop-filter:blur(8px);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:9999;

}

.modal-overlay.show{

    opacity:1;

    visibility:visible;

}

.modal{

    width:min(92%,680px);

    max-height:90vh;

    overflow-y:auto;

    background:#ffffff;

    border-radius:24px;

    padding:0;

    position:relative;

    transform:translateY(40px);

    opacity:0;

    transition:.40s ease;

    box-shadow:

        0 40px 90px rgba(0,0,0,.18);

}

.modal-overlay.show .modal{

    opacity:1;

    transform:translateY(0);

}

.modal-close{

    position:absolute;

    right:20px;

    top:20px;

    width:46px;

    height:46px;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.20);

    color:#ffffff;

    font-size:30px;

    cursor:pointer;

    transition:.30s;

    z-index:2;

}

.modal-close:hover{

    background:#ffffff;

    color:var(--color-primary);

}

/*==========================================================
HEADER
==========================================================*/

.modal-header{

    background:linear-gradient(
        135deg,
        #0F4C81,
        #1B6FB8
    );

    color:#ffffff;

    padding:45px;

    text-align:center;

}

.modal-tag{

    display:inline-block;

    padding:8px 18px;

    border-radius:30px;

    background:rgba(255,255,255,.15);

    color:#ffffff;

    font-size:.80rem;

    letter-spacing:.08em;

    margin-bottom:18px;

}

.modal-header h2{

    color:#ffffff;

    margin-bottom:15px;

}

.modal-header p{

    color:rgba(255,255,255,.85);

    line-height:1.8;

}

/*==========================================================
BODY
==========================================================*/

.modal-body{

    padding:40px;

}

/*==========================================================
FORMULARIO
==========================================================*/

.contact-form{

    display:flex;

    flex-direction:column;

    gap:24px;

}

.form-group{

    display:flex;

    flex-direction:column;

}

.form-group label{

    margin-bottom:10px;

    font-weight:600;

    color:#334155;

}

.form-group input,

.form-group textarea{

    width:100%;

    padding:17px 20px;

    border:2px solid #E2E8F0;

    border-radius:14px;

    background:#F8FAFC;

    transition:.30s;

    font-size:15px;

    color:#334155;

}

.form-group textarea{

    min-height:160px;

    resize:none;

}

.form-group input:focus,

.form-group textarea:focus{

    outline:none;

    border-color:#0F4C81;

    background:#ffffff;

    box-shadow:

        0 0 0 5px rgba(15,76,129,.10);

}

/*==========================================================
BOTONES
==========================================================*/

.form-actions{

    display:flex;

    justify-content:flex-end;

    gap:18px;

    margin-top:10px;

}

.form-actions .btn{

    min-width:180px;

}