/* ============================================
   SHUBHAM ENTERPRISE — RESPONSIVE STYLES
   ============================================ */

/* ─── XL (≥1400px) ─── */
@media (min-width: 1400px) {
  .hero-title { font-size: 4.5rem; }
  .container { max-width: 1320px; }
}

/* ─── LG (992–1199px) ─── */
@media (max-width: 1199px) {
  .hero-float-card.card-left  { left: 0; }
  .hero-float-card.card-right { right: 0; }
  .process-step::after { right: -40%; }
}

/* ─── MD (768–991px) ─── */
@media (max-width: 991px) {
  section { padding: 70px 0; }

  /* Navbar */
  .main-navbar .nav-link { padding: 12px 16px !important; border-bottom: 1px solid var(--border); }
  .main-navbar .nav-link::after { display: none; }
  .main-navbar .navbar-collapse { background: #fff; border-radius: 0 0 var(--radius-md) var(--radius-md); box-shadow: var(--shadow-md); padding: 8px 0; margin-top: 0; }
  .main-navbar .ms-lg-3 { margin: 12px 16px; }
  .main-navbar .nav-cta { display: inline-flex; border-radius: var(--radius-md) !important; padding: 12px 20px !important; }
  .topbar { display: none; }

  /* Hero */
  .hero-section { min-height: auto; }
  .hero-content { padding: 60px 0 40px; }
  .hero-stats { gap: 20px; }
  .hero-stat .stat-number { font-size: 1.8rem; }
  .hero-visual { margin-top: 40px; }
  .hero-float-card { display: none; }

  /* About */
  .about-image-stack { padding-bottom: 20px; padding-right: 20px; margin-bottom: 40px; }
  .about-img-main img { height: 300px; }
  .about-img-small { width: 140px; height: 110px; }
  .about-badge-years { left: 10px; }

  /* Stats */
  .stat-count { font-size: 2.8rem; }

  /* Process */
  .process-step::after { display: none; }
  .process-step { margin-bottom: 30px; }

  /* Contact cards */
  .contact-info-card,
  .contact-form-card { padding: 32px 24px; }

  /* Footer */
  .newsletter-form .input-group { margin-left: 0; }
  .footer-certifications { justify-content: flex-start; margin-top: 10px; }
}

/* ─── SM (576–767px) ─── */
@media (max-width: 767px) {
  section { padding: 56px 0; }

  .hero-title { font-size: 2.2rem; }
  .hero-subtitle { font-size: 1rem; }
  .hero-actions { flex-direction: column; align-items: flex-start; }
  .hero-stats { gap: 16px; }
  .hero-stat-divider { display: none; }
  .hero-stat .stat-number { font-size: 1.6rem; }

  .section-title { font-size: 1.7rem; }

  .about-features { grid-template-columns: 1fr; }
  .about-img-main img { height: 250px; }

  .page-banner { padding: 60px 0 50px; }
  .page-banner h1 { font-size: 1.9rem; }

  .stats-section { padding: 50px 0; }
  .stat-count { font-size: 2.4rem; }
  .stat-label { font-size: 12px; }

  .gallery-item img { height: 200px; }

  .blog-content { padding: 20px; }

  .contact-form-card,
  .contact-info-card { padding: 28px 20px; }

  .footer-certifications { gap: 10px; }
  .footer-newsletter h4 { font-size: 1.2rem; }
  .newsletter-form .input-group { flex-direction: column; }
  .newsletter-form .form-control { border-radius: var(--radius-md) !important; margin-bottom: 10px; }
  .newsletter-form .btn-accent { border-radius: var(--radius-xl) !important; }

  .back-to-top { bottom: 80px; right: 16px; width: 40px; height: 40px; }
  .whatsapp-float { bottom: 20px; right: 16px; width: 50px; height: 50px; font-size: 22px; }
}

/* ─── XS (<576px) ─── */
@media (max-width: 575px) {
  section { padding: 48px 0; }

  .hero-section { min-height: auto; }
  .hero-content { padding: 48px 0 32px; }
  .hero-badge { font-size: 11px; padding: 6px 14px; }
  .hero-title { font-size: 1.9rem; }
  .btn-hero-primary, .btn-hero-secondary { width: 100%; text-align: center; padding: 14px 24px; }

  .section-title { font-size: 1.5rem; }
  .section-subtitle { font-size: .95rem; }

  .service-card { padding: 28px 22px; }
  .service-icon { width: 60px; height: 60px; font-size: 24px; }

  .why-card { padding: 28px 16px; }
  .why-icon-wrap { width: 65px; height: 65px; font-size: 26px; }

  .stat-count { font-size: 2rem; }
  .stat-icon { font-size: 1.8rem; }

  .testimonial-card { padding: 24px 20px; }

  .gallery-item img { height: 180px; }

  .blog-img { height: 190px; }

  .footer-main { padding: 50px 0 30px; }
  .footer-contact li { flex-direction: column; gap: 4px; }

  .process-step { padding: 0 10px; }

  .cta-section { padding: 56px 0; }
  .cta-title { font-size: 1.6rem; }
}

/* ─── PRINT ─── */
@media print {
  .topbar, .main-navbar, .back-to-top, .whatsapp-float, .site-footer, #preloader { display: none !important; }
  body { font-size: 12pt; }
}
