/* ===============================================
   MOBILE-FIRST OPTIMIZATIONS
   Aplica refinamientos específicos en pantallas <= 780px
   =============================================== */

/* Touch targets mínimos 44px */
button, .btn, a.btn, input, select, textarea {
  min-height: 44px;
}

/* Scroll suave */
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

/* Safe area iOS */
.site-header, .bottom-nav {
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

/* Pequeños */
.btn-sm { padding:.5rem 1rem; font-size:13px; min-height:38px;}
.hide-mobile { display:inline; }
.show-mobile { display:none; }

@media (max-width: 780px) {
  body { font-size:15px; }
  h1,h2,h3 { letter-spacing:-.01em; }
  .container { padding: 0 16px; }

  .header-inner { padding: 10px 16px; gap:10px; }
  .brand-logo { width:38px; height:38px; }
  .brand-text strong { font-size: 14px; }
  .brand-text span { font-size: 10px; }

  .hide-mobile { display:none !important; }
  .show-mobile { display:inline !important; }

  /* Hero */
  .hero { padding: 30px 0 50px; }
  .hero-title { font-size: 30px; line-height:1.15;}
  .hero-sub { font-size: 15px;}
  .hero-actions { flex-direction:column; }
  .hero-actions .btn { width:100%; justify-content:center;}
  .hero-stats { grid-template-columns:1fr 1fr; gap:10px;}
  .hero-stats > div { padding: 12px; }
  .hero-stats strong { font-size:18px;}

  .floating-card { font-size: 11px; padding:8px 12px;}
  .card-1 { left:0;}
  .card-2 { right:0;}

  /* Sections */
  .services, .pricing, .locations, .ai-ecosystem, .cta-final { padding: 50px 0;}
  .section-head { margin-bottom: 30px;}
  .section-head h2 { font-size: 24px;}
  .section-head p { font-size:14px;}

  /* Service cards */
  .service-card { padding: 22px;}
  .svc-icon { width:54px; height:54px; font-size:22px;}
  .service-card h3 { font-size:18px;}
  .price { font-size:22px;}

  /* Pricing tabs */
  .pricing-tabs { padding:6px;}
  .tab { padding:10px 12px; font-size:13px; min-width:0;}
  .tab i { display:none;}
  .price-card { padding:16px; }
  .price-card .amount { font-size:18px;}

  /* Locations */
  .loc-controls { flex-direction:column; }
  .loc-controls select, .search-wrap { width:100%; }
  .loc-layout { grid-template-columns:1fr; gap:14px;}
  #map-mexico { height: 320px;}
  .loc-list { height: 340px;}

  /* AI ecosystem */
  .ai-features li { font-size: 14px;}
  .ai-features li i { width:20px;}

  /* CTA */
  .cta-inner { padding:24px; flex-direction:column; text-align:center;}
  .cta-simi { width:120px; margin: 0 auto;}

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

  /* Modal */
  .modal-content { padding:20px;}

  /* Toast */
  .toast { left:16px; right:16px; bottom:16px; font-size:13px;}
}

@media (max-width: 420px) {
  .service-pick { grid-template-columns: 1fr !important; }
  .hero-stats { grid-template-columns:1fr 1fr; }
  .hero-stats strong { font-size:16px;}
}

/* Bottom mobile nav (for app pages) */
.bottom-nav {
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:50;
  background:#fff; border-top:1px solid var(--border);
  padding: 8px env(safe-area-inset-right) calc(8px + env(safe-area-inset-bottom)) env(safe-area-inset-left);
}
.bottom-nav-grid {
  display:grid; grid-template-columns: repeat(5,1fr); gap:4px; max-width:600px; margin:0 auto;
}
.bottom-nav a {
  display:flex; flex-direction:column; align-items:center; gap:3px;
  padding:8px 4px; color:var(--ink-500); font-size:11px; font-weight:600;
  border-radius:10px;
}
.bottom-nav a.active { color:var(--blue-700); background: var(--blue-50);}
.bottom-nav a i { font-size:18px;}

@media(max-width: 780px) {
  .bottom-nav.show-on-mobile { display:block; }
  body.has-bottom-nav { padding-bottom: 80px; }
}
