/* SEXY LOCURAS — Ajustes responsive de portada, versión 1.0 (06-11-2026).
   Se aplica únicamente a body.sl-home. No sustituye los estilos originales.
   Breakpoints: tablet <=1023px, celular <=767px.
*/
.sl-rm-navigation{display:none}

@media (max-width:1023px){
  body.sl-home{overflow-x:clip}
  body.sl-home .sl-rm-original-navigation{display:none!important}

  body.sl-home .sl-rm-navigation{
    display:block;position:relative;z-index:35;background:#090508;
    color:#fff;border-bottom:1px solid #7a2954;
    font-family:inherit
  }
  body.sl-home .sl-rm-toggle{
    width:100%;display:flex;align-items:center;gap:12px;min-height:45px;
    padding:9px 17px;margin:0;border:0;border-radius:0;background:#0b070b;
    color:#f9e9f0;font-size:14px;font-weight:650;text-align:left;cursor:pointer
  }
  body.sl-home .sl-rm-toggle:focus-visible,
  body.sl-home .sl-rm-panel a:focus-visible,
  body.sl-home .sl-rm-panel summary:focus-visible{
    outline:2px solid #ff63b1;outline-offset:-2px
  }
  body.sl-home .sl-rm-menu-icon{display:flex;flex-direction:column;gap:4px;width:18px;flex:none}
  body.sl-home .sl-rm-menu-icon span{width:100%;height:2px;background:#f41a96;border-radius:4px}
  body.sl-home .sl-rm-chevron{margin-left:auto;color:#f39bc8;font-size:21px;line-height:1}
  body.sl-home .sl-rm-toggle[aria-expanded="true"] .sl-rm-chevron{transform:rotate(180deg)}
  body.sl-home .sl-rm-panel{
    position:absolute;left:0;right:0;top:100%;max-height:min(72svh,570px);
    overflow-y:auto;overscroll-behavior:contain;background:#190b16;
    border:1px solid #7e3458;border-top:0;box-shadow:0 18px 30px #0009;
    padding:7px 12px 14px
  }
  body.sl-home .sl-rm-panel[hidden]{display:none!important}
  body.sl-home .sl-rm-panel a{
    display:block;min-height:40px;padding:10px 11px;color:#f5e9ef;
    text-decoration:none;font-size:13px;line-height:1.35
  }
  body.sl-home .sl-rm-panel .sl-rm-all{color:#fb63b3;font-weight:700;border-bottom:1px solid #6a2f52}
  body.sl-home .sl-rm-category{border-bottom:1px solid #462036}
  body.sl-home .sl-rm-category summary,
  body.sl-home .sl-rm-subcategory summary{
    list-style:none;min-height:44px;padding:12px 11px;
    display:flex;align-items:center;justify-content:space-between;
    gap:10px;font-size:14px;font-weight:700;cursor:pointer
  }
  body.sl-home .sl-rm-category summary::-webkit-details-marker,
  body.sl-home .sl-rm-subcategory summary::-webkit-details-marker{display:none}
  body.sl-home .sl-rm-category summary span,
  body.sl-home .sl-rm-subcategory summary span{color:#ef81b8}
  body.sl-home .sl-rm-category[open] > summary > span,
  body.sl-home .sl-rm-subcategory[open] > summary > span{transform:rotate(180deg)}
  body.sl-home .sl-rm-submenu{padding:0 0 6px 12px;border-left:2px solid #9b295c;margin-left:10px}
  body.sl-home .sl-rm-panel .sl-rm-all-sub{color:#f8a8c8;font-weight:700}
  body.sl-home .sl-rm-subcategory summary{font-size:13px;font-weight:550;padding-left:10px}
  body.sl-home .sl-rm-child-links{padding-left:12px;border-left:1px solid #703453}

  /* Se muestran tarjetas reales, no se reemplazan las imágenes ni los enlaces. */
  body.sl-home .sl-ref-categories{padding-left:12px!important;padding-right:12px!important;gap:9px!important}
  body.sl-home .sl-ref-tile{min-width:0}

  body.sl-home .sl-featured .section-head h2{line-height:1.07!important}
  body.sl-home .sl-shopping-guide .wrap{max-width:100%}
}

@media (min-width:768px) and (max-width:1023px){
  body.sl-home .sl-carousel,
  body.sl-home .sl-carousel .sl-slides,
  body.sl-home .sl-carousel .sl-slide{
    height:clamp(310px,43vw,440px)!important;
    min-height:0!important;max-height:440px!important;overflow:hidden
  }
  body.sl-home .sl-slide-bg{width:100%!important;height:100%!important;object-fit:cover!important}
  body.sl-home .sl-ref-hero{height:100%!important;max-height:100%!important;overflow:hidden}
  body.sl-home .sl-ref-categories{
    display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
    max-width:100%;overflow:visible!important
  }
  body.sl-home .sl-ref-tile{width:100%!important;min-height:74px!important;aspect-ratio:2.7/1!important}
  body.sl-home .sl-featured .section-head h2{font-size:clamp(23px,3vw,31px)!important}
}

@media (max-width:767px){
  /* El carrusel deja espacio para las categorías y productos en el primer scroll. */
  body.sl-home .sl-carousel,
  body.sl-home .sl-carousel .sl-slides,
  body.sl-home .sl-carousel .sl-slide{
    height:clamp(350px,106vw,440px)!important;min-height:0!important;
    max-height:440px!important;overflow:hidden
  }
  body.sl-home .sl-carousel .sl-slide[hidden]{display:none!important}
  body.sl-home .sl-ref-hero{height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden}
  body.sl-home .sl-ref-hero .sl-ref-image{
    width:100%!important;height:100%!important;object-fit:cover!important;
    object-position:63% center!important
  }
  body.sl-home .sl-ref-hero .sl-mobile-hero{
    max-width:100%!important;width:100%!important;min-height:0!important;
    padding:clamp(16px,4vw,25px)!important
  }
  body.sl-home .sl-mobile-hero h1{
    font-size:clamp(27px,7.4vw,38px)!important;line-height:1.06!important;
    margin:8px 0 10px!important;max-width:100%
  }
  body.sl-home .sl-mobile-hero p{
    font-size:clamp(12px,3.25vw,14px)!important;line-height:1.4!important;
    max-width:340px!important;margin:8px 0!important
  }
  body.sl-home .sl-mobile-hero .btn{
    font-size:clamp(11px,3vw,13px)!important;padding:10px 12px!important;
    min-height:39px!important;margin:5px 5px 5px 0!important
  }
  body.sl-home .sl-photo-slide{position:relative!important}
  body.sl-home .sl-photo-slide .sl-slide-bg{
    position:absolute!important;inset:0!important;width:100%!important;
    height:100%!important;object-fit:cover!important;object-position:58% center!important
  }
  body.sl-home .sl-photo-slide::before{
    content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(90deg,rgba(16,2,12,.76),rgba(16,2,12,.32) 70%,rgba(16,2,12,.13))
  }
  body.sl-home .sl-photo-slide .sl-slide-copy{
    position:absolute!important;z-index:2;top:48%!important;left:0!important;
    transform:translateY(-50%)!important;width:100%!important;
    max-width:95%!important;padding:16px 17px!important
  }
  body.sl-home .sl-photo-slide .sl-slide-copy h2{
    font-size:clamp(29px,8vw,41px)!important;line-height:1.03!important;
    margin:9px 0 11px!important;overflow-wrap:break-word
  }
  body.sl-home .sl-photo-slide .sl-slide-copy p{
    font-size:clamp(12px,3.3vw,14px)!important;line-height:1.43!important;
    max-width:330px!important;margin:8px 0!important
  }
  body.sl-home .sl-slide-actions{display:flex!important;gap:8px!important;flex-wrap:wrap!important;margin-top:12px!important}
  body.sl-home .sl-slide-actions .btn{
    font-size:clamp(11px,3vw,13px)!important;padding:10px 12px!important;
    min-height:39px!important;margin:0!important;max-width:100%
  }
  body.sl-home .sl-carousel-prev,
  body.sl-home .sl-carousel-next{
    width:35px!important;height:35px!important;font-size:23px!important;
    top:auto!important;bottom:11px!important;transform:none!important
  }
  body.sl-home .sl-carousel-prev{left:10px!important}
  body.sl-home .sl-carousel-next{right:10px!important}
  body.sl-home .sl-carousel-dots{bottom:13px!important;top:auto!important}
  body.sl-home .sl-carousel-pause{
    width:36px!important;height:36px!important;top:10px!important;right:10px!important;
    bottom:auto!important;font-size:13px!important
  }

  /* Colecciones: desplazamiento horizontal visible y táctil, sin deformar las imágenes. */
  body.sl-home .sl-ref-categories{
    display:flex!important;flex-wrap:nowrap!important;align-items:stretch!important;
    overflow-x:auto!important;overflow-y:hidden!important;
    gap:10px!important;padding:12px 14px 15px!important;
    max-width:100%!important;scroll-snap-type:x proximity;
    scroll-padding-left:14px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain
  }
  body.sl-home .sl-ref-tile{
    flex:0 0 clamp(142px,42vw,178px)!important;width:clamp(142px,42vw,178px)!important;
    min-width:142px!important;min-height:66px!important;height:auto!important;
    aspect-ratio:2.42/1!important;scroll-snap-align:start
  }

  /* Destacados: títulos y controles más compactos sin perder el carrito. */
  body.sl-home .sl-featured{padding-top:17px!important;padding-bottom:22px!important}
  body.sl-home .sl-featured .wrap{width:calc(100% - 24px)!important;max-width:100%!important}
  body.sl-home .sl-featured .section-head{
    display:flex!important;align-items:flex-start!important;flex-wrap:wrap!important;
    gap:7px!important;margin-bottom:12px!important
  }
  body.sl-home .sl-featured .section-head > div{flex:1 1 100%;min-width:0}
  body.sl-home .sl-featured .section-head h2{
    font-size:clamp(23px,6vw,29px)!important;letter-spacing:-.02em!important;
    margin:0 0 5px!important
  }
  body.sl-home .sl-featured .section-head p{
    font-size:12px!important;line-height:1.35!important;margin:0!important
  }
  body.sl-home .sl-featured .section-head > a{
    font-size:12px!important;white-space:normal!important;min-height:28px!important;
    display:inline-flex;align-items:center
  }
  body.sl-home .sl-featured .product-card{
    min-width:0!important;min-height:0!important;
    display:flex!important;flex-direction:column!important;overflow:hidden!important
  }
  body.sl-home .sl-featured .product-card .product-photo{
    display:block!important;width:100%!important;height:clamp(112px,32vw,160px)!important;
    min-height:0!important;flex:0 0 auto!important;overflow:hidden
  }
  body.sl-home .sl-featured .product-card .product-photo img{
    width:100%!important;height:100%!important;object-fit:contain!important
  }
  body.sl-home .sl-featured .product-body{
    padding:9px 10px!important;gap:5px!important;min-height:82px!important
  }
  body.sl-home .sl-featured .product-title{
    font-size:12px!important;line-height:1.35!important;min-height:0!important;
    overflow-wrap:anywhere
  }
  body.sl-home .sl-featured .price{margin:0!important;min-height:0!important}
  body.sl-home .sl-featured button:not(.add-cart-btn){max-width:44px;max-height:44px}
  body.sl-home .sl-featured .add-cart-btn{min-width:34px;min-height:34px}

  /* Guía de compra sin huecos extensos. */
  body.sl-home .sl-shopping-guide{padding:23px 0!important}
  body.sl-home .sl-shopping-guide .wrap{width:calc(100% - 24px)!important}
  body.sl-home .sl-guide-heading{margin-bottom:13px!important}
  body.sl-home .sl-guide-heading h2{
    font-size:clamp(25px,7vw,36px)!important;line-height:1.1!important;
    margin:5px 0!important
  }
  body.sl-home .sl-guide-heading > p{font-size:13px!important;line-height:1.4!important}
  body.sl-home .sl-guide-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
  body.sl-home .sl-guide-grid article{
    min-height:0!important;padding:13px 14px!important;gap:12px!important
  }
  body.sl-home .sl-guide-grid article h3{font-size:17px!important;margin:3px 0!important}
}

@media (max-width:360px){
  body.sl-home .sl-carousel,
  body.sl-home .sl-carousel .sl-slides,
  body.sl-home .sl-carousel .sl-slide{height:365px!important}
  body.sl-home .sl-photo-slide .sl-slide-copy h2{font-size:27px!important}
  body.sl-home .sl-mobile-hero h1{font-size:27px!important}
}

@media (prefers-reduced-motion:reduce){
  body.sl-home .sl-rm-navigation *,
  body.sl-home .sl-ref-categories{scroll-behavior:auto!important;transition:none!important}
}


/* v2 — Interfaz de acceso por edad (sólo cuando el script detecta el formulario).
   No cambia su validación, no oculta el control y no bloquea el zoom del navegador.
   Detecta únicamente el panel por su título, preservando los estados de visibilidad originales. */
@media (max-width:1023px){
  body.sl-home {
    max-width:100%; min-width:0; width:100%;
    overflow-wrap:normal;
  }
  body.sl-home .sl-responsive-age-overlay {
    inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;
    position:fixed!important;box-sizing:border-box!important;
    width:100%!important;max-width:100vw!important;min-width:0!important;
    min-height:100svh!important;height:100dvh!important;max-height:100dvh!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    padding:max(10px,env(safe-area-inset-top)) 12px max(10px,env(safe-area-inset-bottom))!important;
    overscroll-behavior:contain;
  }
  body.sl-home .sl-responsive-age-panel {
    box-sizing:border-box!important;
    position:relative!important;inset:auto!important;left:auto!important;top:auto!important;
    transform:none!important;min-width:0!important;
    width:100%!important;max-width:420px!important;
    max-height:calc(100dvh - 24px)!important;min-height:0!important;
    margin:auto!important;padding:clamp(14px,4vw,24px)!important;
    overflow-x:hidden!important;overflow-y:auto!important;
    overscroll-behavior:contain;
  }
  body.sl-home .sl-responsive-age-panel,
  body.sl-home .sl-responsive-age-panel * {box-sizing:border-box;max-inline-size:100%}
  body.sl-home .sl-responsive-age-panel h1,
  body.sl-home .sl-responsive-age-panel h2 {
    font-size:clamp(19px,5.1vw,26px)!important;line-height:1.15!important;
    overflow-wrap:break-word;margin-top:0!important;
  }
  body.sl-home .sl-responsive-age-panel p {
    font-size:clamp(12px,3.35vw,14px)!important;line-height:1.43!important;
    overflow-wrap:break-word;
  }
  body.sl-home .sl-responsive-age-panel img {
    display:block;height:auto!important;max-height:75px!important;max-width:min(80%,210px)!important;
    object-fit:contain;
  }
  body.sl-home .sl-responsive-age-panel form {
    width:100%;min-width:0;max-width:100%;
  }
  body.sl-home .sl-responsive-age-panel label {min-width:0!important;overflow-wrap:break-word}
  body.sl-home .sl-responsive-age-panel input,
  body.sl-home .sl-responsive-age-panel select {
    box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
    font-size:16px!important;min-height:42px;
  }
  body.sl-home .sl-responsive-age-panel button[type=submit],
  body.sl-home .sl-responsive-age-panel form button {
    width:100%!important;max-width:100%!important;min-height:44px!important;
    white-space:normal!important;overflow-wrap:break-word;
  }
  body.sl-home .sl-responsive-age-fields {
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
    align-items:end;gap:8px!important;width:100%!important;
  }
  body.sl-home .sl-responsive-age-fields > * {min-width:0!important;width:100%!important}
}
@media (max-width:359px){
  body.sl-home .sl-responsive-age-fields {gap:5px!important}
  body.sl-home .sl-responsive-age-panel {padding:12px!important}
}
@media (max-width:1023px) and (max-height:520px){
  body.sl-home .sl-responsive-age-overlay {
    padding:6px 12px!important;
  }
  body.sl-home .sl-responsive-age-panel {
    max-height:calc(100dvh - 12px)!important;padding:10px 14px!important;
  }
  body.sl-home .sl-responsive-age-panel img {max-height:45px!important}
  body.sl-home .sl-responsive-age-panel h1,
  body.sl-home .sl-responsive-age-panel h2 {font-size:19px!important;margin-bottom:6px!important}
  body.sl-home .sl-responsive-age-panel p {margin:5px 0!important}
}
