/* ============================================================
   NDWellness — Legal pages stylesheet (privacy.html,
   terms-of-service.html). Light spa theme:
   body background #F8F6F0, body copy #2E3B29,
   headings pine-ink #3A4A33, accent leaf-fresh #5D9450,
   seed accents clay-calm #C08552. All solid hex colors.
   ============================================================ */

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

body.legal-page {
  background-color: #F8F6F0;
  color: #2E3B29;
  font-size: 16px;
  font-family: "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  line-height: 1.7;
}

::selection { background: #5D9450; color: #FFFFFF; }

/* ---------------- LEGAL HEADER (div/header element, solid bg) ---------------- */

.legal-header {
  background-color: #3A4A33;
  padding: 62px 24px 58px;
}
.legal-header .container { max-width: 900px; margin: 0 auto; padding: 0 24px; }
.legal-kicker {
  color: #C08552;
  text-transform: uppercase;
  letter-spacing: 3px;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 14px;
}
.legal-title {
  font-family: Georgia, "Palatino Linotype", serif;
  font-size: 42px;
  line-height: 1.15;
  color: #FFFFFF;
  margin-bottom: 12px;
}
.legal-subtitle { color: #D5DECB; font-size: 16px; line-height: 1.7; }

/* ---------------- LEGAL CONTENT ---------------- */

.legal-content { padding: 46px 0 20px; }
.legal-content .container { max-width: 900px; margin: 0 auto; padding: 0 24px; }

.legal-page .legal-content section { background-color: transparent !important; }

.legal-meta {
  color: #7C8570;
  font-size: 14.5px;
  border-bottom: 1px solid #D8E2C8;
  padding-bottom: 18px;
  margin-bottom: 10px;
}

.legal-content h2 {
  font-family: Georgia, "Palatino Linotype", serif;
  color: #3A4A33;
  font-size: 26px;
  line-height: 1.3;
  border-left: 5px solid #5D9450;
  padding-left: 14px;
  margin: 46px 0 14px;
  scroll-margin-top: 24px;
}
.legal-content h3 {
  font-family: Georgia, "Palatino Linotype", serif;
  color: #3A4A33;
  font-size: 19px;
  margin: 26px 0 10px;
}
.legal-content p { color: #2E3B29; line-height: 1.8; margin: 14px 0; font-size: 16px; }
.legal-content ul, .legal-content ol { margin: 14px 0 14px 26px; }
.legal-content li { color: #2E3B29; line-height: 1.75; margin-bottom: 8px; }
.legal-content a { color: #4A7A40; }
.legal-content a:hover { color: #3A5E33; }
.legal-content strong { color: #3A4A33; }

/* ---------------- TABLE OF CONTENTS ---------------- */

nav.toc {
  background: #FFFFFF;
  border: 1px solid #D8E2C8;
  border-top: 4px solid #5D9450;
  border-radius: 6px;
  padding: 26px 30px 22px;
  margin: 28px 0 14px;
}
.toc-title {
  color: #3A4A33;
  font-family: Georgia, "Palatino Linotype", serif;
  font-size: 19px;
  margin-bottom: 12px;
}
.toc ol {
  list-style: none;
  columns: 2;
  column-gap: 44px;
  margin: 0;
  padding: 0;
}
.toc li { margin: 0 0 9px; break-inside: avoid; }
.toc a {
  color: #4A7A40;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.5;
}
.toc a:hover { color: #3A5E33; text-decoration: underline; }
.toc-count {
  display: inline-block;
  color: #C08552;
  font-weight: 800;
  margin-right: 8px;
}

/* ---------------- BACK LINK + FOOTER ---------------- */

.back-home {
  display: inline-block;
  background: #5D9450;
  color: #FFFFFF;
  text-decoration: none;
  font-weight: 700;
  letter-spacing: 1px;
  font-size: 14px;
  padding: 11px 22px;
  border-radius: 4px;
  margin-top: 34px;
}
.back-home:hover { background: #4A7A40; }

.legal-footer {
  background: #3A4A33;
  color: #D5DECB;
  padding: 40px 24px 30px;
  text-align: center;
  margin-top: 54px;
}
.legal-footer .footer-brand-line {
  color: #FFFFFF;
  font-weight: 800;
  letter-spacing: 2px;
  margin-bottom: 6px;
}
.legal-footer p { color: #D5DECB; font-size: 14.5px; line-height: 1.8; }
nav.legal-footer-links { margin: 14px 0 10px; }
.legal-footer a { color: #FFFFFF; text-decoration: none; font-size: 14.5px; }
.legal-footer a:hover { color: #9CCB8D; text-decoration: underline; }
.legal-footer .footer-sep { color: #C08552; margin: 0 8px; }

@media (max-width: 720px) {
  .legal-title { font-size: 30px; }
  .toc ol { columns: 1; }
  .legal-content h2 { font-size: 22px; }
}
