/* contenedor principal: nombre del producto centrado sin el cÃƒÂ³digo CUCA */
footer {
    border-top: none !important;
  }

.product-ficha-page img,
.product-ficha-page video,
.pswp img {
    -webkit-user-drag: none;
    user-drag: none;
    -webkit-user-select: none;
    user-select: none;
    -webkit-touch-callout: none;
}

.js-product-fav-svg {
    fill: none;
}

.js-product-fav-svg.is-favorited {
    fill: #111;
}

.gallery-books__card:has(.open-gallery-btn),
.gallery-stamps__card:has(.open-gallery-btn),
.gallery-signatures__card:has(.open-gallery-btn) {
    cursor: pointer;
}

.contNombre {
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    width: 100%;
    box-sizing: border-box;
    margin-top: 1rem;
}

@media (max-width: 399px) {
    .contNombre {
        margin-top: 0;
    }
}

.contNombre > div {
    display: flex;
    max-width: 100%;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 1rem;
}

@media (max-width: 768px) {
    .comparar-producto-nombre .contNombre,
    .contNombre > div {
        flex-direction: column;
        width: 100%;
        justify-content: center;
        align-items: center;
        text-align: center;
        gap: 0;
    }

    .comparar-producto-nombre .cuca-title {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        text-align: center;
    }

    .comparar-producto-nombre .cuca-subtitle {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }

    .comparar-producto-nombre .cuca-subtitle .cuca {
        display: block;
        width: auto;
        max-width: 100%;
        margin: 0 auto;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: break-word;
        text-align: center;
    }
}

/* ========================================
   Contenedor del carrusel con cÃƒÂ³digo CUCA
   ======================================== */

.carousel-wrapper-with-code {
    position: relative;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    /* hidden: mejor soporte que clip en mÃƒÂ³viles; evita scroll lateral por grid/flex */
    overflow-x: hidden;
    /* Ancho mÃƒÂ¡x. del slide principal y del bloque zoom+thumbs debajo (misma referencia) */
    --product-main-slider-max-w: min(1200px, 100%);
    /* Tope de altura del carrusel principal (imagen + caja del slide); vmin evita torres en pantalla vertical */
    --product-main-slide-img-max-h: min(calc(56vh * 1.3), calc(70dvh * 1.3), calc(100vmin * 0.52));
}

.carousel-wrapper-with-code > .col {
    min-width: 0;
    max-width: 100%;
}

/* Carriles laterales (hijos de la grid en .main-slider-row-custom) */
.main-slider-rail {
    display: flex;
    align-items: center;
    gap: 0;
    min-width: 0;
}

/*
 * Carril izquierdo: corazÃƒÂ³n absolute sup. derecha (no ensancha la col. de la flecha).
 * align-self: stretch: el carril ocupa el alto de la fila del grid solo como caja de posicionamiento;
 * cÃƒÂ³digo + flecha siguen centrados en vertical (.main-slider-rail align-items: center), no como align-self:start.
 */
.main-slider-rail--left {
    position: relative;
    z-index: 20;
    width: 100%;
    min-width: 0;
    align-self: stretch;
}

.main-slider-rail-fav-slot {
    position: absolute;
    top: 3.5rem;
    right: 0;
    z-index: 21;
    pointer-events: none;
}

.main-slider-rail-fav-slot .main-slider-rail-fav-btn {
    pointer-events: auto;
}

/* CorazÃ³n duplicado en el carril derecho: solo se muestra en mÃ³vil (â‰¤768px) */
.carousel-wrapper-with-code .main-slider-rail-fav-slot.main-slider-rail-fav-slot--right-mobile {
    display: none;
    position: static;
    top: auto;
    right: auto;
    z-index: 21;
}

/* Misma Ã¢â‚¬Å“cajaÃ¢â‚¬Â que .main-slider-row .side-arrow: padding y flex de toque */
.carousel-wrapper-with-code .main-slider-rail-fav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: auto;
    min-width: 0;
    flex: 0 0 44px;
    padding: 0;
    margin: 0;
    border: none;
    border-radius: 8px;
    background: transparent;
    color: #bbb;
    cursor: pointer;
    box-sizing: border-box;
    text-decoration: none;
    transition: transform 0.15s ease;
    position: relative;
    z-index: 22;
    pointer-events: auto;
}

/* CorazÃƒÂ³n del rail: escala fluida (alineado aprox. a flechas 70Ã¢â€ â€™40px) */
.carousel-wrapper-with-code .main-slider-rail-fav-btn .main-slider-rail-fav-btn__icon {
    display: block;
    flex-shrink: 0;
    width: clamp(2rem, 10vw + 1rem, 4.375rem);
    height: clamp(2rem, 10vw + 1rem, 4.375rem);
    padding: clamp(2px, 0.8vw, 10px);
    box-sizing: content-box;
}

/* Favorito: corazÃƒÂ³n blanco relleno (el JS sigue usando fill #111 como flag; solo en el rail del carrusel se pinta blanco) */
.carousel-wrapper-with-code .main-slider-rail-fav-btn .js-product-fav-svg[fill="#111"] {
    fill: #fff;
    stroke: #fff;
}

/* Sobre fondo oscuro del slider, el contorno vacÃƒÂ­o se ve con trazo claro (el toggle sigue alternando fill none / #111) */
.carousel-wrapper-with-code .main-slider-rail-fav-btn .js-product-fav-svg[fill="none"] {
    fill: none;
    stroke: #bbb;
}

.main-slider-rail-fav-btn:active {
    transform: scale(0.96);
}

/* CÃƒÂ³digo centrado en el espacio del carril; flecha en columna fija junto al slide */
.main-slider-rail-left-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.35rem;
    width: 100%;
    min-width: 0;
}

/* Carril derecho: base (desktop) â€” flex con centrado vertical */
.main-slider-rail--right {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 100%;
    min-height: 0;
    align-self: stretch;
    position: relative;
}

.main-slider-rail-spacer {
    flex: 1 1 auto;
    min-width: 0;
    align-self: stretch;
}

/* CÃƒÂ³digo junto al slider: solo en bloque carrusel de producto Ã¢â‚¬â€ texto blanco, sin caja ni fondo */
.carousel-wrapper-with-code .cuca-next-to-prev {
    display: flex;
    align-items: center;
    justify-content: center;
    justify-self: stretch;
    box-sizing: border-box;
    padding: 0;
    margin-right: 0;
    flex: 0 1 auto;
    min-width: 0;
    width: 100%;
    max-width: 100%;
    background: transparent;
    border: none;
    box-shadow: none;
    /* Ancho = celda del cÃƒÂ³digo en el grid Ã¢â€ â€™ cqi del texto encaja al espacio real */
    container-type: inline-size;
    container-name: product-code-cell;
}

.carousel-wrapper-with-code .cuca-next-to-prev small.cuca.cuca-in-slider {
    display: block;
    background: transparent !important;
    color: #fff !important;
    margin: 0;
    padding: 0;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    /* Fallback: viewport + alto; con contenedor (main-slider-rail-left-body) usa cqi */
    font-size: clamp(0.68rem, 2.4vw + 1.5vmin, 2.85rem);
    line-height: 1.12;
    font-weight: 400;
    text-align: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    hyphens: manual;
    box-sizing: border-box;
}

@supports (font-size: 1cqi) {
    .carousel-wrapper-with-code .cuca-next-to-prev small.cuca.cuca-in-slider {
        /* Crece con el ancho de la celda del cÃƒÂ³digo (contenedor: .cuca-next-to-prev) */
        font-size: clamp(0.68rem, calc(0.48rem + 18cqi + 0.25vmin), 2.85rem);
    }
}

/* Escritorio: cÃ³digo mÃ¡s compacto y centrado en el carril */
@media (min-width: 992px) {
    .carousel-wrapper-with-code .cuca-next-to-prev {
        justify-content: center;
    }

    .carousel-wrapper-with-code .cuca-next-to-prev small.cuca.cuca-in-slider {
        font-size: clamp(0.6rem, 1.45vw + 0.9vmin, 2.05rem);
        text-align: center;
    }
}

@supports (font-size: 1cqi) {
    @media (min-width: 992px) {
        .carousel-wrapper-with-code .cuca-next-to-prev small.cuca.cuca-in-slider {
            font-size: clamp(0.6rem, calc(0.38rem + 13cqi + 0.18vmin), 2.05rem);
        }
    }
}

/* Contenedor central: puede encogerse para mantener el carrusel centrado entre carriles */
.carousel-wrapper-with-code .main-slider-container {
    max-width: 100%;
    margin: 0 auto;
    min-width: 0;
}

/* Fila a ancho completo: carriles laterales equilibran el bloque central */
.carousel-wrapper-with-code .main-slider-row {
    width: 100%;
}

/* El root del Swiper no debe ser flex con justify-content:center: el .swiper-wrapper
   es mÃ¡s ancho que el viewport y flex lo centra, dejando ver trozos del slide anterior/siguiente. */
.carousel-wrapper-with-code .swiper.main-slider {
    display: block;
}

@media (max-width: 1024px) {
    .carousel-wrapper-with-code .main-slider-container {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .carousel-wrapper-with-code .main-slider-container {
        max-width: 100%;
    }

    .carousel-wrapper-with-code .cuca-next-to-prev {
        padding: 0;
    }
}

.swiper-slide.img {
    margin: 0 auto;
    box-sizing: border-box;
}

/* Carrusel principal: el slide debe coincidir con el ancho del viewport del Swiper (evita franja del slide siguiente) */
.carousel-wrapper-with-code .main-slider .swiper-slide.img {
    max-width: 100%;
    margin: 0;
}

/* Antes de que Swiper inicialice, mostrar solo la primera foto (evita pantalla negra). */
.carousel-wrapper-with-code .main-slider:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    width: 100%;
}

.carousel-wrapper-with-code .main-slider:not(.swiper-initialized) .swiper-slide.img {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
}

.carousel-wrapper-with-code .main-slider:not(.swiper-initialized) .swiper-slide.img:not(:first-child) {
    display: none;
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider {
    position: relative;
    z-index: 5;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€Ã¢â‚¬â€ Carrusel principal: grid y tope del slide segÃƒÂºn viewport Ã¢â‚¬â€Ã¢â‚¬â€Ã¢â‚¬â€ */
.main-slider-row-custom {
    display: grid;
    /* center: la fila solo abarca el slide; flechas alineadas al alto del carrusel principal */
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    gap: clamp(2px, 1.2vw, 10px);
    /* 1fr en el centro: encoge con el viewport; el tope de ancho va en --stage y .carousel-below-main-slide */
    grid-template-columns: minmax(0, 0.22fr) minmax(0, 1fr) minmax(0, 0.22fr);
    overflow: hidden;
    isolation: isolate;
}

/*
 * Fila del carrusel principal (no #zoom-placeholder): flex â€” los carriles reparten el hueco
 * cuando el stage tiene ancho fijo (foto mÃ¡s ancha). Sin esta clase la barra de zoom sigue en grid.
 */
.carousel-wrapper-with-code .main-slider-row-custom.product-carousel-stage-flex {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
    gap: clamp(2px, 1.2vw, 10px);
    overflow: hidden;
    isolation: isolate;
    grid-template-columns: unset;
}

/* Escritorio / tablet ancha: mÃ¡s alto el bloque flechas + stage (no aplica â‰¤768px ni reglas mÃ³viles). */
@media (min-width: 992px) {
    .carousel-wrapper-with-code {
        /* Escritorio: tope extra sobre la base 62vhÃ—1.38â€¦ (antes Ã—1.25; un poco mÃ¡s Ã—1.35). */
        --product-main-slide-img-max-h: min(
            calc(62vh * 1.38 * 1.35),
            calc(78dvh * 1.38 * 1.35),
            calc(100vmin * 0.58 * 1.35)
        );
    }
}

/* Sin mediciÃ³n JS todavÃ­a: proporciones parecidas al grid (0.22 : 1 : 0.22) */
.carousel-wrapper-with-code .product-carousel-stage-flex:not([data-product-stage-layout]) .main-slider-rail--left {
    flex: 0.22 1 0;
    min-width: 0;
}

.carousel-wrapper-with-code .product-carousel-stage-flex:not([data-product-stage-layout]) .main-slider-container--stage {
    flex: 1 1 0;
    min-width: 0;
}

.carousel-wrapper-with-code .product-carousel-stage-flex:not([data-product-stage-layout]) .main-slider-rail--right {
    flex: 0.22 1 0;
    min-width: 0;
}

/* Tras sync: stage con ancho en px â€” carriles absorben el espacio sobrante por igual */
.carousel-wrapper-with-code .product-carousel-stage-flex[data-product-stage-layout="fit"] .main-slider-rail--left,
.carousel-wrapper-with-code .product-carousel-stage-flex[data-product-stage-layout="fit"] .main-slider-rail--right {
    flex: 1 1 0;
    min-width: 0;
}

.carousel-wrapper-with-code .product-carousel-stage-flex[data-product-stage-layout="fit"] .main-slider-container--stage {
    flex: 0 0 auto;
}

.carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--left {
    justify-content: flex-end;
    align-items: center;
    align-content: center;
    align-self: stretch;
    width: auto;
}

.carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--right {
    justify-content: flex-start;
    align-items: center;
    align-content: center;
    align-self: center;
    width: auto;
}

/*
 * Swiper: .swiper-button-next suele ir con position:absolute+right o margin-left:auto (RTL / bundle).
 * En un carril flex con .main-slider-rail-spacer, margin-left:auto empuja la flecha al borde derecho.
 * No usar transform:none !important: rompe :active y el centrado visual; el centrado vertical lo da el flex del carril (align-items:center).
 */
.carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail .swiper-button-next.side-arrow,
.carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail .swiper-button-prev.side-arrow {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    align-self: center;
}

/* Spacer era para la grid: en flex el hueco sobrante queda a la derecha sin un hijo extra (evita interacciÃ³n con mÃ¡rgenes de la flecha) */
.carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--right .main-slider-rail-spacer {
    display: none !important;
    flex: 0 0 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

@media (max-width: 1200px) {
    .carousel-wrapper-with-code {
        --product-main-slider-max-w: min(1000px, 100%);
    }

    .main-slider-row-custom {
        grid-template-columns: minmax(0, 0.36fr) minmax(0, 1fr) minmax(0, 0.36fr);
    }
}

@media (max-width: 992px) {
    .carousel-wrapper-with-code {
        --product-main-slider-max-w: min(880px, 100%);
    }

    .main-slider-row-custom {
        grid-template-columns: minmax(0, 0.3fr) minmax(0, 1fr) minmax(0, 0.3fr);
    }
}

@media (max-width: 768px) {
    .carousel-wrapper-with-code {
        --product-main-slider-max-w: 100%;
        /* Celular / ventana estrecha: menos alto que vh*1.3 para reducir bandas negras */
        --product-main-slide-img-max-h: min(calc(42vh * 1.15), calc(46dvh * 1.15), 92vw, calc(100vmin * 0.48));
    }

    .main-slider-row-custom {
        grid-template-columns: minmax(0, 0.22fr) minmax(0, 1fr) minmax(0, 0.22fr);
    }

    .carousel-wrapper-with-code .main-slider .swiper-slide.img img {
        max-height: var(--product-main-slide-img-max-h);
    }
}

@media (max-width: 480px) {
    .main-slider-row-custom {
        grid-template-columns: minmax(0, 11vw) minmax(0, 1fr) minmax(0, 11vw);
        gap: 4px;
    }

    .main-slider-rail-left-body {
        column-gap: 0.2rem;
    }
}

/* Pantalla vertical (mÃ³vil o monitor alto): tope extra por dvh + ancho */
@media (orientation: portrait) and (max-width: 900px) {
    .carousel-wrapper-with-code {
        --product-main-slide-img-max-h: min(92vw, 42dvh, 46vh, calc(100vmin * 0.46));
    }
}

html {
    box-sizing: border-box;
}

*,
*:before,
*:after {
    box-sizing: inherit;
}


html {
    overflow-x: hidden;
    margin: 0;
}

.swiper-button-next,
.swiper-button-prev {
    /* reset default size; side arrows will be sized by .side-arrow */
    width: auto;
    height: auto;
    position: static;
    margin-top: 0;
}

/* Layout: la fila del producto usa grid (ver .main-slider-row-custom); otras filas siguen en flex */
.main-slider-row {
    align-items: center;
}

.main-slider-row .side-arrow,
.gallery-items-slider-wrap .side-arrow {
    /* reduced lateral footprint; icono = mismas chevrons que bÃºsquedas (.prod-card-carousel__chev) */
    flex: 0 0 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 4px;
    border-radius: 8px;
    color: #fff;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    line-height: 0;
    border: none;
    background: transparent;
    margin: 0;
    position: static;
    width: auto;
    height: auto;
}

.main-slider-row .side-arrow:hover {
    color: rgba(255, 255, 255, 0.85);
}

.gallery-items-slider-wrap .side-arrow:hover {
    color: #fff;
}

.main-slider-row .side-arrow:focus-visible,
.gallery-items-slider-wrap .side-arrow:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.main-slider-row .swiper-button-prev.side-arrow,
.gallery-items-slider-wrap .swiper-button-prev.side-arrow {
    padding-left: 0;
}

.main-slider-row .swiper-button-next.side-arrow,
.gallery-items-slider-wrap .swiper-button-next.side-arrow {
    padding-right: 0;
}

.main-slider-container {
    max-width: 100%;
    overflow-x: hidden;
    overflow-y: visible;
    min-width: 0;
}

/* Solo el Swiper principal; en grid (zoom) centrado con justify-self; en fila flex el tamaÃ±o lo da flex + JS */
.carousel-wrapper-with-code .main-slider-container--stage {
    width: 100%;
    max-width: min(100%, var(--product-main-slider-max-w));
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    overflow: hidden !important;
    position: relative;
    contain: layout;
    clip-path: inset(0);
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider {
    width: 100%;
    max-width: 100%;
    max-height: var(--product-main-slide-img-max-h);
    min-width: 0;
    overflow: hidden !important;
    transform: translateZ(0);
    /* No usar contain:paint aquÃƒÂ­: recorta el img con translate()+scale() (zoom + arrastre). */
    isolation: isolate;
    position: relative;
    clip-path: inset(0);
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider .swiper-wrapper {
    transform-style: preserve-3d;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider .swiper-slide {
    width: 100% !important;
    max-width: 100%;
    max-height: var(--product-main-slide-img-max-h);
    flex-shrink: 0;
    overflow: hidden;
}

/* Cada slide del carrusel principal: recorta contenido que sobresalga del ancho asignado por Swiper */
.carousel-wrapper-with-code .main-slider .swiper-slide {
    overflow: hidden;
    position: relative;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.zoom-container-fit {
    max-width: 100%;
    max-height: var(--product-main-slide-img-max-h);
    width: 100%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* Cursor lupa (24Ã—24 px, 50% mÃ¡s chica que 48Ã—48); hotspot centro de lente (10,10). Al arrastrar: grabbing (clase en JS). */
.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.product-main-zoom--active {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23fff' stroke='%23000000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0'/%3E%3Cpath d='M7 10l6 0'/%3E%3Cpath d='M10 7l0 6'/%3E%3Cpath d='M21 21l-6 -6'/%3E%3C/svg%3E") 10 10, zoom-in;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.product-main-zoom--active img {
    cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='%23fff' stroke='%23000000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 10m-7 0a7 7 0 1 0 14 0a7 7 0 1 0 -14 0'/%3E%3Cpath d='M7 10l6 0'/%3E%3Cpath d='M10 7l0 6'/%3E%3Cpath d='M21 21l-6 -6'/%3E%3C/svg%3E") 10 10, zoom-in;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.product-main-zoom--active.product-main-zoom--dragging,
.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.product-main-zoom--active.product-main-zoom--dragging img {
    cursor: grabbing;
}

/* Miniaturas: ocultas hasta alinear ancho con el stage (evita flash a todo el ancho). */
.carousel-wrapper-with-code .carousel-below-main-slide:not(.is-thumbs-ready) {
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: none;
}

.carousel-wrapper-with-code .carousel-below-main-slide.is-thumbs-ready {
    opacity: 1;
    visibility: visible;
    max-height: none;
    overflow: visible;
    pointer-events: auto;
}

.carousel-wrapper-with-code .carousel-below-main-slide {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: clamp(0.25rem, 1.5vw, 0.5rem);
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
    min-width: 0;
    box-sizing: border-box;
}

/* Zoom debajo de la fila flechas+slide; ancho por JS = foto mÃ¡s ancha (contain), centrada en el stage */
.carousel-wrapper-with-code .carousel-zoom-placeholder {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    flex-shrink: 0;
    margin-right: auto;
    box-sizing: border-box;
}

/* justify-content: center desplazaba el swiper con margin-left (parecÃƒÂ­a padding izquierdo) */
.carousel-wrapper-with-code .carousel-below-main-slide .thumbs-container-flex {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    justify-content: flex-start;
    align-items: stretch;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

.carousel-wrapper-with-code .carousel-below-main-slide .thumbs-container-flex .mw100 {
    max-width: 100%;
    min-width: 0;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    box-sizing: border-box;
}

/* Ancho y margen izquierdo = stage principal vÃ­a syncZoomBarToArrows (inline); sin auto-centrado en la columna. */
.carousel-wrapper-with-code .carousel-below-main-slide .swiper.thumbs-slider {
    max-width: 100%;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-inline: 0;
    padding-left: 0;
    padding-right: 0;
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
    container-type: inline-size;
    container-name: prod-thumbs;
}

/* Swiper slidesPerView:auto: ancho por slide = (contenedor - gaps) / n; n por cqi (~floor((W+10)/130), min. 2 columnas). */
.carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
    box-sizing: border-box;
    width: 120px;
}

@container prod-thumbs (max-width: 379px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 10px) / 2);
    }
}

@container prod-thumbs (min-width: 380px) and (max-width: 509px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 20px) / 3);
    }
}

@container prod-thumbs (min-width: 510px) and (max-width: 639px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 30px) / 4);
    }
}

@container prod-thumbs (min-width: 640px) and (max-width: 769px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 40px) / 5);
    }
}

@container prod-thumbs (min-width: 770px) and (max-width: 899px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 50px) / 6);
    }
}

@container prod-thumbs (min-width: 900px) and (max-width: 1029px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 60px) / 7);
    }
}

@container prod-thumbs (min-width: 1030px) and (max-width: 1159px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 70px) / 8);
    }
}

@container prod-thumbs (min-width: 1160px) and (max-width: 1289px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 80px) / 9);
    }
}

@container prod-thumbs (min-width: 1290px) and (max-width: 1419px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 90px) / 10);
    }
}

@container prod-thumbs (min-width: 1420px) and (max-width: 1549px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 100px) / 11);
    }
}

@container prod-thumbs (min-width: 1550px) and (max-width: 1679px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 110px) / 12);
    }
}

@container prod-thumbs (min-width: 1680px) and (max-width: 1809px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 120px) / 13);
    }
}

@container prod-thumbs (min-width: 1810px) and (max-width: 1939px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 130px) / 14);
    }
}

@container prod-thumbs (min-width: 1940px) and (max-width: 2069px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: calc((100cqi - 140px) / 15);
    }
}

@container prod-thumbs (min-width: 2070px) {
    .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
        width: 120px;
    }
}

/* Gallery items: ancho por JS (--gallery-item-slide-w); fallback CSS antes de init */
.gallery-items-slider .swiper-slide {
    box-sizing: border-box;
    width: var(--gallery-item-slide-w, calc(120px * var(--gallery-item-scale, 1.25)));
    max-width: var(--gallery-item-slide-w, calc(120px * var(--gallery-item-scale, 1.25)));
}

@container gallery-items (max-width: 379px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 10px) / 2) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 10px) / 2) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 380px) and (max-width: 509px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 20px) / 3) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 20px) / 3) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 510px) and (max-width: 639px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 30px) / 4) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 30px) / 4) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 640px) and (max-width: 769px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 40px) / 5) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 40px) / 5) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 770px) and (max-width: 899px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 50px) / 6) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 50px) / 6) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 900px) and (max-width: 1029px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 60px) / 7) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 60px) / 7) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1030px) and (max-width: 1159px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 70px) / 8) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 70px) / 8) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1160px) and (max-width: 1289px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 80px) / 9) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 80px) / 9) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1290px) and (max-width: 1419px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 90px) / 10) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 90px) / 10) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1420px) and (max-width: 1549px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 100px) / 11) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 100px) / 11) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1550px) and (max-width: 1679px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 110px) / 12) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 110px) / 12) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1680px) and (max-width: 1809px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 120px) / 13) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 120px) / 13) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1810px) and (max-width: 1939px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 130px) / 14) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 130px) / 14) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 1940px) and (max-width: 2069px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(((100cqi - 140px) / 15) * var(--gallery-item-scale, 1.25));
        max-width: calc(((100cqi - 140px) / 15) * var(--gallery-item-scale, 1.25));
    }
}

@container gallery-items (min-width: 2070px) {
    .gallery-items-slider:not([style*="--gallery-item-slide-w"]) .swiper-slide {
        width: calc(120px * var(--gallery-item-scale, 1.25));
        max-width: calc(120px * var(--gallery-item-scale, 1.25));
    }
}

.carousel-wrapper-with-code .zoom-range {
    max-width: 100%;
    align-self: center;
    margin-block: 0;
}

/* Ã¢â‚¬â€Ã¢â‚¬â€Ã¢â‚¬â€ MÃƒÂ³dulo carrusel principal + zoom + miniaturas: responsive Ã¢â‚¬â€Ã¢â‚¬â€Ã¢â‚¬â€ */
.carousel-wrapper-with-code .zoom-controls {
    height: 4rem;
    min-height: 4rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: clamp(0.35rem, 2vw, 0.75rem);
    padding: 0 clamp(0.15rem, 1.5vw, 0.5rem);
}

.carousel-wrapper-with-code .zoom-percent {
    font-size: clamp(0.8rem, 2.5vw + 0.35rem, 1.5625rem);
    min-width: 3.1em;
}

@media (max-width: 576px) {
    .carousel-wrapper-with-code {
        padding-left: max(0px, env(safe-area-inset-left, 0px));
        padding-right: max(0px, env(safe-area-inset-right, 0px));
    }

    .carousel-wrapper-with-code .main-slider-row-custom {
        gap: clamp(2px, 1vw, 6px);
    }

    .carousel-wrapper-with-code .product-main-slide-cta-inner {
        padding: clamp(1rem, 4vw, 1.75rem) clamp(0.75rem, 3vw, 1.25rem);
    }

    .carousel-wrapper-with-code .product-main-slide-cta-title {
        font-size: clamp(1.35rem, 5.5vw, 2.1rem);
    }

    .carousel-wrapper-with-code .product-main-slide-cta-lead {
        font-size: clamp(0.95rem, 3.8vw, 1.5rem);
        margin-bottom: clamp(1rem, 4vw, 2rem);
    }

    .carousel-wrapper-with-code .product-main-slide-cta-actions {
        max-width: 100%;
        width: 100%;
    }

    .carousel-wrapper-with-code .product-main-slide-cta-btn--wishlist {
        max-width: 100%;
        width: 100%;
        justify-content: center;
        flex-wrap: wrap;
        padding: 0.5rem 0.75rem;
        box-sizing: border-box;
    }

    .carousel-wrapper-with-code .product-main-slide-cta-btn:not(.product-main-slide-cta-btn--wishlist) {
        padding: 0.5rem 0.75rem;
        box-sizing: border-box;
    }
}

@media (max-width: 400px) {
    .carousel-wrapper-with-code .main-slider-row-custom {
        grid-template-columns: minmax(0, 2.5rem) minmax(0, 1fr) minmax(0, 2.5rem);
        gap: 2px;
    }

    .carousel-wrapper-with-code .main-slider-rail-left-body {
        column-gap: 0.15rem;
    }
}

/* Misma geometrÃ­a/tamaÃ±o relativo que searches.css â†’ .prod-card-carousel__chev */
.main-slider-row .side-arrow .prod-card-carousel__chev,
.gallery-items-slider-wrap .side-arrow .prod-card-carousel__chev {
    display: block;
    width: calc(1.85rem * 3);
    height: calc(1.85rem * 3);
    flex-shrink: 0;
}

.main-slider-row .side-arrow:active,
.gallery-items-slider-wrap .side-arrow:active {
    transform: translateY(1px) scale(.99);
}

@media (max-width: 768px) {
    .carousel-wrapper-with-code .main-slider-rail--left .main-slider-rail-fav-slot--left {
        display: none;
    }

    /* CorazÃ³n del carril derecho en mobile: arriba, alineado en X con la flecha */
    .carousel-wrapper-with-code .main-slider-rail-fav-slot.main-slider-rail-fav-slot--right-mobile {
        display: flex;
        position: absolute;
        top: 2.5rem;
        left: 0;
        right: auto;
        transform: none;
        width: max-content;
        z-index: 22;
        justify-content: flex-start;
        align-items: flex-start;
        pointer-events: none;
    }
    
    /* El botÃ³n dentro del slot sÃ­ debe captar eventos */
    .carousel-wrapper-with-code .main-slider-rail-fav-slot.main-slider-rail-fav-slot--right-mobile .main-slider-rail-fav-btn {
        pointer-events: auto;
    }

    .carousel-wrapper-with-code .main-slider-rail-fav-btn {
        flex: 0 0 40px;
        padding: 3px;
        border-radius: 6px;
    }

    .carousel-wrapper-with-code .main-slider-rail-fav-btn .main-slider-rail-fav-btn__icon {
        width: calc(40px * 0.75);
        height: calc(40px * 0.75);
        padding: calc(5px * 0.75);
    }

    .main-slider-row .side-arrow,
    .gallery-items-slider-wrap .side-arrow {
        flex: 0 0 40px;
        padding: 3px;
        border-radius: 6px;
    }

    .main-slider-row .side-arrow .prod-card-carousel__chev,
    .gallery-items-slider-wrap .side-arrow .prod-card-carousel__chev {
        width: calc(1.5rem * 3);
        height: calc(1.5rem * 3);
    }

    .main-slider-row .swiper-button-prev.side-arrow,
    .gallery-items-slider-wrap .swiper-button-prev.side-arrow {
        padding-left: 0;
    }

    .main-slider-row .swiper-button-next.side-arrow,
    .gallery-items-slider-wrap .swiper-button-next.side-arrow {
        padding-right: 0;
    }

    .gallery-items-slider-wrap,
    .gallery-items-slider {
        --gallery-items-cover-h: 110px;
    }
    
    /* Contenedores padres en mobile: necesitan altura para que los hijos se estiren */
    .carousel-wrapper-with-code .col.col-no-padding {
        display: flex !important;
        flex-direction: column !important;
    }
    
    /* Contenedor principal en mobile: align-items stretch + altura definida */
    .carousel-wrapper-with-code .main-slider-row-custom.product-carousel-stage-flex {
        align-items: stretch !important;
        height: var(--product-main-slide-img-max-h, 60vh) !important;
        min-height: var(--product-main-slide-img-max-h, 60vh) !important;
    }
    
    /* Stage central en mobile: tambiÃ©n stretch + altura explÃ­cita */
    .carousel-wrapper-with-code .main-slider-container--stage {
        align-self: stretch !important;
        height: 100% !important;
    }
    
    /* Swiper en mobile: altura 100% para llenar el stage */
    .carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider {
        height: 100% !important;
    }
    
    /* Carriles en mobile: misma altura (stretch) para ambos - especificidad alta */
    .carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--left,
    .carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--right,
    .carousel-wrapper-with-code .main-slider-rail--left,
    .carousel-wrapper-with-code .main-slider-rail--right {
        display: flex !important;
        align-items: center !important;
        align-self: stretch !important;
        height: 100% !important;
        min-height: 0 !important;
    }
    
    /* Carril izquierdo: mantener justify-content flex-end */
    .carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--left,
    .carousel-wrapper-with-code .main-slider-rail--left {
        justify-content: flex-end !important;
    }
    
    /* Carril derecho: justify-content flex-start */
    .carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--right,
    .carousel-wrapper-with-code .main-slider-rail--right {
        justify-content: flex-start !important;
    }
    
    /* Grid interno del carril izquierdo: centrado vertical */
    .carousel-wrapper-with-code .main-slider-rail-left-body {
        align-items: center !important;
    }
    
    /* Ambas flechas mobile: centradas verticalmente */
    .carousel-wrapper-with-code .main-slider-rail--left .swiper-button-prev.side-arrow,
    .carousel-wrapper-with-code .main-slider-rail--right .swiper-button-next.side-arrow {
        align-self: center !important;
        position: relative;
        z-index: 23;
    }
}

div.swiper-button-next::after,
div.swiper-button-prev::after {
    content: '' !important;
}

.mw100 {
    width: 100%;
    margin: 0 auto;
    max-width: 70vw;
}

/* Solo video del producto (product.php); no afecta diseÃ±ador / estilo (.vid-disenador en .videoIA) */
.product-ficha-page .product-ficha-video-prod-wrap {
    display: none !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.product-ficha-page .product-ficha-video-prod-wrap.is-video-ready {
    display: flex !important;
}

/* Ancho = carrusel pequeño de miniaturas (.swiper.thumbs-slider); JS setea --lds-product-strip-width */
.product-ficha-page {
    --lds-product-strip-width: 70%;
}

.product-ficha-page .product-ficha-video-prod-wrap .video-prod,
.product-ficha-page .producto-info,
.product-ficha-page .product-ficha-precio-bar,
.product-ficha-page .product-data-div,
.product-ficha-page .product-data-black-bg.border-sep-groove-block,
.product-ficha-page .product-related-section,
.product-ficha-page .product-ficha-consulta-bajo-video {
    width: var(--lds-product-strip-width);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/*
 * PC: el envoltorio de la barra propia no genera caja.
 * El video queda directo en la ficha, con su ancho y controles nativos.
 */
.product-ficha-page .product-ficha-video-prod-player,
.product-ficha-page .product-ficha-video-prod-player > .vtc-frame {
    display: contents;
}

.product-ficha-page .product-ficha-video-prod-player > .vtc-frame > .vtc-top-icons,
.product-ficha-page .product-ficha-video-prod-player > .vtc-frame > .vid-top-controls {
    display: none;
}

/* Footer #registrarse: solo en ficha producto (está fuera de .product-ficha-page) */
body:has(.product-ficha-page) #registrarse {
    width: var(--lds-product-strip-width, 70%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    border-bottom: none !important;
    gap: 0.85rem;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.44rem;
    padding: 1rem 0;
}

body:has(.product-ficha-page) #registrarse #texto1 {
    font-family: 'BentonSans-Regular', 'BentonSans-Bold';
    font-size: 1.44rem;
    line-height: 1.3;
    flex: 0 0 auto;
    min-width: 0;
    margin: 0;
    text-align: left;
}

body:has(.product-ficha-page) #registrarse #txtemail {
    font-size: 1.56rem;
    height: 3.125rem;
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}

body:has(.product-ficha-page) #registrarse #buscar2 {
    margin: 0;
    flex: 0 0 auto;
    flex-shrink: 0;
    font-size: 1.4rem;
    height: 3.125rem;
    width: auto;
    min-width: 10rem;
    padding: 0 1rem;
}

/* Footer #redes: borde/ancho = slide miniaturas (mismo strip que #registrarse) */
body:has(.product-ficha-page) footer .linea.espacio.blackblanco {
    display: none;
}

body:has(.product-ficha-page) #redes {
    width: var(--lds-product-strip-width, 70%);
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box;
}

footer .info {
    border-top: groove !important;
}
/* El bloque interno ya vive dentro de .product-related-section (mismo ancho);
   no reaplicar el ancho del strip o la línea queda más corta que los botones. */
.product-ficha-page .product-related-section > .product-data-black-bg.border-sep-groove-block,
.product-ficha-page .product-related-section > .js-prod-related-block {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.product-ficha-page .product-ficha-video-prod-wrap .video-prod {
    margin: 0 auto;
}

/* Botón consulta debajo del video — estilo Macklowe "Add to cart"
   Ref: padding 10px 35px, 14px, letter-spacing 1px, radius .5rem, #014f5b.
   Tipografía BentonSans (familia LDS); tamaño del botón = Macklowe. */
.product-ficha-page .product-ficha-consulta-bajo-video {
    margin-top: 2rem;
    margin-bottom: 0;
    border-top: none;
    display: flex;
    justify-content: center;
    align-items: center;
}

.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra,
.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra.btn-extra-blue,
.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra.cienwidth,
.product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe {
    width: 48% !important;
    max-width: none;
    margin: 0 auto;
    padding: 0;
    background: transparent !important;
    box-sizing: border-box;
}

.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra a,
.product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    height: auto;
    margin: 0;
    padding: 12px 35px !important;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    text-align: center;
    text-transform: uppercase;
    white-space: nowrap;
    letter-spacing: 1px;
    line-height: 1 !important;
    cursor: pointer;
    border: 0 !important;
    border-radius: 0.5rem;
    background-color: #014f5b !important;
    color: #ffffff !important;
    box-shadow: none !important;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold' !important;
    font-size: 14px !important;
    font-weight: normal;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra a:hover,
.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra-blue a:hover,
.product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe a:hover {
    background-color: #047a8c !important;
    color: #ffffff !important;
    border: 0 !important;
    border-color: transparent !important;
    box-shadow: none !important;
    opacity: 1;
}

/* Volver al menú: ancho = slide pequeño de miniaturas */
.product-ficha-page .btn-extra.btn-extra-blue.cienwidth.btn-extra-margin-bottom {
    width: var(--lds-product-strip-width) !important;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.product-ficha-page .div-consulta.product-ficha-volver-envio {
    width: var(--lds-product-strip-width);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    display: flex;
    gap: 0.8rem;
    justify-content: center;
    align-items: stretch;
}

.product-ficha-page .div-consulta.product-ficha-volver-envio .btn-extra.btn-extra-blue.cienwidth.btn-extra-margin-bottom {
    width: auto !important;
    flex: 1 1 0;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
}

/* Misma tipografía que Comparar (.div-produ-compara) */
.product-ficha-page .product-data-div,
.product-ficha-page .product-data-div .pm-label,
.product-ficha-page .product-data-div .pm-value,
.product-ficha-page .product-data-div .product-measures > dt,
.product-ficha-page .product-data table th,
.product-ficha-page .product-data table td {
    font-family: 'BentonSans-Regular', 'BentonSans-Bold';
}

.product-ficha-page .product-data-div .pm-label,
.product-ficha-page .product-data-div .pm-value,
.product-ficha-page .product-data table th,
.product-ficha-page .product-data table td {
    font-size: 1.9rem;
    line-height: 1.5;
}

.product-ficha-page .btn-extra.btn-extra-blue.cienwidth.btn-extra-margin-bottom a {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold' !important;
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    font-weight: normal;
    padding: 0.5rem 0 !important;
    min-height: calc(2.5rem + 1rem);
    border: 1.5px solid #000;
}

@media (max-width: 991px) {
    .product-ficha-page .div-consulta.product-ficha-volver-envio {
        width: var(--lds-thumbs-strip-width, 100%);
        max-width: 100%;
        min-height: 40px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
        box-sizing: border-box;
        display: flex;
        gap: 8px;
        justify-content: center;
        align-items: stretch;
    }

    .product-ficha-page .div-consulta.product-ficha-volver-envio .btn-extra.btn-extra-blue.cienwidth.btn-extra-margin-bottom {
        width: auto !important;
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
        min-height: 40px;
        height: auto;
        margin: 0 !important;
        padding: 4px !important;
        box-sizing: border-box;
        display: flex;
        align-items: stretch;
    }

    .product-ficha-page .div-consulta.product-ficha-volver-envio .btn-extra.btn-extra-blue.cienwidth.btn-extra-margin-bottom a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        width: 100%;
        flex: 1 1 auto;
        min-height: 0 !important;
        height: auto !important;
        max-height: none;
        margin: 0;
        padding: 0 8px !important;
        border: 1.5px solid #000;
        font-family: 'BentonSans-Regular', 'BentonSans-Bold' !important;
        font-size: 14px !important;
        font-weight: normal !important;
        line-height: 1.15 !important;
        letter-spacing: normal;
        text-align: center;
        white-space: normal;
        overflow: visible;
        overflow-wrap: anywhere;
        word-break: break-word;
        hyphens: manual;
    }

    /*
     * Suscripción (ficha producto ≤991): mismos extremos que
     * .product-ficha-volver-envio; sin padding lateral extra de footer.css.
     * Altura/tipografía: css/footer.css (todas las páginas).
     */
    html body:has(.product-ficha-page) footer #registrarse,
    html body:has(.product-ficha-page) footer #registrarse.info-suscrip,
    html body:has(.product-ficha-page) .info-suscrip#registrarse {
        --lds-sub-side: 0px;
        width: var(--lds-thumbs-strip-width, 100%) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
}

@media (max-width: 768px) {
    .product-ficha-page .product-ficha-video-prod-wrap .product-ficha-video-prod-player,
    .product-ficha-page .product-ficha-video-prod-wrap .product-ficha-video-prod-player.div-disenador,
    .product-ficha-page .product-ficha-video-prod-wrap .video-prod,
    .product-ficha-page .producto-info,
    .product-ficha-page .product-ficha-precio-bar,
    .product-ficha-page .product-data-div,
    .product-ficha-page .product-data-black-bg.border-sep-groove-block,
    .product-ficha-page .product-related-section,
    .product-ficha-page .product-ficha-consulta-bajo-video {
        width: 100%;
        max-width: 100%;
    }

    /* #registrarse ≤991: ancho = Volver/Envíos (--lds-thumbs-strip-width) más arriba */
    body:has(.product-ficha-page) #redes {
        width: 100%;
        max-width: 100%;
    }

    .product-ficha-page .product-ficha-consulta-bajo-video .btn-extra,
    .product-ficha-page .product-ficha-consulta-bajo-video .btn-extra.btn-extra-blue,
    .product-ficha-page .product-ficha-consulta-bajo-video .btn-extra.cienwidth,
    .product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe {
        width: 90% !important;
        max-width: 100%;
    }

    .product-ficha-page .product-ficha-title-below-main {
        width: 100%;
        max-width: 100%;
    }

    .mw100 {
        max-width: 100vw;
    }
}

.sin_border th {
    text-align: left !important;
    padding: 1rem !important;
    /* Espacio entre el nombre y el valor */
    width: 50% !important;
}

/* Columna de valores (92.5 cm, etc) */
.sin_border td {
    text-align: left !important;
    padding: 1rem !important;
    width: 50%;
}

li[data-list="bullet"] {
    list-style-type: disc;
    display: list-item;
    margin-left: 1.5em;
}

li[data-list="ordered"] {
    list-style-type: decimal;
    display: list-item;
    margin-left: 1.5em;
}

.descripcion {
    max-width: 1000px;
    word-wrap: break-word;
    margin: 10px auto;
    color: #fff !important;
    counter-reset: list-alpha;
}

.descripcion li[data-list="alpha"] {
    list-style: none;
    display: list-item;
    margin-left: 1.5em;
    counter-increment: list-alpha;
}

.descripcion li[data-list="alpha"]::before {
    content: counter(list-alpha, lower-alpha) '. ';
}

.descripcion * {
    font-size: 20px;
    margin-bottom: 0;
    min-height: 45px;
    color: #fff !important;
}

.descripcion strong {
    color: #00ffff !important;
}

.descripcion strong u {
    color: #00ffff !important;
}

.titulo {
    font-size: 25px;
}

.tituloNombre {
    font-size: 30px;
}

.lupa {
    position: absolute;
    top: 5%;
    right: 5%;
    cursor: pointer;

}

.lupa>svg {
    width: 45px;
    height: 45px;
}

.product-data a {
    color: aqua !important;
}

@media (max-width: 1000px) {
    .descripcion {
        max-width: 1000px;
        word-wrap: break-word;
        margin: 10px auto;
    }

    .descripcion * {
        font-size: 20px;
        min-height: 30px;
    }

    .tituloNombre {
        font-size: 25px;
    }

    .lupa>svg {
        width: 35px;
        height: 35px;
    }

    .info-extra {
        display: none;
    }

    .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
    }

    .videoIA {
        width: 100% !important;
        max-width: 100% !important;
        gap: 0px;
    }

}

.btn-plus span {
    margin-left: 5px;
    white-space: nowrap;
}

@media (max-width: 768px) {
    .btn-plus span {
        font-size: 1.25rem;
    }
}

.main-slider {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.main-slider .swiper-wrapper {
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.main-slider .swiper-slide {
    flex-shrink: 0;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    position: relative;
}

.main-slider img {
    max-width: 100%;
    max-height: calc(50vh * 1.3);
    width: auto;
    height: auto;
    object-fit: contain;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img img {
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
    max-height: var(--product-main-slide-img-max-h, min(calc(56vh * 1.3), calc(70dvh * 1.3)));
}

/* Slide CTA final del carrusel (consulta / contacto) Ã¢â‚¬â€ sin .img para no forzar ancho de foto */
.main-slider .product-main-slide-cta {
    align-self: stretch;
    width: 100%;
    height: 100%;
    min-height: calc(50vh * 1.3);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    background: #000;
}

/* Misma caja vertical que la foto (tope con --product-main-slide-img-max-h) */
.carousel-wrapper-with-code .main-slider .product-main-slide-cta {
    min-height: var(--product-main-slide-img-max-h);
    max-height: var(--product-main-slide-img-max-h);
}

.product-main-slide-cta-inner {
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: clamp(1.5rem, 4vw, 2.75rem) clamp(1.25rem, 3vw, 2.25rem);
    box-sizing: border-box;
    background: #000;
    color: #fff;
    border: none;
}

/* Portada del producto como fondo del CTA */
.product-main-slide-cta-inner--has-cover {

    overflow: hidden;
    isolation: isolate;
    background: transparent;
    border: none;
}

.product-main-slide-cta-inner--has-cover::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #000;
    background-image: var(--product-cta-cover);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.product-main-slide-cta-inner--has-cover::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.55);
    z-index: 1;
}

.product-main-slide-cta-inner--has-cover > * {
    position: relative;
    z-index: 2;
}

.product-main-slide-cta-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 1.5rem;
    color: rgba(255, 255, 255, 0.75);
}

.product-main-slide-cta-icon svg {
    width: 5.625rem;
    height: 5.625rem;
}

@media (min-width: 992px) {
    .product-main-slide-cta-icon svg {
        width: 6.375rem;
        height: 6.375rem;
    }
}

.product-main-slide-cta-title {
    margin: 0 0 1rem;
    font-size: clamp(2.1rem, 6.2vw, 3.15rem);
    font-weight: 600;
    line-height: 1.2;
    max-width: 95%;
}

.product-main-slide-cta-lead {
    margin: 0 0 2.25rem;
    font-size: clamp(1.65rem, 4.2vw, 2.1rem);
    line-height: 1.4;
    color: rgba(255, 255, 255, 0.88);
    max-width: min(39rem, 92%);
}

.product-main-slide-cta-actions {
    width: 100%;
    max-width: min(42rem, 100%);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    box-sizing: border-box;
}

.product-main-slide-cta-btn,
.product-main-slide-cta-btn.product-main-slide-cta-btn--wishlist {
    display: block;
    width: 100%;
    padding: 1px 14px 1px 10px;
    min-width: 0;
    margin: 0;
    box-sizing: border-box;
    text-align: center;
    font: clamp(16px, 4.2vw, 23px) / clamp(2rem, 10vw, 42px) 'BentonSans-Regular', 'BentonSans-Bold';
    font-family: 'BentonSans-Regular', 'BentonSans-Bold' !important;
    font-weight: 600;
    text-decoration: none;
    color: #000;
    background: #CEE0E3;
    border: 1.5px solid #000;
    border-radius: 0;
    transition: all 0.3s ease-in-out;
}

.product-main-slide-cta-btn:hover,
.product-main-slide-cta-btn:focus-visible {
    color: #2B454F;
    border-color: #CEE0E3;
    background: #91B9C1;
    box-shadow: 0 0 10px #91B9C1;
    outline: none;
}

/* Wishlist en el CTA: mismas reglas visuales que .product-main-slide-cta-btn + fila ÃƒÂ­cono + texto */
.product-main-slide-cta-btn.product-main-slide-cta-btn--wishlist {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    margin: 0;
    padding: 1px 14px 1px 10px;
    text-align: center;
    box-sizing: border-box;
    cursor: pointer;
}

button.product-main-slide-cta-btn--wishlist {
    -webkit-appearance: none;
    appearance: none;
}

/* Ficha producto: CTA wishlist Ã¢â‚¬â€ estilo propio con borde completo en los cuatro lados */
.product-ficha-page .product-main-slide-cta-btn--wishlist {
    border: 1.5px solid #000;
    box-sizing: border-box;
}

.product-ficha-page .product-main-slide-cta-btn--wishlist:hover,
.product-ficha-page .product-main-slide-cta-btn--wishlist:focus-visible {
    border: 1.5px solid #cee0e3;
    outline: none;
}

.product-main-slide-cta-btn--wishlist .product-main-slide-cta-btn__label {
    font: inherit;
    font-weight: 600;
    line-height: clamp(2rem, 10vw, 42px);
}

.product-main-slide-cta-btn--wishlist .product-main-slide-cta-btn__fav-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: block;
}

/* PC ≥992: CTA contacto — peso normal y separación vertical única (gap), sin márgenes acumulados */
@media (min-width: 992px) {
    .product-main-slide-cta .product-main-slide-cta-actions {
        gap: 20px;
    }

    .product-main-slide-cta .product-main-slide-cta-btn,
    .product-main-slide-cta .product-main-slide-cta-btn.product-main-slide-cta-btn--wishlist {
        margin: 0;
        font-weight: 400;
    }

    .product-main-slide-cta .product-main-slide-cta-btn--wishlist .product-main-slide-cta-btn__label {
        font-weight: 400;
    }
}

.thumbs-slider .swiper-slide-thumb-cta {
    cursor: pointer;
    box-sizing: border-box;
}

.swiper-slide-thumb-cta-with-image {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.swiper-slide-thumb-cta-with-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.swiper-slide-thumb-cta-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.9);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

.swiper-slide-thumb-cta-icon svg {
    color: #555;
    stroke: #555;
}

.thumbs-slider .swiper-slide-thumb-cta-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1;
    background: #e4e4e4;
    border: 1px solid #ccc;
    color: #555;
}

/* Barra de zoom: misma grid que .main-slider-row-custom; % en carril izq., solo range en .zoom-controls */
.carousel-wrapper-with-code .carousel-zoom-placeholder {
    overflow: visible;
}

.carousel-wrapper-with-code .carousel-zoom-placeholder.main-slider-row-custom {
    display: grid;
    align-items: center;
    isolation: isolate;
}

.carousel-wrapper-with-code .carousel-zoom-placeholder .zoom-percent {
    grid-column: 1;
    justify-self: end;
    align-self: center;
    margin: 0;
}

.carousel-wrapper-with-code .carousel-zoom-placeholder .zoom-controls {
    grid-column: 2;
    justify-self: center;
    align-self: center;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Zoom controls: solo el range (el % va fuera, hermano anterior) */
.zoom-controls {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-wrap: nowrap;
    padding: 0 !important;

    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.zoom-btn {
    background: #fff;
    border: 1px solid #ddd;
    padding: 8px 10px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.zoom-btn:active {
    transform: translateY(1px);
}

.zoom-percent {
    flex-shrink: 0;
    min-width: 3.75em;
    padding-right: 1.1rem;
    text-align: left;
    font-weight: 600;
    font-size: 25px;
    line-height: 1.5;
    white-space: nowrap;
}

/* Zoom range prettier */
.zoom-range {
    -webkit-appearance: none;
    appearance: none;
    height: 2px;
    background: linear-gradient(90deg, #eee, #ddd);
    border-radius: 6px;
    outline: none;
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: 100%;
    box-sizing: border-box;
}

.zoom-range::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 18px;
    height: 18px;
    background: #fff;
    border: 2px solid #888;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    cursor: pointer;
}

.zoom-range::-moz-range-thumb {
    width: 18px;
    height: 18px;
    background: #fff;
    border: 2px solid #888;
    border-radius: 50%;
    cursor: pointer;
}

/* CÃ³digo de producto para mobile - oculto por defecto en desktop */
.product-code-mobile-container {
    display: none;
}

.product-ficha-page .product-ficha-share-rail {
    display: none;
}

/* Mobile: reorganizar cÃ³digo de producto */
@media (max-width: 767px) {
    /* Ocultar el cÃ³digo original junto a la flecha izquierda */
    .carousel-wrapper-with-code .main-slider-rail-left-body .cuca-next-to-prev {
        display: none !important;
    }
    
    /* Mostrar el cÃ³digo de producto en su propio contenedor */
    .product-code-mobile-container {
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0.5rem 0;
        width: 100%;
        box-sizing: border-box;
    }
    
    /* TipografÃ­a idÃ©ntica a .precio-formulario .product-ficha-precio-bar */
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        display: inline-block;
        background: transparent !important;
        color: #fff !important;
        padding: 0;
        border: none;
        line-height: 1;
        font-weight: bold;
        text-align: center;
        text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8);
        white-space: normal;
        overflow-wrap: anywhere;
        word-break: break-word;
        max-width: 100%;
    }
}

/* Responsive: ajustar tamaÃ±o del cÃ³digo mobile igual que precio-formulario */
@media (max-width: 600px) {
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: 2rem !important;
    }
}

@media (max-width: 576px) and (min-width: 481px) {
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: 2.4rem !important;
    }
}

@media (max-width: 480px) and (min-width: 376px) {
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: 2.2rem !important;
    }
}

@media (max-width: 450px) {
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: 1.75rem !important;
    }
}

@media (max-width: 375px) and (min-width: 321px) {
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: 2rem !important;
    }
}

@media (max-width: 320px) {
    .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: 1.8rem !important;
    }
}

.zoom-reset-btn {}

/* PhotoSwipe v5 custom styling */
.pswp,
.pswp__bg,
.pswp__scroll-wrap {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
}

/* Keep overlay above page UI if other components have high z-index */
.pswp {
    z-index: 100000;
}

.pswp__button--close {
    background: rgba(0, 0, 0, 0.45);
    border-radius: 10px;
}

/* Flechas popup: mismas chevrons que .side-arrow (PhotoSwipe v5 usa --prev / --next, no --left / --right) */
.pswp__button--arrow--prev,
.pswp__button--arrow--next {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 44px;
    margin-top: -22px;
    padding: 4px;
    background: transparent;
    border: 0;
    border-radius: 8px;
    box-sizing: border-box;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    opacity: 1;
    z-index: 20;
}

.pswp__button--arrow--prev {
    left: 8px;
    right: auto;
}

.pswp__button--arrow--next {
    right: 8px;
    left: auto;
}

.pswp__button--arrow .pswp__icn,
.pswp__button--arrow .prod-card-carousel__chev {
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    margin: 0 !important;
    padding: 0;
    display: block;
    width: calc(1.85rem * 3);
    height: calc(1.85rem * 3);
    color: #fff;
    fill: none;
    stroke: currentColor;
    flex-shrink: 0;
    transform: translate(-50%, -50%) !important;
    background: none;
    border-radius: 0;
}

.pswp__button--arrow--next .pswp__icn,
.pswp__button--arrow--next .prod-card-carousel__chev,
.pswp__button--arrow--prev .pswp__icn,
.pswp__button--arrow--prev .prod-card-carousel__chev {
    transform: translate(-50%, -50%) !important;
}

.pswp__button--arrow:hover,
.pswp__button--arrow:focus {
    color: #fff;
    opacity: 1;
}

.pswp__button--arrow:active {
    transform: translateY(1px) scale(0.99);
}

/*
 * PhotoSwipe (cdn, carga tras product.css) usa:
 *   .pswp--touch .pswp__button--arrow { visibility: hidden }
 *   .pswp--has_mouse .pswp__button--arrow { visibility: visible }
 * En táctil sin ratón las flechas quedan ocultas. La corrección de Libros ≤991
 * está en el bloque @media (max-width: 991px) .pswp--product-books-caption.
 */

@media (max-width: 768px) {
    .pswp__button--arrow--prev,
    .pswp__button--arrow--next {
        top: calc((100% - var(--product-pswp-caption-bottom, 0px)) / 2);
        width: 40px;
        height: 40px;
        margin-top: -20px;
        padding: 3px;
        border-radius: 6px;
    }

    .pswp__button--arrow--prev {
        left: 4px;
    }

    .pswp__button--arrow--next {
        right: 4px;
    }

    .pswp__button--arrow .pswp__icn,
    .pswp__button--arrow .prod-card-carousel__chev {
        width: calc(1.5rem * 3);
        height: calc(1.5rem * 3);
    }
}

.pswp__img {
    border-radius: 0;
    /* Popup libros / nro de serie / sellos: puntero normal (no zoom-out / "minimizar") */
    cursor: default !important;
}

.pswp--click-to-zoom.pswp--zoom-allowed .pswp__img,
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img,
.pswp--click-to-zoom.pswp--zoomed-in .pswp__img:active,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img,
.pswp--no-mouse-drag.pswp--zoomed-in .pswp__img:active {
    cursor: default !important;
}

.pswp-entity-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #fff;
}

.pswp-entity-desc {
    font-size: 15px;
    color: #ddd;
    line-height: 1.5;
}

.pswp__caption {
    pointer-events: auto;
}

.pswp__caption__center {
    max-width: min(900px, 92vw);
    background: rgba(0, 0, 0, 0.6);
    border-radius: 12px;
    padding: 14px 16px;
}

/*
 * El hueco bajo la foto lo reserva PhotoSwipe (paddingFn en main.js), no el padding de este contenedor.
 * Franja inferior: texto encima del fondo, sin solapar el ÃƒÂ¡rea de render del slide.
 */
.pswp__custom-caption {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    max-height: min(42vh, 280px);
    overflow-x: hidden;
    overflow-y: auto;
    margin: 0;
    padding: 12px 16px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    background: rgba(0, 0, 0, 0.88);
    border-radius: 0;
    pointer-events: auto;
    text-align: left;
    box-sizing: border-box;
    z-index: 12;
}

.pswp--product-books-caption .pswp__custom-caption .pswp-entity-title,
.pswp--product-books-caption .pswp__custom-caption .pswp-entity-title-label,
.pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc,
.pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc * {
    font-weight: 700;
}

/* Nombre centrado en el popup de galerÃƒÂ­a (nÃƒÂºmeros de serie / libros) */
.pswp__custom-caption .pswp-entity-title {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
    color: #fff;
    text-align: center;
}

/* DescripciÃƒÂ³n centrada (p. ej. pÃƒÂ¡ginas en popup de libros) */
.pswp__custom-caption .pswp-entity-desc {
    font-size: 14px;
    color: #e0e0e0;
    line-height: 1.5;
    text-align: center;
}

@media (min-width: 992px) {
    .pswp--product-side-caption .pswp__custom-caption {
        left: auto;
        right: 5%;
        top: 50%;
        bottom: auto;
        width: 40%;
        height: 80vh;
        max-height: 80vh;
        padding: clamp(40px, 6vh, 72px) clamp(28px, 4vw, 64px);
        background: rgba(0, 0, 0, 0.9);
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        overflow: hidden;
        transform: translateY(-50%);
    }

    .pswp--product-side-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-side-caption .pswp__custom-caption .pswp-entity-desc {
        text-align: left;
        max-width: 620px;
    }

    .pswp--product-side-caption .pswp__custom-caption .pswp-entity-title {
        flex: 0 0 auto;
        font-size: clamp(20px, 1.7vw, 30px);
        margin-bottom: 14px;
        text-decoration: underline;
        text-underline-offset: 0.18em;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title {
        text-decoration: none;
        font-weight: 700;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title-label {
        text-decoration: underline;
        text-underline-offset: 0.18em;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc * {
        font-weight: 700;
    }

    .pswp--product-side-caption .pswp__custom-caption .pswp-entity-desc {
        flex: 1 1 auto;
        min-height: 0;
        overflow-y: auto;
        padding-right: 12px;
        font-size: clamp(15px, 1vw, 18px);
        scrollbar-gutter: stable;
    }

    .pswp--product-side-caption .pswp__button--arrow--next {
        right: calc(50% + 8px);
    }

    .pswp--product-stamps-caption .pswp__button--arrow--prev {
        left: calc(10% + 8px);
    }

    .pswp--product-stamps-caption .pswp__custom-caption {
        right: 10%;
        width: 40%;
    }

    .pswp--product-stamps-caption .pswp__custom-caption {
        align-items: center;
        justify-content: center;
    }

    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc {
        width: min(100%, 620px);
        max-width: 620px;
        text-align: left;
    }

    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title {
        font-size: clamp(19px, 1.35vw, 26px);
        margin-bottom: 12px;
    }

    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc {
        flex: 0 1 auto;
        max-height: 70%;
        font-size: clamp(16px, 1.05vw, 20px);
        line-height: 1.5;
    }

    .pswp--product-stamps-caption .pswp-stamp-design {
        margin-bottom: 10px;
    }

    .pswp--product-stamps-caption .pswp-stamp-text {
        margin-top: 0;
    }
}

@media (max-width: 768px) {
    .pswp--product-stamps-caption .pswp__custom-caption {
        left: 50%;
        right: auto;
        width: 90%;
        transform: translateX(-50%);
    }
}

/*
 * Libros / Sellos ≤991: tipografía compartida carrusel ↔ popup.
 * Los breakpoints inferiores redefinen las vars; el popup las reutiliza.
 * PC ≥992 no entra aquí (mantiene clamp lateral propio).
 */
@media (max-width: 991px) {
    :root {
        --gallery-books-title-fs: 16px;
        --gallery-books-meta-fs: 16px;
        --gallery-stamps-title-fs: 16px;
        --gallery-books-title-ff: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif;
        --gallery-books-meta-ff: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif;
        --gallery-stamps-title-ff: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif;
        /* Mismo margen útil que el dd del carrusel (~5px); no el hueco de flechas de la foto */
        --gallery-popup-caption-inline: 5px;
    }

    /*
     * Libros + Sellos: ancho útil = viewport − 5px/lado (− safe-area).
     * No hereda el sidePad 40–48px de las flechas (solo afecta a la imagen vía paddingFn).
     * Anula padding 12–16 / 14 / 12 de .pswp__custom-caption en breakpoints compactos.
     */
    .pswp--product-stacked-caption.pswp--product-books-caption .pswp__custom-caption,
    .pswp--product-stacked-caption.pswp--product-stamps-caption .pswp__custom-caption,
    .pswp--product-stacked-caption.pswp--product-signatures-caption .pswp__custom-caption,
    .pswp.pswp--product-books-caption .pswp__custom-caption,
    .pswp.pswp--product-stamps-caption .pswp__custom-caption,
    .pswp.pswp--product-signatures-caption .pswp__custom-caption {
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding-top: 0 !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        padding-left: calc(var(--gallery-popup-caption-inline, 5px) + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(var(--gallery-popup-caption-inline, 5px) + env(safe-area-inset-right, 0px)) !important;
        box-sizing: border-box !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        max-height: none !important;
    }

    /* Popup = mismas vars que el carrusel (breakpoints + sync JS del tamaño/familia efectivos). */
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title-label,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title * {
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc * {
        font-size: var(--gallery-books-meta-fs) !important;
        font-family: var(--gallery-books-meta-ff) !important;
    }

    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title *,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-stamps-caption .pswp-stamp-design,
    .pswp--product-stamps-caption .pswp-stamp-text {
        font-size: var(--gallery-stamps-title-fs) !important;
        font-family: var(--gallery-stamps-title-ff) !important;
    }

    /* Una línea si cabe; si no, wrap natural (sin reducir letra ni recortar). */
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-stamps-caption .pswp-stamp-design,
    .pswp--product-stamps-caption .pswp-stamp-text {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        text-align: center !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: manual !important;
    }
}

/* Libros + Números de serie + Sellos ≤991: caption bajo la imagen activa. PC ≥992 no entra aquí. */
@media (max-width: 991px) {
    /*
     * Fondo del visor negro sólido (#000) a pantalla completa.
     * Solo Sellos / Libros / Nº serie (clases de caption + pswp--product-solid-bg).
     */
    .pswp.pswp--product-solid-bg .pswp__bg,
    .pswp.pswp--product-books-caption .pswp__bg,
    .pswp.pswp--product-stamps-caption .pswp__bg,
    .pswp.pswp--product-signatures-caption .pswp__bg,
    .pswp.pswp--product-stacked-caption .pswp__bg {
        background: #000 !important;
        background-color: #000 !important;
        opacity: 1 !important;
    }

    /* Placeholder gris de PhotoSwipe → transparente (queda el fondo negro del visor) */
    .pswp--product-stacked-caption .pswp__img--placeholder,
    .pswp--product-stacked-caption .pswp__img--placeholder--blank {
        background: transparent !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    .pswp--product-stacked-caption.pswp--product-side-caption .pswp__custom-caption,
    .pswp--product-stacked-caption .pswp__custom-caption {
        left: 0;
        right: 0;
        bottom: auto;
        top: var(--product-pswp-books-caption-top, auto);
        width: 100%;
        max-width: 100%;
        height: auto;
        max-height: none;
        transform: none;
        display: block;
        overflow: visible;
        margin: 0;
        /* Nros. de serie u otros stacked: 16px. Libros/Sellos: 5px (bloque tipografía arriba). */
        padding: 0 16px;
        padding-bottom: env(safe-area-inset-bottom, 0px);
        background: transparent;
        text-align: center;
        box-sizing: border-box;
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.25s ease;
    }

    /* Hasta imagen decodificada: no mostrar foto a medias ni texto sobre vacío */
    .pswp--product-stacked-caption:not(.pswp--books-caption-ready) .pswp__item[aria-hidden="false"] .pswp__img:not(.pswp__img--placeholder) {
        opacity: 0;
    }

    .pswp--product-stacked-caption.pswp--books-caption-ready .pswp__item[aria-hidden="false"] .pswp__img:not(.pswp__img--placeholder),
    .pswp--product-stacked-caption.pswp--books-caption-ready .pswp__custom-caption {
        opacity: 1;
        pointer-events: auto;
    }

    /* Primer open: scroll oculto hasta el 1.er reveal; luego la transición PS mueve las fotos */
    .pswp--product-stacked-caption:not(.pswp--books-caption-live) .pswp__scroll-wrap {
        opacity: 0;
    }

    .pswp--product-stacked-caption.pswp--books-caption-live .pswp__scroll-wrap {
        opacity: 1;
    }

    .pswp--product-stacked-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-stacked-caption .pswp__custom-caption .pswp-entity-desc {
        text-align: center;
        max-width: none;
        width: auto;
        margin-left: auto;
        margin-right: auto;
    }

    /*
     * Libros + Sellos + Nros. de serie ≤991: flechas al centro vertical de la foto activa
     * (--product-pswp-books-arrow-y = topPad + fitH/2; no viewport 50%).
     * Hit 44×44; dibujo ~28px; laterales 2px; overflow hidden.
     */
    .pswp.pswp--product-books-caption .pswp__button--arrow--prev,
    .pswp.pswp--product-books-caption .pswp__button--arrow--next,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow--prev,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow--next,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow--prev,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow--next {
        position: absolute;
        top: var(--product-pswp-books-arrow-y, 50%);
        bottom: auto;
        width: 44px;
        height: 44px;
        margin-top: -22px;
        margin-bottom: 0;
        padding: 0;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        overflow: hidden;
        transform: none;
    }

    /* Tras el 1.er reveal: suaviza el salto de eje al cambiar de foto (manual/autoplay). */
    .pswp.pswp--product-books-caption.pswp--books-caption-live .pswp__button--arrow--prev,
    .pswp.pswp--product-books-caption.pswp--books-caption-live .pswp__button--arrow--next,
    .pswp.pswp--product-stamps-caption.pswp--books-caption-live .pswp__button--arrow--prev,
    .pswp.pswp--product-stamps-caption.pswp--books-caption-live .pswp__button--arrow--next,
    .pswp.pswp--product-signatures-caption.pswp--books-caption-live .pswp__button--arrow--prev,
    .pswp.pswp--product-signatures-caption.pswp--books-caption-live .pswp__button--arrow--next {
        transition: top 0.28s ease;
    }

    .pswp.pswp--product-books-caption .pswp__button--arrow--prev,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow--prev,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow--prev {
        left: 2px;
        right: auto;
    }

    .pswp.pswp--product-books-caption .pswp__button--arrow--next,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow--next,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow--next {
        right: 2px;
        left: auto;
    }

    .pswp.pswp--product-books-caption .pswp__button--arrow .pswp__icn,
    .pswp.pswp--product-books-caption .pswp__button--arrow .prod-card-carousel__chev,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow .pswp__icn,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow .prod-card-carousel__chev,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow .pswp__icn,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow .prod-card-carousel__chev {
        position: absolute;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        width: 28px !important;
        height: 28px !important;
        max-width: 28px;
        max-height: 28px;
        margin: 0 !important;
        padding: 0;
        transform: translate(-50%, -50%) !important;
    }

    .pswp.pswp--product-books-caption .pswp__button--arrow--next .pswp__icn,
    .pswp.pswp--product-books-caption .pswp__button--arrow--next .prod-card-carousel__chev,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow--next .pswp__icn,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow--next .prod-card-carousel__chev,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow--next .pswp__icn,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow--next .prod-card-carousel__chev {
        left: 50% !important;
        right: auto !important;
    }

    /*
     * Libros + Sellos + Nros. de serie ≤991: anular hide táctil de PhotoSwipe.
     * Una sola imagen / extremos disabled: se mantienen ocultos.
     */
    .pswp.pswp--product-books-caption.pswp--touch:not(.pswp--one-slide) .pswp__button--arrow,
    .pswp.pswp--product-books-caption:not(.pswp--one-slide) .pswp__button--arrow,
    .pswp.pswp--product-stamps-caption.pswp--touch:not(.pswp--one-slide) .pswp__button--arrow,
    .pswp.pswp--product-stamps-caption:not(.pswp--one-slide) .pswp__button--arrow,
    .pswp.pswp--product-signatures-caption.pswp--touch:not(.pswp--one-slide) .pswp__button--arrow,
    .pswp.pswp--product-signatures-caption:not(.pswp--one-slide) .pswp__button--arrow {
        visibility: visible !important;
    }

    .pswp.pswp--product-books-caption.pswp--open:not(.pswp--one-slide) .pswp__button--arrow.pswp__hide-on-close,
    .pswp.pswp--product-stamps-caption.pswp--open:not(.pswp--one-slide) .pswp__button--arrow.pswp__hide-on-close,
    .pswp.pswp--product-signatures-caption.pswp--open:not(.pswp--one-slide) .pswp__button--arrow.pswp__hide-on-close {
        opacity: 1;
        pointer-events: auto;
    }

    .pswp.pswp--product-books-caption.pswp--one-slide .pswp__button--arrow,
    .pswp.pswp--product-books-caption .pswp__button--arrow:disabled,
    .pswp.pswp--product-stamps-caption.pswp--one-slide .pswp__button--arrow,
    .pswp.pswp--product-stamps-caption .pswp__button--arrow:disabled,
    .pswp.pswp--product-signatures-caption.pswp--one-slide .pswp__button--arrow,
    .pswp.pswp--product-signatures-caption .pswp__button--arrow:disabled {
        visibility: hidden !important;
        display: none !important;
    }

    /*
     * Nros. de serie ≤991: X alineada con la flecha derecha (right: 2px);
     * top vía --product-pswp-signatures-close-top (~8px sobre la foto).
     */
    .pswp.pswp--product-signatures-caption .pswp__top-bar {
        position: absolute;
        inset: 0;
        width: auto;
        height: auto;
        background: transparent !important;
        pointer-events: none;
        overflow: visible !important;
        z-index: 40;
    }

    .pswp.pswp--product-signatures-caption .pswp__button--close {
        position: absolute !important;
        top: var(--product-pswp-signatures-close-top, 8px) !important;
        right: 2px !important;
        left: auto !important;
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        pointer-events: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        z-index: 41 !important;
        background: rgba(0, 0, 0, 0.6) !important;
        color: #fff !important;
        border-radius: 10px !important;
        transform: none !important;
    }

    .pswp.pswp--product-signatures-caption .pswp__button--close .pswp__icn {
        color: #fff !important;
        fill: #fff !important;
        opacity: 1 !important;
    }

    .pswp.pswp--product-signatures-caption.pswp--ui--hidden .pswp__button--close,
    .pswp.pswp--product-signatures-caption .pswp__button--close.pswp__hide-on-close {
        opacity: 1 !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }
}

/* Libros PC ≥992: panel lateral original (sin layout móvil) */
@media (min-width: 992px) {
    .pswp--product-books-caption .pswp__scroll-wrap,
    .pswp--product-books-caption .pswp__custom-caption {
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    .pswp--product-books-caption .pswp__button--arrow--prev {
        left: calc(10% + 8px);
    }

    .pswp--product-books-caption .pswp__custom-caption {
        right: 10%;
        width: 40%;
        align-items: center;
        justify-content: center;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc {
        width: min(100%, 620px);
        max-width: 620px;
        text-align: left;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc {
        flex: 0 1 auto;
        max-height: 70%;
        font-size: clamp(16px, 1.05vw, 20px);
        line-height: 1.5;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title {
        font-size: clamp(19px, 1.35vw, 26px);
        margin-bottom: 12px;
    }
}

/* ===================================
   CSS copiado de styles30042021.css
   especÃƒÂ­fico para product.php
   =================================== */

/* Box page producto */
.box-page-producto {
    color: white;
}

.box-page-producto h2 {
    padding: 2rem 3rem;
    font-size: 35px;
    color: aqua;
    text-align: center;
    line-height: 0;
    border-color: #dee;
}

#center {
    overflow-x: hidden;
}

/* Breadcrumbs */
.div-breadcrumbs {
    width: 100%;
    padding: 0px 10px;
    overflow-x: hidden;
    border-bottom: none !important;
}

/* Sep. bajo ruta (ficha): oculto en PC; ≤991 reutiliza raya de .videoIA-info-body__title */
.product-ficha-page .div-breadcrumbs > .product-ficha-nav-sep {
    display: none;
}

/* Buscador ficha: solo ≤991 (menú PC / otras páginas intactos) */
.product-ficha-page .product-ficha-search {
    display: none;
}

.ruta2 {
    padding: 2rem 3rem;
    font-size: 2rem;
    color: white;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: capitalize;
    scroll-padding-left: 100px;
    position: relative;
    overflow-x: visible;
    overflow-y: visible;
    flex-wrap: wrap;
    gap: 8px;
    width: 100%;
    -webkit-overflow-scrolling: touch;
    box-sizing: border-box;
    padding: 10px 10px !important;
    border-bottom: none;
    margin-bottom: 0px;
    font-size: 22.5px !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ruta2::-webkit-scrollbar {
    display: none;
}

.ruta2 a {
    color: #fff;
    text-transform: capitalize;
}

.ruta2 h1 {
    padding: 2rem 3rem;
    font-size: 3rem;
    color: white;
    text-align: center;
}

.ruta2 > :nth-last-child(2) {
    color: aqua !important;
}

/* Migas en h2 (SEO): una sola lÃ­nea; scroll horizontal si no cabe */
h2.ruta2 {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

h2.ruta2::-webkit-scrollbar {
    display: none;
}

h2.ruta2 > * {
    flex: 0 0 auto;
    white-space: nowrap;
    margin-left: 0 !important;
    position: relative !important;
}

/* Links/migas sin padding-izq; el botón Volver conserva el suyo */
h2.ruta2 > *:not(.btn-step-back):not(.btn-back) {
    padding-left: 0 !important;
}

h2.ruta2 a,
h2.ruta2 .item {
    display: inline-block;
    width: auto !important;
}

.separator {
    margin-right: 1rem;
    margin-left: 0.5rem;
    color: #fff !important;
}

/* PC: Volver de migas; ≤991 unificado en css/nav-ruta.css */
@media (min-width: 992px) {
    a.btn-step-back,
    a.btn-back,
    h2.ruta2 a.btn-step-back,
    h2.ruta2 a.btn-back {
        color: #FFF !important;
        font-family: 'BentonSans-Regular', 'BentonSans-Bold', sans-serif !important;
        font-size: 21px !important;
        font-weight: 400 !important;
        line-height: 9px !important;
        text-decoration: none !important;
        padding: 1rem !important;
        background: #545454;
        border: 1px solid #D5D0CA;
        border-radius: 4px;
        transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
        cursor: pointer;
        display: inline-block;
        width: auto;
        text-align: center;
        box-sizing: border-box;
    }

    a.btn-step-back:hover,
    a.btn-back:hover {
        background: #493E3A;
        border-color: #988B85;
        color: #D5D0CA !important;
    }
}

.btn {
    width: auto;
    height: 40px;
    margin: 1px;
    padding: 5px 20px;
    font: 18px/14px 'BentonSans-Regular', 'BentonSans-Bold';
    text-decoration: none;
    color: #FFF;
    border: 1px solid #447182;
    background: #447182;
    cursor: pointer;
    outline: none;
    box-shadow: none;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -ms-border-radius: 0;
}

.btn-dark {
    background: #000;
    border-color: #000;
}

.btn-plus {
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: capitalize;
}

/* Sin efecto hover de Bootstrap: mismo aspecto en hover/focus/active */
.btn-plus:hover,
.btn-plus:focus,
.btn-plus:focus-visible,
.btn-plus:active {
    background-color: #447182;
    border-color: var(--bs-btn-border-color, inherit);
    color: var(--bs-btn-color, inherit);
    box-shadow: none;
}

.btn-plus span {
    margin-left: 5px;
    white-space: nowrap;
}

.product-related-section {
    clear: both;
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
}

/* Ancho = miniaturas principales (regla compartida --lds-product-strip-width). */
.product-ficha-page .product-related-section {
    overflow-x: hidden;
}

.product-ficha-page .product-related-picker {
    display: none;
}

.product-related-buttons {
    display: flex;
    width: 100%;
    gap: 0.5rem;
    flex-shrink: 0;
    position: relative;
    z-index: 1;
    margin: 0 0 0.5rem;
    padding: 0;
    box-sizing: border-box;
}

.product-related-section .js-prod-related-block {
    position: relative;
    z-index: 0;
    flex-shrink: 0;
    margin-top: 0;
}

.js-prod-related-block.is-panel-loading .js-prod-related-panels-host,
.js-prod-related-block.is-panel-loading .js-prod-related-thumbs-host {
    opacity: 0.55;
    transition: opacity 0.15s ease;
}

.product-related-buttons .btn-plus {
    flex: 1 1 0;
    min-width: 0;
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: auto !important;
    min-height: 2.75rem;
    padding: 0.625rem 1rem !important;
    font: 18px/1.4 'BentonSans-Regular', 'BentonSans-Bold';
    align-items: center;
    cursor: pointer;
    border: 1.5px solid #000;
}

.product-related-buttons .btn-plus.is-active {
    color: #493E3A;
    border-color: #988B85;
    background-color: #D5D0CA;
}

.product-related-buttons .btn-plus span {
    line-height: 1.4;
    overflow: hidden;
    text-overflow: ellipsis;
}

.js-prod-related-block .js-prod-related-panel {
    display: none !important;
}

.js-prod-related-block .js-prod-related-panel.is-active {
    display: flex !important;
    align-items: start;
    gap: 50px;
}

.js-prod-related-block .js-prod-related-panel[hidden] {
    display: none !important;
}

@media (max-width: 767px) {
    .product-related-buttons {
        flex-direction: column;
    }

    .product-related-buttons .btn-plus {
        min-height: 3rem;
        padding: 0.75rem 1rem !important;
        font-size: 1.125rem;
    }

    .product-related-buttons .btn-plus span {
        font-size: inherit;
        line-height: 1.4;
    }
}

.btn-extra {
    padding: 1rem;
    text-align: center;
}

.btn-extra a {
    display: block;
    padding: 1px 0 1 4px;
    font: 23px/42px 'BentonSans-Regular', 'BentonSans-Bold';
    color: #988B85;
    border: 1.5px solid black;
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    font-weight: bold;
}

.btn-extra a:hover {
    color: #493E3A;
    border-color: #EBE9E7;
    background-color: #D5D0CA;
    box-shadow: 0 0 10px #CECAC4;
    -moz-box-shadow: 0 0 10px #CECAC4;
    -webkit-box-shadow: 0 0 10px #CECAC4;
}

.btn-extra a.active {
    color: #493E3A;
    border-color: #988B85;
    background-color: #D5D0CA;
}

.btn-extra-blue {
    background: #CEE0E3 !important;
}

.btn-extra.btn-extra-blue.cienwidth {
    margin-bottom: 0 !important;
}

.btn-extra-blue a {
    color: black !important;
}

.btn-extra-blue a:hover {
    color: #2B454F;
    border-color: #CEE0E3;
    background-color: #91B9C1;
    box-shadow: 0 0 10px #91B9C1;
    -moz-box-shadow: 0 0 10px #91B9C1;
    -webkit-box-shadow: 0 0 10px #91B9C1;
}

/* Nombre del producto */
.comparar-producto-nombre {
    display: flex;
    flex-direction: column;
    border-bottom: none;
    align-items: center;
    justify-content: center;
    min-height: 5rem;
    width: 100%;
    padding: 0;
}

/* Título debajo del slide principal (ficha producto) */
.product-ficha-page .product-ficha-title-below-main {
    width: var(--lds-product-strip-width, 100%);
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.cuca {
    color: white;
    font-size: 3rem;
    line-height: 3rem;
    white-space: nowrap;
    max-width: 100%;
}

small.cuca {
    background: #776D6B;
    font-size: 3rem;
    text-align: center;
    padding: 1rem 1.5rem;
    width: fit-content;
    font-weight: 700;
}

.cuca-title {
    max-width: 100%;
    font-size: 30px;
}

.cuca-subtitle {
    max-width: 100%;
    font-size: 30px;
    text-transform: capitalize;
}

.comparar-producto-nombre .product-vendido-label {
    color: #ff0000 !important;
    font-family: 'BentonSans-Bold', 'BentonSans-Regular', Arial, Helvetica, sans-serif !important;
    font-weight: bold;
    text-transform: none;
    margin: 0;
    padding: 0;
    align-self: center;
    display: block;
    white-space: nowrap;
}

/* Precio */
.precio-formulario {
    color: white;
    font-size: 2.8rem;
    padding: 0.5rem 0;
    text-align: center;
    font-weight: bold;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    background: grey;
}

.precio-formulario div small {
    background: grey;
}

/* Ficha producto (pages/product.php): barra de precio Ã¢â‚¬â€ texto centrado (padding simÃƒÂ©trico compensa FAB fijo a la derecha) */
.product-ficha-page .product-ficha-precio-bar {
    background: #000 !important;
    border: none !important;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    /* Ancho alineado con miniaturas principales (regla compartida --lds-product-strip-width). */
    padding-inline: clamp(0.75rem, 4vw, 5.75rem);
    text-align: center;
}

.product-ficha-page .product-ficha-precio-bar > div {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 0.5em;
    row-gap: 0.15em;
    text-align: center;
}

.product-ficha-page .product-ficha-precio-bar div small {
    background: transparent !important;
    color: #fff;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
    text-transform: none;
}

/* Misma tipografÃ­a grande y mayÃºsculas en barra de precio (con o sin descuento) */
.product-ficha-page .product-ficha-precio-bar,
.product-ficha-page .product-ficha-precio-bar > div,
.product-ficha-page .product-ficha-precio-bar .precio-con-descuento {
    font-size: 2.45rem;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento .precio-original-tachado,
.product-ficha-page .product-ficha-precio-bar .precio-con-descuento .precio-final-descuento {
    font-size: inherit;
    font-weight: normal;
    text-transform: none;
}

.product-ficha-page .product-ficha-precio-bar .producto-formato-precio {
    margin-left: 0.45em;
    text-transform: none;
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento .precio-original-tachado {
    text-decoration-color: #ff0000;
    text-decoration-thickness: 0.08em;
}

.product-ficha-page .product-ficha-precio-bar .shipping-costs {
    font-size: inherit;
    font-weight: inherit;
    margin-left: 0.25em;
    text-transform: none !important;
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento {
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    line-height: 1;
    gap: 0.45em;
}

/* ≤480px: mantener centrado cuando el precio con descuento hace wrap */
@media (max-width: 480px) {
    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento {
        width: 100%;
        max-width: 100%;
        justify-content: center;
        align-items: center;
        align-content: center;
        text-align: center;
        flex-wrap: wrap;
        box-sizing: border-box;
    }

    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento > span {
        justify-content: center;
    }

    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento .shipping-costs {
        width: 100%;
        text-align: center;
        margin-left: 0;
    }
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento > span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento .flecha-descuento {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    align-self: center;
    color: #ff0000;
    text-transform: none;
    margin: 0;
    padding: 0;
    height: 1.15em;
    width: 1.85em;
    line-height: 0;
    vertical-align: middle;
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento .flecha-descuento svg {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    display: block;
    transform: translateY(0.06em);
}

.product-ficha-page .product-ficha-precio-bar .precio-con-descuento .descuento-badge {
    font-size: 0.82em;
    text-transform: none;
}

/* Ficha producto: Comparar, Compartir y favoritos Ã¢â‚¬â€ fondo negro, texto e iconos blancos */
.product-ficha-page .div-consulta-comparar {
    background: #000 !important;
    border-top: 3px solid rgba(150, 150, 150, 0.22) !important;
    border-left: 3px solid rgba(150, 150, 150, 0.22);
    border-right: 3px solid rgba(150, 150, 150, 0.22);
    border-bottom: none;
    box-sizing: border-box;
}

.product-ficha-page .div-consulta-comparar .boton-favorito-producto,
.product-ficha-page .div-consulta-comparar a.boton-favorito-producto {
    background: #000 !important;
    color: #fff !important;
    border: none;
    box-sizing: border-box;
}

.product-ficha-page .div-consulta-comparar .boton-favorito-producto small,
.product-ficha-page .div-consulta-comparar a.boton-favorito-producto small {
    color: #fff !important;
}

.product-ficha-page .div-consulta-comparar .js-product-fav-svg[fill="#111"] {
    fill: #fff !important;
    stroke: #fff !important;
}

.product-ficha-page .div-consulta-comparar .js-product-fav-svg[fill="none"],
.product-ficha-page .div-consulta-comparar a.boton-favorito-producto svg {
    fill: none !important;
    stroke: #fff !important;
}

.product-ficha-page .div-consulta.div-consulta-no-border {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    max-width: 100%;
    flex-wrap: wrap;
    gap: 0;
    box-sizing: border-box;
    /* Gana a .div-consulta { border-top: none !important } y .div-consulta-no-border { border: none } */
    border: 3px solid rgba(150, 150, 150, 0.22) !important;
}

.product-ficha-page .div-consulta-no-border > label.div-produ-compara.bg-white,
.product-ficha-page .div-consulta-no-border > a.div-produ-compara.bg-white {
    flex: 1 1 0;
    width: auto;
    min-width: min(100%, 11rem);
    box-sizing: border-box;
}

.product-ficha-page .div-consulta-no-border .div-produ-compara.bg-white {
    background: #000 !important;
    color: #fff !important;
}

/* Compartir: sin borde izquierdo para no duplicar la lÃƒÂ­nea con el borde derecho de Comparar */
.product-ficha-page .div-consulta-no-border > a.div-produ-compara.bg-white {
    border-left: 3px solid rgba(150, 150, 150, 0.22);
}

.product-ficha-page .div-consulta-no-border label.div-produ-compara {
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.65rem;
}

.product-ficha-page .div-consulta-no-border .checkbox {
    accent-color: #fff;
}

.product-ficha-page .div-consulta-no-border a.div-produ-compara,
.product-ficha-page .div-consulta-no-border a.div-produ-compara:visited {
    color: #fff !important;
}

.product-ficha-page .div-consulta-no-border .compartir-flex {
    color: #fff !important;
}

.product-ficha-page .div-consulta-no-border .redes-compartir {
    filter: brightness(0) invert(1);
}

.product-ficha-page .carousel-wrapper-with-code .main-slider-rail-fav-btn {
    background: #000 !important;
    color: #fff !important;
    border: none;
    box-sizing: border-box;
}

.product-ficha-page .carousel-wrapper-with-code .main-slider-rail-fav-btn .js-product-fav-svg[fill="#111"] {
    fill: #fff !important;
    stroke: #fff !important;
}

.product-ficha-page .carousel-wrapper-with-code .main-slider-rail-fav-btn .js-product-fav-svg[fill="none"],
.product-ficha-page .carousel-wrapper-with-code .main-slider-rail-fav-btn .main-slider-rail-fav-btn__icon {
    stroke: #fff !important;
}

/* Favorito vía clase (además del atributo fill) */
.product-ficha-page .carousel-wrapper-with-code .main-slider-rail-fav-btn .js-product-fav-svg.is-favorited {
    fill: #fff !important;
    stroke: #fff !important;
}

/* Info producto */
.producto-info {
    color: white;
}

.product-ficha-page .producto-info {
    border: none !important;
}

/* Ficha medidas / datos (#product-data-div, .product-data-div): tÃ­tulo + grid centrado (detalle en products.css / product-fix.css) */
#product-data-div.contenedor-info .product-measures > dt,
.product-data-div.contenedor-info .product-measures > dt {
    text-align: center;
}

/* Títulos de medidas: mismos bordes que Técnicas (.border-sep-groove).
   Sin línea superior: queda pegado al botón "Consultar" sin separador. */
#product-data-div .product-measures > dt.border-sep-groove,
.product-data-div .product-measures > dt.border-sep-groove {
    border-top: none;
    border-bottom: 3px solid rgba(150, 150, 150, 0.22);
    border-left: none;
    border-right: none;
    box-sizing: border-box;
}

.product-ficha-page .product-data-div .product-measures > dt.border-sep-groove {
    border-top: none !important;
}

/* Sellos / nÃºmeros de serie / libros: separadores a todo el ancho del bloque */
.product-data-black-bg.border-sep-groove-block .product-measures {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

.product-data-black-bg.border-sep-groove-block .product-measures > dt {
    text-align: center;
}

@media (max-width: 768px) {
    .product-data-black-bg.border-sep-groove-block .product-measures {
        width: 100%;
    }
}

.product-data {
    background-color: #fff;
    color: #000 !important;
    border-top: none !important;
}

.product-data table {
    width: 100%;
    padding: 10px;
    border-collapse: collapse;
    color: #111;
}

.product-data table tr {
    /* border-bottom: 1px solid #EBE9E7; */
}

.product-data table th {
    width: 45%;
    text-align: left;
    padding: 1rem 0 1rem 1rem;
    font: 23px/43px 'BentonSans-Regular', 'BentonSans-Bold';
}

.product-data table td {
    font: 21px/21px Arial, Helvetica, sans-serif;
}

.product-data table td em {
    font-style: normal;
}

.product-data a {
    color: aqua !important;
}

.product-measures dt {
    position: relative;
    font-size: 2rem;
    line-height: 5rem;
    cursor: pointer;
    font-weight: bold;
    background: #000;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    padding: 0;
}

.product-measures dt small,
.product-measures dt .product-measures-toggle {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 3rem;
    padding: 0 2rem;
    font-weight: bold;
    color: #fff;
    line-height: 5rem;
}

@media (min-width: 992px) {
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        right: 11rem;
        padding: 0 0.5rem;
    }
}

/* Medidas cm/in: fijar LTR para que árabe no mezcle número y unidad */
.pm-measure-units {
    direction: ltr !important;
    unicode-bidi: isolate;
    display: inline-block;
    text-align: left;
}
.pm-measure-units .pm-measure-pair {
    unicode-bidi: isolate;
    white-space: nowrap;
}
.pm-measure-units .pm-measure-sep {
    font-style: normal;
    unicode-bidi: isolate;
}
.pm-value .pm-measure-units em {
    font-style: normal;
}

/*
 * Separador bajo botones diseñador/estilo/técnica: a todo el ancho del bloque.
 */
.product-measures--video-info dt {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Abierto (diseÃƒÂ±ador o estilo): ocultar solo el texto del dt; el <small>+</small> sigue visible */
.product-measures--video-info.product-measures-dd-open > dt .product-measures-dt-inner {
    display: none;
}



.sin_border {
    border-bottom: none;
}

.sin_border th {
    text-align: left !important;
    padding: 1rem !important;
    width: 50% !important;
}

.sin_border td {
    text-align: left !important;
    padding: 1rem !important;
    width: 50%;
}

/* Consulta y favoritos */
.div-consulta {
    border-top: none !important;
    display: flex;
}

.div-consulta a {
    color: black;
}

.div-consulta-comparar {
    background: white;
    border-top: groove;
    display: flex;
    justify-content: center;
}

.div-consulta-comparar label {
    color: black;
}

.div-produ-compara {
    color: black;
    padding: .5rem 0;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold';
    font-size: 2.5rem;
    margin: 0;
}

.boton-favorito-producto {
    height: 5rem;
    width: 5rem;
    width: 50%;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    font-size: 3rem;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold';
    cursor: pointer;
    color: black;
}

.boton-favorito-producto img {
    height: auto;
    width: 5rem;
}

/* Ficha producto: bloque blanco wishlist + script Ã¢â‚¬â€ visible solo en viewport chico */
@media (min-width: 992px) {
    .product-ficha-consulta-comparar {
        display: none !important;
    }
}

.checkbox {
    -ms-transform: scale(2);
    -moz-transform: scale(2);
    -webkit-transform: scale(2);
    -o-transform: scale(2);
    transform: scale(2);
    margin: 0 1rem 0 0;
}

/* Compartir */
.redes-compartir {
    height: 4rem;
    width: 4rem;
}

.boton-compartir-custom {
    margin-right: 1rem;
}

.a2a_kit {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.a2a_kit a {
    cursor: pointer;
    margin-top: 3rem;
    margin-bottom: 3rem;
}

#lds-auth-host {
    position: fixed;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 100200;
    pointer-events: none;
    overflow: visible;
    padding: 28px;
    box-sizing: border-box;
}

#lds-auth-host.is-open {
    display: flex !important;
}

.login-popup {
    display: none;
    background: #333;
    padding: 10px;
    border: 2px solid #ddd;
    float: none;
    font-size: 1.2em;
    position: relative;
    top: auto;
    left: auto;
    right: auto;
    bottom: auto;
    width: max-content;
    max-width: calc(100vw - 24px);
    height: auto;
    margin: 0;
    transform: none !important;
    -webkit-transform: none !important;
    overflow: visible;
    transition: none !important;
    -webkit-transition: none !important;
    z-index: 1;
    pointer-events: auto;
    box-shadow: 0px 0px 20px #999;
    -moz-box-shadow: 0px 0px 20px #999;
    -webkit-box-shadow: 0px 0px 20px #999;
    border-radius: 3px 3px 3px 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}

/* Misma piel en fichas (product.css carga después de Bootstrap/menu) */
.login-popup form.signin .textbox input {
    background: #666666 !important;
    background-color: #666666 !important;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    caret-color: #fff;
}

.login-popup form.signin .textbox input:-webkit-autofill,
.login-popup form.signin .textbox input:-webkit-autofill:hover,
.login-popup form.signin .textbox input:-webkit-autofill:focus,
.login-popup form.signin .textbox input:-webkit-autofill:active {
    -webkit-text-fill-color: #fff !important;
    caret-color: #fff;
    box-shadow: 0 0 0 1000px #666666 inset !important;
    -webkit-box-shadow: 0 0 0 1000px #666666 inset !important;
    transition: background-color 99999s ease-out 0s;
    background-color: #666666 !important;
    background-clip: content-box !important;
}

#mask {
    z-index: 100150 !important;
}

img.btn_close {
    float: right;
    margin: -28px -28px 0 0;
}

.close {
    /* Estilos para botÃƒÂ³n cerrar */
}

/* Video del producto: ver bloque .product-ficha-video-prod-wrap .video-prod arriba */

.videoIA {
    margin: 0px auto !important;
    width: 100%;
    gap: 50px;
    align-items: start;
}

/* Columna video (mÃƒÂ³dulos diseÃƒÂ±ador y estilo): tÃƒÂ­tulo centrado al ancho del video, encima */
.div-disenador-stack {
    display: none !important;
    flex-direction: column;
    align-items: stretch;
    width: 50%;
    box-sizing: border-box;
    margin-top: 20px;
}

/* No mostrar el bloque de video (negro/controles) hasta tener frame listo */
.div-disenador-stack.is-vtc-ready {
    display: flex !important;
}

/* Misma piel tipogrÃƒÂ¡fica que .product-measures dt (tÃƒÂ­tulo sobre el video: diseÃƒÂ±ador o estilo) */
.vid-disenador-overline {
    margin: 0 0 0.65rem;
    padding: 0 0.35rem;
    text-align: center;
    font-size: 2rem;
    line-height: 1.2;
    font-weight: bold;
    color: #fff;
    text-transform: uppercase;
    box-sizing: border-box;
}

.div-disenador-stack .div-disenador {
    width: 100%;
}

.vid-disenador {
    width: 50%;
    margin: 0 auto;
}

.div-disenador {
    position: relative;
    width: 50%;
    overflow: hidden;
    box-sizing: border-box;
}

.div-disenador video {
    width: 100%;
    display: block;
    box-sizing: border-box;
}

.div-disenador.vtc-fs-active {
    background: #000 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.div-disenador.vtc-fs-active video {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}

/* Iconos superiores (sonido + ampliar) */
.vtc-top-icons {
    position: absolute;
    top: 20px;
    left: 0;
    right: 0;
    z-index: 11;
    display: flex;
    justify-content: space-between;
    padding: 0 25px;
}

/* Video producto: solo pantalla completa arriba a la derecha (sin mute superior) */
.product-ficha-video-prod-player .vtc-top-icons--fs-only {
    justify-content: flex-end;
}

.vtc-icon-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vtc-icon-btn:hover {
    background: none;
}

/* --- controles personalizados abajo --- */
.vid-top-controls {
    position: absolute;
    bottom: 8px;
    left: 0;
    right: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px 10px;
    background: linear-gradient(to top, rgba(0,0,0,.7) 0%, transparent 100%);
    opacity: 0;
    transition: opacity .25s;
    max-width: 100%;
    box-sizing: border-box;
    /* visible: el thumb del range y los iconos no se cortan en mÃ³vil */
    overflow: visible;
}

.div-disenador:hover .vid-top-controls,
.div-disenador:focus-within .vid-top-controls,
.div-disenador.vtc-show .vid-top-controls {
    opacity: 1;
}

/*
 * PC ≥992: .vid-top-controls (left/right 0) sigue al contenedor posicionado.
 * .vtc-frame es ese contenedor y se ajusta a la imagen visible. Con
 * object-fit:contain el <video> puede ser más ancho que la imagen; el ancho
 * sale de la proporción (alto disponible × ancho/alto), sin recortar ni estirar.
 * ≤991 no entra: el frame queda estático y los controles siguen en .div-disenador.
 */
@media (min-width: 992px) {
    .product-ficha-page .div-disenador:not(.product-ficha-video-prod-player) > .vtc-frame {
        position: relative;
        width: min(100%, calc(var(--vtc-limit-h, 100000px) * var(--vtc-ar, 1000)));
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    .product-ficha-page .div-disenador:not(.product-ficha-video-prod-player) > .vtc-frame > video {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        display: block;
        object-fit: contain;
    }

    .product-ficha-page .div-disenador.vtc-fs-active:not(.product-ficha-video-prod-player) {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .product-ficha-page .div-disenador.vtc-fs-active:not(.product-ficha-video-prod-player) > .vtc-frame {
        width: min(100%, calc(var(--vtc-limit-h, 100vh) * var(--vtc-ar, 1000)));
        max-width: 100%;
        max-height: 100%;
        min-width: 0;
        flex: 0 0 auto;
    }

    .product-ficha-page .div-disenador.vtc-fs-active:not(.product-ficha-video-prod-player) > .vtc-frame > video {
        width: 100% !important;
        min-width: 0;
        height: auto !important;
        max-height: var(--vtc-limit-h, 100vh) !important;
        object-fit: contain !important;
    }
}

.vtc-btn {
    background: none;
    border: none;
    cursor: pointer;
    padding: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    min-width: 0;
    box-sizing: border-box;
}

.vtc-progress {
    flex: 1 1 0;
    min-width: 0;
    max-width: 100%;
    height: 4px;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255,255,255,.3);
    border-radius: 2px;
    outline: none;
    cursor: pointer;
    box-sizing: border-box;
}

.vtc-progress::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
    cursor: pointer;
}

.vtc-progress::-moz-range-thumb {
    width: 12px;
    height: 12px;
    background: #fff;
    border-radius: 50%;
    border: none;
    cursor: pointer;
}

.vtc-time {
    color: #fff;
    font-size: 12px;
    white-space: nowrap;
    flex-shrink: 0;
    user-select: none;
    max-width: 100%;
    overflow: visible;
    text-overflow: clip;
}

.vtc-round-play {
    position: absolute;
    top: 70%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,.8);
    background: rgba(0,0,0,.5);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.vtc-round-play:hover {
    background: rgba(0,0,0,.5);
}

.vtc-round-play:active {
    transform: translate(-50%, -50%);
}

.info-extra {
    width: 100%;
}

.product-ficha-page .videoIA .info-extra {
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: visible;
    box-sizing: border-box;
}

.product-ficha-page .videoIA .info-extra-width {
    margin-top: 20px;
}

.info-extra h2 {
    color: #00ffff;
}

/* Coming soon */
.coming-soon {
    text-align: center;
    font-size: 4rem;
}

.product-ficha-global,
.product-ficha-embebida {
    width: 100%;
}

.product-ficha-embebida {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid #d8d8d8;
}

.product-unitarios-aviso {
    width: min(90%, 900px);
    max-width: 100%;
    margin: 2.5rem auto 1rem;
    padding: 1.35rem 2rem;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    border: 1px solid #00dfe6;
    border-radius: 4px;
    background: linear-gradient(90deg, rgba(0, 223, 230, 0.16), rgba(0, 223, 230, 0.05));
    color: #fff;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold', Arial, Helvetica, sans-serif;
    font-size: clamp(1.5rem, 2vw, 2rem);
    font-weight: 600;
    line-height: 1.5;
    text-align: center;
    box-shadow: 0 0 18px rgba(0, 223, 230, 0.16);
}

@media (max-width: 576px) {
    .product-unitarios-aviso {
        width: calc(100% - 2rem);
        padding: 1.1rem 1rem;
        gap: 0.75rem;
    }
}

.product-unitarios-aviso + .product-ficha-embebida {
    border-top: none;
}

/*
 * Carrusel horizontal: sellos, nÃºmeros de serie (.gallery-signatures) y libros (.gallery-books).
 * Misma disposiciÃ³n en una sola lÃ­nea (Swiper) para que el lightbox PhotoSwipe (main.js) se comporte igual en todas.
 */
.gallery-stamps,
.gallery-signatures,
.gallery-books,
.gallery-tecnicas {
    display: block;
    margin: 0 auto;
    width: 100%;
    padding: 1.5rem 0 ;
    box-sizing: border-box;
}

.gallery-tecnicas {
    padding: 2rem 0;
}

.gallery-items-slider-wrap {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    gap: 4px;
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    min-width: 0;
    box-sizing: border-box;
    --gallery-items-cover-h: 125px;
    --gallery-item-scale: 1.25;
    --gallery-items-gap: 1.5rem;
}

@media (max-width: 640px) {
    .gallery-items-slider-wrap,
    .gallery-items-slider {
        --gallery-items-gap: 10px;
    }
}

.gallery-items-slider-wrap .side-arrow,
.gallery-items-slider-wrap .side-arrow:hover,
.gallery-items-slider-wrap .side-arrow:focus,
.gallery-items-slider-wrap .side-arrow:focus-visible,
.gallery-items-slider-wrap .side-arrow:active,
.gallery-items-slider-wrap .side-arrow.swiper-button-disabled {
    color: #fff !important;
}

.gallery-items-slider-wrap .side-arrow .prod-card-carousel__chev,
.gallery-items-slider-wrap .side-arrow .prod-card-carousel__chev path {
    color: #fff !important;
    stroke: #fff !important;
}

.gallery-items-slider-wrap .side-arrow.swiper-button-disabled {
    opacity: 1;
    cursor: default;
    pointer-events: none;
}

.gallery-items-slider-wrap .side-arrow {
    height: var(--gallery-items-cover-h, 125px);
    min-height: var(--gallery-items-cover-h, 125px);
    align-self: flex-start;
    flex: 0 0 44px;
}

.gallery-items-slider-wrap--locked .side-arrow {
    visibility: hidden;
    pointer-events: none;
    width: 0 !important;
    min-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden;
    flex: 0 0 0 !important;
}

.gallery-items-slider-wrap--locked {
    justify-content: center;
    gap: 0;
}

.gallery-items-slider-wrap .side-arrow::after {
    content: none !important;
    display: none !important;
}

.gallery-items-slider {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
    padding-inline: 0;
    overflow: hidden;
    box-sizing: border-box;
    container-type: inline-size;
    container-name: gallery-items;
    --gallery-items-cover-h: 125px;
    --gallery-item-scale: 1.25;
    --gallery-items-gap: 1.5rem;
}

.gallery-items-slider .swiper-slide {
    height: auto;
}

.gallery-items-slider .gallery-stamps__card,
.gallery-items-slider .gallery-books__card,
.gallery-items-slider .gallery-signatures__card {
    width: 100%;
    max-width: 100%;
}

.gallery-items-slider .open-gallery-btn,
.gallery-items-slider .gallery-stamp-link {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    margin: 0;
}

.gallery-items-slider .gallery-stamps__cover-slot,
.gallery-items-slider .gallery-signatures__cover-slot {
    width: 100%;
    max-width: 100%;
    height: var(--gallery-items-cover-h, 125px);
    min-height: var(--gallery-items-cover-h, 125px);
    max-height: var(--gallery-items-cover-h, 125px);
    flex: 0 0 var(--gallery-items-cover-h, 125px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
}

.gallery-books .gallery-items-slider .gallery-books__cover-slot {
    width: var(--gallery-items-cover-h, 125px);
    max-width: var(--gallery-items-cover-h, 125px);
    height: var(--gallery-items-cover-h, 125px);
    min-height: var(--gallery-items-cover-h, 125px);
    max-height: var(--gallery-items-cover-h, 125px);
    flex: 0 0 var(--gallery-items-cover-h, 125px);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    box-sizing: border-box;
}

.gallery-items-slider .gallery-signatures__cover-slot--empty {
    visibility: hidden;
    pointer-events: none;
}

.gallery-items-slider .gallery-stamps__cover-slot .open-gallery-btn,
.gallery-items-slider .gallery-stamps__cover-slot .gallery-stamp-link,
.gallery-items-slider .gallery-books__open-btn,
.gallery-items-slider .gallery-signatures__cover-slot .open-gallery-btn {
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
}

.gallery-items-slider .gallery-item-img {
    width: auto !important;
    height: auto !important;
    max-width: 100%;
    max-height: 100%;
    aspect-ratio: unset !important;
    object-fit: contain;
    object-position: center;
    display: block;
    box-sizing: border-box;
}

.gallery-items-slider .gallery-stamps__text,
.gallery-items-slider .gallery-signatures__card > .gallery-item-title {
    width: 100%;
    max-width: 100%;
}

.gallery-books .gallery-items-slider .gallery-books__text {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: none;
    margin-top: 0;
}

.gallery-item-wrapper {
    /* Estilos para el wrapper del item de galerÃƒÂ­a */
}

.open-gallery-btn {
    position: relative;
    width: 155px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    background: transparent;
    border: none;
    cursor: pointer;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
}

.gallery-stamp-link {
    position: relative;
    width: 155px;
    height: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    cursor: pointer;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
}

.gallery-item-img {
    width: 120px;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

/* Sellos, nÃƒÂºmeros de serie y libros: la imagen cabe en el botÃƒÂ³n/enlace sin deformarse */
.gallery-stamps .open-gallery-btn .gallery-item-img,
.gallery-stamps .gallery-stamp-link .gallery-item-img,
.gallery-signatures .open-gallery-btn .gallery-item-img,
.gallery-books .open-gallery-btn .gallery-item-img,
.gallery-books .gallery-books__open-btn .gallery-item-img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    aspect-ratio: unset;
    object-fit: contain;
    object-position: center;
    flex-shrink: 1;
    min-width: 0;
    min-height: 0;
    display: block;
    box-sizing: border-box;
}

.gallery-item-svg {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 2;
    display: inline-flex;
    pointer-events: none;
}

/* PNG lupa solo en ficha producto: sellos, números de serie, libros */
.gallery-stamps .gallery-item-lupa-prod,
.gallery-signatures .gallery-item-lupa-prod,
.gallery-books .gallery-item-lupa-prod {
    top: 0;
    right: 0;
    left: auto;
    bottom: auto;
    width: 24px;
    height: 24px;
    object-fit: contain;
    transform: none;
}

/* Nros de serie: lupa fuera del botón */
.gallery-signatures .gallery-item-lupa-prod {
    transform: translateX(100%);
}

.gallery-stamps .gallery-stamps__cover-slot,
.gallery-signatures .gallery-signatures__cover-slot,
.gallery-books .gallery-books__cover-slot,
.gallery-stamps .open-gallery-btn,
.gallery-stamps .gallery-stamp-link,
.gallery-signatures .open-gallery-btn,
.gallery-books .gallery-books__open-btn {
    overflow: visible !important;
}

/* Libros y sellos PC: reserva derecha para la lupa. ≤991: sin padding (lupa translateX). */
@media (min-width: 992px) {
    .gallery-stamps .open-gallery-btn,
    .gallery-stamps .gallery-stamp-link,
    .gallery-books .gallery-books__open-btn {
        padding-right: 28px !important;
        box-sizing: border-box;
    }

    /* Sellos PC: botón llena el slot para que la lupa quede en el padding */
    .gallery-stamps .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps .gallery-stamps__cover-slot .gallery-stamp-link {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
    }
}

.gallery-signatures .open-gallery-btn {
    padding-right: 0;
}

/*
 * Reserva 28px (lupa) del diseño horizontal: solo PC ≥992.
 * En ≤991 desplaza el eje de la foto respecto al encabezado.
 */
@media (min-width: 992px) {
    .gallery-signatures .gallery-signatures__cover-slot .open-gallery-btn {
        width: auto !important;
        max-width: calc(100% - 28px) !important;
    }

    .gallery-signatures .gallery-signatures__card > .gallery-item-title {
        width: calc(100% - 28px) !important;
        max-width: calc(100% - 28px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

.gallery-item-title {
    text-align: center;
    text-transform: capitalize;
    margin-top: 10px;
}

.gallery-tecnicas .gallery-item-title,
.gallery-tecnicas .gallery-item-title-semibold {
    margin-top: 0;
    padding: 0;
}

.gallery-item-title-semibold {
    font-weight: 500;
    text-align: center;
    text-transform: capitalize;
    margin-top: 10px;
}

/* Libros y sellos: contenedor del carrusel horizontal */

.gallery-stamps__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 155px;
    min-width: 0;
    margin: 0 auto;
}

.gallery-signatures__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    max-width: 155px;
    min-width: 0;
    margin: 0 auto;
}

.gallery-stamps__cover-slot {
    flex: 0 0 auto;
    width: 100%;
    max-width: 155px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
}

.gallery-stamps__cover-slot .open-gallery-btn,
.gallery-stamps__cover-slot .gallery-stamp-link {
    margin: 0;
    width: 100%;
    height: 100%;
    max-width: 155px;
    max-height: 100px;
}

.gallery-stamps__cover-slot--empty {
    visibility: hidden;
    pointer-events: none;
}

.gallery-stamps__text {
    width: 100%;
    max-width: 155px;
    margin-top: 0.75rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.4rem;
    text-align: center;
    box-sizing: border-box;
}

.gallery-stamps__text .gallery-item-title,
.gallery-stamps__text .gallery-item-title-semibold {
    margin: 0 !important;
    line-height: 1.4;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.gallery-stamps__text > :first-child {
    margin-top: 0;
}

/* Sellos en fila (foto | texto): solo PC ≥992. ≤991 apila y centra la foto visible. */
@media (min-width: 992px) {
    .gallery-stamps .gallery-stamps__card {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.75rem !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot,
    .gallery-stamps .gallery-stamps__cover-slot {
        flex: 0 0 auto !important;
        width: var(--gallery-items-cover-h, 125px) !important;
        min-width: var(--gallery-items-cover-h, 125px) !important;
        max-width: var(--gallery-items-cover-h, 125px) !important;
        height: var(--gallery-items-cover-h, 125px) !important;
        min-height: var(--gallery-items-cover-h, 125px) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
    }

    .gallery-stamps .gallery-items-slider .gallery-stamps__text,
    .gallery-stamps .gallery-stamps__text {
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin-top: 0 !important;
        align-items: flex-start !important;
        justify-content: center !important;
        text-align: left !important;
    }

    .gallery-stamps .gallery-stamps__text .gallery-item-title,
    .gallery-stamps .gallery-stamps__text .gallery-item-title-semibold {
        text-align: left !important;
        width: 100% !important;
    }
}

/*
 * Un solo ítem (sellos): anclas horizontales solo en PC ≥992.
 * ≤991 apila foto+texto centrados (media query Sellos dedicada).
 */
@media (min-width: 992px) {
    .gallery-stamps .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__card {
        --gallery-single-anchor-text: 220px;
        position: relative !important;
        display: grid !important;
        grid-template-columns:
            minmax(0, calc(50% - (var(--gallery-items-cover-h, 125px) + 0.75rem + var(--gallery-single-anchor-text)) / 2))
            var(--gallery-items-cover-h, 125px)
            minmax(0, 1fr) !important;
        column-gap: 0.75rem !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__cover-slot {
        grid-column: 2 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: var(--gallery-items-cover-h, 125px) !important;
        min-width: var(--gallery-items-cover-h, 125px) !important;
        max-width: var(--gallery-items-cover-h, 125px) !important;
    }

    .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__text {
        grid-column: 3 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: left !important;
    }
}

/* Libros 1 ítem en fila anclada: solo PC ≥992 */
@media (min-width: 992px) {
    .gallery-books .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__card {
        --gallery-single-anchor-text: 220px;
        position: relative !important;
        display: grid !important;
        grid-template-columns:
            minmax(0, calc(50% - (var(--gallery-items-cover-h, 125px) + 0.75rem + var(--gallery-single-anchor-text)) / 2))
            var(--gallery-items-cover-h, 125px)
            minmax(0, 1fr) !important;
        column-gap: 0.75rem !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__cover-slot {
        grid-column: 2 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: var(--gallery-items-cover-h, 125px) !important;
        min-width: var(--gallery-items-cover-h, 125px) !important;
        max-width: var(--gallery-items-cover-h, 125px) !important;
    }

    .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__text {
        grid-column: 3 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        margin: 0 !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: left !important;
    }
}

/* Números de serie en fila (foto | nombre): solo PC ≥992. ≤991 apila como Libros. */
@media (min-width: 992px) {
    .gallery-signatures .gallery-signatures__card {
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 0.25rem !important;
        width: auto !important;
        max-width: 100% !important;
    }

    .gallery-signatures .gallery-items-slider .gallery-signatures__cover-slot,
    .gallery-signatures .gallery-signatures__cover-slot {
        flex: 0 0 auto !important;
        width: var(--gallery-items-cover-h, 125px) !important;
        min-width: var(--gallery-items-cover-h, 125px) !important;
        max-width: var(--gallery-items-cover-h, 125px) !important;
        height: var(--gallery-items-cover-h, 125px) !important;
        min-height: var(--gallery-items-cover-h, 125px) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
    }

    .gallery-signatures .gallery-items-slider .gallery-signatures__card > .gallery-item-title,
    .gallery-signatures .gallery-signatures__card > .gallery-item-title {
        flex: 0 1 auto !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        text-align: left !important;
    }

    .gallery-signatures .gallery-item-lupa-prod {
        transform: none !important;
    }

    /* Un solo nro de serie PC: foto centrada; nombre a la derecha sin desplazarla */
    .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__card {
        position: relative;
        width: 100% !important;
        justify-content: center !important;
    }

    .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__card > .gallery-item-title {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        transform: translateY(-50%) !important;
        margin-left: calc(var(--gallery-items-cover-h, 125px) / 2 + 0.5rem) !important;
        max-width: calc(50% - (var(--gallery-items-cover-h, 125px) / 2) - 0.5rem) !important;
    }
}

.gallery-books__card {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.75rem;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
}

.gallery-books__card:has(.open-gallery-btn) {
    cursor: pointer;
}

.gallery-books__cover-slot {
    flex: 0 0 auto;
    width: var(--gallery-items-cover-h, 125px);
    max-width: var(--gallery-items-cover-h, 125px);
    height: var(--gallery-items-cover-h, 125px);
    min-height: var(--gallery-items-cover-h, 125px);
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
    min-width: 0;
}

.gallery-books__open-btn {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
    overflow: hidden;
    min-width: 0;
    min-height: 0;
    box-sizing: border-box;
}

.gallery-books__cover-img {
    width: auto;
    max-width: 100%;
    max-height: 100%;
    height: auto;
    aspect-ratio: unset;
    object-fit: contain;
    object-position: center;
    flex-shrink: 1;
    min-width: 0;
    min-height: 0;
    display: block;
    box-sizing: border-box;
}

.gallery-books__text {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: none;
    margin-top: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 0.4rem;
    text-align: left;
    box-sizing: border-box;
}

.gallery-books__text .gallery-item-title-semibold,
.gallery-books__text .gallery-item-title {
    margin: 0;
}

.gallery-books__text > :first-child {
    margin-top: 0;
}

.gallery-books__title,
.gallery-books__meta {
    width: 100%;
    display: block;
    text-align: left;
    line-height: 1.4;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
}

.gallery-books .gallery-item-title,
.gallery-books .gallery-item-title-semibold {
    text-align: left;
    margin-top: 0;
}

.gallery-books .gallery-items-slider .gallery-books__card {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
}

.gallery-books .gallery-items-slider .swiper-slide,
.gallery-stamps .gallery-items-slider .swiper-slide,
.gallery-signatures .gallery-items-slider .swiper-slide,
.gallery-tecnicas .gallery-items-slider .swiper-slide {
    width: auto;
    max-width: none;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* Layout horizontal libros: prevalece sobre reglas responsive de columnas estrechas */
.gallery-books .gallery-books__card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

.gallery-books .gallery-books__cover-slot {
    flex: 0 0 auto !important;
    width: var(--gallery-items-cover-h, 125px) !important;
    max-width: var(--gallery-items-cover-h, 125px) !important;
    height: var(--gallery-items-cover-h, 125px) !important;
    min-height: var(--gallery-items-cover-h, 125px) !important;
}

.gallery-books .gallery-books__open-btn,
.gallery-books .open-gallery-btn {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
}

.gallery-books .gallery-books__text {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin-top: 0 !important;
    text-align: left !important;
    align-items: flex-start !important;
    justify-content: center !important;
}

.gallery-books .gallery-items-slider .gallery-books__card {
    justify-content: center !important;
}

/* Límite 220px solo en PC: en ≤991 el texto usa todo el ancho de la sección */
@media (min-width: 992px) {
    .gallery-books .gallery-items-slider .gallery-books__text {
        flex: 0 1 auto !important;
        width: auto !important;
        max-width: min(220px, calc(100% - var(--gallery-items-cover-h, 125px) - 0.75rem)) !important;
    }

    .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__text {
        flex: 1 1 auto !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

@media (min-width: 992px) {
    .gallery-books .gallery-items-slider-wrap--locked .gallery-books__card {
        justify-content: center !important;
    }

    .gallery-books .gallery-items-slider-wrap--locked .gallery-books__text {
        flex: 0 1 auto !important;
        width: auto !important;
    }
}

/* Layout fila + texto a la izquierda: solo PC (en ≤991 Libros va en columna a ancho completo). */
@media (min-width: 992px) {
    @container gallery-items (max-width: 639px) {
        .gallery-books .gallery-items-slider .gallery-books__card {
            flex-direction: row !important;
            justify-content: center !important;
        }

        .gallery-books .gallery-items-slider .gallery-books__text {
            flex: 0 1 auto !important;
            width: auto !important;
            text-align: left !important;
            align-items: flex-start !important;
        }

        .gallery-books .gallery-items-slider .gallery-books__title,
        .gallery-books .gallery-items-slider .gallery-books__meta {
            text-align: left !important;
        }
    }
}

.gallery-books .gallery-books__meta {
    min-height: 0;
}

.gallery-books__meta {
    min-height: 1.4em;
}

/*
 * LIBROS ≤991 (incl. <320): portada centrada; flechas fuera del flujo;
 * una sola separación lateral ~5px en el dd (sin sumar padding de galería ni de texto).
 */
@media (max-width: 991px) {
    /* Cadena: dd aporta el mismo inline que el caption del popup; galería/texto sin padding extra */
    .product-ficha-page .product-data-black-bg.border-sep-groove-block .product-measures:has(.gallery-books) > dd {
        padding-left: var(--gallery-popup-caption-inline, 5px) !important;
        padding-right: var(--gallery-popup-caption-inline, 5px) !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-books {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-books .gallery-items-slider-wrap {
        position: relative;
        align-items: flex-start;
        gap: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    /* Flechas solo junto a la portada: absolutas, no restan ancho al slider ni a la descripción */
    .product-ficha-page .gallery-books .gallery-items-slider-wrap .side-arrow {
        position: absolute;
        top: 0;
        z-index: 3;
        align-self: auto;
        height: var(--gallery-items-cover-h, 125px);
        min-height: var(--gallery-items-cover-h, 125px);
        flex: 0 0 auto;
        width: 40px;
        min-width: 40px;
        box-sizing: border-box;
    }

    .product-ficha-page .gallery-books .gallery-items-slider-wrap .swiper-button-prev.side-arrow {
        left: 0;
        right: auto;
    }

    .product-ficha-page .gallery-books .gallery-items-slider-wrap .swiper-button-next.side-arrow {
        right: 0;
        left: auto;
    }

    .product-ficha-page .gallery-books .gallery-items-slider-wrap--locked .side-arrow {
        width: 0 !important;
        min-width: 0 !important;
    }

    .product-ficha-page .gallery-books .gallery-items-slider {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .product-ficha-page .gallery-books .gallery-items-slider,
    .product-ficha-page .gallery-books .gallery-items-slider .swiper-wrapper {
        height: auto !important;
        min-height: 0 !important;
    }

    .product-ficha-page .gallery-books .gallery-items-slider .swiper-slide,
    .product-ficha-page .gallery-books .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        /* Swiper spaceBetween deja margin-right inline y desplaza la portada del eje central */
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .product-ficha-page .gallery-books .gallery-books__card,
    .product-ficha-page .gallery-books .gallery-items-slider .gallery-books__card,
    .product-ficha-page .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__card,
    .product-ficha-page .gallery-books .gallery-items-slider-wrap--locked .gallery-books__card {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Portada centrada = solo la foto (sin padding-right: 28px de la lupa ni
     * columna vacía del grid .gallery-items--single).
     */
    .product-ficha-page .gallery-books .gallery-books__cover-slot,
    .product-ficha-page .gallery-books .gallery-items-slider .gallery-books__cover-slot,
    .product-ficha-page .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__cover-slot {
        grid-column: auto !important;
        grid-row: auto !important;
        flex: 0 0 auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
    }

    .product-ficha-page .gallery-books .gallery-books__open-btn,
    .product-ficha-page .gallery-books .open-gallery-btn,
    .product-ficha-page .gallery-books .gallery-items-slider .gallery-books__open-btn {
        position: relative !important;
        display: block !important;
        width: fit-content !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        padding: 0 !important;
        padding-right: 0 !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .product-ficha-page .gallery-books .gallery-books__cover-img,
    .product-ficha-page .gallery-books .gallery-item-img,
    .product-ficha-page .gallery-books .gallery-books__open-btn .gallery-item-img {
        width: auto !important;
        height: auto !important;
        max-width: min(100%, var(--gallery-items-cover-h, 125px)) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        object-fit: contain !important;
        object-position: center !important;
        display: block !important;
        margin: 0 !important;
    }

    /* Lupa absoluta: no entra en el ancho de la caja centrada */
    .product-ficha-page .gallery-books .gallery-item-lupa-prod {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        transform: translateX(100%) !important;
        pointer-events: none !important;
        z-index: 2;
    }

    /* Ancho útil = 100% del dd (ya con 5px); sin padding propio ni techos 110/120/220 */
    .product-ficha-page .gallery-books .gallery-books__text,
    .product-ficha-page .gallery-books .gallery-items-slider .gallery-books__text,
    .product-ficha-page .gallery-books .gallery-items-slider.gallery-items--single .gallery-books__text,
    .product-ficha-page .gallery-books .gallery-items-slider-wrap--locked .gallery-books__text {
        grid-column: auto !important;
        flex: 0 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        gap: 4px !important;
        row-gap: 4px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-books .gallery-books__title,
    .product-ficha-page .gallery-books .gallery-books__meta,
    .product-ficha-page .gallery-books .gallery-item-title,
    .product-ficha-page .gallery-books .gallery-item-title-semibold,
    .product-ficha-page .gallery-books .gallery-items-slider .gallery-books__title,
    .product-ficha-page .gallery-books .gallery-items-slider .gallery-books__meta {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        /* Ajuste natural: una línea si cabe; si no, wrap por espacios sin forzar cortes agresivos */
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: manual !important;
    }
}

/*
 * NÚMEROS DE SERIE ≤991: mismo layout que Libros (foto centrada, lupa fuera,
 * nombre debajo a 10px a todo el ancho útil; flechas fuera del flujo).
 * Conserva el nombre propio del nro. de serie (sin campos de libros).
 */
@media (max-width: 991px) {
    .product-ficha-page .product-data-black-bg.border-sep-groove-block .product-measures:has(.gallery-signatures) > dd {
        padding-left: var(--gallery-popup-caption-inline, 5px) !important;
        padding-right: var(--gallery-popup-caption-inline, 5px) !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-signatures {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider-wrap {
        position: relative;
        align-items: flex-start;
        gap: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider-wrap .side-arrow {
        position: absolute;
        top: 0;
        z-index: 3;
        align-self: auto;
        height: var(--gallery-items-cover-h, 125px);
        min-height: var(--gallery-items-cover-h, 125px);
        flex: 0 0 auto;
        width: 40px;
        min-width: 40px;
        box-sizing: border-box;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider-wrap .swiper-button-prev.side-arrow {
        left: 0;
        right: auto;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider-wrap .swiper-button-next.side-arrow {
        right: 0;
        left: auto;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider-wrap--locked .side-arrow {
        width: 0 !important;
        min-width: 0 !important;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider,
    .product-ficha-page .gallery-signatures .gallery-items-slider .swiper-wrapper {
        height: auto !important;
        min-height: 0 !important;
    }

    .product-ficha-page .gallery-signatures .gallery-items-slider .swiper-slide,
    .product-ficha-page .gallery-signatures .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card,
    .product-ficha-page .gallery-signatures .gallery-items-slider .gallery-signatures__card,
    .product-ficha-page .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__card,
    .product-ficha-page .gallery-signatures .gallery-items-slider-wrap--locked .gallery-signatures__card {
        position: static !important;
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Área foto = --gallery-items-cover-h (mismo alto que las flechas).
     * La foto se centra H+V dentro; el nombre va 10px bajo el área.
     * height:auto encogía el slot a la foto y la dejaba arriba del eje.
     */
    .product-ficha-page .gallery-signatures .gallery-signatures__cover-slot,
    .product-ficha-page .gallery-signatures .gallery-items-slider .gallery-signatures__cover-slot,
    .product-ficha-page .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__cover-slot,
    .product-ficha-page .gallery-signatures .gallery-signatures__cover-slot--empty {
        grid-column: auto !important;
        grid-row: auto !important;
        position: static !important;
        flex: 0 0 var(--gallery-items-cover-h, 125px) !important;
        flex-basis: var(--gallery-items-cover-h, 125px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: var(--gallery-items-cover-h, 125px) !important;
        min-height: var(--gallery-items-cover-h, 125px) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        transform: none !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-signatures .open-gallery-btn,
    .product-ficha-page .gallery-signatures .gallery-items-slider .open-gallery-btn,
    .product-ficha-page .gallery-signatures .gallery-signatures__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-signatures .gallery-items-slider .gallery-signatures__cover-slot .open-gallery-btn {
        position: relative !important;
        display: block !important;
        flex: 0 0 auto !important;
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        padding: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .product-ficha-page .gallery-signatures .gallery-item-img,
    .product-ficha-page .gallery-signatures .open-gallery-btn .gallery-item-img {
        width: auto !important;
        height: auto !important;
        max-width: min(100%, var(--gallery-items-cover-h, 125px)) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        object-fit: contain !important;
        object-position: center !important;
        display: block !important;
        margin: 0 auto !important;
    }

    .product-ficha-page .gallery-signatures .gallery-item-lupa-prod {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        bottom: auto !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        transform: translateX(100%) !important;
        pointer-events: none !important;
        z-index: 2;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card > .gallery-item-title,
    .product-ficha-page .gallery-signatures .gallery-item-title {
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        margin-left: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        text-align: center !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: manual !important;
        box-sizing: border-box !important;
        /* Mismo criterio tipográfico que Libros (vars sincronizadas al popup). */
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
    }
}

/*
 * SELLOS ≤991: mismo layout que Libros (foto arriba centrada, datos debajo a 10px
 * a todo el ancho útil; flechas fuera del flujo; lupa fuera del ancho de la foto).
 * Datos propios del sello (nombre / período / diseño) — sin campos de libros.
 */
@media (max-width: 991px) {
    .product-ficha-page .product-data-black-bg.border-sep-groove-block .product-measures:has(.gallery-stamps) > dd {
        padding-left: var(--gallery-popup-caption-inline, 5px) !important;
        padding-right: var(--gallery-popup-caption-inline, 5px) !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-stamps {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap {
        position: relative;
        align-items: flex-start;
        gap: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap .side-arrow {
        position: absolute;
        top: 0;
        z-index: 3;
        align-self: auto;
        height: var(--gallery-items-cover-h, 125px);
        min-height: var(--gallery-items-cover-h, 125px);
        flex: 0 0 auto;
        width: 40px;
        min-width: 40px;
        box-sizing: border-box;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap .swiper-button-prev.side-arrow {
        left: 0;
        right: auto;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap .swiper-button-next.side-arrow {
        right: 0;
        left: auto;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap--locked .side-arrow {
        width: 0 !important;
        min-width: 0 !important;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider,
    .product-ficha-page .gallery-stamps .gallery-items-slider .swiper-wrapper {
        height: auto !important;
        min-height: 0 !important;
    }

    .product-ficha-page .gallery-stamps .gallery-items-slider .swiper-slide,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        display: flex !important;
        align-items: flex-start !important;
        justify-content: center !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .product-ficha-page .gallery-stamps .gallery-stamps__card,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__card,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__card,
    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap--locked .gallery-stamps__card {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        column-gap: 0 !important;
        row-gap: 0 !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /*
     * Área estable = --gallery-items-cover-h (mismo alto que las flechas).
     * La foto se centra H+V dentro; el texto va 10px bajo el área, no bajo la foto suelta.
     * Botón/imagen shrink-wrap: la lupa no ensancha ni desplaza el centrado.
     */
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__cover-slot,
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot--empty {
        grid-column: auto !important;
        grid-row: auto !important;
        flex: 0 0 var(--gallery-items-cover-h, 125px) !important;
        flex-basis: var(--gallery-items-cover-h, 125px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: var(--gallery-items-cover-h, 125px) !important;
        min-height: var(--gallery-items-cover-h, 125px) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-stamps .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-stamp-link,
    .product-ficha-page .gallery-stamps .gallery-items-slider .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamp-link,
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot .gallery-stamp-link,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot .gallery-stamp-link,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__cover-slot .gallery-stamp-link {
        position: relative !important;
        display: block !important;
        flex: 0 0 auto !important;
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        padding: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow: visible !important;
    }

    .product-ficha-page .gallery-stamps .gallery-item-img,
    .product-ficha-page .gallery-stamps .open-gallery-btn .gallery-item-img,
    .product-ficha-page .gallery-stamps .gallery-stamp-link .gallery-item-img,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-item-img {
        width: auto !important;
        height: auto !important;
        max-width: min(100%, var(--gallery-items-cover-h, 125px)) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        object-fit: contain !important;
        object-position: center !important;
        display: block !important;
        margin: 0 auto !important;
    }

    /*
     * Lupa fuera del centrado: ancla a la esquina TR de la foto visible.
     * Fallback CSS: borde del host + 4px. JS ajusta --stamps-lupa-* si
     * object-fit: contain deja huecos dentro del contenedor.
     */
    .product-ficha-page .gallery-stamps .gallery-item-lupa-prod {
        position: absolute !important;
        top: var(--stamps-lupa-top, 0px) !important;
        left: var(--stamps-lupa-left, calc(100% + 4px)) !important;
        right: auto !important;
        bottom: auto !important;
        width: 24px !important;
        height: 24px !important;
        margin: 0 !important;
        transform: none !important;
        pointer-events: none !important;
        z-index: 2;
    }

    .product-ficha-page .gallery-stamps .gallery-stamps__text,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__text,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__text,
    .product-ficha-page .gallery-stamps .gallery-items-slider-wrap--locked .gallery-stamps__text {
        grid-column: auto !important;
        flex: 0 0 auto !important;
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
        gap: 4px !important;
        row-gap: 4px !important;
        align-items: center !important;
        justify-content: flex-start !important;
        text-align: center !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-stamps .gallery-stamps__text .gallery-item-title,
    .product-ficha-page .gallery-stamps .gallery-item-title,
    .product-ficha-page .gallery-stamps .gallery-item-title-semibold {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        height: auto !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        hyphens: manual !important;
    }
}

@media (max-width: 480px) {
    .gallery-books__cover-slot {
        width: var(--gallery-items-cover-h, 110px);
        max-width: var(--gallery-items-cover-h, 110px);
        height: var(--gallery-items-cover-h, 110px);
        min-height: var(--gallery-items-cover-h, 110px);
    }

    .gallery-books__title {
        min-height: 0;
    }

    .gallery-stamps__card {
        width: min(155px, 100%);
        max-width: 100%;
    }

    .gallery-stamps__cover-slot {
        height: 100px;
        max-width: min(155px, 100%);
    }

    .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps__cover-slot .gallery-stamp-link {
        max-height: 100px;
        max-width: min(155px, 100%);
    }

    .gallery-stamps__text {
        max-width: min(155px, 100%);
    }
}

/* Utilidades */
.centrar {
    text-align: center;
    justify-content: center;
}

.mitadwidth {
    width: 50%;
}

.cienwidth {
    width: 100% !important;
}

.bg-white {
    background: white;
}

/* Utilidades Bootstrap-like */


.m-2 {
    margin: 0.5rem !important;
}

.mt-1 {
    margin-top: 0.25rem !important;
}

.mt-3 {
    margin-top: 1rem !important;
}

.mt-5 {
    margin-top: .5rem !important;
}

.mb-1 {
    margin-bottom: 0.25rem !important;
}

.w-100 {
    width: 100% !important;
}

.d-flex {
    display: flex !important;
}

.row {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
}

.col {
    flex: 1;
    padding: 0;
}

.col-no-padding {
    padding-right: 0;
    padding-left: 0;
}

.main-slider-container-flex {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}

.swiper-main-fit {
    height: fit-content;
}

.swiper-wrapper-fit {
    height: fit-content;
}

.swiper-slide-fit {
    height: fit-content;
}

.zoom-container-fit {
    max-width: 100%;
}

.swiper.thumbs-slider {
    height: fit-content;
    max-width: 70%;
    margin: 0 15px;
}

.thumbs-slider .swiper-slide {
    cursor: pointer;
}

.thumbs-slider .swiper-slide img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
}

.thumbs-container-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0 !important;
}

.mt-5-full-width {
    width: 100%;
}

.row-center {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.div-consulta-no-border {
    border: none;
    display: flex;
}

.redes-compartir-margin {
    margin-right: 2rem;
}

.login-popup-width {
    width: 30rem;
}

.btn-extra-margin-bottom {
    margin-bottom: 5px;
}

.product-data-black-bg {
    background-color: #000;
    color: #fff !important;
}

.product-data-black-bg .product-measures dd,
.product-data-black-bg .gallery-stamps,
.product-data-black-bg .gallery-signatures,
.product-data-black-bg .gallery-books,
.product-data-black-bg .gallery-tecnicas,
.product-data-black-bg .gallery-item-title,
.product-data-black-bg .gallery-item-title-semibold {
    color: #fff !important;
}

/* Separador: misma lÃ­nea arriba y abajo (sellos, nÃºmeros de serie, libros). */
.border-sep-groove {
    border-top: 3px solid rgba(150, 150, 150, 0.22);
    border-bottom: 3px solid rgba(150, 150, 150, 0.22);
    border-left: none;
    border-right: none;
    box-sizing: border-box;
}

.border-sep-groove-block {
    border-top: none;
}

.product-measures--video-info > dt.border-sep-groove {
    border-top-color: rgba(150, 150, 150, 0.22) !important;
    border-bottom: none;
}

/* Sin título en el panel activo: ocultar la raya bajo los botones Diseñador/Estilo/Técnica */
.product-measures--video-info > dt.js-prod-related-sep[hidden],
.product-measures--video-info:not(:has(.js-prod-related-panel.is-active .videoIA-info-body__title)) > dt.js-prod-related-sep {
    display: none !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    height: 0 !important;
    overflow: hidden;
}

.info-extra-width {
    width: 100%;
    margin-top: 50px;
}

/* MÃƒÂ³dulo diseÃƒÂ±ador / estilo: columna de texto limitada a la altura del video (max-height vÃƒÂ­a JS) */
.videoIA-info-body {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    box-sizing: border-box;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: hidden;
}

/* TÃ­tulo nombre diseÃ±ador / escuela (product.php; fuera del scroll .videoIA-info-body) */
.videoIA-info-body__title {
    box-sizing: border-box;
    margin: 0;
    padding: 0 0 1rem 0 !important;
    border-bottom: 2px solid rgba(150, 150, 150, 0.22) !important;
    flex: 0 0 auto;
    font-size: 3rem;
    line-height: 1.15;
    text-transform: capitalize;
    color: #fff !important;
}

.product-ficha-page .videoIA .videoIA-info-body__title {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    padding-bottom: 1.5rem !important;
    margin-top: 1rem;
}

/* Título de Técnica inyectado solo para ≤991; no debe verse en PC */
@media (min-width: 992px) {
    .product-ficha-page .product-related-section .videoIA-info-body__title.js-mobile-tecnica-title {
        display: none !important;
    }
}

.videoIA-info-body__bio-scroll {
    padding: 0 3rem;
    flex: 1 1 auto;
    min-height: 0;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

/* En el módulo relacionado: menos padding + líneas enteras (como style/designer). */
.product-related-section .videoIA-info-body__bio-scroll {
    padding: 0 0.75rem 0 0;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    cursor: grab;
    box-sizing: border-box;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 20px;
    line-height: 1.4;
}

.product-related-section .videoIA-info-body__bio-scroll.is-bio-dragging {
    cursor: grabbing;
    user-select: none;
}

.product-related-section .videoIA-info-body__bio-scroll .descripcion {
    margin: 0.5rem 0 0 !important;
    max-width: none;
}

.product-related-section .videoIA-info-body__bio-scroll .descripcion,
.product-related-section .videoIA-info-body__bio-scroll .descripcion * {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 20px !important;
    line-height: 1.4 !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    cursor: grab;
    /* Anula fondos blancos pegados desde el editor WYSIWYG */
    background: transparent !important;
    background-color: transparent !important;
}

.product-related-section .videoIA-info-body__bio-scroll.is-bio-dragging .descripcion,
.product-related-section .videoIA-info-body__bio-scroll.is-bio-dragging .descripcion * {
    cursor: grabbing;
}

.product-related-section .videoIA-info-body__bio-scroll .descripcion strong,
.product-related-section .videoIA-info-body__bio-scroll .descripcion strong u {
    color: #00ffff !important;
}

.videoIA-info-body__bio-scroll .descripcion {
    margin-top: 0.5rem;
}

.videoIA-info-body__bio-scroll hr,
.videoIA-info-body__bio-scroll .descripcion hr {
    border-color: rgba(150, 150, 150, 0.22) !important;
    background-color: rgba(150, 150, 150, 0.22) !important;
}

.boton-favorito-justify-center {
    justify-content: center;
}

.compartir-flex {
    display: flex;
    color: black;
    justify-content: center;
    align-items: center;
}

/* Media queries especÃƒÂ­ficas de product */
@media (max-width: 768px) {
    .box-page-producto h2 {
        font-size: 25px;
        padding: 1rem;
    }

    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: 100%;
        max-width: 100%;
    }

    .info-extra {
        display: none;
    }

    .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
    }

    .div-disenador {
        width: 100% !important;
        max-width: 100% !important;
    }

    .div-disenador-stack {
        width: 100% !important;
        max-width: 100% !important;
    }

    .videoIA {
        width: 100% !important;
        max-width: 100% !important;
        gap: 0px;
    }

    .product-measures--video-info dt {
        padding-left: 0.25rem;
    }
}

/* Ficha producto, mÃ³vil: videos diseÃ±ador / estilo ~25% mÃ¡s grandes (columna ya al 100% â†’ scale) */
@media (max-width: 768px) {
    .product-ficha-page .videoIA .div-disenador-stack {
        overflow: visible !important;
        margin-bottom: 0.75rem;
    }

    .product-ficha-page .videoIA .div-disenador {
        transform: scale(1.25);
        transform-origin: center center;
        /* evita que scale + overflow:hidden recorten la barra .vid-top-controls */
        overflow: visible !important;
    }

    .product-ficha-page .videoIA .div-disenador.vtc-fs-active {
        transform: none !important;
        overflow: hidden !important;
    }

    .product-ficha-page .div-disenador .vid-top-controls {
        bottom: max(12px, env(safe-area-inset-bottom, 0px));
        padding-bottom: max(10px, env(safe-area-inset-bottom, 0px));
        overflow: visible !important;
    }
}

@media (max-width: 750px) {
    .cuca {
        color: white;
        font-size: 2rem;
        padding: 0;
    }

    small.cuca {
        font-size: 2rem;
    }

    .btn-plus span {
        font-size: 1.25rem;
    }

    /* h2.ruta2 / Volver ≤991: css/nav-ruta.css */
    .ruta2:not(h2) {
        font-size: 1.5rem !important;
        line-height: 5rem;
        padding: 10px 10px !important;
    }

    .ruta2 h1 {
        font-size: 2rem;
    }
}

@media (max-width: 600px) {
    .precio-formulario {
        font-size: 2rem !important;
    }

    .product-ficha-page .product-ficha-precio-bar,
    .product-ficha-page .product-ficha-precio-bar > div,
    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento {
        font-size: 1.75rem !important;
    }

    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento .flecha-descuento {
        width: 1.75em;
        height: 1.1em;
    }

    .redes-compartir {
        height: 2rem;
        width: 2rem;
    }

    .product-measures dt {
        font-size: 1.5rem;
    }

    .vid-disenador-overline {
        font-size: 1.5rem;
    }
}

@media (max-width: 550px) {
    .div-produ-compara {
        font-size: 1.5rem;
    }

    .boton-favorito-producto {
        font-size: 1.5rem;
        height: 4rem;
    }

    .boton-favorito-producto small {
        font-size: 1.5rem;
    }

    .boton-favorito-producto img {
        width: 4rem;
    }
}

@media (max-width: 450px) {
    .precio-formulario {
        font-size: 1.75rem !important;
    }

    .product-ficha-page .product-ficha-precio-bar,
    .product-ficha-page .product-ficha-precio-bar > div,
    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento {
        font-size: 1.55rem !important;
    }

    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento .flecha-descuento {
        width: 1.65em;
        height: 1.1em;
    }

    .btn-extra a {
        font: 25px/30px 'BentonSans-Regular', 'BentonSans-Bold';
    }
}

@media (max-width: 400px) {
    .comparar-producto-nombre .cuca {
        margin: 0;
        font-size: 1.3rem !important;
    }

    .comparar-producto-nombre {
        min-height: 5rem;
        padding: 1rem;
    }
}

#product-data-div, .product-data-div {
    background-color: black !important;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
    box-sizing: border-box;
}

.product-ficha-page .product-data-div {
    margin-left: auto;
    margin-right: auto;
}

#product-data-div table,
.product-data-div table {
    margin: 0;
    color: white;
}

@media (max-width: 1000px) {
    .vtc-fullscreen {
        display: none !important;
    }
}

@media (max-width: 1260px) {
    .div-disenador {
        position: relative;
        width: 75%;
    }

    .div-disenador-stack {
        width: 75%;
    }
}

/* product.php Ã¢â‚¬â€ viewport < 1001px: titulo al ancho del video; videos al 50% centrados */
@media (max-width: 1000px) {
    .product-ficha-page .div-disenador-stack > .vid-disenador-overline {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0.35rem !important;
        padding-right: 0.35rem !important;
        font-size: clamp(0.95rem, 3.6vw, 1.65rem) !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        hyphens: auto;
        text-align: center;
    }

    .product-ficha-page .videoIA {
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    .product-ficha-page .div-disenador-stack {
        /* +25% respecto al 40% anterior (40 Ã— 1.25 = 50) */
        width: 50% !important;
        max-width: 50% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .product-ficha-page .div-disenador {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .product-ficha-page .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
    }

    .product-ficha-page .product-ficha-video-prod-wrap.is-video-ready {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
    }

    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: var(--lds-product-strip-width) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* ========================================
   RESPONSIVE ENHANCEMENTS - MOBILE & TABLET
   Mantiene intacto el diseÃƒÂ±o desktop
   ======================================== */

/* Tablet Large (992px - 1200px) */
@media (max-width: 1200px) and (min-width: 993px) {
    .cuca-title {
        font-size: 28px !important;
    }
    
    .cuca-subtitle {
        font-size: 26px !important;
    }
    
    .product-data table th {
        font-size: 21px !important;
        line-height: 38px !important;
    }
    
    .btn-extra a {
        font-size: 21px !important;
        line-height: 38px !important;
    }
}

/* 769–991 px usaba tipografía más grande que el celular. Ese tramo sigue las reglas de celular. */

/* Breakpoint especÃ­fico para 577px-640px - Fix informaciÃ³n producto (excluye #product-data-div, .product-data-div: usa grid en products.css) */
@media (max-width: 640px) and (min-width: 577px) {
    /* Tablas: permitir scroll horizontal si es necesario */
    .product-data {
        overflow-x: hidden !important;
        max-width: 100% !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table {
        width: 100% !important;
        display: table !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table th {
        width: 34% !important;
        padding: 0.75rem 0.25rem 0.75rem 0.75rem !important;
        font-size: 16px !important;
        line-height: 1.3 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table td {
        width: 66% !important;
        padding: 0.75rem 0.6rem !important;
        font-size: 16px !important;
        line-height: 1.3 !important;
        text-align: right !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table td svg,
    .product-data:not(#product-data-div):not(.product-data-div) table td img {
        max-width: 34px !important;
        max-height: 34px !important;
        margin-left: 0.45rem !important;
        display: inline-block !important;
        vertical-align: middle !important;
    }
    
    /* Medidas del producto */
    .product-measures dt {
        font-size: 1.75rem !important;
        line-height: 4rem !important;
    }
    
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        font-size: 2.5rem !important;
        padding: 0 1.4rem !important;
        line-height: 4rem !important;
    }
    
    /* Galerías (Sellos/Libros: solo vertical; el lateral lo fija el dd ≤991) */
    .gallery-signatures {
        padding: 10px !important;
    }

    .gallery-stamps,
    .gallery-books {
        padding: 10px 0 !important;
    }
    
    .open-gallery-btn,
    .gallery-stamp-link {
        width: 135px !important;
        height: 88px !important;
    }
    
    .gallery-item-img {
        width: 108px !important;
    }
    
    .gallery-books__cover-slot {
        max-width: 135px !important;
        height: 9.2rem !important;
    }
    
    .gallery-books__open-btn {
        max-width: 135px !important;
        max-height: 9.2rem !important;
    }
    
    .gallery-stamps__card {
        width: 135px !important;
        max-width: 135px !important;
    }
    
    .gallery-stamps__cover-slot {
        max-width: 135px !important;
        height: 88px !important;
    }
    
    .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps__cover-slot .gallery-stamp-link {
        max-width: 135px !important;
        max-height: 88px !important;
    }
    
    .gallery-stamps__text {
        max-width: 135px !important;
        gap: 0.35rem !important;
        margin-top: 0.65rem !important;
    }
    
    /* Botones */
    .btn-extra a {
        font-size: 18px !important;
        line-height: 33px !important;
    }
    
    .btn-plus {
        font-size: 16px !important;
        padding: 5px 14px !important;
    }
    
    /* Precio */
    .precio-formulario {
        font-size: 2.3rem !important;
    }
    
    /* Comparar/Compartir */
    .div-produ-compara {
        font-size: 1.9rem !important;
    }
    
    .boton-favorito-producto {
        font-size: 2.1rem !important;
        height: 4.4rem !important;
    }
    
    .boton-favorito-producto img {
        width: 4.4rem !important;
    }
    
    /* Video diseÃ±ador/estilo */
    .videoIA {
        width: 100% !important;
        max-width: 100% !important;
        gap: 30px !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    
    .div-disenador-stack {
        /* +25% respecto al 55% anterior */
        width: 69% !important;
        max-width: 69% !important;
        margin: 0 auto !important;
    }
    
    .div-disenador {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .vid-disenador-overline {
        font-size: 1.6rem !important;
        line-height: 1.3 !important;
    }
    
    .info-extra {
        display: none !important;
    }
    
    /* Video del producto (no diseÃ±ador / estilo): ancho = miniaturas */
    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: var(--lds-product-strip-width) !important;
        max-width: 100% !important;
    }
    
    /* TÃ­tulo producto */
    .cuca-title {
        font-size: 23px !important;
        line-height: 1.3 !important;
    }
    
    .cuca-subtitle {
        font-size: 21px !important;
        line-height: 1.3 !important;
    }
    
    /* Ruta / Volver: css/nav-ruta.css */
}

/* Tablet Small y Mobile Large (576px - 768px) */
@media (max-width: 991px) and (min-width: 577px) {
    /* Tablas: mantener formato horizontal optimizado (excluye #product-data-div, .product-data-div) */
    .product-data:not(#product-data-div):not(.product-data-div) table {
        display: table !important;
        table-layout: fixed !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table tbody {
        display: table-row-group !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table tr {
        display: table-row !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table th,
    .product-data:not(#product-data-div):not(.product-data-div) table td {
        display: table-cell !important;
        vertical-align: middle !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table th {
        width: 35% !important;
        padding: 0.7rem 0.3rem 0.7rem 0.7rem !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table td {
        width: 65% !important;
        padding: 0.7rem 0.6rem !important;
        font-size: 15px !important;
        line-height: 1.3 !important;
        text-align: right !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table td svg,
    .product-data:not(#product-data-div):not(.product-data-div) table td img {
        max-width: 36px !important;
        max-height: 36px !important;
        margin-left: 0.5rem !important;
        display: inline-block !important;
        vertical-align: middle !important;
    }
    
    .comparar-producto-nombre {
        min-height: 3.5rem !important;
        padding: 0.5rem 0.25rem !important;
    }
    
    .cuca-title {
        font-size: 24px !important;
        line-height: 1.3 !important;
    }
    
    .cuca-subtitle {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }
    
    /* Ruta / Volver: css/nav-ruta.css */
    
    .precio-formulario {
        font-size: 2.4rem !important;
        padding: 0.4rem 0 !important;
    }
    
    .product-data table th {
        font-size: 19px !important;
        line-height: 32px !important;
        padding: 0.75rem 0 0.75rem 0.75rem !important;
    }
    
    .product-data table td {
        font-size: 18px !important;
        line-height: 18px !important;
    }
    
    .product-measures dt {
        font-size: 1.7rem !important;
        line-height: 4rem !important;
    }
    
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        font-size: 2.5rem !important;
        padding: 0 1.5rem !important;
        line-height: 4rem !important;
    }
    
    .btn-extra a {
        font-size: 19px !important;
        line-height: 34px !important;
        padding: 2px 10px 2px 8px !important;
    }
    
    .btn-plus {
        font-size: 17px !important;
        padding: 6px 16px !important;
    }
    
    .btn-plus span {
        font-size: 17px !important;
    }
    
    .div-produ-compara {
        font-size: 2rem !important;
        padding: 0.4rem 0 !important;
    }
    
    .boton-favorito-producto {
        font-size: 2.2rem !important;
        height: 4.5rem !important;
    }
    
    .boton-favorito-producto img {
        width: 4.5rem !important;
    }
    
    .checkbox {
        transform: scale(1.8) !important;
    }
    
    .redes-compartir {
        height: 3.5rem !important;
        width: 3.5rem !important;
    }
    
    .redes-compartir-margin {
        margin-right: 1.5rem !important;
    }
    
    /* Galerías: ajustar para tablet pequeño */
    .gallery-signatures {
        padding: 10px !important;
    }

    .gallery-stamps,
    .gallery-books {
        padding: 10px 0 !important;
    }
    
    .open-gallery-btn,
    .gallery-stamp-link {
        width: 140px !important;
        height: 90px !important;
    }
    
    .gallery-item-img {
        width: 110px !important;
    }
    
    .gallery-books__cover-slot {
        max-width: 140px !important;
        height: 9.5rem !important;
    }
    
    .gallery-books__open-btn {
        max-width: 140px !important;
        max-height: 9.5rem !important;
    }
    
    .gallery-stamps__card {
        width: 140px !important;
        max-width: 140px !important;
    }
    
    .gallery-stamps__cover-slot {
        max-width: 140px !important;
        height: 90px !important;
    }
    
    .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps__cover-slot .gallery-stamp-link {
        max-width: 140px !important;
        max-height: 90px !important;
    }
    
    .gallery-stamps__text {
        max-width: 140px !important;
    }
    
    /* Video del producto: ancho = miniaturas */
    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: var(--lds-product-strip-width) !important;
        max-width: 100% !important;
    }
}

/* Mobile Large (481px - 576px) */
@media (max-width: 576px) and (min-width: 481px) {
    /* Tablas: mantener formato horizontal con ajustes */
    .product-data table th {
        width: 30% !important;
        font-size: 13px !important;
        padding: 0.6rem 0.25rem 0.6rem 0.6rem !important;
        line-height: 1.2 !important;
    }
    
    .product-data table td {
        width: 70% !important;
        font-size: 14px !important;
        padding: 0.6rem 0.5rem !important;
        line-height: 1.25 !important;
        text-align: right !important;
    }
    
    .product-data table td svg,
    .product-data table td img {
        max-width: 30px !important;
        max-height: 30px !important;
        margin-left: 0.4rem !important;
    }
    
    .comparar-producto-nombre {
        min-height: 3rem !important;
        padding: 0.4rem 0.2rem !important;
    }
    
    .cuca-title {
        font-size: 22px !important;
        line-height: 1.3 !important;
    }
    
    .cuca-subtitle {
        font-size: 20px !important;
        line-height: 1.3 !important;
    }
    
    .contNombre > div {
        flex-direction: column !important;
        gap: 0.25rem !important;
    }
    
    /* Ruta / Volver: css/nav-ruta.css */
    
    .precio-formulario {
        font-size: 2.2rem !important;
        padding: 0.35rem 0 !important;
        flex-direction: column !important;
        gap: 0.25rem !important;
    }
    
    .product-data table th {
        font-size: 18px !important;
        line-height: 30px !important;
        padding: 0.65rem 0 0.65rem 0.65rem !important;
    }
    
    .product-data table td {
        font-size: 17px !important;
        line-height: 17px !important;
        padding: 0.65rem !important;
    }
    
    .product-measures dt {
        font-size: 1.6rem !important;
        line-height: 3.8rem !important;
    }
    
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        font-size: 2.3rem !important;
        padding: 0 1.25rem !important;
        line-height: 3.8rem !important;
    }
    
    .btn-extra {
        padding: 0.75rem !important;
    }
    
    .btn-extra a {
        font-size: 18px !important;
        line-height: 32px !important;
        padding: 2px 8px 2px 6px !important;
    }
    
    .btn-plus {
        font-size: 16px !important;
        padding: 5px 14px !important;
        height: auto !important;
        min-height: 38px !important;
    }
    
    .btn-plus span {
        font-size: 16px !important;
    }
    
    .div-produ-compara {
        font-size: 1.85rem !important;
        padding: 0.35rem 0 !important;
    }
    
    .boton-favorito-producto {
        font-size: 2rem !important;
        height: 4.2rem !important;
        gap: 0.5rem !important;
    }
    
    .boton-favorito-producto small {
        font-size: 2rem !important;
    }
    
    .boton-favorito-producto img {
        width: 4.2rem !important;
    }
    
    .checkbox {
        transform: scale(1.6) !important;
        margin: 0 0.75rem 0 0 !important;
    }
    
    .redes-compartir {
        height: 3.2rem !important;
        width: 3.2rem !important;
    }
    
    .redes-compartir-margin {
        margin-right: 1.25rem !important;
    }
    
    /* Galerías: mejor aprovechamiento en móvil grande */
    .gallery-signatures {
        padding: 8px !important;
    }

    .gallery-stamps,
    .gallery-books {
        padding: 8px 0 !important;
    }
    
    .open-gallery-btn,
    .gallery-stamp-link {
        width: 130px !important;
        height: 85px !important;
    }
    
    .gallery-item-img {
        width: 105px !important;
    }
    
    :root {
        --gallery-books-title-fs: 15px;
        --gallery-books-meta-fs: 15px;
        --gallery-stamps-title-fs: 15px;
    }

    .gallery-item-title,
    .gallery-item-title-semibold {
        font-size: 15px !important;
        margin-top: 8px !important;
    }

    .product-ficha-page .gallery-books .gallery-books__title {
        font-size: var(--gallery-books-title-fs) !important;
    }

    .product-ficha-page .gallery-books .gallery-books__meta {
        font-size: var(--gallery-books-meta-fs) !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card > .gallery-item-title,
    .product-ficha-page .gallery-signatures .gallery-item-title {
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
        margin-top: 10px !important;
    }

    .product-ficha-page .gallery-stamps .gallery-stamps__text,
    .product-ficha-page .gallery-stamps .gallery-item-title,
    .product-ficha-page .gallery-stamps .gallery-item-title-semibold {
        font-size: var(--gallery-stamps-title-fs) !important;
    }
    
    .gallery-books__cover-slot {
        max-width: 130px !important;
        height: 8.8rem !important;
    }
    
    .gallery-books__open-btn {
        max-width: 130px !important;
        max-height: 8.8rem !important;
    }
    
    .gallery-stamps__card {
        width: 130px !important;
        max-width: 130px !important;
    }
    
    .gallery-stamps__cover-slot {
        max-width: 130px !important;
        height: 85px !important;
    }
    
    .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps__cover-slot .gallery-stamp-link {
        max-width: 130px !important;
        max-height: 85px !important;
    }
    
    .gallery-stamps__text {
        max-width: 130px !important;
        gap: 0.3rem !important;
        margin-top: 0.6rem !important;
    }
    
    /* Video del producto: ancho = miniaturas */
    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: var(--lds-product-strip-width) !important;
        max-width: 100% !important;
    }
    
    /* MÃƒÂ³dulo diseÃƒÂ±ador/estilo en mÃƒÂ³vil */
    .vid-disenador-overline {
        font-size: 1.4rem !important;
        margin-bottom: 0.5rem !important;
    }
    
    /* Controles de video: ajustar tamaÃƒÂ±os */
    .vtc-top-icons {
        padding: 0 18px !important;
    }
    
    .vtc-round-play {
        width: 70px !important;
        height: 70px !important;
    }
    
    /* Controles inferiores: sin recortar thumb / iconos */
    .vid-top-controls {
        padding: 8px 10px 12px !important;
        gap: 6px !important;
        max-width: 100% !important;
        bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
        overflow: visible !important;
    }
    
    .vtc-btn {
        padding: 3px !important;
        min-width: 0 !important;
    }
    
    .vtc-time {
        font-size: 11px !important;
        max-width: 100% !important;
    }
    
    .vtc-progress {
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
}

/* Mobile Medium (376px - 480px) */
@media (max-width: 480px) and (min-width: 377px) {
    /* Tablas: formato horizontal compacto */
    .product-data table th {
        width: 28% !important;
        font-size: 12px !important;
        padding: 0.55rem 0.2rem 0.55rem 0.5rem !important;
        line-height: 1.2 !important;
    }
    
    .product-data table td {
        width: 72% !important;
        font-size: 13px !important;
        padding: 0.55rem 0.45rem !important;
        line-height: 1.2 !important;
        text-align: right !important;
    }
    
    .product-data table td svg,
    .product-data table td img {
        max-width: 28px !important;
        max-height: 28px !important;
        margin-left: 0.35rem !important;
    }
    
    .comparar-producto-nombre {
        min-height: 2.8rem !important;
        padding: 0.35rem 0.15rem !important;
    }
    
    .cuca-title {
        font-size: 20px !important;
        line-height: 1.25 !important;
    }
    
    .cuca-subtitle {
        font-size: 18px !important;
        line-height: 1.25 !important;
    }
    
    .contNombre > div {
        flex-direction: column !important;
        gap: 0.2rem !important;
    }
    
    /* Ruta / Volver: css/nav-ruta.css */
    
    .precio-formulario {
        font-size: 2rem !important;
        padding: 0.3rem 0 !important;
        flex-direction: column !important;
        gap: 0.2rem !important;
    }
    
    .product-data table th {
        font-size: 17px !important;
        line-height: 28px !important;
        padding: 0.6rem 0 0.6rem 0.6rem !important;
        width: 48% !important;
    }
    
    .product-data table td {
        font-size: 16px !important;
        line-height: 16px !important;
        padding: 0.6rem !important;
        width: 52% !important;
    }
    
    .product-measures dt {
        font-size: 1.5rem !important;
        line-height: 3.6rem !important;
    }
    
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        font-size: 2.2rem !important;
        padding: 0 1rem !important;
        line-height: 3.6rem !important;
    }
    
    .btn-extra {
        padding: 0.65rem !important;
    }
    
    .btn-extra a {
        font-size: 17px !important;
        line-height: 30px !important;
        padding: 2px 6px 2px 5px !important;
    }
    
    .btn {
        font-size: 16px !important;
        padding: 4px 16px !important;
        height: auto !important;
        min-height: 36px !important;
    }
    
    .btn-plus {
        font-size: 15px !important;
        padding: 4px 12px !important;
        height: auto !important;
        min-height: 36px !important;
        flex-wrap: wrap !important;
    }
    
    .btn-plus span {
        font-size: 15px !important;
        margin-left: 4px !important;
    }
    
    .div-produ-compara {
        font-size: 1.7rem !important;
        padding: 0.3rem 0 !important;
    }
    
    .boton-favorito-producto {
        font-size: 1.85rem !important;
        height: 4rem !important;
        gap: 0.4rem !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    
    .boton-favorito-producto small {
        font-size: 1.85rem !important;
    }
    
    .boton-favorito-producto img {
        width: 4rem !important;
    }
    
    .checkbox {
        transform: scale(1.5) !important;
        margin: 0 0.65rem 0 0 !important;
    }
    
    .redes-compartir {
        height: 3rem !important;
        width: 3rem !important;
    }
    
    .redes-compartir-margin {
        margin-right: 1rem !important;
    }
    
    /* Galerías: grid más compacto */
    .gallery-signatures {
        padding: 6px !important;
    }

    .gallery-stamps,
    .gallery-books {
        padding: 6px 0 !important;
    }
    
    .open-gallery-btn,
    .gallery-stamp-link {
        width: 120px !important;
        height: 78px !important;
    }
    
    .gallery-item-img {
        width: 98px !important;
    }
    
    :root {
        --gallery-books-title-fs: 14px;
        --gallery-books-meta-fs: 13px;
        --gallery-stamps-title-fs: 14px;
    }

    .gallery-item-title,
    .gallery-item-title-semibold {
        font-size: 14px !important;
        margin-top: 7px !important;
        line-height: 1.3 !important;
    }
    
    .gallery-books__cover-slot {
        max-width: 120px !important;
        height: 8.2rem !important;
    }
    
    .gallery-books__open-btn {
        max-width: 120px !important;
        max-height: 8.2rem !important;
    }
    
    .gallery-books__title {
        font-size: var(--gallery-books-title-fs) !important;
    }
    
    .gallery-books__meta {
        font-size: var(--gallery-books-meta-fs) !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card > .gallery-item-title,
    .product-ficha-page .gallery-signatures .gallery-item-title {
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
        margin-top: 10px !important;
    }
    
    .gallery-stamps__card {
        width: 120px !important;
        max-width: 120px !important;
    }
    
    .gallery-stamps__cover-slot {
        max-width: 120px !important;
        height: 78px !important;
    }
    
    .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps__cover-slot .gallery-stamp-link {
        max-width: 120px !important;
        max-height: 78px !important;
    }
    
    .gallery-stamps__text {
        max-width: 120px !important;
        gap: 0.25rem !important;
        margin-top: 0.5rem !important;
        font-size: var(--gallery-stamps-title-fs) !important;
    }
    
    /* Video del producto: ancho = miniaturas */
    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: var(--lds-product-strip-width) !important;
        max-width: 100% !important;
    }
    
    /* MÃƒÂ³dulo diseÃƒÂ±ador/estilo */
    .vid-disenador-overline {
        font-size: 1.3rem !important;
        margin-bottom: 0.45rem !important;
    }
    
    .descripcion * {
        font-size: 18px !important;
        min-height: 28px !important;
    }
    
    /* Controles de video */
    .vtc-top-icons {
        padding: 0 15px !important;
        top: 15px !important;
    }
    
    .vtc-icon-btn svg {
        width: 30px !important;
        height: 30px !important;
    }
    
    .vtc-round-play {
        width: 65px !important;
        height: 65px !important;
        top: 65% !important;
    }
    
    .vtc-round-play svg {
        width: 32px !important;
        height: 32px !important;
    }
    
    .vid-top-controls {
        padding: 8px 9px 12px !important;
        gap: 5px !important;
        max-width: 100% !important;
        bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
        overflow: visible !important;
    }
    
    .vtc-btn {
        padding: 3px !important;
        min-width: 0 !important;
    }
    
    .vtc-time {
        font-size: 11px !important;
        max-width: 100% !important;
    }
    
    .vtc-progress {
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
    
    /* PhotoSwipe caption en móvil (otros popups). Libros/Sellos: 5px vía --gallery-popup-caption-inline. */
    .pswp__custom-caption {
        padding: 10px 14px !important;
        max-height: min(45vh, 240px) !important;
    }

    .pswp.pswp--product-books-caption .pswp__custom-caption,
    .pswp.pswp--product-stamps-caption .pswp__custom-caption,
    .pswp.pswp--product-signatures-caption .pswp__custom-caption {
        padding-top: 0 !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        padding-left: calc(var(--gallery-popup-caption-inline, 5px) + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(var(--gallery-popup-caption-inline, 5px) + env(safe-area-inset-right, 0px)) !important;
        max-height: none !important;
    }
    
    .pswp__custom-caption .pswp-entity-title {
        font-size: 18px !important;
    }
    
    .pswp__custom-caption .pswp-entity-desc {
        font-size: 15px !important;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title * {
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc * {
        font-size: var(--gallery-books-meta-fs) !important;
        font-family: var(--gallery-books-meta-ff) !important;
    }

    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title *,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-stamps-caption .pswp-stamp-design,
    .pswp--product-stamps-caption .pswp-stamp-text {
        font-size: var(--gallery-stamps-title-fs) !important;
        font-family: var(--gallery-stamps-title-ff) !important;
    }
}

/* Mobile Small (320px - 376px) */
@media (max-width: 376px) {
    /* Tablas: formato horizontal ultra-compacto */
    .product-data table th {
        width: 26% !important;
        font-size: 11px !important;
        padding: 0.5rem 0.15rem 0.5rem 0.4rem !important;
        line-height: 1.15 !important;
    }
    
    .product-data table td {
        width: 74% !important;
        font-size: 12px !important;
        padding: 0.5rem 0.4rem !important;
        line-height: 1.2 !important;
        text-align: right !important;
    }
    
    .product-data table td svg,
    .product-data table td img {
        max-width: 24px !important;
        max-height: 24px !important;
        margin-left: 0.3rem !important;
    }
    
    .comparar-producto-nombre {
        min-height: 2.5rem !important;
        padding: 0.3rem 0.1rem !important;
    }
    
    .cuca-title {
        font-size: 18px !important;
        line-height: 1.2 !important;
    }
    
    .cuca-subtitle {
        font-size: 16px !important;
        line-height: 1.2 !important;
    }
    
    .contNombre > div {
        flex-direction: column !important;
        gap: 0.15rem !important;
    }
    
    /* Ruta / Volver: css/nav-ruta.css */
    
    .precio-formulario {
        font-size: 1.8rem !important;
        padding: 0.25rem 0 !important;
        flex-direction: column !important;
        gap: 0.15rem !important;
    }
    
    .product-data table th {
        font-size: 16px !important;
        line-height: 26px !important;
        padding: 0.55rem 0 0.55rem 0.55rem !important;
        width: 47% !important;
    }
    
    .product-data table td {
        font-size: 15px !important;
        line-height: 15px !important;
        padding: 0.55rem !important;
        width: 53% !important;
    }
    
    .product-measures dt {
        font-size: 1.4rem !important;
        line-height: 3.4rem !important;
    }
    
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        font-size: 2rem !important;
        padding: 0 0.85rem !important;
        line-height: 3.4rem !important;
    }
    
    .btn-extra {
        padding: 0.6rem !important;
    }
    
    .btn-extra a {
        font-size: 16px !important;
        line-height: 28px !important;
        padding: 1px 5px 1px 4px !important;
    }
    
    .btn {
        font-size: 15px !important;
        padding: 3px 14px !important;
        height: auto !important;
        min-height: 34px !important;
    }
    
    .btn-plus {
        font-size: 14px !important;
        padding: 3px 10px !important;
        height: auto !important;
        min-height: 34px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    
    .btn-plus span {
        font-size: 14px !important;
        margin-left: 3px !important;
    }
    
    .div-produ-compara {
        font-size: 1.55rem !important;
        padding: 0.25rem 0 !important;
    }
    
    .boton-favorito-producto {
        font-size: 1.7rem !important;
        height: 3.8rem !important;
        gap: 0.35rem !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        padding: 0.25rem !important;
    }
    
    .boton-favorito-producto small {
        font-size: 1.7rem !important;
    }
    
    .boton-favorito-producto img {
        width: 3.8rem !important;
    }
    
    .checkbox {
        transform: scale(1.4) !important;
        margin: 0 0.55rem 0 0 !important;
    }
    
    .redes-compartir {
        height: 2.8rem !important;
        width: 2.8rem !important;
    }
    
    .redes-compartir-margin {
        margin-right: 0.85rem !important;
    }
    
    /* Galerías: layout más compacto para móvil pequeño (incl. <320) */
    .gallery-signatures {
        padding: 5px !important;
    }

    .gallery-stamps,
    .gallery-books {
        padding: 5px 0 !important;
    }
    
    .open-gallery-btn,
    .gallery-stamp-link {
        width: 110px !important;
        height: 72px !important;
    }
    
    .gallery-item-img {
        width: 90px !important;
    }
    
    :root {
        --gallery-books-title-fs: 13px;
        --gallery-books-meta-fs: 12px;
        --gallery-stamps-title-fs: 13px;
    }

    .gallery-item-title,
    .gallery-item-title-semibold {
        font-size: 13px !important;
        margin-top: 6px !important;
        line-height: 1.25 !important;
    }
    
    .gallery-books__cover-slot {
        max-width: 110px !important;
        height: 7.6rem !important;
    }
    
    .gallery-books__open-btn {
        max-width: 110px !important;
        max-height: 7.6rem !important;
    }
    
    .gallery-books__title {
        font-size: var(--gallery-books-title-fs) !important;
        min-height: 0 !important;
    }
    
    .gallery-books__meta {
        font-size: var(--gallery-books-meta-fs) !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card > .gallery-item-title,
    .product-ficha-page .gallery-signatures .gallery-item-title {
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
        margin-top: 10px !important;
    }
    
    .gallery-stamps__card {
        width: 110px !important;
        max-width: 110px !important;
    }
    
    .gallery-stamps__cover-slot {
        max-width: 110px !important;
        height: 72px !important;
    }
    
    .gallery-stamps__cover-slot .open-gallery-btn,
    .gallery-stamps__cover-slot .gallery-stamp-link {
        max-width: 110px !important;
        max-height: 72px !important;
    }
    
    .gallery-stamps__text {
        max-width: 110px !important;
        gap: 0.2rem !important;
        margin-top: 0.45rem !important;
        font-size: var(--gallery-stamps-title-fs) !important;
    }
    
    .gallery-item-lupa-prod {
        width: 20px !important;
        height: 20px !important;
    }
    
    /* Video del producto: ancho = miniaturas */
    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: var(--lds-product-strip-width) !important;
        max-width: 100% !important;
    }
    
    /* MÃƒÂ³dulo diseÃƒÂ±ador/estilo */
    .vid-disenador-overline {
        font-size: 1.2rem !important;
        margin-bottom: 0.4rem !important;
        line-height: 1.2 !important;
    }
    
    .descripcion * {
        font-size: 17px !important;
        min-height: 26px !important;
    }
    
    /* Controles de video */
    .vtc-top-icons {
        padding: 0 12px !important;
        top: 12px !important;
    }
    
    .vtc-icon-btn svg {
        width: 28px !important;
        height: 28px !important;
    }
    
    .vtc-round-play {
        width: 60px !important;
        height: 60px !important;
        top: 65% !important;
        border-width: 1.5px !important;
    }
    
    .vtc-round-play svg {
        width: 30px !important;
        height: 30px !important;
    }
    
    .vid-top-controls {
        padding: 8px 8px 12px !important;
        gap: 4px !important;
        max-width: 100% !important;
        bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
        overflow: visible !important;
    }
    
    .vtc-btn {
        padding: 2px !important;
        min-width: 0 !important;
    }
    
    .vtc-btn svg {
        width: 18px !important;
        height: 18px !important;
    }
    
    .vtc-time {
        font-size: 10px !important;
        max-width: 100% !important;
    }
    
    .vtc-progress {
        height: 3px !important;
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
    
    .vtc-progress::-webkit-slider-thumb {
        width: 10px !important;
        height: 10px !important;
    }
    
    .vtc-progress::-moz-range-thumb {
        width: 10px !important;
        height: 10px !important;
    }
    
    /* PhotoSwipe caption (otros popups). Libros/Sellos: 5px + tipografía del carrusel. */
    .pswp__custom-caption {
        padding: 8px 12px !important;
        max-height: min(48vh, 220px) !important;
    }

    .pswp.pswp--product-books-caption .pswp__custom-caption,
    .pswp.pswp--product-stamps-caption .pswp__custom-caption,
    .pswp.pswp--product-signatures-caption .pswp__custom-caption {
        padding-top: 0 !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        padding-left: calc(var(--gallery-popup-caption-inline, 5px) + env(safe-area-inset-left, 0px)) !important;
        padding-right: calc(var(--gallery-popup-caption-inline, 5px) + env(safe-area-inset-right, 0px)) !important;
        max-height: none !important;
    }
    
    .pswp__custom-caption .pswp-entity-title {
        font-size: 17px !important;
        margin-bottom: 5px !important;
    }
    
    .pswp__custom-caption .pswp-entity-desc {
        font-size: 14px !important;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-title *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-title * {
        font-size: var(--gallery-books-title-fs) !important;
        font-family: var(--gallery-books-title-ff) !important;
    }

    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-books-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-signatures-caption .pswp__custom-caption .pswp-entity-desc * {
        font-size: var(--gallery-books-meta-fs) !important;
        font-family: var(--gallery-books-meta-ff) !important;
    }

    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-title *,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc,
    .pswp--product-stamps-caption .pswp__custom-caption .pswp-entity-desc *,
    .pswp--product-stamps-caption .pswp-stamp-design,
    .pswp--product-stamps-caption .pswp-stamp-text {
        font-size: var(--gallery-stamps-title-fs) !important;
        font-family: var(--gallery-stamps-title-ff) !important;
    }
    
    /* Login popup */
    .login-popup-width {
        width: calc(100vw - 2rem) !important;
        max-width: 26rem !important;
    }
}

/* Mejoras adicionales para UX mÃƒÂ³vil */
@media (max-width: 768px) {
    /* Espaciado entre secciones mÃƒÂ¡s compacto */
    .mt-5 {
        margin-top: 0.35rem !important;
    }
    
    .mt-3 {
        margin-top: 0.75rem !important;
    }
    
    .m-2 {
        margin: 0.35rem !important;
    }
    
    /* Botones mÃƒÂ¡s accesibles para toque */
    .btn,
    .btn-plus,
    .btn-extra a,
    .boton-favorito-producto,
    a.boton-favorito-producto {
        min-height: 44px !important; /* TamaÃƒÂ±o mÃƒÂ­nimo recomendado para targets tÃƒÂ¡ctiles */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        box-sizing: border-box !important;
    }
    
    /* Mejorar legibilidad de tablas en mÃƒÂ³vil */
    .product-data,
    #product-data-div, .product-data-div {
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
    }
    
    /* Excluye #product-data-div, .product-data-div: mantiene grid 2 col en products.css */
    .product-data:not(#product-data-div):not(.product-data-div) table {
        width: 100% !important;
        max-width: 100% !important;
        display: table !important;
        table-layout: fixed !important;
        box-sizing: border-box !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table tbody {
        display: table-row-group !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table tr {
        display: table-row !important;
    }
    
    /* Layout horizontal en mÃ³vil: descripciÃ³n | valor con icono */
    .product-data:not(#product-data-div):not(.product-data-div) table th {
        display: table-cell !important;
        width: 32% !important;
        text-align: left !important;
        vertical-align: middle !important;
        padding: 0.65rem 0.3rem 0.65rem 0.65rem !important;
        font-size: 13px !important;
        line-height: 1.25 !important;
        font-weight: bold !important;
        box-sizing: border-box !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    .product-data:not(#product-data-div):not(.product-data-div) table td {
        display: table-cell !important;
        width: 68% !important;
        text-align: right !important;
        vertical-align: middle !important;
        padding: 0.65rem !important;
        font-size: 14px !important;
        line-height: 1.3 !important;
        box-sizing: border-box !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
    }
    
    /* SVG/Iconos en td: ajustar tamaÃ±o para mÃ³vil */
    .product-data:not(#product-data-div):not(.product-data-div) table td svg,
    .product-data:not(#product-data-div):not(.product-data-div) table td img {
        max-width: 32px !important;
        max-height: 32px !important;
        width: auto !important;
        height: auto !important;
        display: inline-block !important;
        vertical-align: middle !important;
        margin-left: 0.5rem !important;
    }
    
    /* Product measures: asegurar que ocupe todo el ancho */
    .product-measures {
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
    
    .product-measures dl {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }
    
    .product-measures dt {
        width: 100% !important;
        max-width: 100% !important;
        /* Simétrico: el toggle absoluto no debe desplazar el centro del título */
        padding-left: 3.5rem !important;
        padding-right: 3.5rem !important;
        box-sizing: border-box !important;
        position: relative !important;
        text-align: center !important;
    }
    
    .product-measures dt small,
    .product-measures dt .product-measures-toggle {
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
    }
    
    .product-measures dd {
        width: 100% !important;
        max-width: 100% !important;
        padding: 1rem !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Breadcrumbs: indicador visual de scroll */
    .div-breadcrumbs::after {
        content: '' !important;
        position: absolute !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 30px !important;
        background: linear-gradient(to right, transparent, rgba(0,0,0,0.3)) !important;
        pointer-events: none !important;
    }
    
    .div-breadcrumbs {
        position: relative !important;
    }
    
    /* Mejorar contraste de elementos interactivos */
    .div-produ-compara:active,
    .boton-favorito-producto:active,
    .btn:active,
    .btn-plus:active {
        opacity: 0.8 !important;
        transform: scale(0.98) !important;
    }
    
    /* Evitar zoom en inputs en iOS */
    input[type="range"] {
        font-size: 16px !important;
    }
    
    /* Mejorar ÃƒÂ¡rea tÃƒÂ¡ctil de checkbox */
    .checkbox {
        padding: 0.5rem !important;
    }
}

/* Optimizaciones para landscape en mÃƒÂ³vil */
@media (max-width: 896px) and (orientation: landscape) {
    .carousel-wrapper-with-code {
        --product-main-slide-img-max-h: min(calc(65vh * 1.2), calc(75dvh * 1.2)) !important;
    }
    
    .product-main-slide-cta {
        min-height: calc(65vh * 1.2) !important;
    }
    
    .carousel-wrapper-with-code .main-slider .product-main-slide-cta {
        min-height: var(--product-main-slide-img-max-h) !important;
        max-height: var(--product-main-slide-img-max-h) !important;
    }
    
    /* Reducir padding vertical en landscape */
    .comparar-producto-nombre {
        padding-top: 0.25rem !important;
        padding-bottom: 0.25rem !important;
    }
    
    .precio-formulario {
        padding: 0.25rem 0 !important;
    }
    
    .ruta2 {
        padding: 10px 10px !important;
    }
}

/* Accesibilidad y mejoras finales */
@media (max-width: 768px) {
    /* Focus visible para teclados virtuales */
    button:focus-visible,
    a:focus-visible,
    input:focus-visible {
        outline: 2px solid #00ffff !important;
        outline-offset: 2px !important;
    }
    
    /* Mejorar contraste en elementos clave */
    .product-measures dt {
        font-weight: bold !important;
    }
    
    /* SeparaciÃƒÂ³n clara entre secciones */
    .product-data {
        margin-bottom: 0.5rem !important;
    }
    
    .product-data-black-bg {
        margin-bottom: 0.5rem !important;
    }
    
    /* Scroll suave en tablas y rutas div; h2.ruta2 no entra (posiciÃ³n inicial a la derecha sin animaciÃ³n vÃ­a JS) */
    .ruta2:not(h2),
    .product-data table {
        scroll-behavior: smooth !important;
    }
}

@media (max-width: 800px) {
    /* Breadcrumb mÃ³vil: misma fila + scroll horizontal (coherente con SEO) */
    h2.ruta2 {
        justify-content: flex-start !important;
        align-items: center !important;
        line-height: 1.3 !important;
        gap: 0.55rem !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
    }

    h2.ruta2 > * {
        display: inline-flex !important;
        align-items: center !important;
        flex: 0 0 auto !important;
        white-space: nowrap !important;
        max-width: none !important;
    }

    h2.ruta2 a,
    h2.ruta2 .item {
        overflow-wrap: normal;
        word-break: normal;
        white-space: nowrap !important;
    }

    /* Volver ≤991: tamaño/paddings en css/nav-ruta.css */
    h2.ruta2 a.btn-step-back,
    h2.ruta2 a.btn-back {
        white-space: nowrap !important;
    }
}

/* Botón back ≤600: tipografía de ruta en css/nav-ruta.css (no pisar Volver de migas) */

/* ——————————————————————————————————————————————————————————————
   Escala tipográfica fluida para ventanas < PC (≤1024px).
   PC (≥1025px) queda INTACTO: este bloque solo vive dentro de max-width.

   Curva centralizada en dos variables (una por tamaño base de desktop):
   - --lds-prod-fs-25  → grupos con base 2.5rem  (info del producto y botones)
   - --lds-prod-fs-245 → barra de precio (base 2.45rem)

   Cada clamp está calibrado para valer el tamaño base ~1024px y bajar a ~65%
   alrededor de ~360px. Para ajustar la agresividad, tocá SOLO estas dos
   fórmulas (el resto reusa las variables).
   —————————————————————————————————————————————————————————————— */
@media (max-width: 1024px) {
    .product-ficha-page {
        --lds-prod-fs-25: clamp(1.625rem, calc(1.15rem + 2.11vw), 2.5rem);
        --lds-prod-fs-245: clamp(1.59rem, calc(1.13rem + 2.07vw), 2.45rem);
    }

    /* Información del producto (labels, valores y tabla de medidas) */
    .product-ficha-page .product-data-div .pm-label,
    .product-ficha-page .product-data-div .pm-value,
    .product-ficha-page .product-data table th,
    .product-ficha-page .product-data table td {
        font-size: var(--lds-prod-fs-25) !important;
    }

    /* Botones Comparar / Compartir */
    .product-ficha-page .div-produ-compara {
        font-size: var(--lds-prod-fs-25) !important;
    }

    /* Volver / Envíos en PC 992–1024: misma escala fluida que el resto de la ficha */
    @media (min-width: 992px) {
        .product-ficha-page .btn-extra.btn-extra-blue.cienwidth.btn-extra-margin-bottom a {
            font-size: var(--lds-prod-fs-25) !important;
        }
    }

    .product-ficha-page .product-ficha-consulta-bajo-video .btn-extra a,
    .product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe a {
        font-size: 14px !important;
        letter-spacing: 1px;
        padding: 10px 35px !important;
        white-space: nowrap;
    }

    /* Barra de precio (con o sin descuento) */
    .product-ficha-page .product-ficha-precio-bar,
    .product-ficha-page .product-ficha-precio-bar > div,
    .product-ficha-page .product-ficha-precio-bar .precio-con-descuento {
        font-size: var(--lds-prod-fs-245) !important;
    }
}

/* Escritorio (≥992): letra de medidas un poco menor. Móvil y tablet no cambian. */
@media (min-width: 992px) {
    .product-ficha-page .product-data-div .pm-label,
    .product-ficha-page .product-data-div .pm-value,
    .product-ficha-page .product-data table th,
    .product-ficha-page .product-data table td {
        font-size: 1.9rem !important;
    }
}

/* ——————————————————————————————————————————————————————————————
   Fuera de PC (≤1024px): la sección de diseño/estilo/técnica
   (.product-related-section) toma el MISMO ancho que el slide pequeño
   de miniaturas del producto (--lds-thumbs-strip-width, seteado por JS y
   disponible también en móvil). En PC (≥1025px) se mantiene el
   comportamiento previo con --lds-product-strip-width.
   Se coloca al final para pisar el width:100% del breakpoint ≤768px.
   —————————————————————————————————————————————————————————————— */
@media (max-width: 1024px) {
    .product-ficha-page .product-related-section {
        width: var(--lds-thumbs-strip-width, 100%) !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        box-sizing: border-box;
    }
}

/* Reglas consolidadas de product-fix.css para la ficha. */
.carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--right .swiper-button-next.side-arrow {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    align-self: center !important;
}

.carousel-wrapper-with-code .main-slider-row-custom {
    overflow: hidden !important;
}

.carousel-wrapper-with-code .main-slider-row-custom > * {
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.carousel-wrapper-with-code .main-slider-container--stage {
    overflow: hidden !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
    margin-left: calc(-1 * clamp(1px, 0.6vw, 5px)) !important;
    margin-right: calc(-1 * clamp(1px, 0.6vw, 5px)) !important;
    padding-left: clamp(1px, 0.6vw, 5px) !important;
    padding-right: clamp(1px, 0.6vw, 5px) !important;
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider {
    overflow: hidden !important;
    overflow-x: clip !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider .swiper-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    transform-origin: left center !important;
    padding: 0 !important;
    margin: 0 !important;
    will-change: transform !important;
}

.carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider .swiper-slide {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container,
.carousel-wrapper-with-code .main-slider .swiper-slide.img img {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container {
    overflow: hidden !important;
}

.carousel-wrapper-with-code .main-slider .swiper-slide.img img {
    height: auto !important;
    object-fit: contain !important;
    object-position: center !important;
}

.carousel-wrapper-with-code .main-slider-container--stage.is-slider-ready .main-slider .swiper-slide {
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity 0.3s ease, visibility 0s 0.3s !important;
}

.carousel-wrapper-with-code .main-slider-container--stage:not(.is-slider-ready) .main-slider .swiper-slide:first-child,
.carousel-wrapper-with-code .main-slider-container--stage.is-slider-ready .main-slider .swiper-slide-active,
.carousel-wrapper-with-code .main-slider-container--stage.is-slider-ready .main-slider .swiper-slide.product-main-slide-cta.swiper-slide-active {
    opacity: 1 !important;
    visibility: visible !important;
    transition: opacity 0.3s ease, visibility 0s !important;
}

@media (max-width: 768px) {
    .carousel-wrapper-with-code .main-slider-container--stage {
        margin-left: -2px !important;
        margin-right: -2px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }

    .carousel-wrapper-with-code .main-slider-row-custom > .main-slider-rail--right {
        overflow: visible !important;
    }
}

#registrar-box.login-popup--register,
#registrar-box2.login-popup--register,
#registrar-box2-1.login-popup--register,
#registrar-box3.login-popup--register,
#registrar-box4.login-popup--register {
    box-sizing: border-box !important;
    max-width: min(25rem, calc(100vw - 1.5rem)) !important;
    width: min(25rem, calc(100vw - 1.5rem)) !important;
    padding: 2.75rem 14px 22px !important;
    overflow: visible !important;
}

#registrar-box.login-popup--register > a.close,
#registrar-box2.login-popup--register > a.close,
#registrar-box2-1.login-popup--register > a.close,
#registrar-box3.login-popup--register > a.close,
#registrar-box4.login-popup--register > a.close {
    position: absolute !important;
    top: -14px !important;
    right: -14px !important;
    z-index: 10 !important;
    line-height: 0 !important;
}

#registrar-box.login-popup--register > a.close img.btn_close,
#registrar-box2.login-popup--register > a.close img.btn_close,
#registrar-box2-1.login-popup--register > a.close img.btn_close,
#registrar-box3.login-popup--register > a.close img.btn_close,
#registrar-box4.login-popup--register > a.close img.btn_close {
    float: none !important;
    margin: 0 !important;
    display: block !important;
}

#registrar-box .buttonlog.buttonlog--register,
#registrar-box2 .buttonlog.buttonlog--register,
#registrar-box2-1 .buttonlog.buttonlog--register,
#registrar-box3 .buttonlog.buttonlog--register,
#registrar-box4 .buttonlog.buttonlog--register {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1 !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    padding: 0 0.75rem !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    margin: 1.5rem 0 0.85rem !important;
}

@media (max-width: 991px) {
    #registrar-box .buttonlog.buttonlog--register,
    #registrar-box2 .buttonlog.buttonlog--register,
    #registrar-box2-1 .buttonlog.buttonlog--register,
    #registrar-box3 .buttonlog.buttonlog--register,
    #registrar-box4 .buttonlog.buttonlog--register {
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        font-size: 1.55rem !important;
    }
}

#registrar-box .buttonlog.buttonlog--register {
    margin: 1.75rem 0 0.5rem !important;
}

.login-popup--register .login-popup__title {
    margin-bottom: 1.75rem !important;
}

#registrar-box.login-popup--register .login-popup__title {
    margin-bottom: 2rem !important;
}

form.signin--register .login-popup__password-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
}

form.signin--register .login-popup__password-row .login-popup__password-toggle {
    position: static !important;
}

/*
 * Un solo ítem SELLOS: anclas horizontales solo en PC ≥992.
 * ≤991: sin columnas vacías (bloque product-ficha Sellos).
 * NRO. DE SERIE sigue centrando el bloque con ancho medido del texto.
 */
@media (min-width: 992px) {
    .gallery-stamps .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__card {
        --gallery-single-anchor-text: 220px;
        display: grid !important;
        grid-template-columns:
            minmax(0, calc(50% - (var(--gallery-items-cover-h, 125px) + 0.75rem + var(--gallery-single-anchor-text)) / 2))
            var(--gallery-items-cover-h, 125px)
            minmax(0, 1fr) !important;
        column-gap: 0.75rem !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__cover-slot {
        grid-column: 2 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        transform: none !important;
        width: var(--gallery-items-cover-h, 125px) !important;
        min-width: var(--gallery-items-cover-h, 125px) !important;
        max-width: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 !important;
    }

    .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__text {
        grid-column: 3 !important;
        position: static !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        box-sizing: border-box !important;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-align: left !important;
    }
}

/* Nros. de serie 1 ítem en rejilla: solo PC ≥992. ≤991 apila como Libros. */
@media (min-width: 992px) {
    .gallery-signatures .gallery-items-slider.gallery-items--single .swiper-slide {
        width: 100% !important;
        max-width: 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
    }

    .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__card {
        display: grid !important;
        grid-template-columns:
            var(--gallery-items-cover-h, 125px)
            var(--gallery-single-text-w, fit-content(220px)) !important;
        align-items: center !important;
        justify-content: center !important;
        column-gap: 0.75rem !important;
        width: fit-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__cover-slot {
        grid-column: 1 !important;
        width: var(--gallery-items-cover-h, 125px) !important;
        min-width: var(--gallery-items-cover-h, 125px) !important;
        max-width: var(--gallery-items-cover-h, 125px) !important;
    }

    .gallery-signatures .gallery-items-slider.gallery-items--single
        .gallery-signatures__card > .gallery-item-title {
        grid-column: 2 !important;
        position: static !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 220px !important;
        margin: 0 !important;
        transform: none !important;
        text-align: left !important;
    }

    .gallery-signatures .gallery-items-slider.gallery-items--single
        .gallery-signatures__cover-slot .open-gallery-btn {
        width: 100% !important;
        max-width: 100% !important;
        height: 100% !important;
        max-height: 100% !important;
        margin: 0 !important;
        padding-right: 28px !important;
        box-sizing: border-box !important;
    }

    .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-item-lupa-prod {
        transform: none !important;
    }
}

/*
 * SELLOS ≤991 (cascade final): área foto fija = cover-h (eje = flechas);
 * anula alturas/anchos compactos (88/90/…/72 px) que pegaban la foto arriba.
 * Incluye viewports <320. PC ≥992 no entra aquí.
 */
@media (max-width: 991px) {
    .product-ficha-page .gallery-stamps .gallery-stamps__card,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__card,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__card {
        display: flex !important;
        flex-direction: column !important;
        grid-template-columns: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        align-items: center !important;
    }

    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__cover-slot,
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot--empty {
        grid-column: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: var(--gallery-items-cover-h, 125px) !important;
        min-height: var(--gallery-items-cover-h, 125px) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        flex: 0 0 var(--gallery-items-cover-h, 125px) !important;
        flex-basis: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-stamps .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-stamp-link,
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-stamps__cover-slot .gallery-stamp-link,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__cover-slot .gallery-stamp-link {
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        padding: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }

    .product-ficha-page .gallery-stamps .gallery-item-img,
    .product-ficha-page .gallery-stamps .open-gallery-btn .gallery-item-img,
    .product-ficha-page .gallery-stamps .gallery-stamp-link .gallery-item-img {
        width: auto !important;
        height: auto !important;
        max-width: min(100%, var(--gallery-items-cover-h, 125px)) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 auto !important;
    }

    .product-ficha-page .gallery-stamps .gallery-item-lupa-prod {
        top: var(--stamps-lupa-top, 0px) !important;
        left: var(--stamps-lupa-left, calc(100% + 4px)) !important;
        right: auto !important;
        transform: none !important;
    }

    .product-ficha-page .gallery-stamps .gallery-stamps__text,
    .product-ficha-page .gallery-stamps .gallery-items-slider .gallery-stamps__text,
    .product-ficha-page .gallery-stamps .gallery-items-slider.gallery-items--single .gallery-stamps__text {
        grid-column: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 10px 0 0 !important;
        align-items: center !important;
        text-align: center !important;
    }
}

/*
 * NÚMEROS DE SERIE ≤991 (cascade final, incl. <320): área foto = cover-h
 * (eje = flechas); anula height:auto / anchos fijos que pegaban la foto arriba.
 */
@media (max-width: 991px) {
    .product-ficha-page .gallery-signatures {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card,
    .product-ficha-page .gallery-signatures .gallery-items-slider .gallery-signatures__card,
    .product-ficha-page .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__card {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        align-items: center !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__cover-slot,
    .product-ficha-page .gallery-signatures .gallery-items-slider .gallery-signatures__cover-slot,
    .product-ficha-page .gallery-signatures .gallery-items-slider.gallery-items--single .gallery-signatures__cover-slot,
    .product-ficha-page .gallery-signatures .gallery-signatures__cover-slot--empty {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: var(--gallery-items-cover-h, 125px) !important;
        min-height: var(--gallery-items-cover-h, 125px) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        flex: 0 0 var(--gallery-items-cover-h, 125px) !important;
        flex-basis: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .gallery-signatures .open-gallery-btn,
    .product-ficha-page .gallery-signatures .gallery-signatures__cover-slot .open-gallery-btn,
    .product-ficha-page .gallery-signatures .gallery-items-slider .gallery-signatures__cover-slot .open-gallery-btn {
        width: fit-content !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: 100% !important;
        padding: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }

    .product-ficha-page .gallery-signatures .gallery-item-img,
    .product-ficha-page .gallery-signatures .open-gallery-btn .gallery-item-img {
        width: auto !important;
        height: auto !important;
        max-width: min(100%, var(--gallery-items-cover-h, 125px)) !important;
        max-height: var(--gallery-items-cover-h, 125px) !important;
        margin: 0 auto !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .product-ficha-page .gallery-signatures .gallery-item-lupa-prod {
        position: absolute !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        transform: translateX(100%) !important;
    }

    .product-ficha-page .gallery-signatures .gallery-signatures__card > .gallery-item-title,
    .product-ficha-page .gallery-signatures .gallery-item-title {
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px 0 0 !important;
        text-align: center !important;
    }
}

/* ——— Consultar bajo video: estilo Macklowe ATC (forzado al final) ——— */
.product-ficha-page .product-ficha-consulta-bajo-video {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-top: 2rem !important;
    margin-bottom: 0 !important;
    border: none !important;
    border-top: none !important;
}

.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra,
.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra.btn-extra-blue,
.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra.cienwidth,
.product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe {
    width: 48% !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    box-sizing: border-box !important;
}

.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra a,
.product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 12px 35px !important;
    border: 0 !important;
    border-radius: 0.5rem !important;
    background: #014f5b !important;
    background-color: #014f5b !important;
    color: #fff !important;
    text-decoration: none !important;
    text-align: center !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    letter-spacing: 1px !important;
    line-height: 1 !important;
    box-shadow: none !important;
    font-family: 'BentonSans-Regular', 'BentonSans-Bold' !important;
    font-weight: normal !important;
    font-size: 14px !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra a:hover,
.product-ficha-page .product-ficha-consulta-bajo-video .btn-extra-blue a:hover,
.product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe a:hover {
    background: #047a8c !important;
    background-color: #047a8c !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: none !important;
    opacity: 1 !important;
}

@media (max-width: 768px) {
    .product-ficha-page .product-ficha-consulta-bajo-video .btn-extra,
    .product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe {
        width: 90% !important;
        max-width: 100% !important;
    }

    .product-ficha-page .product-ficha-consulta-bajo-video .btn-extra a,
    .product-ficha-page .product-ficha-consulta-bajo-video .product-consulta-macklowe a {
        font-size: 14px !important;
        letter-spacing: 1px !important;
        padding: 10px 28px !important;
        white-space: nowrap !important;
    }
}

/* ——————————————————————————————————————————————————————————————
   Ficha producto · móvil y tablet (≤991px). Escritorio (≥992px) no se toca.
   Galería: título + favorito arriba, foto a todo el ancho, fila flecha/código/flecha,
   zoom y miniaturas. Info: precio y consulta primero, luego favoritos/comparar/vídeo.
   Selectores por .mt-5-full-width[data-product-ficha-id] (principal y unitarios).
   Ruta, buscador, footer y related siguen siendo chrome de página.
   —————————————————————————————————————————————————————————————— */
@media (max-width: 991px) {
    /* Tipografía ficha ≤991: 14px compartido (medidas, títulos, nombre, código) */
    .product-ficha-page {
        --lds-ficha-body-fs: 14px;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code {
        /* Caja fija 4:3: alto = 75% del ancho útil; tope viewport */
        max-width: 480px;
        margin-left: auto;
        margin-right: auto;
        /* Alto de celular grande (~480px). En tablet el 100vw no agranda la foto. */
        --product-main-slide-img-max-h: min(calc((100vw - 1.6rem) * 0.75), 348px, 56vh, 56dvh) !important;
        /* overflow-x:hidden del bloque base fuerza overflow-y:auto y, en tablet,
           pinta la barra a la derecha de la caja de 480px (línea clara sobre el negro). */
        overflow-y: hidden !important;
        scrollbar-width: none;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code > .col.col-no-padding {
        display: grid !important;
        grid-template-columns: minmax(2.6rem, 1fr) auto auto auto minmax(2.6rem, 1fr);
        grid-template-areas:
            "title title title title title"
            "stage stage stage stage stage"
            ". prev code next share"
            "zoom zoom zoom zoom zoom"
            "thumbs thumbs thumbs thumbs thumbs";
        align-items: center;
        row-gap: 0 !important;
        padding-inline: 0.8rem;
        box-sizing: border-box;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-row-custom.product-carousel-stage-flex,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--left,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-carousel-stage-flex .main-slider-rail--right {
        display: contents !important;
    }

    /*
     * Título: mismo aire arriba (ruta) y abajo (foto). Anula mt-5 asimétrico,
     * min-height/padding de breakpoints compactos y márgenes de h1/contNombre
     * que, tras ocultar .cuca-subtitle, dejaban más hueco bajo el nombre.
     */
    .product-ficha-page .mt-5.mt-5-full-width[data-product-ficha-id] {
        margin-top: 0 !important;
    }

    /*
     * Fila título + corazón (≤991): 3 columnas simétricas.
     * Izquierda = vacío del ancho del corazón; centro = nombre; derecha = corazón.
     * Así el centro del título coincide con el de la foto, sin offsets manuales.
     * --product-title-fs lo ajusta JS a 1 línea sin ellipsis.
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main {
        --lds-title-side: 40px;
        grid-area: title;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0.4rem 0 !important;
        display: grid !important;
        grid-template-columns: var(--lds-title-side) minmax(0, 1fr) var(--lds-title-side);
        align-items: center;
        justify-items: stretch;
        column-gap: 0;
        box-sizing: border-box;
        background: transparent !important;
        background-color: transparent !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .contNombre {
        grid-column: 2;
        grid-row: 1;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        gap: 0 !important;
        box-sizing: border-box !important;
        justify-self: stretch;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .contNombre > div {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
        gap: 0 !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main h1.cuca-title,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .cuca-title,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .product-vendido-label {
        margin: 0 !important;
        padding: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .cuca,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .cuca-title,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .cuca-subtitle,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main .cuca-subtitle .cuca {
        line-height: 1.2 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-title-below-main h1.cuca-title {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        text-align: center !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        overflow-wrap: normal !important;
        word-break: normal !important;
        font-size: var(--product-title-fs, var(--lds-ficha-body-fs)) !important;
    }

    /*
     * Título principal ≤991: solo el nombre (h1). Oculta el bloque
     * .cuca-subtitle (diseñador / técnica por origen), no por coincidencia
     * de texto. Estilo no va en el título; sigue en su sección.
     */
    .product-ficha-page .product-ficha-title-below-main .cuca-subtitle {
        display: none !important;
    }

    .product-ficha-page .breadcrumb-current,
    .product-ficha-page .separator-current {
        display: none !important;
    }

    /* Tipografía / Volver de la ruta: css/nav-ruta.css (base compartida ≤991) */

    /* Sin raya entre ruta y buscador (≤991) */
    .product-ficha-page .div-breadcrumbs > .product-ficha-nav-sep {
        display: none !important;
    }

    /*
     * Buscador ficha ≤991: bajo la ruta, encima del título.
     * Márgenes laterales mínimos + esquinas redondeadas; padding interno de lupa/texto intacto.
     */
    .product-ficha-page .product-ficha-search {
        display: block;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        margin: 0;
        padding: 0.45rem 3px 0.35rem;
        overflow: hidden;
    }

    .product-ficha-page .product-ficha-search__form {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }

    .product-ficha-page .product-ficha-search__box.busqueda-contenedor,
    .product-ficha-page .product-ficha-search__box {
        display: flex;
        align-items: center;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
        background: #fff;
        border-radius: 5px;
        margin: 0;
        padding: 0;
        overflow: hidden;
    }

    .product-ficha-page .product-ficha-search__box > button {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: none;
        cursor: pointer;
        padding: 0.35rem 0.55rem;
        margin: 0;
        line-height: 0;
        -webkit-tap-highlight-color: transparent;
    }

    .product-ficha-page .product-ficha-search__box > button svg {
        width: 1.35rem;
        height: 1.35rem;
        max-width: 100%;
        display: block;
    }

    .product-ficha-page .product-ficha-search__input,
    .product-ficha-page .product-ficha-search__box input[name="txtBusqueda"] {
        flex: 1 1 auto;
        min-width: 0;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        border: none;
        outline: none;
        background: transparent;
        color: #111;
        font-size: clamp(0.85rem, 3.6vw, 1.15rem);
        line-height: 1.25;
        padding: 0.55rem 0.65rem 0.55rem 0;
        margin: 0;
        -webkit-appearance: none;
        appearance: none;
    }

    .product-ficha-page .product-ficha-search__input::placeholder {
        color: #888;
        opacity: 1;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-fav-slot--left {
        display: none !important;
    }

    /* Corazón: columna derecha de la fila título (mismo ancho que el hueco izquierdo) */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-fav-slot.main-slider-rail-fav-slot--right-mobile {
        --lds-title-side: 40px;
        grid-area: title;
        justify-self: end;
        align-self: center;
        display: flex !important;
        align-items: center;
        justify-content: flex-end;
        width: var(--lds-title-side);
        max-width: var(--lds-title-side);
        min-width: var(--lds-title-side);
        position: relative !important;
        top: auto !important;
        left: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        z-index: 2;
        box-sizing: border-box;
        pointer-events: auto;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-fav-slot--right-mobile .main-slider-rail-fav-btn {
        flex: 0 0 var(--lds-title-side);
        width: var(--lds-title-side);
        height: var(--lds-title-side);
        max-width: 100%;
        padding: 3px;
        border-radius: 6px;
        box-sizing: border-box;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-fav-slot--right-mobile .main-slider-rail-fav-btn .main-slider-rail-fav-btn__icon {
        width: 30px;
        height: 30px;
        padding: 3.75px;
    }

    /* Foto principal: caja fija 4:3 (alto = 75% del ancho real; tope vh); contain centrado */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-container--stage {
        grid-area: stage;
        justify-self: center;
        container-type: inline-size;
        width: 100%;
        aspect-ratio: auto;
        height: min(75cqi, 56vh, 56dvh) !important;
        min-height: min(75cqi, 56vh, 56dvh) !important;
        max-height: min(75cqi, 56vh, 56dvh) !important;
        margin-top: 0;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider.swiper-main-fit {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider .swiper-wrapper,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-container--stage .swiper.main-slider .swiper-slide,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.zoom-container-fit {
        width: 100% !important;
        height: 100% !important;
        min-height: 100% !important;
        max-height: 100% !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.zoom-container-fit {
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0 !important;
        margin: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.zoom-container-fit::before,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img .swiper-zoom-container.zoom-container-fit::after,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img::before,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img::after {
        content: none !important;
        display: none !important;
        padding: 0 !important;
        margin: 0 !important;
        height: 0 !important;
        width: 0 !important;
    }

    /*
     * ≤991: zoom nativo del navegador (pinch). Sin zoom interno (transform/pan/controles).
     * touch-action permite pinch + scroll; un dedo sigue al carrusel.
     * overflow:hidden de stage/slides se mantiene (no se quita para “arreglar” el zoom).
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .carousel-zoom-placeholder,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .carousel-zoom-placeholder .zoom-controls,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .zoom-percent {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-wrapper,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-zoom-container,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-zoom-container.product-main-zoom--active,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img img {
        touch-action: pan-x pan-y pinch-zoom !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .swiper-slide.img img {
        width: auto !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: 100% !important;
        object-fit: contain !important;
        object-position: center !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider .product-main-slide-cta {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
    }

    /*
     * CTA slide ≤991 (principal + embebida): botones a ancho completo,
     * uno debajo del otro, texto en 1 línea (sin ellipsis). Solo dentro
     * de .product-main-slide-cta — no toca consulta exterior ni PC.
     */
    .product-ficha-page .carousel-wrapper-with-code .product-main-slide-cta .product-main-slide-cta-actions {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        margin: 0;
        gap: 14px;
        box-sizing: border-box;
    }

    .product-ficha-page .carousel-wrapper-with-code .product-main-slide-cta .product-main-slide-cta-btn,
    .product-ficha-page .carousel-wrapper-with-code .product-main-slide-cta .product-main-slide-cta-btn.product-main-slide-cta-btn--wishlist {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
        max-height: none;
        margin: 0;
        padding: 0.45rem 0.4rem;
        box-sizing: border-box;
        font-size: clamp(11px, 3.6vw, 14px) !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: visible;
        text-overflow: clip;
        overflow-wrap: normal;
        word-break: normal;
        text-align: center;
    }

    .product-ficha-page .carousel-wrapper-with-code .product-main-slide-cta .product-main-slide-cta-btn--wishlist {
        flex-wrap: nowrap !important;
        gap: 0.4rem;
    }

    .product-ficha-page .carousel-wrapper-with-code .product-main-slide-cta .product-main-slide-cta-btn--wishlist .product-main-slide-cta-btn__label {
        flex: 0 1 auto;
        min-width: 0;
        font-size: inherit !important;
        line-height: 1.25 !important;
        white-space: nowrap !important;
        overflow: visible;
        text-overflow: clip;
    }

    /* Icono acotado a la línea de texto para igualar altura con el botón de consulta */
    .product-ficha-page .carousel-wrapper-with-code .product-main-slide-cta .product-main-slide-cta-btn--wishlist .product-main-slide-cta-btn__fav-icon {
        flex-shrink: 0;
        width: 1em;
        height: 1em;
        display: block;
    }

    /* Fila bajo la foto: grupo flecha · código · flecha centrado; compartir a la derecha */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-left-body {
        grid-area: prev;
        display: flex !important;
        width: auto !important;
        min-width: 0;
        justify-self: end;
        align-items: center;
        align-self: center;
        margin-top: 0;
        margin-right: 0.6rem;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-left-body .cuca-next-to-prev {
        display: none !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-left-body .swiper-button-prev.side-arrow,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail--right .swiper-button-next.side-arrow {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        align-self: center !important;
        position: static !important;
        top: auto !important;
        flex: 0 0 1.15em;
        width: 1.15em;
        height: 1.15em;
        min-width: 1.15em;
        min-height: 1.15em;
        margin-top: 0.4rem;
        margin-bottom: 0;
        padding: 0;
        font-size: 2.2rem;
        line-height: 0;
        box-sizing: border-box;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-left-body .swiper-button-prev.side-arrow .prod-card-carousel__chev,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail--right .swiper-button-next.side-arrow .prod-card-carousel__chev {
        width: 110%;
        height: 110%;
        transform: translateY(0.18em);
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail--right .swiper-button-next.side-arrow {
        grid-area: next;
        justify-self: start;
        margin-left: 0.6rem;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-spacer {
        display: none !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-code-mobile-container {
        grid-area: code;
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto !important;
        max-width: 100%;
        min-width: 0;
        margin-top: 0.4rem;
        padding: 0;
        box-sizing: border-box;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-share-rail {
        grid-area: share;
        display: flex;
        align-items: center;
        justify-content: center;
        justify-self: end;
        align-self: center;
        flex: 0 0 1.15em;
        width: 1.15em;
        height: 1.15em;
        margin-top: 0.4rem;
        padding: 0;
        font-size: 2.2rem;
        line-height: 1.15;
        box-sizing: border-box;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-share-rail__icon {
        width: 100%;
        height: 100%;
        margin: 0;
        display: block;
        color: #fff;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-code-mobile-container .cuca.cuca-mobile-zoom {
        display: inline-block;
        background: transparent !important;
        color: #fff !important;
        padding: 0;
        border: none;
        line-height: 1.15;
        font-weight: bold;
        text-align: center;
        white-space: normal;
        overflow-wrap: anywhere;
        max-width: 100%;
        font-size: var(--lds-ficha-body-fs) !important;
    }

    /* Zoom y miniaturas a todo el ancho (el JS los alinea con columnas que aquí no existen) */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .carousel-zoom-placeholder {
        grid-area: zoom;
        grid-template-columns: auto minmax(0, 1fr) !important;
        column-gap: 1rem;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .carousel-zoom-placeholder .zoom-controls {
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        justify-self: stretch;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .carousel-below-main-slide {
        grid-area: thumbs;
        min-width: 0;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .carousel-below-main-slide .swiper.thumbs-slider {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    /* Bloque de info: precio y consulta justo después de la galería */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col {
        display: flex;
        flex-direction: column;
        padding-inline: 0.8rem;
        box-sizing: border-box;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info {
        display: contents;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .js-precio-slot {
        order: 1;
    }

    /* Precio efectivo 0: ocultar cuadro completo (sin hueco); consulta intacta; PC ≥992 no aplica */
    .product-ficha-page .product-ficha-precio-bar.product-ficha-precio-bar--cero {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-consulta-bajo-video {
        order: 2;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-consulta-comparar,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .div-consulta-no-border {
        display: none;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .login-popup {
        order: 4;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap {
        order: 5;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        align-items: stretch;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap .product-ficha-video-prod-player,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap .product-ficha-video-prod-player.div-disenador {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap .video-prod {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        display: block;
        object-fit: contain;
        pointer-events: auto !important;
    }

    .product-ficha-page .product-ficha-video-prod-player,
    .product-ficha-page .product-ficha-video-prod-player > .vtc-frame {
        display: block;
        position: relative;
        overflow: hidden;
        box-sizing: border-box;
    }

    .product-ficha-page .product-ficha-video-prod-wrap .video-prod {
        width: 100%;
        display: block;
        margin: 0;
    }

    .product-ficha-page .product-ficha-video-prod-player > .vtc-frame > .vtc-top-icons,
    .product-ficha-page .product-ficha-video-prod-player .vtc-top-icons--fs-only {
        display: flex;
    }

    .product-ficha-page .product-ficha-video-prod-player > .vtc-frame > .vid-top-controls {
        display: flex;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data {
        order: 6;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar {
        width: 100%;
        max-width: 100%;
        min-height: 5.2rem;
        padding-block: 1rem;
        padding-inline: 0.4rem;
        line-height: 1.15;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-con-descuento {
        display: grid !important;
        grid-template-columns: max-content max-content max-content max-content;
        grid-template-areas: "old off arrow now" "ship ship ship ship";
        justify-content: center;
        align-items: center;
        column-gap: 0.28em;
        row-gap: 0.35em;
        width: 100%;
        max-width: 100%;
        letter-spacing: 0;
        line-height: 1.15;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-original-tachado {
        grid-area: old;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .descuento-badge {
        grid-area: off;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .flecha-descuento {
        grid-area: arrow;
        width: 1.2em;
        height: 0.85em;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-final-descuento {
        grid-area: now;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-original-tachado,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .descuento-badge,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-final-descuento {
        white-space: nowrap;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .producto-formato-precio {
        margin-left: 0.2em;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .shipping-costs {
        grid-area: ship;
        width: 100%;
        margin-left: 0;
        text-align: center;
        white-space: nowrap;
    }

    .product-ficha-page .product-ficha-consulta-comparar .boton-favorito-producto,
    .product-ficha-page .product-ficha-consulta-comparar a.boton-favorito-producto {
        width: 100%;
        height: auto;
        min-height: 4.8rem;
        gap: 0.8rem;
        justify-content: center;
        align-items: center;
        font-size: 1.6rem;
    }

    .product-ficha-page .product-ficha-consulta-comparar .boton-favorito-producto svg,
    .product-ficha-page .product-ficha-consulta-comparar a.boton-favorito-producto svg {
        width: 2.4rem !important;
        height: 2.4rem !important;
        flex: 0 0 2.4rem;
    }

    .product-ficha-page .div-consulta-no-border > label.div-produ-compara,
    .product-ficha-page .div-consulta-no-border > a.div-produ-compara {
        min-height: 4.8rem;
        gap: 0.8rem;
        align-items: center;
        justify-content: center;
        font-size: 1.6rem;
    }

    .product-ficha-page .div-consulta-no-border .redes-compartir {
        width: 2.8rem !important;
        height: 2.8rem !important;
        margin: 0 !important;
        object-fit: contain;
        flex: 0 0 2.8rem;
    }

    .product-ficha-page .div-consulta-no-border .checkbox {
        transform: none !important;
        width: 1.7rem;
        height: 1.7rem;
        margin: 0;
        flex: 0 0 1.7rem;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar > div,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-con-descuento {
        font-size: clamp(1.2rem, 3.5vw, 2.2rem) !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-consulta-bajo-video {
        width: 100%;
        max-width: 100%;
        margin-top: 1.2rem !important;
        margin-bottom: 16px !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-consulta-bajo-video p.btn-extra.btn-extra-blue.product-consulta-macklowe {
        width: 100% !important;
        max-width: 100% !important;
    }

    /*
     * Consultar: una sola línea. --consulta-btn-fs lo ajusta JS al ancho
     * real y a la traducción (incl. <320); sin ellipsis ni overflow.
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-consulta-bajo-video p.product-consulta-macklowe > a {
        min-height: 4.8rem !important;
        padding: 1.2rem 1.6rem !important;
        font-size: var(--consulta-btn-fs, 15px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: clip !important;
        letter-spacing: var(--consulta-btn-ls, 1px) !important;
    }

    /* Suscripción ≤991: tipografía/altura/márgenes en css/footer.css */

    .product-ficha-page .product-related-section > .product-related-buttons {
        display: none !important;
    }

    /* Sin botones arriba, la raya del sep quedaba suelta entre Libros y el video */
    .product-ficha-page .product-related-section .product-measures--video-info > dt.js-prod-related-sep {
        display: none !important;
        border: none !important;
        padding: 0 !important;
        margin: 0 !important;
        height: 0 !important;
        overflow: hidden;
    }

    /*
     * Hueco Medidas → video relacionado ≈ 12px.
     * Anula padding 1rem de .product-measures dd, margen de la sección y m-1 del .videoIA.
     */
    .product-ficha-page .product-data-div {
        margin-bottom: 0 !important;
    }

    .product-ficha-page .product-data-div .product-measures > dd {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-grid {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Sin raya entre productos unitarios/relacionados (≤991) */
    .product-ficha-page .product-ficha-embebida {
        border-top: none !important;
    }

    /*
     * Ficha ≤991 · huecos de 16px entre secciones (principal + .product-ficha-embebida):
     * - Video → Medidas.
     * - Medidas → Técnicas → Sellos → Libros / Nº serie.
     * Sin sumar padding del título; PC ≥992 intacto.
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap.is-video-ready,
    .product-ficha-page .product-ficha-embebida .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap.is-video-ready {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div,
    .product-ficha-page .product-ficha-embebida .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div {
        margin-top: 16px !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div .product-measures > dt:first-child,
    .product-ficha-page .product-ficha-embebida .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div .product-measures > dt:first-child {
        margin-top: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div .product-measures > dd,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div .product-measures .pm-grid {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div ~ .product-data-black-bg.border-sep-groove-block {
        margin-top: 16px !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div ~ .product-data-black-bg.border-sep-groove-block .product-measures > dt:first-child {
        margin-top: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div ~ .product-data-black-bg.border-sep-groove-block .product-measures > dd {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    .product-ficha-page .product-related-section {
        margin-top: 12px !important;
    }

    .product-ficha-page .product-related-section .product-measures--video-info > dd {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }

    .product-ficha-page .product-related-section .js-prod-related-block,
    .product-ficha-page .product-related-section .js-prod-related-align-wrap,
    .product-ficha-page .product-related-section .js-prod-related-panels-host,
    .product-ficha-page .product-related-section .js-prod-related-panel,
    .product-ficha-page .product-related-section .js-prod-related-panel-bundle {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }

    .product-ficha-page .product-related-section .videoIA.m-1,
    .product-ficha-page .product-related-section .videoIA {
        margin-top: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .product-ficha-page .product-related-section .videoIA .div-disenador-stack {
        margin-top: 0 !important;
    }

    /* Sin reserva de secciones ocultas (botones PC, sep sin título, picker vacío) */
    .product-ficha-page .product-related-section > .product-related-buttons[hidden],
    .product-ficha-page .product-related-section .product-related-picker.is-empty,
    .product-ficha-page .product-related-section .js-prod-related-panel[hidden],
    .product-ficha-page .product-related-section .js-prod-related-panel:not(.is-active) {
        display: none !important;
        margin: 0 !important;
        padding: 0 !important;
        height: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
        border: 0 !important;
    }

    .product-ficha-page .product-related-picker {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.6rem;
        width: 100%;
        max-width: 100%;
        /* 8px tras el carrusel de 3 productos */
        margin: 8px 0 16px !important;
        padding: 0;
        box-sizing: border-box;
        color: #fff;
        touch-action: pan-y;
    }

    .product-ficha-page .product-related-picker__option,
    .product-ficha-page .product-related-picker__nav {
        touch-action: pan-y;
    }

    .product-ficha-page .product-related-picker.is-single .product-related-picker__nav,
    .product-ficha-page .product-related-picker.is-empty {
        display: none !important;
    }

    .product-ficha-page .product-related-picker__options {
        display: flex;
        flex: 1 1 auto;
        align-items: stretch;
        min-width: 0;
        overflow: hidden;
    }

    .product-ficha-page     .product-related-picker__option + .product-related-picker__option {
        display: none !important;
    }

    .product-ficha-page .product-related-picker__track {
        display: flex;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        flex: 0 0 100%;
        transform: translate3d(0, 0, 0);
    }

    .product-ficha-page .product-related-picker__track.is-anim {
        transition: transform 220ms ease;
    }

    .product-ficha-page .product-related-picker__track .product-related-picker__option + .product-related-picker__option {
        display: flex !important;
    }

    .product-ficha-page .product-related-picker__option {
        flex: 1 1 auto;
        width: 100%;
        min-width: 0;
        min-height: 4.8rem;
        margin: 0;
        padding: 1.2rem 1.6rem;
        border: 0;
        border-radius: 0.5rem;
        background: #014f5b;
        color: #fff;
        box-sizing: border-box;
        box-shadow: none;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-family: 'BentonSans-Regular', 'BentonSans-Bold';
        font-size: 13px;
        font-weight: normal;
        line-height: 1.25;
        white-space: normal;
        overflow: visible;
        overflow-wrap: break-word;
        cursor: pointer;
    }

    /* Texto de la sección diseñador / estilo / técnica: letra más pequeña */
    /* Título Estilo/Diseñador/Técnica: centrado vertical en su franja (mismo aire arriba/abajo) */
    .product-ficha-page .product-related-section .videoIA-info-body__title {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-direction: column !important;
        text-align: center !important;
        font-size: var(--lds-ficha-body-fs) !important;
        font-weight: bold !important;
        line-height: 1.35 !important;
        margin: 0 !important;
        /* Antes: 0 arriba + 1.5rem abajo; se reparte para no cambiar la altura de la franja */
        padding: 0.75rem 0 !important;
        box-sizing: border-box !important;
    }

    /* Texto explicativo aprobado: permanece en 15px */
    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll .descripcion,
    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll .descripcion * {
        font-size: 15px !important;
        line-height: 1.35 !important;
    }

    /* Sin hueco entre video y título (anula gap 50px del panel en columna) */
    .product-ficha-page .product-related-section .js-prod-related-panel-bundle .videoIA,
    .product-ficha-page .product-related-section .videoIA {
        flex-direction: column !important;
        gap: 0 !important;
        row-gap: 0 !important;
        margin-bottom: 0 !important;
    }

    .product-ficha-page .product-related-section .videoIA .div-disenador-stack {
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        align-self: stretch !important;
        box-sizing: border-box;
    }

    .product-ficha-page .product-related-section .videoIA .div-disenador,
    .product-ficha-page .product-related-section .videoIA .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
        box-sizing: border-box;
    }

    .product-ficha-page .product-related-section .videoIA .div-disenador video,
    .product-ficha-page .product-related-section .videoIA .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        object-fit: contain !important;
        display: block;
    }

    .product-ficha-page .product-related-section .videoIA .info-extra,
    .product-ficha-page .product-related-section .videoIA .info-extra-width {
        margin-top: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* Descripción Diseñador/Estilo/Técnica: completa, sin scroll interno; crece con la página */
    .product-ficha-page .product-related-section .videoIA-info-body,
    .product-ficha-page .product-related-section .js-videoia-info-body {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        overflow: visible !important;
        flex: 0 0 auto !important;
    }

    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll {
        height: auto !important;
        max-height: none !important;
        min-height: 0 !important;
        /* Un solo overflow:visible — overflow-x:hidden + overflow-y:visible se calcula como auto y captura el gesto */
        overflow: visible !important;
        overscroll-behavior: auto !important;
        -webkit-overflow-scrolling: auto;
        flex: 0 0 auto !important;
        cursor: auto !important;
        touch-action: manipulation;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
    }

    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll .descripcion,
    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll .descripcion * {
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        cursor: auto !important;
        user-select: text;
        -webkit-user-select: text;
        touch-action: manipulation;
        -webkit-line-clamp: unset !important;
        line-clamp: unset !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-wrap: break-word !important;
    }

    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll.is-bio-dragging,
    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll.is-bio-dragging .descripcion,
    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll.is-bio-dragging .descripcion * {
        cursor: auto !important;
        user-select: text !important;
    }

    .product-ficha-page .product-related-picker {
        position: relative;
        z-index: 1;
        clear: both;
    }

    .product-ficha-page .product-related-picker__option:hover,
    .product-ficha-page .product-related-picker__option:focus,
    .product-ficha-page .product-related-picker__option:active {
        background: #047a8c;
        color: #fff;
    }

    .product-ficha-page .product-related-picker__nav {
        flex: 0 0 4.4rem;
        width: 4.4rem;
        height: 4.4rem;
        margin: 0;
        padding: 0;
        border: 0;
        background: transparent;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
    }

    .product-ficha-page .product-related-picker__nav svg {
        width: 2.2rem;
        height: 2.2rem;
        display: block;
    }


    /* Diseñador / Estilo / Técnica: la altura sigue al texto, en una o varias líneas */
    .product-ficha-page .product-related-buttons {
        align-items: stretch;
        gap: 0.8rem;
    }

    .product-ficha-page .product-related-buttons .btn-plus {
        height: auto !important;
        max-height: none !important;
        min-height: 4.4rem !important;
        margin: 0 !important;
        padding: 0.75rem 1rem !important;
        box-sizing: border-box;
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        align-content: center;
        justify-content: center !important;
        gap: 0.2rem 0.4rem;
        white-space: normal !important;
        overflow: visible !important;
        line-height: 1.4 !important;
        text-align: center;
    }

    .product-ficha-page .product-related-buttons .btn-plus span {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip;
        line-height: 1.4 !important;
        height: auto !important;
        max-height: none !important;
        min-width: 0;
        max-width: 100%;
        margin: 0 !important;
        text-align: center;
    }

    /*
     * Encabezados de sección (Medidas, Libros, Sellos, Nº serie, Técnicas):
     * 15px negrita, centrados; padding lateral simétrico para el toggle.
     */
    .product-ficha-page .product-measures > dt,
    .product-ficha-page .product-data-black-bg .product-measures > dt,
    .product-ficha-page .product-data-div .product-measures > dt {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        position: relative !important;
        text-align: center !important;
        padding-left: 3.5rem !important;
        padding-right: 3.5rem !important;
        font-size: var(--lds-ficha-body-fs) !important;
        font-weight: bold !important;
        line-height: 1.35 !important;
    }

    .product-ficha-page .product-measures > dt small,
    .product-ficha-page .product-measures > dt .product-measures-toggle,
    .product-ficha-page .product-data-div .product-measures > dt .product-measures-toggle {
        position: absolute !important;
        top: 50% !important;
        right: 0 !important;
        left: auto !important;
        transform: translateY(-50%);
        padding-left: 0.75rem !important;
        padding-right: 0.75rem !important;
        box-sizing: border-box !important;
        font-size: 1.15em !important;
        line-height: 1 !important;
    }

    /*
     * Medidas ≤991 (principal + embebida): bloque al borde izquierdo útil.
     * 8px solo en el contenedor de filas (dd), no en el que incluye
     * el título «Medidas» ni su línea separadora.
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-data-div,
    .product-ficha-page .product-ficha-embebida .product-data-div {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        box-sizing: border-box;
    }

    .product-ficha-page .product-data-div .product-measures > dd,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures > dd {
        padding-left: 8px !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box;
        max-width: 100%;
    }

    .product-ficha-page .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-grid {
        display: grid !important;
        grid-template-columns: max-content max-content !important;
        column-gap: 10px !important;
        row-gap: 0.35rem;
        align-items: center;
        justify-content: start !important;
        justify-items: start !important;
        width: max-content !important;
        max-width: 100% !important;
        margin: 0 !important;
        margin-inline: 0 !important;
        padding: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box;
        --pm-label-push: 0px;
    }

    .product-ficha-page .product-data-div .product-measures .pm-label:not(.pm-label--full),
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-label:not(.pm-label--full) {
        grid-column: 1;
        justify-self: start !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: none;
        padding-left: 0 !important;
        padding-right: 0 !important;
        margin-left: 0 !important;
        text-align: left !important;
        white-space: nowrap;
    }

    .product-ficha-page .product-data-div .product-measures .pm-meta,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-meta {
        grid-column: 2;
        justify-self: start !important;
        justify-content: flex-start !important;
        width: auto !important;
        max-width: 100%;
        margin-left: 0 !important;
        text-align: left !important;
        gap: 0.5rem;
    }

    .product-ficha-page .product-data-div .product-measures .pm-value,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-value {
        flex: 0 1 auto;
        min-width: 0;
        max-width: 100%;
        text-align: left !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-meta--disenadores .pm-value--stacked {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: auto;
        max-width: 100%;
    }

    .product-ficha-page .product-data-div .product-measures .pm-meta--disenadores .pm-value-line {
        width: auto;
        padding-left: 0;
        text-align: left;
    }

    .product-ficha-page .product-data-div .product-measures .pm-meta--disenadores .pm-value-line::before {
        position: static;
        transform: none;
        margin-right: 0.35em;
    }

    .product-ficha-page .product-data-div .product-measures .pm-label,
    .product-ficha-page .product-data-div .product-measures .pm-value,
    .product-ficha-page .product-data-div .product-measures .pm-value a,
    .product-ficha-page .product-data-div .product-measures .pm-value-line,
    .product-ficha-page .product-data-div .product-measures .pm-value li,
    .product-ficha-page .product-data-div .product-measures .pm-value span,
    .product-ficha-page .product-data-div .product-measures .pm-label span,
    .product-ficha-page .product-data-div .product-measures .pm-measure-units,
    .product-ficha-page .product-data-div .product-measures .pm-measure-units em,
    .product-ficha-page .product-data-div .product-measures .pm-meta,
    .product-ficha-page .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-data-div .product-measures .pm-grid * {
        font-family: 'BentonSans-Regular', 'BentonSans-Bold';
        font-size: var(--lds-ficha-body-fs) !important;
        line-height: 1.35 !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-label:not(.pm-label--full) {
        min-width: 0;
        height: auto;
        margin-left: 0 !important;
        white-space: nowrap !important;
        overflow: visible;
        text-overflow: clip;
    }

    .product-ficha-page .product-data-div .product-measures .pm-meta,
    .product-ficha-page .product-data-div .product-measures .pm-value,
    .product-ficha-page .product-data-div .product-measures .pm-value a,
    .product-ficha-page .product-data-div .product-measures .pm-value-line,
    .product-ficha-page .product-data-div .product-measures .pm-value li {
        min-width: 0;
        max-width: 100%;
        height: auto;
        margin-left: 0 !important;
        white-space: normal;
        overflow: visible;
        overflow-wrap: break-word;
        text-overflow: clip;
    }

    .product-ficha-page .product-data-div .product-measures .pm-value .pm-measure-pair {
        white-space: nowrap;
    }

    .product-ficha-page .product-data-div .product-measures .pm-meta--materiales,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-meta--materiales {
        justify-self: start !important;
        width: auto !important;
        max-width: min(100%, 70vw);
        white-space: normal;
    }

    .product-ficha-page .product-data-div .pm-meta:has(> .pm-icon:not(:empty)) .pm-icon svg {
        width: 26px;
        height: 26px;
        min-width: 26px;
        min-height: 26px;
    }
}

/* Tablet: misma disposición que el celular (etiqueta + valor juntos),
   con el margen izquierdo de las otras secciones (miniaturas / botón).
   Celular (≤449) y escritorio (≥992) no cambian. */
@media (min-width: 450px) and (max-width: 991px) {
    .product-ficha-page .product-data-div .product-measures > dd,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures > dd {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-grid {
        width: max-content !important;
        max-width: 100% !important;
        margin-left: max(0px, calc((100% - var(--lds-thumbs-strip-width, 100%)) / 2)) !important;
        margin-right: 0 !important;
        grid-template-columns: max-content max-content !important;
        justify-content: start !important;
        justify-items: start !important;
    }
}

/* Tablet: el vídeo vertical de diseñador/estilo/técnica no ocupa el ancho de la ficha.
   Ancho fijo y centrado; el alto sigue la proporción. Celular y escritorio no cambian. */
@media (min-width: 450px) and (max-width: 991px) {
    .product-ficha-page .product-related-section .videoIA .div-disenador-stack {
        width: 260px !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
        align-self: center !important;
        align-items: stretch !important;
    }

    .product-ficha-page .product-related-section .videoIA .div-disenador:not(.vtc-fs-active),
    .product-ficha-page .product-related-section .videoIA .div-disenador:not(.vtc-fs-active) > .vtc-frame,
    .product-ficha-page .product-related-section .videoIA .div-disenador:not(.vtc-fs-active) video,
    .product-ficha-page .product-related-section .videoIA .div-disenador:not(.vtc-fs-active) .vid-disenador {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin-left: auto !important;
        margin-right: auto !important;
        object-fit: contain !important;
    }
}

/* Móvil (≤767px): tipografías algo menores y 3 miniaturas por fila */
@media (max-width: 767px) {
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-code-mobile-container .cuca.cuca-mobile-zoom {
        font-size: var(--lds-ficha-body-fs) !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail-left-body .swiper-button-prev.side-arrow,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .main-slider-rail--right .swiper-button-next.side-arrow,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .product-ficha-share-rail {
        font-size: 1.8rem;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar > div,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .producto-info > .product-ficha-precio-bar .precio-con-descuento {
        font-size: clamp(1.2rem, 3.5vw, 2.2rem) !important;
    }

    @container prod-thumbs (max-width: 509px) {
        .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .carousel-wrapper-with-code .swiper.thumbs-slider .swiper-slide {
            width: calc((100cqi - 20px) / 3);
        }
    }

    /* Misma tipografía 14px que ≤991 */
    .product-ficha-page .product-data-div .product-measures > dt,
    .product-ficha-page .product-measures > dt,
    .product-ficha-page .product-data-black-bg .product-measures > dt {
        font-size: var(--lds-ficha-body-fs) !important;
        font-weight: bold !important;
        line-height: 1.35 !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-label,
    .product-ficha-page .product-data-div .product-measures .pm-value,
    .product-ficha-page .product-data-div .product-measures .pm-value a,
    .product-ficha-page .product-data-div .product-measures .pm-value-line,
    .product-ficha-page .product-data-div .product-measures .pm-value li,
    .product-ficha-page .product-data-div .product-measures .pm-value span,
    .product-ficha-page .product-data-div .product-measures .pm-label span,
    .product-ficha-page .product-data-div .product-measures .pm-measure-units,
    .product-ficha-page .product-data-div .product-measures .pm-measure-units em,
    .product-ficha-page .product-data-div .product-measures .pm-meta,
    .product-ficha-page .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-data-div .product-measures .pm-grid * {
        font-size: var(--lds-ficha-body-fs) !important;
        line-height: 1.35 !important;
    }

    .product-ficha-page .product-data-div .pm-meta:has(> .pm-icon:not(:empty)) .pm-icon svg {
        width: 22px;
        height: 22px;
        min-width: 22px;
        min-height: 22px;
    }

    /*
     * Separación entre grupos de medidas ≤991 — cascade final.
     * Principal y unitarios/relacionados (.product-ficha-embebida), todos los idiomas.
     * 16px antes de cada encabezado de grupo (incluido el bloque con sus rayas);
     * 16px tras foto/video listo hacia el primer encabezado.
     * Sin tocar row-gap de .pm-grid; sin márgenes en dt/dd ocultos.
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-data-div .product-measures > dd + dt.border-sep-groove,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures > dd + dt.border-sep-groove {
        margin-top: 16px !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-data-div .product-measures > dt[hidden] + dd,
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-data-div .product-measures > dd[hidden],
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures > dt[hidden] + dd,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures > dd[hidden] {
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    /* Tras video listo → primer encabezado de medidas (principal + embebida) */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div,
    .product-ficha-page .product-ficha-embebida .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div {
        margin-top: 16px !important;
        padding-top: 0 !important;
    }

    /*
     * Sin video listo: 16px antes del bloque de medidas (foto → encabezado).
     * Anula el margin-bottom del Consultar para no acumular 16+16 en flex.
     */
    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col:not(:has(> .product-ficha-video-prod-wrap.is-video-ready)) > .product-ficha-consulta-bajo-video,
    .product-ficha-page .product-ficha-embebida .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col:not(:has(> .product-ficha-video-prod-wrap.is-video-ready)) > .product-ficha-consulta-bajo-video {
        margin-bottom: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col:not(:has(> .product-ficha-video-prod-wrap.is-video-ready)) > .product-data-div,
    .product-ficha-page .product-ficha-embebida .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col:not(:has(> .product-ficha-video-prod-wrap.is-video-ready)) > .product-data-div {
        margin-top: 16px !important;
        padding-top: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div .product-measures > dt:first-child,
    .product-ficha-page .product-ficha-embebida .product-ficha-video-prod-wrap.is-video-ready ~ .product-data-div .product-measures > dt:first-child {
        margin-top: 0 !important;
    }

    .product-ficha-page .mt-5-full-width[data-product-ficha-id] .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-grid {
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }
}

/* Tablet: textos de diseñador/estilo/técnica y ficha al ancho útil, con letra mayor.
   El vídeo vertical sigue en 260px. Celular (≤449) y escritorio (≥992) no cambian. */
@media (min-width: 450px) and (max-width: 991px) {
    .product-ficha-page .product-related-section {
        width: 100% !important;
        max-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
        box-sizing: border-box !important;
    }

    .product-ficha-page .product-data-div .product-measures > dd,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures > dd {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-grid {
        width: max-content !important;
        max-width: 100% !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .product-ficha-page .product-measures > dt,
    .product-ficha-page .product-data-div .product-measures > dt,
    .product-ficha-page .product-data-black-bg .product-measures > dt,
    .product-ficha-page .product-related-section .videoIA-info-body__title {
        font-size: 20px !important;
        line-height: 1.35 !important;
    }

    .product-ficha-page .product-data-div .product-measures .pm-label,
    .product-ficha-page .product-data-div .product-measures .pm-value,
    .product-ficha-page .product-data-div .product-measures .pm-value a,
    .product-ficha-page .product-data-div .product-measures .pm-value-line,
    .product-ficha-page .product-data-div .product-measures .pm-value li,
    .product-ficha-page .product-data-div .product-measures .pm-value span,
    .product-ficha-page .product-data-div .product-measures .pm-label span,
    .product-ficha-page .product-data-div .product-measures .pm-measure-units,
    .product-ficha-page .product-data-div .product-measures .pm-measure-units em,
    .product-ficha-page .product-data-div .product-measures .pm-meta,
    .product-ficha-page .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-data-div .product-measures .pm-grid *,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-label,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-value,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-grid,
    .product-ficha-page .product-ficha-embebida .product-data-div .product-measures .pm-grid * {
        font-size: 20px !important;
        line-height: 1.4 !important;
    }

    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll .descripcion,
    .product-ficha-page .product-related-section .videoIA-info-body__bio-scroll .descripcion * {
        font-size: 20px !important;
        line-height: 1.45 !important;
    }

    /*
     * Pie (Volver/Envíos, suscripción, iconos): mismo ancho que el contenido
     * de las secciones (ficha al 100% con 16px de padding). Celular y
     * escritorio siguen con el ancho de las miniaturas.
     */
    .product-ficha-page .div-consulta.product-ficha-volver-envio {
        width: calc(100% - 32px) !important;
        max-width: calc(100% - 32px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    html body:has(.product-ficha-page) footer #registrarse,
    html body:has(.product-ficha-page) footer #registrarse.info-suscrip,
    html body:has(.product-ficha-page) .info-suscrip#registrarse {
        width: calc(100% - 32px) !important;
        max-width: calc(100% - 32px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body:has(.product-ficha-page) #redes {
        width: calc(100% - 32px) !important;
        max-width: calc(100% - 32px) !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Celular y tablet: aire bajo el detalle si no hay diseñador, estilo ni técnica. Escritorio no entra. */
@media (max-width: 991px) {
    .product-ficha-page:not(:has(.product-related-section)) .mt-5-full-width[data-product-ficha-id] > .mt-3 > .col > .product-data-div:last-child {
        margin-bottom: 16px !important;
    }
}
