/* ============================================
   Mapfly Global - Responsive Stylesheet
   ============================================ */

@media (max-width: 1280px) {
  .main-nav .nav-link { padding: 8px 9px; font-size: 0.82rem; }
  .logo-tagline { display: none; }
}

@media (max-width: 1100px) {
  .main-nav { display: none; }
  .hamburger { display: flex; }
  .mobile-menu { display: block; }
  .header-inner { height: 72px; }
  .mobile-menu { top: 72px; }
  .site-header.scrolled .header-inner { height: 72px; }
  .page-hero { padding-top: 110px; }
  .hero { padding-top: 72px; }
}

@media (max-width: 960px) {
  .hero-inner { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { order: -1; max-width: 480px; margin: 0 auto; }
  .hero-stats { gap: 24px; flex-wrap: wrap; }
  .why-us-grid, .about-grid, .grid-2, .mv-grid, .contact-grid, .appointment-grid {
    grid-template-columns: 1fr; gap: 36px;
  }
  .grid-3, .reviews-grid, .visa-cards-grid { grid-template-columns: repeat(2, 1fr); }
  .grid-4, .countries-grid, .team-grid, .study-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .stat-item { border-right: none; border-bottom: 1px solid var(--gray-mid); padding-bottom: 24px; }
  .stat-item:nth-child(3), .stat-item:nth-child(4) { border-bottom: none; }
  .process-steps { grid-template-columns: repeat(2, 1fr); gap: 32px; }
  .visa-content-grid { grid-template-columns: 1fr; }
  .visa-toc { position: static; }
  .director-card { grid-template-columns: 1fr; }
  .director-photo { min-height: 320px; }
  .director-content { padding: 40px 28px; }
  .visa-meta-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: span 2; }
  .section { padding: 64px 0; }
  .mobile-cta-bar { display: block; }
  body { padding-bottom: 70px; }
  .whatsapp-btn { bottom: 86px; }
  .chat-bubble { bottom: 154px; }
}

@media (max-width: 640px) {
  .container { padding: 0 18px; }
  .hero { min-height: auto; padding-bottom: 40px; }
  h1 { font-size: 1.85rem; }
  h2 { font-size: 1.5rem; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .grid-3, .reviews-grid, .visa-cards-grid, .grid-4, .countries-grid, .team-grid, .study-grid {
    grid-template-columns: 1fr;
  }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-number { font-size: 2rem; }
  .process-steps { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: span 1; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .section { padding: 56px 0; }
  .section-header { margin-bottom: 36px; }
  .page-hero { padding: 110px 0 48px; }
  .hero-floating-card { display: none; }
  .director-photo { font-size: 5rem; min-height: 240px; }
  .review-photo { height: 200px; font-size: 4rem; }
  .contact-form-card, .booking-card { padding: 24px; }
  .about-image-block { aspect-ratio: 4/3; font-size: 5rem; }
  .visa-section h2 { font-size: 1.3rem; }
  .header-actions .book-btn span,
  .header-actions .book-btn svg { display: none; }
  .header-actions .book-btn { padding: 10px 16px; font-size: 0.78rem; }
}

@media (max-width: 420px) {
  .logo-text { font-size: 1.1rem; }
  .logo-icon { width: 36px; height: 36px; }
  .logo-icon svg { width: 20px; height: 20px; }
  .header-actions { gap: 8px; }
  .book-btn { padding: 9px 14px !important; font-size: 0.72rem !important; }
}
