/* =========================================================================
   DIGITAL-MAIPU — PREVIEW RESPONSIVE
   Capa aislada. Solo se aplica con body.dm-responsive-preview.
   Objetivo: tamaños, grillas y comportamiento táctil sin cambiar la
   identidad visual (colores, tipografías, sombras, bordes y badges).
   ========================================================================= */

/* =======================================================================
   1. TÁCTIL GLOBAL
   ======================================================================= */

body.dm-responsive-preview,
body.dm-responsive-preview * {
  -webkit-tap-highlight-color: rgba(52, 68, 136, 0.16);
}

body.dm-responsive-preview a,
body.dm-responsive-preview button,
body.dm-responsive-preview input,
body.dm-responsive-preview select,
body.dm-responsive-preview textarea,
body.dm-responsive-preview .pixelProducto {
  touch-action: manipulation;
}

@media (hover: none) and (pointer: coarse) {

  body.dm-responsive-preview .productos ul li.liGrid0:hover,
  body.dm-responsive-preview .carousel-cartilla-ofertas:hover,
  body.dm-responsive-preview .carousel-cartilla-masvendidos:hover,
  body.dm-responsive-preview .carousel-cartilla-vistos:hover,
  body.dm-responsive-preview .figureNuevoDisenio:hover,
  body.dm-responsive-preview .figureTarjetas:hover {
    transform: none !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.10) !important;
  }
}

/* =======================================================================
   2. GRILLA DE LISTADO Y BUSCADOR
   ======================================================================= */

body.dm-responsive-preview .productos ul.grid0 {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  float: none !important;
}

/* Neutraliza el clearfix de Bootstrap cuando el <ul> usa .row */
body.dm-responsive-preview .productos ul.grid0::before,
body.dm-responsive-preview .productos ul.grid0::after {
  content: none !important;
  display: none !important;
}

/* Estados / mensajes dentro de la grilla */
body.dm-responsive-preview .productos ul.grid0 > div.col-xs-12,
body.dm-responsive-preview .productos ul.grid0 > div.col-sm-12,
body.dm-responsive-preview .productos ul.grid0 > div.col-md-12 {
  grid-column: 1 / -1 !important;
}

@media (min-width: 992px) {
  body.dm-responsive-preview .productos ul.grid0 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

@media (min-width: 1200px) {
  body.dm-responsive-preview .productos ul.grid0 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

/* Tablet: mantener sidebar visible y resultados a su lado (2 columnas) */
@media (min-width: 768px) and (max-width: 991px) {
  body.dm-responsive-preview #productos-contenedor {
    width: 66.66666667% !important;
    float: left !important;
    margin: 0 !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* Tarjeta */
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 {
  display: flex !important;
  flex-direction: column !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  text-align: center !important;
  overflow: hidden !important;
}

@media (max-width: 767px) {
  body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 {
    padding: 9px !important;
  }
}

/* El buscador envuelve la tarjeta en .tarjeta-grid */
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 > .tarjeta-grid {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  min-width: 0 !important;
}

/* Imagen */
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 figure.figureGrid0 {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 figure.figureGrid0 > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 figure.figureGrid0 img.img-responsive {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 auto !important;
  padding: 4px !important;
  box-sizing: border-box !important;
}

/* Stickers y badges sobre la imagen: tamaños táctiles y proporcionados */
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 p.lineaClasificacion {
  top: 6px !important;
  right: 8px !important;
  max-width: 72% !important;
  font-size: 9px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 figure.figureGrid0 img.imgCuota {
  top: auto !important;
  bottom: 4px !important;
  right: 4px !important;
  width: 46px !important;
  height: auto !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 figure.figureGrid0 img.imgAvisoStock {
  top: auto !important;
  bottom: 4px !important;
  left: 4px !important;
  width: 52px !important;
  height: auto !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 figure.figureGrid0 img.imgEnvioGratis {
  top: 4px !important;
  left: 4px !important;
  width: 46px !important;
  height: auto !important;
}

/* Cuerpo de la tarjeta */
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla {
  position: relative !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  height: auto !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 1 1 auto !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla br {
  display: none !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla div.cadenaDescripcion {
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 0 6px 0 !important;
  display: block !important;
  text-align: center !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla div.cadenaDescripcion h5.text-muted {
  margin: 0 0 2px 0 !important;
  font-size: 10px !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla div.cadenaDescripcion h4 {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla div.cadenaDescripcion h4 a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: clamp(11px, 3.2vw, 14px) !important;
  line-height: 1.3 !important;
  min-height: 2.6em !important;
}

/* Precios y cuotas */
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla div.ultimoParrafo {
  width: 100% !important;
  height: auto !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla div.ultimoParrafo p:first-of-type {
  font-size: 10px !important;
  margin: 0 0 2px 0 !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla p.cadenaCuotas {
  font-size: 10px !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla p.montoCuotas {
  font-size: clamp(16px, 4.6vw, 26px) !important;
  line-height: 1.1 !important;
  margin: 0 0 2px 0 !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla .montoCuotasProducto {
  font-size: clamp(16px, 4.6vw, 26px) !important;
  line-height: 1.1 !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla .custom-badge-producto,
body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.informacionCartilla .custom-badge-producto-promocion {
  font-size: 9px !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
}

body.dm-responsive-preview .productos ul.grid0 > li.liGrid0 div.mostrarMetodoDescuentoPagoUno {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  margin-top: 4px !important;
}

/* =======================================================================
   3. PAGINACIÓN Y FILTROS (TÁCTIL)
   ======================================================================= */

body.dm-responsive-preview .pagination li a {
  min-width: 44px !important;
  height: 44px !important;
  padding: 0 12px !important;
}

body.dm-responsive-preview .btn-filtrar-movil {
  min-height: 48px !important;
}

body.dm-responsive-preview .contenedor-filtros-responsivo .custom-filter-checkbox {
  min-height: 44px !important;
}

body.dm-responsive-preview .contenedor-filtros-responsivo .btn {
  min-height: 44px !important;
}

/* =======================================================================
   4. HOME — CARRUSELES DE PRODUCTOS
   ======================================================================= */

body.dm-responsive-preview .carousel-container-ofertas,
body.dm-responsive-preview .carousel-container-masvendidos,
body.dm-responsive-preview .carousel-container-vistos {
  height: auto !important;
  padding: 0 !important;
  margin: 0 auto !important;
  overflow: hidden !important;
}

@media (max-width: 991px) {

  body.dm-responsive-preview .carousel-container-ofertas,
  body.dm-responsive-preview .carousel-container-masvendidos,
  body.dm-responsive-preview .carousel-container-vistos {
    width: 100% !important;
    max-width: 100% !important;
  }
}

body.dm-responsive-preview .carousel-ofertas,
body.dm-responsive-preview .carousel-masvendidos,
body.dm-responsive-preview .carousel-vistos {
  display: flex !important;
  gap: 12px !important;
  padding: 4px 10px 12px !important;
  margin: 0 !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
  scrollbar-width: none !important;
}

body.dm-responsive-preview .carousel-ofertas::-webkit-scrollbar,
body.dm-responsive-preview .carousel-masvendidos::-webkit-scrollbar,
body.dm-responsive-preview .carousel-vistos::-webkit-scrollbar {
  display: none !important;
}

body.dm-responsive-preview .carousel-item-ofertas,
body.dm-responsive-preview .carousel-item-masvendidos,
body.dm-responsive-preview .carousel-item-vistos {
  flex: 0 0 calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  scroll-snap-align: start !important;
  display: flex !important;
  align-items: stretch !important;
}

@media (min-width: 992px) {

  body.dm-responsive-preview .carousel-item-ofertas,
  body.dm-responsive-preview .carousel-item-masvendidos,
  body.dm-responsive-preview .carousel-item-vistos {
    flex: 0 0 calc(33.333% - 8px) !important;
    max-width: calc(33.333% - 8px) !important;
  }
}

@media (min-width: 1200px) {

  body.dm-responsive-preview .carousel-item-ofertas,
  body.dm-responsive-preview .carousel-item-masvendidos,
  body.dm-responsive-preview .carousel-item-vistos {
    flex: 0 0 calc(25% - 9px) !important;
    max-width: calc(25% - 9px) !important;
  }
}

body.dm-responsive-preview .carousel-cartilla-ofertas,
body.dm-responsive-preview .carousel-cartilla-masvendidos,
body.dm-responsive-preview .carousel-cartilla-vistos {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

body.dm-responsive-preview .carousel-item-ofertas figure.figureGrid0,
body.dm-responsive-preview .carousel-item-masvendidos figure.figureGrid0,
body.dm-responsive-preview .carousel-item-vistos figure.figureGrid0 {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 8px 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}

body.dm-responsive-preview .carousel-item-ofertas figure.figureGrid0 img.img-responsive,
body.dm-responsive-preview .carousel-item-masvendidos figure.figureGrid0 img.img-responsive,
body.dm-responsive-preview .carousel-item-vistos figure.figureGrid0 img.img-responsive {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla {
  position: relative !important;
  top: auto !important;
  bottom: auto !important;
  height: auto !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Empuja el bloque de precio al fondo para que todas las cartillas queden parejas */
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla div.ultimoParrafo,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla div.ultimoParrafo,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla div.ultimoParrafo {
  margin-top: auto !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla br,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla br,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla br {
  display: none !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.cadenaDescripcion,
body.dm-responsive-preview .carousel-item-masvendidos div.cadenaDescripcion,
body.dm-responsive-preview .carousel-item-vistos div.cadenaDescripcion {
  height: auto !important;
  width: 100% !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.cadenaDescripcion h4 a,
body.dm-responsive-preview .carousel-item-masvendidos div.cadenaDescripcion h4 a,
body.dm-responsive-preview .carousel-item-vistos div.cadenaDescripcion h4 a {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  font-size: clamp(11px, 3.2vw, 14px) !important;
  line-height: 1.3 !important;
  min-height: 2.6em !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla div.ultimoParrafo p.montoCuotas,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla div.ultimoParrafo p.montoCuotas,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla div.ultimoParrafo p.montoCuotas,
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .montoCuotasProducto,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .montoCuotasProducto,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .montoCuotasProducto {
  font-size: clamp(16px, 4.6vw, 26px) !important;
  line-height: 1.1 !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla p.cadenaCuotas,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla p.cadenaCuotas,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla p.cadenaCuotas,
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .labelPrecioRegular,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .labelPrecioRegular,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .labelPrecioRegular {
  font-size: 10px !important;
  line-height: 1.2 !important;
  margin: 0 0 2px 0 !important;
}

/* Variante sin promoción: "montoUnSoloPago" y precio con descuento */
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .montoUnSoloPago,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .montoUnSoloPago,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .montoUnSoloPago,
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .mostrarMetodoDescuentoPagoUno .montoCuotas,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .mostrarMetodoDescuentoPagoUno .montoCuotas,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .mostrarMetodoDescuentoPagoUno .montoCuotas {
  font-size: clamp(16px, 4.6vw, 26px) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .custom-badge-infoProducto,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .custom-badge-infoProducto,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .custom-badge-infoProducto {
  font-size: 9px !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
}

/* Empuja al fondo el bloque de precio de la variante sin promoción */
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla > div:not(.cadenaDescripcion):not(.mostrarMetodoDescuentoPagoUno):not(.ultimoParrafo),
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla > div:not(.cadenaDescripcion):not(.mostrarMetodoDescuentoPagoUno):not(.ultimoParrafo),
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla > div:not(.cadenaDescripcion):not(.mostrarMetodoDescuentoPagoUno):not(.ultimoParrafo) {
  margin-top: auto !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .custom-badge-producto,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .custom-badge-producto,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .custom-badge-producto,
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .custom-badge-producto-promocion,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .custom-badge-producto-promocion,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .custom-badge-producto-promocion {
  font-size: 9px !important;
  padding: 2px 5px !important;
  border-radius: 4px !important;
}

/* Evita que el precio con descuento salte de línea y estire la cartilla */
body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .mostrarMetodoDescuentoPagoUno,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .mostrarMetodoDescuentoPagoUno,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .mostrarMetodoDescuentoPagoUno {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  height: auto !important;
}

body.dm-responsive-preview .carousel-item-ofertas div.informacionCartilla .mostrarMetodoDescuentoPagoUno .montoCuotasProducto,
body.dm-responsive-preview .carousel-item-masvendidos div.informacionCartilla .mostrarMetodoDescuentoPagoUno .montoCuotasProducto,
body.dm-responsive-preview .carousel-item-vistos div.informacionCartilla .mostrarMetodoDescuentoPagoUno .montoCuotasProducto {
  white-space: nowrap !important;
}

/* Flechas: en móvil/táctil se navega con el dedo */
@media (max-width: 767px), (hover: none) and (pointer: coarse) {

  body.dm-responsive-preview .carousel-button-ofertas,
  body.dm-responsive-preview .carousel-button-masvendidos,
  body.dm-responsive-preview .carousel-button-vistos,
  body.dm-responsive-preview .carousel-button-nuevo-disenio {
    display: none !important;
  }
}

/* Igualar la medida de las cartillas del home con las de productos.php
   Solo móvil/tablet. En desktop se mantiene la grilla 3/4 actual. */
@media (max-width: 767px) {

  body.dm-responsive-preview .carousel-ofertas,
  body.dm-responsive-preview .carousel-masvendidos,
  body.dm-responsive-preview .carousel-vistos {
    --dm-card-w: calc((83vw - 12px) / 2);
  }
}

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

  body.dm-responsive-preview .carousel-ofertas,
  body.dm-responsive-preview .carousel-masvendidos,
  body.dm-responsive-preview .carousel-vistos {
    --dm-card-w: calc((56vw - 12px) / 2);
  }
}

@media (max-width: 991px) {

  body.dm-responsive-preview .carousel-item-ofertas,
  body.dm-responsive-preview .carousel-item-masvendidos,
  body.dm-responsive-preview .carousel-item-vistos {
    flex: 0 0 var(--dm-card-w) !important;
    max-width: var(--dm-card-w) !important;
  }

  body.dm-responsive-preview .carousel-cartilla-ofertas,
  body.dm-responsive-preview .carousel-cartilla-masvendidos,
  body.dm-responsive-preview .carousel-cartilla-vistos {
    height: calc(var(--dm-card-w) + 160px) !important;
    min-height: 0 !important;
    padding: 9px !important;
    box-sizing: border-box !important;
  }
}

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

  body.dm-responsive-preview .carousel-cartilla-ofertas,
  body.dm-responsive-preview .carousel-cartilla-masvendidos,
  body.dm-responsive-preview .carousel-cartilla-vistos {
    padding: 12px !important;
  }
}

/* =======================================================================
   5. HOME — BANNERS "NUEVO DISEÑO" Y BANDA DE TARJETAS
   ======================================================================= */

body.dm-responsive-preview .carousel-container-nuevo-disenio {
  height: auto !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

@media (max-width: 991px) {
  body.dm-responsive-preview .carousel-container-nuevo-disenio {
    width: 100% !important;
    max-width: 100% !important;
  }
}

body.dm-responsive-preview .carousel-nuevo-disenio {
  gap: 12px !important;
  padding: 4px 10px 12px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
}

body.dm-responsive-preview .carousel-item-nuevo-disenio {
  flex: 0 0 calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  padding: 0 !important;
  scroll-snap-align: start !important;
}

@media (min-width: 992px) {
  body.dm-responsive-preview .carousel-item-nuevo-disenio {
    flex: 0 0 calc(33.333% - 8px) !important;
    max-width: calc(33.333% - 8px) !important;
  }
}

@media (min-width: 1200px) {
  body.dm-responsive-preview .carousel-item-nuevo-disenio {
    flex: 0 0 calc(25% - 9px) !important;
    max-width: calc(25% - 9px) !important;
  }
}

body.dm-responsive-preview .figureNuevoDisenio {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
}

body.dm-responsive-preview .figureNuevoDisenio img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.dm-responsive-preview .texto-nuevo-disenio p {
  font-size: clamp(14px, 3.5vw, 24px) !important;
  line-height: 1.1 !important;
}

body.dm-responsive-preview .carousel-container-tarjetas {
  height: auto !important;
  padding: 0 !important;
}

@media (max-width: 991px) {
  body.dm-responsive-preview .carousel-container-tarjetas {
    width: 100% !important;
    max-width: 100% !important;
  }
}

body.dm-responsive-preview .carousel-tarjetas {
  gap: 12px !important;
  padding: 4px 10px 12px !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  -webkit-overflow-scrolling: touch !important;
}

body.dm-responsive-preview .carousel-item-tarjetas {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  scroll-snap-align: start !important;
}

@media (min-width: 768px) {
  body.dm-responsive-preview .carousel-item-tarjetas {
    flex: 0 0 calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
  }
}

@media (min-width: 992px) {
  body.dm-responsive-preview .carousel-item-tarjetas {
    flex: 0 0 calc(33.333% - 8px) !important;
    max-width: calc(33.333% - 8px) !important;
  }
}

body.dm-responsive-preview .figureTarjetas {
  height: auto !important;
  aspect-ratio: 16 / 7 !important;
}

body.dm-responsive-preview .figureTarjetas img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

/* =======================================================================
   6. PDP (FICHA DE PRODUCTO)
   ======================================================================= */

body.dm-responsive-preview .infoproducto {
  overflow-x: hidden !important;
}

body.dm-responsive-preview .infoproducto figure.visor img {
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

body.dm-responsive-preview .contenedor-imagenes {
  width: 100% !important;
  max-width: 100% !important;
}

@media (max-width: 767px) {

  body.dm-responsive-preview div.cartillaInfoProducto div.cadenaDescripcion h1 {
    font-size: 19px !important;
    line-height: 1.25 !important;
  }

  body.dm-responsive-preview div.cartillaInfoProducto div.ultimoParrafo p.cadenaCuotas {
    font-size: 14px !important;
  }

  body.dm-responsive-preview div.cartillaInfoProducto div.ultimoParrafo p.montoCuotas {
    font-size: 22px !important;
  }

  body.dm-responsive-preview .infoproducto .montoCuotasProducto,
  body.dm-responsive-preview .infoproducto .montoUnSoloPago {
    font-size: 24px !important;
  }
}

/* Controles táctiles de cantidad y compra */
body.dm-responsive-preview .qty-btn {
  min-width: 44px !important;
  min-height: 44px !important;
  font-size: 18px !important;
}

body.dm-responsive-preview .qty-input {
  min-height: 44px !important;
  font-size: 16px !important;
}

body.dm-responsive-preview .btn-whatsapp-comprar {
  min-height: 48px !important;
  padding: 12px 18px !important;
}

body.dm-responsive-preview .whatsapp-icon-btn {
  min-width: 44px !important;
  min-height: 44px !important;
}

body.dm-responsive-preview .medios-pago-accordion .mp-header {
  min-height: 48px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

/* Variantes: colores y talles con área táctil mínima */
body.dm-responsive-preview .pdp-swatch-color {
  min-width: 48px !important;
  min-height: 48px !important;
}

body.dm-responsive-preview .pdp-pill-talle,
body.dm-responsive-preview .pdp-link-guia-talles {
  min-height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 12px !important;
}

body.dm-responsive-preview .icon-card {
  min-height: 44px !important;
}

/* Productos sugeridos del PDP */
body.dm-responsive-preview .productos-sugeridos-container .card-sugerido a {
  min-height: 44px;
}

/* =======================================================================
   7. LISTADO / BUSCADOR — SCROLL INFINITO EN MÓVIL/TABLET
   ======================================================================= */

@media (max-width: 991px) {
  body.dm-responsive-preview #productos-contenedor .pagination {
    display: none !important;
  }
}

body.dm-responsive-preview .dm-preview-scroll-sentinel {
  height: 1px;
  width: 100%;
}

body.dm-responsive-preview .dm-preview-load-status {
  display: none;
  margin: 14px auto 24px;
  padding: 12px 16px;
  width: 100%;
  max-width: 420px;
  text-align: center;
  font-size: 13px;
  font-weight: 600;
  color: #475569;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 10px;
}

body.dm-responsive-preview .dm-preview-load-status i {
  color: #344488;
  margin-right: 6px;
}

body.dm-responsive-preview .dm-preview-retry {
  margin-left: 6px;
  border: none;
  background: #344488;
  color: #ffffff;
  font-size: 12px;
  font-weight: 700;
  padding: 8px 14px;
  border-radius: 8px;
  cursor: pointer;
}
