/* SOCIOS PRO V1.9.5 — specific repairs, no global card/input resets */
:root{--ec-primary-action:#007970;--ec-primary-on-action:#ffffff}

/* Never show the obsolete injected lunch controls. The replacement lives IN each day card. */
.ec-lunch-block{display:none!important}

/* No oversized decorative search art on administrative pages. Keep normal search icons. */
html.ec-admin-active .HeaderDashContain :is(svg[data-icon="magnifying-glass"],svg[data-icon="search"],svg.fa-search){
  position:static!important;inset:auto!important;transform:none!important;
  width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important;
  max-width:21px!important;max-height:21px!important;flex:0 0 21px!important;
}
html.ec-admin-active .ec-background-symbol{display:none!important}

/* Cart quantity inside the round control (not beyond its edge). */
html body .cartIconFixed{
  position:fixed!important;overflow:hidden!important;isolation:isolate!important;
}
html body .cartIconFixed>span,
html body .cartIconFixed.ec-cart-button>span{
  position:absolute!important;inset:3px 3px auto auto!important;top:3px!important;right:3px!important;
  left:auto!important;bottom:auto!important;transform:none!important;
  width:auto!important;min-width:17px!important;height:17px!important;min-height:17px!important;
  max-width:30px!important;padding:0 3px!important;
  font:700 10px/1 system-ui,sans-serif!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  border:1px solid rgba(255,255,255,.85)!important;border-radius:99px!important;
  color:white!important;background:#132a34!important;z-index:3!important;
}
html body .cartIconFixed.ec-cart-button::before{margin:7px 0 0!important;transform:none!important}

/* Category filter: centered when it fits; horizontally scrollable in portrait devices. */
html.ec-public-home body .ProductsContain>.categoriasInputs{
 display:flex!important;justify-content:safe center!important;align-items:center!important;
 column-gap:12px!important;row-gap:10px!important;box-sizing:border-box!important;
 overflow-x:auto!important;max-width:100%!important;width:100%!important;
 scrollbar-width:thin!important;padding:10px 12px!important;
}
html.ec-public-home body .ProductsContain>.categoriasInputs input[type=button]{
 width:auto!important;max-width:none!important;flex:0 0 auto!important;
 white-space:nowrap!important;margin:0!important;
}
@media(max-width:899px), (orientation:portrait) and (max-width:1024px){
 html.ec-public-home body .ProductsContain>.categoriasInputs{justify-content:flex-start!important}
}

/* Featured / most sold products are displayed above the filters in their own carousel. */
#ec-home-featured{width:100%;max-width:100%;padding:18px clamp(12px,3.5vw,44px) 20px;
 box-sizing:border-box;position:relative;display:none;min-width:0}
html.ec-public-home #ec-home-featured.ec-visible{display:block}
#ec-home-featured .ec-featured-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px}
#ec-home-featured h2{font-size:clamp(18px,2vw,24px);font-weight:750;line-height:1.3;color:var(--text-color2,#18343c);margin:0}
#ec-home-featured .ec-featured-arrows{display:flex;gap:8px}
#ec-home-featured .ec-featured-arrows button{width:38px;height:38px;padding:0;display:grid;place-items:center;
 border:1px solid #c7d9da;border-radius:50%;background:var(--ec-primary-action,#007970);color:var(--ec-primary-on-action,#fff);font-size:22px;cursor:pointer}
#ec-home-featured .ec-featured-rail{display:flex;flex-wrap:nowrap;gap:18px;align-items:stretch;
 overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;
 scrollbar-width:thin;padding:4px 3px 16px;max-width:100%;min-width:0}
#ec-home-featured .ec-featured-card{position:relative;flex:0 0 calc((100% - 36px)/3);
 min-width:0;max-width:calc((100% - 36px)/3);display:flex;flex-direction:column;
 background:var(--ec-surface,#fff);border-radius:14px;overflow:hidden;
 box-shadow:0 5px 17px #001e2019;scroll-snap-align:start;text-decoration:none!important;
 color:var(--ec-ink,#163540);align-self:stretch}
#ec-home-featured .ec-featured-card img{width:100%;height:180px;object-fit:cover;display:block}
#ec-home-featured .ec-featured-meta{display:flex;flex-direction:column;gap:8px;padding:14px;flex:1;min-width:0}
#ec-home-featured .ec-featured-card h3{margin:0;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;
 word-break:normal;overflow-wrap:anywhere;font:750 clamp(15px,1.3vw,18px)/1.4 system-ui,sans-serif;
 color:inherit!important;min-height:3.9em}
#ec-home-featured .ec-featured-description{font-size:13px;line-height:1.5;opacity:.85;flex:1;
 display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
#ec-home-featured .ec-featured-price{font-weight:800;font-size:15px;color:inherit;white-space:nowrap}
#ec-home-featured .ec-featured-badge{position:absolute;top:9px;left:9px;border-radius:8px;
 background:var(--ec-primary-action,#007970);color:var(--ec-primary-on-action,#fff);padding:5px 9px;
 font-size:12px;line-height:1.3;font-weight:750;z-index:1}
html.ec-public-home:has(#ec-home-featured.ec-visible) body .ProductsContain .categoriSection:has(.cardProdcutmasVendido){display:none!important}
@media(max-width:1024px){#ec-home-featured .ec-featured-card{flex-basis:calc((100% - 18px)/2);max-width:calc((100% - 18px)/2)}}
@media(max-width:650px){#ec-home-featured .ec-featured-card{flex-basis:min(84vw,310px);max-width:min(84vw,310px)}
 #ec-home-featured{padding:14px 12px 16px}#ec-home-featured .ec-featured-card img{height:150px}}

/* "Ver más" category results: 3 per line on PC and landscape tablet. */
@media (min-width:1025px), (min-width:900px) and (orientation:landscape){
 html.ec-public-home body .ProductsContain .categoriSectionSelected{
   display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
   gap:18px!important;align-content:start!important;justify-content:stretch!important;
   max-width:100%!important;padding:22px clamp(15px,2.5vw,44px)!important;
 }
 html.ec-public-home body .ProductsContain .categoriSectionSelected > a{
   display:block!important;width:100%!important;max-width:none!important;min-width:0!important;
   margin:0!important;box-sizing:border-box!important;
 }
 html.ec-public-home body .ProductsContain .categoriSectionSelected .cardProdcutSelected{
   display:flex!important;align-items:stretch!important;width:100%!important;max-width:100%!important;
   min-width:0!important;height:100%!important;min-height:150px!important;
 }
 html.ec-public-home body .ProductsContain .categoriSectionSelected .cardProdcutSelected img{
   width:37%!important;max-width:37%!important;flex:0 0 37%!important;object-fit:cover!important;
 }
 html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected{
   flex:1 1 auto!important;min-width:0!important;padding:12px!important;
 }
 html.ec-public-home body .ProductsContain .categoriSectionSelected .cardTextSelected h4{
   font-size:clamp(14px,1.2vw,18px)!important;line-height:1.35!important;
   white-space:normal!important;text-overflow:clip!important;overflow:visible!important;
   display:block!important;max-height:none!important;word-break:normal!important;overflow-wrap:anywhere!important;
 }
}

/* The 'Produto(s) y/o Servicio(s)' sidebar entry may span two lines when expanded. */
html.ec-admin-active .navbarDashboard.ec-sidebar-open a[href$="/dashboard/productos"]{
 white-space:normal!important;min-height:54px!important;align-items:center!important;
 overflow:visible!important;line-height:1.3!important;
}

/* Professional schedule: exactly seven day cards with optional lunch INSIDE each active card. */
html.ec-admin-active .servicios-config-container .days-grid{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 align-items:stretch!important;gap:14px!important;width:100%!important;max-width:100%!important;
}
html.ec-admin-active .servicios-config-container .day-item-card{
 width:100%!important;min-width:0!important;max-width:100%!important;
 height:auto!important;min-height:100px!important;overflow:visible!important;
 box-sizing:border-box!important;display:flex!important;flex-direction:column!important;gap:10px!important;
 padding:15px!important;
}
html.ec-admin-active .servicios-config-container .day-checkbox-label{
 display:flex!important;gap:9px!important;align-items:center!important;justify-content:flex-start!important;
 white-space:normal!important;line-height:1.35!important;font-weight:700!important;
}
html.ec-admin-active .servicios-config-container .day-checkbox-label span{
 overflow-wrap:anywhere!important;white-space:normal!important;text-align:left!important;
}
html.ec-admin-active .servicios-config-container .day-config-content{
 width:100%!important;max-width:100%!important;min-width:0!important;display:flex!important;flex-direction:column!important;gap:8px!important;
}
html.ec-admin-active .servicios-config-container .time-group{min-width:0!important}
html.ec-admin-active .servicios-config-container .slots-container{min-width:0!important;max-width:100%!important}
html.ec-admin-active .servicios-config-container .slots-wrapper{
 display:flex!important;flex-wrap:wrap!important;gap:6px!important;max-width:100%!important;
}
html.ec-admin-active .servicios-config-container .slot-pill{
 font-size:12px!important;padding:7px 10px!important;white-space:normal!important;line-height:1.25!important;
}
.ec-lunch-day-v195{display:flex;flex-direction:column;gap:9px;margin:12px 0 0;padding:12px 0 2px;
 border-top:1px dashed #b4d4ce;width:100%;min-width:0}
.ec-lunch-day-v195 .ec-lunch-check{display:flex!important;gap:8px;align-items:flex-start;justify-content:flex-start;
 font-size:13px;font-weight:700;line-height:1.3;white-space:normal!important;overflow-wrap:anywhere}
.ec-lunch-day-v195 .ec-lunch-check input{margin:2px 0 0!important;flex:0 0 18px!important;width:18px!important;height:18px!important}
.ec-lunch-day-v195 .ec-lunch-fields-v195{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.ec-lunch-day-v195 .ec-lunch-fields-v195[hidden]{display:none!important}
.ec-lunch-day-v195 .ec-lunch-fields-v195 label{display:flex;flex-direction:column;gap:4px;font-size:12px;
 min-width:0;max-width:100%;line-height:1.25}
.ec-lunch-day-v195 input[type=time]{min-width:0;width:100%;max-width:100%;height:44px;
 border:1px solid #c9dfe3;border-radius:9px;padding:8px 7px;
 color:#18343c;background:#f7fbfc;font-size:12px;box-sizing:border-box}
.ec-lunch-day-v195 .ec-lunch-message{min-height:17px;font-size:11px;line-height:1.35;overflow-wrap:anywhere}
.ec-lunch-day-v195 .ec-lunch-message[data-state=error]{color:#b72f49}
.ec-lunch-day-v195 .ec-lunch-message[data-state=ok]{color:#087b57}
.ec-lunch-day-v195 .ec-lunch-help{font-size:11px;line-height:1.4;opacity:.78;overflow-wrap:anywhere}
html.ec-admin-active .servicios-config-container .ec-schedule-close{
 position:sticky;top:8px;float:right;z-index:20;border:0;border-radius:50%;width:38px;height:38px;
 display:grid;place-items:center;background:#233945;color:#fff;font:700 22px/1 system-ui;
 cursor:pointer;box-shadow:0 3px 12px #0003;
}
html.ec-admin-active .servicios-config-container{min-width:0!important;max-width:100%!important;overflow:visible!important}
@media(max-width:1050px){html.ec-admin-active .servicios-config-container .days-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){html.ec-admin-active .servicios-config-container .days-grid{grid-template-columns:1fr!important}}


/* Keep Sunday's/festive label neatly centered inside its own day card. */
html.ec-admin-active .servicios-config-container .day-item-card:last-child .day-checkbox-label{justify-content:center!important;text-align:center!important}
html.ec-admin-active .servicios-config-container .day-item-card:last-child .day-checkbox-label span{text-align:center!important}

/* A readable 12-hour label over native time input; native control stays enabled/editable. */
.ec-hour12-host{position:relative!important;isolation:isolate!important}
.ec-hour12-display{position:absolute;left:10px;right:35px;bottom:10px;pointer-events:none;
 font-size:clamp(12px,1vw,14px);line-height:1.35;white-space:nowrap;overflow:hidden;
 text-overflow:ellipsis;color:var(--ec-ink,#18343c);background:transparent;z-index:1;text-align:center}
.ec-hour12-native{color:transparent!important;-webkit-text-fill-color:transparent!important}
.ec-hour12-native::-webkit-datetime-edit{color:transparent!important}
.ec-hour12-host:focus-within .ec-hour12-display{opacity:0}
.ec-hour12-host:focus-within .ec-hour12-native{color:inherit!important;-webkit-text-fill-color:currentColor!important}
html[data-theme=dark] .ec-hour12-display{color:#edf6f7!important}
html[data-theme=dark] .ec-hour12-native{color:transparent!important}
html[data-theme=dark] .ec-hour12-host:focus-within .ec-hour12-native{color:#e9f7fa!important}

/* Checkout and cart use brand primary, and remain scrollable to the very last action. */
html body .modal-cart .ec-checkout-action,
html body .modal-cart .ec-checkout-action:not(:disabled){
 background:var(--ec-primary-action,#007970)!important;
 border:1px solid var(--ec-primary-action,#007970)!important;
 color:var(--ec-primary-on-action,#fff)!important;
 border-radius:12px!important;min-height:48px!important;font-weight:750!important;
}
html body .modal-cart .ec-checkout-action:not(:disabled):hover{filter:brightness(.91)!important}
html body .modal-cart .ec-checkout-action:disabled{
 background:#98a7ad!important;border-color:#98a7ad!important;color:#233b45!important;
}
html body .overlay-cart{overscroll-behavior:contain!important}
html body .modal-cart{
 height:min(100dvh,100%)!important;max-height:100dvh!important;min-height:0!important;
 overflow-y:auto!important;overflow-x:hidden!important;
 overscroll-behavior-y:contain!important;scrollbar-width:auto!important;
 box-sizing:border-box!important;padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important;
 -webkit-overflow-scrolling:touch!important;
}
html body .modal-cart :is(.modal-send-form,.cardProductCart){max-height:none!important;min-height:0!important}
html body .modal-cart::-webkit-scrollbar{width:9px!important}
html body .modal-cart::-webkit-scrollbar-thumb{background:#8faeb4!important;border-radius:10px!important}
html body .modal-cart::-webkit-scrollbar-track{background:transparent!important}
@media(max-width:700px){html body .modal-cart{
 width:100vw!important;max-width:100vw!important;height:100dvh!important;max-height:100dvh!important;
 padding-bottom:calc(160px + env(safe-area-inset-bottom,0px))!important;
}}

/* Keep newly formatted times fully readable in the public schedule. */
html body .flexGrapHoras button{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.35!important;min-height:46px!important;}
