/* ======================================== */
/* CONTACT PREMIUM */
/* ======================================== */

.contact-premium{

    width:100%;

    display:grid;

    grid-template-columns:1fr 1fr;

    min-height:760px;

    background:#f5f5f5;
}

/* ======================================== */
/* LEFT */
/* ======================================== */

.contact-info{

    padding:
    120px
    7%;

    display:flex;

    flex-direction:column;

    justify-content:center;
}

/* TAG */

.contact-tag{

    font-size:18px;

    font-weight:800;

    letter-spacing:4px;

    color:#187a43;

    margin-bottom:25px;
}

/* TITLE */

.contact-info h2{

    font-size:58px;

    line-height:1.05;

    color:#101010;

    margin-bottom:30px;

    font-weight:900;
}

/* TEXT */

.contact-info p{

    font-size:22px;

    line-height:1.8;

    color:#666;

    margin-bottom:50px;

    max-width:650px;
}

/* ======================================== */
/* ITEMS */
/* ======================================== */

.contact-item{

    display:flex;

    align-items:flex-start;

    gap:22px;

    margin-bottom:35px;
}

/* ICON */

.contact-icon{

    width:54px;
    height:54px;

    border-radius:50%;

    background:#187a43;

    color:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:22px;

    flex-shrink:0;
}

/* TEXT */

.contact-text h4{

    font-size:24px;

    margin-bottom:10px;

    color:#111;
}

.contact-text span{

    display:block;

    font-size:18px;

    line-height:1.8;

    color:#666;
}

/* ======================================== */
/* LEGAL */
/* ======================================== */

.contact-legal{

    margin-top:50px;

    display:flex;

    flex-direction:column;

    gap:25px;
}

/* LINK */

.contact-legal a{

    text-decoration:none;

    color:#187a43;

    font-weight:700;

    display:flex;

    align-items:center;

    gap:12px;

    font-size:18px;
}

/* IMG */

.contact-legal img{

    width:220px;

    border-radius:12px;

    transition:.3s;
}

.contact-legal img:hover{

    transform:scale(1.03);
}

/* ======================================== */
/* RIGHT FORM */
/* ======================================== */

.contact-form-box{

    position:relative;

    overflow:hidden;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:80px;
}

/* BG */

.contact-form-box::before{

    content:"";

    position:absolute;

    inset:0;

    background:
    url('../img/contact-bg.jpg')
    center/cover;

    transform:scale(1.05);
}

/* OVERLAY */

.contact-form-overlay{

    position:absolute;

    inset:0;

    background:
    rgba(12,85,45,.82);

    backdrop-filter:blur(3px);
}

/* CONTENT */

.contact-form-content{

    position:relative;

    z-index:2;

    width:100%;

    max-width:640px;
    font-size:60px;
}

/* FORM */

.contact-form-content form{

    display:flex;

    flex-direction:column;

    gap:22px;
}

/* TITLE */

.contact-form-content h2{

    font-size:72px;

    line-height:1;

    color:#fff;

    margin-bottom:20px;

    font-weight:900;
}

/* INPUTS */

.contact-form-content input,
.contact-form-content textarea{

    width:100%;

    border:none;

    border-radius:14px;

    padding:
    22px
    24px;

    font-size:17px;

    outline:none;
}

/* ROW */

.form-row{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:18px;
}

/* TEXTAREA */

.contact-form-content textarea{

    resize:none;

    min-height:160px;
}

/* CHECK */


/* ======================================== */
/* CHECK */
/* ======================================== */

.check{

    display:flex;

    align-items:center;

    gap:14px;

    margin:
    24px
    0;

    cursor:pointer;
}

/* CHECKBOX */

.check input{

    width:18px;
    height:18px;

    accent-color:#E14514;

    flex-shrink:0;
}

/* TEXT */

.check span{

    color:#fff;

    font-size:15px;

    line-height:1.4;

    opacity:.9;
}



.contact-form-content button{

    height:70px;

    border:none;

    border-radius:14px;

    background:#f15a24;

    color:#fff;

    font-size:18px;

    font-weight:800;

    cursor:pointer;

    transition:.3s;
}

.contact-form-content button:hover{

    background:#ff6a37;

    transform:translateY(-3px);
}
.mensaje-toast{

    position:fixed;
    top:30px;
    right:30px;

    background:#16a34a;
    color:white;

    padding:14px 22px;

    border-radius:12px;

    font-size:14px;
    font-weight:600;

    z-index:9999;

    box-shadow:0 10px 30px rgba(0,0,0,.2);

    animation:fadeIn .4s ease;

}

/* ANIMACION */

@keyframes fadeIn{

    from{
        opacity:0;
        transform:translateY(-10px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}
/* ======================================== */
/* FOOTER */
/* ======================================== */

.premium-footer{

    background:rgba(12,85,45,.82);
    color:#fff;
}

/* CONTAINER */

.footer-container{

    display:grid;

    grid-template-columns:
    1.2fr
    1fr
    1fr;

    gap:60px;

    padding:
    90px
    7%;
}

/* LOGO */

.footer-logo img{

    width:220px;

    margin-bottom:25px;
}

.footer-logo p{

    color:#bcbcbc;

    line-height:1.8;

    max-width:320px;
}

/* LINKS */

.footer-links{

    display:flex;

    flex-direction:column;

    gap:18px;
}

.footer-links a{

    color:#fff;

    text-decoration:none;

    font-size:17px;

    transition:.3s;
}

.footer-links a:hover{

    color:#f15a24;
}

/* SOCIAL */

.footer-social{

    display:flex;

    align-items:flex-start;

    gap:18px;
}

.footer-social a{

    width:52px;
    height:52px;

    border-radius:50%;

    border:
    1px solid rgba(255,255,255,.15);

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:18px;

    transition:.3s;
}

.footer-social a:hover{

    background:#f15a24;

    border-color:#f15a24;
}

/* BOTTOM */

.footer-bottom{

    border-top:
    1px solid rgba(255,255,255,.08);

    text-align:center;

    padding:28px;

    color:#9d9d9d;

    font-size:15px;
}

/* ======================================== */
/* LAPTOP LARGE */
/* ======================================== */

@media(max-width:1400px){

    .contact-info h2{

        font-size:58px;
    }

    .contact-form-content h2{

        font-size:60px;
    }

}

/* ======================================== */
/* LAPTOP */
/* ======================================== */

@media(max-width:1200px){

    .contact-premium{

        min-height:auto;
    }

    .contact-info{

        padding:
        90px
        6%;
    }

    .contact-info h2{

        font-size:50px;
    }

    .contact-info p{

        font-size:19px;
    }

    .contact-form-box{

        padding:60px;
    }

    .contact-form-content h2{

        font-size:52px;
    }

    .footer-container{

        gap:40px;
    }

}

/* ======================================== */
/* TABLET */
/* ======================================== */

@media(max-width:992px){

    .contact-premium{

        grid-template-columns:1fr;
    }

    .contact-info{

        padding:
        80px
        7%;
    }

    .contact-info h2{

        font-size:44px;
    }

    .contact-info p{

        font-size:18px;

        max-width:100%;
    }

    .contact-item{

        gap:18px;
    }

    .contact-icon{

        width:48px;
        height:48px;

        font-size:18px;
    }

    .contact-text h4{

        font-size:20px;
    }

    .contact-text span{

        font-size:16px;
    }

    .contact-form-box{

        padding:60px 35px;
    }

    .contact-form-content{

        max-width:100%;
    }

    .contact-form-content h2{

        font-size:46px;
    }

    .footer-container{

        grid-template-columns:1fr;

        gap:50px;
    }

}

/* ======================================== */
/* MOBILE */
/* ======================================== */

@media(max-width:768px){

    .contact-info{

        padding:
        70px
        24px;
    }

    .contact-tag{

        font-size:14px;

        letter-spacing:2px;
    }

    .contact-info h2{

        font-size:36px;

        line-height:1.05;
    }

    .contact-info p{

        font-size:16px;

        line-height:1.7;

        margin-bottom:35px;
    }

    .contact-item{

        gap:14px;

        margin-bottom:28px;
    }

    .contact-icon{

        width:42px;
        height:42px;

        font-size:16px;
    }

    .contact-text h4{

        font-size:18px;
    }

    .contact-text span{

        font-size:15px;

        line-height:1.6;
    }

    .contact-form-box{

        padding:
        45px
        24px;
    }

    .contact-form-content h2{

        font-size:38px;

        line-height:1.05;
    }

    .contact-form-content form{

        gap:18px;
    }

    .form-row{

        grid-template-columns:1fr;
    }

    .contact-form-content input,
    .contact-form-content textarea{

        padding:
        16px
        18px;

        font-size:15px;

        border-radius:12px;
    }

    .contact-form-content textarea{

        min-height:130px;
    }

    .check{

        align-items:flex-start;

        gap:10px;
    }

    .check span{

        font-size:14px;
    }

    .contact-form-content button{

        height:56px;

        font-size:15px;

        border-radius:12px;
    }

    .contact-legal{

        gap:18px;
    }

    .contact-legal img{

        width:170px;
    }

    .footer-container{

        padding:
        60px
        24px;
    }

    .footer-logo img{

        width:180px;
    }

    .footer-links a{

        font-size:15px;
    }

    .footer-social{

        gap:12px;
    }

    .footer-social a{

        width:44px;
        height:44px;

        font-size:15px;
    }

    .footer-bottom{

        padding:22px;

        font-size:13px;
    }

}

/* ======================================== */
/* SMALL MOBILE */
/* ======================================== */

@media(max-width:480px){

    .contact-info h2{

        font-size:30px;
    }

    .contact-form-content h2{

        font-size:32px;
    }

    .contact-info p{

        font-size:15px;
    }

}