/* Shared legal stylesheet for privacy.html and terms-of-service.html
   Legal pages load ONLY this file. Palette matches the main site but is
   defined here independently with strong contrast. */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

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

a { color: #3E6B4C; }

h1, h2, h3 {
  font-family: Georgia, "Times New Roman", serif;
  color: #2A2823;
  line-height: 1.25;
}

p { margin: 0 0 1.05em; }

/* ---------- LEGAL HEADER ---------- */
.legal-header {
  background: #232922;
  border-bottom: 6px solid #3E6B4C;
  padding: 30px 0 26px;
}

.legal-header-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}

.legal-header h1 {
  color: #E6E2D2;
  font-size: 34px;
  margin: 0 0 8px;
}

.legal-header p {
  color: #7F8880;
  margin: 0;
  font-size: 15px;
}

.legal-header a {
  color: #B98A3A;
  text-decoration: none;
  font-weight: bold;
}

.legal-header a:hover { text-decoration: underline; }

/* ---------- LEGAL LAYOUT ---------- */
.legal-main {
  padding: 34px 0 10px;
}

.legal-content {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
}

.legal-content section {
  background: transparent !important;
  color: #2A2823;
  margin-bottom: 8px;
}

.legal-content h2 {
  font-size: 23px;
  margin: 34px 0 10px;
  padding-top: 14px;
  border-top: 3px solid #B98A3A;
}

.legal-content h3 {
  font-size: 18px;
  margin: 22px 0 8px;
}

.legal-content p,
.legal-content li {
  color: #2A2823;
}

.legal-content ul {
  margin: 0 0 1.05em;
  padding-left: 22px;
}

.legal-content li { margin-bottom: 6px; }

/* ---------- TABLE OF CONTENTS ---------- */
.toc {
  background: #E6E2D2;
  border-left: 6px solid #3E6B4C;
  padding: 20px 24px;
  margin: 6px 0 24px;
}

.toc h2 {
  margin: 0 0 12px;
  border-top: 0;
  padding-top: 0;
  font-size: 18px;
}

.toc ol {
  margin: 0;
  padding-left: 20px;
  column-count: 2;
  column-gap: 34px;
}

.toc li { margin-bottom: 6px; }

.toc a {
  color: #3E6B4C;
  text-decoration: none;
}

.toc a:hover { text-decoration: underline; }

/* ---------- META PANEL ---------- */
.legal-meta {
  background: #E6E2D2;
  border-top: 5px solid #232922;
  padding: 18px 24px;
  margin: 0 0 20px;
  font-size: 14.5px;
  color: #2A2823;
}

.legal-meta strong { color: #232922; }

.legal-note {
  color: #7F8880;
  font-size: 14px;
}

/* ---------- LEGAL FOOTER ---------- */
.legal-footer {
  background: #232922;
  border-top: 6px solid #6B5132;
  padding: 26px 0 30px;
  margin-top: 20px;
}

.legal-footer-inner {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 24px;
  color: #E6E2D2;
  font-size: 14.5px;
}

.legal-footer-inner p { margin: 0 0 8px; }

.legal-footer-inner a {
  color: #B98A3A;
  text-decoration: none;
  font-weight: bold;
}

.legal-footer-inner a:hover { text-decoration: underline; }

.legal-footer .backlink {
  display: inline-block;
  color: #E6E2D2;
  background: #3E6B4C;
  padding: 12px 22px;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 0.02em;
  margin-top: 8px;
}

.legal-footer .backlink:hover { background: #B98A3A; color: #232922; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 700px) {
  .legal-header h1 { font-size: 26px; }
  .toc ol { column-count: 1; }
}
