/* ==========================================================================
   BN Publishing House — Responsive Rules
   Breakpoints: 1200 / 992 / 768 / 576
   ========================================================================== */

/* ---------- Ultra-wide desktop (>=1500px) ---------- */
@media (min-width: 1500px) {
  .services-grid { grid-template-columns: repeat(5, 1fr); }
}

/* ---------- Large desktop / laptop (<=1200px) ---------- */
@media (max-width: 1200px) {
  :root { --container-w: 100%; }
  .services-grid { grid-template-columns: repeat(3, 1fr); }
  .stats-grid { grid-template-columns: repeat(4, 1fr); gap: 18px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.1fr 0.7fr 0.8fr 0.9fr 1fr; gap: 26px; }
}

/* ---------- Tablet (<=992px) ---------- */
@media (max-width: 992px) {
  .section-pad { padding: 80px 0; }

  .nav-menu { display: none; }
  .header-actions .btn-primary.desktop-only { display: none; }
  .hamburger { display: flex; }

  .hero { padding-top: 130px; min-height: auto; }
  .hero-grid { grid-template-columns: 1fr; gap: 60px; text-align: center; }
  .hero-content p { margin-left: auto; margin-right: auto; }
  .hero-actions { justify-content: center; }
  .hero-meta { justify-content: center; }
  .hero-visual { height: 380px; margin-top: 20px; }
  .float-card { display: none; }
  .hero-dots { left: 50%; transform: translateX(-50%); }
  .hero-arrows { display: none; }

  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .process-track { grid-template-columns: repeat(3, 1fr); row-gap: 50px; }
  .process-track::before { display: none; }

  .story-section .grid-2 { grid-template-columns: 1fr; gap: 50px; }
  .mv-grid { grid-template-columns: 1fr; gap: 20px; }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .timeline-item { width: 100%; left: 0 !important; text-align: left !important; padding: 0 0 50px 50px; }
  .timeline::before { left: 9px; }
  .timeline-item .dot { left: 0 !important; right: auto !important; }

  .service-detail { grid-template-columns: 1fr; gap: 36px; }
  .service-detail.reverse .sd-media { order: 0; }
  .pricing-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
  .sd-list { grid-template-columns: 1fr; }

  .blog-layout { grid-template-columns: 1fr; }
  .blog-grid-main { grid-template-columns: repeat(2, 1fr); }
  .blog-grid-home { grid-template-columns: repeat(2, 1fr); }

  .contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .contact-form-wrap { padding: 36px; }

  .footer-grid { grid-template-columns: 1fr 1fr 1fr; gap: 36px; }
  .footer-about { grid-column: 1 / -1; }
  .testimonial-card { flex: 0 0 calc(50% - 14px); }
}

/* ---------- Mobile (<=768px) ---------- */
@media (max-width: 768px) {
  .container { padding: 0 20px; }
  .section-pad { padding: 64px 0; }
  .section-head { margin-bottom: 40px; }

  .page-hero { padding: 150px 0 80px; }

  .hero-content h1 { letter-spacing: -0.5px; }
  .hero-actions { flex-direction: column; width: 100%; }
  .hero-actions .btn { width: 100%; }
  .hero-meta { flex-direction: column; align-items: center; gap: 12px; }

  .stats-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .stat-card { padding: 28px 16px; }
  .stat-card .num { font-size: 32px; }

  .services-grid { grid-template-columns: 1fr; }
  .process-track { grid-template-columns: 1fr 1fr; }

  .books-slider { gap: 18px; }
  .book-card { flex: 0 0 220px; }

  .testimonial-track { gap: 18px; }
  .testimonial-card { flex: 0 0 100%; }

  .blog-grid-home { grid-template-columns: 1fr; }
  .blog-grid-main { grid-template-columns: 1fr; }

  .cta-banner { padding: 56px 28px; border-radius: var(--radius-lg); }

  .footer-grid { grid-template-columns: 1fr; gap: 36px; padding-bottom: 40px; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .why-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .mv-grid { gap: 16px; }

  .form-row { grid-template-columns: 1fr; gap: 0; }
  .contact-form-wrap { padding: 28px; }
  .map-wrap { height: 300px; margin-top: 50px; }

  .blog-single-cover { margin-top: -40px; }
  .author-box { flex-direction: column; text-align: center; }

  .achievements { padding: 50px 24px; }
}

/* ---------- Small mobile (<=576px) ---------- */
@media (max-width: 576px) {
  .eyebrow { font-size: 12px; padding: 7px 14px; }
  .btn { padding: 15px 26px; font-size: 14px; }

  .hero-visual { height: 280px; }

  .stats-grid { grid-template-columns: 1fr 1fr; }
  .process-track { grid-template-columns: 1fr 1fr; gap: 30px 14px; }

  .team-grid { grid-template-columns: 1fr; max-width: 280px; margin: 0 auto; }
  .testimonial-card { padding: 30px 24px; }

  .service-filter { gap: 8px; }
  .service-filter button { padding: 9px 16px; font-size: 13px; }

  .blog-toolbar { flex-direction: column; align-items: stretch; }
  .blog-search { max-width: 100%; }

  .contact-card { flex-direction: column; text-align: center; }
  .contact-card .icon-circle { margin: 0 auto; }

  .back-to-top { right: 16px; bottom: 16px; width: 46px; height: 46px; }
}
