/* SOCIOS PRO v1.9.9 — SOLO PRESENTACION VERTICAL (CELULAR / TABLET).
   No cambia carrusel de Más vendidos, fichas individuales, administración ni reservas. */
@media (max-width:1024px) and (orientation:portrait){
  /* Los accesos de WhatsApp y Carrito ya están disponibles en la barra inferior.
     No ocultar la barra, modales ni los botones dentro del carrito. */
  html body:has(nav.mobile-nav) button.btnWhatsapp,
  html body:has(nav.mobile-nav) button.cartIconFixed {
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Carrusel normal de cada categoría en Inicio, no el de Más vendidos. */
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) #swiper_container_products {
    box-sizing:border-box!important;
    width:100%!important; max-width:100%!important;
    min-width:0!important; overflow:hidden!important;
    padding:0 12px 16px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut)
  .swiper-wrapper:has(> #SwiperSlide-scroll-products){
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:14px!important;
    height:auto!important;
    max-height:none!important;
    padding:5px 0 12px!important;
    box-sizing:border-box!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut)
  .swiper-wrapper > #SwiperSlide-scroll-products {
    box-sizing:border-box!important;
    flex:0 0 calc(100% - 1px)!important;
    width:calc(100% - 1px)!important;
    max-width:calc(100% - 1px)!important;
    min-width:0!important;
    height:auto!important;
    display:flex!important;
    align-items:stretch!important;
    margin:0!important;
  }

  /* Mismo formato de ficha horizontal para carrusel normal y Ver más.
     Texto ilimitado: no usar ellipsis ni line-clamp. */
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardProdcutSelected {
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:stretch!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:var(--ec-portrait-card-height,220px)!important;
    margin:0!important;
    padding:9px!important;
    overflow:hidden!important;
    border:0!important;
    border-radius:18px!important;
    background:var(--blanco)!important;
    box-shadow:0 4px 14px rgba(0,0,0,.11)!important;
    text-decoration:none!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > img,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardProdcutSelected > img {
    box-sizing:border-box!important;
    flex:0 0 34%!important;
    width:34%!important;
    min-width:0!important;
    max-width:34%!important;
    height:auto!important;
    min-height:calc(var(--ec-portrait-card-height,220px) - 18px)!important;
    max-height:none!important;
    align-self:stretch!important;
    border-radius:12px!important;
    object-fit:cover!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > .cardText,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected {
    box-sizing:border-box!important;
    display:flex!important;
    flex:1 1 66%!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:auto!important;
    min-width:0!important;
    max-width:66%!important;
    height:auto!important;
    max-height:none!important;
    padding:5px 9px 6px 12px!important;
    overflow:visible!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText h4,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected h4 {
    box-sizing:border-box!important;
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    padding:0!important;
    margin:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    -webkit-line-clamp:unset!important;
    font-size:clamp(15px,3.8vw,20px)!important;
    font-weight:700!important;
    line-height:1.3!important;
    color:var(--text-color2)!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText > span,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected > span {
    box-sizing:border-box!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    text-overflow:clip!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    -webkit-line-clamp:unset!important;
    line-clamp:unset!important;
    font-size:clamp(13px,3.15vw,16px)!important;
    line-height:1.4!important;
    color:var(--text-color2)!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText .deFLexPrice,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected .deFLexPrice {
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    width:100%!important;
    min-width:0!important;
    gap:5px!important;
    margin-top:auto!important;
    padding-top:9px!important;
    padding-right:27px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText h5,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected h5 {
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    text-overflow:clip!important;
    overflow:visible!important;
    font-weight:700!important;
    line-height:1.35!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .iconCard,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardProdcutSelected .iconCard {
    left:auto!important;
    top:auto!important;
    right:12px!important;
    bottom:12px!important;
    transform:none!important;
  }
  /* Ver más y sus ítems ocupan el espacio disponible, sin truncar datos. */
  html.ec-public-home body .ProductsContain .categoriSectionSelected {
    box-sizing:border-box!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    align-items:stretch!important;
    gap:14px!important;
    padding:14px 12px 22px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSectionSelected > a {
    box-sizing:border-box!important;
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    margin:0!important;
    text-decoration:none!important;
  }
  /* Los encabezados de categoría no esconden el enlace Ver más. */
  html.ec-public-home body .ProductsContain .categoriSection .deFlexTitlesection {
    box-sizing:border-box!important;
    display:flex!important;
    align-items:flex-start!important;
    gap:8px!important;
    max-width:100%!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection .deFlexTitlesection h3 {
    flex:1 1 auto!important;
    min-width:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    line-height:1.28!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection .deFlexTitlesection button {
    flex:0 0 auto!important;
    min-width:max-content!important;
    white-space:nowrap!important;
  }
}
/* En tablet vertical hay espacio para dos tarjetas por fila. */
@media (min-width:700px) and (max-width:1024px) and (orientation:portrait){
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut)
  .swiper-wrapper > #SwiperSlide-scroll-products {
    flex-basis:calc((100% - 14px)/2)!important;
    width:calc((100% - 14px)/2)!important;
    max-width:calc((100% - 14px)/2)!important;
  }
  html.ec-public-home body .ProductsContain .categoriSectionSelected {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText h4,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected h4 {
    font-size:clamp(14px,1.9vw,18px)!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText > span,
  html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected > span {
    font-size:clamp(12px,1.6vw,15px)!important;
  }
}
/* En tablets verticales anchas el menú inferior debe seguir siendo el único
   acceso fijo a WhatsApp y Carrito; no se deja al usuario sin esos controles. */
@media (min-width:901px) and (max-width:1024px) and (orientation:portrait){
  html body nav.mobile-nav{display:flex!important}
  html.ec-public-home body .ProductsContain{padding-bottom:calc(95px + env(safe-area-inset-bottom,0px))!important}
}
