/* Mobile navigation dropdown — works over both the homepage and interior headers. */
@media (max-width: 900px) {
	body.nav-open nav.main {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		position: fixed;
		left: 0;
		right: 0;
		top: 72px; /* sensible default; the inline script refines this to the exact header height */
		background: #fff;
		border-top: 1px solid #e1e4e0;
		box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
		padding: 6px 0;
		z-index: 400;
		max-height: 78vh;
		overflow: auto;
	}
	body.nav-open nav.main a {
		display: block;
		padding: 14px 26px;
		color: #1b241e !important;
		font-size: .95rem;
		letter-spacing: .04em;
		text-transform: uppercase;
		border-bottom: 1px solid #f1f3f0;
	}
	body.nav-open nav.main a:hover {
		background: #f6f7f5;
		color: #0e8a45 !important;
	}
	body.nav-open .menu-btn {
		background: #0e8a45 !important;
		color: #fff !important;
		border-color: #0e8a45 !important;
	}
}

/* Smart header — slide the top bar out on scroll-down, back in on scroll-up.
   nav.css loads after home.css / prototype.css, so this transition wins. */
.topbar { transition: transform .35s ease, background .3s, box-shadow .3s; will-change: transform; }
.topbar.nav-hidden { transform: translateY(-100%); }
body.nav-open .topbar { transform: none !important; }
@media (prefers-reduced-motion: reduce) {
	.topbar { transition: background .3s, box-shadow .3s; }
	.topbar.nav-hidden { transform: none; }
}

/* ---- Mobile audit fixes (v1.5.6) ---------------------------------------- */
/* 1. iOS Safari zooms into any form field under 16px on focus. Keep every
      field at 16px so focusing an input doesn't jerk the page. */
input:not([type=checkbox]):not([type=radio]):not([type=range]),
select, textarea { font-size: 16px !important; }

/* 2. Comfortable (>=44px) tap targets for the header hamburger and search. */
@media (max-width: 900px) {
	.hact { gap: 8px; }
	.menu-btn,
	.hact .srch {
		min-width: 44px;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}
}

/* 3. Safety net for very small phones (<430px): let long button labels wrap
      instead of overflowing. */
@media (max-width: 430px) {
	.btn { white-space: normal; }
}
