/* ===============================
        HERO RESTAURANTE
================================ */

.hero-restaurante {
    position: relative;

    min-height: 44rem;
    margin-top: 4.6rem;

    background-image: url("../img/restaurante/restaurante3.jpeg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* CAPA OSCURA */

.hero-restaurante-capa {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;

    background-color: rgba(0, 0, 0, 0.45);
}

/* CONTENEDOR */

.hero-restaurante-contenedor {
    display: flex;
    align-items: center;

    width: 90%;
    min-height: 44rem;
}

/* INFORMACIÓN */

.hero-restaurante-informacion {
    width: 100%;
    max-width: 32rem;

    margin-left: 1.5rem;
}

/* TÍTULO */

.hero-restaurante-titulo {
    margin: 0 0 1.2rem;

    color: var(--blanco);

    font-family: var(--fuente-titulos);
    font-size: var(--titulo-hero);
    font-weight: var(--peso-negrita);
    line-height: 0.95;
}

/* TEXTO */

.hero-restaurante-texto {
    max-width: 30rem;
    margin: 0 0 1.8rem;

    color: var(--blanco);

    font-family: var(--fuente-textos);
    font-size: var(--texto-hero);
    font-weight: var(--peso-normal);
    line-height: 1.35;
}

/* BOTÓN */

.boton-hero-restaurante {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 10rem;
    padding: 0.8rem 1.8rem;

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

    border-radius: var(--radio-boton);

    font-family: var(--fuente-textos);
    font-size: 1rem;
    font-weight: var(--peso-medio);

    transition: var(--transicion-suave);
}

.boton-hero-restaurante:hover {
    filter: brightness(0.9);
    transform: translateY(-0.15rem);
}


/* ===============================
        RESPONSIVE HERO
================================ */

/* TABLET GRANDE */

@media (max-width: 992px) {

    .hero-restaurante-titulo {
        font-size: var(--titulo-hero-tablet);
    }

    .hero-restaurante-texto {
        font-size: var(--texto-hero-tablet);
    }

}


/* TABLET Y MÓVIL */

@media (max-width: 768px) {

    .hero-restaurante,
    .hero-restaurante-contenedor {
        min-height: 36rem;
    }

    .hero-restaurante {
        background-position: 60% center;
    }

    .hero-restaurante-informacion {
        max-width: 29rem;
        margin-left: 0;
    }

}


/* MÓVIL PEQUEÑO */

@media (max-width: 480px) {

    .hero-restaurante,
    .hero-restaurante-contenedor {
        min-height: 32rem;
    }

    .hero-restaurante {
        background-position: 58% center;
    }

    .hero-restaurante-informacion {
        max-width: 20rem;
    }

    .hero-restaurante-titulo {
        font-size: var(--titulo-hero-movil);
    }

    .hero-restaurante-texto {
        font-size: var(--texto-hero-movil);
    }

}

/* ===============================
        TRADICIÓN
================================ */

.seccion-tradicion {
    padding: 7rem 0;
}

.tradicion-contenido {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

.tradicion-texto h2 {
    color: var(--naranja-principal);
    font-size: var(--titulo-seccion);
    line-height: 1.1;
    margin-bottom: 1.5rem;
}

.tradicion-texto p {
    margin-bottom: 1rem;
    font-size: var(--texto-seccion);
}

/* BOTÓN */

.boton-tradicion {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    margin-top: 1rem;

    padding: 0.85rem 2.2rem;

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

    border-radius: var(--radio-boton);

    font-family: var(--fuente-textos);
    font-size: 1rem;
    font-weight: var(--peso-medio);

    transition: var(--transicion-suave);
}

.boton-tradicion:hover {
    filter: brightness(0.9);
    transform: translateY(-0.15rem);
}

.tradicion-imagenes {
    position: relative;
    min-height: 28rem;
}

.imagen-tradicion {
    width: 18rem;
    border-radius: var(--radio-imagen);
}

.imagen-superior {
    position: absolute;
    top: 0;
    left: 2rem;
}

.imagen-inferior {
    position: absolute;
    right: 0;
    bottom: 0;
}


/* ===============================
        ESPECIALIDADES
================================ */

.seccion-especialidades {
    padding: 6rem 0;
    background-color: var(--amarillo-principal);
    color: var(--blanco);
    text-align: center;
}

.especialidades-contenido h2 {
    font-size: var(--titulo-seccion);
}

.especialidades-contenido > p {
    max-width: 42rem;
    margin: 1rem auto 4rem;
}

.especialidades-tarjetas {
    display: flex;
    justify-content: center;
    gap: 8rem;
}

.tarjeta-especialidad {
    position: relative;
    width: 18rem;
    height: 18rem;
    border-radius: 50%;
    overflow: hidden;
}

.tarjeta-especialidad img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tarjeta-especialidad::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.35);
}

.tarjeta-especialidad h3 {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    padding: 2rem;
    font-size: 1.8rem;
    color: var(--blanco);
}


/* ===============================
        MENÚS
================================ */

.seccion-menus {
    padding: 7rem 0;
}

.menus-contenido {
    display: grid;
    gap: 6rem;
}

.menu-bloque {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

.menu-texto h2 {
    color: var(--naranja-principal);
    font-size: var(--titulo-seccion);
    line-height: 1;
    border-bottom: 0.12rem solid var(--naranja-principal);
    display: inline-block;
    margin-bottom: 0.5rem;
}

.menu-texto h3 {
    color: var(--naranja-principal);
    font-size: 1.2rem;
    margin-bottom: 1rem;
}

.menu-texto p {
    margin-bottom: 2rem;
    font-size: var(--texto-seccion);
}

.menu-imagen {
    width: 100%;
    height: 20rem;
    object-fit: cover;
    border-radius: var(--radio-imagen);
}

.boton-secundario {
    background-color: var(--naranja-principal);
}


/* ===============================
        GALERÍA
================================ */

.seccion-galeria {
    padding: 4rem 0;
    background-color: var(--amarillo-principal);
}

.galeria-contenido {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6rem;
    align-items: center;
}

.galeria-contenido img {
    width: 100%;
    height: 22rem;
    object-fit: cover;
    border-radius: var(--radio-imagen);
}


/* ===============================
        TESTIMONIOS
================================ */

.seccion-testimonios {
    padding: 6rem 0;
}

/* ENCABEZADO */

.testimonios-encabezado {
    text-align: center;

    max-width: 50rem;

    margin: 0 auto 4rem auto;
}

.testimonios-titulo {
    color: var(--naranja-principal);

    font-size: var(--titulo-seccion);

    line-height: 1.2;

    margin-bottom: 1.5rem;
}

.linea-testimonios {
    width: 20rem;
    height: 0.15rem;

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

    margin: 0 auto 2rem auto;
}

.testimonios-texto {
    font-size: var(--texto-seccion);

    max-width: 42rem;

    margin: 0 auto;
}

/* CARRUSEL */

.contenedor-carrusel {
    overflow: hidden;

    width: 100%;
}

.carrusel-testimonios {
    display: flex;

    gap: 2rem;

    width: max-content;

    animation: mover-testimonios 40s linear infinite;
}

/*
.carrusel-testimonios:hover {
    animation-play-state: paused;
}
*/

/* TARJETA */

.tarjeta-testimonio {
    width: 22rem;
    min-height: 18rem;

    background-color: transparent;

    border: 0.1rem solid var(--naranja-principal);

    border-radius: var(--radio-tarjeta);

    padding: 1.5rem;

    flex-shrink: 0;

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

/* COMILLAS */

.comillas-testimonio {
    display: flex;
    justify-content: center;

    margin-bottom: 1.5rem;
}

.imagen-comillas {
    width: 3rem;
    height: auto;

    display: block;
}

/* TEXTO */

.texto-testimonio {
    text-align: center;
    font-size: 0.85rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}

/* AUTOR */

.autor-testimonio {
    display: flex;

    align-items: center;

    gap: 1rem;
}

.icono-usuario {
    width: 3rem;
    height: 3rem;

    object-fit: contain;
}

.nombre-autor {
    color: var(--naranja-principal);

    font-weight: var(--peso-negrita);

    font-family: var(--fuente-titulos);
}

/* ANIMACIÓN */

@keyframes mover-testimonios {

    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-50% - 1rem));
    }

}

/* ===============================
        VISÍTENOS
================================ */

.seccion-visitanos {
    padding: 4rem 0 7rem;
}

.visitanos-contenido {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    align-items: center;
}

.visitanos-texto h2 {
    color: var(--naranja-principal);
    font-size: var(--titulo-seccion);
    border-bottom: 0.12rem solid var(--naranja-principal);
    display: inline-block;
    margin-bottom: 1.5rem;
}

.visitanos-texto p {
    font-size: var(--texto-seccion);
}

/* MAPA */
.visitanos-mapa {
    width: 100%;
    min-height: 22rem;
    border-radius: var(--radio-imagen);
    overflow: hidden;
    position: relative;
    background-color: var(--blanco);
}

#mapa-restaurante {
    width: 100%;
    height: 22rem;
    min-height: 22rem;
    border-radius: var(--radio-imagen);
    z-index: 1;
}

.leaflet-container {
    width: 100%;
    height: 100%;
    font-family: var(--fuente-textos);
}

/* ===============================
        RESPONSIVE
================================ */

/* ===============================
        TABLET GRANDE
================================ */

@media (max-width: 992px) {

    .tradicion-contenido {
        grid-template-columns: 1fr 1fr;
        align-items: center;
        gap: 3.5rem;
    }

    .tradicion-imagenes {
        position: relative;

        width: 100%;
        min-height: 26rem;
    }

    .imagen-tradicion {
        position: absolute;

        width: 12.5rem;
        height: 16.5rem;

        object-fit: cover;
        border-radius: var(--radio-imagen);
    }

    /* Imagen de atrás */
    .imagen-superior {
        top: 0;
        left: 0;
    }

    /* Imagen de enfrente */
    .imagen-inferior {
        right: -1rem;
        bottom: -1rem;
    }

}
/* TABLET Y MÓVIL */
@media (max-width: 768px) {

    .hero-restaurante {
        min-height: 34rem;
    }

    .hero-titulo {
        font-size: 3rem;
    }

    .hero-texto {
        font-size: 1.2rem;
    }

    .tradicion-contenido,
    .menu-bloque,
    .visitanos-contenido {
        grid-template-columns: 1fr;
    }

    .menu-bloque-invertido .menu-imagen {
        order: 2;
    }

    .menu-bloque-invertido .menu-texto {
        order: 1;
    }

    .tradicion-imagenes {
    min-height: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
}

    .imagen-tradicion,
    .imagen-superior,
    .imagen-inferior {
        position: static;
        width: 100%;
    }

    .especialidades-tarjetas,
    .comentarios-lista,
    .galeria-contenido {
        grid-template-columns: 1fr;
        display: grid;
    }

    .tarjeta-especialidad {
        margin: 0 auto;
    }

}

/* MÓVIL PEQUEÑO */
@media (max-width: 480px) {

    .hero-titulo,
    .tradicion-texto h2,
    .especialidades-contenido h2,
    .menu-texto h2,
    .comentarios-contenido h2,
    .visitanos-texto h2 {
        font-size: 2.3rem;
    }

    .seccion-tradicion,
    .seccion-menus,
    .seccion-comentarios {
        padding: 4rem 0;
    }

    .tradicion-imagenes {
        grid-template-columns: 1fr;
    }

    .tarjeta-especialidad {
        width: 15rem;
        height: 15rem;
    }

    .galeria-contenido img,
    .menu-imagen {
        height: 17rem;
    }

}