/* styles.css */
@font-face {
    font-family: 'Gill Sans SemiBold';
    src: url('fonts/Gill-Sans-SemiBold.ttf') format('truetype'),
        /* Ruta al archivo de la fuente */
        url('fonts/Gill-Sans-SemiBold.woff2') format('woff2'),
        url('fonts/Gill-Sans-SemiBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Gill Sans UltraBold';
    src: url('fonts/Gill-Sans-Ultra-Bold.ttf') format('truetype'),
        url('fonts/Gill-Sans-Ultra-Bold.woff2') format('woff2'),
        url('fonts/Gill-Sans-Ultra-Bold.woff') format('woff');
    /* Ruta al archivo de la fuente */
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Gill Sans Bold';
    src: url('fonts/Gill Sans Bold.ttf') format('truetype'),
        url('fonts/Gill Sans Bold.woff2') format('woff2'),
        url('fonts/Gill Sans Bold.woff') format('woff');
    /* Ruta al archivo de la fuente */
    font-weight: bold;
    font-style: normal;
}

a {
    text-decoration: none;
}

.app__no-scroll{
    overflow-y: hidden;
}

body {
    margin: 0;
    font-family: 'Gill Sans', sans-serif;
    background-color: #f4f4f4;
}

.hero {
    background-color: #FBBC1E;
    padding: 20px;
    text-align: center;
}

.hero .container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Logo */
.logo {
    width: 250px;
    margin: 20px auto;
}

/* Botones: diseño de escritorio */
.buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 20px;
}

.button {
    font-family: 'Gill Sans UltraBold', sans-serif;
    text-decoration: none;
    color: #FBBC1E;
    background-color: #000;
    padding: 4px 20px;
    border-radius: 20px;
    transition: background-color 0.3s ease;
    font-size: 20px;
}

.button:hover {
    background-color: #555;
}

/* Imagen y texto */
.hero-image {
    max-width: 100%;
    height: auto;
    margin: 20px 0;
}

.hero-text {
    font-family: 'Gill Sans SemiBold', sans-serif;
    font-size: 18px;
    color: #333;
    margin-top: 20px;
}

.menu-toggle {
    display: none;
}

/* Sección 2 Hero */
.hero-section-2 {
    background-color: #FBBC1E;
    /* Fondo color especificado */
    padding: 40px 20px;
    text-align: center;
}

.hero-section-2 .container {
    max-width: 1200px;
    margin: 0 auto;
}

.image-button {
    border: none;
    background: none;
    cursor: pointer;
    margin-bottom: 20px;
}

.image-button img {
    max-width: 300px;
    /* Ajusta según el tamaño deseado */
    height: auto;
    transition: transform 0.3s ease;
}

.image-button:hover img {
    transform: scale(1.1);
    /* Efecto al pasar el mouse */
}

.hero-title {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 55px;
    color: #000;
    margin: 20px 0;
    line-height: 1.2;
}

.hero-description {
    font-family: 'Gill Sans SemiBold', sans-serif;
    font-size: 24px;
    color: #000;
    margin: 20px auto;
    max-width: 800px;
    line-height: 1.5;
    text-align: center;
}

.center-image {
    max-width: 100%;
    height: auto;
    margin-top: 30px;
}

/* Sección 3 Hero */
.hero-section-3 {
    background-color: #F7931E;
    /* Fondo de la sección */
    padding: 40px 20px;
}

.hero-section-3 .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    /* Elementos apilados por defecto */
    gap: 30px;
}

/* Botón único alineado a la izquierda */
.hero-button {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 18px;
    text-decoration: none;
    color: #FBBC1E;
    background-color: #000;
    padding: 10px 30px;
    border-radius: 20px;
    display: inline-block;
    max-width: 300px;
    /* Alinea el botón a la izquierda */
    transition: background-color 0.3s ease;
}

.hero-button:hover {
    background-color: #555;
}

/* Filas de imágenes */
.image-row {
    display: flex;
    justify-content: center;
    gap: 20px;
    /* Espaciado entre imágenes */
    flex-wrap: wrap;
    /* Permite adaptación en móvil */
}

.image {
    max-width: calc(50% - 10px);
    /* Cada imagen ocupa el 50% en escritorio */
    text-align: center;
}

.image img {
    max-width: 100%;
    height: auto;
    display: block;
    /* Asegura que las imágenes respeten el espacio del contenedor */
    margin: 0 auto;
}

.image p {
    font-family: 'Gill Sans SemiBold', sans-serif;
    font-size: 16px;
    color: #333;
    margin-top: 10px;
    text-align: center;
}

/* Imágenes enlazadas */
.linked-images .image-link {
    display: block;
    flex: 1;
    transition: transform 0.3s ease;
    text-align: center;
}

.linked-images .image-link img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

.linked-images .image-link:hover {
    transform: scale(1.1);
    /* Efecto hover */
}

/* Sección 4 Hero */
.hero-section-4 {
    background-color: #F7931E;
    /* Fondo de la sección */
    padding: 40px 20px;
    text-align: center;
}

.hero-section-4 .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.hero-button:hover {
    background-color: #555;
}

/* Imagen */
.hero-image {
    max-width: 100%;
    height: auto;
    margin: 0 auto 20px auto;
}

/* Columnas con preguntas */
.columns {
    display: flex;
    gap: 20px;
    /* Espaciado entre columnas */
    justify-content: center;
    flex-wrap: wrap;
    /* Permite apilar en móvil */
    margin-bottom: 30px;
}

.column {
    flex: 1;
    min-width: 200px;
    /* Evita que las columnas sean demasiado estrechas */
    text-align: center;
    position: relative;
}

.hero-section-4 .column:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 2px;
    /* Grosor de la línea */
    height: 100%;
    /* Altura de la línea */
    background-color: #000;
    /* Color de la línea */
}

.question {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 18px;
    margin-bottom: 10px;
    color: #000;
}

/* Botón imagen al centro */
.image-button {
    border: none;
    background: none;
    cursor: pointer;
}

.image-button img {
    max-width: 100px;
    height: auto;
    transition: transform 0.3s ease;
}

.image-button:hover img {
    transform: scale(1.1);
    /* Efecto hover */
}

/* Sección 5 Hero */
.hero-section-5 {
    background-color: #FBBC1E;
    /* Fondo de la sección */
    padding: 40px 20px;
    text-align: center;
}

.hero-section-5 .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
}
/* Sección 7 Hero */
.hero-section-7 {
    background-color: #F7931E;
    /* Fondo de la sección */
    padding: 40px 20px;
    text-align: center;
}

.hero-section-7 .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

/* Filas */
.row {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    /* Alinea columnas horizontalmente */
    flex-wrap: wrap;
    /* Permite apilado en móvil */
    height: auto;
    /* Ajusta la altura para alineación */
}

/* Botón alineado a la parte inferior */
.button-wrapper {
    position: absolute;
    bottom: 0;
}

.hero-button {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 18px;
    text-decoration: none;
    color: #FBBC1E;
    background-color: #000;
    padding: 10px 30px;
    border-radius: 20px;
    transition: background-color 0.3s ease;
}

.hero-button:hover {
    background-color: #555;
}

/* Imagen en la segunda columna */
.side-image {
    max-width: 300px;
    height: auto;
    margin: 0 auto;
}

/* Imágenes con titulares */
.image-with-title {
    text-align: left;
    width: 60%;
    margin: 0 auto;
    margin-top: 50px;
}

.image-with-title .image {
    max-width: 100%;
    height: auto;
    margin-bottom: 10px;
}

.image-with-title .title {
    font-family: 'Gill Sans Bold', sans-serif;
    color: #000;
    margin: 0;
}

/* Botón imagen al centro */
.image-button {
    border: none;
    background: none;
    cursor: pointer;
    margin: 0 auto;
}

.image-button img {
    max-width: 100px;
    height: auto;
    transition: transform 0.3s ease;
}

.image-button:hover img {
    transform: scale(1.1);
    /* Efecto hover */
}

/* Sección 4 Hero */
.hero-section-4 {
    background-color: #F7931E;
    /* Fondo de la sección */
    padding: 40px 20px;
    text-align: center;
}

.hero-section-4 .container {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.hero-section-4 .hero-button {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 18px;
    text-decoration: none;
    color: #F7931E;
    background-color: #000;
    padding: 10px 30px;
    border-radius: 20px;
    display: inline-block;
}

.hero-image {
    max-width: 100%;
    height: auto;
}

.columns {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.column {
    flex: 1;
    text-align: center;
}

.question {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 18px;
    color: #000;
    cursor: pointer;
}

/* Fila oculta */
.hidden-row {
    max-height: 0;
    /* Oculta la fila inicial ajustando su altura */
    overflow: hidden;
    /* Oculta el contenido que excede la altura */
    display: flex;
    flex-wrap: wrap;
    /* Permite el ajuste automático en móvil */
    gap: 20px;
    justify-content: center;
    margin-top: 20px;
    text-align: center;
    transition: max-height 0.5s ease;
    /* Transición suave para el deslizamiento */
}

.hidden-row.show {
    max-height: 1000px;
    /* Altura suficiente para mostrar el contenido completo */
    overflow: visible;
    /* Permite mostrar todo el contenido */
}

.hidden-row .column {
    flex: 1 1 27%;
    /* Cada columna ocupa el 30% en escritorio */
    text-align: center;
    margin: 10px;
    padding-right: 24px;
}

.hidden-row img {
    max-width: 100%;
    height: auto;
}

.hidden-row .question {
    font-family: 'Gill Sans UltraBold', sans-serif;
    font-size: 16px;
    margin-top: 10px;
    color: #000;
    text-align: center;
}

/* Sección 6 Hero */
.hero-section-6 {
    background-color: #000 !important;
    position: relative;
    width: 100%;
    height: auto; /* Altura completa de la pantalla */
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Asegura que el texto quede al final */
}

/* Imagen a pantalla completa */
.full-screen-image {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* Envía la imagen al fondo */
}

.full-screen-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Asegura que la imagen cubra toda la pantalla */
}

/* Bloque de texto */
.text-block p{
    color: #FBBC1E; /* Texto en color especificado */

    padding: 20px;
    text-align: center;
    font-family: 'Gill Sans Bold', sans-serif;
    font-size: 18px;
    line-height: 1.6;
    z-index: 1; /* Asegura que esté encima de la imagen */
    text-align: left;
}

/* Footer Section */
.footer-section .container{
    max-width: 800px;
    margin: 0 auto;
}
.footer-section {
    background-color: #FBBC1E; /* Fondo negro */
    color: #000; /* Texto en color dorado */
    padding: 40px 20px;
    text-align: center;
    font-family: 'Gill Sans SemiBold', sans-serif;
}

.footer-text {
    font-size: 18px;
    margin-bottom: 20px;
    line-height: 1.5;
}

.footer-images {
    display: flex;
    justify-content: center;
    gap: 20px; /* Espaciado entre imágenes */
    flex-wrap: wrap; /* Permite apilar imágenes en pantallas pequeñas */
}

.footer-image {
    max-width: 330px; /* Ajusta según el tamaño necesario */
    height: auto;
}

.hero-section-4 h3{
    font-size: 22px;
}

.hero-section-5 h2{
    font-size: 22px;
}

/* Estilos móviles */
@media (max-width: 920px) {
    .hero-section-2 .hero-title{
        font-size: 30px;
    }
    .hero-section-5 h2{
        font-size: 20px;
    }
    .hero-section-4 h3{
        font-size: 18px;
    }
    .buttons {
        display: none;
        /* Oculta los botones en horizontal */
    }

    .top-bar {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .menu-toggle {
        display: block;
        font-size: 24px;
        background: none;
        border: none;
        color: #000;
        cursor: pointer;
    }

    .menu {
        position: fixed;
        top: 0;
        right: -100%;
        /* Inicialmente oculto */
        width: 250px;
        height: 100%;
        background-color: #000;
        color: white;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        transition: right 0.3s ease-in-out;
        z-index: 1000;
    }

    .menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 900;
        display: none;
        /* Oculto por defecto */
    }

    .menu-open .menu-overlay {
        display: block;
        /* Muestra el overlay cuando el menú está abierto */
    }

    .menu-item {
        font-family: 'Gill Sans UltraBold', sans-serif;
        text-decoration: none;
        color: #FBBC1E;
        margin: 15px 0;
        padding: 10px 20px;
        background-color: #333;
        border-radius: 20px;
        transition: background-color 0.3s;
    }

    .menu-item:hover {
        background-color: #555;
    }

    .image-row {
        flex-direction: column;
        /* Cambia a vertical */
        align-items: center;
    }

    .image {
        max-width: 80%;
        /* Ajusta el tamaño en móvil */
    }

    .linked-images .image-link {
        margin-bottom: 20px;
    }

    /* Columnas en vertical */
    .columns {
        flex-direction: column;
        align-items: center;
    }

    .column {
        max-width: 90%;
    }

    /* Elimina las líneas separadoras en móvil */
    .column:not(:last-child)::after {
        content: none;
    }

    .row {
        flex-direction: column;
        /* Apila columnas verticalmente */
        height: auto;
        /* Ajusta altura en móvil */
    }

    .column {
        flex: 1 1 100%;
        /* Cada columna ocupa el 100% del ancho */
        position: static;
        /* Elimina posición relativa en móvil */
    }

    .button-wrapper {
        position: static;
        /* Botón no se alinea al fondo en móvil */
        margin-bottom: 20px;
    }

    .hidden-row {
        flex-direction: column;
        /* Apila las columnas verticalmente en móvil */
    }

    .hidden-row .column {
        flex: 1 1 100%;
        /* Cada columna ocupa el 100% en móvil */
        margin: 0 0 20px 0;
    }

    /* Imágenes con titulares */
    .image-with-title {
        text-align: left;
        width: 90%;
        margin: 0 auto;
        margin-top: 50px;
    }
}