/* ============================================================
   TND ADVENTURES LTD | LEGAL STYLESHEET
   Standalone for privacy.html and terms-of-service.html.
   These pages load ONLY this stylesheet, so it defines its own
   page ground, text and contrast.
   ============================================================ */

html {
  font-size: 16px;
}
body {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
  color: #2C3230;
  background-color: #F3F0E6;
  overflow-x: hidden;
}

.legal-page {
  min-height: 100vh;
}

/* ============ solid grouped scope isolation ============ */
/*
   Keep every legal body section visually quiet: all sections translate
   to transparent ground so sections sit flush on the page sand and
   never introduce stray backgrounds. Inline styles are forbidden on
   sections so nothing overrides this unexpectedly.
*/
.legal-page .legal-content section {
  background-color: transparent !important;
  padding: 0;
}

/* ============ LEGAL HEADER (solid, strong h1) ============ */
.legal-header {
  background-color: #3F6B4A;
  padding: 40px 0 0;
  margin: 0;
}
.legal-header .legal-bar-line {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px 26px;
}
.legal-header .company-kicker {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #C0996B;
  font-weight: 700;
  margin: 0 0 12px;
}
.legal-header h1 {
  color: #FBF9F0;
  font-size: 2.6rem;
  line-height: 1.1;
  margin: 0 0 10px;
}
.legal-header .legal-meta {
  color: #F3F0E6;
  font-size: 1rem;
  max-width: 760px;
  margin: 0 0 6px;
}
.legal-header .legal-stamp-line {
  display: inline-block;
  background-color: #232923;
  color: #C0996B;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.76rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  padding: 8px 18px;
  border-radius: 50px;
  font-weight: 700;
  margin-top: 6px;
}
.legal-header .legal-toplink {
  display: inline-block;
  margin-top: 14px;
  color: #FBF9F0;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px dashed #C0996B;
}
.legal-header .legal-toplink:hover {
  color: #C0996B;
}

.legal-header .bs-band {
  background-color: #232923;
  border-top: 3px solid #8D9188;
  margin-top: 6px;
}
.legal-header .bs-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 24px;
}
.legal-header .bs-inner a {
  color: #FBF9F0;
  text-decoration: none;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.85rem;
}
.legal-header .bs-inner a:hover { color: #C0996B; }

/* ============ PAGE SHELL ============ */
.legal-page-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 36px 24px 8px;
}
.legal-intro {
  background-color: #FBF9F0;
  border: 1px solid #C9CDBF;
  border-left: 8px solid #3F6B4A;
  border-radius: 4px;
  padding: 20px 24px;
  margin: 0 0 34px;
  font-size: 1.05rem;
}
.legal-intro p {
  margin: 0 0 10px;
}
.legal-intro p:last-child { margin-bottom: 0; }

/* ============ TABLE OF CONTENTS ============ */
.legal-toc {
  background-color: #FBF9F0;
  border: 1px solid #C9CDBF;
  border-radius: 4px;
  padding: 22px 24px;
  margin: 0 0 34px;
}
.legal-toc h2 {
  color: #3F6B4A;
  font-size: 1.3rem;
  font-family: Arial, Helvetica, sans-serif;
  margin: 0 0 14px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.legal-toc ol {
  margin: 0;
  padding-left: 22px;
  columns: 2;
  column-gap: 40px;
}
.legal-toc li {
  margin-bottom: 7px;
  break-inside: avoid;
}
.legal-toc a {
  color: #2C3230;
  font-weight: 700;
  text-decoration: none;
}
.legal-toc a:hover {
  color: #3F6B4A;
  text-decoration: underline;
}

/* ============ CONTENT SECTIONS ============ */
.legal-content {
  position: relative;
  z-index: 1;
}
.legal-content section.legal-sec {
  margin: 0 0 28px;
  padding: 0;
}
.legal-sec h2.hesk {
  color: #3F6B4A;
  font-size: 1.65rem;
  margin: 0 0 14px;
  border-left: 9px solid #C0996B;
  padding-left: 16px;
}
.legal-sec h3.hesk3 {
  color: #232923;
  font-size: 1.18rem;
  margin: 22px 0 8px;
}
.legal-sec h4.hesk4 {
  color: #232923;
  font-size: 1.02rem;
  margin: 18px 0 6px;
}
.legal-sec p {
  margin: 0 0 14px;
  color: #2C3230;
}
.legal-sec .sec-note,
.legal-sec .legal-note {
  background-color: #FBF9F0;
  border: 1px dashed #3F6B4A;
  border-left: 6px solid #3F6B4A;
  padding: 13px 18px;
  border-radius: 3px;
  margin: 0 0 14px;
}
.legal-sec ul {
  margin: 0 0 16px 2px;
  padding-left: 22px;
}
.legal-sec li {
  margin-bottom: 7px;
}
.legal-sec strong, .legal-sec b {
  color: #232923;
}
.legal-sec a:not(.backhome) {
  color: #3F6B4A;
  font-weight: 700;
  text-decoration: none;
}
.legal-sec a:not(.backhome):hover {
  text-decoration: underline;
}

/* ============ FOOTNOTE BAND + back home ============ */
.legal-footnote {
  margin: 40px 0 0;
  padding: 22px 0;
}
.legal-footnote-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
  border-top: 2px dashed #8D9188;
  padding-top: 20px;
}
.legal-footnote p {
  font-size: 0.92rem;
}
.backhome {
  display: inline-block;
  background-color: #3F6B4A;
  color: #FBF9F0;
  padding: 12px 24px;
  border-radius: 2px;
  font-weight: 700;
  text-decoration: none;
  margin: 6px 0 18px;
}
.backhome:hover {
  background-color: #232923;
}

/* ============ LEGAL FOOTER (solid base) ============ */
.legal-footer {
  background-color: #232923;
  position: relative;
  z-index: 1;
}
.legal-footer .lf-top {
  border-top: 4px solid #C0996B;
}
.legal-footer .lf-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 26px 24px 10px;
}
.legal-footer ul.lf-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}
.legal-footer ul.lf-links li a {
  color: #FBF9F0;
  text-decoration: none;
  font-weight: 700;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 0.9rem;
}
.legal-footer ul.lf-links li a:hover { color: #C0996B; }
.legal-footer .lf-contact {
  margin: 14px 0 0;
  color: #8D9188;
  font-size: 0.9rem;
}
.legal-footer .lf-address {
  color: #8D9188;
  display: block;
}
.lf-copy {
  border-top: 1px solid #3F6B4A;
}
.lf-copy .lf-copy-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 14px 24px 22px;
}
.lf-copy p {
  color: #C0996B;
  font-size: 0.84rem;
  letter-spacing: 0.05em;
  margin: 0;
}

/* responsive */
@media (max-width: 720px) {
  .legal-toc ol { columns: 1; }
  .legal-header h1 { font-size: 2rem; }
}
