/* ── Nav fijo ──────────────────────────── */
.navbar-2.w-nav {
  position: sticky !important;
  top: 0;
  z-index: 9999;
  box-shadow: 0 2px 12px rgba(0,0,0,.10);
}

/* ── Sección WhatsApp (reemplaza formularios) ── */
.seccion-whatsapp {
  padding: 60px 24px;
  background: #f5f7fa;
  display: flex;
  justify-content: center;
}
.wa-cta-inner {
  max-width: 780px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 48px;
  align-items: center;
}
.wa-cta-inner h2 {
  font-size: clamp(1.4rem, 3vw, 2rem);
  font-weight: 700;
  color: #22305d;
  margin-bottom: 12px;
}
.wa-cta-inner p {
  color: #4e5f7a;
  margin-bottom: 28px;
  font-size: 16px;
  line-height: 1.65;
}
.wa-btn-grande {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #25D366;
  color: #fff;
  text-decoration: none;
  padding: 16px 32px;
  border-radius: 50px;
  font-size: 17px;
  font-weight: 700;
  transition: background .2s;
  margin-bottom: 14px;
}
.wa-btn-grande:hover { background: #1dba5a; }
.wa-btn-grande svg { width: 24px; height: 24px; fill: #fff; flex-shrink: 0; }
.wa-tel {
  display: block;
  color: #22305d;
  font-size: 15px;
  text-decoration: none;
  font-weight: 500;
}
.wa-tel:hover { text-decoration: underline; }
.wa-qr { width: 160px; height: 160px; border-radius: 12px; }

@media (max-width: 640px) {
  .wa-cta-inner { grid-template-columns: 1fr; text-align: center; }
  .wa-qr { margin: 0 auto; }
  .wa-btn-grande { width: 100%; justify-content: center; }
}

/* ══════════════════════════════════════════
   FIXES RESPONSIVE — TODAS LAS PÁGINAS
   Webflow exporta secciones con alturas fijas
   que rompen el layout en móvil.
   Estos overrides las convierten a height:auto
   y ajustan los layouts de columnas.
   ══════════════════════════════════════════ */

@media screen and (max-width: 991px) {

  /* ── INICIO ──────────────────────────── */
  .seccion-1-main  { height: auto !important; min-height: 420px; padding-bottom: 2rem; }
  .seccion-2-main  { height: auto !important; }
  .seccion-7-main  { height: auto !important; padding: 2rem 0; }
  .seccion-8-main  { height: auto !important; padding: 2rem 0; }

  /* Grid 4 columnas → 2 columnas en tablet */
  .contenedor-grid {
    grid-template-columns: 1fr 1fr !important;
    height: auto !important;
    width: 92% !important;
  }

  /* Stats */
  .puntos-buenos {
    flex-wrap: wrap !important;
    height: auto !important;
    gap: 12px;
  }
  .div-block-10 { width: 30% !important; }

  /* ── NOSOTROS ────────────────────────── */
  .seccion-1-nosotros { height: auto !important; padding: 2rem 0; }
  .seccion-2-nosotros { height: auto !important; }
  .seccion-3-nosotros { height: auto !important; padding: 2rem 0; }
  .seccion-4-nosotros { height: auto !important; margin-top: 2rem; }
  .seccion-5-nosotros { height: auto !important; margin-top: 1rem; }
  .seccion-6-nosotros { height: auto !important; flex-direction: column !important; }
  .seccion-7-nosotros { height: auto !important; padding: 2rem 0; }

  /* Tabs layout */
  .div-block-74 { flex-direction: column !important; height: auto !important; }
  .div-block-76  { width: 100% !important; }
  .div-block-77  { width: 100% !important; justify-content: flex-start !important; }

  /* Hero nosotros */
  .div-block-65 { width: 100% !important; height: auto !important; }
  .div-block-66 { width: 100% !important; height: auto !important; }

  /* ── SERVICIOS ───────────────────────── */
  .seccion-1-servicios { height: auto !important; padding: 2rem 0; }
  .seccion-2-servicios { height: auto !important; margin-top: 1rem; }
  .seccion-3-servicios { height: auto !important; padding: 2rem 0; }
  .seccion-4-servicios { height: auto !important; padding: 2rem 0; }
  .seccion-5-servicios { height: auto !important; padding: 2rem 0; }

  /* ── CONTACTO ────────────────────────── */
  .seccion-1-contacto { height: auto !important; }
  .seccion-2-contacto { height: auto !important; margin-top: 1rem; padding: 2rem 0; }
  .seccion-3-contacto { height: auto !important; padding: 2rem 0; }
  .seccion-4-contacto { height: auto !important; padding: 2rem 0; }

  .container-2-contacto {
    flex-direction: column !important;
    width: 92% !important;
    height: auto !important;
    align-items: flex-start !important;
  }
  .div-contacto { width: 100% !important; height: auto !important; }
  .div-block-92  { width: 100% !important; }

  /* ── FOOTER ──────────────────────────── */
  .footer---wrapper {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .div-block-45 { width: 100% !important; }
  .div-block-48 { width: 100% !important; }
}

@media screen and (max-width: 767px) {

  /* Grid → 1 columna */
  .contenedor-grid {
    grid-template-columns: 1fr !important;
    width: 95% !important;
  }

  /* Stats → columna */
  .puntos-buenos { flex-direction: column !important; align-items: center !important; }
  .div-block-10  { width: 100% !important; justify-content: center !important; }

  /* Hero → más compacto */
  .seccion-1-main { min-height: 340px; }
  .titulo-principal { font-size: clamp(1.4rem, 5vw, 2.2rem) !important; }

  /* Servicios importaciones layout */
  .div-block-39 { width: 100% !important; }
  .div-block-40 { width: 100% !important; }

  /* Nosotros hero text */
  .div-block-65 { width: 100% !important; }
  .div-block-66 { width: 100% !important; }

  /* Sección valores nosotros */
  .div-block-83 { flex-direction: column !important; }

  /* Mapa iframe */
  .map-widget { height: 250px !important; }
  .w-widget-map { height: 250px !important; }
}

@media screen and (max-width: 479px) {
  .titulo-principal { font-size: 1.3rem !important; line-height: 1.3 !important; }
  .titulo-secundario { font-size: 0.95rem !important; }
  .seccion-1-main { min-height: 300px; }
  .exp-num { font-size: 2rem !important; }
}
