/* Whole-site phone and small-screen layout improvements. */
@media (max-width: 640px) {
  html, body { overflow-x: hidden; }
  .wrap { width: min(100% - 28px, 1140px) !important; }
  .nav .wrap { min-height: 64px; height: auto !important; gap: 8px; padding: 9px 0; }
  .nav img, .logo { width: min(48vw, 175px) !important; height: auto; }
  .nav .btn { padding: 10px 11px; font-size: 12px; text-align: center; }
  .hero { padding-top: 54px !important; padding-bottom: 54px !important; }
  section, main { padding-top: 48px !important; padding-bottom: 48px !important; }
  h1 { letter-spacing: -1.5px !important; }
  .form, .quiz { padding: 18px !important; }
  .form input, .form textarea, .form select, .calc input, .calc select { font-size: 16px !important; }
  [style*="grid-template-columns:1fr 1fr"] { grid-template-columns: 1fr !important; }
  .actions, .estimate-actions, .choice-actions, .result-actions { gap: 9px; }
  .actions .btn, .estimate-actions .btn, .choice-actions .btn, .result-actions .btn { width: 100%; }
  .whatsapp { right: 14px; bottom: 14px; padding: 12px 15px; }
  button, .btn { min-height: 44px; }
}

/* Keep the main navigation available on phones instead of hiding it. */
@media (max-width: 780px) {
  .nav .wrap {
    height: auto !important;
    min-height: 64px;
    flex-wrap: wrap;
    padding: 10px 0 0;
  }
  .navlinks {
    order: 2;
    width: 100%;
    display: flex !important;
    gap: 20px;
    overflow-x: auto;
    padding: 11px 0 13px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }
  .navlinks a:not(.btn) {
    display: inline-flex !important;
    flex: 0 0 auto;
    font-size: 13px;
  }
  .navlinks .btn { display: none; }
}
