/* La base visual se conserva del sitio original. */
html { scroll-behavior: smooth; }
img { max-width: 100%; }
.replica-carousel { position: relative; }
.replica-carousel > .ed-slider-item { display: none !important; }
.replica-carousel > .ed-slider-item.is-active { display: block !important; }
.replica-carousel > .ed-slider-item img { display: block; width: 100%; height: auto; }
.replica-carousel-dots { display: flex; justify-content: center; align-items: center; gap: 10px; padding: 12px 0 18px; }
.replica-carousel-dot { width: 12px; height: 12px; padding: 0; border: 0; border-radius: 50%; background: #b9c1c7; cursor: pointer; transition: background-color .2s ease, transform .2s ease; }
.replica-carousel-dot.is-active { background: #1689d0; transform: scale(1.15); }
.replica-carousel-dot:focus-visible { outline: 2px solid #1689d0; outline-offset: 3px; }
.replica-carousel-arrow { position: absolute; z-index: 2; top: 50%; transform: translateY(-50%); display: grid; place-items: center; width: 36px; height: 48px; padding: 0; border: 0; background: rgba(255,255,255,.8); color: #2696d3; font: 32px/1 Arial,sans-serif; cursor: pointer; }
.replica-carousel-arrow.prev { left: 0; }
.replica-carousel-arrow.next { right: 0; }
.map-contact-overlay { position: absolute; inset: 0; z-index: 2; }
.map-canvas iframe { pointer-events: none; }
.whatsapp-setup-note { position: fixed; z-index: 10000; left: 50%; bottom: 24px; width: max-content; max-width: calc(100vw - 32px); padding: 12px 18px; border-radius: 4px; background: #172533; color: #fff; font: 14px/1.45 "Open Sans", Arial, sans-serif; box-shadow: 0 4px 18px rgba(0,0,0,.2); opacity: 0; transform: translate(-50%, 12px); pointer-events: none; transition: opacity .2s ease, transform .2s ease; }
.whatsapp-setup-note.is-visible { opacity: 1; transform: translate(-50%, 0); }
@media (max-width: 975px) {
  .menu-wrapper.is-menu-open .ed-menu { display: block !important; pointer-events: auto !important; opacity: 1 !important; visibility: visible !important; transform: none !important; position: absolute; z-index: 100; top: 100%; right: 0; width: 100%; background: #fff; padding: 16px; box-shadow: 0 6px 12px rgba(0,0,0,.08); }
  .menu-wrapper.is-menu-open .ed-menu ul { display: flex; flex-direction: column; align-items: center; gap: 16px; }
  .replica-carousel-dots { gap: 8px; padding: 10px 0 14px; }
  .whatsapp-setup-note { bottom: 16px; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* El bundle remoto original revelaba este contenido al cargar. */
.animation-initial[data-animation] { visibility: visible !important; opacity: 1 !important; }

/* Contactos separados para visitas desde anuncios de búsqueda. */
.lead-contact-section { padding: 32px 24px; background: #f6f9fb; text-align: center; border-bottom: 1px solid #e5edf2; font-family: "Open Sans", Arial, sans-serif; }
.lead-contact-section h2 { margin: 0 0 10px; color: #2696d3; font-family: "Raleway", Arial, sans-serif; font-size: clamp(23px, 3vw, 32px); font-weight: 700; }
.lead-contact-section p { margin: 6px 0; color: #263a49; line-height: 1.5; }
.lead-contact-section .contact-availability { font-size: 14px; }
.lead-contact-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 20px; }
.contact-cta { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; padding: 10px 22px; border-radius: 3px; color: #fff !important; text-decoration: none; font-weight: 700; }
.contact-cta-call { background: #1689d0; }
.contact-cta-whatsapp { background: #128c54; }
.contact-cta:hover { filter: brightness(.93); }
.contact-cta:focus-visible, .contact-extra-call:focus-visible { outline: 3px solid #203c58; outline-offset: 4px; }
.contact-extra-call { display: inline-block; margin: 12px; color: #1689d0; font-weight: 700; }
@media (max-width: 575px) {
  .lead-contact-section { padding: 24px 16px; }
  .lead-contact-actions { flex-direction: column; align-items: stretch; max-width: 360px; margin: 18px auto 0; }
}

/* Consentimiento explícito para medición opcional de Google Ads. */
.ads-consent-banner[hidden] { display: none !important; }
.ads-consent-banner { position: fixed; z-index: 10001; left: 16px; right: 16px; bottom: 76px; max-width: 780px; margin: 0 auto; padding: 20px 22px; border: 1px solid #cddbe4; border-radius: 6px; background: #fff; color: #263a49; font: 14px/1.55 "Open Sans", Arial, sans-serif; box-shadow: 0 8px 28px rgba(24, 47, 64, .24); }
.ads-consent-banner h2 { margin: 0 0 8px; color: #203c58; font: 700 20px/1.25 "Raleway", Arial, sans-serif; }
.ads-consent-banner p { margin: 0; }
.ads-consent-banner a { color: #126ea7; font-weight: 700; }
.ads-consent-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 16px; }
.ads-consent-button { flex: 1 1 220px; min-height: 44px; padding: 10px 16px; border: 2px solid #1689d0; border-radius: 4px; cursor: pointer; font: 700 14px/1.2 "Open Sans", Arial, sans-serif; }
.ads-consent-accept { background: #1689d0; color: #fff; }
.ads-consent-reject { background: #fff; color: #203c58; }
.ads-consent-button:hover { filter: brightness(.95); }
.ads-consent-button:focus-visible, .ads-preferences-button:focus-visible { outline: 3px solid #203c58; outline-offset: 3px; }
.ads-preferences-button { position: fixed; z-index: 10000; right: 16px; bottom: 16px; min-height: 38px; padding: 8px 12px; border: 1px solid #203c58; border-radius: 4px; background: #fff; color: #203c58; cursor: pointer; font: 700 12px/1.2 "Open Sans", Arial, sans-serif; box-shadow: 0 3px 12px rgba(24, 47, 64, .18); }
@media (max-width: 575px) {
  .ads-consent-banner { left: 10px; right: 10px; bottom: 66px; padding: 16px; }
  .ads-consent-actions { flex-direction: column; gap: 8px; }
  .ads-consent-button { flex-basis: auto; width: 100%; }
  .ads-preferences-button { right: 10px; bottom: 10px; }
}
