/* Sandhill Adventures reusable mega navigation */
:root {
  --sa-cream: #f7f0df;
  --sa-ink: #24201d;
  --sa-wine: #651d35;
  --sa-gold: #c78332;
  --sa-shadow: 0 18px 48px rgba(25, 20, 15, .18);
}
.sa-header, .sa-header * { box-sizing: border-box; }
.sa-header {
  position: relative; z-index: 1000; display:flex; align-items:center; gap:24px;
  width:100%; min-height:84px; padding:12px clamp(18px, 4vw, 58px);
  background:var(--sa-cream); color:var(--sa-ink);
  font-family: Arial, Helvetica, sans-serif;
}
.sa-brand { display:flex; align-items:center; flex:0 0 145px; color:inherit; text-decoration:none; }
.sa-brand img { display:block; width:138px; max-height:58px; object-fit:contain; }
.sa-brand-fallback { display:none; font-weight:800; font-size:18px; letter-spacing:2px; text-align:center; }
.sa-brand-fallback small { display:block; font-size:9px; letter-spacing:4px; }
.sa-nav { display:flex; align-items:center; justify-content:flex-end; gap:clamp(12px, 1.65vw, 26px); flex:1; }
.sa-nav-link, .sa-nav-trigger {
  display:inline-flex; align-items:center; gap:8px; border:0; padding:12px 0; background:transparent;
  color:inherit; text-decoration:none; text-transform:uppercase; letter-spacing:1.4px;
  font:600 13px/1.25 Arial, Helvetica, sans-serif; white-space:nowrap; cursor:pointer;
}
.sa-nav-link:hover, .sa-nav-trigger:hover { color:var(--sa-wine); }
.sa-chevron { width:8px; height:8px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s; }
.sa-nav-item { position:static; }
.sa-nav-trigger[aria-expanded="true"] .sa-chevron { transform:rotate(225deg) translate(-1px,-1px); }
.sa-build-trip { display:inline-flex; align-items:center; justify-content:center; padding:14px 18px; border-radius:3px; background:var(--sa-wine); color:#fff; text-decoration:none; text-transform:uppercase; letter-spacing:.7px; font-size:12px; font-weight:700; white-space:nowrap; }
.sa-build-trip:hover { background:#421123; }
.sa-mega {
  display:none; position:absolute; top:calc(100% - 1px); left:clamp(12px, 4vw, 58px); right:clamp(12px, 4vw, 58px);
  padding:18px; background:#fffdf8; border-radius:0 0 12px 12px; box-shadow:var(--sa-shadow);
  border:1px solid rgba(40,30,20,.08); max-height:calc(100vh - 110px); overflow:auto;
}
.sa-nav-item.is-open > .sa-mega { display:block; animation:saDrop .18s ease-out; }
@keyframes saDrop { from {opacity:0; transform:translateY(-5px)} to {opacity:1; transform:translateY(0)} }
.sa-mega-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) minmax(190px,1.08fr); gap:12px; }
.sa-card { min-width:0; overflow:hidden; border-radius:7px; background:#f5f1e9; color:var(--sa-ink); text-decoration:none; transition:transform .18s, box-shadow .18s; }
.sa-card:hover { transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.12); }
.sa-card img { display:block; width:100%; height:112px; object-fit:cover; }
.sa-card span { display:flex; align-items:center; min-height:51px; padding:10px 12px; font-size:14px; line-height:1.25; font-weight:700; }
.sa-feature { position:relative; grid-column:4; grid-row:1 / span 2; min-height:100%; overflow:hidden; border-radius:8px; color:#fff; text-decoration:none; background:#34302b; }
.sa-feature img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .35s; }
.sa-feature:hover img { transform:scale(1.04); }
.sa-feature:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.78),rgba(0,0,0,.05) 90%); }
.sa-feature-copy { position:absolute; z-index:1; left:20px; right:16px; bottom:22px; }
.sa-feature-copy strong { display:block; font:700 clamp(21px,2.1vw,31px)/1.12 Georgia,serif; }
.sa-feature-copy small { display:block; margin-top:10px; font-size:12px; line-height:1.5; }
.sa-mega-cta { display:table; margin:16px auto 2px; padding:12px 20px; border-radius:30px; background:var(--sa-gold); color:white; text-decoration:none; font-size:14px; font-weight:700; letter-spacing:.3px; }
.sa-mega-cta:hover { background:#a76620; }
.sa-mobile-toggle { display:none; border:0; background:transparent; padding:9px; cursor:pointer; }
.sa-mobile-toggle span { display:block; width:25px; height:2px; margin:5px; background:var(--sa-ink); }
@media (min-width: 901px) {
  .sa-nav-item:hover > .sa-mega, .sa-nav-item:focus-within > .sa-mega { display:block; }
}
@media (max-width: 1100px) {
  .sa-header { gap:14px; padding-inline:18px; }
  .sa-brand { flex-basis:115px; }
  .sa-brand img { width:112px; }
  .sa-nav { gap:12px; }
  .sa-nav-link, .sa-nav-trigger { font-size:11px; letter-spacing:.8px; }
  .sa-build-trip { padding:12px; font-size:10px; }
}
@media (max-width: 900px) {
  .sa-header { min-height:72px; justify-content:space-between; }
  .sa-mobile-toggle { display:block; }
  .sa-nav { display:none; position:absolute; top:100%; left:0; right:0; max-height:calc(100vh - 72px); overflow:auto; padding:12px 20px 22px; background:var(--sa-cream); box-shadow:var(--sa-shadow); align-items:stretch; gap:0; flex-direction:column; }
  .sa-header.sa-mobile-open .sa-nav { display:flex; }
  .sa-nav-link, .sa-nav-trigger { width:100%; justify-content:space-between; padding:15px 4px; border-bottom:1px solid rgba(0,0,0,.1); font-size:13px; }
  .sa-nav-item { position:relative; }
  .sa-mega { position:static; left:auto; right:auto; top:auto; padding:12px 0; border:0; border-radius:0; box-shadow:none; max-height:none; background:transparent; }
  .sa-nav-item.is-open > .sa-mega { display:block; }
  .sa-mega-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .sa-card img { height:100px; }
  .sa-card span { min-height:46px; padding:8px; font-size:12px; }
  .sa-feature { grid-column:1 / -1; grid-row:auto; min-height:190px; }
  .sa-feature-copy strong { font-size:25px; }
  .sa-build-trip { margin-top:12px; justify-content:center; padding:15px; font-size:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .sa-mega, .sa-card, .sa-feature img, .sa-chevron { animation:none; transition:none; }
}
