section{
    width: 100%;
    height: 100vh;

    background-color: var(--color-fondo);

    display: flex;
    align-items: center;
    justify-content: center;
}

.contenido-contacto{
    width: 75%;
    height: 75%;

    display: flex;
    flex-direction: column;

    justify-content: space-around;
}

.parte-arriba{
    display: flex;
    flex-direction: column;

    gap: 1vh;
}

.etiqueta-texto{
    font-size: 1.5vh;

    text-transform: uppercase;
    letter-spacing: 0.5vh;
    color: var(--color-principal);
}

.titulo{
    color: white;
    font-size: 5vh;
    font-weight: bold;
}

.texto-difuminado{
    text-align: justify;
    color: var(--color-gris-propio);
}

.parte-abajo{
    width: 100%;
    height: 70%;

    display: flex;
    align-items: center;
    justify-content: space-between;

}

.caja-abajo{
    border: 1px solid var(--color-gris-apagado);
    border-radius: 0.5vh;
    background-color: var(--color-oscuro);

    display: flex;
    align-items: center;
    justify-content: center;
}

.caja-canales-contacto{
    width: 35%;
    height: 100%;
}

.contenido-canales-contacto{
    width: 90%;
    height: 90%;

    display: flex;
    flex-direction: column;
    align-items: start;
    justify-content: space-between;
}

.parte-arriba-contacto{
    color: white;

    display: flex;
    flex-direction: column;

    gap: 2vh;
}

.caja-correo{
    display: flex;
    align-items: center;

    gap: 1vh;
}

.linia-separacion{
    width: 100%;
}

.parte-abajo-contacto{
    width: 100%;

    display: flex;
    flex-direction: column;

    gap: 2vh;
}

.boton-social{
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    text-decoration: none;
    color: white;

    padding: 1vh 0vh;

    border: 1px solid var(--color-principal);

    border-radius: 0.5vh;

    transition: 0.2s;
}

.boton-social:hover{
    transition: 0.2s;

    transform: scale(105%);
    box-shadow: 0 0 15px var(--color-principal);
}

.boton-social ul li{
    list-style: none;
}

.caja-formulario{
    width: 60%;
    height: 100%;

    color: white;
}

form{
    width: 90%;
    height: 90%;
    
    display: flex;
    flex-direction: column;
    justify-content: space-between;

}

.grupo-horizontal{
    width: 100%;

    display: flex;
    gap: 2vh;
}

.grupo-vertical{
    width: 100%;

    gap: 1vh;

    display: flex;
    flex-direction: column;
}

.grupo-vertical label{
    text-transform: uppercase;
    letter-spacing: 0.2vh;
}

.indicador-obligado{
    color: red;
}

.grupo-vertical input{
    padding: 0.5vh 1vh;
    height: 2.5vh;

    color: white;

    border: 1px solid var(--color-gris-apagado);

    border-radius: 0.5vh;

    background-color: var(--color-oscuro);

    transition: 0.2s;
}

.grupo-vertical input:focus{
    transition: 0.2s;

    outline: none;

    box-shadow: 0 0 0 3px var(--color-principal);
}

.grupo-vertical textarea{
    padding: 1vh;
    height: 15vh;
    resize: none;

    color: white;

    border: 1px solid var(--color-gris-apagado);

    border-radius: 0.5vh;

    background-color: var(--color-oscuro);

    scrollbar-color: var(--color-principal);

    transition: 0.2s;
}

.grupo-vertical textarea:focus{
    transition: 0.2s;

    outline: none;

    box-shadow: 0 0 0 3px var(--color-principal);
}

::placeholder{
    color: var(--color-gris-propio);
}

form button{
    cursor: pointer;
    height: 4vh;

    background-color: var(--color-principal);

    border-radius: 0.5vh;
    border: none;

    transition: 0.2s;
}

form button:hover{
    transition: 0.2s;

    box-shadow: 0 0 10px var(--color-principal);
}

/* ============================================= */
/* RESPONSIVE - TABLET Y MÓVIL                    */
/* ============================================= */
 
/* Tablet */
@media (max-width: 1024px){
    section{
        height: auto;
        min-height: 100vh;
        padding: 12vh 0 6vh 0;
    }
 
    .contenido-contacto{
        width: 88%;
        height: auto;
        gap: 5vh;
    }
 
    .titulo{
        font-size: 4vh;
    }
 
    .parte-abajo{
        flex-direction: column;
        height: auto;
        gap: 3vh;
    }
 
    .caja-canales-contacto,
    .caja-formulario{
        width: 100%;
    }
 
    .caja-canales-contacto{
        height: auto;
        padding: 4vh 0;
    }
 
    .contenido-canales-contacto{
        gap: 3vh;
    }
 
    .caja-formulario{
        height: auto;
        padding: 4vh 0;
    }
 
    form{
        width: 88%;
        height: auto;
        gap: 3vh;
    }
 
    .grupo-horizontal{
        flex-direction: column;
        gap: 2vh;
    }
 
    .grupo-vertical input{
        height: 4vh;
    }
}
 
/* Móvil */
@media (max-width: 600px){
    .titulo{
        font-size: 3.2vh;
    }
 
    .grupo-vertical input{
        height: 4.5vh;
    }
 
    .grupo-vertical textarea{
        height: 18vh;
    }
 
    form button{
        height: 5vh;
    }
}