/* SOCIOS PRO 1.9.12 — Reparaciones visuales específicas.
   No cambia persistencia, API, horarios guardados ni componentes de reservas. */

/* =========== Horarios: siete días, campos separados =========== */
html[data-ec-admin-module="horarios"] body .horarios-container-wrapper,
html[data-ec-admin-module="horarios"] body .horariosContainer,
html[data-ec-admin-module="horarios"] body .horariosTable {
  box-sizing:border-box!important;
  width:100%!important;max-width:100%!important;min-width:0!important;
  overflow:visible!important;
}
html[data-ec-admin-module="horarios"] body .horarios-container-wrapper{
  padding:clamp(12px,2vw,26px)!important;
  border:1px solid var(--sp-line,#cadadd)!important;
  border-radius:18px!important;background:var(--sp-surface,var(--blanco,#fff))!important;
  box-shadow:0 8px 25px rgba(0,30,36,.075)!important;
}
html[data-ec-admin-module="horarios"] body .horariosHeader{
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  gap:16px!important;flex-wrap:wrap!important;margin-bottom:18px!important;
  padding-bottom:16px!important;border-bottom:1px solid var(--sp-line,#dbe8e7)!important;
}
html[data-ec-admin-module="horarios"] body .horariosHeader h2{
  font-size:clamp(20px,2vw,27px)!important;display:flex!important;
  flex-wrap:wrap!important;align-items:center!important;gap:10px!important;
  white-space:normal!important;line-height:1.35!important;margin:0!important;
}
html[data-ec-admin-module="horarios"] body .horariosHeader h2 svg{
  position:static!important;width:23px!important;height:23px!important;flex:0 0 23px!important;
}
html[data-ec-admin-module="horarios"] body .timezoneSelector{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  justify-content:flex-start!important;gap:9px!important;min-width:0!important;
}
html[data-ec-admin-module="horarios"] body .timezoneSelector :is(label,select){
  line-height:1.45!important;max-width:100%!important;white-space:normal!important;
  font-size:clamp(13px,1.2vw,15px)!important;
}
html[data-ec-admin-module="horarios"] body .timezoneSelector select{
  border:1px solid var(--sp-line,#cbdcdb)!important;border-radius:11px!important;
  min-height:44px!important;padding:9px 14px!important;width:auto!important;
  max-width:min(100%,330px)!important;background:var(--sp-soft,#f3f7f7)!important;
  color:var(--sp-ink,#18343c)!important;
}
html[data-ec-admin-module="horarios"] body .horariosTable{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;
  gap:14px!important;margin:0!important;
}
html[data-ec-admin-module="horarios"] body .horariosTable .horarioRow{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:minmax(150px,195px) minmax(0,1fr) minmax(0,1fr)!important;
  align-items:center!important;gap:clamp(10px,1.5vw,18px)!important;
  width:100%!important;min-width:0!important;max-width:100%!important;
  height:auto!important;min-height:104px!important;
  padding:clamp(12px,1.5vw,18px)!important;
  background:var(--sp-surface,#fff)!important;
  border:1px solid var(--sp-line,#d6e3e5)!important;
  border-radius:15px!important;box-shadow:0 2px 9px rgba(0,25,30,.045)!important;
  opacity:1!important;overflow:visible!important;
}
html[data-ec-admin-module="horarios"] body .horariosTable .horarioRow.inactivo{
  background:var(--sp-soft,#f2f6f7)!important;
  min-height:76px!important;
}
html[data-ec-admin-module="horarios"] body .horarioDia{
  box-sizing:border-box!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;gap:11px!important;
  min-width:0!important;max-width:100%!important;
  font-weight:750!important;line-height:1.4!important;
}
html[data-ec-admin-module="horarios"] body .horarioDia span{
  white-space:normal!important;overflow:visible!important;overflow-wrap:break-word!important;
  text-overflow:clip!important;text-align:left!important;
  color:var(--sp-ink,#1b3540)!important;
}
html[data-ec-admin-module="horarios"] body .horarioDia input[type="checkbox"]{
  width:20px!important;height:20px!important;flex:0 0 20px!important;
  cursor:pointer!important;accent-color:var(--sp-action,var(--color1,#008d83))!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango{
  box-sizing:border-box!important;display:grid!important;
  grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr)!important;
  gap:8px!important;align-items:center!important;
  min-width:0!important;max-width:100%!important;width:100%!important;
  padding:12px!important;margin:0!important;
  border:1px solid var(--sp-line,#d5e2e4)!important;
  border-radius:12px!important;background:var(--sp-soft,#f3f7f8)!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango label{
  grid-column:1/-1!important;display:block!important;margin:0 0 4px!important;
  font-size:13px!important;font-weight:750!important;line-height:1.45!important;
  color:var(--sp-ink,#18343c)!important;white-space:normal!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango>span{
  display:block!important;text-align:center!important;line-height:1!important;
  font-weight:800!important;color:var(--sp-muted,#4f6670)!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango input[type=time]{
  box-sizing:border-box!important;display:block!important;
  min-width:0!important;max-width:100%!important;width:100%!important;
  height:46px!important;min-height:46px!important;padding:9px 7px!important;
  margin:0!important;border:1px solid var(--sp-line,#c6d5d9)!important;
  border-radius:9px!important;line-height:1.35!important;
  font-size:14px!important;letter-spacing:normal!important;
  color:var(--sp-ink,#173139)!important;background:var(--sp-surface,#fff)!important;
  color-scheme:light;
}
html[data-theme="dark"][data-ec-admin-module="horarios"] body .horarioRango input[type=time]{
  color-scheme:dark;color:#eff9fa!important;background:#1c3440!important;
  border-color:#42616c!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango input[type=time]:focus-visible{
  outline:2px solid var(--sp-link,#1fbab0)!important;outline-offset:1px!important;
}
html[data-ec-admin-module="horarios"] body .horarioCerrado{
  grid-column:2/-1!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;min-height:40px!important;
  color:var(--sp-muted,#516a71)!important;font-size:14px!important;
}
html[data-ec-admin-module="horarios"] body .horarioCerrado span{
  color:inherit!important;white-space:normal!important;
}
html[data-ec-admin-module="horarios"] body .horariosActions{
  display:flex!important;justify-content:flex-end!important;align-items:center!important;
  flex-wrap:wrap!important;gap:12px!important;margin-top:22px!important;
}
html[data-ec-admin-module="horarios"] body .horariosActions button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  gap:10px!important;width:auto!important;min-height:45px!important;
  padding:10px 20px!important;border-radius:10px!important;max-width:100%!important;
  text-align:center!important;white-space:normal!important;line-height:1.4!important;
  background:var(--sp-action,var(--color1,#007970))!important;
  color:var(--sp-on-action,#fff)!important;
}
html[data-ec-admin-module="horarios"] body .horariosActions .btnRecargar{
  background:var(--sp-soft,#eef6f5)!important;color:var(--sp-ink,#18343c)!important;
  border:1px solid var(--sp-line,#d5e3e4)!important;
}
html[data-ec-admin-module="horarios"] body .horariosActions button :is(svg,i){
  position:static!important;width:18px!important;height:18px!important;
  min-width:18px!important;max-width:18px!important;flex:0 0 18px!important;
}
@media(max-width:1200px){
  html[data-ec-admin-module="horarios"] body .horariosTable .horarioRow{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  html[data-ec-admin-module="horarios"] body .horarioDia{
    grid-column:1/-1!important;
  }
  html[data-ec-admin-module="horarios"] body .horarioCerrado{
    grid-column:1/-1!important;
  }
}
@media(max-width:700px){
  html[data-ec-admin-module="horarios"] body .horarios-container-wrapper{padding:12px!important;border-radius:14px!important}
  html[data-ec-admin-module="horarios"] body .horariosTable .horarioRow{
    grid-template-columns:minmax(0,1fr)!important;gap:9px!important;min-height:0!important;
    padding:12px!important;
  }
  html[data-ec-admin-module="horarios"] body .horarioDia,
  html[data-ec-admin-module="horarios"] body .horarioCerrado{grid-column:1/-1!important;}
  html[data-ec-admin-module="horarios"] body .horarioRango{
    grid-column:1/-1!important;gap:8px!important;padding:10px!important;
  }
  html[data-ec-admin-module="horarios"] body .horariosActions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  html[data-ec-admin-module="horarios"] body .horariosActions button{width:100%!important;}
}

/* En Horarios, cada control conserva su valor nativo de 24h,
   pero el texto visible indica explícitamente a. m. / p. m. */
html[data-ec-admin-module="horarios"] body .horarioRango{position:relative!important;}
html[data-ec-admin-module="horarios"] body .horarioRango input.ec-visual-12h:not(:focus)::-webkit-datetime-edit-fields-wrapper{
 opacity:0!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango input.ec-visual-12h:focus::-webkit-datetime-edit-fields-wrapper{
 opacity:1!important;
}
html[data-ec-admin-module="horarios"] body .horarioRango .ec-hour12-display{display:none!important;}
html[data-ec-admin-module="horarios"] body .horarioRango>.ec-horario-time-label{
 display:block!important;position:absolute!important;z-index:4!important;
 pointer-events:none!important;margin:0!important;padding:0!important;
 font-weight:750!important;font-size:clamp(10px,.95vw,13px)!important;
 white-space:nowrap!important;line-height:1.3!important;overflow:visible!important;
 text-overflow:clip!important;letter-spacing:-.3px!important;
 color:var(--sp-ink,#17333a)!important;background:transparent!important;
}
html[data-theme="dark"][data-ec-admin-module="horarios"] body .horarioRango>.ec-horario-time-label{
 color:#f0f9fa!important;
}

/* =========== Inventario: pestañas fáciles de pulsar =========== */
html[data-ec-admin-module="inventarios"] body .inventarios-container-wrapper,
html[data-ec-admin-module="inventarios"] body .inventariosContent{
  box-sizing:border-box!important;max-width:100%!important;min-width:0!important;overflow-x:visible!important;
}
html[data-ec-admin-module="inventarios"] body .inventariosTabs{
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px!important;align-items:stretch!important;
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  overflow:visible!important;margin:0 0 20px!important;padding:8px!important;
  border:1px solid var(--sp-line,#d3e1e3)!important;border-radius:15px!important;
  background:var(--sp-soft,#f5f8f8)!important;
}
html[data-ec-admin-module="inventarios"] body .inventariosTabs button{
  width:100%!important;min-width:0!important;min-height:48px!important;
  height:auto!important;display:flex!important;align-items:center!important;justify-content:center!important;
  padding:10px 12px!important;border:1px solid transparent!important;border-radius:10px!important;
  line-height:1.38!important;font-size:14px!important;font-weight:650!important;
  text-align:center!important;white-space:normal!important;word-break:normal!important;
  overflow-wrap:break-word!important;text-overflow:clip!important;
  color:var(--sp-ink,#23343b)!important;background:var(--sp-surface,#fff)!important;
}
html[data-ec-admin-module="inventarios"] body .inventariosTabs button.tabActiva{
  background:var(--sp-action,var(--color1,#007970))!important;
  color:var(--sp-on-action,#fff)!important;
  border-color:var(--sp-action,var(--color1,#007970))!important;
  box-shadow:0 3px 12px rgba(0,33,37,.14)!important;
}
html[data-ec-admin-module="inventarios"] body .inventariosContent :is(.table-container,.content_tables){
  overflow-x:auto!important;max-width:100%!important;min-width:0!important;
}
@media(min-width:1400px){
 html[data-ec-admin-module="inventarios"] body .inventariosTabs{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
}
@media(max-width:600px){
 html[data-ec-admin-module="inventarios"] body .inventariosTabs{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;padding:7px!important;}
 html[data-ec-admin-module="inventarios"] body .inventariosTabs button{min-height:52px!important;padding:9px 7px!important;font-size:13px!important;}
 html[data-ec-admin-module="inventarios"] body .inventarios-container-wrapper{padding:8px!important;}
}

/* =========== Dashboard principal: texto y número apartados de los iconos =========== */
html[data-ec-admin-module="inicio"] body .containerMain{min-width:0!important;max-width:100%!important;gap:18px!important}
html[data-ec-admin-module="inicio"] body .CardsCantidad{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:13px!important;align-items:stretch!important;
}
html[data-ec-admin-module="inicio"] body .CardsCantidad .cardCantidad{
 display:grid!important;grid-template-columns:44px minmax(0,1fr)!important;
 align-items:center!important;gap:12px!important;padding:14px!important;
 width:100%!important;min-width:0!important;min-height:91px!important;
 height:auto!important;position:relative!important;overflow:visible!important;
 border-radius:14px!important;box-sizing:border-box!important;
}
html[data-ec-admin-module="inicio"] body .CardsCantidad .cardCantidad>.icons{
 position:static!important;inset:auto!important;display:block!important;
 grid-column:1!important;grid-row:1!important;width:42px!important;height:42px!important;
 min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important;
 padding:10px!important;box-sizing:border-box!important;margin:0!important;
}
html[data-ec-admin-module="inicio"] body .CardsCantidad .cardCantidad .deColumn{
 grid-column:2!important;grid-row:1!important;min-width:0!important;
 width:100%!important;max-width:100%!important;height:auto!important;
 display:flex!important;flex-direction:column!important;justify-content:center!important;
 align-items:flex-start!important;gap:4px!important;position:static!important;
}
html[data-ec-admin-module="inicio"] body .CardsCantidad .cardCantidad .deColumn :is(h2,h3){
 position:static!important;inset:auto!important;display:block!important;
 flex:none!important;min-width:0!important;width:100%!important;max-width:100%!important;
 padding:0!important;margin:0!important;line-height:1.3!important;
 overflow:visible!important;white-space:normal!important;text-align:left!important;
 text-overflow:clip!important;overflow-wrap:break-word!important;
}
html[data-ec-admin-module="inicio"] body .CardsCantidad .cardCantidad .deColumn h3{
 font-size:clamp(13px,1vw,16px)!important;font-weight:650!important;
}
html[data-ec-admin-module="inicio"] body .CardsCantidad .cardCantidad .deColumn h2{
 font-size:clamp(19px,1.6vw,25px)!important;font-weight:800!important;
}
@media(max-width:1060px){html[data-ec-admin-module="inicio"] body .CardsCantidad{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:550px){html[data-ec-admin-module="inicio"] body .CardsCantidad{grid-template-columns:minmax(0,1fr)!important}}

/* =========== Productos/Servicios: ancho y scroll sin recortar =========== */
html[data-ec-admin-module="productos"] body .containerSection{
 box-sizing:border-box!important;max-width:100%!important;min-width:0!important;overflow-x:visible!important;
}
html[data-ec-admin-module="productos"] body .containerSection>.container{
 box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
 width:100%!important;overflow:visible!important;padding:clamp(10px,2vw,20px)!important;
}
html[data-ec-admin-module="productos"] body .containerSection>.container :is(.table-container,.content_tables,.table-containerProductos){
 width:100%!important;min-width:0!important;max-width:100%!important;
 overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;
}
html[data-ec-admin-module="productos"] body .containerSection>.container :is(h1,h2,h3,p,label,td,th){
 line-height:1.45!important;white-space:normal!important;overflow-wrap:break-word!important;
 text-overflow:clip!important;
}
html[data-ec-admin-module="productos"] body .containerSection>.container :is(.flexGrap,.deFlexContent,.gastosFiltros){
 max-width:100%!important;min-width:0!important;flex-wrap:wrap!important;
}
html[data-ec-admin-module="productos"] body .containerSection>.container :is(input,select,textarea){
 box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
}

/* =========== Cita manual: turnos legibles de 12h =========== */
html[data-ec-admin-module="reservas"] body .admin-horas-grid{
 display:grid!important;grid-template-columns:repeat(auto-fit,minmax(106px,1fr))!important;
 gap:9px!important;align-items:stretch!important;min-width:0!important;
}
html[data-ec-admin-module="reservas"] body .admin-hora-btn{
 min-height:46px!important;height:auto!important;min-width:0!important;width:100%!important;
 padding:10px 9px!important;font-weight:700!important;font-size:13px!important;
 line-height:1.4!important;white-space:normal!important;
 border-radius:10px!important;overflow:visible!important;text-overflow:clip!important;
}
html[data-ec-admin-module="reservas"] body .admin-infoturno{
 white-space:normal!important;line-height:1.5!important;overflow-wrap:break-word!important;
}

/* =========== Todos los módulos: sin decoraciones SVG gigantes en segundo plano =========== */
html.ec-admin-active body .ec-admin-background-art-hidden{display:none!important;visibility:hidden!important}
html.ec-admin-active body .containerSection>.containerMain>svg,
html.ec-admin-active body .containerSection>.container>svg,
html.ec-admin-active body .containerSection>.horarios-container-wrapper>svg{
 display:none!important;
}

/* =========== Carrito y checkout: contraste claro y oscuro =========== */
html[data-theme="dark"] body .modal-cart{
 background:#13252f!important;color:#eff8fb!important;
}
html[data-theme="dark"] body .modal-cart :is(.cardProductCart,.totalCart,.modal-send-form,.paymentInstructions){
 background:#1b333e!important;color:#eff8fb!important;
 border-color:#395968!important;
}
html[data-theme="dark"] body .modal-cart :is(h1,h2,h3,h4,h5,p,span,strong,label,legend,small,.cardProductCartText,.cardProductCartText *,
 .paymentInstructions label,.instructionsContent,.instructionsContent *,.modal-send-form label,.deFLexRadio label,.totalCart *){
 color:#eef8fa!important;opacity:1!important;text-shadow:none!important;
}
html[data-theme="dark"] body .modal-cart :is(input,textarea,select){
 background:#223a46!important;color:#f0fbff!important;border-color:#426475!important;
}
html[data-theme="dark"] body .modal-cart :is(input,textarea)::placeholder{color:#c4d9e1!important;opacity:1!important}
html[data-theme="dark"] body .modal-cart .paymentInstructions{
 padding:15px!important;border-radius:12px!important;
}
html[data-theme="light"] body .modal-cart .paymentInstructions{
 background:#eff7f6!important;color:#18343c!important;
 border-color:#cedfdd!important;border-radius:12px!important;
}
html[data-theme="light"] body .modal-cart .paymentInstructions :is(label,p,strong,span,.instructionsContent,.instructionsContent *){
 color:#18343c!important;
}
html body .modal-cart :is(.paymentInstructions,.instructionsContent){
 min-width:0!important;max-width:100%!important;overflow-wrap:break-word!important;
}
html body .modal-cart .deFLex:first-child{
 display:flex!important;flex-direction:row!important;align-items:center!important;
 justify-content:space-between!important;flex-wrap:nowrap!important;
 gap:12px!important;min-width:0!important;margin:0 0 14px!important;
}
html body .modal-cart .deFLex:first-child>button:first-child{
 width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;
 padding:0!important;border:1px solid var(--sp-line,#c6d6d8)!important;
 border-radius:50%!important;display:flex!important;align-items:center!important;
 justify-content:center!important;
 color:var(--sp-ink,#1f3540)!important;background:var(--sp-soft,#edf5f5)!important;
 box-shadow:0 2px 8px rgba(0,0,0,.12)!important;
}
html body .modal-cart .deFLex:first-child>button:first-child :is(svg,i){
 width:20px!important;height:20px!important;min-width:20px!important;max-width:20px!important;
 flex:0 0 20px!important;display:block!important;position:static!important;
}
html body .modal-cart .deleteToCart{
 box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:auto!important;min-width:0!important;max-width:75%!important;min-height:44px!important;
 margin:0!important;padding:9px 15px!important;white-space:normal!important;
 line-height:1.35!important;text-align:center!important;font-size:13px!important;font-weight:750!important;
 border-radius:11px!important;border:1px solid #b14c59!important;
 color:#a12c3e!important;background:#fff1f2!important;
 box-shadow:0 2px 8px rgba(0,0,0,.06)!important;
}
html[data-theme="dark"] body .modal-cart .deFLex:first-child>button:first-child{
 color:#f2f8fb!important;background:#233e4b!important;border-color:#4b7080!important;
}
html[data-theme="dark"] body .modal-cart .deleteToCart{
 color:#ffe8ed!important;background:#71303e!important;border-color:#ad6275!important;
}
html body .modal-cart .ec-checkout-action{
 color:var(--sp-on-action,#fff)!important;
 background:var(--sp-action,var(--color1,#007970))!important;
 border:1px solid var(--sp-action,var(--color1,#007970))!important;
 border-radius:12px!important;min-height:49px!important;
 box-shadow:0 4px 12px rgba(0,0,0,.14)!important;
}
html body .modal-cart .ec-checkout-action:disabled{
 opacity:.7!important;filter:saturate(.5)!important;
}
/* Checkouts largos y carritos llenos siempre desplazables. */
html body .ReactModal__Content.modal-cart,html body .modal-cart{
 max-height:calc(100dvh - env(safe-area-inset-top,0px))!important;
 overflow-y:auto!important;overscroll-behavior-y:contain!important;
 padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))!important;
}
html body .modal-cart .modal-content-cart{
 max-height:none!important;height:auto!important;overflow:visible!important;
}

/* =========== Descripciones: justificar sin cortar palabras =========== */
html.ec-public-home body .ProductsContain :is(.cardText,.cardTextSelected) >span,
html.ec-public-home body #ec-home-featured .ec-featured-description,
html.ec-public-detail body .detail .textDetail p.descripcion,
html.ec-public-detail body .detail .textDetail .descripcion{
 text-align:justify!important;text-align-last:left!important;
 word-break:normal!important;overflow-wrap:break-word!important;
 hyphens:none!important;-webkit-hyphens:none!important;
 white-space:normal!important;
}
/* Detalle: nunca aplicar recortes de tarjetas de listado. */
html.ec-public-detail body .detail .textDetail p.descripcion{
 display:block!important;max-height:none!important;overflow:visible!important;
 text-overflow:clip!important;-webkit-line-clamp:unset!important;line-clamp:unset!important;
 line-height:1.6!important;
}
/* En celulares estrechos, separar inicio y fin en renglones propios.
   Así se lee siempre la hora completa sin pisar el icono del reloj. */
@media(max-width:480px){
  html[data-ec-admin-module="horarios"] body .horarioRango{
    grid-template-columns:minmax(0,1fr)!important;
    gap:7px!important;
  }
  html[data-ec-admin-module="horarios"] body .horarioRango>label{grid-column:1!important;}
  html[data-ec-admin-module="horarios"] body .horarioRango>input[type=time]{
    grid-column:1!important;width:100%!important;height:44px!important;min-height:44px!important;
  }
  html[data-ec-admin-module="horarios"] body .horarioRango>span:not(.ec-horario-time-label):not(.ec-hour12-display){
    grid-column:1!important;justify-self:center!important;padding:2px 0!important;
  }
  html[data-ec-admin-module="horarios"] body .horarioRango>.ec-horario-time-label{
    font-size:13px!important;letter-spacing:normal!important;
  }
}
/* Formularios administrativos: mantener cuadros emergentes centrados, completos
   y desplazables en lugar de recortarlos contra el menú lateral. */
html.ec-admin-active body .containerSection .modal:has(>.modal-content){
  position:fixed!important;inset:0!important;
  width:100vw!important;height:100dvh!important;
  box-sizing:border-box!important;display:flex!important;
  align-items:center!important;justify-content:center!important;
  padding:clamp(10px,2vw,24px)!important;margin:0!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  z-index:1050!important;
}
html.ec-admin-active body .containerSection .modal>.modal-content{
  position:relative!important;inset:auto!important;left:auto!important;right:auto!important;
  top:auto!important;bottom:auto!important;transform:none!important;
  box-sizing:border-box!important;flex:0 1 auto!important;
  width:min(100%,1100px)!important;max-width:calc(100vw - 24px)!important;
  max-height:calc(100dvh - 30px)!important;min-width:0!important;
  height:auto!important;overflow:auto!important;
  margin:auto!important;padding:clamp(12px,2.5vw,24px)!important;
  border-radius:15px!important;overscroll-behavior:contain!important;
}
html.ec-admin-active body .containerSection .modal>.modal-content :is(.flexGrap,.deFlexBtnsModal){
  max-width:100%!important;min-width:0!important;
  gap:12px!important;flex-wrap:wrap!important;
}
html.ec-admin-active body .containerSection .modal>.modal-content :is(fieldset,input,select,textarea){
  box-sizing:border-box!important;max-width:100%!important;min-width:0!important;
}
html.ec-admin-active body .containerSection .modal>.modal-content :is(h2,h3,label,legend,p){
  white-space:normal!important;overflow-wrap:break-word!important;
  line-height:1.4!important;
}
/* Mayor especificidad que los estilos heredados de v1.9.10/v1.9.11:
   sin separación automática con guiones de la última palabra de cada línea. */
html.ec-public-home body .ProductsContain .categoriSection a.cardProdcut .cardText>span,
html.ec-public-home body .ProductsContain .categoriSectionSelected .cardProdcutSelected .cardTextSelected>span{
  text-align:justify!important;text-align-last:left!important;
  hyphens:none!important;-webkit-hyphens:none!important;
  overflow-wrap:break-word!important;word-break:normal!important;
}
