/* ==========================================================================
   RESPONSIVE STYLES
   ========================================================================== */

/* ---------- Laptop / small desktop ---------- */
@media (max-width: 1199px) {
  .services-grid { grid-template-columns: repeat(3, 1fr); }
  .card-grid-4 { grid-template-columns: repeat(3, 1fr); }
  .three-col-home { grid-template-columns: 1fr 1fr; }
  .three-col-home > :last-child { grid-column: span 2; }
  .footer-grid { grid-template-columns: 1fr 1fr 1fr; }
}

/* ---------- Tablet ---------- */
@media (max-width: 991px) {
  .topbar-left span:not(:first-child) { display: none; }
  .main-nav > ul { display: none; }
  .mobile-toggle { display: block; }
  .header-phone { display: none; }
  .hero-inner { grid-template-columns: 1fr; }
  .quote-form { max-width: 460px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .two-col { grid-template-columns: 1fr; }
  .steps-row { grid-template-columns: repeat(2, 1fr); gap: 30px; }
  .three-col-home { grid-template-columns: 1fr; }
  .three-col-home > :last-child { grid-column: span 1; }
  .card-grid-4, .card-grid-3 { grid-template-columns: repeat(2, 1fr); }
  .process-timeline { grid-template-columns: repeat(2, 1fr); row-gap: 30px; }
  .process-timeline::before { display: none; }
  .detail-layout { grid-template-columns: 1fr; }
  .calc-layout { grid-template-columns: 1fr; }
  .summary-sidebar { position: static; }
  .calc-hero-bg { grid-template-columns: 1fr; }
  .calc-form-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .related-posts-row { grid-template-columns: repeat(2, 1fr); }
  .form-row-2 { grid-template-columns: 1fr; }
  .calc-hero-imgs img { height: 160px; }
}

/* ---------- Mobile ---------- */
@media (max-width: 640px) {
  *, *::before, *::after { box-sizing: border-box; }
  .container { padding: 0 16px; }
  .section-pad { padding: 56px 0; }
  .section-pad-sm { padding: 40px 0; }
  .topbar-right span { display: none; }
  .topbar-right .topbar-social { display: flex; }
  .site-header { --header-h: 80px; }
  .logo-img { height: 44px; }
  .header-actions .btn-primary { display: none; }
  .hero { min-height: auto; padding: 60px 0; }
  .hero-badges { display: none; }
  .hero-cta { flex-direction: column; }
  .hero-cta .btn { width: 100%; }
  .quote-form { padding: 20px; }
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .service-mini-card { padding: 18px 12px; }
  .calc-banner { flex-direction: column; text-align: center; padding: 26px 20px; }
  .calc-banner-left { flex-direction: column; text-align: center; }
  .calc-stats { justify-content: center; gap: 24px; }
  .mini-gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .steps-row { grid-template-columns: 1fr; }
  .trust-bar .container { flex-direction: column; align-items: flex-start; }
  .card-grid-4, .card-grid-3, .card-grid-2 { grid-template-columns: 1fr; }
  .process-timeline { grid-template-columns: 1fr; }
  .stats-banner { flex-direction: column; }
  .payment-strip { flex-direction: column; align-items: flex-start; }
  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .footer-bottom .container { flex-direction: column; text-align: center; }
  .footer-bottom-strip .container { flex-direction: column; align-items: flex-start; }
  .cta-banner { padding: 34px 20px; }
  .cta-actions { flex-direction: column; }
  .cta-actions .btn { width: 100%; }
  .page-hero { min-height: 260px; }
  .hero-feature-row { display: none; }
  .detail-gallery-row { grid-template-columns: 1fr 1fr; }
  .related-posts-row { grid-template-columns: 1fr; }
  .calc-form-grid { grid-template-columns: 1fr; }
  .service-select-grid { grid-template-columns: repeat(2, 1fr); }
  .theme-select-card { flex: 0 0 100px; }
  .calc-nav-btns .btn span { display: none; }
  .review-summary-box { flex-direction: column; text-align: center; }
  .contact-form-box, .calc-panel { padding: 22px; }
  .dream-cta { padding: 28px 20px; }
  .calc-progress { gap: 4px; margin-bottom: 24px; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .calc-progress .prog-step { min-width: 0; flex-shrink: 1; }
  .calc-progress .prog-step .lbl { font-size: 10px; line-height: 1.2; }
  .calc-progress .prog-step .circle { width: 30px; height: 30px; font-size: 11px; }
  .calc-hero { padding: 30px 0; }
  .calc-hero-imgs img { height: 140px; }
  .calc-hero h1 { font-size: 20px !important; }
  .summary-row { font-size: 12px; }
  .summary-total-row .amt { font-size: 20px; }
  .summary-services-list .srow { font-size: 11px; }
  .popular-add-row { gap: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .popular-add-card { flex: 0 0 130px; }
  .popular-add-card img { height: 75px; }
  .why-choose-box { grid-template-columns: 1fr !important; }
  .why-choose-box img { max-width: 100%; height: auto; }
  .side-float-btns { display: none; }
  .calc-layout { overflow: visible; }
}

/* ---------- Small mobile ---------- */
@media (max-width: 400px) {
  .calc-form-grid { grid-template-columns: 1fr; }
  .service-select-grid { grid-template-columns: 1fr; }
  .theme-select-card { flex: 0 0 90px; }
  .theme-select-card .thumb { height: 80px; }
  .area-btn-row { flex-wrap: wrap; }
  .area-btn { flex: 0 0 calc(50% - 6px); }
  .calc-panel { padding: 18px; }
  .calc-progress .prog-step .lbl { display: none; }
  .calc-hero { padding: 20px 0; }
  .calc-hero-imgs { display: none; }
}
