/* ==========================================================================
   COLDBLAZE — LEGAL PAGES STYLESHEET (privacy.html / terms-of-service.html)
   Loaded ONLY by the legal pages, never style.css. Dark frostwork-night.
   ========================================================================== */

.legal-page{
  background-color:#12100E;   /* frostwork-night */
  color:#F0EDE8;
  font-family:Georgia,"Times New Roman",serif;
  font-size:16px;             /* literal 16px body */
  line-height:1.75;
  overflow-x:hidden;
  margin:0;
  padding:0;
  -webkit-font-smoothing:antialiased;
}

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

.legal-page a{color:#8FBAC9;text-decoration:none;transition:color .2s ease;}
.legal-page a:hover{color:#D97A3C;}
.legal-page a.toc-link{color:#CCC6BE;}
.legal-page a.toc-link:hover{color:#E0965C;}

.legal-page h1,h2,.legal-page h3{
  font-family:Verdana,Arial,sans-serif;
  font-weight:600;
  line-height:1.25;
}

/* --- header: div/header only, solid background, strong contrast -------- */
.legal-header{
  background:#1E1B17;          /* frost-panel */
  border-bottom:1px solid #332D26;
}
.legal-header-inner{
  max-width:820px;
  margin:0 auto;
  padding:34px 24px;
}
.legal-header .legal-mini{
  font-family:Verdana,Arial,sans-serif;
  font-size:12px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#D97A3C;
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:12px;
}
.legal-header .legal-mini .dot{width:8px;height:8px;border-radius:50%;background:#C4442E;display:inline-block;}
.legal-header .site-crumb a{font-family:Verdana,Arial,sans-serif;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#CCC6BE;}
.legal-header h1{
  color:#F5F2ED;
  font-size:34px;
  margin:4px 0 8px;
}
.legal-page:not(.home) .legal-header .site-crumb a:hover{color:#E0965C;}
.legal-header .legal-update{color:#8E979E;font-size:14px;}

/* --- layout --------------------------------------------------------- */
.legal-content .legal-wrap{
  max-width:820px;
  margin:0 auto;
  padding:30px 24px 44px;
}
.legal-content{
  /* ensure any broad section can never override the container color */
}
.legal-view{
  display:grid;
  grid-template-columns:1fr;
  gap:34px;
}
@media(min-width:900px){
  .legal-view{grid-template-columns:220px 1fr;gap:48px;}
}

/* table of contents */
.legal-toc{
  align-self:start;
  position:sticky;
  top:20px;
  max-height:80vh;
  overflow:auto;
  background:#26221D;          /* coal-deep */
  border:1px solid #332D26;
  padding:20px 18px;
}
.legal-toc .toc-title{
  font-family:Verdana,Arial,sans-serif;
  font-size:12px;
  letter-spacing:1.6px;
  text-transform:uppercase;
  color:#E0965C;
  margin-bottom:12px;
}
.legal-toc nav ol{list-style:none;counter-reset:toc;}
.legal-toc nav li{counter-increment:toc;margin:2px 0;}
.legal-toc nav li::before{
  content:counter(toc)" ";
  font-family:Verdana,Arial,sans-serif;
  font-size:11px;
  color:#8FBAC9;
  margin-right:6px;
}
.legal-toc nav a{
  font-family:Verdana,Arial,sans-serif;
  font-size:14px;
  color:#CCC6BE;
  line-height:1.5;
}
.legal-toc nav a:hover{color:#E0965C;}
@media(max-width:900px){
  .legal-toc{position:static;}
}

/* body copy */
.content-body h2{
  color:#E0965C;               /* ember-frost lightened, strong on dark */
  font-size:24px;
  margin:38px 0 12px;
  padding-top:24px;
  border-top:1px solid #332D26;
}
.content-body h2:first-of-type{border-top:none;margin-top:0;padding-top:16px;}
.content-body h3{color:#F5F2ED;font-size:18px;margin:22px 0 8px;}
.content-body p{color:#CCC6BE;margin:0 0 14px;font-size:16px;}
.content-body ul,.content-body ol{margin:0 0 16px 22px;color:#CCC6BE;}
.content-body li{margin:5px 0;font-size:16px;}
.content-body li::marker{color:#D97A3C;}
.content-body strong{color:#F5F2ED;font-weight:600;}
.content-body .island{
  background:#1E1B17;
  border-left:3px solid #D97A3C;
  padding:14px 18px;
  margin:18px 0;
  color:#CCC6BE;
}
.content-body .callout{
  background:#12100E;
  border:1px solid #332D26;
  padding:14px 18px;
  margin:18px 0;
}

/* internal anchor jump target offset so titles are not hidden */
.content-body section[id]{scroll-margin-top:16px;}

/* legal text fragments */
.legal-addr,.legal-mail,.legal-phone{color:#CCC6BE;}
.legal-mail a{color:#E0965C;}

/* footer within legal pages: hearth footer, must link to homepage */
.legal-footer{
  background:#26221D;          /* coal-deep */
  border-top:1px solid #332D26;
  position:relative;
  z-index:1;
}
.legal-footer-in{
  max-width:820px;
  margin:0 auto;
  padding:30px 24px 34px;
  text-align:center;
  position:relative;
  z-index:1;
}
.legal-footer .foot-brand{
  display:inline-flex;
  align-items:center;
  gap:9px;
  font-family:Verdana,Arial,sans-serif;
  font-weight:700;
  font-size:18px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:#F5F2ED;
}
.legal-footer .foot-brand .dot{width:8px;height:8px;border-radius:50%;background:#C4442E;}
.legal-footer p{color:#CCC6BE;font-size:14.5px;line-height:1.8;margin:0 auto;}
.legal-footer a{color:#E0965C;}
.legal-footer a:hover{color:#F5F2ED;}
.legal-footer .home-link{margin-top:14px;display:inline-block;font-family:Verdana,Arial,sans-serif;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#CCC6BE;border:1px solid #332D26;padding:9px 18px;}
.legal-footer .home-link:hover{color:#D97A3C;border-color:#D97A3C;}

/* ===== SCOPING / SAFETY GUARDS ====================================== */
/* Never let any section background bleed oddly on legal pages. Scope to
   the body content only, never the header or footer. */
.legal-page .legal-content section{background-color:transparent !important;}
.legal-content .content-body section{background-color:transparent !important;}

@media(max-width:520px){
  .legal-header h1{font-size:27px;}
}
