/* Sidekick Digital global styles.
   Note: pages use inline styles heavily (inherited from the original build).
   This file handles: resets, header responsiveness, forms, and mobile grid collapse.
   Hover styles are auto-generated by build.py from style-hover attributes and
   appended to the built copy of this file (dist/assets/site.css). */

body { margin: 0; background: #FFFFFF; }
a { text-decoration: none; }
input, textarea { font-family: 'Inter', sans-serif; }
input:focus, textarea:focus { outline: 2px solid #4A7C59; outline-offset: 1px; }

/* Header navigation */
.nav-desktop { display: flex; align-items: center; gap: 30px; }
.nav-link { font-size: 15px; font-weight: 500; padding: 6px 0; }
.cta-desktop { display: flex; flex: none; background: #0F3557; color: #FFFFFF; font-size: 14px; font-weight: 600; padding: 11px 20px; border-radius: 4px; white-space: nowrap; }
.cta-desktop:hover { background: #164674; }
.nav-burger { display: none; flex: none; width: 40px; height: 40px; border: 1px solid rgba(15,53,87,0.2); background: #FFFFFF; border-radius: 4px; align-items: center; justify-content: center; cursor: pointer; }
.mobile-menu { display: none; flex-direction: column; padding: 8px 32px 20px; border-top: 1px solid rgba(15,53,87,0.08); gap: 2px; }

@media (max-width: 1099px) {
  .nav-desktop { display: none; }
  .cta-desktop { display: none; }
  .nav-burger { display: flex; }
  .mobile-menu.open { display: flex; }
}

/* Mobile: collapse multi-column inline grids to a single column */
@media (max-width: 860px) {
  main [style*="grid-template-columns"],
  footer [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }

  /* Exception: icon/number + content rows (e.g. "44px 1fr", "24px 1fr") must stay
     side-by-side — collapsing them stacks the number or checkmark above its label.
     Keep the fixed-width first track only for narrow icon columns; a wide fixed
     sidebar column should use a fr-based definition so it collapses normally. */
  main [style*="px 1fr"],
  footer [style*="px 1fr"] { grid-template-columns: auto 1fr !important; }

  h1 { font-size: 34px !important; }
  h2 { font-size: 25px !important; }
}

/* --- generated hover classes (from style-hover attributes) --- */
.hov-17765c:hover { color:#FFFFFF !important; }
.hov-226615:hover { border-color:#0F3557 !important; }
.hov-c570e4:hover { background:#0F3557 !important; color:#FFFFFF !important; }
.hov-ca00af:hover { color:#4A7C59 !important; }
.hov-ed7bc6:hover { background:#3d6a4a !important; }
.hov-f6d971:hover { background:#164674 !important; }
