@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    text-decoration: none;
    font-family: 'Inter', sans-serif;
}

:root {
    --blanco-fondo: #FFFFFF;
    --gris-texto: #828282;
    --gris-acordeon: #e9e9e9;
    --azul-corporativo: #242a46;
    --azul-i360: #1ca8c1;
}

header,
section {
    margin-left: 4rem;
    margin-right: 4rem;
}

/* Aplico estilos para la bienvenida */
#welcome {
    margin-top: 2rem;
}

#welcome h2 {
    color: var(--azul-corporativo);
    font-size: 3.125rem;
}

#welcome p {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;

    color: var(--gris-texto);
    font-size: 1.5rem;
}

#welcome img {
    width: 100%;
}

/* Aplico estilos para las dudas */

.acordeon {
    width: 100%;
}

.acordeon h2 {
    color: var(--azul-corporativo);
    text-align: center;
    padding: 1.25rem;
    margin-top: 2.5rem;
    font-size: 3rem;
}

.acordeon p {
    color: var(--gris-texto);
    text-align: center;
    font-size: 1.5rem;
}

.acordeon .bloque {
    border-radius: 0.625rem;
    margin-bottom: 1.25rem;
}

.acordeon .bloque h2 {
    background-color: var(--azul-corporativo);
    color: var(--blanco-fondo);
    border-radius: 0.625rem;
    font-size: 1.75rem;
}

.acordeon .contenido {
    display: none;
    opacity: 0;
    transition: opacity 0.3s;
    color: var(--azul-corporativo);
    text-align: center;
    background-color: var(--gris-acordeon);
    padding: 1.25rem;
    border-end-end-radius: 0.625rem;
    border-end-start-radius: 0.625rem;
    font-size: 1.5;
}

.bloque.activo h2 {
    border-radius: 0;
    border-top-left-radius: 0.625rem;
    border-top-right-radius: 0.625rem;
}

.activo .contenido {
    display: block;
    opacity: 1;
    
    @starting-style {
        opacity: 0;
    }
}

#form h2 {
    font-size: 3rem;
    text-align: center;
    margin-top: 2.5rem;
    padding: 1.25rem;
}

#form p {
    color: var(--gris-texto);
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 2.5rem;
}

form {
    display: flex;
    justify-content: center;
    flex-direction: column;

    margin: 0 auto;

    max-width: 620px;
}

form h4 {
    font-size: 1.5rem;
    margin-bottom: 0.625rem;
}

form input {
    background-color: var(--gris-acordeon);
    color: var(--azul-corporativo);
    padding: 0.625rem;
    font-size: 1.5rem;

    border-radius: 0.625rem;
    border: none;

    margin-bottom: 1.25rem;
}

form input:focus,
form textarea:focus,
form input:hover,
form textarea:hover {
    outline: none;
    border: 0.125rem solid var(--azul-i360);
    color: var(--azul-i360);
}

form textarea {
    background-color: var(--gris-acordeon);
    color: var(--azul-corporativo);
    padding: 0.625rem;
    font-size: 1.5rem;

    resize: none;

    border-radius: 0.625rem;
    border: none;

    margin-bottom: 1.25rem;
}

.btn-contacto {
    background-color: var(--azul-corporativo);
    color: var(--blanco-fondo);
    font-size: 1.5rem;
}

.btn-contacto:hover {
    background-color: var(--azul-i360);
}

/* Creo las clases para la animación de aparecer */
.hidden {
    opacity: 0;
    transform: translateY(2.5rem);
}

.show {
    animation: fade 2s ease-in-out forwards;
}

@keyframes fade {
    0%   { 
        opacity: 0; 
        transform: translateY(2.5rem); /* Empezamos abajo */
    }
    100% { 
        opacity: 1; 
        transform: translateY(0);    /* Terminamos en su posición original */
    }
}