/* SOCIOS PRO V1.9.10 — Tarjetas de productos/servicios en Inicio.
 * Todos los tamaños y orientaciones: foto íntegra, texto justificado y altura uniforme.
 * NO modifica Más vendidos, detalle de producto, reservas ni dashboard. */

/* La foto se encaja completamente en su espacio, sin cortar bordes. */
html.ec-public-home body .ProductsContain .categoriSection #SwiperSlide-scroll-products a.cardProdcut > img,
html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > img,
html.ec-public-home body .ProductsContain .categoriSectionSelected a.cardProdcutSelected > img {
  object-fit:contain!important;
  object-position:center center!important;
  background-color:var(--gris2,#f1f5f7)!important;
  box-sizing:border-box!important;
  min-height:0!important;
  max-height:none!important;
  align-self:stretch!important;
  padding:0!important;
}

/* La altura común se calcula según el contenido real y se ajusta al dispositivo. */
html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) #SwiperSlide-scroll-products a.cardProdcut,
html.ec-public-home body .ProductsContain .categoriSectionSelected a.cardProdcutSelected {
  min-height:var(--ec-card-height-v1910,220px)!important;
  max-height:none!important;
  height:auto!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
  align-items:stretch!important;
}

/* Texto libre: ni puntos suspensivos ni cortes en título o descripción. */
html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText,
html.ec-public-home body .ProductsContain .categoriSectionSelected a.cardProdcutSelected .cardTextSelected {
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText h4,
html.ec-public-home body .ProductsContain .categoriSectionSelected a.cardProdcutSelected .cardTextSelected h4 {
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  max-width:100%!important;
  width:auto!important;
  max-height:none!important;
  height:auto!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  line-height:1.32!important;
}
html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText > span,
html.ec-public-home body .ProductsContain .categoriSectionSelected a.cardProdcutSelected .cardTextSelected > span {
  display:block!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
  -webkit-line-clamp:unset!important;
  line-clamp:unset!important;
  max-width:100%!important;
  width:100%!important;
  max-height:none!important;
  height:auto!important;
  text-align:justify!important;
  text-align-last:left!important;
  hyphens:auto!important;
  -webkit-hyphens:auto!important;
  line-height:1.43!important;
}
html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText .deFLexPrice,
html.ec-public-home body .ProductsContain .categoriSectionSelected a.cardProdcutSelected .cardTextSelected .deFLexPrice {
  margin-top:auto!important;
  min-width:0!important;
  flex-shrink:0!important;
  padding-top:8px!important;
}

/* En formatos no cubiertos por versiones anteriores, conservar las tarjetas horizontales. */
@media (max-width:899px) and (orientation:landscape){
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) #swiper_container_products{
    width:100%!important; max-width:100%!important; box-sizing:border-box!important;
    overflow:hidden!important; padding:0 10px 12px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) .swiper-wrapper:has(> #SwiperSlide-scroll-products){
    display:flex!important; flex-flow:row nowrap!important; align-items:stretch!important;
    gap:14px!important; height:auto!important; box-sizing:border-box!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) .swiper-wrapper > #SwiperSlide-scroll-products{
    flex:0 0 calc((100% - 14px)/2)!important; width:calc((100% - 14px)/2)!important;
    max-width:calc((100% - 14px)/2)!important; height:auto!important; display:flex!important;
    margin:0!important; box-sizing:border-box!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut{
    display:flex!important; flex-direction:row!important; align-items:stretch!important;
    width:100%!important; max-width:100%!important; min-width:0!important;
    padding:9px!important; border-radius:16px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > img{
    flex:0 0 33%!important; width:33%!important; max-width:33%!important; height:auto!important;
    border-radius:12px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > .cardText{
    flex:1 1 67%!important; width:auto!important; max-width:67%!important;
  }
  html.ec-public-home body .ProductsContain .categoriSectionSelected{
    display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
    align-items:stretch!important; gap:14px!important;
  }
}
/* Un PC en ventana vertical debe conservar sus tres tarjetas por fila. */
@media (min-width:1025px) and (orientation:portrait){
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) .swiper-wrapper:has(> #SwiperSlide-scroll-products){
    display:flex!important; flex-flow:row nowrap!important; align-items:stretch!important;
    gap:18px!important; height:auto!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection:has(a.cardProdcut) .swiper-wrapper > #SwiperSlide-scroll-products{
    display:flex!important; flex:0 0 calc((100% - 36px)/3)!important; width:calc((100% - 36px)/3)!important;
    max-width:calc((100% - 36px)/3)!important; height:auto!important; margin:0!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut{
    display:flex!important; flex-direction:row!important; align-items:stretch!important;
    width:100%!important; min-width:0!important; padding:10px!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > img{
    flex:0 0 35%!important; width:35%!important; max-width:35%!important; height:auto!important;
  }
  html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut > .cardText{
    flex:1 1 65%!important; max-width:65%!important; min-width:0!important;
  }
}
