/* SOCIOS PRO V1.9.8 — contador dentro del carrito y etiquetas horarias visibles.
   No modifica estilos de portada, tarjetas de productos ni lógica de reservas. */
html body .cartIconFixed.ec-cart-button {
  isolation:isolate!important;
  overflow:hidden!important;
  position:fixed!important;
  box-sizing:border-box!important;
}
/* Colocar el carrito un poco más abajo, dejando sitio interior al contador. */
html body .cartIconFixed.ec-cart-button::before {
  position:absolute!important;
  left:50%!important;
  top:57%!important;
  right:auto!important;
  bottom:auto!important;
  width:23px!important;
  height:23px!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  z-index:1!important;
}
/* Estilo de reserva, por si JavaScript todavía no creó el contador persistente. */
html body .cartIconFixed.ec-cart-button > span:not(.ec-cart-quantity) {
  position:absolute!important;
  top:2px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:18px!important;
  max-width:32px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0 4px!important;
  border:1px solid #fff!important;
  border-radius:99px!important;
  background:#152d35!important;
  color:#fff!important;
  font:700 11px/1 system-ui,sans-serif!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  visibility:visible!important;
  opacity:1!important;
  z-index:4!important;
  pointer-events:none!important;
}
/* El atributo del contador sobrevive los redibujos internos de React. */
html body .cartIconFixed.ec-cart-button.ec-cart-has-items > span:not(.ec-cart-quantity){
  visibility:hidden!important;
}
html body .cartIconFixed.ec-cart-button.ec-cart-has-items::after {
  content:attr(data-ec-cart-count)!important;
  position:absolute!important;
  top:2px!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  transform:translateX(-50%)!important;
  width:auto!important;
  min-width:18px!important;
  max-width:32px!important;
  height:18px!important;
  min-height:18px!important;
  padding:0 4px!important;
  border:1px solid #fff!important;
  border-radius:99px!important;
  background:#152d35!important;
  color:#fff!important;
  font:700 11px/1 system-ui,sans-serif!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  z-index:5!important;
  pointer-events:none!important;
}

/* El formato largo 8:00 a. m. — 6:00 p. m. se adapta a ambos temas. */
html body .modal-horarios .horarioItem,
html body .modal-horarios .horarioHoras {
  min-width:0!important;
  box-sizing:border-box!important;
}
html body .modal-horarios .horarioHoras {
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px 10px!important;
  max-width:100%!important;
  text-align:right!important;
}
html body .modal-horarios .horarioHoras span {
  display:inline-block!important;
  white-space:normal!important;
  max-width:100%!important;
  overflow:visible!important;
  overflow-wrap:normal!important;
  line-height:1.45!important;
  text-overflow:clip!important;
  font-variant-numeric:tabular-nums!important;
}
html body .flexGrapHoras button[data-ec-hour] {
  white-space:normal!important;
  word-break:normal!important;
  min-width:0!important;
  min-height:48px!important;
  height:auto!important;
  padding:10px 12px!important;
  line-height:1.35!important;
  overflow:visible!important;
  text-overflow:clip!important;
  text-align:center!important;
}
@media(max-width:600px){
  html body .modal-horarios .horarioItem {align-items:flex-start!important;gap:7px!important;}
  html body .modal-horarios .horarioHoras {
    width:100%!important;
    justify-content:flex-start!important;
    text-align:left!important;
    font-size:14px!important;
  }
}
