/* =========================================================
   HOMES BY MADHU — Responsive
   All @media overrides, consolidated by breakpoint. Must be
   the LAST stylesheet loaded so these rules can win over the
   base rules defined in tokens/base/layout/components/home/
   forms/header-footer.css at equal selector specificity.
   ========================================================= */

@media (max-width: 1024px) {
  /* header-footer.css */
  .footer-grid { grid-template-columns: 1fr 1fr; }

  /* components.css */
  .about-hero-grid { grid-template-columns: 1fr; }
  .about-photo { max-height: 400px; }
  .contact-page-grid { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .sell-approach-grid { grid-template-columns: 1fr; }
  .sell-marketing-grid { grid-template-columns: 1fr; }
  .valuation-grid { grid-template-columns: 1fr; }
  .region-dash-grid { grid-template-columns: 1fr 1fr; }
  .region-detail-grid { grid-template-columns: 1fr; gap: 8px; }
}

@media (max-width: 768px) {
  /* layout.css */
  .section { padding: 56px 0; }
  .properties-grid { grid-template-columns: 1fr; }

  /* header-footer.css */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .nav-links {
    display: none; flex-direction: column; position: absolute;
    top: 82px; left: 0; right: 0; background: var(--black);
    padding: 16px; gap: 4px; box-shadow: var(--shadow-md);
    border-top: 1px solid rgba(255,255,255,0.12);
  }
  .nav-links.open { display: flex; }
  .nav-links li a { padding: 12px 16px; display: block; border-left: 3px solid transparent; border-bottom: 0; }
  .nav-links li a:hover, .nav-links li a.active { border-left-color: var(--red); border-bottom: 0; }
  .nav-links .nav-cta { margin: 8px 0 0; text-align: center; }
  .mobile-menu-btn { display: flex; }
  .site-header { position: relative; }

  /* components.css */
  .detail-gallery { grid-template-columns: 1fr; }
  .detail-gallery-side { grid-template-columns: 1fr 1fr; grid-template-rows: unset; }
  .detail-gallery-side img { height: 160px; }
  .region-dash-grid { grid-template-columns: 1fr; }
  .audience-grid { grid-template-columns: 1fr; }
  .intel-cta-inner { flex-direction: column; align-items: flex-start; }
  .section-subnav a { padding: 14px 12px; }
  .region-detail-cta { flex-direction: column; align-items: flex-start; }
  .region-detail-cta-actions { width: 100%; }
  .region-detail-cta-actions .btn { flex: 1; justify-content: center; }
  .newsletter-form { flex-direction: column; }

  /* forms.css */
  .calculator-layout { grid-template-columns: 1fr; }
  .calculator-intro { position: static; }
  .mortgage-calculator { grid-template-columns: 1fr; }
  .calculator-fields { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
}

@media (max-width: 480px) {
  /* header-footer.css */
  .footer-grid { grid-template-columns: 1fr; }

  /* header-footer.css (top bar) */
  .top-bar-license { width: 100%; margin-left: 0; }

  /* forms.css */
  .mortgage-form, .mortgage-results { padding: 26px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
