/* SOCIOS PRO V1.9.3 — hotfix visual layer */
:root{--ec-hotfix-accent:#0ea79b;--ec-hotfix-ink:#18343c;--ec-hotfix-soft:#e6f7f4}

/* Badge inside the cart circle, centered above the icon without escaping the button */
html body .cartIconFixed.ec-cart-button>span,
html body .cartIconFixed>span{
  top:3px!important;
  right:3px!important;
  left:auto!important;
  bottom:auto!important;
  transform:none!important;
  min-width:18px!important;
  height:18px!important;
  padding:0 4px!important;
  border-width:1.5px!important;
  font-size:10px!important;
  z-index:2!important;
}
html body .cartIconFixed.ec-cart-button::before{margin-top:6px!important}

/* Public listing styling is restricted to the home page, never product details. */
html.ec-public-home body .ec-centered-categories{
 display:flex!important;flex-wrap:wrap!important;justify-content:center!important;
 align-items:center!important;gap:12px!important;max-width:100%!important;
}
html.ec-public-home body .ec-centered-categories>*{flex:0 0 auto!important}
/* Best-seller carousel: only on home, with a local scroll container. */
html.ec-public-home body .ec-best-seller-carousel{max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x proximity!important}
html.ec-public-home body .ec-best-seller-carousel .swiper-wrapper{
 display:flex!important;flex-wrap:nowrap!important;gap:16px!important;align-items:stretch!important;
 overflow-x:auto!important;overflow-y:hidden!important;transform:none!important;max-height:none!important;
}
html.ec-public-home body .ec-best-seller-carousel .swiper-wrapper > .ec-best-seller-slide{
 flex:0 0 min(31%,340px)!important;min-width:0!important;width:min(31%,340px)!important;max-width:min(31%,340px)!important;
 margin:0!important;height:auto!important;scroll-snap-align:start!important;
}
@media(max-width:850px){html.ec-public-home body .ec-best-seller-carousel .swiper-wrapper>.ec-best-seller-slide{flex-basis:46%!important;width:46%!important;max-width:46%!important}}
@media(max-width:520px){html.ec-public-home body .ec-best-seller-carousel .swiper-wrapper>.ec-best-seller-slide{flex-basis:82%!important;width:82%!important;max-width:82%!important}}
/* Uniform cards and full product names only in featured home carousel. */
html.ec-public-home body .ec-best-seller-carousel .ec-best-seller-slide :is(.cardProdcutmasVendido,.cardProduct){display:flex!important;flex-direction:column!important;height:100%!important}
html.ec-public-home body .ec-best-seller-carousel .ec-best-seller-slide :is(.cardText h4,.cardText h3){
 white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
 display:block!important;min-height:0!important;line-height:1.4!important;
}

/* Hide decorative magnifying glass / background art */
html.ec-admin-active body .ec-hide-background-decor{
  display:none!important;
}

/* Active admin menu must remain selected in light mode */
html.ec-admin-active body .navbarDashboard a.ec-route-active,
html.ec-admin-active body .navbarDashboard button.ec-route-active,
html[data-theme="light"].ec-admin-active body .navbarDashboard a.ec-route-active,
html[data-theme="light"].ec-admin-active body .navbarDashboard button.ec-route-active{
  background:var(--ec-hotfix-soft)!important;
  color:var(--ec-hotfix-ink)!important;
  border:1px solid rgba(14,167,155,.28)!important;
  box-shadow:inset 0 0 0 1px rgba(14,167,155,.14)!important;
}
html[data-theme="dark"].ec-admin-active body .navbarDashboard a.ec-route-active,
html[data-theme="dark"].ec-admin-active body .navbarDashboard button.ec-route-active{
  background:#1f3f46!important;
  color:#eefafb!important;
  border:1px solid rgba(122,231,220,.28)!important;
}

/* Center and contain Domingo / Festivo labels in admin and public agendas */
.ec-domingo-festivo,
.ec-domingo-festivo *{
  text-align:center!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.ec-domingo-festivo{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
}

/* Lunch controls injected into professional schedule editor */
.ec-lunch-block{
  margin-top:14px!important;
  padding-top:12px!important;
  border-top:1px dashed rgba(8,122,112,.35)!important;
  display:grid!important;
  gap:10px!important;
}
.ec-lunch-toggle{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  font-weight:700!important;
  color:inherit!important;
}
.ec-lunch-fields{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px!important;
}
.ec-lunch-field{
  display:grid!important;
  gap:6px!important;
}
.ec-lunch-field input[type="time"]{
  width:100%!important;
  max-width:100%!important;
  min-height:42px!important;
  border-radius:12px!important;
  padding:10px 12px!important;
  border:1px solid rgba(8,122,112,.26)!important;
  background:#fff!important;
}
.ec-lunch-help{font-size:12px!important;line-height:1.4!important;opacity:.85!important}
.ec-lunch-saving{font-size:12px!important;line-height:1.4!important;min-height:1.3em!important}
.ec-lunch-saving[data-state="ok"]{color:#0f7d44!important}
.ec-lunch-saving[data-state="error"]{color:#a12335!important}
.ec-lunch-saving[data-state="busy"]{color:#0e6b92!important}
@media(max-width:720px){.ec-lunch-fields{grid-template-columns:1fr!important}}

/* Hidden lunch slots on public booking UI */
.ec-lunch-hidden{display:none!important}
