/* =================================================================
   TOWER CONSULTING — responsive.css
   Breakpoints: Desktop (por defecto) > 1180px, Tablet <= 1180px,
   Mobile <= 860px, Small mobile <= 480px
   ================================================================= */

/* -----------------------------------------------------------------
   TABLET GRANDE / LAPTOP PEQUEÑO (<= 1180px)
   ----------------------------------------------------------------- */
@media (max-width: 1180px) {
  :root { --space-2xl: 6rem; --space-xl: 4rem; }

  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .stats__grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg); }
  .testimonials__grid { grid-template-columns: 1fr; }
  .footer__inner { grid-template-columns: 1fr 1fr; gap: var(--space-xl) var(--space-lg); }
}

/* -----------------------------------------------------------------
   TABLET (<= 960px)
   ----------------------------------------------------------------- */
@media (max-width: 960px) {
  .hero__inner { grid-template-columns: 1fr; text-align: center; }
  .hero__content { order: 1; }
  .hero__visual { order: 0; max-width: 380px; margin-inline: auto; }
  .hero__cta { justify-content: center; }
  .hero__trust-stats { justify-content: center; }

  .process__timeline { grid-template-columns: repeat(2, 1fr); gap: var(--space-lg) var(--space-md); }
  .process__bar { max-height: 140px; }

  .contact__inner { grid-template-columns: 1fr; }
  .contact__map { max-height: 280px; }
}

/* -----------------------------------------------------------------
   MOBILE (<= 860px) — navegación colapsable
   ----------------------------------------------------------------- */
@media (max-width: 860px) {
  html { font-size: 58%; }

  .navbar__toggle { display: flex; }
  .navbar__cta { display: none; }

  .navbar__nav {
    position: fixed;
    top: var(--navbar-h);
    left: 0; right: 0;
    background: rgba(10, 14, 39, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border);
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--t-med) var(--ease);
  }
  [data-theme="light"] .navbar__nav { background: rgba(255,255,255,0.98); }
  .navbar__nav.is-open { max-height: 500px; }

  .navbar__list {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: var(--space-sm) var(--space-md) var(--space-md);
  }
  .navbar__list li { width: 100%; }
  .navbar__link { display: block; padding-block: 1.4rem; width: 100%; border-bottom: 1px solid var(--border); font-size: 1.6rem; }

  .navbar__toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .navbar__toggle.is-active span:nth-child(2) { opacity: 0; }
  .navbar__toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .services__grid { grid-template-columns: 1fr; }
  .process__timeline { grid-template-columns: 1fr; }
  .process__step { flex-direction: row; align-items: center; gap: var(--space-md); }
  .process__bar { width: 60px; height: 90px !important; max-height: none; margin-bottom: 0; border-radius: var(--radius-sm); flex-shrink: 0; }

  .footer__inner { grid-template-columns: 1fr; gap: var(--space-lg); }
  .footer__bottom-inner { flex-direction: column; text-align: center; }

  .form__row { grid-template-columns: 1fr; }

  .slide { padding: var(--space-lg) var(--space-md); }
  .slide h3 { font-size: 2.2rem; }
}

/* -----------------------------------------------------------------
   MOBILE PEQUEÑO (<= 480px)
   ----------------------------------------------------------------- */
@media (max-width: 480px) {
  .container { padding-inline: var(--space-sm); }
  .section { padding-block: var(--space-xl); }

  .hero__title { font-size: 3.4rem; }
  .hero__subtitle { font-size: 1.6rem; }
  .hero__cta { flex-direction: column; width: 100%; }
  .hero__cta .btn { width: 100%; justify-content: center; }
  .hero__trust-stats { flex-direction: column; gap: var(--space-sm); }

  .stats__grid { grid-template-columns: 1fr; }
  .section__title { font-size: 2.6rem; }

  .contact__form { padding: var(--space-md); }

  .float-btn { width: 48px; height: 48px; right: var(--space-sm); }
  .float-btn--whatsapp { bottom: var(--space-sm); }
  .float-btn--top { bottom: calc(var(--space-sm) + 60px); }

  .testimonial-card { padding: var(--space-md); }
}

/* -----------------------------------------------------------------
   PANTALLAS GRANDES (>= 1600px) — límite de escala
   ----------------------------------------------------------------- */
@media (min-width: 1600px) {
  html { font-size: 68%; }
  .container { max-width: 1320px; }
}

/* -----------------------------------------------------------------
   ORIENTACIÓN Y ALTURA REDUCIDA (landscape móvil)
   ----------------------------------------------------------------- */
@media (max-height: 480px) and (orientation: landscape) {
  .hero { min-height: auto; padding-block: calc(var(--navbar-h) + var(--space-lg)) var(--space-lg); }
}
