/* meetonthemountain.org — shared theme
   Palette: slate/graphite ground, signal-orange accent (rescue/hi-vis),
   ice-blue for elevation data, snow for high-emphasis text. Deliberately
   distinct from a "journalism" look: this reads more instrument-panel /
   topographic-map than newspaper. */
:root{
  --bg:#141b18;        --panel:#1b2420;      --panel2:#212c26;
  --border:#2c3a33;    --border-soft:#243029;
  --text:#eef1ee;      --muted:#9fb0a6;
  --snow:#f5f2ea;
  --accent:#e8622c;    --accent-dark:#c94f1f;
  --ice:#7ec8d9;        --good:#6fbf8f;      --warn:#e8b13c;
  --font-display:'Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-body:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --font-mono:'SF Mono','Courier New',monospace;
}
*{box-sizing:border-box;}
html,body{margin:0;}
body{
  background:var(--bg); color:var(--text); font-family:var(--font-body);
  min-height:100vh;
}
a{color:var(--accent);}
.wrap{max-width:1200px; margin:0 auto; padding:0 18px;}

/* Contour-line texture used behind hero sections */
.contours{
  background-image:
    repeating-radial-gradient(circle at 15% 20%, transparent 0 26px, rgba(126,200,217,.05) 27px 28px),
    repeating-radial-gradient(circle at 85% 60%, transparent 0 34px, rgba(232,98,44,.05) 35px 36px);
  background-color:var(--bg);
}

header.site{ padding:20px 18px 0; }
.site-nav{
  max-width:1200px; margin:0 auto; display:flex; align-items:center; justify-content:space-between;
  padding-bottom:16px; border-bottom:1px solid var(--border-soft); flex-wrap:wrap; gap:10px;
}
.brand{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand-mark{
  width:30px; height:30px; border-radius:7px; background:var(--accent);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.brand-mark svg{width:18px; height:18px;}
.brand-name{ color:var(--snow); font-weight:700; font-size:1.02rem; letter-spacing:.01em; font-family:var(--font-display); }
.brand-name small{ display:block; font-weight:400; color:var(--muted); font-size:.68rem; letter-spacing:.04em; text-transform:uppercase; }
nav.links{ display:flex; gap:4px; flex-wrap:wrap; }
nav.links a{
  color:var(--muted); text-decoration:none; font-size:.86rem; padding:8px 12px; border-radius:7px;
  border:1px solid transparent;
}
nav.links a:hover{ color:var(--text); background:var(--panel2); }
nav.links a.active{ color:var(--snow); border-color:var(--border); background:var(--panel2); }

/* Disclaimer banner — must be impossible to miss, everywhere */
.disclaimer{
  max-width:1200px; margin:16px auto 0; padding:14px 16px; border-radius:10px;
  background:#2a1f14; border:1px solid #4a3620; color:#f0d9b8; font-size:.85rem; line-height:1.55;
}
.disclaimer b{ color:var(--warn); }
.disclaimer.compact{ font-size:.78rem; padding:10px 14px; }

h1,h2,h3{ font-family:var(--font-display); color:var(--snow); font-weight:700; letter-spacing:-.01em; }

.badge{
  font-size:.66rem; padding:3px 9px; border-radius:20px; background:var(--panel2);
  color:var(--muted); border:1px solid var(--border); white-space:nowrap; font-weight:600;
  letter-spacing:.02em; text-transform:uppercase;
}
.badge.mountain{ color:#0f1512; background:var(--ice); border-color:var(--ice); }
.badge.volcano{ color:#1a0e08; background:var(--accent); border-color:var(--accent); }
.badge.elev{ color:var(--good); border-color:#2a4a3a; background:#0d2018; }
.badge.gps{ color:var(--warn); border-color:#4a3a1a; background:#1f1808; }

button, .btn{
  font-family:var(--font-body); font-size:.85rem; border:1px solid var(--border); background:var(--panel2);
  color:var(--text); padding:9px 15px; border-radius:8px; cursor:pointer; font-weight:600;
}
button:hover, .btn:hover{ background:var(--border); }
button.primary, .btn.primary{ background:var(--accent); border-color:var(--accent); color:#1a0e08; }
button.primary:hover{ background:var(--accent-dark); }
button:disabled{ opacity:.5; cursor:not-allowed; }

footer.site{
  max-width:1200px; margin:50px auto 0; padding:20px 18px 40px; color:var(--muted); font-size:.82rem;
  border-top:1px solid var(--border-soft); line-height:1.7;
}
footer.site a{ color:var(--accent); }

::-webkit-scrollbar{ width:10px; height:10px; }
::-webkit-scrollbar-thumb{ background:var(--border); border-radius:6px; }

/* ---- Nearest widget ---- */
.nearest-widget{
  background:var(--panel); border:1px solid var(--border); border-radius:14px; padding:20px;
}
.nearest-head{ display:flex; align-items:flex-start; justify-content:space-between; gap:14px; flex-wrap:wrap; }
.nearest-head h2{ margin:0 0 4px; font-size:1.2rem; }
.nearest-sub{ margin:0; color:var(--muted); font-size:.84rem; }
.nearest-status{ margin:14px 0 0; font-size:.85rem; color:var(--muted); min-height:1.2em; }
.warn-text{ color:var(--warn); }
.nearest-results{
  margin-top:14px; display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:12px;
}

/* ---- Peak card (shared by search results + nearest results) ---- */
.peak-card{
  background:var(--panel2); border:1px solid var(--border); border-radius:10px; padding:14px;
  display:flex; flex-direction:column; gap:5px; font-size:.86rem;
}
.peak-card .dist{ color:var(--ice); font-weight:700; font-size:.8rem; margin-bottom:2px; }
.peak-card .badges{ display:flex; gap:6px; flex-wrap:wrap; margin-bottom:2px; }
.peak-card h3{ margin:0; font-size:1.02rem; color:var(--snow); font-weight:700; }
.peak-card .meta-line{ color:var(--muted); font-size:.82rem; line-height:1.4; }
.peak-card .meta-line.note{ font-style:italic; }
.peak-card .wiki-link{ margin-top:4px; font-size:.78rem; text-decoration:none; font-weight:600; }
.peak-card .wiki-link:hover{ text-decoration:underline; }
