/* ============================================================
   RESPONSIVE — Breakpoints centralizados.
   Cargado AL FINAL para sobreescribir el resto.

   XL    ≥1400px (default)
   LG    1100-1399px
   MD    860-1099px
   SM    600-859px
   XS    <600px
   ============================================================ */

@media (max-width: 1399px) {
  :root { --pad-x: 4vw; }
}

@media (max-width: 1099px) {
  :root { --pad-x: 4vw; }

  .sh-nav-link { padding: 0 14px; font-size: 12px; }
  .sh-cta { padding: 10px 16px; font-size: 10px; margin-left: 12px; }

  .ft-dist-inner { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .ft-dist-text { margin-left: auto; margin-right: auto; }
  .ft-dist-tagline { display: inline-block; text-align: left; }
  .ft-dist-right { order: -1; }

  .ft-locations-grid { grid-template-columns: repeat(3, 1fr); }
  .ft-main-inner { grid-template-columns: 1fr 1fr; gap: 50px; }
}

@media (max-width: 859px) {
  body { padding-top: var(--header-h-mobile); }

  .sh-inner { height: var(--header-h-mobile); }
  .sh-nav, .sh-cta { display: none; }
  .sh-hamburger { display: flex; }
  .sh-mobile-nav { display: flex; }
  .sh-logo img { height: 54px; }

  .ft-locations-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-main-inner { grid-template-columns: 1fr; gap: 40px; }

  .wa-float { width: 54px; height: 54px; bottom: 18px; right: 18px; }
  .wa-tooltip { display: none; }

  .ft-dist-band { padding: 60px var(--pad-x); }
  .ft-dist-inner { grid-template-columns: 1fr; gap: 40px; text-align: center; }
  .ft-dist-text { margin-left: auto; margin-right: auto; }
  .ft-dist-tagline { display: inline-block; text-align: left; }
  .ft-dist-right { order: -1; }
  .ft-almaco-logo { max-width: 280px; }
  .ft-locations { padding: 50px var(--pad-x); }
}

@media (max-width: 599px) {
  :root { --pad-x: 5vw; }

  .heading { font-size: clamp(34px, 8vw, 52px); }
  .btn-o, .btn-g { padding: 12px 22px; font-size: 11px; }

  .ft-locations-grid { grid-template-columns: 1fr; }
  .ft-loc-addr { min-height: auto; }
  .ft-dist-tagline { font-size: clamp(48px, 13vw, 68px); }
  .ft-almaco-logo { max-width: 260px; }

  .ft-bottom-inner { flex-direction: column; text-align: center; }
}

@media (max-width: 380px) {
  .sh-logo img { height: 46px; }
  .sh-inner { padding: 0 4vw; }
}
