/* Estilos específicos para index.php */

html {
    padding-left: 0;
    padding-right: 0;
}

/* Anclas desde el ABM de secciones (banderas de preview por idioma) */
section[id^="inicio-seccion-"] {
    scroll-margin-top: 100px;
}

/* PC: contenido con 10% de margen a cada lado (menú a ancho completo) */
@media (min-width: 992px) {
    body.page-inicio > .categoria,
    body.page-inicio > section {
        width: 80%;
        margin-left: 10%;
        margin-right: 10%;
        box-sizing: border-box;
    }

    body.page-inicio > #main-header {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
    }
}

/* Footer home = mismo criterio que pages/product.php (sin groove de Chrome) */
body.page-inicio footer {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    border-top: none !important;
}

body.page-inicio #registrarse {
    border-bottom: none !important;
    gap: 0.85rem;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.1rem;
    padding: 1rem 0;
    box-sizing: border-box;
    margin-left: auto;
    margin-right: auto;
}

body.page-inicio #registrarse #texto1 {
    font-family: 'BentonSans-Regular', 'BentonSans-Bold';
    font-size: 1.1rem;
    line-height: 1.3;
    flex: 0 0 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
}

body.page-inicio #registrarse #txtemail {
    font-size: 1.1rem;
    height: 2.5rem;
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

body.page-inicio #registrarse #buscar2 {
    margin: 0;
    flex: 0 0 auto;
    flex-shrink: 0;
    font-size: 1rem;
    height: 2.5rem;
    width: auto;
    min-width: 10rem;
    padding: 0 1rem;
}

body.page-inicio footer .linea.espacio.blackblanco {
    display: none;
}

body.page-inicio #redes {
    box-sizing: border-box;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (min-width: 992px) {
    /* Mismo ancho que .inicio-contenido (body de la home) */
    body.page-inicio footer {
        box-sizing: border-box;
        width: auto;
        max-width: 100%;
        margin: 0 10%;
        padding: 0 2rem;
    }

    body.page-inicio #registrarse,
    body.page-inicio #redes {
        width: 100%;
        max-width: 100%;
    }
}

@media (max-width: 991px) {
    body.page-inicio #registrarse,
    body.page-inicio #redes {
        width: 100%;
        max-width: 100%;
    }
}

/* Chrome: evitar groove (varias líneas); línea blanca a todo el ancho de pantalla */
body.page-inicio #main-header {
    border-bottom: none;
    position: relative;
    overflow: visible;
}

body.page-inicio #main-header::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: auto;
    height: 2px;
    background: #fff;
    pointer-events: none;
    z-index: 2;
}

body.page-inicio .categoria {
    margin-top: 0;
    border: none !important;
    background-color: #000;
}

/* Misma tipografía que .h1Home en /productos/ (BentonSans 300 / 22.5px) */
body.page-inicio .categoria .h1Home {
    margin: 0;
    padding: 1rem 0;
    border: none;
    color: #fff;
    text-align: center;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif !important;
    font-weight: 300 !important;
    font-size: 22.5px !important;
    letter-spacing: normal !important;
    line-height: normal;
    font-style: normal;
    font-optical-sizing: none;
    font-variation-settings: normal;
    box-sizing: border-box;
}

body.page-inicio .categoria .h1Home,
body.page-inicio .categoria .h1Home * {
    font-family: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif !important;
    font-weight: 300 !important;
    letter-spacing: normal !important;
}

body.page-inicio .banner-h2 {
    border-top: 1px solid #111;
    border-bottom: 1px solid #111;
    margin: 0;
    padding: 1rem;
    box-sizing: border-box;
}

/* El margin por defecto del h2 hinchaba el banner gris y dejaba el título pegado abajo */
body.page-inicio .banner-h2 h2 {
    margin: 0 !important;
    padding: 0;
    line-height: 1.2;
}

/* Sin huecos negros entre secciones (el body es negro; cualquier margen colapsado se ve como franja) */
body.page-inicio .inicio-contenido > section {
    display: flow-root;
    margin: 0;
    padding: 0;
    border: none;
}

/* Alto = fotos. Un min-height de 345px dejaba hueco bajo las imágenes:
   en PC el tope de .container-1200 img las deja en 280px, y en anchos
   menores el slide es todavía más bajo. */
body.page-inicio .swiper-container-wrapper {
    min-height: 0;
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

.h1Home {
    font-family: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif;
    font-weight: 300;
    font-style: normal;
}

section {
    background-color: #fff;
}

h3.h3 {
    text-align: center;
    margin-top: 4rem;
    margin-bottom: 4rem;
}

@media (min-width: 992px) {
    body.page-inicio .inicio-contenido {
        box-sizing: border-box;
        width: auto;
        max-width: 100%;
        padding: 0 2rem;
        margin: 0 10%;
    }

    body.page-inicio h3.h3 {
        margin-top: 2.5rem;
        margin-bottom: 2.5rem;
    }

    body.page-inicio .swiper-slide {
        justify-content: center;
    }

    body.page-inicio .banner-h2 {
        padding: 1.1rem;
    }

    body.page-inicio .container-1200 {
        max-width: 1485px;
        padding: 1.24rem 1.65rem 2.06rem;
    }

    body.page-inicio p {
        font-size: 1.73rem;
    }

    /* Imágenes de secciones (tamaño contenido, no gigantes) */
    body.page-inicio .container-1200 img,
    body.page-inicio .cont-doble img,
    body.page-inicio .btn-img img,
    body.page-inicio .inicio-alquiler-media img {
        max-width: 380px !important;
        width: auto !important;
        max-height: 280px !important;
        height: auto !important;
        object-fit: contain;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    body.page-inicio .btn-primary,
    body.page-inicio .btn-img > h4 {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        line-height: 1;
        margin: 2.06rem auto;
        font-size: 2.06rem;
        padding: 1.28rem 1.98rem 1.04rem;
    }

    body.page-inicio .swiper-container-wrapper {
        max-width: min(1100px, 100%);
        overflow: hidden;
    }

    body.page-inicio .swiper-slide img {
        max-width: 345px !important;
    }

    /* Alquiler: mismo padding lateral que Restauraciones / Locales */
    body.page-inicio .inicio-alquiler .container-1200 {
        padding: 0rem 11rem 1.5rem;
        box-sizing: border-box;
    }

    /* Alquiler: imagen con el mismo ancho útil que Restauraciones */
    body.page-inicio .inicio-alquiler .inicio-alquiler-media {
        width: 100%;
        max-width: 1100px;
        margin-left: auto;
        margin-right: auto;
        overflow: hidden;
        box-sizing: border-box;
    }

    body.page-inicio .inicio-alquiler .inicio-alquiler-media img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        max-height: 522px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 auto 1.5rem !important;
    }

    /* Locales: fotos ampliadas intercaladas con historia */
    body.page-inicio .inicio-locales .inicio-locales-rows {
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        width: 100%;
        max-width: 1100px;
        margin: 0 auto 1.5rem;
    }

    body.page-inicio .inicio-locales .inicio-locales-row {
        align-items: stretch;
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
        justify-content: center;
        gap: 2.5rem;
        min-height: 320px;
        height: 320px;
    }

    body.page-inicio .inicio-locales .inicio-locales-row--text-right {
        flex-direction: row-reverse;
    }

    body.page-inicio .inicio-locales .inicio-locales-row > div {
        flex: 1 1 0;
        width: auto;
        max-width: 50%;
        min-width: 0;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy-col {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        min-height: 0;
        overflow: hidden;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy {
        width: 100%;
        max-width: var(--inicio-locales-text-max, 100%); /* igual al ancho real de la 3.ª foto */
        box-sizing: border-box;
        max-height: 100%;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 9;
        line-clamp: 9;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy,
    body.page-inicio .inicio-locales .inicio-locales-copy * {
        color: #111 !important;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy .ql-align-center {
        text-align: center;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy .ql-align-right {
        text-align: right;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy .ql-align-justify {
        text-align: justify;
    }

    body.page-inicio .inicio-locales .inicio-locales-media {
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        align-self: stretch;
        min-height: 0;
        overflow: hidden;
        position: relative;
        gap: 0;
    }

    body.page-inicio .inicio-locales .inicio-locales-media img,
    body.page-inicio .inicio-locales img {
        max-width: 100% !important;
        max-height: calc(100% - 3.75rem) !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain;
        margin: 0 auto;
        display: block;
        flex: 0 1 auto;
        min-height: 0;
    }

    body.page-inicio .inicio-locales .inicio-locales-media video {
        display: block;
        max-width: 100% !important;
        max-height: calc(100% - 3.75rem) !important;
        width: auto !important;
        height: auto !important;
        object-fit: contain;
        margin: 0 auto;
        background: #000;
        pointer-events: none;
        flex: 0 1 auto;
        min-height: 0;
    }

    body.page-inicio .inicio-locales .inicio-locales-name {
        margin: 1.5rem 0 0;
        padding: 0;
        flex: 0 0 auto;
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 700;
        font-size: 1.55rem;
        letter-spacing: 0.04em;
        line-height: 1.25;
        text-align: center;
        color: #111;
        text-transform: uppercase;
    }

    /* Restauraciones / Envíos / Novedades: imagen grande, sin salir del recuadro */
    body.page-inicio .inicio-restauraciones .cont-doble,
    body.page-inicio .inicio-envios .cont-doble,
    body.page-inicio .inicio-novedades .cont-doble {
        align-items: center;
        gap: 1.5rem;
    }

    /* Locales: mismo ancho útil que Restauraciones */
    body.page-inicio .inicio-locales .container-1200 {
        padding: 0rem 11rem 1.5rem;
        box-sizing: border-box;
    }

    /* Catálogo / slide de productos: mismo ancho útil que Restauraciones */
    body.page-inicio .inicio-catalogo .container-1200 {
        padding: 0rem 11rem 1.5rem;
        box-sizing: border-box;
    }

    body.page-inicio .inicio-catalogo .swiper-container-wrapper {
        width: 100% !important;
        max-width: 1100px !important;
        margin-left: auto;
        margin-right: auto;
    }

    /* Restauraciones / Envíos / Novedades: mismo ancho útil en PC */
    body.page-inicio .inicio-restauraciones .container-1200,
    body.page-inicio .inicio-envios .container-1200,
    body.page-inicio .inicio-novedades .container-1200 {
        padding: 0rem 11rem 1.5rem;
        min-height: 0;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        box-sizing: border-box;
    }

    /* Revistas: mismo ancho útil que locals.php (80%) */
    body.page-inicio .inicio-revistas .container-1200 {
        width: 80%;
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
        padding: 0 0 1.5rem;
        box-sizing: border-box;
    }

    body.page-inicio .inicio-revistas .locals-media-dual {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

    /* Diseñadores / Estilos: padding lateral 6rem */
    body.page-inicio .inicio-disenadores .container-1200,
    body.page-inicio .inicio-estilos .container-1200 {
        padding: 0 6rem 1.5rem;
        box-sizing: border-box;
    }

    body.page-inicio .inicio-restauraciones .container-1200 > h3.h3,
    body.page-inicio .inicio-restauraciones .inicio-restauraciones-lead,
    body.page-inicio .inicio-envios .container-1200 > h3.h3,
    body.page-inicio .inicio-envios .inicio-envios-lead {
        margin-top: 3rem !important;
        margin-bottom: 0;
        flex: 0 0 auto;
    }

    /* Novedades: el aire bajo el subtítulo iguala el de arriba (3rem). */
    body.page-inicio .inicio-novedades .container-1200 > h3.h3 {
        margin-top: 3rem !important;
        margin-bottom: 3rem !important;
        flex: 0 0 auto;
    }

    body.page-inicio .inicio-restauraciones .cont-doble,
    body.page-inicio .inicio-envios .cont-doble,
    body.page-inicio .inicio-novedades .cont-doble {
        align-items: stretch;
        width: 100%;
        max-width: 1100px;
        margin: 0 auto;
        justify-content: center;
        gap: 2.5rem;
        flex: 0 0 auto;
        min-height: 500px;
        height: 500px;
    }

    body.page-inicio .inicio-novedades .cont-doble {
        min-height: 0;
        height: auto;
        align-items: center;
    }

    body.page-inicio .inicio-restauraciones .cont-doble > div,
    body.page-inicio .inicio-envios .cont-doble > div,
    body.page-inicio .inicio-novedades .cont-doble > div {
        flex: 1 1 0;
        width: auto;
        max-width: 50%;
        min-width: 0;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-copy-col,
    body.page-inicio .inicio-envios .inicio-envios-copy-col,
    body.page-inicio .inicio-novedades .inicio-novedades-copy-col {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-media,
    body.page-inicio .inicio-envios .inicio-envios-media,
    body.page-inicio .inicio-novedades .inicio-novedades-media {
        display: flex !important;
        align-items: center;
        justify-content: center;
        align-self: stretch;
        min-height: 0;
        overflow: hidden;
        position: relative;
    }

    body.page-inicio .inicio-novedades .cont-doble > div {
        min-width: 0;
    }

    body.page-inicio .inicio-novedades .cont-doble > div:has(img) {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        overflow: visible;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-media img,
    body.page-inicio .inicio-envios .inicio-envios-media img,
    body.page-inicio .inicio-novedades .inicio-novedades-media img {
        position: static !important;
        inset: auto !important;
        flex: 0 1 auto;
        width: auto !important;
        max-width: 100% !important;
        height: 80% !important;
        max-height: 80% !important;
        object-fit: contain !important;
        object-position: center;
        display: block !important;
        margin: auto !important;
    }

    body.page-inicio .inicio-novedades .inicio-novedades-media img {
        height: auto !important;
        max-height: 420px !important;
        margin: 0 auto !important;
    }

    /* Diseñadores / Estilos: imágenes +15% y nombres centrados */
    body.page-inicio .inicio-disenadores .btn-img,
    body.page-inicio .inicio-estilos .btn-img {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    body.page-inicio .inicio-disenadores .btn-img img,
    body.page-inicio .inicio-estilos .btn-img img {
        max-width: 524px !important;
        max-height: 386px !important;
    }
}

/* Diseñadores / Estilos: etiqueta ajustada al texto (sin huecos laterales al wrap) */
body.page-inicio .inicio-disenadores .btn-img > h4,
body.page-inicio .inicio-estilos .btn-img > h4 {
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: auto !important;
    max-width: 100%;
    margin: 0.75rem auto !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
    font-size: inherit !important;
    letter-spacing: normal !important;
    line-height: normal;
}

body.page-inicio .inicio-disenadores .btn-img > h4 > .inicio-nombre,
body.page-inicio .inicio-estilos .btn-img > h4 > .inicio-nombre {
    display: inline-block;
    width: fit-content;
    max-width: 100%;
    box-sizing: border-box;
    border: 1px solid #111;
    border-radius: 12px;
    background: #fff;
    padding: 0.55rem 0.7rem;
    font-family: "Martel", serif;
    font-weight: 700;
    font-size: 1.55rem;
    letter-spacing: 1px;
    line-height: 1.3;
    text-align: center;
    white-space: normal;
    text-wrap: balance;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: manual;
    text-transform: capitalize;
    transition: all .25s ease;
}

body.page-inicio .inicio-disenadores .btn-img:hover > h4 > .inicio-nombre,
body.page-inicio .inicio-estilos .btn-img:hover > h4 > .inicio-nombre {
    filter: brightness(.92);
    transform: translateY(-1px);
}

/* Toda la sección restauraciones de inicio es clicable */
body.page-inicio .inicio-restauraciones {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-restauraciones .btn-primary {
    margin: 2.06rem auto 0 !important;
}

body.page-inicio .inicio-restauraciones-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

/* Toda la sección envíos de inicio es clicable */
body.page-inicio .inicio-envios {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-envios .btn-primary {
    margin: 2.06rem auto 0 !important;
}

body.page-inicio .inicio-envios-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

/* Toda la sección alquileres de inicio es clicable */
body.page-inicio .inicio-alquiler {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-alquiler-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

/* Toda la sección novedades de inicio es clicable */
body.page-inicio .inicio-novedades {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-novedades-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

body.page-inicio .inicio-novedades-copy,
body.page-inicio .inicio-novedades-copy * {
    color: inherit;
}

/* Prensa y Eventos: misma marca visual/markup que locals.php */
body.page-inicio .inicio-revistas {
    position: relative;
    --locals-muted: #666;
}

body.page-inicio .inicio-revistas .inicio-revistas-text-link {
    color: inherit;
    text-decoration: none;
}

/* Leads por columna: solo visibles ≤991px (no alteran PC) */
body.page-inicio .inicio-revistas .inicio-revistas-col-lead {
    display: none;
}

body.page-inicio .inicio-revistas .locals-media-dual,
body.page-inicio .inicio-revistas .locals-media-dual * {
    font-family: "Gotham A", "Gotham B", Montserrat, sans-serif;
}

body.page-inicio .inicio-revistas .locals-media-column--linked.is-clickable {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-revistas .locals-media-column-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

body.page-inicio .inicio-revistas .locals-external-media picture.inicio-media-picture {
    display: contents;
}

body.page-inicio .inicio-revistas .locals-external-media img,
body.page-inicio .inicio-revistas .locals-external-card .locals-external-media img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: auto !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    object-position: center;
    background: transparent;
}

/* Anular tipografía global del inicio (h3 letter-spacing / size) */
body.page-inicio .inicio-revistas .locals-external-card h3 {
    width: auto;
    max-width: 100%;
    margin: 0.9rem 0 0.35rem !important;
    padding: 0;
    box-sizing: border-box;
    font-size: clamp(1.45rem, 2.6vw, 1.95rem) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-align: center;
    text-transform: none;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.page-inicio .inicio-revistas .locals-external-card time {
    display: block;
    width: auto;
    max-width: 100%;
    margin: 0 0 0.55rem;
    padding: 0;
    box-sizing: border-box;
    color: var(--locals-muted, #666);
    font-size: clamp(1.15rem, 1.9vw, 1.35rem) !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

body.page-inicio .inicio-revistas .locals-media-column {
    overflow: visible;
    display: flex;
    flex-direction: column;
    height: 100%;
}

body.page-inicio .inicio-revistas .locals-external-cta {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    width: 100%;
    margin-top: auto;
    margin-bottom: 0;
    padding-top: 0.5rem;
}

body.page-inicio .inicio-revistas .locals-external-cta .btn-primary {
    margin: 1.25rem auto 0.5rem !important;
    font-size: 1.55rem !important;
    padding: 1rem 1.45rem 0.8rem !important;
    line-height: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none;
}

/* Toda la sección locales de inicio es clicable */
body.page-inicio .inicio-locales {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-locales-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

/* Texto del bloque: negritas en negro (sin celeste del editor / estilos globales) */
body.page-inicio .inicio-restauraciones-copy,
body.page-inicio .inicio-restauraciones-copy *,
body.page-inicio .inicio-envios-copy,
body.page-inicio .inicio-envios-copy * {
    color: #111 !important;
}

.cont-doble {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.btn-img:hover > img {
    transform: scale(.95);
    transition: transform 0.3s;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-img > h4 {
    border: #111 solid 1px;
    padding: 1.12rem 1.5rem 0.88rem;
    width: fit-content;
    max-width: 100%;
    margin: .5rem auto !important;
    font-family: "Martel", serif;
    font-weight: 700;
    box-sizing: border-box;
}

.cont-doble > div,
.cont-doble > a {
    width: 48%;
    min-width: 0;
    box-sizing: border-box;
}

.cont-center {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.container-1200 {
    max-width: 1000px;
    margin: 0 auto;
    padding: 1rem;
}


.btn-primary,
.btn-img > h4 {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    border: #111 solid 1px;
    /* Martel se ve alto sin descendentes: más padding arriba que abajo */
    padding: 1.12rem 1.5rem 0.88rem;
    background-color: #fff;
    color: #111;
    text-decoration: none;
    margin: 3rem auto;
    font-size: 1.75rem;
    font-family: "Martel", serif !important;
    font-weight: 900;
    line-height: 1;
}

.banner-h2 {
    background-color: #ccc;
    padding: 1rem;
    text-align: center;
    margin-bottom: 0rem;
    border-top: 1px solid #111;
    border-bottom: 1px solid #111;
}

* {
    font-family: "Saira", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-variation-settings: "wdth" 100;
}

p {
    font-size: 1.25rem;
}

h1 {
    font-size: 3rem !important;
}

h3 {
    font-size: 2.25rem !important;
    font-weight: 500 !important;
}

h2 {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    font-size: 2.5rem !important;
}

h4 {
    text-align: center;
    font-weight: 700;
    font-size: 1.75rem;
}

h1,
h2,
h3,
h4 {
    letter-spacing: 5px;
}

p {
    font-size: 1.4rem;
    letter-spacing: .1rem;
}

/* Estilos específicos de secciones */

.swiper-container-wrapper {
    max-width: 1650px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: space-between;
}

/* Toda la sección catálogo de inicio es clicable (excepto imágenes de producto) */
body.page-inicio .inicio-catalogo {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-catalogo-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

body.page-inicio .inicio-catalogo .swiper-slide {
    position: relative;
    z-index: 5;
}

/* Toda la sección estilos de inicio es clicable (excepto cada ítem) */
body.page-inicio .inicio-estilos {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-estilos-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

body.page-inicio .inicio-estilos .btn-img {
    position: relative;
    z-index: 5;
}

/* Toda la sección diseñadores de inicio es clicable (excepto cada ítem) */
body.page-inicio .inicio-disenadores {
    position: relative;
    cursor: pointer;
}

body.page-inicio .inicio-disenadores-link {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: block;
    text-decoration: none;
}

body.page-inicio .inicio-disenadores .btn-img {
    position: relative;
    z-index: 5;
}

body.page-inicio .inicio-catalogo .swiper-container-wrapper {
    position: relative;
    z-index: 5;
    max-width: 1100px;
}

body.page-inicio .inicio-catalogo .cont-center .btn-primary {
    margin-top: 5rem !important;
    margin-bottom: 1.25rem;
}

body.page-inicio .inicio-novedades .cont-center .btn-primary {
    margin-top: 0.15rem !important;
    margin-bottom: 1.25rem;
}

body.page-inicio .inicio-catalogo .swiper-slide img,
body.page-inicio .inicio-catalogo .home-product-image {
    object-position: bottom center;
}

.swiper-slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: end;
}

.swiper-slide img {
    width: 100%;
    max-width: 345px;
    height: auto;
    display: block;
    aspect-ratio: 1;
    object-fit: contain;
    margin: 0 auto;
}

.btn-img {
    min-width: 0;
    max-width: 100%;
    box-sizing: border-box;
}

.btn-img img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 1;
    object-fit: contain;
}

/* Fallback defensivo para evitar imagenes gigantes por dimensiones inesperadas */
body.page-inicio section img {
    max-width: 100%;
    height: auto;
}

.btn-img h4 {
    text-align: center;
}

/* Celular / tablet: contenedores al ancho útil, sin paddings de escritorio */
@media (max-width: 991px) {
    /* Neutraliza min-width:300px global: no ensancha el documento en pantallas <300px. */
    body.page-inicio {
        min-width: 0;
        max-width: 100%;
    }

    body.page-inicio > .categoria,
    body.page-inicio > section {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        box-sizing: border-box;
        min-width: 0;
    }

    /*
     * Título principal ≤991px: una sola línea completa (sin cortar "Vintage").
     * Divisor ~25: cabe el ES largo en ~320–375px; más legible que /36.
     * ≥992px no aplica.
     */
    body.page-inicio .categoria {
        container-type: inline-size;
        container-name: inicio-titulo;
        display: flex;
        justify-content: center;
        align-items: center;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: clamp(0.75rem, 3.2vw, 1.25rem);
        padding-right: clamp(0.75rem, 3.2vw, 1.25rem);
        min-width: 0;
        overflow-x: clip;
    }

    body.page-inicio .categoria > .h1Home {
        flex: 1 1 auto;
        align-self: center;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        margin: 0;
        text-align: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: clip;
        padding: 0.7rem 0;
        font-size: clamp(1rem, calc(100cqi / 25), 1.72rem) !important;
        line-height: 1.2;
    }

    body.page-inicio .inicio-contenido {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        margin: 0;
        padding: 0 clamp(0.75rem, 3.2vw, 1.25rem);
        /* Contenedor de secciones: no recorta header/menús/popups (viven fuera). */
        overflow-x: clip;
    }

    body.page-inicio footer {
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0 clamp(0.75rem, 3.2vw, 1.25rem);
    }

    body.page-inicio .container-1200 {
        width: 100%;
        max-width: 100%;
        /* Sin padding vertical: el 16px lo marcan títulos/subtítulos (evita sumar). */
        padding: 0;
        box-sizing: border-box;
    }

    body.page-inicio .inicio-alquiler .container-1200,
    body.page-inicio .inicio-locales .container-1200,
    body.page-inicio .inicio-catalogo .container-1200,
    body.page-inicio .inicio-restauraciones .container-1200,
    body.page-inicio .inicio-envios .container-1200,
    body.page-inicio .inicio-novedades .container-1200,
    body.page-inicio .inicio-disenadores .container-1200,
    body.page-inicio .inicio-estilos .container-1200,
    body.page-inicio .inicio-revistas .container-1200 {
        width: 100%;
        max-width: 100%;
        /* El aire bajo el CTA lo marca el margin del botón (igual arriba/abajo). */
        padding: 0;
        box-sizing: border-box;
    }

    /*
     * Subtítulos de sección ≤991px: 16px arriba = 16px abajo.
     * Selectores bajo body.page-inicio (no h3 globales del sitio).
     */
    body.page-inicio .container-1200 > h3.h3,
    body.page-inicio h3.h3.inicio-restauraciones-lead,
    body.page-inicio h3.h3.inicio-envios-lead {
        margin-top: 16px;
        margin-bottom: 16px;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: clamp(12px, 2.2vw, 16px);
        padding-right: clamp(12px, 2.2vw, 16px);
        box-sizing: border-box;
        font-size: clamp(1.35rem, 4.2vw, 1.81rem) !important;
        letter-spacing: 0.06em;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /* Un solo contenedor de texto: ~12px celular / ~16px tablet (sin sumar en p/li hijos) */
    body.page-inicio .inicio-locales-copy,
    body.page-inicio .inicio-restauraciones-copy,
    body.page-inicio .inicio-envios-copy,
    body.page-inicio .inicio-novedades-copy {
        padding-left: clamp(12px, 2.2vw, 16px);
        padding-right: clamp(12px, 2.2vw, 16px);
        box-sizing: border-box;
    }

    body.page-inicio p {
        font-size: 1.15rem;
        letter-spacing: 0.04rem;
    }

    /* Franja gris ≤991: un poco menos alta; título centrado en vertical. */
    body.page-inicio .banner-h2 {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 10px clamp(12px, 2.2vw, 16px);
        box-sizing: border-box;
        text-align: center;
    }

    body.page-inicio .banner-h2 h2 {
        margin: 0 !important;
        padding: 0;
        line-height: 1.15;
        font-size: clamp(1.45rem, 5vw, 2.15rem) !important;
        letter-spacing: 0.08em;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-inicio .cont-doble {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: center;
        gap: clamp(1rem, 3vw, 1.5rem);
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 0;
        box-sizing: border-box;
    }

    body.page-inicio .cont-doble > div,
    body.page-inicio .cont-doble > a {
        flex: 1 1 14rem;
        width: auto;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    body.page-inicio .container-1200 img,
    body.page-inicio .cont-doble img,
    body.page-inicio .btn-img img,
    body.page-inicio .inicio-alquiler-media img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        max-height: none !important;
        object-fit: contain;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    body.page-inicio .btn-primary {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        max-width: 100%;
        width: auto;
        /* Misma distancia arriba y abajo del botón (≤991). */
        margin: 12px auto;
        padding: 0.95rem 1.15rem 0.8rem;
        font-size: clamp(1.1rem, 3.8vw, 1.65rem);
        line-height: 1.15;
        white-space: normal;
        text-align: center;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-inicio .inicio-catalogo .cont-center .btn-primary,
    body.page-inicio .inicio-novedades .cont-center .btn-primary {
        margin: 12px auto !important;
    }

    /* Diseñadores / Estilos: columnas flexibles; 2 si cabe, 1 si no */
    body.page-inicio .inicio-disenadores .cont-doble,
    body.page-inicio .inicio-estilos .cont-doble {
        align-items: flex-start;
    }

    body.page-inicio .inicio-disenadores .cont-doble > a.btn-img,
    body.page-inicio .inicio-estilos .cont-doble > a.btn-img {
        flex: 1 1 calc(50% - 0.75rem);
        min-width: min(100%, 12.5rem);
        /* En tablet no crece más que una columna de celular grande (~480px). */
        max-width: min(100%, 240px);
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        container-type: inline-size;
        container-name: inicio-nombre-card;
    }

    body.page-inicio .inicio-disenadores .btn-img img,
    body.page-inicio .inicio-estilos .btn-img img {
        max-width: 100% !important;
        max-height: none !important;
        width: 100% !important;
        height: auto !important;
        aspect-ratio: 1;
        object-fit: contain;
    }

    /*
     * Nombres ≤991: píldora al texto (como PC).
     * Cabe en 1 línea → fit-content. Si no entra → salto de línea.
     * max-width acotado (no 100% de columna): evita la caja ancha con huecos.
     */
    body.page-inicio .inicio-disenadores .btn-img > h4,
    body.page-inicio .inicio-estilos .btn-img > h4 {
        display: block !important;
        align-self: center;
        width: fit-content !important;
        max-width: 100%;
        margin: 0.75rem auto !important;
        padding: 0 !important;
        border: none !important;
        background: transparent !important;
        font-size: inherit !important;
        letter-spacing: normal !important;
        line-height: normal;
    }

    body.page-inicio .inicio-disenadores .btn-img > h4 > .inicio-nombre,
    body.page-inicio .inicio-estilos .btn-img > h4 > .inicio-nombre {
        display: block;
        width: fit-content;
        max-width: 100%;
        box-sizing: border-box;
        border: 1px solid #111;
        border-radius: 12px;
        background: #fff;
        padding: 0.45rem 0.65rem;
        font-family: "Martel", serif;
        font-weight: 700;
        font-size: clamp(1.1rem, 9cqi, 1.55rem);
        letter-spacing: 1px;
        line-height: 1.25;
        text-align: center;
        white-space: normal;
        text-wrap: wrap;
        overflow-wrap: break-word;
        word-break: normal;
        text-transform: capitalize;
        /* Ancho final al texto: src/js/inicio/nombres.js (línea más ancha + padding). */
    }

    /* Locales / Alquiler / Envíos / Restauraciones / Novedades: una columna legible */
    body.page-inicio .inicio-locales .inicio-locales-rows {
        /* Separación nombre → texto: .inicio-locales-name. Sin margen extra antes del CTA. */
        gap: 0;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    body.page-inicio .inicio-locales .inicio-locales-row,
    body.page-inicio .inicio-locales .inicio-locales-row--text-right,
    body.page-inicio .inicio-restauraciones .cont-doble,
    body.page-inicio .inicio-envios .cont-doble,
    body.page-inicio .inicio-novedades .cont-doble {
        flex-direction: column;
        flex-wrap: nowrap;
        height: auto;
        min-height: 0;
        align-items: stretch;
        justify-content: flex-start;
        gap: 1.25rem;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    body.page-inicio .inicio-locales .inicio-locales-row > div,
    body.page-inicio .inicio-restauraciones .cont-doble > div,
    body.page-inicio .inicio-envios .cont-doble > div,
    body.page-inicio .inicio-novedades .cont-doble > div {
        flex: 1 1 auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.page-inicio .inicio-locales .inicio-locales-copy {
        -webkit-line-clamp: unset;
        line-clamp: unset;
        max-height: none;
        overflow: visible;
        max-width: 100%;
    }

    body.page-inicio .inicio-locales .inicio-locales-media,
    body.page-inicio .inicio-restauraciones .inicio-restauraciones-media,
    body.page-inicio .inicio-envios .inicio-envios-media,
    body.page-inicio .inicio-novedades .inicio-novedades-media,
    body.page-inicio .inicio-alquiler .inicio-alquiler-media {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
        min-height: 0;
        overflow: visible;
        box-sizing: border-box;
    }

    body.page-inicio .inicio-locales .inicio-locales-media img,
    body.page-inicio .inicio-locales img,
    body.page-inicio .inicio-locales .inicio-locales-media video,
    body.page-inicio .inicio-restauraciones .inicio-restauraciones-media img,
    body.page-inicio .inicio-envios .inicio-envios-media img,
    body.page-inicio .inicio-novedades .inicio-novedades-media img,
    body.page-inicio .inicio-alquiler .inicio-alquiler-media img {
        position: static !important;
        inset: auto !important;
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        max-height: min(336px, 70vw) !important;
        object-fit: contain !important;
        margin: 0 auto !important;
        flex: 0 1 auto;
        min-height: 0;
    }

    /*
     * Locales ≤991px: Arial 700, una línea completa sin ellipsis.
     * cqi respecto del media: escala en viewports estrechos (p. ej. 271px).
     */
    body.page-inicio .inicio-locales .inicio-locales-media {
        container-type: inline-size;
        container-name: inicio-locales-media;
        min-width: 0;
        max-width: 100%;
    }

    body.page-inicio .inicio-locales .inicio-locales-name {
        margin: 16px 0;
        padding: 0 clamp(8px, 2.2vw, 16px);
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 700;
        font-size: clamp(0.5rem, calc(100cqi / 32), 1.15rem);
        letter-spacing: 0.04em;
        line-height: 1.25;
        text-align: center;
        text-transform: uppercase;
        color: #111;
        white-space: nowrap;
        overflow: visible;
        text-overflow: clip;
    }

    body.page-inicio .inicio-locales .inicio-locales-row + .inicio-locales-row .inicio-locales-copy,
    body.page-inicio .inicio-locales .inicio-locales-row + .inicio-locales-row .inicio-locales-copy > :first-child {
        margin-top: 0;
    }

    /* Si un bloque no tiene nombre, conservar 16px antes del texto siguiente. */
    body.page-inicio .inicio-locales .inicio-locales-row:not(:has(.inicio-locales-name)) {
        margin-bottom: 16px;
    }

    /* CTA Locales: misma distancia arriba/abajo que el resto de secciones. */
    body.page-inicio .inicio-locales .container-1200 > .cont-center .btn-primary {
        margin: 12px auto;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-copy,
    body.page-inicio .inicio-envios .inicio-envios-copy,
    body.page-inicio .inicio-novedades .inicio-novedades-copy {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    /*
     * Restauraciones / Envíos ≤991px: texto → foto → botón.
     * display:contents permite ordenar copy, media y CTA por separado
     * sin invertir el bloque entero (eso pondría la foto antes del texto).
     * Desde 992px no aplica: copy-col sigue siendo flex column en PC.
     */
    body.page-inicio .inicio-restauraciones .cont-doble,
    body.page-inicio .inicio-envios .cont-doble {
        gap: clamp(12px, 2vw, 16px);
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-copy-col,
    body.page-inicio .inicio-envios .inicio-envios-copy-col {
        display: contents;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-copy,
    body.page-inicio .inicio-envios .inicio-envios-copy {
        order: 1;
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-media,
    body.page-inicio .inicio-envios .inicio-envios-media {
        order: 2;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-copy-col > .cont-center,
    body.page-inicio .inicio-envios .inicio-envios-copy-col > .cont-center {
        order: 3;
        flex: 0 0 auto;
        width: 100%;
        max-width: 100%;
        margin: 0;
    }

    body.page-inicio .inicio-restauraciones .inicio-restauraciones-copy-col > .cont-center .btn-primary,
    body.page-inicio .inicio-envios .inicio-envios-copy-col > .cont-center .btn-primary {
        margin: 12px auto !important;
    }

    /* Catálogo: carrusel al ancho; sin min-height que deje hueco fantasma sobre el CTA. */
    body.page-inicio .swiper-container-wrapper,
    body.page-inicio .inicio-catalogo .swiper-container-wrapper {
        width: 100% !important;
        max-width: 480px !important;
        min-height: 0;
        padding: 0;
        margin-left: auto;
        margin-right: auto;
        overflow: hidden;
    }

    body.page-inicio .inicio-catalogo .swiper-slide img,
    body.page-inicio .inicio-catalogo .home-product-image {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
    }

    body.page-inicio .inicio-catalogo .swiper:not(.swiper-initialized) .swiper-wrapper {
        gap: 1rem;
    }

    body.page-inicio .inicio-catalogo .swiper:not(.swiper-initialized) .swiper-slide {
        flex: 0 0 calc((100% - 1rem) / 2);
        width: calc((100% - 1rem) / 2);
    }

    body.page-inicio .inicio-catalogo .swiper:not(.swiper-initialized) .swiper-slide:nth-child(n+3) {
        display: none;
    }

    /* Revistas / Prensa y Eventos ≤991px */
    body.page-inicio .inicio-revistas .container-1200 {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0;
    }

    /* Orden: lead → carrusel → botón → separador → lead revistas → … */
    body.page-inicio .inicio-revistas .container-1200 > h3.h3 {
        display: none !important;
    }

    body.page-inicio .inicio-revistas .locals-media-dual {
        grid-template-columns: minmax(0, 1fr);
        align-items: start;
        width: 100%;
        max-width: 100%;
        gap: 24px;
        /* Sin margin-top extra: el lead de columna ya aporta 16px */
        margin-top: 0;
        margin-inline: 0;
        /* Altura uniforme solo del área de imagen (foto completa, object-fit: contain) */
        --locals-media-h: min(336px, 70vw);
        --locals-media-w: min(100%, calc(var(--locals-media-h) * 0.85));
    }

    /*
     * Separador Eventos → Revistas: 1px dentro de la separación (~12px + línea + 12px).
     * Solo si existen ambos bloques; no altera diapositivas ni PC.
     */
    body.page-inicio .inicio-revistas .locals-media-dual:has([data-locals-media="events"]):has([data-locals-media="press"]) {
        gap: 0;
    }

    body.page-inicio .inicio-revistas .locals-media-dual:has([data-locals-media="events"]):has([data-locals-media="press"]) > .locals-media-column[data-locals-media="press"]::before {
        content: "";
        display: block;
        box-sizing: border-box;
        width: 100%;
        height: 1px;
        margin: 12px 0;
        background: rgba(0, 0, 0, 0.15);
    }

    body.page-inicio .inicio-revistas .inicio-revistas-col-lead {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin-top: 16px;
        margin-bottom: 16px;
        padding-top: 0;
        padding-bottom: 0;
        padding-left: clamp(12px, 2.2vw, 16px);
        padding-right: clamp(12px, 2.2vw, 16px);
        text-align: center;
        font-family: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif !important;
        font-size: clamp(1.35rem, 4.2vw, 1.81rem) !important;
        letter-spacing: 0.06em;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-inicio .inicio-revistas .inicio-revistas-col-lead .inicio-revistas-text-link {
        font-family: inherit !important;
        font-size: inherit !important;
        letter-spacing: inherit;
        color: inherit;
        text-decoration: none;
    }

    /*
     * Columna: anular height:100% / margin-top:auto de PC que empujan el CTA.
     * No tocar height del .swiper / .swiper-wrapper: autoHeight de Swiper
     * escribe altura inline y height:auto !important la anularía.
     */
    body.page-inicio .inicio-revistas .locals-media-column {
        height: auto !important;
        min-height: 0 !important;
        max-height: none;
        align-self: start;
        width: 100%;
        max-width: 100%;
        flex-grow: 0;
        flex-shrink: 0;
    }

    body.page-inicio .inicio-revistas .locals-media-stage,
    body.page-inicio .inicio-revistas .locals-store-stage,
    body.page-inicio .inicio-revistas .locals-store-main {
        flex: 0 0 auto;
        min-height: 0;
        height: auto;
    }

    /* Eventos + Revistas: el slide define la altura (sin franja vacía bajo la leyenda). */
    body.page-inicio .inicio-revistas .locals-media-column[data-locals-media="events"] .swiper-slide,
    body.page-inicio .inicio-revistas .locals-media-column[data-locals-media="press"] .swiper-slide,
    body.page-inicio .inicio-revistas .locals-external-card,
    body.page-inicio .inicio-revistas .locals-external-body {
        height: auto;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.page-inicio .inicio-revistas .locals-external-media {
        width: var(--locals-media-w);
        max-width: 100%;
        height: var(--locals-media-h);
        min-height: 0 !important; /* anula min-height:21rem de locals.css */
        max-height: var(--locals-media-h);
    }

    body.page-inicio .inicio-revistas .locals-external-media img {
        width: auto !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
    }

    /*
     * Eventos + Revistas ≤991: título + fecha en un solo flujo.
     * Si no entra en una línea, salta; entre ambos: " - ".
     */
    body.page-inicio .inicio-revistas .locals-external-caption {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0.65rem 0 0;
        padding: 0 0.25rem;
        box-sizing: border-box;
        text-align: center;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-inicio .inicio-revistas .locals-external-card h3,
    body.page-inicio .inicio-revistas .locals-external-card time {
        display: inline;
        width: auto;
        max-width: none;
        margin: 0 !important;
        padding: 0 !important;
        font-size: clamp(1.15rem, 3.2vw, 1.55rem) !important;
        font-weight: 400 !important;
        line-height: 1.35 !important;
        letter-spacing: normal !important;
        text-align: inherit;
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    body.page-inicio .inicio-revistas .locals-external-card time {
        color: inherit;
    }

    body.page-inicio .inicio-revistas .locals-external-card h3:has(+ time)::after {
        content: " - ";
    }

    /* Sin hueco entre leyenda y botón — Eventos y Revistas. */
    body.page-inicio .inicio-revistas .locals-media-column[data-locals-media="events"] .locals-external-cta,
    body.page-inicio .inicio-revistas .locals-media-column[data-locals-media="press"] .locals-external-cta,
    body.page-inicio .inicio-revistas .locals-external-cta {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        flex-grow: 0;
        flex-shrink: 0;
    }

    body.page-inicio .inicio-revistas .locals-media-column[data-locals-media="events"] .locals-external-cta .btn-primary,
    body.page-inicio .inicio-revistas .locals-media-column[data-locals-media="press"] .locals-external-cta .btn-primary,
    body.page-inicio .inicio-revistas .locals-external-cta .btn-primary {
        max-width: 100%;
        margin: 12px auto !important;
        font-size: clamp(1.1rem, 3.6vw, 1.45rem) !important;
        padding: 0.9rem 1.15rem 0.75rem !important;
    }

    /* Encabezado: sin overrides — vuelve al layout de menu.css (≤991 compartido). */

    /* Login wrapper heredado (960px fijo): no ensancha el documento en el inicio. */
    body.page-inicio > .container {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    body.page-inicio .swiper-container-wrapper,
    body.page-inicio .locals-media-carousel,
    body.page-inicio .locals-store-carousel,
    body.page-inicio .locals-media-swiper {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    /* Suscripción ≤991: tipografía/altura/márgenes en css/footer.css */
}

/* ≤991: misma familia que se ve en product.php (body/títulos de la ficha). Escritorio sigue con Saira/Martel. */
@media (max-width: 991px) {
    body.page-inicio,
    body.page-inicio *,
    body.page-inicio .categoria .h1Home,
    body.page-inicio .categoria .h1Home *,
    body.page-inicio .inicio-revistas .inicio-revistas-col-lead,
    body.page-inicio .inicio-revistas .inicio-revistas-col-lead * {
        font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important;
    }
}
