/* ============================================================
   Timberline Resort — Restoration Stylesheet
   The original site CSS was not present in the backup archive.
   This stylesheet is a from-scratch replacement so the recovered
   pages are readable and navigable, styled after the resort's own
   setting: pine forest, timber lodges, Canaan Valley ridgelines.
   ============================================================ */

:root {
  --bg: #f5f1e6;
  --panel: #fffdf9;
  --ink: #241f19;
  --pine: #2f4b34;
  --pine-dark: #1c2f21;
  --timber: #a15c32;
  --sky: #5f7f8f;
  --muted: #7c7568;
  --line: #e2d9c8;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: 'Source Sans 3', -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}

h1, h2, h3, h4 {
  font-family: 'Fraunces', Georgia, serif;
  color: var(--pine-dark);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
h1 { font-size: 2.1rem; }
h2 { font-size: 1.6rem; }
h3 { font-size: 1.25rem; }

a { color: var(--sky); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ---- restored top bar (added to every recovered page) ---- */
.restored-nav {
  background: var(--pine-dark);
  color: #eee7d6;
  font-family: 'Source Sans 3', sans-serif;
  font-size: 12.5px;
  letter-spacing: 0.03em;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: sticky;
  top: 0;
  z-index: 100;
}
.restored-nav a { color: #f4d9b8; font-weight: 600; }
.restored-nav a:hover { color: #fff; }
.restored-nav::before {
  content: "↺";
  opacity: 0.7;
}

/* signature: a quiet ridgeline under the top bar, once per page */
.site-wrap { position: relative; }
.site-wrap::before {
  content: "";
  display: block;
  height: 46px;
  width: 100%;
  background:
    linear-gradient(var(--bg) 0 0) bottom / 100% 55% no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,110 L120,55 L230,95 L340,30 L430,80 L540,10 L640,70 L760,40 L860,95 L970,50 L1080,90 L1200,45 L1200,120 L0,120 Z' fill='%232f4b34' opacity='0.55'/%3E%3Cpath d='M0,120 L150,75 L260,110 L380,60 L470,100 L600,45 L710,95 L820,65 L930,115 L1050,70 L1200,100 L1200,120 Z' fill='%231c2f21'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}

/* ---- content container ---- */
.site-wrap {
  max-width: 900px;
  margin: 0 auto;
  background: var(--panel);
  padding: 8px 40px 50px;
  min-height: 100vh;
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

img { max-width: 100%; height: auto; }

table {
  border-collapse: collapse;
  max-width: 100%;
}
td, th {
  padding: 4px 8px;
}

hr {
  border: none;
  border-top: 1px solid var(--line);
  margin: 24px 0;
}

/* ---- markers for content the backup could not recover ---- */
.img-missing {
  display: inline-block;
  padding: 10px 14px;
  margin: 4px 0;
  background: repeating-linear-gradient(45deg, #efe9db, #efe9db 8px, #e5ddca 8px, #e5ddca 16px);
  border: 1px dashed #c9bd9f;
  border-radius: 4px;
  color: var(--muted);
  font-size: 12px;
  font-style: italic;
}

.link-broken {
  color: var(--muted);
  border-bottom: 1px dotted var(--muted);
  cursor: help;
}

/* ---- generic compatibility for legacy layout classes so old
   960-grid / bootstrap-ish markup doesn't collapse into a single
   unreadable column ---- */
.container_12, .container-fluid, .container {
  max-width: 100%;
}
[class*="grid_"], [class*="col-lg-"], [class*="col-md-"], [class*="col-sm-"] {
  display: inline-block;
  vertical-align: top;
}
.row { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---- homepage index (generated, not part of original site) ---- */
.index-page { max-width: 760px; margin: 40px auto; padding: 0 20px; }
.index-notice {
  background: #fff8e6;
  border: 1px solid #f0dca0;
  border-radius: 6px;
  padding: 14px 18px;
  font-size: 13.5px;
  color: #7a5c00;
  margin-bottom: 32px;
}
.index-group { margin-bottom: 28px; }
.index-group h2 { border-bottom: 2px solid var(--pine); padding-bottom: 6px; }
.index-list { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; list-style: none; padding: 0; margin: 12px 0 0; }
.index-list li { font-size: 14.5px; }
