/* SEXY LOCURAS — parche v3: desplazamiento lateral del DOCUMENTO.
   Instalación: únicamente la página principal (index.php).
   Conservar navegación vertical, zoom accesible y carruseles horizontales.
   NO usar touch-action:pan-y en el cuerpo: impediría el swipe de carruseles.
*/

@media screen and (max-width:1023px){
  /* El viewport no se puede mover lateralmente por contenido excedente.
     hidden es fallback; clip no introduce un contenedor de scroll nuevo. */
  html,html body.sl-home {
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0;
    padding-right:0;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overscroll-behavior-x:none;
  }
  @supports (overflow:clip){
    html,html body.sl-home {overflow-x:clip!important;}
  }
  html body.sl-home {position:relative;box-sizing:border-box;}

  /* Los contenedores deben distribuirse en el ancho disponible,
     en lugar de arrastrar toda la página cuando un hijo es muy grande. */
  html body.sl-home > header,
  html body.sl-home > main,
  html body.sl-home > footer,
  html body.sl-home > .sl-rm-navigation,
  html body.sl-home main,
  html body.sl-home .sl-carousel,
  html body.sl-home .sl-slides,
  html body.sl-home .sl-slide,
  html body.sl-home .sl-ref-hero,
  html body.sl-home .sl-featured,
  html body.sl-home .sl-shopping-guide {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
  }

  /* El exceso de un elemento decorativo no amplía el documento. */
  html body.sl-home > header,
  html body.sl-home > main,
  html body.sl-home > footer,
  html body.sl-home .sl-carousel,
  html body.sl-home .sl-slides,
  html body.sl-home .sl-slide,
  html body.sl-home .sl-featured,
  html body.sl-home .sl-shopping-guide {
    overflow-x:clip;
  }

  html body.sl-home .sl-ref-hero .sl-ref-image,
  html body.sl-home .sl-photo-slide .sl-slide-bg {
    max-width:100%!important;
  }
  html body.sl-home .sl-photo-slide .sl-slide-copy,
  html body.sl-home .sl-mobile-hero {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body.sl-home .sl-featured .wrap,
  html body.sl-home .sl-shopping-guide .wrap,
  html body.sl-home .sl-guide-grid {
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
  }

  /* Intencionadamente NO se bloquea el scroll horizontal de las
     colecciones: debe desplazarse el carrusel, no la página. */
  html body.sl-home .sl-ref-categories {
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }

  /* Las tarjetas de productos no deben imponer un ancho a la página.
     No se fuerzan tamaños a los sliders que maneja el JS existente. */
  html body.sl-home .sl-featured .product-grid,
  html body.sl-home .sl-featured .product-card,
  html body.sl-home .sl-featured .product-body,
  html body.sl-home .sl-guide-grid article {
    min-width:0!important;
    max-width:100%;
  }
}
