/* ============================================================
   ELITE MOMENTS - RESPONSIVE STYLES
   ============================================================ */

/* ============================================================
   LARGE DESKTOP (1400px+)
   ============================================================ */
@media (max-width: 1400px) {
  :root { --container-max: 1140px; }
}

/* ============================================================
   DESKTOP / TABLET-LARGE (1200px)
   ============================================================ */
@media (max-width: 1200px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .masonry-grid { columns: 2; }
}

/* ============================================================
   TABLET (992px)
   ============================================================ */
@media (max-width: 992px) {
  :root { --section-py: 72px; }

  /* Navbar */
  .nav-links { display: none; }
  .hamburger { display: flex; }

  /* Grids */
  .grid-3 { grid-template-columns: 1fr 1fr; }
  .grid-2 { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-item:nth-child(3)::before { display: none; }

  /* Hero home */
  .hero-content { max-width: 100%; }

  /* Pricing */
  .pricing-grid-3 { grid-template-columns: 1fr 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   MOBILE (768px)
   ============================================================ */
@media (max-width: 768px) {
  :root { --section-py: 56px; }

  /* Typography */
  .section-title { font-size: clamp(1.6rem, 6vw, 2.5rem); }

  /* Grids */
  .grid-3, .grid-4 { grid-template-columns: 1fr; }
  .masonry-grid { columns: 1; }

  /* Stats */
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item::before { display: none; }

  /* Pricing */
  .pricing-grid-3 { grid-template-columns: 1fr; }

  /* Testimonial */
  .testimonial-slide { padding: 0 16px; }
  .testimonial-card { padding: 32px 24px; }
  .testimonial-text { font-size: 1.1rem; }

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

  /* Float buttons */
  .float-buttons { bottom: 20px; right: 20px; }

  /* Lightbox nav */
  .lightbox-prev { left: 12px; }
  .lightbox-next { right: 12px; }

  /* Page Hero */
  .page-hero { height: 45vh; min-height: 300px; padding-bottom: 40px; }

  /* Services grid on home */
  .services-home-grid { grid-template-columns: repeat(2, 1fr) !important; }
}

/* ============================================================
   MOBILE SMALL (480px)
   ============================================================ */
@media (max-width: 480px) {
  .container { padding: 0 16px; }
  :root { --section-py: 48px; }

  .section-title { font-size: 1.8rem; }
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .stat-number { font-size: 2.2rem; }
  .hero-cta-group { flex-direction: column; align-items: flex-start; }
  .gallery-filters { gap: 8px; }
  .filter-btn { padding: 7px 16px; font-size: 0.65rem; }
  .testimonial-card { padding: 24px 16px; }
  .blog-card-body { padding: 20px; }
  .pricing-card { padding: 36px 24px; }
  .services-home-grid { grid-template-columns: 1fr !important; }
  .faq-question { font-size: 0.95rem; }

  .float-btn { width: 48px; height: 48px; font-size: 1.15rem; }
  .back-top-btn { width: 38px; height: 38px; font-size: 0.85rem; }
}
