/* ============================================================
   datasong.buzz — Legal Pages Stylesheet
   Loaded by privacy.html and terms-of-service.html
   ============================================================ */

/* Scope isolation: prevent homepage section styles from bleeding into legal pages */
.legal-page section {
  background-color: transparent !important;
}

.legal-page {
  font-size: 16px;
  line-height: 1.8;
  color: #1a1a1a;
}

/* Legal page container */
.legal-container {
  max-width: 860px;
  margin: 0 auto;
  padding: 100px 20px 0;
}

.legal-container h1 {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.8rem;
  line-height: 1.3;
}

.legal-container .legal-last-updated {
  color: #6b6b6b;
  font-size: 0.92rem;
  margin-bottom: 2rem;
}

.legal-intro {
  margin-bottom: 2.5rem;
  font-size: 1.02rem;
  line-height: 1.8;
  color: #2a2a2a;
}

.legal-intro p {
  margin-bottom: 1rem;
}

/* Table of Contents */
.toc {
  background-color: #f4efe4;
  border: 1px solid #ddd0bb;
  border-radius: 10px;
  padding: 28px 32px;
  margin-bottom: 3rem;
}

.toc h2 {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 1rem;
}

.toc ol {
  list-style: none;
  counter-reset: toc-counter;
  padding-left: 0;
}

.toc ol li {
  counter-increment: toc-counter;
  margin-bottom: 0.5rem;
  font-size: 0.95rem;
}

.toc ol li::before {
  content: counter(toc-counter) ". ";
  font-weight: 600;
  color: #c47d30;
}

.toc ol li a {
  color: #2a2a2a;
  text-decoration: none;
  transition: color 0.3s ease;
}

.toc ol li a:hover {
  color: #c47d30;
}

/* Legal sections */
.legal-section {
  margin-bottom: 2.4rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #e0d5c5;
}

.legal-section:last-of-type {
  border-bottom: none;
}

.legal-section h2 {
  font-family: 'Georgia', 'Times New Roman', serif;
  font-size: 1.35rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 0.8rem;
  line-height: 1.4;
}

.legal-section p {
  margin-bottom: 0.9rem;
  line-height: 1.8;
  color: #2a2a2a;
  font-size: 1rem;
}

.legal-section ul,
.legal-section ol {
  margin: 0.8rem 0 1rem 1.5rem;
  color: #2a2a2a;
}

.legal-section ul li,
.legal-section ol li {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  line-height: 1.7;
}

/* Back to home link */
.legal-back-link {
  display: inline-block;
  color: #c47d30;
  font-weight: 600;
  text-decoration: none;
  font-size: 1rem;
  margin-bottom: 2rem;
  transition: color 0.3s ease;
}

.legal-back-link:hover {
  color: #d48d40;
}

/* Footer overrides */
.legal-page .site-footer {
  margin-top: 60px;
  background-color: #09130e;
}

/* Responsive for legal pages */
@media (max-width: 768px) {
  .legal-container {
    padding: 90px 16px 0;
  }

  .toc {
    padding: 20px 20px;
  }

  .legal-section {
    margin-bottom: 2rem;
    padding-bottom: 1.2rem;
  }
}

@media (max-width: 480px) {
  .legal-container {
    padding: 80px 14px 0;
  }

  .toc {
    padding: 16px 16px;
    border-radius: 8px;
  }
}
