.elementor-kit-6{--e-global-color-primary:#0C5444;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-1846fd1:#063F35;--e-global-color-a68c85a:#F5EED8;--e-global-color-2451d7f:#F5E8CF;--e-global-color-adf1f23:#682C01;--e-global-color-86c5a0a:#D9C9A8;--e-global-color-c16c6b7:#FFF8E8;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-6e6237e-font-family:"recoletta";--e-global-typography-6e6237e-font-weight:700;--e-global-typography-6e6237e-font-style:normal;--e-global-typography-d61d4a7-font-family:"Backw";--e-global-typography-d61d4a7-font-weight:normal;--e-global-typography-d61d4a7-font-style:normal;--e-global-typography-802373c-font-family:"Roboto";--e-global-typography-802373c-font-weight:400;--e-global-typography-802373c-font-style:normal;--e-global-typography-788b0fd-font-family:"Roboto";--e-global-typography-788b0fd-font-weight:700;--e-global-typography-788b0fd-font-style:normal;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:#0C5444;font-size:18px;}.elementor-kit-6 a:hover{color:#000000;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS */#nuestras-pizzas,
#nuestra-carta,
#menus-ofertas,
#contacto {
    scroll-margin-top: 125px;
}
/* ==========================================================
   PIZZERÍA LA EUROPEA
   CSS RESPONSIVE FINAL
   ========================================================== */


/* ==========================================================
   GENERAL
   ========================================================== */

html {
    scroll-behavior: smooth;
}

html,
body {
    overflow-x: hidden;
}

#nuestras-pizzas,
#nuestra-carta,
#menus-ofertas,
#historia,
#galeria,
#contacto {
    scroll-margin-top: 125px;
}


/* ==========================================================
   TARJETAS "NUESTRA CARTA" - BASE
   ========================================================== */

.carta-categoria .elementor-icon-box-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-height: 230px;
    text-align: center;
}

.carta-categoria .elementor-icon-box-icon {
    margin-bottom: 12px;
}

.carta-categoria .elementor-icon-box-title {
    min-height: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 10px;
    text-align: center;
}

.carta-categoria .elementor-icon-box-description {
    min-height: 46px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    text-align: center;
}


/* ==========================================================
   PRECIOS PIZZAS - ESCRITORIO
   ========================================================== */

.precio-mediana,
.precio-familiar {
    display: inline;
}

.precio-mediana::after {
    content: " · ";
}


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

@media (min-width: 768px) and (max-width: 1024px) {

    #nuestras-pizzas,
    #nuestra-carta,
    #menus-ofertas,
    #historia,
    #galeria,
    #contacto {
        scroll-margin-top: 110px;
    }


    /* ---------------- CABECERA ---------------- */

    .elementor-menu-toggle {
        position: relative;
        z-index: 9999;
    }

    .elementor-nav-menu--dropdown {
        z-index: 9998 !important;
    }


    /* ---------------- HERO ---------------- */

    .hero-la-europea {
        min-height: auto !important;
    }

    .hero-la-europea .hero-contenido {
        width: 52% !important;
        max-width: 52% !important;
    }

    .hero-la-europea .hero-titulo .elementor-heading-title {
        font-size: 48px !important;
        line-height: 1.05 !important;
    }

    .hero-la-europea .hero-texto,
    .hero-la-europea .hero-texto p {
        font-size: 17px !important;
        line-height: 1.5 !important;
    }


    /* ---------------- FRANJA CONFIANZA ---------------- */

    .franja-confianza .elementor-column {
        width: 33.333% !important;
    }

    .franja-confianza .elementor-icon-box-title {
        font-size: 20px !important;
        line-height: 1.15 !important;
    }

    .franja-confianza .elementor-icon-box-description {
        font-size: 14px !important;
    }


    /* ---------------- TÍTULOS ---------------- */

    .cabecera-pizzas .elementor-heading-title,
    .carta-titulo .elementor-heading-title {
        font-size: 46px !important;
        line-height: 1.08 !important;
    }


    /* ---------------- PIZZAS ---------------- */

    .pizzas-destacadas-fila {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .pizzas-destacadas-fila > .elementor-column {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .pizza-destacada {
        height: 100%;
    }

    .pizza-destacada-imagen img {
        width: 100% !important;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }


    /* ---------------- NUESTRA CARTA ---------------- */

    .carta-categorias-fila {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .carta-categorias-fila > .elementor-column {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }

    .carta-categoria .elementor-icon-box-wrapper {
        min-height: 220px;
        padding: 24px 15px;
    }


    /* ---------------- OFERTAS ---------------- */

    .seccion-ofertas .elementor-container,
    .seccion-ofertas .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .seccion-ofertas .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ofertas-contenido {
        order: 1;
        width: 100% !important;
        padding: 45px 50px 30px !important;
        text-align: center;
    }

    .ofertas-imagen {
        order: 2;
        width: 100% !important;
        padding: 0 50px 45px !important;
    }

    .ofertas-imagen img {
        width: 100% !important;
        max-height: 430px;
        object-fit: cover;
    }

    .ofertas-titulo .elementor-heading-title {
        font-size: 40px !important;
        line-height: 1.1 !important;
    }


    /* ---------------- HISTORIA ---------------- */

    .seccion-historia .elementor-container,
    .seccion-historia .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .seccion-historia .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .historia-imagen {
        order: 1;
        padding: 45px 60px 20px !important;
    }

    .historia-imagen img {
        width: 100% !important;
        max-height: 430px;
        object-fit: cover;
    }

    .historia-titulo .elementor-heading-title {
        font-size: 38px !important;
        line-height: 1.12 !important;
    }

    .historia-texto {
        font-size: 16px !important;
        line-height: 1.6 !important;
    }


    /* ---------------- INSTAGRAM ---------------- */

    .seccion-instagram,
    .instagram-grid {
        height: auto !important;
        min-height: 0 !important;
    }


    /* ---------------- CONTACTO ---------------- */

    .seccion-contacto .elementor-container,
    .seccion-contacto .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .seccion-contacto .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .seccion-contacto .elementor-column:first-child {
        padding: 45px 60px 20px !important;
    }

    .seccion-contacto .elementor-column:last-child {
        padding: 15px 60px 45px !important;
    }

    .contacto-mapa iframe {
        width: 100% !important;
        height: 400px !important;
    }


    /* ---------------- FOOTER ---------------- */

    .footer-la-europea > .elementor-container,
    .footer-la-europea > .elementor-container > .elementor-row {
        display: flex !important;
        flex-wrap: wrap !important;
    }

    .footer-contacto,
    .footer-informacion {
        width: 50% !important;
        flex: 0 0 50% !important;
    }

    .footer-social {
        width: 100% !important;
        flex: 0 0 100% !important;
        margin-top: 20px;
    }
}


/* ==========================================================
   MÓVIL
   ========================================================== */

@media (max-width: 767px) {

    #nuestras-pizzas,
    #nuestra-carta,
    #menus-ofertas,
    #historia,
    #galeria,
    #contacto {
        scroll-margin-top: 90px;
    }


    /* ======================================================
       CABECERA Y MENÚ
       ====================================================== */

    .elementor-menu-toggle {
        position: relative;
        z-index: 10001;
    }

    .elementor-nav-menu--dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;

        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;

        height: 100vh !important;
        max-height: 100vh !important;

        margin: 0 !important;

        background: #F5EED8 !important;

        overflow-y: auto !important;

        z-index: 10000 !important;

        padding-top: 115px !important;
    }

    .elementor-nav-menu--dropdown .elementor-nav-menu {
        width: 100% !important;
    }

    .elementor-nav-menu--dropdown a {
        width: 100% !important;
        text-align: center !important;
        padding: 17px 20px !important;
        font-size: 15px !important;
    }


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

    .hero-la-europea {
        min-height: auto !important;
    }

    .hero-la-europea .elementor-container,
    .hero-la-europea .elementor-row {
        display: block !important;
    }

    .hero-la-europea .hero-contenido {
        width: 100% !important;
        max-width: 100% !important;
        padding: 35px 25px !important;
    }

    .hero-la-europea .hero-titulo .elementor-heading-title {
        font-size: 38px !important;
        line-height: 1.05 !important;
    }

    .hero-la-europea .hero-texto,
    .hero-la-europea .hero-texto p {
        font-size: 16px !important;
        line-height: 1.5 !important;
    }


    /* ======================================================
       FRANJA CONFIANZA
       ====================================================== */

    .franja-confianza .elementor-container,
    .franja-confianza .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .franja-confianza .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .franja-confianza .elementor-icon-box-wrapper {
        padding: 20px 15px;
    }


    /* ======================================================
       TÍTULOS
       ====================================================== */

    .cabecera-pizzas .elementor-heading-title,
    .carta-titulo .elementor-heading-title,
    .contacto-titulo .elementor-heading-title {
        font-size: 34px !important;
        line-height: 1.08 !important;
    }


    /* ======================================================
       PIZZAS
       SOLO 3 EN MÓVIL
       ====================================================== */

    .pizzas-movil-ocultar {
        display: none !important;
    }

    .pizzas-destacadas-fila {
        display: flex !important;
        flex-direction: column !important;
    }

    .pizzas-destacadas-fila > .elementor-column {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .pizza-destacada {
        margin-bottom: 20px;
    }

    .pizza-destacada-imagen img {
        width: 100% !important;
        aspect-ratio: 4 / 3;
        object-fit: cover;
    }

    .pizza-destacada-titulo .elementor-heading-title {
        font-size: 26px !important;
    }

    .pizza-destacada-ingredientes {
        font-size: 15px !important;
        line-height: 1.45 !important;
    }


    /* Precio móvil:
       Mediana arriba
       Familiar debajo
    */

    .precio-mediana,
    .precio-familiar {
        display: block !important;
    }

    .precio-mediana::after {
        content: "" !important;
    }

    .precio-mediana,
    .precio-familiar {
        line-height: 1.22 !important;
    }


    /* ======================================================
       NUESTRA CARTA
       ====================================================== */

    .carta-categorias-fila {
        display: flex !important;
        flex-direction: column !important;
    }

    .carta-categorias-fila > .elementor-column {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }

    .carta-categoria {
        margin-bottom: 12px;
    }

    .carta-categoria .elementor-icon-box-wrapper {
        min-height: 0 !important;
        padding: 25px 18px !important;
    }

    .carta-categoria .elementor-icon-box-title,
    .carta-categoria .elementor-icon-box-description {
        min-height: 0 !important;
    }


    /* ======================================================
       MENÚS Y OFERTAS
       ====================================================== */

    .seccion-ofertas .elementor-container,
    .seccion-ofertas .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .seccion-ofertas .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .ofertas-contenido {
        order: 1;
        width: 100% !important;
        padding: 35px 25px 25px !important;
        text-align: center;
    }

    .ofertas-imagen {
        order: 2;
        width: 100% !important;
        padding: 0 20px 35px !important;
    }

    .ofertas-titulo .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.1 !important;
    }

    .ofertas-imagen img {
        width: 100% !important;
        height: auto !important;
        max-height: 350px;
        object-fit: cover;
    }


    /* ======================================================
       HISTORIA
       ====================================================== */

    .seccion-historia .elementor-container,
    .seccion-historia .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .seccion-historia .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .historia-imagen {
        order: 1;
        padding: 35px 20px 20px !important;
    }

    .historia-imagen img {
        width: 100% !important;
        height: auto !important;
        max-height: 350px;
        object-fit: cover;
    }

    .historia-titulo .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.1 !important;
    }

    .historia-texto {
        font-size: 16px !important;
        line-height: 1.55 !important;
    }


    /* ======================================================
       INSTAGRAM
       SOLO 3 PUBLICACIONES
       ====================================================== */

    .instagram-movil-ocultar {
        display: none !important;
    }

    .seccion-instagram,
    .instagram-grid {
        height: auto !important;
        min-height: 0 !important;
    }

    .seccion-instagram {
        padding-left: 15px !important;
        padding-right: 15px !important;
        padding-bottom: 30px !important;
    }

    .instagram-titulo .elementor-heading-title {
        font-size: 30px !important;
    }

    .instagram-subtitulo .elementor-heading-title {
        font-size: 23px !important;
    }


    /* ======================================================
       CONTACTO
       ====================================================== */

    .seccion-contacto .elementor-container,
    .seccion-contacto .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .seccion-contacto .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    .seccion-contacto .elementor-column:first-child {
        padding: 35px 20px 10px !important;
    }

    .seccion-contacto .elementor-column:last-child {
        padding: 0 20px 35px !important;
    }

    .horario-europea {
        width: 100%;
    }

    .horario-europea .fila-horario {
        display: flex !important;
        justify-content: space-between !important;
        flex-direction: row !important;
        gap: 10px !important;

        padding: 8px 0;
    }

    .horario-europea .dia {
        flex: 1 1 42%;
    }

    .horario-europea .hora {
        flex: 1 1 58%;
        text-align: right !important;
    }


    /* BOTONES EN UNA SOLA FILA */

    .contacto-botones {
        margin-top: 18px !important;
        margin-bottom: 10px !important;
    }

    .contacto-botones .elementor-container,
    .contacto-botones .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 12px !important;
    }

    .contacto-botones .elementor-column {
        width: 50% !important;
        max-width: 50% !important;
        flex: 0 0 calc(50% - 6px) !important;
    }

    .contacto-boton .elementor-button {
        width: 100% !important;

        min-height: 44px;

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

        padding: 10px 8px !important;

        line-height: 1.15 !important;
        white-space: normal;
    }


    /* MAPA MÁS CERCA DE LOS BOTONES */

    .contacto-mapa {
        margin-top: 0 !important;
    }

    .contacto-mapa iframe {
        width: 100% !important;
        height: 300px !important;
    }


    /* ======================================================
       FRASE FINAL
       ====================================================== */

    .frase-final .elementor-heading-title,
    .mas-30-anos .elementor-heading-title {
        font-size: 28px !important;
        line-height: 1.2 !important;
    }


    /* ======================================================
       FOOTER MÁS COMPACTO
       ====================================================== */

    .footer-la-europea > .elementor-container,
    .footer-la-europea > .elementor-container > .elementor-row {
        display: flex !important;
        flex-direction: column !important;
    }

    .footer-contacto,
    .footer-informacion,
    .footer-social {
        width: 100% !important;
        max-width: 100% !important;

        padding: 18px 25px !important;
        margin: 0 !important;

        text-align: left !important;
    }

    .footer-contacto .elementor-widget,
    .footer-informacion .elementor-widget,
    .footer-social .elementor-widget {
        margin-bottom: 8px !important;
    }


    /* PAGOS EN UNA SOLA FILA */

    .footer-pagos,
    .footer-pagos > .elementor-container,
    .footer-pagos > .elementor-container > .elementor-row {
        display: flex !important;

        flex-direction: row !important;
        flex-wrap: nowrap !important;

        align-items: center !important;
        justify-content: flex-start !important;

        gap: 12px !important;
    }

    .footer-pagos .elementor-column {
        width: auto !important;
        max-width: none !important;
        flex: 0 0 auto !important;
    }

    .footer-pagos img {
        display: block;

        width: auto !important;

        max-width: 55px !important;
        max-height: 40px !important;

        object-fit: contain;
    }


    /* COPYRIGHT */

    .footer-copyright {
        margin-top: 0 !important;

        padding: 12px 15px !important;

        font-size: 12px !important;
        line-height: 1.4 !important;

        text-align: center !important;
    }
}


/* ==========================================================
   MÓVILES PEQUEÑOS
   ========================================================== */

@media (max-width: 480px) {

    .hero-la-europea .hero-titulo .elementor-heading-title {
        font-size: 34px !important;
    }

    .cabecera-pizzas .elementor-heading-title,
    .carta-titulo .elementor-heading-title,
    .contacto-titulo .elementor-heading-title {
        font-size: 31px !important;
    }

    .ofertas-titulo .elementor-heading-title,
    .historia-titulo .elementor-heading-title {
        font-size: 29px !important;
    }

    .frase-final .elementor-heading-title,
    .mas-30-anos .elementor-heading-title {
        font-size: 26px !important;
    }

    .footer-contacto,
    .footer-informacion,
    .footer-social {
        padding: 16px 22px !important;
    }
}
/* =========================================
   MÓVIL - PRECIOS PIZZAS
   ========================================= */

@media (max-width: 767px) {

    .pizza-destacada-precio,
    .pizza-destacada-precio .elementor-widget-container,
    .pizza-destacada-precio .elementor-heading-title {
        color: #0C5444 !important;
        font-family: "Roboto", sans-serif !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.25 !important;
        text-align: left !important;
    }

    .precio-mediana,
    .precio-familiar {
        display: block !important;
        color: #0C5444 !important;
        font-size: 17px !important;
        font-weight: 700 !important;
        line-height: 1.3 !important;
    }

    .precio-mediana {
        margin-bottom: 2px !important;
    }

    .precio-mediana::after {
        content: "" !important;
    }
}

/* =========================================
   BOTONES CONTACTO DEFINITIVOS
   ========================================= */

.contacto-acciones {
    display: flex;
    align-items: stretch;
    justify-content: center;
    gap: 16px;
    width: 100%;
    margin: 22px 0 12px;
}

.contacto-accion {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 155px;
    min-height: 46px;

    padding: 10px 12px;

    background: #0C5444;
    color: #F5EED8 !important;

    font-family: "Roboto", sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;

    text-align: center;
    text-decoration: none !important;
    white-space: nowrap;

    border-radius: 5px;

    transition: opacity .2s ease;
}

.contacto-accion:hover {
    color: #F5EED8 !important;
    opacity: .9;
}


/* MÓVIL */

@media (max-width: 767px) {

    .contacto-acciones {
        gap: 10px;
        margin: 18px 0 10px;
    }

    .contacto-accion {
        width: calc(50% - 5px);
        min-height: 46px;
        padding: 10px 4px;

        font-size: 13px;
    }
}
/* =========================================
   MENÚ MÓVIL — CONSERVAR LOGO VISIBLE
   ========================================= */

@media (max-width: 767px) {

    .elementor-nav-menu--dropdown {
        position: fixed !important;

        /* El menú empieza debajo de la cabecera */
        top: 142px !important;
        left: 0 !important;
        right: 0 !important;

        width: 100vw !important;
        max-width: 100vw !important;
        min-width: 100vw !important;

        height: calc(100vh - 142px) !important;
        max-height: calc(100vh - 142px) !important;

        margin: 0 !important;
        padding: 0 !important;

        background: #F5EED8 !important;

        overflow-y: auto !important;
        z-index: 9999 !important;
    }

    .elementor-nav-menu--dropdown .elementor-nav-menu {
        width: 100% !important;
        margin: 0 !important;
    }

    .elementor-nav-menu--dropdown a {
        width: 100% !important;
        padding: 17px 20px !important;

        text-align: left !important;
        font-size: 15px !important;
    }

    /* Hamburguesa / X siempre visible */
    .elementor-menu-toggle {
        position: relative !important;
        z-index: 10001 !important;
    }
}

/* =========================================================
   PIZZERÍA LA EUROPEA
   PÁGINA PIZZAS — CSS LIMPIO Y DEFINITIVO
   ========================================================= */


/* =========================================================
   1. ESTRUCTURA GENERAL
   ========================================================= */

.pagina-pizzas {
    width: 100%;
    padding-top: 45px !important;
    padding-bottom: 35px !important;
}

.pagina-pizzas-titulo,
.pagina-pizzas-subtitulo,
.pizzas-extras-titulo,
.pizzas-alergenos-titulo {
    text-align: center;
}

.pagina-pizzas-titulo {
    margin-bottom: 4px !important;
}

.pagina-pizzas-titulo .elementor-heading-title {
    margin: 0;
    line-height: 1.08;
}

.pagina-pizzas-subtitulo {
    margin-top: 8px;
    margin-bottom: 40px !important;
}


/* =========================================================
   2. LISTA COMPLETA DE PIZZAS
   PC: DOS COLUMNAS / ALTURA AUTOMÁTICA
   ========================================================= */

.lista-pizzas-completa {
    width: 100%;
    max-width: 1180px;
    margin: 22px auto 0 !important;
}

.lista-pizzas-completa,
.lista-pizzas-completa * {
    box-sizing: border-box;
}

.lista-pizzas-completa > .elementor-container,
.lista-pizzas-completa > .elementor-row {
    align-items: flex-start !important;
}

.lista-pizzas-completa .elementor-price-list {
    margin: 0;
}

/* Cada pizza */
.lista-pizzas-completa .elementor-price-list-item {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;

    display: block !important;
    overflow: visible !important;

    margin: 0 0 10px !important;
    padding: 13px 15px 12px !important;

    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(12,84,68,.10) !important;
    border-radius: 9px !important;

    transition: background .2s ease, border-color .2s ease;
}

/* Nombre + separador + precio */
.lista-pizzas-completa .elementor-price-list-header {
    display: grid !important;
    grid-template-columns: auto minmax(20px, 1fr) 135px !important;
    align-items: center !important;
    column-gap: 10px !important;

    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
}

.lista-pizzas-completa .elementor-price-list-title {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;

    color: #0C5444 !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.lista-pizzas-completa .elementor-price-list-separator {
    display: block !important;

    width: 100% !important;
    min-width: 20px !important;
    margin: 0 !important;

    border-bottom-style: solid !important;
    border-bottom-width: 1px !important;
    border-bottom-color: rgba(12,84,68,.18) !important;

    opacity: 1 !important;
}

.lista-pizzas-completa .elementor-price-list-price {
    width: 135px !important;
    min-width: 135px !important;
    max-width: 135px !important;

    margin: 0 !important;
    padding: 5px 8px !important;

    justify-self: end !important;
    text-align: center !important;

    background: rgba(12,84,68,.08) !important;
    border-radius: 6px !important;

    color: #0C5444 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
}

.lista-pizzas-completa .elementor-price-list-description {
    margin-top: 7px !important;

    color: #733500 !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    overflow: visible !important;
}

@media (min-width: 1025px) {
    .lista-pizzas-completa .elementor-price-list-item:hover {
        background: rgba(255,255,255,.48) !important;
        border-color: rgba(12,84,68,.20) !important;
    }

    /* Cabeceras "Mediana – Familiar" */
    .lista-pizzas-completa .elementor-widget-heading .elementor-heading-title {
        font-size: 15px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
    }
}


/* =========================================================
   3. EXTRAS — TARJETAS 3 + 2
   ========================================================= */

.pizzas-extras {
    width: 100% !important;

    margin-top: 55px !important;
    padding: 45px 35px 50px !important;

    background: rgba(255,255,255,.18) !important;

    border-top: 1px solid rgba(12,84,68,.16);
    border-bottom: 1px solid rgba(12,84,68,.16);
}

.pizzas-extras-titulo {
    width: 100% !important;
    margin: 0 0 32px !important;
    text-align: center !important;
}

.pizzas-extras-titulo .elementor-heading-title {
    margin: 0 !important;

    font-size: 38px !important;
    line-height: 1.1 !important;

    text-align: center !important;
}

.pizzas-extras-fila > .elementor-container,
.pizzas-extras-fila > .elementor-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    justify-content: center !important;
    align-items: stretch !important;

    gap: 24px !important;

    width: 100% !important;
    max-width: 1120px !important;

    margin: 0 auto !important;
}

.pizzas-extra-item {
    flex: 0 0 calc(33.333% - 16px) !important;

    width: calc(33.333% - 16px) !important;
    max-width: calc(33.333% - 16px) !important;
    min-width: 0 !important;
    min-height: 290px !important;

    margin: 0 !important;
    padding: 28px 26px 30px !important;

    background: #FFFDF7 !important;

    border: 1px solid rgba(12,84,68,.18) !important;
    border-radius: 14px !important;

    box-shadow: 0 4px 14px rgba(0,0,0,.06) !important;

    overflow: hidden !important;

    transition: transform .2s ease, box-shadow .2s ease !important;
}

.pizzas-extra-item > .elementor-widget-wrap,
.pizzas-extra-item > .elementor-element-populated {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;

    height: 100% !important;
    padding: 0 !important;
}

.pizzas-extra-item .elementor-widget {
    margin-bottom: 10px !important;
}

.pizzas-extra-item .elementor-widget:last-child {
    margin-bottom: 0 !important;
}

.pizzas-extra-item .elementor-heading-title {
    margin: 0 0 16px !important;

    color: #0C5444 !important;

    font-size: 21px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;

    text-align: center !important;
}

.pizzas-extra-item,
.pizzas-extra-item p,
.pizzas-extra-item .elementor-widget-text-editor {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

.pizzas-extra-item p:first-child {
    margin-top: 0 !important;
}

.pizzas-extra-item p:last-child {
    margin-bottom: 0 !important;
}

/* Mediana / Familiar dentro de cada Extra */
.extra-precios-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;

    width: 100%;
    margin: 12px 0 18px;
}

.extra-precio-item {
    padding: 14px 10px;

    text-align: center;

    background: rgba(255,255,255,.55) !important;
    border: 1px solid rgba(12,84,68,.14) !important;
    border-radius: 12px;

    box-shadow: none !important;
}

.extra-tamano {
    display: block;

    margin-bottom: 7px;

    color: #222;

    font-family: "Roboto", sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
}

.extra-precio {
    display: block;

    color: #0C5444;

    font-family: "Roboto", sans-serif;
    font-size: 24px;
    font-weight: 800;
    line-height: 1.1;
}

@media (min-width: 1025px) {
    .pizzas-extra-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 8px 22px rgba(0,0,0,.09) !important;
    }
}


/* =========================================================
   4. ALÉRGENOS
   ========================================================= */

.pizzas-alergenos {
    width: 100% !important;

    margin-top: 48px !important;
    padding: 38px 24px 44px !important;

    text-align: center !important;
}

.pizzas-alergenos-titulo {
    margin-bottom: 26px !important;
}

.pizzas-alergenos-titulo .elementor-heading-title {
    font-size: 34px !important;
    line-height: 1.15 !important;
    text-align: center !important;
}

.pizzas-alergenos-iconos {
    width: 100% !important;
    max-width: 980px !important;

    margin: 0 auto !important;

    text-align: center !important;
}

.pizzas-alergenos-iconos img {
    display: block !important;

    width: 100% !important;
    max-width: 900px !important;
    height: auto !important;

    margin: 0 auto !important;
}


/* =========================================================
   5. TABLET
   ========================================================= */

@media (min-width: 768px) and (max-width: 1024px) {

    .pagina-pizzas {
        padding: 36px 24px 30px !important;
    }

    .pagina-pizzas-titulo .elementor-heading-title {
        font-size: 52px !important;
    }

    .pagina-pizzas-subtitulo .elementor-heading-title {
        font-size: 27px !important;
    }

    .lista-pizzas-completa {
        max-width: 100%;
    }

    .lista-pizzas-completa .elementor-price-list-header {
        grid-template-columns: auto minmax(12px, 1fr) 120px !important;
        column-gap: 8px !important;
    }

    .lista-pizzas-completa .elementor-price-list-title {
        font-size: 16px !important;
    }

    .lista-pizzas-completa .elementor-price-list-price {
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;

        font-size: 13px !important;
    }

    .lista-pizzas-completa .elementor-price-list-description {
        font-size: 12px !important;
    }

    .pizzas-extras {
        padding: 38px 25px 42px !important;
    }

    .pizzas-extras-titulo .elementor-heading-title {
        font-size: 34px !important;
    }

    .pizzas-extras-fila > .elementor-container,
    .pizzas-extras-fila > .elementor-row {
        max-width: 780px !important;
        gap: 18px !important;
    }

    .pizzas-extra-item {
        flex: 0 0 calc(50% - 9px) !important;

        width: calc(50% - 9px) !important;
        max-width: calc(50% - 9px) !important;

        min-height: 220px !important;

        padding: 22px 22px 24px !important;
    }

    .pizzas-alergenos {
        margin-top: 38px !important;
        padding: 32px 20px 38px !important;
    }

    .pizzas-alergenos-titulo .elementor-heading-title {
        font-size: 30px !important;
    }

    .pizzas-alergenos-iconos img {
        max-width: 760px !important;
    }
}


/* =========================================================
   6. MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .pagina-pizzas {
        padding: 28px 14px 24px !important;
    }

    .pagina-pizzas-titulo {
        margin-top: 28px;
    }

    .pagina-pizzas-titulo .elementor-heading-title {
        font-size: 40px !important;
        line-height: 1.05 !important;
    }

    .pagina-pizzas-subtitulo {
        margin-top: 8px;
        margin-bottom: 26px !important;
    }

    .pagina-pizzas-subtitulo .elementor-heading-title {
        font-size: 24px !important;
        line-height: 1.2 !important;
    }

    /* Dos columnas -> una */
    .lista-pizzas-completa > .elementor-container,
    .lista-pizzas-completa > .elementor-row {
        display: flex !important;
        flex-direction: column !important;

        width: 100% !important;
    }

    .lista-pizzas-completa .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;

        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .lista-pizzas-completa .elementor-price-list-item {
        margin-bottom: 12px !important;
        padding: 12px 12px 11px !important;
    }

    .lista-pizzas-completa .elementor-price-list-header {
        display: grid !important;
        grid-template-columns: minmax(0,1fr) auto !important;
        gap: 8px !important;

        height: auto !important;
    }

    .lista-pizzas-completa .elementor-price-list-title {
        font-size: 18px !important;
        line-height: 1.15 !important;
        min-width: 0 !important;
    }

    .lista-pizzas-completa .elementor-price-list-price {
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;

        padding: 5px 7px !important;

        font-size: 15px !important;
        line-height: 1.15 !important;

        text-align: right !important;
        justify-self: end !important;
        white-space: nowrap !important;
    }

    .lista-pizzas-completa .elementor-price-list-description {
        margin-top: 5px !important;

        font-size: 12.5px !important;
        line-height: 1.35 !important;
    }

    .lista-pizzas-completa .elementor-price-list-separator {
        display: none !important;
    }

    /* Extras */
    .pizzas-extras {
        margin-top: 32px !important;
        padding: 30px 16px 36px !important;
    }

    .pizzas-extras-titulo {
        margin-bottom: 22px !important;
    }

    .pizzas-extras-titulo .elementor-heading-title {
        font-size: 30px !important;
        line-height: 1.1 !important;
    }

    .pizzas-extras-fila > .elementor-container,
    .pizzas-extras-fila > .elementor-row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;

        gap: 14px !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
    }

    .pizzas-extra-item {
        flex: 0 0 100% !important;

        width: 100% !important;
        max-width: 100% !important;

        min-height: 0 !important;

        padding: 20px 18px 22px !important;

        border-radius: 10px !important;
    }

    .pizzas-extra-item .elementor-heading-title {
        margin-bottom: 12px !important;

        font-size: 19px !important;
    }

    .pizzas-extra-item,
    .pizzas-extra-item p,
    .pizzas-extra-item .elementor-widget-text-editor {
        font-size: 15px !important;
        line-height: 1.4 !important;
    }

    .extra-precios-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;

        margin: 10px 0 16px;
    }

    .extra-tamano {
        font-size: 14px;
    }

    .extra-precio {
        font-size: 21px;
    }

    /* Alérgenos */
    .pizzas-alergenos {
        margin-top: 30px !important;
        padding: 28px 14px 32px !important;
    }

    .pizzas-alergenos-titulo .elementor-heading-title {
        font-size: 26px !important;
        line-height: 1.15 !important;
    }

    .pizzas-alergenos-iconos {
        overflow: hidden;
    }

    .pizzas-alergenos-iconos img {
        width: 100% !important;
        max-width: 560px !important;
    }
}


/* =========================================================
   7. MÓVILES PEQUEÑOS
   ========================================================= */

@media (max-width: 420px) {

    .pagina-pizzas-titulo .elementor-heading-title {
        font-size: 34px !important;
    }

    .pagina-pizzas-subtitulo .elementor-heading-title {
        font-size: 21px !important;
    }

    .lista-pizzas-completa .elementor-price-list-title {
        font-size: 17px !important;
    }

    .lista-pizzas-completa .elementor-price-list-price {
        font-size: 14px !important;
    }

    .lista-pizzas-completa .elementor-price-list-description {
        font-size: 12px !important;
    }

    .pizzas-extras {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .pizzas-extras-titulo .elementor-heading-title {
        font-size: 28px !important;
    }

    .pizzas-extra-item {
        padding: 18px 16px 20px !important;
    }

    .extra-precios-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }

    .extra-tamano {
        font-size: 13px;
    }

    .extra-precio {
        font-size: 19px;
    }

    .pizzas-alergenos-titulo .elementor-heading-title {
        font-size: 24px !important;
    }
}
/* =========================================================
   CABECERA NUEVA PC
   LOGO CENTRADO ENTRE DOS MENÚS
   ========================================================= */

@media (min-width: 1025px) {

    .cabecera-centro > .elementor-container,
    .cabecera-centro > .elementor-row {
        display: flex !important;
        align-items: center !important;
        width: 100% !important;
    }

    .cabecera-menu-izquierda {
        width: 37% !important;
        flex: 0 0 37% !important;
    }

    .cabecera-logo-centro {
        width: 26% !important;
        flex: 0 0 26% !important;

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

    .cabecera-menu-derecha {
        width: 37% !important;
        flex: 0 0 37% !important;
    }

    /* Los dos menús siempre en una fila */
    .cabecera-menu-izquierda .elementor-nav-menu,
    .cabecera-menu-derecha .elementor-nav-menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
    }

    .cabecera-menu-izquierda .elementor-nav-menu > li,
    .cabecera-menu-derecha .elementor-nav-menu > li {
        flex: 0 0 auto !important;
    }

    .cabecera-menu-izquierda .elementor-nav-menu a,
    .cabecera-menu-derecha .elementor-nav-menu a {
        padding: 10px 11px !important;

        font-size: 13px !important;
        font-weight: 700 !important;

        white-space: nowrap !important;
    }

    /* Logo */
    .cabecera-logo-centro img {
        display: block !important;

        width: 100% !important;
        max-width: 280px !important;
        height: auto !important;

        margin: 0 auto !important;
    }
}
/* =========================================================
   CABECERA NUEVA - FONDO Y COLORES
   ========================================================= */

@media (min-width: 1025px) {

    /* Fondo general de la cabecera */
    .cabecera-centro {
        background: #F5EED8 !important;
        border-bottom: 1px dotted rgba(12, 84, 68, .55);
    }

    /* Menús */
    .cabecera-menu-izquierda .elementor-nav-menu a,
    .cabecera-menu-derecha .elementor-nav-menu a {
        color: #0C5444 !important;
        font-family: "Roboto", sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        text-transform: uppercase;
        letter-spacing: .2px;
    }

    /* Hover */
    .cabecera-menu-izquierda .elementor-nav-menu a:hover,
    .cabecera-menu-derecha .elementor-nav-menu a:hover {
        color: #7A3A0A !important;
    }

    /* Elemento activo */
    .cabecera-menu-izquierda .elementor-item-active,
    .cabecera-menu-derecha .elementor-item-active {
        color: #0C5444 !important;
    }

    /* Línea inferior del elemento activo */
    .cabecera-menu-izquierda .elementor-item-active::after,
    .cabecera-menu-derecha .elementor-item-active::after {
        background-color: #0C5444 !important;
    }

    /* Mantener el logo bien integrado */
    .cabecera-logo-centro {
        background: transparent !important;
    }
}
/* =========================================================
   CABECERA - FRANJA SUPERIOR DE TELÉFONOS
   ========================================================= */

.cabecera-telefonos-superior {
    background: #F5EED8 !important;
    padding: 7px 0 5px !important;
}

.cabecera-telefonos-superior .elementor-container,
.cabecera-telefonos-superior .elementor-row {
    justify-content: center !important;
}

.cabecera-telefono {
    text-align: center !important;
}

.cabecera-telefono,
.cabecera-telefono a,
.cabecera-telefono .elementor-icon-list-text {
    color: #0C5444 !important;
    font-family: "Roboto", sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
}

.cabecera-telefono .elementor-icon-list-items {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 18px !important;
}
/* =========================================================
   CABECERA SUPERIOR
   TELÉFONOS IZQUIERDA + TRADUCTOR DERECHA
   ========================================================= */

@media (min-width: 1025px) {

    .cabecera-telefonos-superior {
        background: #F5EED8 !important;
        padding: 5px 35px !important;
        margin: 0 !important;
    }

    .cabecera-telefonos-superior > .elementor-container,
    .cabecera-telefonos-superior > .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;

        width: 100% !important;
    }

    /* TELÉFONOS */

    .cabecera-top-telefonos {
        width: 50% !important;
        flex: 0 0 50% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .cabecera-top-telefonos .elementor-icon-list-items {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 14px !important;

        margin: 0 !important;
    }

    .cabecera-top-telefonos .elementor-icon-list-text {
        color: #0C5444 !important;

        font-size: 12px !important;
        font-weight: 700 !important;
    }


    /* TRADUCTOR */

    .cabecera-top-traductor {
        width: 50% !important;
        flex: 0 0 50% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        text-align: right !important;
    }

    .cabecera-top-traductor .elementor-widget-container {
        margin: 0 !important;
    }
}
/* =========================================================
   CABECERA NUEVA - COMPACTA Y SEMITRANSPARENTE
   ========================================================= */

@media (min-width: 1025px) {

    /* Franja superior */
    .cabecera-telefonos-superior {
        padding: 4px 35px !important;
        margin: 0 !important;

        background: rgba(245, 238, 216, 0.88) !important;

        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    /* Cabecera principal con menú + logo */
    .cabecera-centro {
        margin: 0 !important;
        padding: 8px 0 10px !important;

        background: rgba(245, 238, 216, 0.88) !important;

        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);

        border-bottom: 1px dotted rgba(12, 84, 68, .45);
    }

    /* Quitar espacios verticales internos */
    .cabecera-centro > .elementor-container,
    .cabecera-centro > .elementor-row,
    .cabecera-centro .elementor-column {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Logo un poco más compacto */
    .cabecera-logo-centro img {
        max-width: 255px !important;
        margin: 0 auto !important;
    }

    /* Menús más arriba y centrados con el logo */
    .cabecera-menu-izquierda,
    .cabecera-menu-derecha {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .cabecera-menu-izquierda .elementor-widget-container,
    .cabecera-menu-derecha .elementor-widget-container {
        margin: 0 !important;
    }

    .cabecera-menu-izquierda .elementor-nav-menu,
    .cabecera-menu-derecha .elementor-nav-menu {
        align-items: center !important;
    }
}
/* =========================================================
   CABECERA FINAL PC
   TOP COMPACTO + MENÚ PEGADO ARRIBA
   ========================================================= */

@media (min-width: 1025px) {

    /* =====================================
       FRANJA SUPERIOR
       ===================================== */

    .cabecera-telefonos-superior {
        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 5px 45px !important;

        background: rgba(245, 238, 216, 0.88) !important;

        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }

    .cabecera-telefonos-superior > .elementor-container,
    .cabecera-telefonos-superior > .elementor-row {
        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
    }

    .cabecera-telefonos-superior .elementor-column,
    .cabecera-telefonos-superior .elementor-widget,
    .cabecera-telefonos-superior .elementor-widget-wrap,
    .cabecera-telefonos-superior .elementor-widget-container {
        min-height: 0 !important;

        margin-top: 0 !important;
        margin-bottom: 0 !important;

        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }


    /* =====================================
       TELÉFONOS
       ===================================== */

    .cabecera-top-telefonos {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }


    /* =====================================
       TRADUCTOR
       ===================================== */

    .cabecera-top-traductor {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        text-align: right !important;
    }

    .cabecera-top-traductor .elementor-widget-container {
        width: auto !important;
        max-width: none !important;
    }


    /* =====================================
       MENÚ + LOGO
       ===================================== */

    .cabecera-centro {
        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;

        /* MUY IMPORTANTE: quitar el hueco */
        padding: 0 0 8px !important;

        background: rgba(245, 238, 216, 0.88) !important;

        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);

        border-bottom: 1px dotted rgba(12, 84, 68, .45);
    }

    .cabecera-centro > .elementor-container,
    .cabecera-centro > .elementor-row {
        min-height: 0 !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        align-items: center !important;
    }

    .cabecera-centro .elementor-column,
    .cabecera-centro .elementor-widget,
    .cabecera-centro .elementor-widget-wrap,
    .cabecera-centro .elementor-widget-container {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }


    /* =====================================
       LOGO
       ===================================== */

    .cabecera-logo-centro img {
        display: block !important;

        width: 100% !important;
        max-width: 245px !important;
        height: auto !important;

        margin: 0 auto !important;
    }


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

    .cabecera-menu-izquierda,
    .cabecera-menu-derecha {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .cabecera-menu-izquierda .elementor-nav-menu,
    .cabecera-menu-derecha .elementor-nav-menu {
        margin: 0 !important;
        align-items: center !important;
    }
}
/* =========================================================
   CABECERA PC — AFINADO FINAL
   ========================================================= */

@media (min-width: 1025px) {

    /* Franja superior más compacta */
    .cabecera-telefonos-superior {
        padding: 3px 45px !important;
    }

    /* Cabecera principal */
    .cabecera-centro {
        padding: 5px 0 10px !important;
    }

    /* Logo */
    .cabecera-logo-centro img {
        max-width: 235px !important;
    }

    /* Menús */
    .cabecera-menu-izquierda .elementor-nav-menu a,
    .cabecera-menu-derecha .elementor-nav-menu a {
        font-size: 12px !important;
        padding: 9px 10px !important;
    }

    /* Traductor algo más discreto */
    .cabecera-top-traductor {
        opacity: .88;
    }

    .cabecera-top-traductor img {
        max-height: 18px !important;
        width: auto !important;
    }
}
/* =========================================================
   CABECERA PC — DISTRIBUCIÓN ESTABLE
   ========================================================= */

@media (min-width: 1025px) {

    .cabecera-centro > .elementor-container,
    .cabecera-centro > .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
    }

    .cabecera-menu-izquierda {
        width: 37% !important;
        flex: 0 0 37% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    .cabecera-logo-centro {
        width: 26% !important;
        flex: 0 0 26% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
    }

    .cabecera-menu-derecha {
        width: 37% !important;
        flex: 0 0 37% !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
    }

    .cabecera-menu-izquierda .elementor-nav-menu,
    .cabecera-menu-derecha .elementor-nav-menu {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 20px !important;
        margin: 0 !important;
    }

    .cabecera-menu-izquierda .elementor-nav-menu a,
    .cabecera-menu-derecha .elementor-nav-menu a {
        white-space: nowrap !important;
        padding: 8px 0 !important;
    }

    .cabecera-logo-centro img {
        width: 100% !important;
        max-width: 245px !important;
        height: auto !important;
        margin: 0 auto !important;
        display: block !important;
    }
}
/* =========================================================
   CABECERA — CENTRAR CONTENEDOR INTERIOR
   ========================================================= */

@media (min-width: 1025px) {

    /* MENÚ + LOGO */
    .cabecera-centro > .elementor-container {
        width: 100% !important;
        max-width: 1240px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    .cabecera-centro > .elementor-container > .elementor-row {
        width: 100% !important;
        margin: 0 auto !important;
    }


    /* TELÉFONOS + TRADUCTOR */
    .cabecera-telefonos-superior > .elementor-container {
        width: 100% !important;
        max-width: 1240px !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

}
/* =========================================================
   CABECERA RESPONSIVE — TABLET Y MÓVIL
   ========================================================= */

@media (max-width: 1024px) {

    /* Ocultar menús laterales de escritorio */
    .cabecera-menu-izquierda,
    .cabecera-menu-derecha {
        display: none !important;
    }

    /* Cabecera principal */
    .cabecera-centro > .elementor-container,
    .cabecera-centro > .elementor-row {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;

        width: 100% !important;
        max-width: 100% !important;

        padding: 8px 16px !important;
    }

    /* Logo */
    .cabecera-logo-centro {
        width: auto !important;
        flex: 1 1 auto !important;

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

    .cabecera-logo-centro img {
        width: 100% !important;
        max-width: 230px !important;
        height: auto !important;
    }

    /* Menú móvil */
    .cabecera-menu-movil {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;

        width: auto !important;
        flex: 0 0 auto !important;
    }

    /* Franja superior */
    .cabecera-telefonos-superior {
        padding: 5px 14px !important;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* Franja teléfonos + traductor */
    .cabecera-telefonos-superior > .elementor-container,
    .cabecera-telefonos-superior > .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;

        gap: 10px !important;
    }

    .cabecera-top-telefonos {
        width: auto !important;
        flex: 1 1 auto !important;
    }

    .cabecera-top-traductor {
        width: auto !important;
        flex: 0 0 auto !important;
    }

    .cabecera-top-telefonos .elementor-icon-list-text {
        font-size: 11px !important;
    }

    /* Logo más compacto */
    .cabecera-logo-centro img {
        max-width: 200px !important;
    }

    /* Menú móvil */
    .cabecera-centro > .elementor-container,
    .cabecera-centro > .elementor-row {
        padding: 7px 12px 9px !important;
    }
}


/* =========================================================
   MÓVILES PEQUEÑOS
   ========================================================= */

@media (max-width: 420px) {

    .cabecera-top-telefonos .elementor-icon-list-text {
        font-size: 10px !important;
    }

    .cabecera-logo-centro img {
        max-width: 175px !important;
    }

    .cabecera-telefonos-superior {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}
/* =========================================================
   MENÚ MÓVIL — FORZAR HAMBURGUESA VISIBLE
   ========================================================= */

@media (max-width: 1024px) {

    .cabecera-menu-movil {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;

        width: 48px !important;
        min-width: 48px !important;
        flex: 0 0 48px !important;

        align-items: center !important;
        justify-content: center !important;

        position: relative !important;
        z-index: 99999 !important;
    }

    .cabecera-menu-movil .elementor-widget-container {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        height: 100% !important;
    }

    .cabecera-menu-movil .elementor-menu-toggle {
        display: flex !important;
        visibility: visible !important;
        opacity: 1 !important;

        align-items: center !important;
        justify-content: center !important;

        width: 42px !important;
        height: 42px !important;

        padding: 0 !important;
        margin: 0 !important;

        color: #0C5444 !important;
        background: rgba(12,84,68,.08) !important;

        border: 0 !important;
        border-radius: 6px !important;

        font-size: 26px !important;
    }

    .cabecera-menu-movil .elementor-menu-toggle i,
    .cabecera-menu-movil .elementor-menu-toggle svg {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;

        color: #0C5444 !important;
        fill: #0C5444 !important;
    }
}
/* =========================================================
   CABECERA MÓVIL / TABLET — STICKY
   ========================================================= */

@media (max-width: 1024px) {

    .cabecera-telefonos-superior {
        position: sticky !important;
        top: 0 !important;
        z-index: 99998 !important;

        background: rgba(245, 238, 216, .88) !important;

        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }

    .cabecera-centro {
        position: sticky !important;
        top: 34px !important;
        z-index: 99997 !important;

        background: rgba(245, 238, 216, .88) !important;

        backdrop-filter: blur(8px) !important;
        -webkit-backdrop-filter: blur(8px) !important;
    }
}

/* =========================================================
   HORARIOS — DISEÑO LIMPIO EN TODAS LAS RESOLUCIONES
   ========================================================= */

.horario-europea {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
}

/* Cada fila */
.horario-europea .fila-horario {
    display: grid !important;
    grid-template-columns: minmax(120px, 1fr) minmax(180px, 1.25fr) !important;
    align-items: start !important;
    gap: 14px !important;

    padding: 10px 12px !important;
    margin: 0 !important;

    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(12,84,68,.10) !important;
    border-radius: 8px !important;
}

/* Día */
.horario-europea .dia {
    color: #0C5444 !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
}

/* Horario */
.horario-europea .hora {
    display: block !important;

    color: #743500 !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;

    text-align: right !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .horario-europea .fila-horario {
        grid-template-columns: 115px minmax(0,1fr) !important;
        gap: 10px !important;

        padding: 11px 10px !important;
    }

    .horario-europea .dia {
        font-size: 15px !important;
    }

    .horario-europea .hora {
        font-size: 14px !important;
        text-align: right !important;
    }
}
/* =========================================================
   HORARIOS — SOLO MÓVIL
   DOBLE TURNO EN DOS LÍNEAS
   ========================================================= */

@media (max-width: 767px) {

    .horario-europea .hora {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-end !important;
        gap: 2px !important;
    }

    .horario-europea .hora .turno {
        display: block !important;
        width: 100% !important;
        text-align: right !important;
        white-space: nowrap !important;
    }
}
/* =========================================================
   CONTACTO MÓVIL — BOTONES BIEN PROPORCIONADOS
   ========================================================= */

@media (max-width: 767px) {

    .contacto-acciones {
        display: grid !important;
        grid-template-columns: 1fr 1.25fr !important;
        gap: 10px !important;

        width: 100% !important;
        margin: 22px 0 24px !important;
    }

    .contacto-acciones .contacto-accion {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;
        min-width: 0 !important;

        min-height: 48px !important;

        padding: 10px 8px !important;

        background: #0C5444 !important;
        color: #ffffff !important;

        border-radius: 6px !important;

        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.15 !important;

        text-align: center !important;
        white-space: nowrap !important;

        box-sizing: border-box !important;
    }
}
/* =========================================================
   CONTACTO MÓVIL — BOTONES CORREGIDOS
   ========================================================= */

@media (max-width: 767px) {

    .contacto-acciones {
        display: flex !important;
        flex-direction: row !important;
        gap: 12px !important;

        width: 100% !important;
        max-width: 100% !important;

        margin: 24px 0 28px !important;
        padding: 0 !important;

        box-sizing: border-box !important;
    }

    .contacto-acciones .contacto-accion {
        flex: 1 1 0 !important;

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

        width: auto !important;
        min-width: 0 !important;

        min-height: 50px !important;

        padding: 10px 12px !important;

        background: #0C5444 !important;
        color: #ffffff !important;

        border-radius: 7px !important;

        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.1 !important;

        text-align: center !important;
        white-space: nowrap !important;

        box-sizing: border-box !important;
    }
}
/* =========================================================
   MENÚS Y OFERTAS — CENTRADO MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .section-ofertas,
    .section-ofertas .ofertas-contenido {
        text-align: center !important;
    }

    .section-ofertas .ofertas-contenido {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        width: 100% !important;

        padding-left: 18px !important;
        padding-right: 18px !important;
    }

    .section-ofertas .elementor-heading-title,
    .section-ofertas .elementor-widget-text-editor,
    .section-ofertas .elementor-widget-text-editor p {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .section-ofertas .elementor-button-wrapper {
        width: 100% !important;
        text-align: center !important;
    }

    .section-ofertas .elementor-button {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }
}
/* =========================================================
   MENÚS Y OFERTAS — CENTRADO REAL EN MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .section-ofertas .ofertas-contenido,
    .section-ofertas .ofertas-contenido > .elementor-widget-wrap,
    .section-ofertas .ofertas-contenido > .elementor-element-populated {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        padding-left: 20px !important;
        padding-right: 20px !important;

        box-sizing: border-box !important;
        text-align: center !important;
    }

    .section-ofertas .ofertas-contenido .elementor-widget {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .section-ofertas .ofertas-contenido .elementor-widget-container {
        width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .section-ofertas .ofertas-contenido .elementor-heading-title,
    .section-ofertas .ofertas-contenido .elementor-widget-text-editor,
    .section-ofertas .ofertas-contenido .elementor-widget-text-editor p {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .section-ofertas .ofertas-contenido .elementor-button-wrapper {
        width: 100% !important;
        text-align: center !important;
    }

    .section-ofertas .ofertas-contenido .elementor-button {
        display: inline-flex !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* =========================================================
   MENÚS Y OFERTAS — CORRECCIÓN FINAL CENTRADO MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .section-ofertas .ofertas-contenido .elementor-widget {
        position: relative !important;
        left: 20px !important;
    }

}
/* =========================================================
   MENÚS Y OFERTAS — CENTRADO MÓVIL DEFINITIVO
   ========================================================= */

@media (max-width: 767px) {

    .seccion-ofertas .ofertas-contenido {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 30px 20px 34px !important;

        box-sizing: border-box !important;

        text-align: center !important;
    }

    .seccion-ofertas .ofertas-contenido > .elementor-widget-wrap,
    .seccion-ofertas .ofertas-contenido > .elementor-element-populated {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }

    .seccion-ofertas .ofertas-contenido .elementor-widget {
        width: 100% !important;
        max-width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .seccion-ofertas .ofertas-contenido .elementor-widget-container,
    .seccion-ofertas .ofertas-contenido .elementor-heading-title,
    .seccion-ofertas .ofertas-contenido .elementor-widget-text-editor,
    .seccion-ofertas .ofertas-contenido .elementor-widget-text-editor p {
        width: 100% !important;

        margin-left: auto !important;
        margin-right: auto !important;

        text-align: center !important;
    }

    .seccion-ofertas .ofertas-contenido .elementor-button-wrapper {
        width: 100% !important;
        text-align: center !important;
    }

    .seccion-ofertas .ofertas-contenido .elementor-button {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
/* =========================================================
   HISTORIA — AFINADO MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .seccion-historia {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .seccion-historia .historia-titulo .elementor-heading-title {
        font-size: 30px !important;
        line-height: 1.08 !important;
    }

    .seccion-historia .historia-texto,
    .seccion-historia .historia-texto p {
        max-width: 100% !important;

        font-size: 16px !important;
        line-height: 1.55 !important;

        margin-left: auto !important;
        margin-right: auto !important;
    }

    .seccion-historia .historia-texto p {
        margin-bottom: 18px !important;
    }

    .seccion-historia .historia-imagen img {
        width: 100% !important;
        border-radius: 6px !important;
    }
}
/* =========================================================
   FOOTER — COMPACTO EN MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* Contenedor principal del footer */
    .footer-la-europea > .elementor-container,
    .footer-la-europea > .elementor-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 28px 22px !important;

        width: 100% !important;

        padding: 34px 24px 30px !important;
        margin: 0 !important;

        align-items: start !important;
    }

    /* Las 3 columnas dejan de ocupar 100% */
    .footer-contacto,
    .footer-informacion,
    .footer-social {
        width: 100% !important;
        max-width: 100% !important;
        flex: none !important;

        margin: 0 !important;
        padding: 0 !important;
    }

    /* Contacto arriba izquierda */
    .footer-contacto {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    /* Información arriba derecha */
    .footer-informacion {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    /* Social + pagos ocupando todo debajo */
    .footer-social {
        grid-column: 1 / -1 !important;
        grid-row: 2 !important;
    }


    /* =====================================================
       TÍTULOS
       ===================================================== */

    .footer-la-europea .elementor-heading-title {
        margin-bottom: 16px !important;

        font-size: 22px !important;
        line-height: 1.1 !important;
    }


    /* =====================================================
       TEXTOS Y ENLACES
       ===================================================== */

    .footer-la-europea,
    .footer-la-europea p,
    .footer-la-europea a {
        font-size: 14px !important;
        line-height: 1.45 !important;
    }

    .footer-la-europea .elementor-widget {
        margin-bottom: 12px !important;
    }

    .footer-la-europea p {
        margin-bottom: 8px !important;
    }


    /* =====================================================
       SOCIAL + ACEPTAMOS
       ===================================================== */

    .footer-social {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 20px !important;

        align-items: start !important;
    }

    /* Evitar espacios verticales heredados */
    .footer-social .elementor-widget,
    .footer-social .elementor-widget-container {
        margin-top: 0 !important;
        margin-bottom: 8px !important;
    }

    /* Tarjetas de pago */
    .footer-social img {
        max-height: 34px !important;
        width: auto !important;
    }


    /* =====================================================
       COPYRIGHT
       ===================================================== */

    .footer-copyright {
        padding: 16px 20px !important;
        margin: 0 !important;

        text-align: center !important;
    }

    .footer-copyright,
    .footer-copyright p {
        font-size: 12px !important;
        line-height: 1.4 !important;

        margin: 0 !important;
    }
}
/* =========================================================
   FOOTER MÓVIL — AJUSTE FINAL 2 + 2 COLUMNAS
   ========================================================= */

@media (max-width: 767px) {

    /* Más aprovechamiento del ancho */
    .footer-la-europea > .elementor-container,
    .footer-la-europea > .elementor-row {
        grid-template-columns: 46% 54% !important;
        gap: 26px 14px !important;

        padding: 32px 18px 26px !important;
    }


    /* Evitar desbordamientos */
    .footer-contacto,
    .footer-informacion,
    .footer-social,
    .footer-contacto *,
    .footer-informacion *,
    .footer-social * {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }


    /* Títulos algo más compactos */
    .footer-la-europea .elementor-heading-title {
        font-size: 19px !important;
        line-height: 1.08 !important;

        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }


    /* Información */
    .footer-informacion {
        padding-left: 6px !important;
    }

    .footer-informacion a,
    .footer-informacion p {
        font-size: 13px !important;
        line-height: 1.4 !important;

        white-space: normal !important;
    }


    /* Contacto */
    .footer-contacto p,
    .footer-contacto a {
        font-size: 13px !important;
        line-height: 1.45 !important;
    }


    /* Bloque social completo */
    .footer-social {
        grid-column: 1 / -1 !important;

        display: grid !important;
        grid-template-columns: 1fr 1fr !important;
        gap: 16px !important;

        width: 100% !important;

        padding-top: 4px !important;
    }


    /* Widgets internos del bloque social */
    .footer-social > .elementor-widget-wrap,
    .footer-social > .elementor-element-populated {
        width: 100% !important;
    }


    /* Logos de pago más pequeños */
    .footer-social img {
        max-width: 48px !important;
        max-height: 32px !important;
        width: auto !important;
        height: auto !important;
    }


    /* Copyright */
    .footer-copyright {
        padding: 14px 18px !important;
    }

    .footer-copyright,
    .footer-copyright p {
        font-size: 11px !important;
        line-height: 1.35 !important;
    }
}
/* =========================================================
   FOOTER MÓVIL — DAR AIRE A INFORMACIÓN
   ========================================================= */

@media (max-width: 767px) {

    .footer-informacion {
        padding-right: 18px !important;
        padding-left: 0 !important;
    }

    .footer-informacion .elementor-widget-wrap,
    .footer-informacion .elementor-element-populated,
    .footer-informacion .elementor-widget-container {
        padding-right: 0 !important;
        margin-right: 0 !important;
    }
}
/* =========================================================
   FOOTER LA EUROPEA — RESPONSIVE DEFINITIVO
   ========================================================= */


/* =========================================================
   MÓVIL
   2 COLUMNAS x 2 FILAS
   ========================================================= */

@media (max-width: 767px) {

    /* Contenedor de las cuatro columnas */
    .footer-la-europea > .elementor-container > .elementor-row {
        display: grid !important;

        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;

        column-gap: 22px !important;
        row-gap: 34px !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 32px 22px 30px !important;

        align-items: start !important;

        box-sizing: border-box !important;
    }


    /* Las 4 columnas */
    .footer-contacto,
    .footer-informacion,
    .footer-social,
    .footer-pagos {
        width: 100% !important;
        max-width: 100% !important;

        flex: none !important;

        margin: 0 !important;
        padding: 0 !important;

        min-width: 0 !important;

        box-sizing: border-box !important;
    }


    /* Posición exacta */
    .footer-contacto {
        grid-column: 1 !important;
        grid-row: 1 !important;
    }

    .footer-informacion {
        grid-column: 2 !important;
        grid-row: 1 !important;
    }

    .footer-social {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }

    .footer-pagos {
        grid-column: 2 !important;
        grid-row: 2 !important;
    }


    /* Quitar rellenos internos heredados */
    .footer-contacto > .elementor-widget-wrap,
    .footer-informacion > .elementor-widget-wrap,
    .footer-social > .elementor-widget-wrap,
    .footer-pagos > .elementor-widget-wrap,
    .footer-contacto > .elementor-element-populated,
    .footer-informacion > .elementor-element-populated,
    .footer-social > .elementor-element-populated,
    .footer-pagos > .elementor-element-populated {
        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;
    }


    /* =====================================================
       TÍTULOS
       ===================================================== */

    .footer-la-europea .elementor-heading-title {
        margin: 0 0 16px !important;

        font-size: 17px !important;
        line-height: 1.12 !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }


    /* LA EUROPEA EN UNA SOLA LÍNEA */
    .footer-contacto .elementor-heading-title {
        white-space: nowrap !important;
        font-size: 16px !important;
    }


    /* INFORMACIÓN */
    .footer-informacion .elementor-heading-title {
        white-space: nowrap !important;
        font-size: 16px !important;
    }


    /* =====================================================
       TEXTOS
       ===================================================== */

    .footer-la-europea,
    .footer-la-europea p,
    .footer-la-europea a {
        font-size: 12px !important;
        line-height: 1.5 !important;
    }

    .footer-la-europea .elementor-widget {
        margin-bottom: 10px !important;
    }


    /* =====================================================
       SÍGUENOS
       ===================================================== */

    .footer-social .elementor-heading-title {
        font-size: 17px !important;
        line-height: 1.05 !important;
    }


    /* =====================================================
       PAGOS
       ===================================================== */

    .footer-pagos .elementor-heading-title {
        font-size: 17px !important;
        white-space: nowrap !important;
    }

    /* Sección interior de Visa / Mastercard / Amex */
    .footer-pagos .elementor-inner-section > .elementor-container > .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;

        justify-content: flex-start !important;
        align-items: center !important;

        gap: 8px !important;

        width: 100% !important;
    }

    .footer-pagos .elementor-inner-section .elementor-column {
        width: auto !important;
        max-width: none !important;

        flex: 0 0 auto !important;

        padding: 0 !important;
    }

    .footer-pagos img {
        display: block !important;

        width: auto !important;
        max-width: 38px !important;
        max-height: 30px !important;

        margin: 0 !important;
    }


    /* =====================================================
       COPYRIGHT
       ===================================================== */

    .footer-copyright {
        width: 100% !important;

        margin: 0 !important;
        padding: 14px 18px !important;

        text-align: center !important;
    }

    .footer-copyright,
    .footer-copyright p {
        margin: 0 !important;

        font-size: 10.5px !important;
        line-height: 1.35 !important;

        text-align: center !important;
    }
}
@media (max-width: 767px) {

    .footer-social .elementor-heading-title {
        font-size: 15px !important;
        line-height: 1.05 !important;
        white-space: normal !important;
    }

    .footer-pagos .elementor-heading-title {
        font-size: 16px !important;
    }
}
/* =========================================================
   MENÚ MÓVIL — OCULTAR ICONO X
   ========================================================= */

@media (max-width: 1024px) {

    .cabecera-menu-movil .elementor-menu-toggle.elementor-active .eicon-close,
    .cabecera-menu-movil .elementor-menu-toggle.elementor-active svg:last-child,
    .cabecera-menu-movil .elementor-menu-toggle.elementor-active i:last-child {
        display: none !important;
    }

}
/* =========================================================
   PÁGINA PIZZAS — AJUSTES SOLO MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* Cabecera Mediana - Familiar */
    .pagina-pizzas .lista-pizzas-completa .elementor-heading-title {
        text-align: right !important;
        padding-right: 18px !important;
        font-size: 14px !important;
        line-height: 1.2 !important;
    }

}
@media (max-width: 767px) {

    .pizzas-alergenos {
        margin-top: 38px !important;
        padding: 28px 16px 30px !important;

        background: rgba(255,255,255,.28) !important;
        border-top: 1px solid rgba(12,84,68,.12) !important;
    }

    .pizzas-alergenos .elementor-heading-title {
        font-size: 25px !important;
        line-height: 1.15 !important;
        text-align: center !important;
        margin-bottom: 22px !important;
    }

    .pizzas-alergenos-iconos img {
        display: block !important;
        width: 100% !important;
        max-width: 330px !important;
        height: auto !important;

        margin: 0 auto !important;

        padding: 14px !important;

        background: rgba(255,255,255,.55) !important;
        border: 1px solid rgba(12,84,68,.12) !important;
        border-radius: 14px !important;

        box-shadow: 0 4px 14px rgba(0,0,0,.05) !important;
    }
}
/* =========================================================
   PIZZAS MÓVIL — ALÉRGENOS DEBAJO DE INGREDIENTES
   ========================================================= */

@media (max-width: 767px) {

    .pagina-pizzas .pizza-alergenos-movil {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;

        gap: 4px !important;

        width: 100% !important;

        margin-top: 8px !important;
    }

    .pagina-pizzas .pizza-alergenos-movil img {
        display: block !important;

        width: 18px !important;
        height: 18px !important;

        margin: 0 !important;

        object-fit: contain !important;
    }
}
/* =========================================================
   PIZZAS MÓVIL — AJUSTAR TÍTULO Y PRECIO
   ========================================================= */

@media (max-width: 767px) {

    .pagina-pizzas .elementor-price-list-header {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center !important;
        column-gap: 10px !important;

        width: 100% !important;
    }

    /* Título */
    .pagina-pizzas .elementor-price-list-title {
        min-width: 0 !important;
        width: auto !important;

        font-size: 16px !important;
        line-height: 1.08 !important;

        white-space: normal !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
    }

    /* Línea de puntos/separador */
    .pagina-pizzas .elementor-price-list-separator {
        display: none !important;
    }

    /* Precio */
    .pagina-pizzas .elementor-price-list-price {
        flex: none !important;

        font-size: 14px !important;
        line-height: 1 !important;

        white-space: nowrap !important;

        padding: 7px 8px !important;
        border-radius: 6px !important;
    }

    /* Tarjeta un poco más ancha interiormente */
    .pagina-pizzas .elementor-price-list-item {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
}
@media (max-width: 767px) {

    /* Más espacio para el nombre de la pizza */
    .pagina-pizzas .elementor-price-list-header {
        grid-template-columns: minmax(0, 1.35fr) auto !important;
        column-gap: 8px !important;
    }

    /* Título algo más compacto */
    .pagina-pizzas .elementor-price-list-title {
        font-size: 15px !important;
        line-height: 1.05 !important;
    }

    /* Precio algo más compacto */
    .pagina-pizzas .elementor-price-list-price {
        font-size: 13px !important;
        padding: 6px 7px !important;
    }

    /* Cabecera Mediana - Familiar alineada con precios */
    .pagina-pizzas .elementor-heading-title {
        text-align: right !important;
        padding-right: 18px !important;
        font-size: 13px !important;
    }
}
/* =========================================================
   PÁGINA PIZZAS — EXTRAS Y ALÉRGENOS EN MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* =========================
       TÍTULO EXTRAS
       ========================= */

    .pizzas-extras .elementor-heading-title,
    .pizzas-extras-titulo .elementor-heading-title {
        width: 100% !important;

        margin: 0 auto 22px !important;
        padding: 0 !important;

        text-align: center !important;

        font-size: 28px !important;
        line-height: 1.1 !important;
    }


    /* =========================
       BLOQUE ALÉRGENOS
       ========================= */

    .pizzas-alergenos {
        margin-top: 30px !important;
        padding-top: 0 !important;
        padding-bottom: 24px !important;
    }

    /* Título */
    .pizzas-alergenos-titulo .elementor-heading-title,
    .pizzas-alergenos .elementor-heading-title {
        width: 100% !important;

        margin: 0 auto 14px !important;
        padding: 0 !important;

        text-align: center !important;

        font-size: 22px !important;
        line-height: 1.15 !important;
    }

    /* Quitar huecos heredados entre título e iconos */
    .pizzas-alergenos .elementor-widget {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }

    .pizzas-alergenos-iconos {
        width: 100% !important;

        margin: 0 auto !important;
        padding: 0 10px !important;

        text-align: center !important;
    }

    .pizzas-alergenos-iconos .elementor-widget-container {
        margin: 0 !important;
        padding: 0 !important;
    }

    .pizzas-alergenos-iconos img {
        display: block !important;

        width: 100% !important;
        max-width: 330px !important;
        height: auto !important;

        margin: 0 auto !important;

        padding: 12px !important;

        background: rgba(255,255,255,.55) !important;
        border: 1px solid rgba(12,84,68,.12) !important;
        border-radius: 14px !important;

        box-sizing: border-box !important;
    }
}
/* =========================================================
   CARTA — BLOQUES DE CATEGORÍA SIN AÑADIR CLASES
   ========================================================= */

.pagina-carta .elementor-widget-image-box {
    margin-bottom: 10px !important;
}

.pagina-carta .elementor-widget-image-box .elementor-image-box-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.pagina-carta .elementor-widget-image-box img {
    width: 100px !important;
    height: 76px !important;
    object-fit: cover !important;

    border-radius: 9px !important;
}

.pagina-carta .elementor-image-box-title {
    margin: 0 !important;

    color: #743500 !important;
    font-size: 23px !important;
    line-height: 1.1 !important;
}

.pagina-carta .elementor-price-list-item {
    padding: 7px 0 !important;
}

.pagina-carta .elementor-price-list-title {
    font-size: 17px !important;
    line-height: 1.15 !important;
}

.pagina-carta .elementor-price-list-price {
    padding: 5px 8px !important;

    background: rgba(12,84,68,.06) !important;
    border-radius: 6px !important;

    font-size: 16px !important;
    white-space: nowrap !important;
}

.pagina-carta .elementor-price-list-description {
    margin-top: 3px !important;

    font-size: 12px !important;
    line-height: 1.35 !important;
}

.pagina-carta .elementor-divider {
    margin: 15px 0 18px !important;
}
/* =========================================================
   CARTA — GRID RESPONSIVE
   COMPATIBLE CON SECCIÓN CLÁSICA ELEMENTOR
   ========================================================= */

/* PC */
.pagina-carta .carta-grid .elementor-container,
.pagina-carta .carta-grid .elementor-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
}

/* Cada columna/categoría */
.pagina-carta .carta-grid .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: none !important;

    background: rgba(255,255,255,.30) !important;
    border: 1px solid rgba(12,84,68,.12) !important;
    border-radius: 14px !important;

    padding: 16px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
}

/* Quitar relleno heredado */
.pagina-carta .carta-grid .elementor-widget-wrap,
.pagina-carta .carta-grid .elementor-element-populated {
    padding: 0 !important;
}


/* =========================================================
   TABLET — 2 COLUMNAS
   ========================================================= */

@media (max-width: 1024px) {

    .pagina-carta .carta-grid .elementor-container,
    .pagina-carta .carta-grid .elementor-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}


/* =========================================================
   MÓVIL — 1 COLUMNA
   ========================================================= */

@media (max-width: 767px) {

    .pagina-carta .carta-grid .elementor-container,
    .pagina-carta .carta-grid .elementor-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .pagina-carta .carta-grid .elementor-column {
        padding: 14px !important;
    }
}
/* =========================================================
   PÁGINA CARTA — ACABADO FINAL
   ========================================================= */


/* =========================================================
   BASE GENERAL
   ========================================================= */

.pagina-carta {
    background: #f6eed8 !important;
}


/* =========================================================
   IMÁGENES DE CATEGORÍA
   ========================================================= */

.pagina-carta .elementor-widget-image-box {
    margin-bottom: 10px !important;
}

.pagina-carta .elementor-image-box-wrapper {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.pagina-carta .elementor-image-box-img {
    flex: 0 0 auto !important;
}

.pagina-carta .elementor-image-box-img img {
    width: 86px !important;
    height: 68px !important;

    object-fit: cover !important;

    border-radius: 9px !important;

    display: block !important;
}


/* =========================================================
   TÍTULOS DE CATEGORÍA
   ========================================================= */

.pagina-carta .elementor-image-box-title {
    margin: 0 !important;

    color: #743500 !important;

    font-size: 20px !important;
    line-height: 1.08 !important;

    font-weight: 700 !important;
}


/* =========================================================
   PRICE LIST
   ========================================================= */

.pagina-carta .elementor-price-list-item {
    padding: 6px 0 !important;
}

.pagina-carta .elementor-price-list-header {
    display: flex !important;
    align-items: center !important;

    gap: 8px !important;
}


/* Nombre */
.pagina-carta .elementor-price-list-title {
    color: #0C5444 !important;

    font-size: 15px !important;
    font-weight: 700 !important;

    line-height: 1.12 !important;

    min-width: 0 !important;
}


/* Separador */
.pagina-carta .elementor-price-list-separator {
    flex: 1 1 auto !important;

    border-color: rgba(12,84,68,.28) !important;
}


/* Precio */
.pagina-carta .elementor-price-list-price {
    flex: 0 0 auto !important;

    color: #0C5444 !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    white-space: nowrap !important;

    padding: 5px 7px !important;

    background: rgba(12,84,68,.06) !important;

    border-radius: 6px !important;
}


/* Descripción / ingredientes */
.pagina-carta .elementor-price-list-description {
    margin-top: 3px !important;

    color: #743500 !important;

    font-size: 11px !important;
    line-height: 1.35 !important;
}


/* =========================================================
   SEPARACIÓN ENTRE CATEGORÍAS
   ========================================================= */

.pagina-carta .elementor-widget-divider {
    margin: 14px 0 18px !important;
}

.pagina-carta .elementor-divider-separator {
    border-color: rgba(12,84,68,.20) !important;
}


/* =========================================================
   BLOQUE CHIVITOS
   ========================================================= */

.pagina-carta .chivitos-bloque {
    margin-top: 8px !important;
}


/* =========================================================
   ALÉRGENOS FINAL
   ========================================================= */

.pagina-carta .pizzas-alergenos,
.pagina-carta .carta-alergenos {
    margin-top: 30px !important;
}

.pagina-carta .pizzas-alergenos-iconos img,
.pagina-carta .carta-alergenos img {
    max-width: 520px !important;
    width: 100% !important;

    height: auto !important;

    margin: 0 auto !important;

    display: block !important;
}


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

@media (max-width: 1024px) {

    .pagina-carta .elementor-image-box-img img {
        width: 78px !important;
        height: 62px !important;
    }

    .pagina-carta .elementor-image-box-title {
        font-size: 18px !important;
    }

    .pagina-carta .elementor-price-list-title {
        font-size: 14px !important;
    }

    .pagina-carta .elementor-price-list-price {
        font-size: 13px !important;
    }

}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* Cada columna ocupa todo */
    .pagina-carta .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Imagen + título */
    .pagina-carta .elementor-image-box-wrapper {
        display: flex !important;

        align-items: center !important;

        gap: 10px !important;

        margin-bottom: 8px !important;
    }

    .pagina-carta .elementor-image-box-img img {
        width: 72px !important;
        height: 58px !important;

        border-radius: 8px !important;
    }

    .pagina-carta .elementor-image-box-title {
        font-size: 18px !important;
        line-height: 1.05 !important;
    }

    /* Price List */
    .pagina-carta .elementor-price-list-item {
        padding: 7px 0 !important;
    }

    .pagina-carta .elementor-price-list-title {
        font-size: 15px !important;
        line-height: 1.1 !important;
    }

    .pagina-carta .elementor-price-list-price {
        font-size: 13px !important;

        padding: 5px 7px !important;
    }

    .pagina-carta .elementor-price-list-description {
        font-size: 11.5px !important;
        line-height: 1.4 !important;
    }

    /* Separación de bloques */
    .pagina-carta .elementor-widget-divider {
        margin: 12px 0 16px !important;
    }

}
/* =========================================================
   CARTA — AJUSTES FINALES PC
   ========================================================= */

.pagina-carta .elementor-image-box-title {
    font-size: 21px !important;
}

.pagina-carta .elementor-widget-divider {
    margin: 18px 0 22px !important;
}

.pagina-carta .carta-alergenos,
.pagina-carta .pizzas-alergenos {
    margin-top: 20px !important;
}
/* =========================================================
   CARTA — AJUSTE FINAL DE ESPACIADO
   ========================================================= */

.pagina-carta .elementor-widget-divider {
    margin: 14px 0 18px !important;
}

.pagina-carta .carta-alergenos,
.pagina-carta .pizzas-alergenos {
    margin-top: 10px !important;
}
/* =========================================================
   CARTA — MÁS SEPARACIÓN ENTRE LAS 3 COLUMNAS
   ========================================================= */

/* PC */
@media (min-width: 1025px) {
    .carta-grid > .elementor-container > .elementor-row {
        column-gap: 46px !important;
        row-gap: 34px !important;
    }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1024px) {
    .carta-grid > .elementor-container > .elementor-row {
        column-gap: 28px !important;
        row-gap: 24px !important;
    }
}

/* Móvil */
@media (max-width: 767px) {
    .carta-grid > .elementor-container > .elementor-row {
        column-gap: 0 !important;
        row-gap: 18px !important;
    }
}
/* =========================================================
   CARTA MÓVIL — ALÉRGENOS DEBAJO DE INGREDIENTES
   ========================================================= */

@media (max-width: 767px) {

    .pagina-carta .carta-alergenos-movil {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;

        gap: 5px !important;

        width: 100% !important;

        margin-top: 7px !important;
        margin-bottom: 4px !important;
    }

    .pagina-carta .carta-alergenos-movil img {
        display: block !important;

        width: 18px !important;
        height: 18px !important;

        margin: 0 !important;

        object-fit: contain !important;
    }

}
/* =========================================================
   MENÚS Y OFERTAS — TARJETAS RESPONSIVE
   ========================================================= */

/* Contenedor de cada grupo */
.menus-grid > .elementor-container > .elementor-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
    align-items: stretch !important;
}


/* Cada menú */
.menus-grid > .elementor-container > .elementor-row > .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    background: rgba(255,255,255,.40) !important;

    border: 1px solid rgba(12,84,68,.14) !important;
    border-radius: 16px !important;

    padding: 22px 20px !important;
    margin: 0 !important;

    box-sizing: border-box !important;

    box-shadow: 0 4px 14px rgba(0,0,0,.04) !important;
}


/* Quitar padding interno Elementor */
.menus-grid .elementor-widget-wrap,
.menus-grid .elementor-element-populated {
    padding: 0 !important;
}


/* Título del menú */
.menus-grid .elementor-heading-title {
    color: #0C5444 !important;

    font-size: 24px !important;
    line-height: 1.08 !important;

    margin-bottom: 18px !important;
}


/* Textos internos */
.menus-grid .elementor-widget-text-editor,
.menus-grid .elementor-widget-text-editor p {
    color: #743500 !important;

    font-size: 14px !important;
    line-height: 1.45 !important;
}


/* Precio */
.menus-grid .precio-menu,
.menus-grid .elementor-widget-heading:last-child .elementor-heading-title {
    display: inline-block !important;

    color: #0C5444 !important;

    font-size: 24px !important;
    font-weight: 700 !important;

    background: rgba(12,84,68,.07) !important;

    padding: 7px 12px !important;

    border-radius: 8px !important;

    margin-top: 16px !important;
}


/* =========================================================
   TABLET — 2 COLUMNAS
   ========================================================= */

@media (max-width: 1024px) {

    .menus-grid > .elementor-container > .elementor-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }
}


/* =========================================================
   MÓVIL — 1 COLUMNA
   ========================================================= */

@media (max-width: 767px) {

    .menus-grid > .elementor-container > .elementor-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }

    .menus-grid > .elementor-container > .elementor-row > .elementor-column {
        padding: 18px 16px !important;
    }

    .menus-grid .elementor-heading-title {
        font-size: 22px !important;
    }

    .menus-grid .elementor-widget-text-editor,
    .menus-grid .elementor-widget-text-editor p {
        font-size: 14px !important;
    }
}
/* =========================================================
   MENÚS — PRECIO DESTACADO
   ========================================================= */

.menus-grid .precio-menu .elementor-heading-title {
    display: inline-block !important;

    color: #0C5444 !important;
    background: rgba(12,84,68,.08) !important;

    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    padding: 8px 12px !important;
    border-radius: 8px !important;

    margin-top: 14px !important;
}

@media (max-width: 767px) {

    .menus-grid .precio-menu .elementor-heading-title {
        font-size: 22px !important;
        padding: 7px 11px !important;
    }
}
/* =========================================================
   MENÚS — PRECIO COMPACTO
   ========================================================= */

.menus-grid .precio-menu {
    width: auto !important;
    max-width: max-content !important;

    margin-left: auto !important;
    margin-right: 0 !important;
    margin-top: 14px !important;
}

.menus-grid .precio-menu .elementor-widget-container {
    width: auto !important;
    display: inline-block !important;
}

.menus-grid .precio-menu .elementor-heading-title {
    display: inline-block !important;

    width: auto !important;
    min-width: 0 !important;

    color: #0C5444 !important;
    background: rgba(12,84,68,.08) !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    padding: 8px 12px !important;
    margin: 0 !important;

    border-radius: 8px !important;

    white-space: nowrap !important;
}
/* =========================================================
   MENÚS Y OFERTAS — AJUSTE FINAL MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    /* Cada menú: tarjeta compacta */
    .menus-grid > .elementor-container > .elementor-row > .elementor-column {
        width: 100% !important;
        max-width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        margin: 0 0 14px !important;
        padding: 18px 16px !important;

        background: rgba(255,255,255,.35) !important;
        border: 1px solid rgba(12,84,68,.12) !important;
        border-radius: 14px !important;
    }

    /* Evitar que Elementor estire verticalmente la tarjeta */
    .menus-grid .elementor-widget-wrap,
    .menus-grid .elementor-element-populated {
        height: auto !important;
        min-height: 0 !important;

        display: block !important;

        padding: 0 !important;
    }

    /* Título del menú */
    .menus-grid .elementor-heading-title {
        margin: 0 0 14px !important;

        font-size: 21px !important;
        line-height: 1.08 !important;
    }

    /* Textos */
    .menus-grid .elementor-widget-text-editor {
        margin: 0 0 12px !important;
    }

    .menus-grid .elementor-widget-text-editor p {
        margin: 0 0 8px !important;

        font-size: 13px !important;
        line-height: 1.45 !important;
    }

    /* Precio */
    .menus-grid .precio-menu {
        display: block !important;

        width: 100% !important;
        max-width: none !important;

        margin: 12px 0 0 !important;

        text-align: right !important;
    }

    .menus-grid .precio-menu .elementor-widget-container {
        display: block !important;
        width: 100% !important;
    }

    .menus-grid .precio-menu .elementor-heading-title {
        display: inline-block !important;

        width: auto !important;

        margin: 0 !important;
        padding: 8px 12px !important;

        font-size: 17px !important;

        background: rgba(12,84,68,.08) !important;
        border-radius: 8px !important;
    }

    /* Menús Pizzas / Hamburguesas */
    .menus-pizzas,
    .menus-hamburguesas {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }
}
/* =========================================================
   MENÚS MÓVIL — PRECIO COMPACTO Y TARJETAS MÁS LIMPIAS
   ========================================================= */

@media (max-width: 767px) {

    /* Cada menú */
    .menus-grid > .elementor-container > .elementor-row > .elementor-column {
        margin-bottom: 14px !important;
        padding: 16px !important;

        background: rgba(255,255,255,.34) !important;
        border: 1px solid rgba(12,84,68,.12) !important;
        border-radius: 14px !important;

        height: auto !important;
        min-height: 0 !important;
    }

    /* Título */
    .menus-grid .elementor-heading-title {
        margin-bottom: 12px !important;
    }

    /* Texto */
    .menus-grid .elementor-widget-text-editor {
        margin-bottom: 8px !important;
    }

    .menus-grid .elementor-widget-text-editor p {
        margin-bottom: 6px !important;
    }

    /* PRECIO: volver a pastilla compacta */
    .menus-grid .precio-menu {
        display: block !important;

        width: auto !important;
        max-width: max-content !important;

        margin: 10px 0 0 auto !important;

        text-align: right !important;
    }

    .menus-grid .precio-menu .elementor-widget-container {
        display: inline-block !important;

        width: auto !important;
        max-width: max-content !important;
    }

    .menus-grid .precio-menu .elementor-heading-title {
        display: inline-block !important;

        width: auto !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 8px 11px !important;

        font-size: 17px !important;
        line-height: 1 !important;

        white-space: nowrap !important;

        background: rgba(12,84,68,.08) !important;
        border-radius: 8px !important;
    }
}
/* =========================================================
   MENÚS MÓVIL — TARJETAS INDEPENDIENTES Y COMPACTAS
   ========================================================= */

@media (max-width: 767px) {

    /* Cada columna/menu como tarjeta */
    .menus-grid > .elementor-container > .elementor-row > .elementor-column {
        width: 100% !important;
        max-width: 100% !important;

        margin: 0 0 14px !important;
        padding: 16px 14px !important;

        background: rgba(255,255,255,.42) !important;

        border: 1px solid rgba(12,84,68,.14) !important;
        border-radius: 14px !important;

        box-sizing: border-box !important;

        height: auto !important;
        min-height: 0 !important;
    }

    /* Contenido interno */
    .menus-grid .elementor-widget-wrap,
    .menus-grid .elementor-element-populated {
        padding: 0 !important;
        margin: 0 !important;

        height: auto !important;
        min-height: 0 !important;
    }

    /* Título del menú */
    .menus-grid .elementor-widget-heading:not(.precio-menu) {
        margin-bottom: 10px !important;
    }

    .menus-grid .elementor-widget-heading:not(.precio-menu) .elementor-heading-title {
        margin: 0 !important;

        font-size: 21px !important;
        line-height: 1.08 !important;
    }

    /* Texto */
    .menus-grid .elementor-widget-text-editor {
        margin: 0 0 8px !important;
    }

    .menus-grid .elementor-widget-text-editor p {
        margin: 0 0 6px !important;

        font-size: 13px !important;
        line-height: 1.4 !important;
    }

    /* Precio */
    .menus-grid .precio-menu {
        width: auto !important;
        max-width: max-content !important;

        margin: 10px 0 0 auto !important;
    }

    .menus-grid .precio-menu .elementor-widget-container {
        width: auto !important;
        display: inline-block !important;
    }

    .menus-grid .precio-menu .elementor-heading-title {
        width: auto !important;

        margin: 0 !important;
        padding: 8px 11px !important;

        font-size: 17px !important;

        white-space: nowrap !important;

        background: rgba(12,84,68,.08) !important;
        border-radius: 8px !important;
    }

}
/* =========================================================
   MENÚS MÓVIL — SEPARAR CADA MENÚ COMO TARJETA
   ========================================================= */

@media (max-width: 767px) {

    .menus-grid .elementor-row {
        display: flex !important;
        flex-direction: column !important;
        gap: 14px !important;
    }

    .menus-grid .elementor-column {
        width: 100% !important;
        max-width: 100% !important;

        background: rgba(255,255,255,.42) !important;
        border: 1px solid rgba(12,84,68,.14) !important;
        border-radius: 14px !important;

        padding: 16px !important;
        margin: 0 !important;

        box-sizing: border-box !important;
    }

    .menus-grid .elementor-column > .elementor-widget-wrap,
    .menus-grid .elementor-column > .elementor-element-populated {
        padding: 0 !important;
        margin: 0 !important;
    }

    .menus-grid .precio-menu {
        margin-top: 10px !important;
        margin-left: auto !important;
        width: max-content !important;
    }
}
/* =========================================================
   MENÚS — MISMO ESTILO DE TARJETAS EN PC / TABLET / MÓVIL
   ========================================================= */

/* GRID GENERAL */
.menus-grid .elementor-row {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
}
/* =========================================================
   MENÚS Y OFERTAS — IGUALAR PRECIOS AL FONDO
   ========================================================= */

.menus-grid .elementor-row {
    align-items: stretch !important;
}

.menus-grid .elementor-column {
    display: flex !important;
}

.menus-grid .elementor-column > .elementor-widget-wrap,
.menus-grid .elementor-column > .elementor-column-wrap > .elementor-widget-wrap {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100% !important;
}

/* Empujar el precio al fondo */
.menus-grid .precio-menu {
    margin-top: auto !important;
    margin-left: auto !important;
}

/* Mantener la pastilla compacta */
.menus-grid .precio-menu .elementor-widget-container {
    display: inline-block !important;
    width: auto !important;
}

.menus-grid .precio-menu .elementor-heading-title {
    display: inline-block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 8px 11px !important;
    white-space: nowrap !important;

    background: rgba(12,84,68,.08) !important;
    border-radius: 8px !important;
}

/* TARJETA */
.menus-grid .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    background: rgba(255,255,255,.42) !important;
    border: 1px solid rgba(12,84,68,.14) !important;
    border-radius: 14px !important;

    padding: 20px 18px !important;
    margin: 0 !important;

    box-sizing: border-box !important;
}

/* CONTENIDO INTERNO */
.menus-grid .elementor-column > .elementor-widget-wrap,
.menus-grid .elementor-column > .elementor-element-populated {
    padding: 0 !important;
    margin: 0 !important;

    height: 100% !important;

    display: flex !important;
    flex-direction: column !important;
}

/* TÍTULO */
.menus-grid .elementor-widget-heading:not(.precio-menu) .elementor-heading-title {
    font-size: 22px !important;
    line-height: 1.08 !important;
    margin-bottom: 14px !important;
}

/* TEXTO */
.menus-grid .elementor-widget-text-editor {
    margin-bottom: 10px !important;
}

.menus-grid .elementor-widget-text-editor p {
    margin-bottom: 7px !important;
    line-height: 1.45 !important;
}

/* PRECIO ABAJO A LA DERECHA */
.menus-grid .precio-menu {
    margin-top: auto !important;
    margin-left: auto !important;

    width: auto !important;
    max-width: max-content !important;
}

.menus-grid .precio-menu .elementor-widget-container {
    display: inline-block !important;
    width: auto !important;
}

.menus-grid .precio-menu .elementor-heading-title {
    display: inline-block !important;

    width: auto !important;

    padding: 8px 11px !important;
    margin: 0 !important;

    background: rgba(12,84,68,.08) !important;
    border-radius: 8px !important;

    font-size: 17px !important;
    line-height: 1 !important;

    white-space: nowrap !important;
}


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

@media (max-width: 1024px) {

    .menus-grid .elementor-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .menus-grid .elementor-row {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }

    .menus-grid .elementor-column {
        padding: 16px !important;
    }
}
/* =========================================================
   MENÚS — PRECIOS SIEMPRE ALINEADOS ABAJO
   ========================================================= */

.menus-grid .elementor-column {
    position: relative !important;

    /* Reservamos espacio abajo para el precio */
    padding-bottom: 78px !important;
}

/* Precio anclado abajo a la derecha */
.menus-grid .precio-menu {
    position: absolute !important;

    right: 18px !important;
    bottom: 18px !important;

    margin: 0 !important;

    width: auto !important;
    max-width: max-content !important;
}

.menus-grid .precio-menu .elementor-widget-container {
    width: auto !important;
    display: inline-block !important;
}

.menus-grid .precio-menu .elementor-heading-title {
    display: inline-block !important;

    width: auto !important;

    margin: 0 !important;
    padding: 8px 11px !important;

    white-space: nowrap !important;

    background: rgba(12,84,68,.08) !important;
    border-radius: 8px !important;
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .menus-grid .elementor-column {
        padding-bottom: 70px !important;
    }

    .menus-grid .precio-menu {
        right: 14px !important;
        bottom: 14px !important;
    }
}
/* =========================================================
   GALERÍA LA EUROPEA
   ========================================================= */


/* =========================================================
   EL ANTES / Y EL AHORA
   ========================================================= */

.galeria-historia {
    margin-top: 25px !important;
    margin-bottom: 35px !important;
}

.galeria-historia .elementor-column {
    padding: 12px !important;
}

.galeria-historia .elementor-heading-title {
    text-align: center !important;
    margin-bottom: 15px !important;
}

.galeria-historia .gallery {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

.galeria-historia .gallery-item {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.galeria-historia .gallery-item img {
    width: 100% !important;
    height: 115px !important;

    object-fit: cover !important;

    border-radius: 9px !important;
}


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

.galeria-fotos .gallery {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    gap: 14px !important;

    align-items: start !important;
}

.galeria-fotos .gallery-item {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
}

.galeria-fotos .gallery-icon {
    margin: 0 !important;
}

.galeria-fotos img {
    display: block !important;

    width: 100% !important;
    height: 230px !important;

    object-fit: cover !important;

    border-radius: 12px !important;

    transition: transform .2s ease, opacity .2s ease !important;
}

.galeria-fotos a:hover img {
    transform: scale(1.015) !important;
    opacity: .94 !important;
}


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

@media (max-width: 1024px) {

    .galeria-fotos .gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    .galeria-fotos img {
        height: 210px !important;
    }

    .galeria-historia .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}


/* =========================================================
   MÓVIL
   ========================================================= */

@media (max-width: 767px) {

    .galeria-fotos .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 9px !important;
    }

    .galeria-fotos img {
        height: 165px !important;
        border-radius: 9px !important;
    }

    .galeria-historia .gallery {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    .galeria-historia .gallery-item img {
        height: 105px !important;
    }
}
/* =========================================================
   GALERÍA MÓVIL — AJUSTAR ANTES / AHORA
   ========================================================= */

@media (max-width: 767px) {

    .galeria-historia {
        margin-top: 18px !important;
        margin-bottom: 18px !important;
    }

    .galeria-historia .elementor-column {
        width: 100% !important;
        max-width: 100% !important;

        padding: 12px !important;

        background: rgba(255,255,255,.32) !important;
        border: 1px solid rgba(12,84,68,.14) !important;
        border-radius: 12px !important;
    }

    .galeria-historia .elementor-heading-title {
        font-size: 28px !important;
        line-height: 1.05 !important;

        margin: 0 0 14px !important;
        text-align: center !important;
    }

    .galeria-historia .gallery {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

        gap: 10px !important;
    }

    .galeria-historia .gallery-item {
        margin: 0 !important;
        width: 100% !important;
    }

    .galeria-historia .gallery-item img {
        width: 100% !important;
        height: 105px !important;

        object-fit: cover !important;

        border-radius: 9px !important;
    }
}
@media (max-width: 767px) {

    .galeria-historia .elementor-heading-title {
        margin-bottom: 10px !important;
    }

    .galeria-historia .gallery {
        margin-top: 0 !important;
    }
}
/* =========================================================
   HOME MÓVIL — 3 VENTAJAS EN UNA SOLA FILA
   ========================================================= */

@media (max-width: 767px) {

    .home-ventajas .elementor-row,
    .home-ventajas > .elementor-container > .elementor-row {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
        align-items: start !important;
    }

    .home-ventajas .elementor-column {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;

        padding: 8px 4px !important;

        text-align: center !important;
    }

    /* Iconos */
    .home-ventajas .elementor-icon {
        font-size: 28px !important;
    }

    .home-ventajas .elementor-icon svg {
        width: 28px !important;
        height: 28px !important;
    }

    /* Títulos */
    .home-ventajas .elementor-heading-title {
        font-size: 13px !important;
        line-height: 1.05 !important;
        margin: 6px 0 3px !important;
    }

    /* Texto inferior */
    .home-ventajas .elementor-widget-text-editor,
    .home-ventajas .elementor-widget-text-editor p {
        font-size: 10px !important;
        line-height: 1.15 !important;
        margin: 0 !important;
    }
}
/* =========================================================
   HOME MÓVIL — FRANJA CONFIANZA EN 3 COLUMNAS
   COMPATIBLE CON ELEMENTOR CLÁSICO / DOM OPTIMIZADO
   ========================================================= */

@media (max-width: 767px) {

    /* CONTENEDOR GENERAL */
    .franja-confianza > .elementor-container,
    .franja-confianza > .elementor-container > .elementor-row {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        justify-content: space-between !important;

        width: 100% !important;
        gap: 4px !important;
    }


    /* COLUMNAS — DOM OPTIMIZADO */
    .franja-confianza > .elementor-container > .elementor-column,

    /* COLUMNAS — ESTRUCTURA ANTIGUA */
    .franja-confianza > .elementor-container > .elementor-row > .elementor-column {

        width: 33.333% !important;
        max-width: 33.333% !important;
        flex: 0 0 33.333% !important;

        margin: 0 !important;
        padding: 8px 3px !important;

        text-align: center !important;
    }


    /* CONTENIDO INTERIOR */
    .franja-confianza .elementor-widget-wrap,
    .franja-confianza .elementor-element-populated {
        padding: 0 !important;
        margin: 0 !important;

        width: 100% !important;
    }


    /* ICONOS */
    .franja-confianza .elementor-icon {
        font-size: 25px !important;
    }

    .franja-confianza .elementor-icon svg {
        width: 25px !important;
        height: 25px !important;
    }


    /* TÍTULOS */
    .franja-confianza .elementor-heading-title {
        font-size: 11px !important;
        line-height: 1.05 !important;

        margin: 5px 0 3px !important;

        white-space: normal !important;
    }


    /* TEXTO PEQUEÑO */
    .franja-confianza .elementor-widget-text-editor,
    .franja-confianza .elementor-widget-text-editor p {
        font-size: 9px !important;
        line-height: 1.1 !important;

        margin: 0 !important;
        padding: 0 !important;
    }
}
/* =========================================================
   HOME MÓVIL — AJUSTE FINO FRANJA CONFIANZA
   3 BLOQUES EN UNA SOLA FILA
   ========================================================= */

@media (max-width: 767px) {

    .franja-confianza {
        overflow: hidden !important;
    }

    .franja-confianza > .elementor-container {
        width: 100% !important;
        max-width: 100% !important;

        padding-left: 2px !important;
        padding-right: 2px !important;

        gap: 0 !important;
    }

    .franja-confianza > .elementor-container > .elementor-column,
    .franja-confianza > .elementor-container > .elementor-row > .elementor-column {
        width: 33.333% !important;
        max-width: 33.333% !important;
        flex: 0 0 33.333% !important;

        min-width: 0 !important;

        padding: 8px 1px !important;
        margin: 0 !important;

        overflow: hidden !important;
    }

    /* ICONOS */
    .franja-confianza .elementor-icon {
        font-size: 23px !important;
    }

    .franja-confianza .elementor-icon svg {
        width: 23px !important;
        height: 23px !important;
    }

    /* TÍTULOS */
    .franja-confianza .elementor-heading-title {
        width: 100% !important;
        max-width: 100% !important;

        font-size: 10px !important;
        line-height: 1.05 !important;

        text-align: center !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;

        margin: 5px 0 4px !important;
        padding: 0 !important;
    }

    /* TEXTO INFERIOR */
    .franja-confianza .elementor-widget-text-editor,
    .franja-confianza .elementor-widget-text-editor p {
        width: 100% !important;

        font-size: 8px !important;
        line-height: 1.15 !important;

        text-align: center !important;

        margin: 0 !important;
        padding: 0 !important;
    }
}
/* =========================================================
   HOME MÓVIL — CORREGIR RECORTE DE LOS 3 TÍTULOS
   ========================================================= */

@media (max-width: 767px) {

    .franja-confianza,
    .franja-confianza > .elementor-container,
    .franja-confianza .elementor-column {
        overflow: visible !important;
    }

    .franja-confianza .elementor-heading-title {
        width: 100% !important;
        max-width: 100% !important;

        font-size: clamp(8px, 2.5vw, 10px) !important;
        line-height: 1.08 !important;

        text-align: center !important;

        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;

        margin: 5px 0 5px !important;
        padding: 0 1px !important;
    }

    .franja-confianza .elementor-widget-heading {
        width: 100% !important;
        max-width: 100% !important;
    }

    .franja-confianza .elementor-widget-text-editor,
    .franja-confianza .elementor-widget-text-editor p {
        font-size: 9px !important;
        line-height: 1.15 !important;
        text-align: center !important;
    }
}
/* =========================================================
   HOME MÓVIL — REPARTO DEFINITIVO DE LAS 3 COLUMNAS
   ========================================================= */

@media (max-width: 767px) {

    /* Primera columna: 30+ AÑOS */
    .franja-confianza > .elementor-container > .elementor-column:nth-child(1) {
        width: 27% !important;
        max-width: 27% !important;
        flex: 0 0 27% !important;
    }

    /* Segunda columna: MASA ARTESANAL */
    .franja-confianza > .elementor-container > .elementor-column:nth-child(2) {
        width: 33% !important;
        max-width: 33% !important;
        flex: 0 0 33% !important;
    }

    /* Tercera columna: REPARTO A DOMICILIO */
    .franja-confianza > .elementor-container > .elementor-column:nth-child(3) {
        width: 40% !important;
        max-width: 40% !important;
        flex: 0 0 40% !important;
    }

    /* Evitar recortes internos */
    .franja-confianza .elementor-column,
    .franja-confianza .elementor-widget-heading,
    .franja-confianza .elementor-heading-title {
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    /* Solo el título de reparto, ligeramente más compacto */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(3) .elementor-heading-title {
        font-size: 9px !important;
        line-height: 1.05 !important;
        padding: 0 2px !important;
    }
}
/* =========================================================
   HOME MÓVIL — REDUCIR TÍTULOS DE LA FRANJA
   ========================================================= */

@media (max-width: 767px) {

    .franja-confianza .elementor-heading-title {
        font-size: 8.5px !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        padding: 0 2px !important;
    }

    /* La columna central necesita un poco más de aire */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(2) .elementor-heading-title {
        font-size: 8px !important;
    }

    /* Reparto también compacto */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(3) .elementor-heading-title {
        font-size: 8px !important;
    }
}
/* =========================================================
   HOME MÓVIL — AJUSTE FINAL ANCHOS FRANJA CONFIANZA
   ========================================================= */

@media (max-width: 767px) {

    /* 30+ AÑOS */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(1) {
        width: 24% !important;
        max-width: 24% !important;
        flex: 0 0 24% !important;
    }

    /* MASA ARTESANAL */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(2) {
        width: 36% !important;
        max-width: 36% !important;
        flex: 0 0 36% !important;
    }

    /* REPARTO A DOMICILIO */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(3) {
        width: 40% !important;
        max-width: 40% !important;
        flex: 0 0 40% !important;
    }

    /* Segunda columna */
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(2) .elementor-heading-title {
        font-size: 8px !important;
        white-space: normal !important;
        overflow: visible !important;
    }
}
/* =========================================================
   HOME MÓVIL — AJUSTE FINAL TÍTULOS FRANJA CONFIANZA
   ========================================================= */

@media (max-width: 767px) {

    .franja-confianza .elementor-heading-title {
        font-size: 6px !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        padding: 0 1px !important;
    }

    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(2) .elementor-heading-title {
        font-size: 7.5px !important;
    }

    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(3) .elementor-heading-title {
        font-size: 7.5px !important;
    }
}
/* =========================================================
   HOME MÓVIL — TÍTULOS FRANJA MÁS PEQUEÑOS
   ========================================================= */

@media (max-width: 767px) {

    .franja-confianza .elementor-heading-title {
        font-size: 6px !important;
        line-height: 1.05 !important;
        letter-spacing: 0 !important;
        padding: 0 1px !important;
    }

    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(2) .elementor-heading-title,
    
    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(3) .elementor-heading-title {
        font-size: 6px !important;
    }
}
/* =========================================================
   HOME MÓVIL — TAMAÑO REAL DE TÍTULOS FRANJA CONFIANZA
   ========================================================= */

@media (max-width: 767px) {

    /* Títulos reales de los Icon Box */
    .franja-confianza .elementor-icon-box-title,
    .franja-confianza .elementor-icon-box-title span {
        font-size: 17px !important;
        line-height: 1.08 !important;
        letter-spacing: 0 !important;
        margin: 7px 0 5px !important;
        padding: 0 !important;
        text-align: center !important;
    }

    /* Texto inferior */
    .franja-confianza .elementor-icon-box-description {
        font-size: 14px !important;
        line-height: 1.25 !important;
        margin: 0 !important;
        text-align: center !important;
    }

    /* Iconos */
    .franja-confianza .elementor-icon {
        font-size: 24px !important;
    }
}
/* =========================================================
   HOME MÓVIL — AJUSTAR POSICIÓN COLUMNA CENTRAL
   ========================================================= */

@media (max-width: 767px) {

    .franja-confianza > .elementor-container >
    .elementor-column:nth-child(2) {
        transform: translateX(6px) !important;
    }

}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'recoletta';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://pizzerialaeuropea.es/wp-content/uploads/2022/11/Recoleta-Black.ttf') format('truetype');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Backw';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://pizzerialaeuropea.es/wp-content/uploads/2022/11/TT-Backwards-Script-Regular.ttf') format('truetype');
}
/* End Custom Fonts CSS */