/* ── VARIABLES DE MARCA ── */
:root {
  --navy:     #071340;
  --blue:     #0F3480;
  --blue-mid: #1A5DB5;
  --teal:     #0B8070;
  --teal-v:   #2ED8C8;
  --teal-bg:  #E0F5F2;
  --blue-bg:  #EBF1FB;
  --blanco:   #FFFFFF;
  --txt:      #060F28;
  --txt-mid:  #2E3F60;
  --txt-soft: #637096;
  --borde:    #C8D3EB;
  --superficie: #F4F6FC;
  --wa:       #25D366;
}

/* ── TIPOGRAFÍA GLOBAL ── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400;1,600&family=Jost:wght@300;400;500;600&display=swap');

body, .elementor-widget-container {
  font-family: 'Jost', system-ui, sans-serif !important;
  color: var(--txt);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3,
.eb-titulo, .eb-heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--navy);
}

/* ── CLASES UTILITARIAS DE MARCA ── */
/* Aplica estas clases en Elementor > Avanzado > CSS personalizado de la sección */

/* Fondos */
.eb-fondo-navy     { background-color: var(--navy) !important; }
.eb-fondo-teal     { background-color: var(--teal) !important; }
.eb-fondo-blanco   { background-color: var(--blanco) !important; }
.eb-fondo-surface  { background-color: var(--superficie) !important; }
.eb-fondo-teal-bg  { background-color: var(--teal-bg) !important; }

/* Textos sobre fondo oscuro — SIEMPRE BLANCOS */
.eb-fondo-navy h1,
.eb-fondo-navy h2,
.eb-fondo-navy h3,
.eb-fondo-navy p,
.eb-fondo-navy span,
.eb-fondo-navy li,
.eb-fondo-teal h1,
.eb-fondo-teal h2,
.eb-fondo-teal h3,
.eb-fondo-teal p,
.eb-fondo-teal span {
  color: var(--blanco) !important;
}

/* Eyebrow / label superior */
.eb-eyebrow {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--teal);
  display: block;
  margin-bottom: 0.75rem;
}
.eb-fondo-navy .eb-eyebrow,
.eb-fondo-teal .eb-eyebrow {
  color: var(--teal-v) !important;
}

/* ── BOTONES ── */
.eb-btn-wa {
  display: inline-flex !important;
  align-items: center;
  gap: 0.55rem;
  background: var(--wa) !important;
  color: var(--blanco) !important;
  padding: 0.9rem 1.75rem !important;
  border-radius: 100px !important;
  font-family: 'Jost', sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 20px rgba(37,211,102,.35) !important;
  transition: background 0.2s, transform 0.15s !important;
  border: none !important;
}
.eb-btn-wa:hover {
  background: #1da851 !important;
  transform: translateY(-2px) !important;
}

.eb-btn-navy {
  display: inline-flex !important;
  align-items: center;
  background: var(--navy) !important;
  color: var(--blanco) !important;
  padding: 0.9rem 1.75rem !important;
  border-radius: 100px !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  box-shadow: 0 4px 18px rgba(7,19,64,.3) !important;
  transition: background 0.2s, transform 0.15s !important;
}
.eb-btn-navy:hover {
  background: var(--blue) !important;
  transform: translateY(-2px) !important;
}

.eb-btn-outline-blanco {
  display: inline-flex !important;
  align-items: center;
  background: transparent !important;
  color: var(--blanco) !important;
  border: 1.5px solid rgba(255,255,255,0.35) !important;
  padding: 0.875rem 1.75rem !important;
  border-radius: 100px !important;
  font-size: 0.9rem !important;
  transition: border-color 0.2s, background 0.2s !important;
}
.eb-btn-outline-blanco:hover {
  border-color: rgba(255,255,255,0.7) !important;
  background: rgba(255,255,255,0.08) !important;
}

/* ── TARJETAS DE CONDICIÓN ── */
.eb-cond-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: var(--navy);
  transition: transform 0.3s;
}
.eb-cond-card:hover { transform: translateY(-4px); }

.eb-cond-card img {
  width: 100%; height: 100%;
  object-fit: cover;
  filter: brightness(0.55);
  transition: transform 0.5s, filter 0.4s;
}
.eb-cond-card:hover img {
  transform: scale(1.04);
  filter: brightness(0.38);
}

.eb-cond-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(7,19,64,.97) 0%, rgba(7,19,64,.2) 55%, transparent 80%);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.75rem;
}

.eb-cond-name {
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  color: var(--blanco) !important;
  margin-bottom: 0.4rem;
}
.eb-cond-desc {
  font-size: 0.83rem;
  color: rgba(255,255,255,0.8);
  line-height: 1.6;
}
.eb-cond-link {
  font-size: 0.78rem;
  color: var(--teal-v);
  font-weight: 500;
  margin-top: 0.875rem;
  display: inline-block;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.3s, transform 0.3s;
}
.eb-cond-card:hover .eb-cond-link {
  opacity: 1;
  transform: translateY(0);
}

/* ── TARJETA PASO / PROCESO ── */
.eb-step {
  padding: 2rem 2rem 2rem 0;
  border-right: 1px solid rgba(255,255,255,0.1);
}
.eb-step:last-child { border-right: none; }

.eb-step-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 4rem;
  font-weight: 600;
  color: rgba(255,255,255,0.07);
  line-height: 1;
  margin-bottom: 0.4rem;
}
.eb-step-ico {
  width: 44px; height: 44px;
  background: rgba(46,216,200,0.14);
  border: 1px solid rgba(46,216,200,0.35);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.eb-step-tag {
  display: inline-block;
  background: rgba(46,216,200,0.15);
  color: var(--teal-v);
  font-size: 0.7rem;
  padding: 0.22rem 0.6rem;
  border-radius: 100px;
  margin-top: 0.875rem;
  font-weight: 500;
}

/* ── CERTIFICACIONES ── */
.eb-certs-block {
  background: var(--blue-bg);
  border: 1px solid var(--borde);
  border-radius: 16px;
  padding: 1.5rem 1.75rem;
}
.eb-certs-titulo {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--blue);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--borde);
}
.eb-cert-fila {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  font-size: 0.82rem;
  color: var(--txt-mid);
  margin-bottom: 0.65rem;
}
.eb-cert-año {
  font-size: 0.67rem;
  font-weight: 600;
  color: var(--teal);
  background: rgba(11,128,112,0.12);
  padding: 0.22rem 0.6rem;
  border-radius: 5px;
  white-space: nowrap;
  min-width: 54px;
  text-align: center;
  flex-shrink: 0;
}

/* ── HORARIOS ── */
.eb-horario-card {
  background: var(--blanco);
  border: 1px solid var(--borde);
  border-radius: 14px;
  padding: 1.25rem;
  text-align: center;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.eb-horario-card:hover {
  border-color: var(--teal);
  box-shadow: 0 6px 20px rgba(11,128,112,0.1);
}
.eb-horario-card.activo {
  border-color: var(--teal);
  background: var(--teal-bg);
}
.eb-horario-dia {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--txt-soft);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}
.eb-horario-card.activo .eb-horario-dia { color: var(--teal); }
.eb-horario-hora {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  color: var(--navy);
  font-weight: 600;
  line-height: 1.35;
}

/* ── FAQ ── */
.eb-faq-item {
  border-bottom: 1px solid var(--borde);
}
.eb-faq-pregunta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.3rem 0;
  font-size: 0.975rem;
  font-weight: 500;
  color: var(--navy);
  cursor: pointer;
  user-select: none;
}
.eb-faq-respuesta {
  font-size: 0.875rem;
  color: var(--txt-mid);
  line-height: 1.75;
  font-weight: 300;
  padding-bottom: 1.25rem;
  display: none;
}
.eb-faq-item.abierto .eb-faq-respuesta { display: block; }

/* ── CONTACTO CARDS ── */
.eb-contact-cell {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.11);
  border-radius: 12px;
  padding: 1rem;
}
.eb-contact-lbl {
  font-size: 0.64rem;
  color: rgba(255,255,255,0.5);
  margin-bottom: 3px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.eb-contact-val {
  font-size: 0.82rem;
  color: var(--blanco);
  line-height: 1.55;
}
.eb-contact-val a { color: var(--teal-v); text-decoration: none; }

/* ── BOTÓN FLOTANTE WHATSAPP ── */
.eb-wa-float {
  position: fixed !important;
  bottom: 1.75rem;
  right: 1.75rem;
  z-index: 9999;
  background: var(--wa);
  width: 60px; height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 6px 24px rgba(37,211,102,0.5);
  transition: transform 0.2s;
  animation: wapulse 3s infinite;
  text-decoration: none !important;
}
.eb-wa-float:hover { transform: scale(1.1); }
@keyframes wapulse {
  0%, 100% { box-shadow: 0 6px 24px rgba(37,211,102,0.5); }
  50%       { box-shadow: 0 6px 38px rgba(37,211,102,0.75); }
}

/* ── ANIMACIONES DE ENTRADA ── */
.eb-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.eb-reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ── FRANJA DE URGENCIA ── */
.eb-urgencia {
  background: var(--teal);
  color: var(--blanco);
  text-align: center;
  padding: 0.9rem 5vw;
  font-size: 0.875rem;
}
.eb-urgencia a { color: #B8F5F0; text-decoration: underline; }

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  .eb-step { border-right: none; padding-right: 0; }
  .eb-cond-link { opacity: 1; transform: translateY(0); }
}
https://efectobienestarquiropractica.com/
/* ================================================================
   CSS GLOBAL — PEGAR EN:
   WordPress → Apariencia → Personalizar → CSS Adicional

   Este bloque centraliza variables y correcciones globales que
   aplican a toda la página, evitando duplicados en cada bloque HTML.
   ================================================================ */


/* ── 1. Variables de marca centralizadas ─────────────────────────
   Remover de cada bloque HTML individual después de agregar aquí.
   ─────────────────────────────────────────────────────────────── */
:root {
  --navy:       #1B3A5C;
  --navy-light: #2a5180;
  --teal:       #3D8C8C;
  --teal-light: #5AACAC;
  --white:      #FFFFFF;
  --text-body:  #3a3a3a;
  --radius:     14px;
  --ease:       cubic-bezier(0.34, 1.06, 0.64, 1);
}


/* ── 2. Prevenir scroll horizontal global ────────────────────────
   Crítico: evita que cualquier elemento desbordado rompa el layout.
   ─────────────────────────────────────────────────────────────── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}

.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap {
  max-width: 100%;
}


/* ── 3. Imágenes responsivas por defecto ─────────────────────────
   Aplica a todas las imágenes del sitio.
   ─────────────────────────────────────────────────────────────── */
img {
  max-width: 100%;
  height: auto;
  display: block;
}


/* ── 4. Fix para Elementor: secciones con overflow hidden ────────
   Elementor a veces genera padding/margin que rompe el layout móvil.
   ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .elementor-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-column-gap-default > .elementor-column > .elementor-element-populated {
    padding: 10px 16px;
  }

  /* Prevenir que columnas de Elementor generen scroll horizontal */
  .elementor-column {
    min-width: 0;
  }
}


/* ── 5. Typography fluida global ─────────────────────────────────
   Tamaños de fuente que escalan con el viewport.
   ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  h1 { font-size: clamp(1.6rem, 6vw, 2.2rem) !important; }
  h2 { font-size: clamp(1.3rem, 5vw, 1.8rem) !important; }
  h3 { font-size: clamp(1.1rem, 4vw, 1.4rem) !important; }
}


/* ── 6. Botones: ancho mínimo en móvil ───────────────────────────
   Asegura que los botones sean cómodos para el tacto (mínimo 44px).
   ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  .elementor-button,
  .eb-hero__wa-btn,
  .qb-btn {
    min-height: 48px;
  }
}


/* ── 7. Fix logo en header de Elementor ──────────────────────────
   Si el logo del header nativo de Elementor también se rompe.
   ─────────────────────────────────────────────────────────────── */
.elementor-site-logo img,
.site-logo img,
header img[class*="logo"],
.custom-logo {
  max-width: 140px !important;
  height: auto !important;
  width: auto !important;
}

@media (max-width: 767px) {
  .elementor-site-logo img,
  .site-logo img,
  .custom-logo {
    max-width: 110px !important;
  }
}


/* ── 8. Espaciado general en móvil ───────────────────────────────
   Reduce paddings excesivos heredados del diseño de escritorio.
   ─────────────────────────────────────────────────────────────── */
@media (max-width: 767px) {
  section, .eb-section, .qb-section {
    padding-top: 48px !important;
    padding-bottom: 56px !important;
  }
}


/* ── 9. Fix tarjetas de condiciones en tablet (768-900px) ────────
   La zona ciega entre el breakpoint de Elementor (767px) y el
   del grid de condiciones (900px) puede romper el layout.
   ─────────────────────────────────────────────────────────────── */
@media (max-width: 900px) and (min-width: 768px) {
  .qb-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 18px !important;
  }
}


/* ── 10. Accesibilidad: foco visible en links y botones ──────────
   Los usuarios de teclado necesitan ver el foco claramente.
   ─────────────────────────────────────────────────────────────── */
a:focus-visible,
button:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
  border-radius: 4px;
}
/* ── 1. Eliminar scroll horizontal global ── */
html, body {
  overflow-x: hidden;
  max-width: 100%;
}
.elementor-section,
.elementor-container,
.elementor-column,
.elementor-widget-wrap {
  max-width: 100%;
  min-width: 0;
}


/* ── 2. Imágenes responsivas ── */
img {
  max-width: 100%;
  height: auto;
}


/* ── 3. TARJETAS DE CONDICIONES: visibles en móvil ── */
/* Las descripciones y flechas están ocultas porque usan :hover,
   que no funciona en celular. Este CSS las muestra siempre. */

@media (max-width: 767px) {
  /* Descripción visible siempre */
  .qb-card__desc {
    max-height: 200px !important;
    opacity: 1 !important;
    overflow: visible !important;
  }
  /* Flecha CTA visible siempre */
  .qb-card__cta {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  /* Overlay más opaco para que se lea el texto */
  .qb-card__overlay {
    background: linear-gradient(
      to bottom,
      rgba(255,255,255,0.00) 0%,
      rgba(255,255,255,0.60) 45%,
      rgba(255,255,255,0.97) 72%,
      rgba(255,255,255,1.00) 100%
    ) !important;
  }
  /* Tarjetas más cómodas en pantalla angosta */
  .qb-card {
    aspect-ratio: 4 / 3 !important;
  }
  /* Grid a 1 columna en móvil */
  .qb-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  /* Sección con menos padding */
  .qb-section {
    padding: 48px 16px 60px !important;
  }
}

/* También aplica en tablets táctiles */
@media (hover: none) and (pointer: coarse) {
  .qb-card__desc {
    max-height: 200px !important;
    opacity: 1 !important;
  }
  .qb-card__cta {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  /* Sin efecto hover en touch */
  .qb-card:hover {
    transform: none !important;
  }
  .qb-card:active {
    transform: scale(0.98) !important;
  }
}


/* ── 4. HERO: correcciones de layout móvil ── */
@media (max-width: 767px) {

  /* Texto del hero centrado */
  .elementor-widget-e-heading,
  .elementor-widget-e-paragraph {
    text-align: center !important;
  }

  /* Tamaños de fuente fluidos */
  h1, h2 {
    font-size: clamp(1.5rem, 6vw, 2.2rem) !important;
    line-height: 1.2 !important;
  }

  /* Botones grandes y cómodos para el tacto */
  .elementor-button,
  a[href*="wa.me"] {
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 340px !important;
    margin: 0 auto !important;
  }
}


/* ── 5. Logo responsivo (header) ── */
.elementor-widget-theme-site-logo img,
.elementor-site-logo img {
  max-width: 160px !important;
  height: auto !important;
}

@media (max-width: 767px) {
  .elementor-widget-theme-site-logo img,
  .elementor-site-logo img {
    max-width: 120px !important;
  }
}


/* ── 6. Espaciado general en móvil ── */
@media (max-width: 767px) {
  .qb-header {
    margin-bottom: 28px !important;
  }
  .qb-title {
    font-size: clamp(1.5rem, 5vw, 2rem) !important;
  }
}


/* === EBQ Header Mobile Fix v1 === */
@media (max-width: 767px) {
  body .elementor-element[data-id="7d35d6d4"] {
    padding: 8px 12px !important;
    gap: 8px !important;
    column-gap: 8px !important;
    row-gap: 8px !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
  }
  body .elementor-element[data-id="10d0f6e"] {
    width: auto !important;
    --width: auto !important;
    flex: 0 0 auto !important;
    --flex-grow: 0 !important;
    --flex-shrink: 0 !important;
    --container-widget-flex-grow: 0 !important;
    padding: 0 !important;
  }
  body .elementor-element[data-id="40db2ecf"] .elementor-widget-container img,
  body .elementor-widget-theme-site-logo img {
    width: 48px !important;
    height: 48px !important;
    max-width: 48px !important;
    object-fit: contain !important;
  }
  body .elementor-element[data-id="3cf2f2b"] {
    width: auto !important;
    --width: auto !important;
    flex: 1 1 auto !important;
    --flex-grow: 1 !important;
    --flex-shrink: 1 !important;
    --container-widget-flex-grow: 1 !important;
    --container-widget-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    align-items: flex-start !important;
    padding: 0 4px 0 6px !important;
    gap: 0 !important;
    row-gap: 0 !important;
  }
  body .elementor-element[data-id="0e29788"] h2,
  body h2.e-0e29788-2868b63 {
    font-size: 14px !important;
    line-height: 1.15 !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
    position: static !important;
    inset-block-start: 0 !important;
  }
  body .elementor-element[data-id="6282139"] h2,
  body h2.e-6282139-83297e7 {
    font-size: 10px !important;
    line-height: 1.2 !important;
    margin: 1px 0 0 0 !important;
    padding: 0 !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
    position: static !important;
    inset-block-start: 0 !important;
    inset-block-end: 0 !important;
  }
  body .elementor-element[data-id="650cf36d"] {
    width: auto !important;
    --width: auto !important;
    flex: 0 0 auto !important;
    --flex-grow: 0 !important;
    --flex-shrink: 0 !important;
    --container-widget-flex-grow: 0 !important;
    --container-widget-width: auto !important;
    min-width: 0 !important;
    padding: 0 !important;
    justify-content: flex-end !important;
  }
  body .elementor-element[data-id="6443ad29"] a.elementor-button {
    padding: 8px 10px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    gap: 5px !important;
  }
  body .elementor-element[data-id="6443ad29"] .elementor-button-text {
    font-size: 12px !important;
    font-weight: 600 !important;
  }
  body .elementor-element[data-id="6443ad29"] .elementor-button-icon i,
  body .elementor-element[data-id="6443ad29"] .elementor-button-icon svg {
    font-size: 12px !important;
    width: 12px !important;
    height: 12px !important;
  }
}
/* === END EBQ Header Mobile Fix v1 === */


/* EB Header Mobile Fix - Elementor header 406 */
@media (max-width: 767px) {
  html,
  body {
    overflow-x: hidden !important;
  }

  body {
    padding-top: 112px !important;
  }

  body.admin-bar {
    padding-top: 158px !important;
  }

  header.elementor-location-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    width: 100% !important;
    max-height: none !important;
    overflow: visible !important;
    background: #fff !important;
    box-shadow: 0 2px 14px rgba(13, 43, 62, 0.10) !important;
  }

  body.admin-bar header.elementor-location-header {
    top: 46px !important;
  }

  header.elementor-location-header .elementor-element-3b5c7f6,
  header.elementor-location-header .elementor-shape {
    display: none !important;
  }

  header.elementor-location-header .elementor-element-7d35d6d4 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px 10px !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 10px 14px 12px !important;
    box-sizing: border-box !important;
  }

  header.elementor-location-header .elementor-element-10d0f6e {
    order: 1 !important;
    flex: 0 0 42px !important;
    width: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    padding: 0 !important;
  }

  header.elementor-location-header .elementor-element-40db2ecf,
  header.elementor-location-header .elementor-element-40db2ecf a {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
  }

  header.elementor-location-header .elementor-element-40db2ecf img {
    display: block !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    max-width: 42px !important;
    object-fit: contain !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b {
    order: 2 !important;
    flex: 1 1 calc(100% - 56px) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 56px) !important;
    overflow: visible !important;
    padding: 0 !important;
    gap: 0 !important;
    align-items: flex-start !important;
    justify-content: center !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    overflow: visible !important;
    text-align: left !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    letter-spacing: 0 !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2:first-child {
    font-size: 15px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2:nth-child(2) {
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 600 !important;
  }

  header.elementor-location-header .elementor-element-650cf36d {
    order: 3 !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 0 !important;
    justify-content: center !important;
    align-items: center !important;
  }

  header.elementor-location-header .elementor-element-6443ad29 {
    width: 100% !important;
    max-width: 220px !important;
    margin: 0 auto !important;
  }

  header.elementor-location-header .elementor-element-6443ad29 .elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 36px !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  header.elementor-location-header .elementor-element-6443ad29 .elementor-button-content-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
  }

  header.elementor-location-header .elementor-element-6443ad29 svg {
    width: 13px !important;
    height: 13px !important;
    flex: 0 0 13px !important;
  }
}

@media (max-width: 360px) {
  body {
    padding-top: 108px !important;
  }

  header.elementor-location-header .elementor-element-7d35d6d4 {
    padding: 9px 10px 11px !important;
    gap: 5px 8px !important;
  }

  header.elementor-location-header .elementor-element-10d0f6e,
  header.elementor-location-header .elementor-element-40db2ecf,
  header.elementor-location-header .elementor-element-40db2ecf a,
  header.elementor-location-header .elementor-element-40db2ecf img {
    flex-basis: 38px !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b {
    max-width: calc(100% - 46px) !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2:first-child {
    font-size: 14px !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2:nth-child(2) {
    font-size: 10px !important;
  }

  header.elementor-location-header .elementor-element-6443ad29 {
    max-width: 200px !important;
  }
}


/* EB Header Mobile Fix v2 - Elementor flex variables */
@media (max-width: 767px) {
  header.elementor-location-header .elementor-element-7d35d6d4 {
    --display: flex !important;
    --flex-direction: row !important;
    --flex-wrap: wrap !important;
    --justify-content: center !important;
    --align-items: center !important;
    --gap: 6px 10px !important;
    min-height: 76px !important;
  }

  header.elementor-location-header .elementor-element-10d0f6e,
  header.elementor-location-header [data-id="10d0f6e"] {
    --width: 46px !important;
    --min-height: 46px !important;
    --flex-grow: 0 !important;
    --flex-shrink: 0 !important;
    --container-widget-width: 46px !important;
    --container-widget-flex-grow: 0 !important;
    flex: 0 0 46px !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    align-self: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  header.elementor-location-header .elementor-element-40db2ecf,
  header.elementor-location-header [data-id="40db2ecf"] {
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    transform: none !important;
  }

  header.elementor-location-header .elementor-element-40db2ecf a,
  header.elementor-location-header [data-id="40db2ecf"] a,
  header.elementor-location-header .elementor-element-40db2ecf img,
  header.elementor-location-header [data-id="40db2ecf"] img {
    display: block !important;
    width: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    object-fit: contain !important;
    position: static !important;
    transform: none !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b,
  header.elementor-location-header [data-id="3cf2f2b"] {
    --width: calc(100% - 60px) !important;
    --flex-grow: 1 !important;
    --flex-shrink: 1 !important;
    --container-widget-width: 100% !important;
    --container-widget-flex-grow: 1 !important;
    flex: 1 1 calc(100% - 60px) !important;
    width: calc(100% - 60px) !important;
    max-width: calc(100% - 60px) !important;
    min-width: 0 !important;
    align-self: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2,
  header.elementor-location-header [data-id="3cf2f2b"] h2 {
    min-height: 0 !important;
    height: auto !important;
    transform: none !important;
  }

  header.elementor-location-header .elementor-element-650cf36d,
  header.elementor-location-header [data-id="650cf36d"] {
    --width: 100% !important;
    --flex-grow: 0 !important;
    --flex-shrink: 0 !important;
    --container-widget-width: 100% !important;
    flex: 0 0 100% !important;
  }
}


/* EB Header Mobile Fix v3 - layout absoluto estable */
@media (max-width: 767px) {
  body {
    padding-top: 76px !important;
  }

  body.admin-bar {
    padding-top: 122px !important;
  }

  header.elementor-location-header {
    min-height: 76px !important;
    height: 76px !important;
    overflow: visible !important;
  }

  body.admin-bar header.elementor-location-header {
    top: 46px !important;
  }

  header.elementor-location-header .elementor-element-3b5c7f6,
  header.elementor-location-header .elementor-shape {
    display: none !important;
  }

  header.elementor-location-header .elementor-element-7d35d6d4,
  header.elementor-location-header [data-id="7d35d6d4"] {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  header.elementor-location-header .elementor-element-10d0f6e,
  header.elementor-location-header [data-id="10d0f6e"] {
    position: absolute !important;
    left: 12px !important;
    top: 15px !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
  }

  header.elementor-location-header .elementor-element-40db2ecf,
  header.elementor-location-header [data-id="40db2ecf"],
  header.elementor-location-header .elementor-element-40db2ecf a,
  header.elementor-location-header [data-id="40db2ecf"] a,
  header.elementor-location-header .elementor-element-40db2ecf img,
  header.elementor-location-header [data-id="40db2ecf"] img {
    display: block !important;
    width: 46px !important;
    height: 46px !important;
    min-width: 46px !important;
    max-width: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: static !important;
    object-fit: contain !important;
    transform: none !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b,
  header.elementor-location-header [data-id="3cf2f2b"] {
    position: absolute !important;
    left: 66px !important;
    right: 150px !important;
    top: 20px !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    overflow: visible !important;
    z-index: 2 !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2,
  header.elementor-location-header [data-id="3cf2f2b"] h2 {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: visible !important;
    word-break: normal !important;
    letter-spacing: 0 !important;
    position: static !important;
    transform: none !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2:first-child,
  header.elementor-location-header [data-id="3cf2f2b"] h2:first-child {
    font-size: 14px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b h2:nth-child(2),
  header.elementor-location-header [data-id="3cf2f2b"] h2:nth-child(2) {
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
  }

  header.elementor-location-header .elementor-element-650cf36d,
  header.elementor-location-header [data-id="650cf36d"] {
    position: absolute !important;
    right: 12px !important;
    top: 18px !important;
    width: 132px !important;
    height: 40px !important;
    min-width: 132px !important;
    max-width: 132px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    z-index: 3 !important;
  }

  header.elementor-location-header .elementor-element-6443ad29,
  header.elementor-location-header [data-id="6443ad29"] {
    width: 132px !important;
    max-width: 132px !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  header.elementor-location-header .elementor-element-6443ad29 .elementor-button,
  header.elementor-location-header [data-id="6443ad29"] .elementor-button {
    width: 132px !important;
    min-height: 40px !important;
    padding: 8px 10px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 360px) {
  header.elementor-location-header .elementor-element-10d0f6e,
  header.elementor-location-header [data-id="10d0f6e"] {
    left: 9px !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
  }

  header.elementor-location-header .elementor-element-40db2ecf,
  header.elementor-location-header [data-id="40db2ecf"],
  header.elementor-location-header .elementor-element-40db2ecf a,
  header.elementor-location-header [data-id="40db2ecf"] a,
  header.elementor-location-header .elementor-element-40db2ecf img,
  header.elementor-location-header [data-id="40db2ecf"] img {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }

  header.elementor-location-header .elementor-element-3cf2f2b,
  header.elementor-location-header [data-id="3cf2f2b"] {
    left: 55px !important;
    right: 134px !important;
  }

  header.elementor-location-header .elementor-element-650cf36d,
  header.elementor-location-header [data-id="650cf36d"],
  header.elementor-location-header .elementor-element-6443ad29,
  header.elementor-location-header [data-id="6443ad29"],
  header.elementor-location-header .elementor-element-6443ad29 .elementor-button,
  header.elementor-location-header [data-id="6443ad29"] .elementor-button {
    right: 8px !important;
    width: 122px !important;
    min-width: 122px !important;
    max-width: 122px !important;
  }
}


/* EB Header Mobile Fix v4 - restaurar textos exactos */
@media (max-width: 767px) {
  header.elementor-406 .elementor-element.elementor-element-3cf2f2b,
  .elementor-406 .elementor-element.elementor-element-3cf2f2b,
  header.elementor-location-header .elementor-element.elementor-element-3cf2f2b {
    position: absolute !important;
    left: 66px !important;
    right: auto !important;
    top: 20px !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: 34px !important;
    min-height: 34px !important;
    overflow: visible !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    z-index: 5 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  header.elementor-406 .elementor-element.elementor-element-3cf2f2b h2,
  .elementor-406 .elementor-element.elementor-element-3cf2f2b h2,
  header.elementor-location-header .elementor-element.elementor-element-3cf2f2b h2 {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    color: #071340 !important;
    width: 154px !important;
    min-width: 154px !important;
    max-width: 154px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    white-space: nowrap !important;
    text-align: left !important;
    position: static !important;
    transform: none !important;
  }

  header.elementor-406 .elementor-element.elementor-element-3cf2f2b h2:first-child,
  .elementor-406 .elementor-element.elementor-element-3cf2f2b h2:first-child {
    font-size: 14px !important;
    line-height: 1.05 !important;
    font-weight: 800 !important;
  }

  header.elementor-406 .elementor-element.elementor-element-3cf2f2b h2:nth-child(2),
  .elementor-406 .elementor-element.elementor-element-3cf2f2b h2:nth-child(2) {
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 600 !important;
  }
}

@media (max-width: 360px) {
  header.elementor-406 .elementor-element.elementor-element-3cf2f2b,
  .elementor-406 .elementor-element.elementor-element-3cf2f2b,
  header.elementor-location-header .elementor-element.elementor-element-3cf2f2b,
  header.elementor-406 .elementor-element.elementor-element-3cf2f2b h2,
  .elementor-406 .elementor-element.elementor-element-3cf2f2b h2,
  header.elementor-location-header .elementor-element.elementor-element-3cf2f2b h2 {
    left: 55px !important;
    width: 128px !important;
    min-width: 128px !important;
    max-width: 128px !important;
  }
}


/* EB Hero Mobile Fix v1 - estructura legible */
@media (max-width: 767px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 18px 16px 22px !important;
    background: #f7fbff !important;
    background-image: none !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner {
    order: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 390px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385::after {
    content: "" !important;
    order: 2 !important;
    display: block !important;
    width: min(100%, 358px) !important;
    aspect-ratio: 400 / 380 !important;
    margin: 18px auto 0 !important;
    background-image: url("https://i0.wp.com/efectobienestarquiropractica.com/wp-content/uploads/2026/04/Home.webp?fit=800%2C760&ssl=1") !important;
    background-repeat: no-repeat !important;
    background-position: center bottom !important;
    background-size: contain !important;
    background-color: #eaf2fb !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    order: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 340px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #0b8070 !important;
    font-family: 'Jost', system-ui, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
    font-weight: 600 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 {
    order: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 360px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] {
    order: 1 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 340px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #071340 !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-size: clamp(2.12rem, 10vw, 2.65rem) !important;
    line-height: 0.98 !important;
    font-weight: 700 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base em,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] em {
    color: #0b8070 !important;
    font-style: italic !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="4fc2ec5"] {
    order: 2 !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    max-width: 342px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    color: #2e3f60 !important;
    font-family: 'Jost', system-ui, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.55 !important;
    font-weight: 400 !important;
    text-align: center !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: break-word !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > p.e-paragraph-base br,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="4fc2ec5"] br {
    display: none !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > .elementor-element-f52a62a {
    order: 3 !important;
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 342px !important;
    margin: 2px auto 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > .elementor-element-f52a62a a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 100% !important;
    max-width: 292px !important;
    min-height: 52px !important;
    margin: 0 auto !important;
    padding: 13px 18px !important;
    border-radius: 999px !important;
    background-color: #25d366 !important;
    color: #fff !important;
    font-family: 'Jost', system-ui, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    text-align: center !important;
    text-decoration: none !important;
    white-space: normal !important;
    box-sizing: border-box !important;
    box-shadow: 0 10px 20px rgba(37, 211, 102, 0.24) !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > .elementor-element-f52a62a svg {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
    flex: 0 0 20px !important;
  }

  .elementor-429 .elementor-element.elementor-element-c4897e2 {
    margin: 0 !important;
    padding: 16px 16px 18px !important;
    background: #ffffff !important;
    overflow: hidden !important;
  }

  .elementor-429 .elementor-element.elementor-element-c4897e2 > .e-con-inner {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  .elementor-429 .elementor-element.elementor-element-532fe67 {
    order: 1 !important;
    width: auto !important;
    margin: 0 auto !important;
  }

  .elementor-429 .elementor-element.elementor-element-5b47363 {
    order: 2 !important;
    width: 100% !important;
    max-width: 290px !important;
    margin: 0 auto !important;
  }

  .elementor-429 .elementor-element.elementor-element-5b47363 img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
  }
}


/* EB Hero Mobile Fix v2 - foto correcta y metricas limpias */
@media (max-width: 767px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385::after {
    background-image: url("https://i0.wp.com/efectobienestarquiropractica.com/wp-content/uploads/2026/04/Dr-Luis-Eduardo-Becerril-Jaramillo-Quiropractico-CDMX.webp?fit=760%2C760&ssl=1") !important;
    background-size: contain !important;
    background-position: center bottom !important;
    background-color: #eaf2fb !important;
    width: min(100%, 358px) !important;
    aspect-ratio: 1 / 1 !important;
    margin-top: 18px !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base::before,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"]::before {
    content: "10+ años de experiencia  •  5 certificaciones internacionalesA5★ valoración en Google" !important;
    display: block !important;
    color: #0b8070 !important;
    font-family: 'Jost', system-ui, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    font-weight: 700 !important;
    text-align: center !important;
    white-space: pre-line !important;
    letter-spacing: 0 !important;
  }
}


/* EB Hero Mobile Fix v3 - metricas sin caracter roto */
@media (max-width: 767px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base::before,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"]::before {
    content: "10+ años de experiencia • 5 certificaciones • 5★ Google" !important;
    white-space: normal !important;
    max-width: 300px !important;
    margin: 0 auto !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
}


/* ===== EB Visual Fix v6.1 (2026-05-22) ===== */
@media (min-width: 769px) {
  body { padding-top: 78px !important; }
  body.admin-bar { padding-top: 110px !important; }
  header.elementor-location-header {
    min-height: 72px !important;
    max-height: 86px !important;
    overflow: hidden !important;
  }
  body.admin-bar header.elementor-location-header { top: 32px !important; }
  header.elementor-location-header .elementor-element-7d35d6d4 {
    min-height: 72px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    align-items: center !important;
  }
  header.elementor-location-header img {
    max-height: 58px !important;
    width: auto !important;
    object-fit: contain !important;
  }
  header.elementor-location-header h2,
  header.elementor-location-header h3 {
    margin: 0 !important;
    line-height: 1.05 !important;
  }
  header.elementor-location-header .elementor-widget-button .elementor-button {
    min-height: 46px !important;
    padding: 12px 24px !important;
  }

  .elementor-element-5e5f3385 { padding-top: 16px !important; }
  .elementor-element-d7c2400 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 22px !important;
  }
  .elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-element-d7c2400 > .elementor-element-f52a62a {
    position: relative !important;
    left: -686px !important;
    right: auto !important;
    top: 0 !important;
    bottom: auto !important;
    transform: none !important;
  }
  .elementor-element-d7c2400 > h2.e-heading-base {
    order: 1 !important;
    width: 470px !important;
    max-width: 470px !important;
    margin: 0 0 0 36px !important;
    font-size: clamp(48px, 4vw, 62px) !important;
    line-height: 1.08 !important;
    height: auto !important;
  }
  .elementor-element-d7c2400 > p.e-paragraph-base {
    order: 2 !important;
    width: 410px !important;
    max-width: 410px !important;
    margin: 0 0 0 80px !important;
    height: auto !important;
  }
  .elementor-element-d7c2400 > .elementor-element-f52a62a {
    order: 3 !important;
    width: 410px !important;
    max-width: 410px !important;
    height: auto !important;
    margin: 0 0 0 80px !important;
    padding: 0 !important;
    text-align: left !important;
  }
  .elementor-element-d7c2400 > .elementor-element-f52a62a a { margin: 0 !important; }
}

@media (max-width: 768px) {
  body.admin-bar { padding-top: 124px !important; }
  header.elementor-location-header {
    min-height: 72px !important;
    overflow: hidden !important;
  }
  .elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-element-d7c2400 > .elementor-element-f52a62a {
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* ===== EB Visual Fix v6.2 (2026-05-22) ===== */
@media (min-width: 769px) {
  .elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-element-d7c2400 > .elementor-element-f52a62a {
    left: -586px !important;
  }
}

/* ===== EB Header Mobile Fix v6.3 (2026-05-22) ===== */
@media (max-width: 480px) {
  header.elementor-location-header {
    min-height: 76px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .elementor-406 .elementor-element.elementor-element-7d35d6d4 {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    padding: 8px 10px !important;
  }
  .elementor-406 .elementor-element.elementor-element-10d0f6e {
    width: 42px !important;
    --width: 42px !important;
    flex: 0 0 42px !important;
  }
  header.elementor-location-header img {
    width: 42px !important;
    height: 42px !important;
    max-width: 42px !important;
    max-height: 42px !important;
    min-width: 42px !important;
  }
  .elementor-406 .elementor-element.elementor-element-3cf2f2b {
    width: auto !important;
    --width: auto !important;
    flex: 1 1 auto !important;
    min-width: 132px !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  header.elementor-location-header h2:first-of-type {
    font-size: 13px !important;
    line-height: 1.05 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  header.elementor-location-header h2:nth-of-type(2) {
    font-size: 9px !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  .elementor-406 .elementor-element.elementor-element-650cf36d {
    width: auto !important;
    --width: auto !important;
    flex: 0 0 auto !important;
  }
  header.elementor-location-header .elementor-widget-button .elementor-button {
    min-height: 38px !important;
    padding: 8px 10px !important;
    font-size: 11px !important;
    gap: 4px !important;
  }
  header.elementor-location-header .elementor-button-icon svg,
  header.elementor-location-header .elementor-button-icon i {
    width: 12px !important;
    height: 12px !important;
    font-size: 12px !important;
  }
}

/* ===== EB Header Mobile Fix v6.4 (2026-05-22) ===== */
@media (max-width: 480px) {
  body header.elementor-location-header .elementor-element.elementor-element-7d35d6d4 {
    gap: 6px !important;
    padding-left: 9px !important;
    padding-right: 9px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-10d0f6e,
  body .elementor-element[data-id="10d0f6e"] {
    width: 40px !important;
    --width: 40px !important;
    flex-basis: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-40db2ecf img,
  body .elementor-element[data-id="40db2ecf"] img,
  body header.elementor-location-header img {
    width: 40px !important;
    height: 40px !important;
    max-width: 40px !important;
    max-height: 40px !important;
    min-width: 40px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-3cf2f2b,
  body .elementor-element[data-id="3cf2f2b"] {
    width: auto !important;
    --width: auto !important;
    flex: 1 1 0 !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-3cf2f2b h2,
  body header.elementor-location-header h2.e-0e29788-2868b63 {
    font-size: 13px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }
  body header.elementor-location-header h2.e-6282139-83297e7 {
    font-size: 9px !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-650cf36d,
  body .elementor-element[data-id="650cf36d"] {
    width: auto !important;
    --width: auto !important;
    flex: 0 0 112px !important;
    max-width: 112px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-6443ad29 a.elementor-button,
  body .elementor-element[data-id="6443ad29"] a.elementor-button {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    min-height: 36px !important;
    padding: 7px 8px !important;
    font-size: 10.5px !important;
    gap: 3px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-6443ad29 .elementor-button-text,
  body .elementor-element[data-id="6443ad29"] .elementor-button-text {
    font-size: 10.5px !important;
    font-weight: 600 !important;
  }
}

/* ===== EB Header Mobile Fix v6.5 (2026-05-22) ===== */
@media (max-width: 480px) {
  body header.elementor-location-header .elementor-element.elementor-element-6443ad29 a.elementor-button,
  body .elementor-element[data-id="6443ad29"] a.elementor-button {
    box-sizing: border-box !important;
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
  }
  body header.elementor-location-header .elementor-button-content-wrapper {
    gap: 4px !important;
    justify-content: center !important;
  }
}
@media (max-width: 360px) {
  body header.elementor-location-header .elementor-element.elementor-element-7d35d6d4 {
    padding-left: 7px !important;
    padding-right: 7px !important;
    gap: 5px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-6443ad29 a.elementor-button,
  body .elementor-element[data-id="6443ad29"] a.elementor-button {
    width: 104px !important;
    min-width: 104px !important;
    max-width: 104px !important;
    font-size: 10px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
}

/* ===== EB Header Desktop Fix v6.6 (2026-05-22) ===== */
@media (min-width: 769px) {
  body { padding-top: 96px !important; }
  body.admin-bar { padding-top: 128px !important; }
  body header.elementor-location-header {
    min-height: 88px !important;
    height: 88px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body.admin-bar header.elementor-location-header { top: 32px !important; }
  body header.elementor-location-header .elementor-element.elementor-element-7d35d6d4 {
    min-height: 88px !important;
    height: 88px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 18px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-10d0f6e {
    width: 64px !important;
    --width: 64px !important;
    flex: 0 0 64px !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-40db2ecf img,
  body header.elementor-location-header img {
    width: 58px !important;
    height: 58px !important;
    max-width: 58px !important;
    max-height: 58px !important;
    object-fit: contain !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-3cf2f2b {
    width: auto !important;
    --width: auto !important;
    min-width: 260px !important;
    max-width: none !important;
    height: auto !important;
    flex: 0 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-start !important;
    gap: 2px !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  body header.elementor-location-header h2,
  body header.elementor-location-header h3 {
    position: static !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    overflow: visible !important;
    white-space: nowrap !important;
    letter-spacing: 0 !important;
  }
  body header.elementor-location-header h2.e-0e29788-2868b63,
  body header.elementor-location-header h2:first-of-type {
    font-size: 24px !important;
    line-height: 1.05 !important;
  }
  body header.elementor-location-header h2.e-6282139-83297e7,
  body header.elementor-location-header h2:nth-of-type(2) {
    font-size: 14px !important;
    line-height: 1.1 !important;
  }
  body header.elementor-location-header .elementor-element.elementor-element-650cf36d {
    flex: 0 0 auto !important;
    align-self: center !important;
  }
}

/* Ajustes visuales Codex - 2026-05-26: hero legible y sin sobreposiciones */
@media (min-width: 1200px) {
  .elementor-element-5e5f3385 {
    min-height: 700px !important;
    height: auto !important;
    background-size: min(44%, 560px) auto !important;
    background-position: right 6% bottom !important;
    background-repeat: no-repeat !important;
  }

  .elementor-element-5e5f3385 > .e-con-inner {
    width: min(1140px, calc(100% - 96px)) !important;
    max-width: 1140px !important;
    height: 700px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
  }

  .elementor-element-5e5f3385 .elementor-element-d7c2400 {
    width: 520px !important;
    max-width: 48% !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26 {
    position: absolute !important;
    left: 0 !important;
    top: 188px !important;
    width: auto !important;
    max-width: 520px !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 1.35 !important;
    color: transparent !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26 strong {
    font-size: 0 !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26::before {
    content: '10+ años de experiencia · 5 certificaciones · 5★ Google';
    display: inline-block;
    padding: 8px 14px;
    border-radius: 999px;
    background: #eef8f6;
    color: #08766f;
    font: 700 15px/1.25 Arial, sans-serif;
    letter-spacing: 0;
  }

  .elementor-element-5e5f3385 .e-14777fb-8f11ed1 {
    width: 520px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 22px 0 !important;
    position: static !important;
    transform: none !important;
    font-size: 56px !important;
    line-height: 1.05 !important;
  }

  .elementor-element-5e5f3385 .e-14777fb-8f11ed1 strong,
  .elementor-element-5e5f3385 .e-14777fb-8f11ed1 em {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .elementor-element-5e5f3385 .e-4fc2ec5-d1c4c9b,
  .elementor-element-5e5f3385 .elementor-element-f52a62a {
    width: 430px !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    position: static !important;
  }

  .elementor-element-8c9ccb2 {
    margin-top: 24px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .elementor-element-5e5f3385 {
    background-size: 44% auto !important;
    background-position: right bottom !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26 {
    font-size: 18px !important;
    line-height: 1.3 !important;
  }
}


/* Ajustes visuales Codex - responsive intermedio */
@media (min-width: 768px) and (max-width: 1199px) {
  .elementor-element-5e5f3385 {
    min-height: 660px !important;
    height: auto !important;
    background-size: min(42%, 430px) auto !important;
    background-position: right 4% bottom !important;
    background-repeat: no-repeat !important;
  }

  .elementor-element-5e5f3385 > .e-con-inner {
    width: calc(100% - 64px) !important;
    max-width: 1040px !important;
    height: 660px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
  }

  .elementor-element-5e5f3385 .elementor-element-d7c2400 {
    width: 460px !important;
    max-width: 52% !important;
    height: auto !important;
    margin: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    align-items: flex-start !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26 {
    position: absolute !important;
    left: 0 !important;
    top: 170px !important;
    width: auto !important;
    max-width: 460px !important;
    height: auto !important;
    margin: 0 !important;
    font-size: 0 !important;
    line-height: 1.3 !important;
    color: transparent !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26 strong {
    font-size: 0 !important;
  }

  .elementor-element-5e5f3385 .e-6a2706a-e07bb26::before {
    content: '10+ años · 5 certificaciones · 5★ Google';
    display: inline-block;
    padding: 8px 12px;
    border-radius: 999px;
    background: #eef8f6;
    color: #08766f;
    font: 700 14px/1.25 Arial, sans-serif;
    letter-spacing: 0;
  }

  .elementor-element-5e5f3385 .e-14777fb-8f11ed1 {
    width: 460px !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 20px 0 !important;
    position: static !important;
    transform: none !important;
    font-size: 48px !important;
    line-height: 1.06 !important;
  }

  .elementor-element-5e5f3385 .e-14777fb-8f11ed1 strong,
  .elementor-element-5e5f3385 .e-14777fb-8f11ed1 em {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .elementor-element-5e5f3385 .e-4fc2ec5-d1c4c9b,
  .elementor-element-5e5f3385 .elementor-element-f52a62a {
    width: 390px !important;
    max-width: 100% !important;
    height: auto !important;
    margin-left: 0 !important;
    position: static !important;
  }
}


/* Ajustes visuales Codex - override especifico Elementor */
@media (min-width: 768px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 {
    height: auto !important;
    background-repeat: no-repeat !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner {
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    position: absolute !important;
    left: 0 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    color: transparent !important;
    overflow: visible !important;
    text-align: left !important;
    white-space: normal !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base strong,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] strong {
    font-size: 0 !important;
    line-height: 0 !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base::before,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"]::before {
    display: inline-block !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    background: #eef8f6 !important;
    color: #08766f !important;
    font-family: Arial, sans-serif !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    text-align: left !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;
    gap: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    inset: auto !important;
    transform: none !important;
    text-align: left !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
    color: #071340 !important;
    font-family: 'Cormorant Garamond', Georgia, serif !important;
    font-weight: 700 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    word-break: normal !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base strong,
  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base em,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] strong,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] em {
    font-size: inherit !important;
    line-height: inherit !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base em,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] em {
    color: #0b8070 !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="4fc2ec5"] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 22px 0 !important;
    padding: 0 !important;
    color: #2e3f60 !important;
    font-family: 'Jost', system-ui, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.55 !important;
    text-align: left !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > .elementor-element-f52a62a {
    display: flex !important;
    justify-content: flex-start !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
}

@media (min-width: 1200px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 {
    min-height: 700px !important;
    background-size: min(44%, 560px) auto !important;
    background-position: right 6% bottom !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner {
    width: min(1140px, calc(100% - 96px)) !important;
    max-width: 1140px !important;
    height: 700px !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 188px !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base::before,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"]::before {
    content: '10+ años de experiencia · 5 certificaciones · 5★ Google' !important;
    font-size: 15px !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 {
    width: 520px !important;
    max-width: 48% !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] {
    max-width: 520px !important;
    font-size: 56px !important;
    line-height: 1.05 !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="4fc2ec5"],
  .elementor-429 .elementor-element.elementor-element-d7c2400 > .elementor-element-f52a62a {
    max-width: 430px !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 {
    min-height: 660px !important;
    background-size: min(42%, 430px) auto !important;
    background-position: right 4% bottom !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner {
    width: calc(100% - 64px) !important;
    max-width: 1040px !important;
    height: 660px !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 170px !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base::before,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"]::before {
    content: '10+ años · 5 certificaciones · 5★ Google' !important;
    font-size: 14px !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 {
    width: 460px !important;
    max-width: 52% !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] {
    max-width: 460px !important;
    font-size: 48px !important;
    line-height: 1.06 !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="4fc2ec5"],
  .elementor-429 .elementor-element.elementor-element-d7c2400 > .elementor-element-f52a62a {
    max-width: 390px !important;
  }
}


/* Ajustes visuales Codex - separar metricas del titular */
@media (min-width: 768px) and (max-width: 1199px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 108px !important;
  }
}

@media (min-width: 1200px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 150px !important;
  }
}


/* Ajustes visuales Codex - separacion final desktop */
@media (min-width: 1200px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 120px !important;
  }
}


/* Ajustes visuales Codex - encabezado sin sobreposicion */
header.elementor-location-header,
.elementor-location-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  z-index: 20 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 22px rgba(7, 19, 64, 0.08) !important;
}

.admin-bar header.elementor-location-header,
.admin-bar .elementor-location-header {
  top: auto !important;
}


/* Ajustes visuales Codex - retirar compensacion de header fijo */
body {
  padding-top: 0 !important;
}


/* Ajustes visuales Codex - padding body especifico */
html body.home.wp-singular.elementor-page,
html body.elementor-page-429,
html body.page-id-429 {
  padding-top: 0 !important;
}


/* Ajustes Codex 2026-05-27 - header en barra y hero desktop con aire */
.elementor-location-header,
header.elementor-location-header {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 30 !important;
  width: 100% !important;
  min-height: 88px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(7, 19, 64, 0.08) !important;
}

.elementor-location-header .elementor-element-3b5c7f6,
.elementor-location-header .elementor-shape {
  display: none !important;
}

.elementor-location-header .elementor-element-7d35d6d4 {
  position: relative !important;
  inset: auto !important;
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
  min-height: 88px !important;
  height: 88px !important;
  margin: 0 auto !important;
  padding: 12px 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

.elementor-location-header .elementor-element-10d0f6e {
  order: 1 !important;
  flex: 0 0 58px !important;
  width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: static !important;
}

.elementor-location-header .elementor-element-40db2ecf,
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header .elementor-widget-image {
  width: 58px !important;
  height: 58px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
}

.elementor-location-header .elementor-element-40db2ecf a,
.elementor-location-header .elementor-element-40db2ecf img {
  display: block !important;
  width: 58px !important;
  height: 58px !important;
  max-width: 58px !important;
  object-fit: contain !important;
}

.elementor-location-header .elementor-element-3cf2f2b {
  order: 2 !important;
  flex: 0 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 0 !important;
  position: static !important;
  text-align: left !important;
}

.elementor-location-header .elementor-element-3cf2f2b h2 {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.elementor-location-header .elementor-element-3cf2f2b .e-0e29788-2868b63 {
  font-size: 26px !important;
  line-height: 1.05 !important;
}

.elementor-location-header .elementor-element-3cf2f2b .e-6282139-83297e7 {
  font-size: 15px !important;
  line-height: 1.15 !important;
}

.elementor-location-header .elementor-element-650cf36d {
  order: 3 !important;
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  position: static !important;
}

.elementor-location-header .elementor-element-6443ad29 {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  display: block !important;
}

.elementor-location-header .elementor-button {
  min-height: 46px !important;
  padding: 12px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  white-space: nowrap !important;
}

@media (min-width: 1200px) {
  html body.home.wp-singular.elementor-page,
  html body.elementor-page-429,
  html body.page-id-429 {
    padding-top: 0 !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 {
    min-height: 780px !important;
    height: auto !important;
    padding: 72px 0 80px !important;
    background-size: min(39%, 500px) auto !important;
    background-position: right 5% center !important;
    background-repeat: no-repeat !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner {
    width: min(1180px, calc(100% - 120px)) !important;
    max-width: 1180px !important;
    height: 640px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 {
    width: 500px !important;
    max-width: 43% !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="14777fb"] {
    max-width: 500px !important;
    font-size: 54px !important;
    line-height: 1.08 !important;
    margin-bottom: 28px !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 > p.e-paragraph-base,
  .elementor-429 .elementor-element.elementor-element-d7c2400 [data-id="4fc2ec5"] {
    max-width: 440px !important;
    margin-bottom: 34px !important;
  }

  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 100px !important;
    left: 0 !important;
  }
}

@media (max-width: 767px) {
  .elementor-location-header,
  header.elementor-location-header {
    min-height: 76px !important;
  }

  .elementor-location-header .elementor-element-7d35d6d4 {
    width: calc(100% - 28px) !important;
    min-height: 76px !important;
    height: 76px !important;
    gap: 8px !important;
  }

  .elementor-location-header .elementor-element-10d0f6e,
  .elementor-location-header .elementor-element-40db2ecf,
  .elementor-location-header .elementor-element-40db2ecf a,
  .elementor-location-header .elementor-element-40db2ecf img {
    width: 40px !important;
    height: 40px !important;
    flex-basis: 40px !important;
  }

  .elementor-location-header .elementor-element-3cf2f2b .e-0e29788-2868b63 {
    font-size: 16px !important;
  }

  .elementor-location-header .elementor-element-3cf2f2b .e-6282139-83297e7 {
    font-size: 11px !important;
  }

  .elementor-location-header .elementor-button {
    min-height: 42px !important;
    padding: 10px 14px !important;
    font-size: 12px !important;
  }
}


/* Ajustes Codex 2026-05-27 - aire final hero desktop */
@media (min-width: 1200px) {
  .elementor-429 .elementor-element.elementor-element-5e5f3385 > .e-con-inner > h2.e-heading-base,
  .elementor-429 .elementor-element.elementor-element-5e5f3385 [data-id="6a2706a"] {
    top: 74px !important;
  }

  .elementor-429 .elementor-element.elementor-element-d7c2400 {
    margin-top: 34px !important;
  }
}


/* Ajustes Codex 2026-05-27 - llamada al extremo derecho */
@media (min-width: 768px) {
  .elementor-location-header .elementor-element-7d35d6d4 {
    width: calc(100% - 64px) !important;
    max-width: none !important;
  }
}