/* =========================================================
   RESPONSIVE.CSS — Mobile / Tablet / Laptop / Desktop
   Mobile-first overrides layered on top of style.css
   ========================================================= */

/* Laptop (1024–1439px) */
@media (max-width:1439px){
  .container{ max-width:1120px; }
  .stats-grid{ gap:18px; }
}

/* Tablet landscape / small laptop (≤1023px) */
@media (max-width:1023px){
  .nav-menu{ display:none; }
  .hamburger{ display:flex; flex-shrink:0; }
  .nav-actions .btn{ display:none; }

  .hero-grid{ grid-template-columns:1fr; text-align:center; }
  .hero-copy p.lead{ margin-left:auto; margin-right:auto; }
  .hero-cta{ justify-content:center; }
  .hero-trust{ justify-content:center; }
  .hero-visual{ margin-top:20px; }
  .hero-copy, .hero-visual{ min-width:0; }

  .builder-shell{ grid-template-columns:1fr; }
  .preview-panel{ position:static; }

  .grid-4{ grid-template-columns:repeat(2,1fr); }
  .grid-3{ grid-template-columns:repeat(2,1fr); }
  .grid-6{ grid-template-columns:repeat(3,1fr); }
  .compare-grid{ grid-template-columns:1fr; }
  .stats-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr 1fr; }

  .field-row{ grid-template-columns:1fr; }
}

/* Tablet portrait (768–1023px) already covered above; refine below 900 */
@media (max-width:900px){
  .section{ padding:72px 0; }
}

/* Mobile (≤767px) */
@media (max-width:767px){
  :root{ --nav-h:68px; }
  .section{ padding:56px 0; }
  .section-head{ margin-bottom:36px; }

  .grid-2, .grid-3, .grid-4, .grid-6{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:32px; }
  .stats-grid{ grid-template-columns:1fr 1fr; }

  .hero{ padding:44px 0 40px; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
  .hero-cta .btn{ width:100%; }

  .timeline{ flex-direction:column; gap:36px; }
  .timeline::before{ display:none; }

  .builder-panel{ padding:20px; }
  .items-table-wrap{ margin:0 -4px; }
  .totals-box{ max-width:100%; }

  .preview-paper{ padding:22px; }
  .preview-paper .p-parties{ flex-direction:column; gap:16px; }

  .testi-card{ min-width:82vw; }

  .cta-banner{ padding:48px 22px; }
  .compare-grid{ grid-template-columns:1fr; }

  .footer-bottom{ flex-direction:column; text-align:center; }
  .back-to-top{ width:46px; height:46px; bottom:18px; right:18px; }

  .template-thumb{ height:200px; padding:16px; }
  .mini-invoice{ padding:14px; }
}

/* Small phones */
@media (max-width:380px){
  .container{ padding:0 16px; }
  .stats-grid{ grid-template-columns:1fr; }
}

/* Touch target comfort */
@media (hover:none) and (pointer:coarse){
  .btn, .nav-menu a, .faq-q, .builder-tab{ min-height:44px; }
}

/* No horizontal scroll safety net */
html, body{ max-width:100%; overflow-x:hidden; }
