/* ============================================================
   LEGAL.CSS — shared stylesheet for Privacy and Terms pages
   of Saint George Climbfest LLC. Dark canyon theme, strong contrast.
   These legal pages load ONLY this stylesheet.
   ============================================================ */

*{margin:0;padding:0;box-sizing:border-box;}

.legal-page{
  --night:#171310;
  --dawn:#F1E7D8;
  --orange:#D8722C;
  --cliff:#241C15;
  --deep:#0F0B08;
  --chalk:#F7F3EA;
  --green:#6B7A4F;
  --sand:#C9A576;
  --rust:#9C4A2F;
  --hair:#3A2E22;
  background-color:#171310;
  color:#F1E7D8;
  font-family:Georgia, "Times New Roman", serif;
  font-size:16px;
  line-height:1.75;
  overflow-x:hidden;
}

.legal-page a{color:#C9A576;}
.legal-page a:hover{color:#D8722C;}

/* scope isolation: only style legal sections under .legal-content section */
.legal-page .legal-content section{
  background-color:transparent !important;
  margin:0 auto;
  max-width:860px;
  padding:34px 24px;
}
.legal-page .legal-content section h2{
  color:#D8722C;
}
.legal-page .legal-content section h3{
  color:#F7F3EA;
}
.legal-page .legal-content section p{
  color:#F1E7D8;
}

/* page background and text set again here with strong contrast */
body.legal-page{
  background-color:#171310;
  color:#F1E7D8;
}

/* any container with a max-width must center and pad */
.legal-page .legal-inner,
.legal-page .legal-content,
.legal-page .legal-header-inner,
.legal-page .legal-footer-inner{
  max-width:1000px;
  margin:0 auto;
  padding:0 24px;
}

/* LEGAL HEADER — solid background, strong h1 contrast */
.legal-header{
  background-color:#241C15;
  border-bottom:3px solid #6B7A4F;
}
.legal-header-inner{
  padding-top:40px;
  padding-bottom:34px;
}
.legal-header h1{
  color:#F7F3EA;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-size:38px;
  line-height:1.15;
  letter-spacing:.5px;
  margin-bottom:10px;
}
.legal-eyebrow{
  color:#D8722C;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  text-transform:uppercase;
  letter-spacing:3px;
  font-size:13px;
  font-weight:bold;
  margin-bottom:12px;
}
.legal-meta{
  color:#C9A576;
  font-size:14px;
  margin-top:14px;
}
.legal-refresh{
  display:inline-block;
  background-color:#6B7A4F;
  color:#0F0B08;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-weight:bold;
  padding:4px 12px;
  border-radius:4px;
  font-size:13px;
  margin-top:12px;
}

/* topline nav strip on legal pages */
.legal-sitebar{
  background-color:#0F0B08;
  border-bottom:1px solid #3A2E22;
}
.legal-sitebar-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}
.legal-brand{
  color:#F7F3EA;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-weight:bold;
  font-size:18px;
  text-decoration:none;
  letter-spacing:1px;
}
.legal-brand:hover{color:#D8722C;}
.legal-topnav a{
  color:#F1E7D8;
  text-decoration:none;
  margin-left:18px;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-size:14px;
}
.legal-topnav a:hover{color:#D8722C;text-decoration:underline;}

/* lede block */
.legal-lede{
  border-left:6px solid #6B7A4F;
  max-width:860px;
  margin:0 auto;
  padding:26px 24px;
  color:#F7F3EA;
  font-size:17px;
}
.legal-lede address{
  font-style:normal;
  color:#C9A576;
  margin-top:8px;
  line-height:1.8;
}

/* contents nav */
.legal-page .toc{
  max-width:860px;
  margin:34px auto 10px;
  padding:24px;
  background-color:#0F0B08;
  border:1px solid #3A2E22;
  border-radius:8px;
}
.legal-page .toc h2{
  color:#D8722C;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-size:20px;
  margin-bottom:14px;
}
.legal-page .toc ol{
  columns:2;
  column-gap:40px;
  list-style-position:inside;
  padding-left:0;
}
.legal-page .toc ol li{
  margin-bottom:10px;
  break-inside:avoid;
}
.legal-page .toc ol a{
  color:#F1E7D8;
  text-decoration:none;
  border-bottom:1px dotted #3A2E22;
}
.legal-page .toc ol a:hover{color:#D8722C;border-bottom-color:#D8722C;}

/* generic legal body spacing/text */
.legal-page .legal-content p{
  margin-bottom:16px;
  color:#F1E7D8;
}
.legal-page .legal-content ul,
.legal-page .legal-content ol{
  margin:0 0 18px 26px;
  color:#F1E7D8;
}
.legal-page .legal-content li{
  margin-bottom:8px;
}
.legal-content ul.plain{
  list-style:square;
  color:#F1E7D8;
}

/* a small topo treatment: grade stamp separator reused on legal rules */
.legal-rule{
  height:4px;
  background-color:#9C4A2F;
  border:none;
  max-width:860px;
  margin:20px auto;
}

/* back home callout at the bottom before legal footer */
.legal-backhome{
  max-width:860px;
  margin:40px auto 10px;
  padding:24px;
  background-color:#6B7A4F;
  border-radius:8px;
  text-align:center;
}
.legal-backhome a{
  color:#F7F3EA;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-size:17px;
  font-weight:bold;
  text-decoration:none;
  letter-spacing:.5px;
}
.legal-backhome a:hover{text-decoration:underline;color:#0F0B08;}

/* legal footer — must link back to the homepage */
.legal-footer{
  margin-top:60px;
  border-top:3px solid #C9A576;
  background-color:#0F0B08;
  color:#F1E7D8;
}
.legal-footer-inner{
  padding-top:40px;
  padding-bottom:40px;
  text-align:center;
}
.legal-footer-brand{
  color:#F7F3EA;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-weight:bold;
  font-size:18px;
  margin-bottom:10px;
}
.legal-footer address{
  font-style:normal;
  color:#C9A576;
  line-height:1.8;
  margin-bottom:12px;
}
.legal-footer .legal-home-link{
  color:#D8722C;
  text-decoration:none;
  font-family:"Trebuchet MS", Verdana, sans-serif;
  font-weight:bold;
  letter-spacing:.5px;
}
.legal-footer .legal-home-link:hover{text-decoration:underline;color:#F7F3EA;}
.legal-footer small{
  display:block;
  margin-top:18px;
  color:#C9A576;
}
.legal-footer small a{
  color:#F1E7D8;
  text-decoration:underline;
}
.legal-footer .legal-linked{
  color:#FFFFFF;
  background:#9C4A2F;
  padding:12px 20px;
  display:inline-block;
  border-radius:6px;
  margin-top:14px;
}
.legal-footer .legal-linked a{
  color:#F7F3EA;
  text-decoration:none;
}
.legal-footer .legal-linked a:hover{text-decoration:underline;}

/* make sure topline footer layers sit above nothing (they are static) */
.legal-title-band{display:block;}

/* responsive */
@media (max-width:760px){
  .legal-page .legal-header h1{font-size:28px;}
  .legal-page .toc ol{columns:1;}
  .legal-sitebar-inner{justify-content:center;text-align:center;}
  .legal-page .legal-content section{max-width:860px;margin:0 auto;padding:26px 24px;}
}
