/* ============================================================
   DHOTE ACCOUNT & TAX CONSULTANCY
   Responsive CSS — responsive.css
   Breakpoints: xxl(1400) xl(1200) lg(992) md(768) sm(576) xs(<576)
============================================================ */

/* ===== EXTRA LARGE (≥1400px) ===== */
@media (min-width: 1400px) {
  .hero-title        { font-size: 3.8rem; }
  .hero-visual-area  { width: 480px; height: 480px; }
  .hero-orbit        { width: 240px; height: 240px; }
  .hero-orbit-2      { width: 360px; height: 360px; }
}

/* ===== LARGE (992px–1199px) ===== */
@media (max-width: 1199px) {
  .section-pad { padding: 75px 0; }

  .hero-title { font-size: 2.7rem; }

  .hero-visual-area { width: 360px; height: 360px; margin-top: 40px; }
  .hero-center-icon  { width: 86px; height: 86px; font-size: 2.3rem; }
  .hero-orbit        { width: 170px; height: 170px; }
  .hero-orbit-2      { width: 260px; height: 260px; }

  .stat-number { font-size: 2.2rem; }
}

/* ===== MEDIUM (768px–991px) ===== */
@media (max-width: 991px) {
  /* --- Navbar --- */
  #mainNavbar .navbar-collapse {
    background: rgba(6,24,40,0.98);
    backdrop-filter: blur(20px);
    padding: 20px 24px;
    border-radius: 0 0 16px 16px;
    margin-top: 10px;
    box-shadow: 0 12px 32px rgba(0,0,0,0.3);
  }

  #mainNavbar .nav-link { padding: 10px 12px !important; }

  .btn-nav-cta {
    margin-top: 8px; width: 100%;
    display: flex; justify-content: center;
  }

  /* --- Hero --- */
  .hero-section { text-align: center; }
  .hero-content { padding: 120px 0 40px; }
  .hero-desc    { max-width: 100%; margin: 0 auto 2rem; }
  .hero-btns    { justify-content: center; }
  .hero-stats   { justify-content: center; }
  .hero-badge   { margin: 0 auto 1rem; }

  .hero-stat { text-align: center; }

  /* --- About --- */
  .about-img-wrap {
    max-width: 400px;
    margin: 0 auto;
    padding-left: 24px;
  }
  .about-img-placeholder { height: 340px; }

  /* --- Trust bar --- */
  .trust-item { padding: 10px 16px; }

  /* --- Cards grid --- */
  .glass-card   { padding: 24px 18px; }

  /* --- Stats --- */
  .stat-number { font-size: 2rem; }

  /* --- Swiper buttons --- */
  .swiper-button-prev { left: calc(50% - 56px) !important; }
  .swiper-button-next { right: calc(50% - 56px) !important; }

  /* --- Contact --- */
  .contact-glass-card { margin-bottom: 0; }

  /* --- Footer --- */
  .footer-about { max-width: 100%; }
}

/* ===== SMALL (576px–767px) ===== */
@media (max-width: 767px) {
  /* --- Global --- */
  .section-pad { padding: 60px 0; }
  .section-title { font-size: 1.85rem; }

  /* --- Hero --- */
  .hero-title   { font-size: 2rem; }

  .hero-btns {
    flex-direction: column;
    align-items: center;
  }
  .hero-btns > a {
    width: 100%; max-width: 280px;
    justify-content: center;
  }

  .hero-stats { flex-wrap: wrap; gap: 16px; justify-content: center; }
  .hero-stat-divider { display: none; }
  .hero-stat { flex: 1 1 calc(33% - 1rem); min-width: 80px; }
  .hero-stat-num { font-size: 1.5rem; }

  /* --- Preloader --- */
  .preloader-initials span { font-size: 2.8rem; }

  /* --- About --- */
  .about-img-placeholder { height: 280px; }
  .about-cert-badge { display: none; }

  /* --- Trust bar --- */
  .trust-bar { flex-direction: column; gap: 0; padding: 12px 0; }
  .trust-divider { width: 80%; height: 1px; margin: 0 auto; }
  .trust-item { padding: 10px 20px; justify-content: center; }

  /* --- Calc cards --- */
  .calc-header { padding: 20px 22px; }
  .calc-body   { padding: 20px 22px 0; }
  .calc-result { padding: 18px 22px; }

  /* --- Contact form --- */
  .contact-form-premium { padding: 28px 22px; }
  .contact-glass-card   { padding: 28px 22px; }

  /* --- Loan cards --- */
  .loan-premium-card { max-width: 360px; margin: 0 auto; }

  /* --- Testimonials --- */
  .testi-card { padding: 24px 20px; }

  /* --- FAQ --- */
  .pa-btn { font-size: 0.88rem !important; padding: 16px 18px !important; }

  /* --- Footer --- */
  .footer-main { padding: 50px 0 36px; }
  .footer-bottom .row > div { text-align: center !important; margin-bottom: 6px; }

  /* --- Floating buttons --- */
  .wa-float  { bottom: 80px; right: 16px; width: 50px; height: 50px; font-size: 1.4rem; }
  .btt-btn   { bottom: 20px; right: 16px; width: 40px; height: 40px; }

  /* --- Map --- */
  .map-box { height: 220px; }
}

/* ===== EXTRA SMALL (<576px) ===== */
@media (max-width: 991px) {
  .navbar-logo { height: 58px; max-width: 240px; }
  .logo-glass-wrap { padding: 4px 10px; border-radius: 12px; }
}

@media (max-width: 575px) {
  /* --- Navbar --- */
  .navbar-logo { height: 50px; max-width: 200px; }

  /* --- Hero --- */
  .hero-title { font-size: 1.75rem; }
  .hero-badge { font-size: 0.75rem; }
  .hero-desc  { font-size: 0.9rem; }

  .hero-stats { gap: 12px; }
  .hero-stat-num { font-size: 1.3rem; }
  .hero-stat p { font-size: 0.65rem; }

  /* --- Preloader --- */
  .preloader-logo-wrap { padding: 14px 18px; border-radius: 18px; }
  .preloader-logo { width: 320px; }
  .preloader-bar { width: 220px; }

  /* --- Map --- */
  .map-embed-wrap iframe { height: 280px; }

  /* --- About --- */
  .about-img-placeholder { height: 240px; }
  .about-img-wrap { padding-left: 14px; }
  .aeb-num { font-size: 1.4rem; }

  /* --- Stats --- */
  .stat-number { font-size: 1.8rem; }
  .stat-plus   { font-size: 1.5rem; }
  .stat-card   { padding: 24px 14px; }

  /* --- Services --- */
  .glass-card h5 { font-size: 0.9rem; }
  .gc-icon { width: 50px; height: 50px; font-size: 1.3rem; }

  /* --- Why --- */
  .why-glass-card { padding: 24px 20px; }

  /* --- Calc --- */
  .gst-rate-btns, .gst-type-btns { gap: 6px; }
  .gst-rate-btn, .gst-type-btn { padding: 6px 10px; font-size: 0.78rem; }

  /* --- Contact --- */
  .cgc-social { justify-content: flex-start; }
  .contact-form-premium { padding: 22px 16px; }
  .contact-glass-card   { padding: 22px 16px; }

  /* --- WhatsApp tooltip --- */
  .wa-tooltip { display: none; }
}

/* ===== PRINT STYLES ===== */
@media print {
  #pageLoader, .wa-float, .btt-btn, #mainNavbar, .scroll-down-indicator { display: none !important; }

  .hero-section { min-height: auto; padding: 40px 0; background: #fff !important; }
  .hero-title, .hero-desc, .hero-tagline { color: #000 !important; }

  .section-pad { padding: 30px 0; }

  .glass-card, .loan-premium-card, .why-glass-card, .testi-card, .stat-card {
    break-inside: avoid; box-shadow: none !important;
    border: 1px solid #ddd !important;
  }

  .stats-section, .why-section { background: #f8f8f8 !important; }
  .stat-number, .section-title { color: #000 !important; }
}
