/* Final responsive pass: readable touch-first layouts across every public template. */
@media (max-width: 900px) {
    .listing-container, .details-container, .blog-listing-container, .blog-details-container,
    .about-container, .legal-content-container { width:min(100% - 36px, 1180px) !important; }
    .listing-layout, .blog-listing-layout, .blog-details-layout, .service-details-layout,
    .about-grid, .about-story-grid, .contact-grid { grid-template-columns:1fr !important; gap:24px !important; }
    .sidebar-filters, .blog-sidebar, .service-sidebar { position:static !important; width:auto !important; }
    .services-cards-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:16px !important; }
    .category-tabs-bar { overflow-x:auto; flex-wrap:nowrap !important; padding-bottom:6px; scrollbar-width:thin; }
    .cat-tab { flex:0 0 auto; }
    .page-banner { padding:118px 0 48px !important; }
    .page-title { font-size:clamp(2rem, 8vw, 3.4rem) !important; }
    .filter-chips { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
    .service-card { padding:22px !important; }
    .blog-meta, .blog-card-meta { flex-wrap:wrap; gap:10px !important; }
    .featured-blogs-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
    .footer-main-grid, .footer-grid { grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:28px !important; }
}

@media (max-width: 620px) {
    body { overflow-x:hidden; }
    .header-container { padding-left:16px !important; padding-right:16px !important; }
    .brand-logo .logo-text { font-size:1.15rem !important; }
    .page-banner { padding:104px 0 42px !important; }
    .listing-section, .blog-listing-section, .service-details-section { padding:40px 0 !important; }
    .services-cards-grid, .featured-blogs-grid { grid-template-columns:1fr !important; }
    .filter-chips { grid-template-columns:1fr; }
    .service-card, .blog-card { min-width:0; }
    .card-title, .blog-card-title { overflow-wrap:anywhere; }
    .details-hero-actions, .blog-details-actions, .form-row-grid { grid-template-columns:1fr !important; }
    .footer-main-grid, .footer-grid { grid-template-columns:1fr !important; }
    .footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; }
    .modal-content, .consultation-modal-content { width:calc(100% - 24px) !important; max-height:calc(100vh - 24px); overflow:auto; }
    .btn, .btn-pill { max-width:100%; white-space:normal; }
}
