/* ============================================================
   SourceSolid — Shared Legal Stylesheet
   Loaded by privacy.html and terms-of-service.html
   ============================================================ */

/* Scope isolation: prevent homepage section backgrounds from
   bleeding into legal page content sections */
.legal-page .legal-content section,
.legal-page .legal-content .section {
  background-color: transparent !important;
}

/* Ensure legal page body has a white background */
.legal-page {
  background-color: #ffffff;
}

/* Legal header gradient enhancement */
.legal-header {
  background: linear-gradient(135deg, #1d1b26 0%, #2d2a3a 100%);
}

/* Section anchor offset for smooth scrolling */
.legal-content section[id] {
  scroll-margin-top: 24px;
}

/* Legal intro box refinement */
.legal-intro {
  background-color: #f8f9fc;
  border-left: 4px solid #2563eb;
}

/* Improve legal headings readability */
.legal-content h2 {
  color: #18171f;
  border-bottom-color: #e5e7eb;
}

/* Legal list styling (for lists within legal sections) */
.legal-content ul,
.legal-content ol:not(.toc ol) {
  margin-bottom: 18px;
  padding-left: 24px;
}

.legal-content ul {
  list-style: disc;
}

.legal-content ol:not(.toc ol) {
  list-style: decimal;
}

.legal-content li {
  font-size: 16px;
  color: #4b5563;
  line-height: 1.8;
  margin-bottom: 6px;
}

/* Table of contents refinement */
.toc {
  background-color: #f8f9fc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}

.toc ol li a {
  color: #2563eb;
  transition: color 0.2s ease;
}

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

/* Legal contact info block */
.legal-contact-info {
  background-color: #f8f9fc;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}

.legal-contact-info strong {
  color: #18171f;
}

/* Legal footer */
.legal-footer {
  border-top: 1px solid #e5e7eb;
  background-color: #f8f9fc;
}

.legal-footer a {
  color: #2563eb;
  font-weight: 600;
}

.legal-footer a:hover {
  color: #1d4ed8;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .legal-title {
    font-size: 30px;
  }

  .legal-content {
    padding: 40px 0;
  }

  .legal-content h2 {
    font-size: 22px;
  }

  .toc {
    padding: 20px;
  }
}
