/**/.hamburgerButton{display:block;background-color:transparent;border:0;padding:0;margin:0}.hamburgerButton,.hamburgerButton svg{width:100%;height:100%}/**/.imageWidget{position:relative}.imageWidget a,.imageWidget span.image-caption{font-style:italic;text-align:center}.imageWidget a[data-caption]::after,.imageWidget span[data-caption]::after{content:attr(data-caption);display:block;line-height:100%}
.imageWidget.with-caption a::after,.imageWidget.with-caption span.image-caption::after{margin-top:12px}.imageWidget img[width][height]{height:auto}[data-flex-site] #fcontainer .imageWidget:after,[data-flex-site] #flex-footer .imageWidget:after,[data-flex-site] #flex-header .imageWidget:after{content:none}
[data-flex-site] #fcontainer .imageWidget:before,[data-flex-site] #flex-footer .imageWidget:before,[data-flex-site] #flex-header .imageWidget:before{font-size:80px;transform:none}.imageWidget.hover img.hover-image,.imageWidget:hover img.hover-image{display:initial}
.imageWidget.hover.hasHover img:not(.hover-image),.imageWidget:hover.hasHover img:not(.hover-image){display:none!important}.imageWidget img.hover-image,.imageWidget img.logo-on-scroll{display:none}/**/.dmNewParagraph[data-version] .text-align-left{text-align:left!important}.dmNewParagraph[data-version] .text-align-center{text-align:center!important}.dmNewParagraph[data-version] .text-align-right{text-align:right!important}
.dmNewParagraph[data-version] .text-align-justify{text-align:justify!important}.dmNewParagraph[data-version] .ql-indent-1{padding:0 1em;padding-inline-end:0;padding-inline-start:3em}.dmNewParagraph[data-version] .ql-indent-2{padding:0 2em;padding-inline-end:0;padding-inline-start:6em}
.dmNewParagraph[data-version] .ql-indent-3{padding:0 3em;padding-inline-end:0;padding-inline-start:9em}.dmNewParagraph[data-version] .ql-indent-4{padding:0 4em;padding-inline-end:0;padding-inline-start:12em}
.dmNewParagraph[data-version] .ql-indent-5{padding:0 5em;padding-inline-end:0;padding-inline-start:15em}.dmNewParagraph[data-version] .ql-indent-6{padding:0 6em;padding-inline-end:0;padding-inline-start:18em}
.dmNewParagraph[data-version] .ql-indent-7{padding:0 7em;padding-inline-end:0;padding-inline-start:21em}.dmNewParagraph[data-version] .ql-indent-8{padding:0 8em;padding-inline-end:0;padding-inline-start:24em}
.dmNewParagraph[data-version] .ql-indent-9{padding:0 9em;padding-inline-end:0;padding-inline-start:27em}.dmNewParagraph[data-version]{line-height:initial}.dmNewParagraph[data-version] [class*=size-]{width:auto!important;height:auto!important}
.dmNewParagraph[data-version] h1,.dmNewParagraph[data-version] h2,.dmNewParagraph[data-version] h3,.dmNewParagraph[data-version] h4,.dmNewParagraph[data-version] h5,.dmNewParagraph[data-version] h6,.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] p,.dmNewParagraph[data-version] ul{margin-top:0;margin-bottom:0}
.dmNewParagraph[data-version] ol,.dmNewParagraph[data-version] ul{padding:0;counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9}.dmNewParagraph[data-version] ol>li,.dmNewParagraph[data-version] ul>li{list-style-type:none;text-indent:-1.5em;margin:0 1em;margin-inline-end:0;margin-inline-start:2em}
.dmNewParagraph[data-version] ol>li:before,.dmNewParagraph[data-version] ul>li:before{min-width:1em;display:inline-block;margin-right:.5em;margin-inline-start:0;margin-inline-end:.5em;text-align:right;text-align:end}
.dmNewParagraph[data-version] ul .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ul .ql-indent-1:before{font-weight:700;content:"○"}
.dmNewParagraph[data-version] ul .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ul .ql-indent-2:before,.dmNewParagraph[data-version] ul .ql-indent-3:before,.dmNewParagraph[data-version] ul .ql-indent-4:before,.dmNewParagraph[data-version] ul .ql-indent-5:before,.dmNewParagraph[data-version] ul .ql-indent-6:before,.dmNewParagraph[data-version] ul .ql-indent-7:before,.dmNewParagraph[data-version] ul .ql-indent-8:before,.dmNewParagraph[data-version] ul .ql-indent-9:before{font-weight:700;content:"■"}
.dmNewParagraph[data-version] ul .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ul .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}
.dmNewParagraph[data-version] ul .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ul .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}
.dmNewParagraph[data-version] ul .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ul .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ul .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}
.dmNewParagraph[data-version] ul>li:before{font-weight:700;content:"•";font-family:Arial}.dmNewParagraph[data-version] ul.custom-list-1>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"○";transform:scale(1);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-2>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"★";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-3>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"➞";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-4>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"＋";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-5>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"－";transform:scale(.7);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-6>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✓";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ul.custom-list-7>li:not([class^=ql-indent-]):not([class*=" ql-indent-"]):before{content:"✗";transform:scale(.8);transform-origin:center right}
.dmNewParagraph[data-version] ol .ql-indent-1{counter-reset:list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-1}.dmNewParagraph[data-version] ol .ql-indent-1:before{content:counter(list-1,lower-alpha)". "}
.dmNewParagraph[data-version] ol .ql-indent-2{counter-reset:list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-2}.dmNewParagraph[data-version] ol .ql-indent-2:before{content:counter(list-2,lower-roman)". "}
.dmNewParagraph[data-version] ol .ql-indent-3{counter-reset:list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-3}.dmNewParagraph[data-version] ol .ql-indent-3:before{content:counter(list-3,decimal)". "}
.dmNewParagraph[data-version] ol .ql-indent-4{counter-reset:list-5 list-6 list-7 list-8 list-9;counter-increment:list-4}.dmNewParagraph[data-version] ol .ql-indent-4:before{content:counter(list-4,lower-alpha)". "}
.dmNewParagraph[data-version] ol .ql-indent-5{counter-reset:list-6 list-7 list-8 list-9;counter-increment:list-5}.dmNewParagraph[data-version] ol .ql-indent-5:before{content:counter(list-5,lower-roman)". "}
.dmNewParagraph[data-version] ol .ql-indent-6{counter-reset:list-7 list-8 list-9;counter-increment:list-6}.dmNewParagraph[data-version] ol .ql-indent-6:before{content:counter(list-6,decimal)". "}
.dmNewParagraph[data-version] ol .ql-indent-7{counter-reset:list-8 list-9;counter-increment:list-7}.dmNewParagraph[data-version] ol .ql-indent-7:before{content:counter(list-7,lower-alpha)". "}
.dmNewParagraph[data-version] ol .ql-indent-8{counter-reset:list-9;counter-increment:list-8}.dmNewParagraph[data-version] ol .ql-indent-8:before{content:counter(list-8,lower-roman)". "}
.dmNewParagraph[data-version] ol .ql-indent-9{counter-reset:list-10 list-9;counter-increment:list-9}.dmNewParagraph[data-version] ol .ql-indent-9:before{content:counter(list-9,decimal)". "}
.dmNewParagraph[data-version] ol li{counter-reset:list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;counter-increment:list-0}.dmNewParagraph[data-version] ol li:before{content:counter(list-0,decimal)". "}
.dmNewParagraph[data-version] a{vertical-align:initial}@media(min-width:768px) and (max-width:1024px){.dmNewParagraph[data-version] .t-text-align-left{text-align:left!important}.dmNewParagraph[data-version] .t-text-align-center{text-align:center!important}
.dmNewParagraph[data-version] .t-text-align-right{text-align:right!important}.dmNewParagraph[data-version] .t-text-align-justify{text-align:justify!important}}@media(max-width:767px){.dmRoot .dmNewParagraph[data-version] .m-text-align-left{text-align:left!important}
.dmRoot .dmNewParagraph[data-version] .m-text-align-center{text-align:center!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-right{text-align:right!important}.dmRoot .dmNewParagraph[data-version] .m-text-align-justify{text-align:justify!important}
}.inlineBindingLink{color:inherit!important;text-decoration:inherit!important}
/* Custom Widgets Styles */
@charset "UTF-8";
/* =============================================
   BASE & LAYOUTS
   ============================================= */
.generalPhones {
  width: 100%;
  min-height: 20px;
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.generalPhones.layout-list,
.generalPhones:not([class*=layout-]) {
  flex-direction: column;
  align-items: flex-start;
}

.generalPhones.layout-row {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
}

.generalPhones.layout-grid2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

.generalPhones.layout-grid3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.generalPhones.layout-divided {
  flex-direction: column;
  align-items: stretch;
}

.generalPhones.layout-divided .phoneConteiner + .phoneConteiner {
  border-top: 1px solid rgba(0, 0, 0, 0.08);
  padding-top: 10px;
  margin-top: 2px;
}

.generalPhones.layout-inline {
  flex-direction: row;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
}

.generalPhones.layout-inline .phoneConteiner {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
}

.generalPhones.layout-inline .inline-sep {
  display: inline-block;
  width: 1px;
  height: 14px;
  background: var(--inline-sep-color, currentColor);
  opacity: var(--inline-sep-opacity, 0.22);
  margin: 0 12px;
  flex-shrink: 0;
  align-self: center;
  pointer-events: none;
}

.generalPhones.layout-inline .phoneConteiner + .phoneConteiner {
  margin-left: 0;
  padding-left: 0;
}

.generalPhones.layout-inline .phone-adsa {
  padding: 3px 0 !important;
  font-size: 0.875em;
  letter-spacing: 0.1px;
  gap: 5px;
}

.generalPhones.layout-inline .icono-phone {
  height: 14px !important;
  width: 14px !important;
  margin-right: 4px;
}

.generalPhones.layout-inline .phone-etiqueta {
  font-size: 10px;
  letter-spacing: 0.3px;
}

.generalPhones.layout-inline .phone-badge {
  font-size: 10px;
  margin-left: 5px;
}

.generalPhones.layout-inline .badge-dot {
  width: 5px;
  height: 5px;
}

.phones-cms-container,
.phones-manual-container {
  display: contents;
}

/* Evita parpadeo/CLS: el fallback manual se oculta (conservando espacio) hasta resolver la Content Library */
.generalPhones.is-loading .phones-manual-container {
  visibility: hidden;
}

/* =============================================
   PHONE CONTAINER
   ============================================= */
.phoneConteiner {
  cursor: pointer;
  position: relative;
  display: inline-flex;
  align-items: center;
  flex-direction: row;
}

.phoneConteiner.label-top,
.phoneConteiner.label-bottom {
  flex-direction: column;
  align-items: flex-start;
}

.phoneConteiner a.phone-adsa {
  display: flex;
  align-items: center;
  height: auto;
  text-decoration: none;
  cursor: pointer;
  gap: 6px;
}

.phoneConteiner a label {
  margin: 0 !important;
  cursor: pointer;
}

/* =============================================
   ETIQUETA
   ============================================= */
.phone-etiqueta {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: var(--ph-label, inherit);
  opacity: var(--ph-lop, 0.55);
  white-space: nowrap;
  line-height: 1.2;
  pointer-events: none;
}

.etiqueta-top {
  display: block;
  margin-bottom: 3px;
}

.etiqueta-bottom {
  display: block;
  margin-top: 3px;
}

.etiqueta-inline {
  display: inline-flex;
  align-items: center;
  margin: 0;
}

/* =============================================
   ICONO
   ============================================= */
.icono-phone {
  height: 20px;
  width: 20px;
  display: flex;
  margin-right: 8px;
  align-items: center;
  flex-shrink: 0;
  transition: transform 0.2s ease;
}

.icono-phone svg {
  height: 100%;
  width: 100%;
}

/* chip WA */
.phone-type-chip {
  display: inline-flex;
  align-items: center;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.4px;
  padding: 1px 5px;
  border-radius: 3px;
  margin-left: 5px;
  flex-shrink: 0;
  pointer-events: none;
  line-height: 1.4;
  vertical-align: middle;
}

.phone-type-wa {
  background: #dcfce7;
  color: #15803d;
  border: 1px solid #bbf7d0;
}

@media (max-width: 767px) {
  .phone-type-chip {
    display: none;
  }
}
.generalPhones.layout-inline .phone-labels label {
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}

/* =============================================
   ESTILOS DE ICONO
   ============================================= */
.icon-style-circle, .icon-style-circle-outline, .icon-style-square,
.icon-style-square-outline, .icon-style-soft-bg, .icon-style-shadow, .icon-style-pill {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  width: auto !important;
  height: auto !important;
}

.icon-style-circle svg, .icon-style-circle-outline svg, .icon-style-square svg,
.icon-style-square-outline svg, .icon-style-soft-bg svg, .icon-style-shadow svg, .icon-style-pill svg {
  width: 16px !important;
  height: 16px !important;
}

.icon-style-circle {
  background: currentColor;
  border-radius: 50%;
  padding: 8px;
}

.icon-style-circle svg, .icon-style-square svg, .icon-style-pill svg {
  filter: invert(1) brightness(10);
}

.phoneConteiner a.phone-adsa:hover .icon-style-circle {
  transform: scale(1.1);
  opacity: 0.85;
}

.icon-style-circle-outline {
  background: transparent;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  padding: 7px;
}

.phoneConteiner a.phone-adsa:hover .icon-style-circle-outline {
  background: currentColor;
  transform: scale(1.05);
}

.phoneConteiner a.phone-adsa:hover .icon-style-circle-outline svg,
.phoneConteiner a.phone-adsa:hover .icon-style-square-outline svg {
  filter: invert(1) brightness(10);
}

.icon-style-square {
  background: currentColor;
  border-radius: 8px;
  padding: 8px;
}

.phoneConteiner a.phone-adsa:hover .icon-style-square {
  transform: scale(1.08);
  border-radius: 10px;
}

.icon-style-square-outline {
  background: transparent;
  border: 1.5px solid currentColor;
  border-radius: 8px;
  padding: 7px;
}

.phoneConteiner a.phone-adsa:hover .icon-style-square-outline {
  background: currentColor;
  transform: scale(1.05);
}

.icon-style-soft-bg {
  background: rgba(128, 128, 128, 0.12);
  border-radius: 10px;
  padding: 8px;
}

.phoneConteiner a.phone-adsa:hover .icon-style-soft-bg {
  background: rgba(128, 128, 128, 0.22);
  transform: scale(1.05);
}

.icon-style-shadow {
  background: #fff;
  border-radius: 10px;
  padding: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.phoneConteiner a.phone-adsa:hover .icon-style-shadow {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.22);
  transform: translateY(-2px);
}

.icon-style-pill {
  background: currentColor;
  border-radius: 999px;
  padding: 8px 14px;
}

.phoneConteiner a.phone-adsa:hover .icon-style-pill {
  opacity: 0.85;
  transform: scale(1.04);
}

.generalPhones.layout-inline .icon-style-circle,
.generalPhones.layout-inline .icon-style-circle-outline,
.generalPhones.layout-inline .icon-style-square,
.generalPhones.layout-inline .icon-style-square-outline,
.generalPhones.layout-inline .icon-style-soft-bg,
.generalPhones.layout-inline .icon-style-shadow {
  padding: 5px !important;
}

.generalPhones.layout-inline .icon-style-pill {
  padding: 5px 9px !important;
}

.generalPhones.layout-inline [class*=icon-style-] svg {
  width: 12px !important;
  height: 12px !important;
}

@media (max-width: 767px) {
  .icon-style-circle svg, .icon-style-circle-outline svg, .icon-style-square svg,
  .icon-style-square-outline svg, .icon-style-soft-bg svg, .icon-style-shadow svg, .icon-style-pill svg {
    width: 18px !important;
    height: 18px !important;
  }
  [class*=icon-style-] {
    margin-right: 0 !important;
  }
}
/* Accesibilidad teclado */
.phoneConteiner a.phone-adsa:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

/* =============================================
   TOOLTIP
   ============================================= */
.phone-tooltip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(4px);
  background: rgba(15, 15, 15, 0.92);
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 12px;
  border-radius: 6px;
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 9999;
  letter-spacing: 0.3px;
}

.phone-tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: rgba(15, 15, 15, 0.92);
}

.phoneConteiner:hover .phone-tooltip {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

.phone-tooltip.tooltip-down {
  bottom: auto;
  top: calc(100% + 8px);
  transform: translateX(-50%) translateY(-4px);
}

.phone-tooltip.tooltip-down::after {
  top: auto;
  bottom: 100%;
  border-top-color: transparent;
  border-bottom-color: rgba(15, 15, 15, 0.92);
}

.phoneConteiner:hover .phone-tooltip.tooltip-down {
  transform: translateX(-50%) translateY(0);
}

/* =============================================
   BADGE (pulso con transform/opacity: acelerado por GPU)
   ============================================= */
.phone-badge {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: 8px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.4px;
  white-space: nowrap;
}

.badge-dot {
  position: relative;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #22c55e;
  flex-shrink: 0;
}

.badge-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background-color: inherit;
  animation: badgePulse 2s ease-out infinite;
  will-change: transform, opacity;
}

@keyframes badgePulse {
  0% {
    transform: scale(1);
    opacity: 0.6;
  }
  100% {
    transform: scale(2.6);
    opacity: 0;
  }
}
/* =============================================
   RESPONSIVE
   ============================================= */
@media (max-width: 1023px) and (min-width: 768px) {
  .phone-etiqueta {
    display: block !important;
  }
  .etiqueta-inline {
    display: inline-flex !important;
  }
  .hide-label-tablet .phone-etiqueta {
    display: none !important;
  }
  .icono-phone:not([class*=icon-style-]),
  .icono-phone:not([class*=icon-style-]) svg {
    height: 17px !important;
    width: 17px !important;
  }
  .icono-phone {
    margin-right: 6px;
  }
  .icon-style-circle svg, .icon-style-circle-outline svg, .icon-style-square svg,
  .icon-style-square-outline svg, .icon-style-soft-bg svg, .icon-style-shadow svg, .icon-style-pill svg {
    width: 14px !important;
    height: 14px !important;
  }
  .icon-style-circle, .icon-style-circle-outline, .icon-style-square,
  .icon-style-square-outline, .icon-style-soft-bg, .icon-style-shadow {
    padding: 7px !important;
  }
  .icon-style-pill {
    padding: 7px 11px !important;
  }
  .phone-badge {
    display: none;
  }
  .generalPhones.layout-grid2, .generalPhones.layout-grid3 {
    grid-template-columns: repeat(2, 1fr);
  }
  .generalPhones.layout-inline {
    flex-wrap: wrap;
    gap: 6px;
  }
  .generalPhones.layout-inline .inline-sep {
    display: none !important;
  }
  .phoneConteiner a.phone-adsa {
    font-size: 0.88em;
  }
}
@media (max-width: 767px) {
  .phone-labels, .phone-etiqueta, .phone-badge {
    display: none !important;
  }
  .show-label-mobile .phone-etiqueta {
    display: inline !important;
  }
  .show-label-mobile .etiqueta-top, .show-label-mobile .etiqueta-bottom {
    display: block !important;
  }
  .show-label-mobile .etiqueta-inline {
    display: inline-flex !important;
  }
  .phoneConteiner {
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
  }
  .icono-phone {
    height: 24px !important;
    width: 24px !important;
    margin-right: 0 !important;
  }
  .phoneConteiner a.phone-adsa {
    padding: 10px !important;
    gap: 0;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }
  .phoneConteiner a.phone-adsa:active {
    background: rgba(0, 0, 0, 0.06);
  }
  .show-label-mobile .phoneConteiner {
    min-width: 0;
    min-height: unset;
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .show-label-mobile .icono-phone {
    flex-shrink: 0;
    margin-right: 8px !important;
  }
  .show-label-mobile .phoneConteiner a.phone-adsa {
    padding: 6px 8px !important;
    gap: 6px;
    justify-content: flex-start;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }
  .show-label-mobile .phone-labels {
    display: block !important;
    min-width: 0;
    overflow: hidden;
  }
  .show-label-mobile .phone-labels label,
  .show-label-mobile .phone-etiqueta {
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    max-width: 100%;
    line-height: 1.3;
  }
  .show-label-mobile .phone-labels label {
    display: block !important;
  }
  .show-label-mobile .etiqueta-top, .show-label-mobile .etiqueta-bottom {
    width: 100%;
  }
  .show-label-mobile .etiqueta-inline {
    display: inline !important;
    flex-shrink: 1;
    min-width: 0;
  }
  .show-label-mobile.generalPhones,
  .show-label-mobile.generalPhones.layout-inline {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .show-label-mobile.generalPhones {
    gap: 4px !important;
  }
  .generalPhones.layout-grid2, .generalPhones.layout-grid3 {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .generalPhones.layout-inline {
    flex-wrap: wrap;
    gap: 4px;
  }
  .generalPhones.layout-inline .inline-sep {
    display: none !important;
  }
  .generalPhones.layout-inline .icono-phone {
    height: 20px !important;
    width: 20px !important;
  }
  .generalPhones.layout-row {
    flex-wrap: wrap;
    gap: 6px;
  }
  .generalPhones.layout-list .phoneConteiner,
  .generalPhones.layout-divided .phoneConteiner {
    align-items: center;
  }
}
/* ═══════════════════════════════════════════════════════
   TEMAS VISUALES — basados en variables CSS
   Los temas solo definen valores (--ph-*). La "piel" usa :where()
   (especificidad 0) para que el panel de diseño SIEMPRE tenga prioridad:
   fondo, borde, esquinas, relleno y color funcionan en todos los temas.
   ═══════════════════════════════════════════════════════ */
:where(.phoneConteiner) .phone-adsa {
  background: var(--ph-bg, transparent);
  background-size: var(--ph-bgsize, auto);
  color: var(--ph-color, inherit);
  padding: var(--ph-pad, 0);
  border: var(--ph-border, 0);
  border-radius: var(--ph-radius, 0);
  box-shadow: var(--ph-shadow, none);
  font-weight: var(--ph-fw, inherit);
  font-size: var(--ph-fs, inherit);
  font-family: var(--ph-ff, inherit);
  letter-spacing: var(--ph-ls, inherit);
  text-shadow: var(--ph-ts, none);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease, opacity 0.2s ease, filter 0.2s ease;
}

:where(.phoneConteiner) .phone-adsa:hover {
  background: var(--ph-bg-h, var(--ph-bg, transparent));
  background-size: var(--ph-bgsize, auto);
  box-shadow: var(--ph-shadow-h, var(--ph-shadow, none));
  transform: var(--ph-lift, none);
  opacity: var(--ph-op-h, 1);
  filter: var(--ph-fil-h, none);
}

:where(.phoneConteiner .icono-phone) svg {
  fill: var(--ph-icon, #000);
  filter: var(--ph-ifil, none);
}

.is-whatsapp .icono-phone svg path {
  fill: var(--ph-wa, #25D366);
}

/* 1 Minimal line */
.tema-minimal {
  --ph-pad: 4px 0;
  --ph-fw: 500;
  --ph-shadow: 0 1.5px 0 currentColor;
  --ph-op-h: .6;
  --ph-icon: currentColor;
  --ph-wa: #25D366;
}

.tema-minimal .icono-phone {
  margin-right: 6px;
}

/* 2 Chip */
.tema-chip {
  --ph-bg: #f3f4f6;
  --ph-bg-h: #e5e7eb;
  --ph-color: #111827;
  --ph-pad: 7px 16px;
  --ph-radius: 999px;
  --ph-fw: 600;
  --ph-fs: .9em;
  --ph-border: 1px solid #e5e7eb;
  --ph-lift: translateY(-1px);
  --ph-icon: #374151;
}

/* 3 Card */
.tema-card {
  --ph-bg: #fafafa;
  --ph-bg-h: #f0f0f0;
  --ph-color: #1a1a1a;
  --ph-pad: 10px 18px;
  --ph-radius: 10px;
  --ph-fw: 500;
  --ph-border: 1px solid #ebebeb;
  --ph-shadow-h: 0 2px 8px rgba(0,0,0,.07);
  --ph-icon: #1a1a1a;
}

/* 4 Solid */
.tema-solid {
  --ph-bg: #111827;
  --ph-bg-h: #1f2937;
  --ph-color: #fff;
  --ph-pad: 10px 20px;
  --ph-radius: 8px;
  --ph-fw: 600;
  --ph-lift: translateY(-1px);
  --ph-icon: #fff;
  --ph-wa: var(--ph-icon);
}

/* 5 Outline */
.tema-outline {
  --ph-bg-h: rgba(0,0,0,.06);
  --ph-border: 2px solid currentColor;
  --ph-pad: 9px 20px;
  --ph-radius: 8px;
  --ph-fw: 600;
  --ph-icon: currentColor;
}

/* 6 Soft shadow */
.tema-soft {
  --ph-bg: #fff;
  --ph-color: #111827;
  --ph-pad: 10px 20px;
  --ph-radius: 12px;
  --ph-fw: 600;
  --ph-border: 1px solid rgba(0,0,0,.06);
  --ph-shadow: 0 1px 4px rgba(0,0,0,.06), 0 6px 20px rgba(0,0,0,.07);
  --ph-shadow-h: 0 4px 16px rgba(0,0,0,.12);
  --ph-lift: translateY(-2px);
  --ph-icon: #111827;
}

/* 7 Gradient */
.tema-gradient {
  --ph-bg: linear-gradient(135deg,#6366f1,#8b5cf6,#ec4899);
  --ph-color: #fff;
  --ph-pad: 10px 22px;
  --ph-radius: 999px;
  --ph-fw: 700;
  --ph-shadow: 0 4px 14px rgba(99,102,241,.4);
  --ph-shadow-h: 0 6px 22px rgba(99,102,241,.6);
  --ph-lift: translateY(-2px);
  --ph-fil-h: brightness(1.08);
  --ph-icon: #fff;
  --ph-wa: var(--ph-icon);
}

/* 8 Glass dark */
.tema-glass {
  --ph-bg: rgba(15,15,15,.78);
  --ph-bg-h: rgba(15,15,15,.88);
  --ph-color: #fff;
  --ph-pad: 10px 20px;
  --ph-radius: 14px;
  --ph-fw: 600;
  --ph-border: 1px solid rgba(255,255,255,.18);
  --ph-shadow: 0 4px 20px rgba(0,0,0,.25);
  --ph-shadow-h: 0 6px 28px rgba(0,0,0,.35);
  --ph-icon: #fff;
  --ph-wa: var(--ph-icon);
}

/* 9 Frosted light */
.tema-frosted {
  --ph-bg: rgba(255,255,255,.3);
  --ph-bg-h: rgba(255,255,255,.4);
  --ph-color: #fff;
  --ph-pad: 10px 20px;
  --ph-radius: 14px;
  --ph-fw: 600;
  --ph-border: 1px solid rgba(255,255,255,.5);
  --ph-shadow: 0 4px 24px rgba(0,0,0,.15), inset 0 1px 0 rgba(255,255,255,.6);
  --ph-lift: translateY(-1px);
  --ph-icon: #fff;
  --ph-wa: var(--ph-icon);
}

/* backdrop-filter solo en pantallas grandes (costoso en móvil) */
@media (min-width: 768px) {
  .tema-glass .phone-adsa {
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    --ph-bg: rgba(15,15,15,.55);
  }
  .tema-frosted .phone-adsa {
    backdrop-filter: blur(14px) saturate(160%);
    -webkit-backdrop-filter: blur(14px) saturate(160%);
  }
}
/* 10 Neon cyan */
.tema-neon {
  --ph-bg: #050d14;
  --ph-color: #00f5d4;
  --ph-pad: 9px 20px;
  --ph-radius: 8px;
  --ph-fw: 700;
  --ph-ls: .5px;
  --ph-border: 2px solid #00f5d4;
  --ph-ts: 0 0 8px rgba(0,245,212,.8);
  --ph-shadow: 0 0 10px rgba(0,245,212,.3), inset 0 0 10px rgba(0,245,212,.05);
  --ph-shadow-h: 0 0 22px rgba(0,245,212,.65), inset 0 0 18px rgba(0,245,212,.12);
  --ph-icon: #00f5d4;
  --ph-ifil: drop-shadow(0 0 5px rgba(0,245,212,.8));
  --ph-wa: var(--ph-icon);
}

/* 11 Neon magenta */
.tema-neon-pink {
  --ph-bg: #0d0010;
  --ph-color: #f700ff;
  --ph-pad: 9px 20px;
  --ph-radius: 8px;
  --ph-fw: 700;
  --ph-border: 2px solid #f700ff;
  --ph-ts: 0 0 8px rgba(247,0,255,.8);
  --ph-shadow: 0 0 10px rgba(247,0,255,.3), inset 0 0 10px rgba(247,0,255,.05);
  --ph-shadow-h: 0 0 22px rgba(247,0,255,.65);
  --ph-icon: #f700ff;
  --ph-ifil: drop-shadow(0 0 5px rgba(247,0,255,.8));
  --ph-wa: var(--ph-icon);
}

/* 12 Aurora (anima solo en hover/foco) */
.tema-aurora {
  --ph-bg: linear-gradient(270deg,#00c9ff,#92fe9d,#00c9ff,#a78bfa);
  --ph-bgsize: 400% 400%;
  --ph-color: #0d1117;
  --ph-pad: 10px 22px;
  --ph-radius: 999px;
  --ph-fw: 700;
  --ph-shadow: 0 4px 18px rgba(0,201,255,.35);
  --ph-shadow-h: 0 6px 28px rgba(0,201,255,.5);
  --ph-lift: translateY(-2px);
  --ph-icon: #0d1117;
  --ph-wa: var(--ph-icon);
}

.tema-aurora .phone-adsa:hover, .tema-aurora .phone-adsa:focus-visible {
  animation: auroraMove 6s ease infinite;
}

@keyframes auroraMove {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
/* 13 Rainbow border (sin pseudo-elementos; anima solo en hover/foco) */
.tema-rainbow {
  --ph-bg: linear-gradient(#fff,#fff) padding-box, linear-gradient(90deg,#ff0080,#ff6a00,#ffcc00,#00e676,#00b0ff,#651fff,#ff0080) border-box;
  --ph-bgsize: 100% 100%, 300% 100%;
  --ph-color: #111827;
  --ph-pad: 10px 20px;
  --ph-radius: 10px;
  --ph-fw: 700;
  --ph-border: 2px solid transparent;
  --ph-shadow: 0 2px 12px rgba(0,0,0,.08);
  --ph-lift: translateY(-2px);
  --ph-icon: #111827;
}

.tema-rainbow .phone-adsa:hover, .tema-rainbow .phone-adsa:focus-visible {
  animation: rainbowShift 3s linear infinite;
}

@keyframes rainbowShift {
  0% {
    background-position: 0 0, 0% 50%;
  }
  100% {
    background-position: 0 0, 300% 50%;
  }
}
/* 14 Ink */
.tema-ink {
  --ph-pad: 2px 0;
  --ph-fw: 800;
  --ph-fs: 1.05em;
  --ph-ls: -.5px;
  --ph-icon: currentColor;
}

.tema-ink .icono-phone {
  margin-right: 7px;
}

.tema-ink .phone-adsa {
  position: relative;
  overflow: hidden;
}

.tema-ink .phone-adsa::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.tema-ink .phone-adsa:hover::after {
  transform: scaleX(1);
  transform-origin: left;
}

/* 15 Zinc */
.tema-zinc {
  --ph-bg: #18181b;
  --ph-bg-h: #27272a;
  --ph-color: #f4f4f5;
  --ph-pad: 9px 20px;
  --ph-radius: 6px;
  --ph-fw: 500;
  --ph-ls: .2px;
  --ph-border: 1px solid #27272a;
  --ph-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  --ph-shadow-h: inset 0 1px 0 rgba(255,255,255,.09), 0 0 0 1px #3f3f46;
  --ph-icon: #a1a1aa;
  --ph-label: #71717a;
  --ph-lop: 1;
  --ph-wa: var(--ph-icon);
}

/* 16 Ivory */
.tema-ivory {
  --ph-bg: #fdf6ec;
  --ph-bg-h: #f5ead7;
  --ph-color: #292524;
  --ph-pad: 10px 20px;
  --ph-radius: 8px;
  --ph-fw: 500;
  --ph-border: 1px solid #e7ddd1;
  --ph-shadow: 0 1px 3px rgba(120,80,20,.06);
  --ph-shadow-h: 0 3px 12px rgba(120,80,20,.1);
  --ph-lift: translateY(-1px);
  --ph-icon: #78350f;
  --ph-label: #92400e;
  --ph-lop: 1;
}

/* 17 Slate */
.tema-slate {
  --ph-bg: #1e293b;
  --ph-bg-h: #273549;
  --ph-color: #e2e8f0;
  --ph-pad: 10px 22px;
  --ph-radius: 10px;
  --ph-fw: 600;
  --ph-border: 1px solid #334155;
  --ph-shadow: 0 2px 8px rgba(15,23,42,.3);
  --ph-shadow-h: 0 4px 16px rgba(15,23,42,.4);
  --ph-lift: translateY(-1px);
  --ph-icon: #94a3b8;
  --ph-label: #64748b;
  --ph-lop: 1;
  --ph-wa: var(--ph-icon);
}

/* 18 Ember */
.tema-ember {
  --ph-bg: linear-gradient(135deg,#f97316,#ea580c);
  --ph-color: #fff;
  --ph-pad: 10px 22px;
  --ph-radius: 10px;
  --ph-fw: 700;
  --ph-shadow: 0 4px 14px rgba(234,88,12,.4);
  --ph-shadow-h: 0 6px 22px rgba(234,88,12,.55);
  --ph-lift: translateY(-2px);
  --ph-fil-h: brightness(1.06);
  --ph-icon: #fff;
  --ph-wa: var(--ph-icon);
}

/* 19 Arctic */
.tema-arctic {
  --ph-bg: linear-gradient(135deg,#dbeafe,#eff6ff);
  --ph-color: #1d4ed8;
  --ph-pad: 10px 22px;
  --ph-radius: 12px;
  --ph-fw: 600;
  --ph-border: 1px solid #bfdbfe;
  --ph-shadow: 0 2px 8px rgba(59,130,246,.12);
  --ph-shadow-h: 0 4px 16px rgba(59,130,246,.22);
  --ph-lift: translateY(-1px);
  --ph-icon: #2563eb;
  --ph-label: #3b82f6;
  --ph-lop: 1;
}

/* 20 Obsidian */
.tema-obsidian {
  --ph-bg: #09090b;
  --ph-color: #fafafa;
  --ph-pad: 10px 22px;
  --ph-radius: 8px;
  --ph-fw: 600;
  --ph-ls: .4px;
  --ph-border: 1px solid rgba(255,255,255,.08);
  --ph-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 8px 32px rgba(0,0,0,.6);
  --ph-shadow-h: 0 0 0 1px rgba(255,255,255,.12), 0 12px 40px rgba(0,0,0,.7);
  --ph-lift: translateY(-1px);
  --ph-icon: #e4e4e7;
  --ph-label: #71717a;
  --ph-lop: 1;
  --ph-wa: var(--ph-icon);
}

/* 21 Sage */
.tema-sage {
  --ph-bg: #f0fdf4;
  --ph-bg-h: #dcfce7;
  --ph-color: #166534;
  --ph-pad: 10px 20px;
  --ph-radius: 10px;
  --ph-fw: 600;
  --ph-border: 1px solid #bbf7d0;
  --ph-shadow: 0 1px 4px rgba(22,101,52,.08);
  --ph-shadow-h: 0 3px 12px rgba(22,101,52,.14);
  --ph-lift: translateY(-1px);
  --ph-icon: #15803d;
  --ph-label: #16a34a;
  --ph-lop: 1;
}

/* 22 Velvet */
.tema-velvet {
  --ph-bg: linear-gradient(135deg,#3b0764,#581c87);
  --ph-color: #e9d5ff;
  --ph-pad: 10px 22px;
  --ph-radius: 12px;
  --ph-fw: 600;
  --ph-border: 1px solid rgba(167,139,250,.2);
  --ph-shadow: 0 4px 18px rgba(88,28,135,.45);
  --ph-shadow-h: 0 6px 28px rgba(88,28,135,.6);
  --ph-lift: translateY(-2px);
  --ph-icon: #c4b5fd;
  --ph-label: #a78bfa;
  --ph-lop: 1;
  --ph-wa: var(--ph-icon);
}

/* 23 Mono border */
.tema-mono-border {
  --ph-pad: 6px 0;
  --ph-fw: 600;
  --ph-op-h: .7;
  --ph-lift: translateX(3px);
  --ph-icon: currentColor;
}

.tema-mono-border.phoneConteiner {
  border-left: 3px solid currentColor;
  padding-left: 12px;
}

.tema-mono-border .icono-phone {
  margin-right: 8px;
}

/* 24 Ticker */
.tema-ticker {
  --ph-bg: #000;
  --ph-color: #00ff87;
  --ph-pad: 8px 18px;
  --ph-radius: 6px;
  --ph-ff: "Courier New", monospace;
  --ph-fw: 700;
  --ph-fs: 1.05em;
  --ph-ls: 2px;
  --ph-border: 1px solid #00ff8733;
  --ph-shadow: 0 0 14px rgba(0,255,135,.18);
  --ph-shadow-h: 0 0 26px rgba(0,255,135,.35);
  --ph-icon: #00ff87;
  --ph-label: #00ff87;
  --ph-lop: .6;
  --ph-wa: var(--ph-icon);
}

/* ═══════════════════════════════════════════════════════
   ANIMACIONES DEL ICONO (solo transform: acelerado por GPU)
   ═══════════════════════════════════════════════════════ */
.icono-phone.heartbeat {
  animation: heartbeat 1.5s ease-in-out infinite both;
}

@keyframes heartbeat {
  from, 45% {
    transform: scale(1);
  }
  10% {
    transform: scale(0.91);
  }
  17% {
    transform: scale(0.98);
  }
  33% {
    transform: scale(0.87);
  }
}
.icono-phone.pulsate-bck {
  animation: pulsate-bck 0.5s ease-in-out infinite both;
}

@keyframes pulsate-bck {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.9);
  }
}
/* ═══════════════════════════════════════════════════════
   PRESETS DE SOMBRA (selector de contenido; el panel de diseño sigue ganando)
   ═══════════════════════════════════════════════════════ */
:where(.sombra-flat) .phone-adsa, :where(.sombra-flat) .phone-adsa:hover {
  box-shadow: none;
}

:where(.sombra-soft) .phone-adsa {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

:where(.sombra-soft) .phone-adsa:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
}

:where(.sombra-medium) .phone-adsa {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16);
}

:where(.sombra-medium) .phone-adsa:hover {
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

:where(.sombra-strong) .phone-adsa {
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.3);
}

:where(.sombra-strong) .phone-adsa:hover {
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.38);
}

/* ═══════════════════════════════════════════════════════
   MODO AUTOMÁTICO CLARO/OSCURO (temas claros se oscurecen)
   ═══════════════════════════════════════════════════════ */
@media (prefers-color-scheme: dark) {
  .modo-auto .tema-chip, .modo-auto .tema-card, .modo-auto .tema-soft,
  .modo-auto .tema-ivory, .modo-auto .tema-sage, .modo-auto .tema-arctic {
    --ph-bg: #27272a;
    --ph-bg-h: #3f3f46;
    --ph-color: #f4f4f5;
    --ph-border: 1px solid #3f3f46;
    --ph-icon: #e4e4e7;
    --ph-label: #a1a1aa;
    --ph-lop: 1;
  }
  .modo-auto .tema-rainbow {
    --ph-bg: linear-gradient(#18181b,#18181b) padding-box, linear-gradient(90deg,#ff0080,#ff6a00,#ffcc00,#00e676,#00b0ff,#651fff,#ff0080) border-box;
    --ph-color: #f4f4f5;
    --ph-icon: #f4f4f5;
  }
  .modo-auto .tema-frosted, .modo-auto .tema-glass {
    --ph-color: #fff;
  }
}
/* ═══════════════════════════════════════════════════════
   BOTÓN FLOTANTE DE LLAMADA (solo móvil, estático = sin coste de animación)
   ═══════════════════════════════════════════════════════ */
.ph-fab {
  display: none;
}

@media (max-width: 767px) {
  .ph-fab {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #16a34a;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
    z-index: 9998;
    text-decoration: none;
  }
  .ph-fab-right {
    right: 16px;
  }
  .ph-fab-left {
    left: 16px;
  }
  .ph-fab-wa {
    background: #25D366;
  }
  .ph-fab svg {
    width: 26px;
    height: 26px;
    fill: #fff;
  }
  .ph-fab svg path {
    fill: #fff;
  }
  .ph-fab:active {
    transform: scale(0.95);
  }
}
/* Accesibilidad / rendimiento: respetar "reducir movimiento" */
@media (prefers-reduced-motion: reduce) {
  .icono-phone, .badge-dot::after, .phone-adsa {
    animation: none !important;
    transition: none !important;
  }
}
@media (max-width: 767px) { .phoneConteiner a {
  display: flex;
  align-items: center;
  justify-content: center !important;
} }
@charset "UTF-8";
.widget-964d45 {
  /* ── Design tokens ── */
  --card-bg: transparent;
  --card-text: #ffffff;
  --card-title-color:#ffffff;
  --icon-bg: rgba(255,255,255,0.18);
  --icon-color: #ffffff;
  --accent-color: #3b9fd4;
  --bar-bg: transparent;
  --divider-color: rgba(255,255,255,0.15);
  --cta-btn-bg: #25d366;
  --cta-btn-text: #ffffff;
  --hours-highlight:#5bc8f5;
  --maps-btn-bg: #4285F4;
  --waze-btn-bg: #33CCFF;
  --waze-btn-text: #1a1a1a;
  --icon-size: 44px;
  --card-radius: 16px;
  --map-height: 280px;
  --hover-bg: rgba(255,255,255,0.06);
  font-family: inherit;
  box-sizing: border-box;
  /* ══════════════════════════════════════
     WRAPPER
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     LAYOUT A — BARRA HORIZONTAL (flex wrap)
     Tarjetas en fila que se ajustan al ancho
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     LAYOUT B — GRID 3 COLUMNAS
  ══════════════════════════════════════ */
  /* Columna = contenedor flex vertical */
  /* ══════════════════════════════════════
     LAYOUT C — CARDS SEPARADAS
     Reutiliza #layout-bar con clase extra .layout-cards
     Cards flotantes con gap, border-radius y sombra
  ══════════════════════════════════════ */
  /* Ícono floating en modo cards */
  /* ══════════════════════════════════════
     LAYOUT D — MASONRY
     Reutiliza #layout-grid con clase extra .layout-masonry
     Cards de altura natural (sin stretch), gap visible, bordes redondeados
  ══════════════════════════════════════ */
  /* LAYOUT E - MINIMAL LINE
     Iconos de linea fina, tipografia serif con mayusculas y letter-spacing,
     separadores verticales finos opcionales entre tarjetas */
  /* LAYOUT F - APILADO VERTICAL
     Cada tarjeta ocupa 100% del ancho, una debajo de otra.
     Icono + titulo alineados a la izquierda, contenido a la derecha,
     separadas por lineas horizontales finas. Ideal para columnas angostas / sidebars. */
  /* En columnas muy angostas, icono+titulo pasan arriba del contenido */
  /* ══════════════════════════════════════
     CARD BASE (común a ambos layouts)
  ══════════════════════════════════════ */
  /* En layout grid, las tarjetas dentro de columna se expanden verticalmente */
  /* ── Layout barra: tarjetas base ── */
  /* Línea de acento superior al hacer hover */
  /* ─────────────────────────────────────────────────────
     MODO FLOATING: ícono sobresaliente (por defecto)
     La clase .bar-icon-floating se agrega al layout-bar desde JS
  ───────────────────────────────────────────────────── */
  /* Ícono flotante: mismo tamaño que --icon-size, con aro y sombra */
  /* ─────────────────────────────────────────────────────
     MODO INSIDE: ícono dentro de la tarjeta (centrado arriba)
     La clase .bar-icon-inside se agrega al layout-bar desde JS
  ───────────────────────────────────────────────────── */
  /* Ícono inside: tamaño exacto de --icon-size */
  /* Título centrado con espaciado en barra */
  /* Contenido centrado en barra */
  /* Filas de horario — flex column centrado en barra */
  /* Botones de mapa centrados en barra */
  /* Dirección centrada en barra */
  /* Líneas de contacto centradas en barra */
  /* Separador full-width en barra */
  /* CTA wrap centrado en barra */
  /* ══════════════════════════════════════
     SCROLL ANIMATION
  ══════════════════════════════════════ */
  /* Delays para layout bar */
  /* Delays para layout grid */
  /* ══════════════════════════════════════
     CARD HEADER (ícono + título en fila)
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     ICON WRAP
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     TITLE
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     CONTENT AREA
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     CONTACT LINES (phone / email)
  ══════════════════════════════════════ */
  /* Phone label */
  /* ══════════════════════════════════════
     HOURS — tabla izquierda
  ══════════════════════════════════════ */
  /* Texto adicional libre al pie de cualquier tarjeta */
  /* ══════════════════════════════════════
     PANEL "ABIERTO AHORA"
  ══════════════════════════════════════ */
  /* Glass (glassmorphism con halo) */
  /* Pastilla */
  /* Banner sólido */
  /* Minimal */
  /* ══════════════════════════════════════
     LAYOUTS DE HORARIO
  ══════════════════════════════════════ */
  /* Lista con puntos guía */
  /* Tabla con filas alternadas */
  /* Pastillas */
  /* Línea de tiempo */
  /* Mini tarjetas */
  /* Barra de acento lateral */
  /* Centrado minimalista */
  /* ══════════════════════════════════════
     EFECTOS: AURORA / GLOW / TILT / MAGNÉTICO
  ══════════════════════════════════════ */
  --aurora-1: transparent;
  --aurora-2: transparent;
  --aurora-3: transparent;
  /* Aurora / mesh animado */
  /* Tarjetas tipo cristal sobre el aurora */
  /* Borde con brillo giratorio */
  /* Tilt 3D */
  /* Botones magnéticos */
  /* Modo claro */
  /* Open/Closed badge (legado) */
  /* ══════════════════════════════════════
     ADDRESS
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     MAP BUTTONS
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     WHATSAPP BUTTON
  ══════════════════════════════════════ */
  /* Separador visual entre teléfonos y emails dentro de la tarjeta Contáctanos */
  /* ══════════════════════════════════════
     REDES SOCIALES — íconos grandes en fila
  ══════════════════════════════════════ */
  /* Estilo color — fondo de marca, ícono blanco */
  /* Estilo color-flat — sin fondo de color, ícono en color de marca */
  /* Estilo mono-black — fondo blanco, ícono negro */
  /* Estilo neo — fondo oscuro, glow de neón */
  /* ══════════════════════════════════════
     FORMAS DE PAGO
  ══════════════════════════════════════ */
  /* Badge de texto para métodos manuales sin imagen */
  /* ══════════════════════════════════════
     HOVER LIFT
  ══════════════════════════════════════ */
  /* Base: transición suave para todos los efectos hover */
  /* Pseudo-elemento para el destello diagonal (shine) */
  /* ── hover-lift: elevar con sombra (default) ── */
  /* ── hover-glow: halo de color acento ── */
  /* ── hover-border: borde superior de acento ── */
  /* ── hover-icon: el ícono crece y rota ligeramente ── */
  /* ── hover-shine: destello diagonal que barre la tarjeta ── */
  /* ══════════════════════════════════════
     ANIMACIONES DE ENTRADA
  ══════════════════════════════════════ */
  /* fade-up (por defecto) */
  /* fade-zoom */
  /* fade-left */
  /* flip */
  /* Clases de animación — sobrescriben el animate-card original */
  /* Respetar delays de aparición por tarjeta */
  /* Sin animación: aparecer directamente */
  /* ══════════════════════════════════════
     ICON STYLE VARIANTS
  ══════════════════════════════════════ */
  /* Horarios: evitar desborde con tipografías grandes */
  /* Tipografía: usa la fuente configurada en Temas */
  /* ══════════════════════════════════════
     MAP EMBED
  ══════════════════════════════════════ */
  /* ── Sucursales ── */
  /* Misma tipografía que la tarjeta principal */
  /* ══════════════════════════════════════
     DEBUG PANEL
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     RESPONSIVE — Tablet (600–900px)
  ══════════════════════════════════════ */
  /* ══════════════════════════════════════
     RESPONSIVE — Mobile (<600px)
  ══════════════════════════════════════ */
}
.widget-964d45 .contact-bar-wrapper {
  background: var(--bar-bg);
  padding: 0;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible; /* permite que los íonos del layout barra sobresalgan hacia arriba */
  opacity: 0; /* oculto hasta que se apliquen los colores configurados */
  animation: cb-fallback-reveal 0.01s linear 4s forwards; /* respaldo si falla el JS */
}
.widget-964d45 .contact-bar-wrapper.cb-ready {
  opacity: 1;
  animation: none;
  transition: opacity 0.25s ease;
}
@keyframes cb-fallback-reveal {
  to {
    opacity: 1;
  }
}
.widget-964d45 .layout-bar {
  display: none; /* oculto por defecto; JS lo muestra si layoutMode=bar */
  flex-wrap: wrap;
  max-width: 1200px;
  margin: 0 auto;
  align-items: stretch;
  padding-top: calc(var(--icon-size) * 0.75); /* espacio superior para que los íonos sobresalgan */
  overflow: visible;
}
.widget-964d45 .layout-bar .contact-card {
  flex: 1 1 220px;
  min-width: 200px;
  border-right: 1px solid var(--divider-color);
}
.widget-964d45 .layout-bar .contact-card:last-child {
  border-right: none;
}
.widget-964d45 .layout-grid {
  display: none; /* oculto por defecto; JS lo muestra si layoutMode=grid */
  grid-template-columns: repeat(3, 1fr);
  max-width: 1200px;
  margin: 0 auto;
}
.widget-964d45 .contact-col {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--divider-color);
}
.widget-964d45 .contact-col:last-child {
  border-right: none;
}
.widget-964d45 .layout-bar.layout-cards {
  gap: 20px;
  padding: 28px 20px;
  background: transparent;
}
.widget-964d45 .layout-bar.layout-cards .contact-card {
  border-right: none;
  border-bottom: none;
  border-top: none;
  border-radius: var(--card-radius, 16px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22), 0 1px 4px rgba(0, 0, 0, 0.15);
  flex: 1 1 200px;
  min-width: 190px;
  transition: background 0.25s, box-shadow 0.25s, transform 0.2s;
}
.widget-964d45 .layout-bar.layout-cards .contact-card:hover {
  border-top: none;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.18);
  transform: translateY(-3px);
}
.widget-964d45 .layout-bar.layout-cards.bar-icon-floating {
  padding-top: calc(var(--icon-size) * 0.75 + 28px);
}
.widget-964d45 .layout-bar.layout-cards.bar-icon-floating .card-icon-wrap {
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.38), 0 0 0 3px var(--card-bg);
}
.widget-964d45 .layout-grid.layout-masonry {
  gap: 20px;
  padding: 28px 20px;
  background: transparent;
  align-items: start; /* columnas no se estiran — efecto masonry */
}
.widget-964d45 .layout-grid.layout-masonry .contact-col {
  border-right: none;
  gap: 20px;
}
.widget-964d45 .layout-grid.layout-masonry .contact-card {
  border-right: none;
  border-bottom: none;
  border-radius: var(--card-radius, 16px);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.22), 0 1px 4px rgba(0, 0, 0, 0.15);
  flex: none; /* altura natural, no se expande */
  transition: background 0.25s, box-shadow 0.25s, transform 0.2s;
}
.widget-964d45 .layout-grid.layout-masonry .contact-card:hover {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), 0 2px 8px rgba(0, 0, 0, 0.18);
  transform: translateY(-3px);
}
.widget-964d45 .layout-bar.layout-minimal {
  gap: 0;
  padding: 36px 20px;
  background: transparent;
}
.widget-964d45 .layout-bar.layout-minimal .contact-card {
  border-right: 1px solid var(--divider-color);
  border-top: none;
  background: transparent;
  padding: 0 26px;
}
.widget-964d45 .layout-bar.layout-minimal .contact-card:last-child {
  border-right: none;
}
.widget-964d45 .layout-bar.layout-minimal.no-separators .contact-card {
  border-right: none;
}
.widget-964d45 .layout-bar.layout-minimal .contact-card:hover {
  border-top: none;
}
.widget-964d45 .layout-bar.layout-minimal .card-icon-wrap {
  background: transparent;
  border: none;
  width: auto;
  height: auto;
  min-width: 0;
  margin-bottom: 6px;
}
.widget-964d45 .layout-bar.layout-minimal .card-icon-wrap svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: var(--icon-color);
  stroke-width: 1.3;
  color: var(--icon-color);
}
.widget-964d45 .layout-bar.layout-minimal.bar-icon-inside .card-icon-wrap {
  margin-top: 0;
}
.widget-964d45 .layout-bar.layout-minimal .card-title {
  font-family: inherit;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  font-weight: 400;
  font-size: 20px;
  opacity: 1;
  margin-bottom: 16px;
}
.widget-964d45 .layout-bar.layout-minimal .card-content {
  font-size: 13px;
  opacity: 0.9;
}
.widget-964d45 .layout-bar.layout-minimal .social-icon-link {
  width: 30px;
  height: 30px;
  background: transparent;
  border: 1px solid var(--divider-color);
}
.widget-964d45 .layout-bar.layout-minimal .social-icon-link svg {
  width: 14px;
  height: 14px;
}
.widget-964d45 .layout-bar.layout-minimal .map-btn,
.widget-964d45 .layout-bar.layout-minimal .whatsapp-cta-btn {
  border-radius: 3px;
}
.widget-964d45 .layout-bar.layout-stack {
  flex-direction: column;
  flex-wrap: nowrap;
  width: 100%;
  max-width: 640px;
  padding: 8px 20px;
  gap: 0;
  box-sizing: border-box;
  overflow: hidden;
}
.widget-964d45 .layout-bar.layout-stack .contact-card {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  text-align: left;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border-right: none;
  border-bottom: 1px solid var(--divider-color);
  padding: 22px 4px;
  gap: 6px 18px;
  container-type: inline-size;
}
.widget-964d45 .layout-bar.layout-stack .contact-card:last-child {
  border-bottom: none;
}
.widget-964d45 .layout-bar.layout-stack .contact-card:hover {
  border-top: none;
}
.widget-964d45 .layout-bar.layout-stack .bar-card-icon {
  position: static !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
}
.widget-964d45 .layout-bar.layout-stack .card-icon-wrap {
  box-shadow: none !important;
}
.widget-964d45 .layout-bar.layout-stack .card-title,
.widget-964d45 .layout-bar.layout-stack .card-content,
.widget-964d45 .layout-bar.layout-stack .address-text,
.widget-964d45 .layout-bar.layout-stack .contact-line,
.widget-964d45 .layout-bar.layout-stack .map-buttons,
.widget-964d45 .layout-bar.layout-stack .card-cta-wrap,
.widget-964d45 .layout-bar.layout-stack .hours-row {
  text-align: left;
  align-items: flex-start;
  justify-content: flex-start;
}
.widget-964d45 .layout-bar.layout-stack .card-title {
  width: auto;
  max-width: 100%;
  margin: 6px 0 0;
  flex-shrink: 0;
  word-break: break-word;
}
.widget-964d45 .layout-bar.layout-stack .card-content {
  flex: 1 1 180px;
  min-width: 0;
  max-width: 100%;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.widget-964d45 .layout-bar.layout-stack .address-text,
.widget-964d45 .layout-bar.layout-stack .contact-line-text,
.widget-964d45 .layout-bar.layout-stack .card-extra-note {
  word-break: break-word;
  overflow-wrap: anywhere;
}
.widget-964d45 .layout-bar.layout-stack .map-buttons,
.widget-964d45 .layout-bar.layout-stack .card-payments .card-content {
  flex-wrap: wrap;
}
.widget-964d45 .layout-bar.layout-stack img,
.widget-964d45 .layout-bar.layout-stack svg {
  max-width: 100%;
}
@container (max-width: 260px) {
  .widget-964d45 .layout-bar.layout-stack .contact-card {
    flex-direction: column;
    gap: 6px;
  }
  .widget-964d45 .layout-bar.layout-stack .card-title {
    margin: 4px 0 2px;
  }
}
.widget-964d45 .layout-bar.layout-stack .social-icons-row,
.widget-964d45 .layout-bar.layout-stack .map-buttons {
  justify-content: flex-start;
}
.widget-964d45 .contact-card {
  background: var(--card-bg);
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
  transition: background 0.25s;
  border-bottom: 1px solid var(--divider-color);
}
.widget-964d45 .layout-grid .contact-col .contact-card {
  flex: 1;
}
.widget-964d45 .layout-grid .contact-col .contact-card:last-child {
  border-bottom: none;
}
.widget-964d45 .layout-bar .contact-card {
  border-bottom: none;
  padding: 0 22px 28px;
  align-items: center;
  border-top: 3px solid transparent;
  transition: background 0.25s, border-top-color 0.25s;
  overflow: visible;
}
.widget-964d45 .layout-bar .contact-card:hover {
  border-top-color: var(--accent-color);
}
.widget-964d45 .layout-bar.bar-icon-floating .contact-card {
  padding-top: calc(var(--icon-size) * 0.9) !important;
}
.widget-964d45 .layout-bar.bar-icon-floating .bar-card-icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  justify-content: center;
}
.widget-964d45 .layout-bar.bar-icon-floating .card-icon-wrap {
  width: var(--icon-size);
  height: var(--icon-size);
  min-width: var(--icon-size);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.38), 0 0 0 3px var(--bar-bg);
}
.widget-964d45 .layout-bar.bar-icon-inside .contact-card {
  padding-top: 24px;
}
.widget-964d45 .layout-bar.bar-icon-inside .bar-card-icon {
  position: static;
  top: auto;
  left: auto;
  transform: none;
  display: flex;
  justify-content: center;
  width: 100%;
  margin-bottom: 12px;
  margin-top: 0;
}
.widget-964d45 .layout-bar.bar-icon-inside .card-icon-wrap {
  width: var(--icon-size);
  height: var(--icon-size);
  min-width: var(--icon-size);
  box-shadow: none;
}
.widget-964d45 .layout-bar .card-title {
  text-align: center;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
  opacity: 0.88;
  margin-bottom: 14px;
  width: 100%;
}
.widget-964d45 .layout-bar .card-content {
  align-items: center;
  text-align: center;
  width: 100%;
}
.widget-964d45 .layout-bar .hours-row {
  display: flex;
  flex-direction: column;
  gap: 1px;
  align-items: center;
  text-align: center;
}
.widget-964d45 .layout-bar .map-buttons {
  justify-content: center;
}
.widget-964d45 .layout-bar .address-text {
  text-align: center;
}
.widget-964d45 .layout-bar .contact-line {
  justify-content: center;
}
.widget-964d45 .layout-bar .contact-section-sep {
  align-self: stretch;
}
.widget-964d45 .layout-bar .card-cta-wrap {
  width: 100%;
  align-items: center;
}
.widget-964d45 .animate-card {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.5s ease, transform 0.5s ease, background 0.25s;
}
.widget-964d45 .animate-card.visible {
  opacity: 1;
  transform: translateY(0);
}
.widget-964d45 .layout-bar .contact-card:nth-child(1) {
  transition-delay: 0s;
}
.widget-964d45 .layout-bar .contact-card:nth-child(2) {
  transition-delay: 0.08s;
}
.widget-964d45 .layout-bar .contact-card:nth-child(3) {
  transition-delay: 0.16s;
}
.widget-964d45 .layout-bar .contact-card:nth-child(4) {
  transition-delay: 0.24s;
}
.widget-964d45 .layout-bar .contact-card:nth-child(5) {
  transition-delay: 0.32s;
}
.widget-964d45 .layout-bar .contact-card:nth-child(6) {
  transition-delay: 0.4s;
}
.widget-964d45 .layout-grid .contact-col:nth-child(1) .animate-card {
  transition-delay: 0s;
}
.widget-964d45 .layout-grid .contact-col:nth-child(2) .animate-card {
  transition-delay: 0.08s;
}
.widget-964d45 .layout-grid .contact-col:nth-child(3) .animate-card {
  transition-delay: 0.16s;
}
.widget-964d45 .card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
}
.widget-964d45 .card-icon-wrap {
  width: var(--icon-size);
  height: var(--icon-size);
  min-width: var(--icon-size);
  background: var(--icon-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.widget-964d45 .card-icon-wrap svg {
  width: 22px;
  height: 22px;
  fill: var(--icon-color);
  color: var(--icon-color);
}
.widget-964d45 .card-title {
  font-size: 17px;
  font-weight: 700;
  color: var(--card-title-color);
  margin: 0;
  letter-spacing: 0.01em;
  line-height: 1.2;
}
.widget-964d45 .card-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--card-text);
  font-size: 14px;
  line-height: 1.5;
}
.widget-964d45 .contact-line {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--card-text);
  transition: opacity 0.2s;
}
.widget-964d45 .contact-line:hover {
  opacity: 0.72;
}
.widget-964d45 .contact-line .contact-line-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
.widget-964d45 .contact-line .contact-line-icon svg {
  width: 14px;
  height: 14px;
  fill: var(--accent-color);
  color: var(--accent-color);
}
.widget-964d45 .contact-line .contact-line-text {
  font-size: 14px;
  word-break: break-word;
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.widget-964d45 .phone-label {
  font-size: 10px;
  opacity: 0.65;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1;
}
.widget-964d45 .hours-content {
  gap: 6px;
}
.widget-964d45 .hours-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: baseline;
}
.widget-964d45 .hours-days {
  font-weight: 600;
  color: var(--hours-highlight);
  font-size: 13px;
  white-space: nowrap;
}
.widget-964d45 .hours-time {
  color: var(--card-text);
  font-size: 13px;
}
.widget-964d45 .hours-note {
  color: var(--card-text);
  font-size: 12px;
  opacity: 0.75;
  font-style: italic;
  margin: 8px 0 0;
  line-height: 1.45;
}
.widget-964d45 .card-extra-note {
  color: var(--card-text);
  font-size: 12px;
  opacity: 0.72;
  line-height: 1.5;
  margin: 10px 0 0;
  padding-top: 8px;
  border-top: 1px solid var(--divider-color);
  width: 100%;
}
.widget-964d45 .open-panel {
  --op-color: var(--open-color, #2ecc71);
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px;
  margin-bottom: 8px;
  border-radius: 14px;
  box-sizing: border-box;
  align-self: stretch;
  text-align: left;
  color: var(--card-text);
  width: 100%;
}
.widget-964d45 .open-panel.soon {
  --op-color: var(--soon-color, #f5a623);
}
.widget-964d45 .open-panel.closed {
  --op-color: var(--closed-color, #ff6b6b);
}
.widget-964d45 .open-dot {
  position: relative;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--op-color);
  flex-shrink: 0;
}
.widget-964d45 .open-dot::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: var(--op-color);
  animation: op-ping 1.8s ease-out infinite;
}
.widget-964d45 .open-panel.closed .open-dot::after {
  animation: none;
  opacity: 0;
}
@keyframes op-ping {
  0% {
    transform: scale(1);
    opacity: 0.7;
  }
  100% {
    transform: scale(3);
    opacity: 0;
  }
}
.widget-964d45 .open-panel-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  line-height: 1.2;
}
.widget-964d45 .open-panel-label {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.03em;
  color: var(--op-color);
}
.widget-964d45 .open-panel-next {
  font-size: 11px;
  opacity: 0.8;
}
.widget-964d45 .open-style-glass {
  background: color-mix(in srgb, var(--op-color) 14%, transparent);
  border: 1px solid color-mix(in srgb, var(--op-color) 45%, transparent);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 0 22px color-mix(in srgb, var(--op-color) 28%, transparent);
}
.widget-964d45 .open-style-pill {
  border-radius: 999px;
  padding: 7px 16px;
  background: color-mix(in srgb, var(--op-color) 18%, transparent);
}
.widget-964d45 .open-style-banner {
  background: var(--op-color);
  border-radius: 10px;
}
.widget-964d45 .open-style-banner .open-panel-label,
.widget-964d45 .open-style-banner .open-panel-next {
  color: #ffffff;
}
.widget-964d45 .open-style-banner .open-dot,
.widget-964d45 .open-style-banner .open-dot::after {
  background: #ffffff;
}
.widget-964d45 .open-style-minimal {
  padding: 0 0 4px;
  background: none;
  border-radius: 0;
}
.widget-964d45 .layout-bar .open-panel {
  justify-content: center;
}
.widget-964d45 .layout-bar .open-panel-text {
  align-items: flex-start;
}
.widget-964d45 .hours-content .hours-row.is-today {
  background: color-mix(in srgb, var(--accent-color) 22%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-color) 55%, transparent);
  border-radius: 10px;
  padding: 5px 9px;
}
.widget-964d45 .hours-content .hours-row.is-today .hours-days {
  color: var(--card-text);
}
.widget-964d45 .hours-content .hours-row.is-today .hours-time {
  font-weight: 700;
}
.widget-964d45 .hours-content.hours-layout-list .hours-row {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  width: 100%;
  text-align: left;
}
.widget-964d45 .hours-content.hours-layout-list .hours-days {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.widget-964d45 .hours-content.hours-layout-list .hours-days::after {
  content: "";
  flex: 1;
  border-bottom: 2px dotted var(--divider-color);
  transform: translateY(-3px);
}
.widget-964d45 .hours-content.hours-layout-list .hours-time {
  white-space: nowrap;
  font-weight: 600;
}
.widget-964d45 .hours-content.hours-layout-table {
  gap: 0;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--divider-color);
}
.widget-964d45 .hours-content.hours-layout-table .open-panel {
  margin: 0;
  border-radius: 0;
}
.widget-964d45 .hours-content.hours-layout-table .hours-row {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 9px 14px;
  width: 100%;
  box-sizing: border-box;
  text-align: left;
}
.widget-964d45 .hours-content.hours-layout-table .hours-row:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.06);
}
.widget-964d45 .hours-content.hours-layout-table .hours-row.is-today {
  border-radius: 0;
}
.widget-964d45 .hours-content.hours-layout-table .hours-time {
  font-weight: 600;
  text-align: right;
}
.widget-964d45 .hours-content.hours-layout-pills {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
}
.widget-964d45 .hours-content.hours-layout-pills .open-panel {
  flex: 1 1 100%;
}
.widget-964d45 .hours-content.hours-layout-pills .hours-row {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid var(--divider-color);
}
.widget-964d45 .hours-content.hours-layout-pills .hours-days::after {
  content: "";
}
.widget-964d45 .hours-content.hours-layout-pills .hours-row.is-today {
  border-radius: 999px;
}
.widget-964d45 .hours-content.hours-layout-timeline {
  gap: 0;
  padding-left: 18px;
  position: relative;
}
.widget-964d45 .hours-content.hours-layout-timeline::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 56px;
  bottom: 10px;
  width: 2px;
  background: var(--divider-color);
  border-radius: 2px;
}
.widget-964d45 .hours-content.hours-layout-timeline .open-panel {
  margin-left: -18px;
  width: calc(100% + 18px);
  margin-bottom: 10px;
}
.widget-964d45 .hours-content.hours-layout-timeline .hours-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1px;
  padding: 7px 0;
  position: relative;
  text-align: left;
}
.widget-964d45 .hours-content.hours-layout-timeline .hours-row::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 13px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--card-bg);
  border: 2px solid var(--accent-color);
  box-sizing: border-box;
}
.widget-964d45 .hours-content.hours-layout-timeline .hours-row.is-today::before {
  background: var(--accent-color);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent-color) 30%, transparent);
}
.widget-964d45 .hours-content.hours-layout-timeline .hours-row.is-today {
  background: none;
  box-shadow: none;
  padding: 7px 0;
}
.widget-964d45 .hours-content.hours-layout-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.widget-964d45 .hours-content.hours-layout-cards .open-panel {
  grid-column: 1/-1;
  margin: 0;
}
.widget-964d45 .hours-content.hours-layout-cards .hours-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  text-align: left;
}
.widget-964d45 .hours-content.hours-layout-cards .hours-row.is-today {
  grid-column: 1/-1;
}
.widget-964d45 .hours-content.hours-layout-accent .hours-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  width: 100%;
  box-sizing: border-box;
  border-left: 4px solid var(--accent-color);
  border-radius: 4px 10px 10px 4px;
  background: rgba(255, 255, 255, 0.06);
  padding: 8px 12px;
  text-align: left;
}
.widget-964d45 .hours-content.hours-layout-accent .hours-row.is-today {
  border-radius: 4px 10px 10px 4px;
}
.widget-964d45 .hours-content.hours-layout-centered {
  align-items: center;
  text-align: center;
  gap: 4px;
}
.widget-964d45 .hours-content.hours-layout-centered .hours-row {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  width: 100%;
  padding: 8px 0;
  border-bottom: 1px solid var(--divider-color);
  border-radius: 0;
  text-align: center;
}
.widget-964d45 .hours-content.hours-layout-centered .hours-row:last-of-type {
  border-bottom: none;
}
.widget-964d45 .hours-content.hours-layout-centered .hours-row.is-today {
  border-radius: 10px;
  border-bottom: none;
}
@media (max-width: 599px) {
  .widget-964d45 .hours-content.hours-layout-cards {
    grid-template-columns: 1fr;
  }
}
.widget-964d45 .contact-bar-wrapper {
  position: relative;
  isolation: isolate;
}
.widget-964d45.fx-aurora .contact-bar-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: 0.6;
  background: radial-gradient(circle at 20% 25%, var(--aurora-1) 0%, transparent 45%), radial-gradient(circle at 80% 30%, var(--aurora-2) 0%, transparent 48%), radial-gradient(circle at 50% 85%, var(--aurora-3) 0%, transparent 50%);
  background-size: 150% 150%, 170% 170%, 160% 160%;
  background-repeat: no-repeat;
  animation: fx-aurora 18s ease-in-out infinite alternate;
}
@keyframes fx-aurora {
  0% {
    background-position: 0% 0%, 100% 0%, 50% 100%;
  }
  50% {
    background-position: 60% 40%, 40% 60%, 20% 60%;
  }
  100% {
    background-position: 100% 100%, 0% 100%, 80% 0%;
  }
}
.widget-964d45.fx-aurora .contact-card {
  background: color-mix(in srgb, var(--card-bg) 70%, transparent);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  backdrop-filter: blur(14px) saturate(140%);
}
.widget-964d45.fx-glow-all .contact-card::before, .widget-964d45.fx-glow-open .contact-card.card-hours.is-open-now::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 2px;
  border-radius: inherit;
  background: conic-gradient(from var(--glow-angle), transparent 0deg, var(--accent-color) 70deg, var(--aurora-2) 140deg, transparent 220deg, transparent 360deg);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
  mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
  mask-composite: exclude;
  animation: fx-glow-spin 4s linear infinite;
  pointer-events: none;
  z-index: 2;
}
.widget-964d45.fx-glow-open .contact-card.card-hours.is-open-now::before {
  background: conic-gradient(from var(--glow-angle), transparent 0deg, var(--open-color, #2ecc71) 80deg, transparent 200deg, transparent 360deg);
}
@keyframes fx-glow-spin {
  to {
    --glow-angle: 360deg;
  }
}
.widget-964d45.fx-tilt .layout-bar, .widget-964d45.fx-tilt .layout-grid, .widget-964d45.fx-tilt .contact-col {
  perspective: 900px;
}
.widget-964d45.fx-tilt .contact-card {
  transition: background 0.25s, transform 0.25s cubic-bezier(0.22, 0.68, 0, 1.2), box-shadow 0.25s, border-color 0.25s, opacity 0.5s ease, rotate 0.18s ease-out;
  transition-delay: 0s !important;
  will-change: rotate;
}
.widget-964d45.fx-magnetic .whatsapp-cta-btn, .widget-964d45.fx-magnetic .map-btn, .widget-964d45.fx-magnetic .social-icon-link {
  position: relative;
  overflow: hidden;
  transition: translate 0.22s cubic-bezier(0.22, 0.68, 0, 1.2), scale 0.15s ease, opacity 0.2s, transform 0.15s, box-shadow 0.2s, background 0.2s;
}
.widget-964d45 .fx-ripple {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  transform: scale(0);
  animation: fx-ripple 0.6s ease-out forwards;
  pointer-events: none;
}
@keyframes fx-ripple {
  to {
    transform: scale(1);
    opacity: 0;
  }
}
@keyframes fx-wiggle {
  0%, 100% {
    transform: rotate(0);
  }
  25% {
    transform: rotate(-14deg) scale(1.15);
  }
  60% {
    transform: rotate(10deg) scale(1.15);
  }
}
.widget-964d45.fx-magnetic .contact-line:hover .contact-line-icon svg {
  animation: fx-wiggle 0.5s ease;
}
.widget-964d45.scheme-light .social-icon-link {
  background: rgba(20, 40, 80, 0.08);
}
.widget-964d45.scheme-light .payment-badge {
  background: rgba(20, 40, 80, 0.08);
}
.widget-964d45.scheme-light .contact-card {
  box-shadow: 0 2px 14px rgba(20, 40, 80, 0.08);
}
.widget-964d45.scheme-light .card-icon-wrap {
  box-shadow: none;
}
.widget-964d45.scheme-light .hours-content.hours-layout-table .hours-row:nth-of-type(odd), .widget-964d45.scheme-light .hours-content.hours-layout-cards .hours-row, .widget-964d45.scheme-light .hours-content.hours-layout-accent .hours-row, .widget-964d45.scheme-light .hours-content.hours-layout-pills .hours-row {
  background: rgba(20, 40, 80, 0.05);
}
.widget-964d45.scheme-light .social-style-mono-white .social-icon-link svg {
  fill: var(--card-text);
}
@media (prefers-reduced-motion: reduce) {
  .widget-964d45.fx-aurora .contact-bar-wrapper::before, .widget-964d45.fx-glow-all .contact-card::before, .widget-964d45.fx-glow-open .contact-card.card-hours.is-open-now::before,
  .widget-964d45 .open-dot::after {
    animation: none;
  }
  .widget-964d45 .fx-ripple {
    display: none;
  }
}
.widget-964d45 .hours-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 20px;
  margin-bottom: 6px;
  letter-spacing: 0.02em;
  align-self: flex-start;
}
.widget-964d45 .hours-status.open {
  background: rgba(72, 199, 116, 0.2);
  color: #48c774;
}
.widget-964d45 .hours-status.closed {
  background: rgba(255, 90, 90, 0.2);
  color: #ff6b6b;
}
.widget-964d45 .hours-status .status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  animation: pulse-dot 2s infinite;
}
@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.35;
  }
}
.widget-964d45 .address-text {
  color: var(--card-text);
  font-size: 14px;
  line-height: 1.55;
  margin: 0 0 10px;
}
.widget-964d45 .map-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.widget-964d45 .map-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.15s;
  white-space: nowrap;
}
.widget-964d45 .map-btn:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}
.widget-964d45 .map-btn .map-btn-icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.widget-964d45 .maps-btn {
  background: var(--maps-btn-bg);
  color: #ffffff;
}
.widget-964d45 .maps-btn .map-btn-icon {
  fill: #ffffff;
  color: #ffffff;
}
.widget-964d45 .waze-btn {
  background: var(--waze-btn-bg);
  color: var(--waze-btn-text);
}
.widget-964d45 .waze-btn .map-btn-icon {
  fill: var(--waze-btn-text);
  color: var(--waze-btn-text);
}
.widget-964d45 .card-cta-wrap {
  margin-top: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.widget-964d45 .whatsapp-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--cta-btn-bg);
  color: var(--cta-btn-text);
  border: none;
  border-radius: 8px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
}
.widget-964d45 .whatsapp-cta-btn:hover {
  opacity: 0.9;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.35);
}
.widget-964d45 .whatsapp-cta-btn.wa-disabled {
  opacity: 0.45;
  cursor: default;
  pointer-events: none;
}
.widget-964d45 .whatsapp-cta-btn .wa-btn-icon {
  width: 18px;
  height: 18px;
  fill: var(--cta-btn-text);
  flex-shrink: 0;
}
.widget-964d45 .contact-section-sep {
  width: 100%;
  height: 1px;
  background: var(--divider-color);
  margin: 4px 0;
}
.widget-964d45 .social-icons-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-top: 4px;
}
.widget-964d45 .social-icon-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  text-decoration: none;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.widget-964d45 .social-icon-link:hover {
  background: rgba(255, 255, 255, 0.22);
  transform: translateY(-2px);
}
.widget-964d45 .social-icon-link svg {
  width: 18px;
  height: 18px;
  fill: var(--card-text);
  color: var(--card-text);
}
.widget-964d45 .social-style-color .social-icon-link:hover {
  filter: brightness(1.15);
}
.widget-964d45 .social-style-color .social-icon-link svg {
  fill: #fff;
  color: #fff;
}
.widget-964d45 .social-style-color-flat .social-icon-link svg { /* color aplicado inline desde JS */ }
.widget-964d45 .social-style-mono-black .social-icon-link svg {
  fill: #111;
  color: #111;
}
.widget-964d45 .social-style-neo .social-icon-link {
  border: 1px solid currentColor;
}
.widget-964d45 .social-style-neo .social-icon-link:hover {
  filter: brightness(1.3);
  transform: translateY(-2px) scale(1.05);
}
.widget-964d45 .card-payments .card-content {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: flex-start;
  align-content: flex-start;
}
.widget-964d45 .payment-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-width: 48px;
  max-width: 64px;
}
.widget-964d45 .payment-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 28px;
  /* Íconos que respetan el color del tema (genéricos) */
}
.widget-964d45 .payment-icon svg, .widget-964d45 .payment-icon img {
  height: 100%;
  width: auto;
  max-width: 64px;
  display: block;
}
.widget-964d45 .payment-icon svg.pay-themed {
  fill: var(--card-text);
  color: var(--card-text);
  opacity: 0.9;
}
.widget-964d45 .payment-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 700;
  color: var(--card-text);
  letter-spacing: 0.03em;
  white-space: nowrap;
  height: 28px;
  box-sizing: border-box;
}
.widget-964d45 .payment-label {
  font-size: 10px;
  color: var(--card-text);
  opacity: 0.8;
  text-align: center;
  margin: 0;
  white-space: nowrap;
}
.widget-964d45 .no-payments-msg {
  display: none;
  width: 100%;
  font-size: 12px;
  color: var(--card-text);
  opacity: 0.5;
  text-align: center;
}
.widget-964d45 .no-payments-msg svg {
  display: block;
  margin: 0 auto 4px;
  width: 20px;
  height: 20px;
  stroke: currentColor;
}
.widget-964d45 .contact-card {
  transition: background 0.25s, transform 0.25s cubic-bezier(0.22, 0.68, 0, 1.2), box-shadow 0.25s, border-color 0.25s;
  overflow: hidden; /* necesario para el efecto shine */
}
.widget-964d45 .contact-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.12) 50%, transparent 70%);
  transform: translateX(-100%);
  transition: transform 0.5s ease;
  pointer-events: none;
  z-index: 1;
}
.widget-964d45.hover-lift.hover-anim-lift .contact-card:hover, .widget-964d45.hover-lift:not([class*=hover-anim-]) .contact-card:hover {
  background: var(--hover-bg);
  transform: translateY(-4px);
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
}
.widget-964d45.hover-lift.hover-anim-glow .contact-card:hover {
  background: var(--hover-bg);
  transform: translateY(-2px);
  box-shadow: 0 0 0 2px var(--accent-color), 0 8px 28px rgba(0, 0, 0, 0.22), 0 0 24px rgba(59, 159, 212, 0.25);
}
.widget-964d45.hover-lift.hover-anim-border .contact-card {
  border-top: 3px solid transparent;
}
.widget-964d45.hover-lift.hover-anim-border .contact-card:hover {
  background: var(--hover-bg);
  border-top-color: var(--accent-color);
  transform: translateY(-2px);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.2);
}
.widget-964d45.hover-lift.hover-anim-icon .contact-card:hover {
  background: var(--hover-bg);
  transform: translateY(-2px);
}
.widget-964d45.hover-lift.hover-anim-icon .contact-card:hover .card-icon-wrap {
  transform: scale(1.18) rotate(-6deg);
  transition: transform 0.3s cubic-bezier(0.22, 0.68, 0, 1.4);
}
.widget-964d45 .card-icon-wrap {
  transition: transform 0.25s ease;
}
.widget-964d45.hover-lift.hover-anim-shine .contact-card:hover {
  background: var(--hover-bg);
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.22);
}
.widget-964d45.hover-lift.hover-anim-shine .contact-card:hover::after {
  transform: translateX(100%);
}
@keyframes cb-fade-up {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes cb-fade-zoom {
  from {
    opacity: 0;
    transform: scale(0.88);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes cb-fade-left {
  from {
    opacity: 0;
    transform: translateX(-28px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes cb-flip {
  from {
    opacity: 0;
    transform: perspective(600px) rotateX(-30deg);
  }
  to {
    opacity: 1;
    transform: perspective(600px) rotateX(0deg);
  }
}
.widget-964d45.anim-fade-up .animate-card.visible {
  animation: cb-fade-up 0.55s cubic-bezier(0.22, 0.68, 0, 1.2) both;
}
.widget-964d45.anim-fade-zoom .animate-card.visible {
  animation: cb-fade-zoom 0.5s cubic-bezier(0.22, 0.68, 0, 1.2) both;
}
.widget-964d45.anim-fade-left .animate-card.visible {
  animation: cb-fade-left 0.5s cubic-bezier(0.22, 0.68, 0, 1.2) both;
}
.widget-964d45.anim-flip .animate-card.visible {
  animation: cb-flip 0.55s cubic-bezier(0.22, 0.68, 0, 1.1) both;
}
.widget-964d45.anim-fade-up .layout-bar .contact-card:nth-child(1).visible, .widget-964d45.anim-fade-zoom .layout-bar .contact-card:nth-child(1).visible, .widget-964d45.anim-fade-left .layout-bar .contact-card:nth-child(1).visible, .widget-964d45.anim-flip .layout-bar .contact-card:nth-child(1).visible {
  animation-delay: 0s;
}
.widget-964d45.anim-fade-up .layout-bar .contact-card:nth-child(2).visible, .widget-964d45.anim-fade-zoom .layout-bar .contact-card:nth-child(2).visible, .widget-964d45.anim-fade-left .layout-bar .contact-card:nth-child(2).visible, .widget-964d45.anim-flip .layout-bar .contact-card:nth-child(2).visible {
  animation-delay: 0.08s;
}
.widget-964d45.anim-fade-up .layout-bar .contact-card:nth-child(3).visible, .widget-964d45.anim-fade-zoom .layout-bar .contact-card:nth-child(3).visible, .widget-964d45.anim-fade-left .layout-bar .contact-card:nth-child(3).visible, .widget-964d45.anim-flip .layout-bar .contact-card:nth-child(3).visible {
  animation-delay: 0.16s;
}
.widget-964d45.anim-fade-up .layout-bar .contact-card:nth-child(4).visible, .widget-964d45.anim-fade-zoom .layout-bar .contact-card:nth-child(4).visible, .widget-964d45.anim-fade-left .layout-bar .contact-card:nth-child(4).visible, .widget-964d45.anim-flip .layout-bar .contact-card:nth-child(4).visible {
  animation-delay: 0.24s;
}
.widget-964d45.anim-fade-up .layout-bar .contact-card:nth-child(5).visible, .widget-964d45.anim-fade-zoom .layout-bar .contact-card:nth-child(5).visible, .widget-964d45.anim-fade-left .layout-bar .contact-card:nth-child(5).visible, .widget-964d45.anim-flip .layout-bar .contact-card:nth-child(5).visible {
  animation-delay: 0.32s;
}
.widget-964d45.anim-fade-up .layout-grid .contact-col:nth-child(1) .animate-card.visible, .widget-964d45.anim-fade-zoom .layout-grid .contact-col:nth-child(1) .animate-card.visible, .widget-964d45.anim-fade-left .layout-grid .contact-col:nth-child(1) .animate-card.visible, .widget-964d45.anim-flip .layout-grid .contact-col:nth-child(1) .animate-card.visible {
  animation-delay: 0s;
}
.widget-964d45.anim-fade-up .layout-grid .contact-col:nth-child(2) .animate-card.visible, .widget-964d45.anim-fade-zoom .layout-grid .contact-col:nth-child(2) .animate-card.visible, .widget-964d45.anim-fade-left .layout-grid .contact-col:nth-child(2) .animate-card.visible, .widget-964d45.anim-flip .layout-grid .contact-col:nth-child(2) .animate-card.visible {
  animation-delay: 0.1s;
}
.widget-964d45.anim-fade-up .layout-grid .contact-col:nth-child(3) .animate-card.visible, .widget-964d45.anim-fade-zoom .layout-grid .contact-col:nth-child(3) .animate-card.visible, .widget-964d45.anim-fade-left .layout-grid .contact-col:nth-child(3) .animate-card.visible, .widget-964d45.anim-flip .layout-grid .contact-col:nth-child(3) .animate-card.visible {
  animation-delay: 0.2s;
}
.widget-964d45.anim-none .animate-card {
  opacity: 1;
  transform: none;
  transition: background 0.25s;
}
.widget-964d45.anim-none .animate-card.visible {
  animation: none;
}
.widget-964d45.icon-outline .contact-bar-wrapper .card-icon-wrap {
  background: transparent !important;
  box-shadow: none !important;
}
.widget-964d45 .contact-bar-wrapper .card-icon-wrap {
  border: 2px solid var(--icon-outline-color, transparent);
  box-sizing: border-box;
}
.widget-964d45 .hours-content {
  min-width: 0;
  max-width: 100%;
}
.widget-964d45 .hours-content .hours-row {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}
.widget-964d45 .hours-content .hours-days,
.widget-964d45 .hours-content .hours-time,
.widget-964d45 .hours-content .hours-note {
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.widget-964d45 .hours-content .hours-row {
  grid-template-columns: minmax(0, auto) minmax(0, 1fr);
}
.widget-964d45 .hours-content.hours-layout-list .hours-row,
.widget-964d45 .hours-content.hours-layout-table .hours-row,
.widget-964d45 .hours-content.hours-layout-pills .hours-row {
  flex-wrap: wrap;
}
.widget-964d45 .hours-content.hours-layout-list .hours-days {
  flex: 1 1 auto;
  min-width: 0;
  flex-wrap: wrap;
}
.widget-964d45 .hours-content.hours-layout-list .hours-time {
  white-space: normal;
}
.widget-964d45 .hours-content.hours-layout-pills .hours-row {
  border-radius: 18px;
  max-width: 100%;
}
.widget-964d45 .hours-content.hours-layout-cards {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 130px), 1fr));
}
.widget-964d45 .hours-content.hours-layout-cards .hours-row {
  min-width: 0;
  overflow: hidden;
}
.widget-964d45 .hours-content.hours-layout-table {
  max-width: 100%;
}
.widget-964d45 .hours-content.hours-layout-accent .hours-row,
.widget-964d45 .hours-content.hours-layout-centered .hours-row {
  overflow: hidden;
}
.widget-964d45 .contact-bar-wrapper,
.widget-964d45 .card-title,
.widget-964d45 .card-content,
.widget-964d45 .map-btn,
.widget-964d45 .whatsapp-cta-btn,
.widget-964d45 .open-panel,
.widget-964d45 .hours-note,
.widget-964d45 .card-extra-note {
  font-family: inherit;
}
.widget-964d45.icon-square .card-icon-wrap {
  border-radius: 10px;
}
.widget-964d45 .map-embed-wrap {
  width: 100%;
  height: var(--map-height);
  overflow: hidden;
}
.widget-964d45 .branches-section {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 20px;
  box-sizing: border-box;
}
.widget-964d45 .branches-title {
  margin: 0 0 18px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  color: var(--card-title-color);
}
.widget-964d45 .branches-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
}
.widget-964d45 .branches-section.bw-wide {
  max-width: 960px;
}
.widget-964d45 .branches-section.bw-medium {
  max-width: 720px;
}
.widget-964d45 .branches-section.bw-narrow {
  max-width: 480px;
}
.widget-964d45 .branches-section.bl-compact .branches-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.widget-964d45 .branches-section.bl-compact .branch-card {
  padding: 14px;
}
.widget-964d45 .branches-section.bl-compact .branch-name {
  font-size: 14px;
}
.widget-964d45 .branches-section.bl-compact .address-text,
.widget-964d45 .branches-section.bl-compact .hours-row {
  font-size: 12px;
}
.widget-964d45 .branches-section.bl-list .branches-grid {
  grid-template-columns: 1fr;
  gap: 12px;
}
.widget-964d45 .branches-section.bl-carousel .branches-grid {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  gap: 14px;
  padding-bottom: 10px;
  -webkit-overflow-scrolling: touch;
}
.widget-964d45 .branches-section.bl-carousel .branch-card {
  flex: 0 0 min(260px, 80%);
  scroll-snap-align: start;
}
.widget-964d45 .layout-bar .branch-card.branch-inline {
  border-radius: 0;
  box-shadow: none;
  border: none;
  border-top: 3px solid transparent;
  border-right: 1px solid var(--divider-color);
  padding: 0 22px 28px;
  align-items: center;
  text-align: center;
}
.widget-964d45 .layout-bar.layout-cards .branch-card.branch-inline {
  border-radius: var(--card-radius, 16px);
  border-right: none;
  padding-top: 24px;
}
.widget-964d45 .layout-bar .branch-card.branch-inline .branch-view-map {
  align-self: center;
}
.widget-964d45 .layout-bar .branch-card.branch-inline .branch-actions {
  justify-content: center;
}
.widget-964d45 .layout-bar .branch-card.branch-inline.selected {
  border-top-color: var(--accent-color);
}
.widget-964d45 .layout-grid .branch-card.branch-inline {
  border-radius: 0;
  box-shadow: none;
}
.widget-964d45 .branch-card .branch-name,
.widget-964d45 .branch-card .main-section-title,
.widget-964d45 .branch-card .map-btn,
.widget-964d45 .branch-card .whatsapp-cta-btn {
  font-family: inherit;
}
.widget-964d45 .branch-inline .hours-row,
.widget-964d45 .branch-inline .hours-days,
.widget-964d45 .branch-inline .hours-time {
  font-size: 13px;
  line-height: 1.5;
}
.widget-964d45 .branch-inline .hours-days {
  font-weight: 600;
}
.widget-964d45 .branch-inline .card-content,
.widget-964d45 .branch-inline .branch-actions .contact-line,
.widget-964d45 .branch-inline .contact-line-text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--card-text);
}
.widget-964d45 .branch-inline .map-btn {
  font-size: 12px;
  font-weight: 600;
}
.widget-964d45 .branch-inline .whatsapp-cta-btn {
  font-size: 14px;
  font-weight: 600;
}
.widget-964d45 .branch-inline .main-section-title,
.widget-964d45 .branch-inline .branch-name {
  font-family: inherit;
}
.widget-964d45 .layout-bar .branch-card.branch-inline .branch-name {
  font-size: 12px;
  line-height: 1.2;
  color: var(--card-title-color);
}
.widget-964d45 .sec-payments .card-content {
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  align-content: flex-start;
  gap: 10px 14px;
  width: 100%;
}
.widget-964d45 .sec-social .card-content {
  align-items: center;
  width: 100%;
}
.widget-964d45 .layout-bar .branch-card.branch-inline {
  gap: 0;
  cursor: pointer;
}
.widget-964d45 .layout-bar .branch-card.branch-inline .main-section {
  text-align: center;
}
.widget-964d45 .layout-bar .branch-card.branch-inline .branch-name {
  width: 100%;
  text-align: center;
  margin: 0 0 14px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: 0.88;
}
.widget-964d45 .branch-inline .main-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.widget-964d45 .branch-inline .main-section + .main-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--divider-color);
}
.widget-964d45 .branch-inline .main-section .card-content {
  flex: none;
}
.widget-964d45 .layout-bar .branch-card.branch-inline .branch-name {
  font-size: 12px;
  margin-bottom: 14px;
}
.widget-964d45 .card-main .main-section {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
.widget-964d45 .card-main .main-section + .main-section {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--divider-color);
}
.widget-964d45 .card-main .main-section .card-content {
  flex: none;
}
.widget-964d45 .main-section-title {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hours-highlight);
  text-align: center;
}
.widget-964d45 .branch-card {
  border-radius: var(--card-radius, 16px);
  border-bottom: none;
  padding: 22px;
  gap: 6px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.18);
}
.widget-964d45 .branch-name {
  margin: 0 0 4px;
  font-size: 16px;
  font-weight: 700;
  color: var(--card-title-color);
}
.widget-964d45 .branch-address {
  margin: 0;
}
.widget-964d45 .branch-view-map {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  align-self: flex-start;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  color: var(--accent-color);
  padding: 4px 10px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-color) 16%, transparent);
  margin-bottom: 4px;
}
.widget-964d45 .branch-card.selected .branch-view-map {
  background: var(--accent-color);
  color: #fff;
}
.widget-964d45 .map-embed-wrap {
  position: relative;
}
.widget-964d45 .map-back-btn {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  align-items: center;
  padding: 8px 14px;
  border: none;
  border-radius: 999px;
  background: var(--accent-color);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.3);
  transition: transform 0.15s, opacity 0.2s;
}
.widget-964d45 .map-back-btn:hover {
  transform: translateY(-1px);
  opacity: 0.92;
}
.widget-964d45 .branch-hours {
  margin: 6px 0 0;
}
.widget-964d45 .branch-card {
  cursor: pointer;
  border: 2px solid transparent;
}
.widget-964d45 .branch-card.selected {
  border-color: var(--accent-color);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent-color) 30%, transparent), 0 8px 28px rgba(0, 0, 0, 0.22);
}
.widget-964d45 .branch-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.widget-964d45 .branch-actions .contact-line {
  font-size: 13px;
}
.widget-964d45 .map-iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: none;
}
.widget-964d45 .cms-debug-panel {
  background: #0d1117;
  border: 1.5px solid #f0c040;
  border-radius: 8px;
  padding: 14px 18px;
  margin: 16px auto;
  max-width: 1200px;
  font-size: 12px;
  font-family: "Courier New", monospace;
  color: #e6edf3;
  line-height: 1.6;
  word-break: break-all;
}
.widget-964d45 .cms-debug-panel .debug-title {
  font-size: 13px;
  font-weight: 700;
  color: #f0c040;
  margin-bottom: 10px;
}
.widget-964d45 .cms-debug-panel .debug-row {
  display: flex;
  gap: 8px;
  padding: 3px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.widget-964d45 .cms-debug-panel .debug-row:last-child {
  border-bottom: none;
}
.widget-964d45 .cms-debug-panel .debug-label {
  color: #79c0ff;
  min-width: 200px;
  flex-shrink: 0;
  font-weight: 600;
}
.widget-964d45 .cms-debug-panel .debug-val {
  color: #a5d6a7;
  white-space: pre-wrap;
}
@media (min-width: 600px) and (max-width: 900px) {
  .widget-964d45 {
    /* Layout bar: tarjetas en 2 columnas (solo si está activo, ver display inline via JS) */
    /* Minimal Line: 2x2 en tablet */
    /* Cards separadas: 2 columnas en tablet */
    /* Layout grid: 2 columnas */
    /* Masonry: 2 columnas en tablet */
  }
  .widget-964d45 .layout-bar .contact-card {
    flex: 1 1 45%;
    border-right: 1px solid var(--divider-color);
    border-bottom: 1px solid var(--divider-color);
  }
  .widget-964d45 .layout-bar.layout-minimal .contact-card {
    flex: 1 1 45%;
    border-right: 1px solid var(--divider-color);
    border-bottom: 1px solid var(--divider-color);
    padding: 18px 20px;
  }
  .widget-964d45 .layout-bar.layout-minimal .contact-card:nth-child(2n) {
    border-right: none;
  }
  .widget-964d45 .layout-bar.layout-minimal.no-separators .contact-card {
    border-right: none;
  }
  .widget-964d45 .layout-bar.layout-cards .contact-card {
    flex: 1 1 45%;
    border-right: none;
    border-bottom: none;
  }
  .widget-964d45 .layout-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .widget-964d45 .contact-col:nth-child(2) {
    border-right: none;
  }
  .widget-964d45 .contact-col:nth-child(3) {
    grid-column: 1/-1;
    flex-direction: row;
    border-right: none;
    border-top: 1px solid var(--divider-color);
  }
  .widget-964d45 .contact-col:nth-child(3) .contact-card {
    border-right: 1px solid var(--divider-color);
    border-bottom: none;
  }
  .widget-964d45 .contact-col:nth-child(3) .contact-card:last-child {
    border-right: none;
  }
  .widget-964d45 .layout-grid.layout-masonry {
    grid-template-columns: repeat(2, 1fr);
  }
  .widget-964d45 .layout-grid.layout-masonry .contact-col:nth-child(3) {
    grid-column: 1/-1;
    flex-direction: row;
    border-top: none;
  }
  .widget-964d45 .layout-grid.layout-masonry .contact-col:nth-child(3) .contact-card {
    flex: 1;
  }
}
@media (max-width: 599px) {
  .widget-964d45 {
    /* Layout bar: apilado */
    /* Apilado Vertical: icono+titulo arriba, contenido debajo en pantallas muy chicas */
    /* Minimal Line: 1 columna en mobile, sin separadores verticales (se cambian a horizontales) */
    /* Cards separadas: apiladas en mobile */
    /* Layout grid: 1 columna */
    /* Masonry: 1 columna en mobile */
  }
  .widget-964d45 .layout-bar .contact-card {
    flex: 1 1 100%;
    border-right: none;
    border-bottom: 1px solid var(--divider-color);
  }
  .widget-964d45 .layout-bar .contact-card:last-child {
    border-bottom: none;
  }
  .widget-964d45 .layout-bar.layout-stack .contact-card {
    flex-direction: column;
    gap: 6px;
    padding: 18px 4px;
  }
  .widget-964d45 .layout-bar.layout-stack .card-title {
    min-width: 0;
    margin: 4px 0 2px;
  }
  .widget-964d45 .layout-bar.layout-minimal {
    padding: 24px 20px;
  }
  .widget-964d45 .layout-bar.layout-minimal .contact-card {
    flex: 1 1 100%;
    border-right: none;
    border-bottom: 1px solid var(--divider-color);
    padding: 22px 10px;
  }
  .widget-964d45 .layout-bar.layout-minimal .contact-card:last-child {
    border-bottom: none;
  }
  .widget-964d45 .layout-bar.layout-cards {
    padding: 16px;
    gap: 16px;
  }
  .widget-964d45 .layout-bar.layout-cards .contact-card {
    flex: 1 1 100%;
    border-bottom: none;
  }
  .widget-964d45 .layout-grid {
    grid-template-columns: 1fr;
  }
  .widget-964d45 .contact-col {
    border-right: none;
    border-bottom: 1px solid var(--divider-color);
  }
  .widget-964d45 .contact-col:last-child {
    border-bottom: none;
  }
  .widget-964d45 .contact-card {
    border-bottom: 1px solid var(--divider-color);
  }
  .widget-964d45 .contact-card:last-child {
    border-bottom: none;
  }
  .widget-964d45 .layout-grid.layout-masonry {
    grid-template-columns: 1fr;
    padding: 16px;
    gap: 16px;
  }
  .widget-964d45 .layout-grid.layout-masonry .contact-col {
    border-bottom: none;
  }
  .widget-964d45 .layout-grid.layout-masonry .contact-col:nth-child(3) {
    flex-direction: column;
  }
  .widget-964d45 .map-embed-wrap {
    height: 220px;
  }
  .widget-964d45 .map-buttons {
    flex-direction: column;
    align-items: flex-start;
  }
  .widget-964d45 .card-payments .card-content {
    gap: 8px 10px;
  }
}
