/* =========================
   SECCION FORMULARIO
========================= */

.container-formulario{

    width: 100%;

    padding: 100px 5%;

    background: #f3f3f3;
}

/* =========================
   TITULO SUPERIOR
========================= */

.titulo-formulario{

    width: 100%;

    text-align: center;

    margin-bottom: 70px;
}

.titulo-formulario h2{

    font-size: 3.5rem;

    font-weight: 500;

    color: #111;

    margin-bottom: 20px;

    letter-spacing: 1px;
}

.titulo-formulario p{

    max-width: 700px;

    margin: auto;

    font-size: 1rem;

    line-height: 1.9;

    color: #666;
}

/* =========================
   GRID PRINCIPAL
========================= */

.grid-contacto{

    width: 100%;

    display: grid;

    grid-template-columns: 0.8fr 1.2fr;

    background: #ffffff;

    border-radius: 40px;

    overflow: hidden;
}

/* =========================
   IMAGEN
========================= */

.container-img{

    width: 100%;

    height: 100%;

    min-height: 100%;

    overflow: hidden;

    display: flex;
}

.container-img img{

    width: 100%;

    height: 100%;

    object-fit: cover;

    flex: 1;

    display: block;
}

/* =========================
   CONTENIDO FORMULARIO
========================= */

.contenido-formulario{

    width: 100%;

    padding: 55px 50px;

    display: flex;

    align-items: center;

    justify-content: center;

    background: #ffffff;
}

/* =========================
   FORMULARIO
========================= */

.contenido-formulario form{

    width: 100%;

    display: grid;

    grid-template-columns: repeat(2, 1fr);

    gap: 25px;
}

/* =========================
   LOGO FORMULARIO
========================= */

.logo-formulario{

    grid-column: span 2;

    text-align: center;

    margin-bottom: 10px;
}

.logo-formulario h3{

    font-size: 2.5rem;

    font-weight: 700;

    letter-spacing: 3px;

    color: #111;
}

/* =========================
   INPUT GROUP
========================= */

.input-group{

    display: flex;

    flex-direction: column;
}

/* LABEL */

.input-group label{

    font-size: 1rem;

    font-weight: 600;

    margin-bottom: 12px;

    color: #111;
}

/* INPUTS Y SELECT */

.input-group input,
.input-group select{

    width: 100%;

    height: 65px;

    border-radius: 18px;

    border: 1px solid #d9d9d9;

    background: #f8f8f8;

    padding: 0 18px;

    font-size: 0.95rem;

    outline: none;

    transition: 0.3s ease;
}

/* FOCUS */

.input-group input:focus,
.input-group select:focus{

    border: 1px solid #000;

    background: #fff;
}

/* PLACEHOLDER */

.input-group input::placeholder{

    color: #9a9a9a;
}

/* =========================
   BOTON MINIMALISTA
========================= */

button{

    grid-column: span 2;

    width: 260px;

    height: 55px;

    border: none;

    border-radius: 50px;

    background: #000;

    color: #fff;

    font-size: 0.95rem;

    font-weight: 500;

    letter-spacing: 0.5px;

    cursor: pointer;

    margin-top: 10px;

    transition:
    background 0.3s ease,
    transform 0.3s ease;

    justify-self: start;
}

/* HOVER BOTON */

button:hover{

    background: #1d1d1d;

    transform: translateY(-2px);
}

/* =========================
   TABLET
========================= */

@media(max-width: 1100px){

    .grid-contacto{

        grid-template-columns: 1fr;
    }

    .container-img{

        height: 350px;
    }
}

/* =========================
   MOBILE
========================= */

@media(max-width: 768px){

    .container-formulario{

        padding: 70px 5%;
    }

    .titulo-formulario{

        margin-bottom: 45px;
    }

    .titulo-formulario h2{

        font-size: 2.3rem;
    }

    .titulo-formulario p{

        font-size: 0.95rem;
    }

    .contenido-formulario{

        padding: 45px 25px;
    }

    .contenido-formulario form{

        grid-template-columns: 1fr;
    }

    .logo-formulario{

        grid-column: span 1;
    }

    button{

        grid-column: span 1;

        width: 100%;
    }

    .container-img{

        height: 280px;
    }
}

/* =========================
   MOBILE PEQUEÑO
========================= */

@media(max-width: 480px){

    .titulo-formulario h2{

        font-size: 1.9rem;
    }

    .titulo-formulario p{

        line-height: 1.7;
    }

    .contenido-formulario{

        padding: 35px 18px;
    }

    .logo-formulario h3{

        font-size: 2rem;
    }

    .input-group input,
    .input-group select{

        height: 60px;
    }

    button{

        height: 55px;
    }
}