/* ==========================================================================
   Aaditri Gold Buyers — Responsive Rules
   ========================================================================== */

/* -------------------- 1200px -------------------- */
@media (max-width: 1200px) {
  :root { --container-padding: 20px; }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr; gap: 24px; }
}

/* -------------------- 992px (tablet landscape) -------------------- */
@media (max-width: 992px) {
  .main-nav { display: none; }
  .header-phone { display: none; }
  .hamburger { display: flex; }
  .topbar-item--hours { display: none; }
  .brand-logo { height: 64px; }

  .grid-2 { grid-template-columns: 1fr; gap: 40px; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .approach-cards { grid-template-columns: repeat(2, 1fr); }

  .legal-layout { grid-template-columns: 1fr; gap: 30px; }
  .legal-toc { position: static; }

  .about-visual-badge { max-width: 240px; padding: 14px 18px; }

  .contact-panel { grid-template-columns: 1fr; }
  .contact-panel-form, .contact-panel-info { padding: 40px 32px; }

  .job-details-layout { grid-template-columns: 1fr; }
  .job-summary-card { position: static; }


  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }

  .process-steps { flex-wrap: wrap; }
  .process-steps::before { display: none; }
  .process-step { flex: 1 1 45%; }

  .hero-split { grid-template-columns: 1fr; text-align: center; }
  .hero-split .hero-actions { justify-content: center; }
  .hero-visual { order: -1; margin-bottom: 20px; }

  .testimonial-track .testimonial-card { flex-basis: calc((100% - 28px) / 2); }
}

/* -------------------- 768px (tablet) -------------------- */
@media (max-width: 768px) {
  .section { padding: 48px 0; }
  .section--sm { padding: 36px 0; }
  .section-header { margin-bottom: 28px; }

  .grid-3 { grid-template-columns: 1fr; }
  .grid-4 { grid-template-columns: 1fr 1fr; }

  .payment-callout { flex-direction: column; padding: 32px 26px; }

  .approach-cards { grid-template-columns: 1fr; }
  .milestone-flow { flex-direction: column; }
  .milestone-card { max-width: 320px; width: 100%; }
  .milestone-arrow { transform: rotate(90deg); }
  .cta-glow-section { padding: 40px 24px; border-radius: 20px; }

  .feature-rows { grid-template-columns: 1fr; }

  .page-hero { padding: 120px 0 60px; }

  .footer-grid { grid-template-columns: 1fr; gap: 32px; padding: 36px 0; }
  .footer-trust { padding: 24px 0 20px; }
  .footer-bottom { flex-direction: column; text-align: center; }

  .compare-table { display: block; overflow-x: auto; white-space: nowrap; }

  .banner-slide { flex-direction: column; text-align: center; padding: 40px 24px; }
  .banner-slide .banner-actions { justify-content: center; }

  .topbar-item--mail,
  .topbar-social { display: none; }

  .footer-trust { gap: 12px 24px; }
}

/* -------------------- 576px (large phone) -------------------- */
@media (max-width: 576px) {
  .topbar-inner { font-size: 0.72rem; gap: 10px; justify-content: center; }
  .topbar-left { display: none; }

  :root { --container-padding: 16px; --header-height: 78px; }
  .brand-logo { height: 56px; }

  .grid-4 { grid-template-columns: 1fr; }

  .btn { width: 100%; }
  .hero-actions .btn,
  .banner-actions .btn { width: auto; }
  .header-actions .btn { width: auto; padding: 10px 18px; font-size: 0.85rem; }

  .service-card { padding: 28px 22px; }

  .milestone-panel { flex-direction: column; }
  .milestone-panel-item { padding: 22px 20px; }
  .milestone-panel-item:not(:last-child)::after {
    right: 22%; left: 22%; bottom: 0; top: auto;
    width: auto; height: 1px;
  }

  .testimonial-track .testimonial-card { flex-basis: 100%; }
  .testimonial-slider { margin-bottom: 66px; }
  .testimonial-slider-arrow {
    width: 40px; height: 40px;
    top: auto;
    bottom: -56px;
    transform: none;
  }
  .testimonial-slider-arrow--prev { left: 50%; margin-left: -48px; }
  .testimonial-slider-arrow--next { right: 50%; margin-right: -48px; }

  .about-visual { margin-bottom: 48px; }
  .about-visual-badge {
    position: static;
    max-width: none;
    width: calc(100% - 32px);
    margin: -32px auto 0;
  }

  .process-step { flex: 1 1 100%; }

  .fab-stack { right: 14px; bottom: 14px; gap: 12px; }
  .fab { width: 52px; height: 52px; font-size: 1.3rem; }
  .scroll-top { right: 14px; bottom: 224px; width: 42px; height: 42px; }
  .chat-widget { right: 14px; bottom: 212px; top: 16px; max-height: 480px; width: calc(100vw - 28px); }

  .footer-social { justify-content: center; }
}

/* -------------------- 425px -------------------- */
@media (max-width: 425px) {
  .section-title { font-size: 1.6rem; }
  .stat-number { font-size: 1.8rem; }
}

/* -------------------- 375px / 320px -------------------- */
@media (max-width: 375px) {
  .container { padding-inline: 14px; }
  .btn { padding: 13px 22px; font-size: 0.9rem; }
  .service-card-number { display: none; }
}

/* -------------------- Short viewports (landscape phones, small preview panes) -------------------- */
@media (max-height: 560px) {
  .chat-widget { top: 12px; bottom: 12px; max-height: none; }
}

/* No horizontal overflow guard
   NOTE: overflow-x must stay off body — setting it on both html and body
   turns body into a scroll container and breaks position:sticky on .site-header. */
html { max-width: 100%; overflow-x: hidden; }
