/* ============================================================
   TECNOS.COM.MX — Responsive / Breakpoints
   ============================================================ */

/* ── Tablet: ≤ 1024px ─────────────────────────────────────── */
@media (max-width: 1024px) {
  .footer-grid             { grid-template-columns: 1fr 1fr; }
  .solutions-grid          { grid-template-columns: 1fr 1fr; }
  .products-grid           { grid-template-columns: 1fr 1fr; }
  .stats-grid              { grid-template-columns: repeat(2, 1fr); }
  .clients-grid            { grid-template-columns: repeat(4, 1fr); }
  .home-clients-grid       { grid-template-columns: repeat(5, 1fr); }
  .contact-grid            { grid-template-columns: 1fr; gap: 40px; }
  .why-grid                { grid-template-columns: 1fr; }
  .values-grid             { grid-template-columns: repeat(2, 1fr); }
  .downloads-grid          { grid-template-columns: repeat(2, 1fr); }
  .cta-band-inner          { flex-direction: column; text-align: center; }
  .cta-band-actions        { justify-content: center; }
}

/* ── Móvil grande: ≤ 768px ────────────────────────────────── */
@media (max-width: 768px) {
  /* Navbar */
  .nav-menu {
    display: none;
    position: fixed;
    top: 80px;
    left: 0; right: 0;
    background: #ffffff;
    border-bottom: 1px solid rgba(93,93,93,0.15);
    flex-direction: column;
    align-items: flex-start;
    padding: 16px;
    gap: 4px;
    z-index: 999;
  }
  .nav-menu.open { display: flex; }
  .hamburger     { display: flex; }
  .nav-cta       { margin-left: 0; width: 100%; }
  .nav-cta .btn  { width: 100%; justify-content: center; }
  .nav-dropdown  { width: 100%; }
  .nav-dropdown > .nav-link { width: 100%; }
  .dropdown-menu {
    position: static;
    background: rgba(44,74,100,0.05);
    display: none;
    box-shadow: none;
    border: none;
    padding: 4px 0 4px 16px;
    margin-top: 4px;
  }
  .nav-dropdown.open .dropdown-menu { display: block; }

  /* Layout */
  .section        { padding: 64px 0; }
  .solutions-grid { grid-template-columns: 1fr; }
  .products-grid  { grid-template-columns: 1fr; }
  .stats-grid     { grid-template-columns: repeat(2, 1fr); }
  .clients-grid   { grid-template-columns: repeat(3, 1fr); }
  .home-clients-grid { grid-template-columns: repeat(3, 1fr); }
  .downloads-grid { grid-template-columns: 1fr; }
  .values-grid         { grid-template-columns: 1fr; }
  .clients-auto-grid   { grid-template-columns: repeat(2, 1fr); }
  .form-row       { grid-template-columns: 1fr; }

  /* Hero */
  .hero           { min-height: auto; padding: 136px 0 72px; }
  .hero-actions   { flex-direction: column; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-scroll    { display: none; }

  /* Soporte banner */
  .support-banner { flex-direction: column; text-align: center; }

  /* Footer */
  .footer-grid    { grid-template-columns: 1fr; gap: 32px; }
  .footer-bottom  { flex-direction: column; text-align: center; }

  /* WhatsApp flotante */
  .wa-float { bottom: 20px; right: 20px; width: 52px; height: 52px; }
}

/* ── Móvil pequeño: ≤ 480px ───────────────────────────────── */
@media (max-width: 480px) {
  .container      { padding: 0 16px; }
  h1              { font-size: 1.9rem; }
  h2              { font-size: 1.5rem; }
  .stats-grid     { grid-template-columns: 1fr; }
  .clients-grid        { grid-template-columns: repeat(2, 1fr); }
  .home-clients-grid   { grid-template-columns: repeat(2, 1fr); }
  .clients-auto-grid   { grid-template-columns: repeat(2, 1fr); }
  .card           { padding: 22px; }
  .form-card      { padding: 24px; }
  .section-header { margin-bottom: 36px; }
  .btn-lg         { padding: 14px 24px; font-size: 0.95rem; }
  .hero-badge     { font-size: 0.84rem; }
  .hero-copy p        { font-size: 1rem; }
  .hero-inline-bullets { flex-wrap: wrap; white-space: normal; }
  .hero-inline-bullets span { font-size: 0.88rem; }
  .downloads-filters { gap: 8px; }
  .filter-btn     { padding: 7px 14px; font-size: 0.8rem; }
  .compare-table  { font-size: 0.8rem; }
  .compare-table th,
  .compare-table td { padding: 10px 12px; }
}

/* ── Reducción de movimiento (accesibilidad) ──────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .fade-in { opacity: 1; transform: none; }
}

@media (max-width: 480px) {
  .navbar .container { height: 74px; }
  .nav-menu { top: 74px; }
  .nav-logo img { height: 52px; }
  .nav-logo-text { font-size: 1.45rem; }
}
