/* Legal pages (Terms of Service, Privacy Policy) — matches dark site theme */

.legal-section { padding: 56px 0 88px; }
.legal-layout { max-width: 860px; margin: 0 auto; }

.hero-divider { width: 90px; height: 3px; background: var(--blue); border-radius: 2px; margin: 22px auto 0; }

/* Table of contents */
.legal-toc {
  display: block;
  height: auto;
  background: var(--card);
  border: 1px solid var(--border);
  border-left: 3px solid var(--blue);
  border-radius: 12px;
  padding: 26px 30px;
  margin-bottom: 44px;
}
.legal-toc h2 {
  font-family: var(--font-cond);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 16px;
}
.legal-toc ul { list-style: none; display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; row-gap: 4px; margin: 0; padding: 0; }
.legal-toc li { position: relative; padding-left: 18px; margin: 5px 0; }
.legal-toc li::before {
  content: ''; position: absolute; left: 0; top: 9px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--blue);
}
.legal-toc a { color: var(--muted); text-decoration: none; font-size: 14px; transition: color 0.15s; }
.legal-toc a:hover { color: var(--blue); }

/* Content */
.legal-content .intro { color: var(--muted); line-height: 1.85; margin-bottom: 10px; font-size: 16px; }
.legal-content h2.legal-h {
  font-family: var(--font-cond);
  font-size: 25px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: #fff;
  border-left: 3px solid var(--blue);
  padding-left: 14px;
  margin: 46px 0 16px;
  scroll-margin-top: 28px;
}
.legal-content h3.legal-sub {
  font-family: var(--font-cond);
  font-size: 19px;
  font-weight: 700;
  color: var(--blue-light);
  margin: 28px 0 10px;
}
.legal-content p { color: #b9b9b9; line-height: 1.85; margin-bottom: 16px; font-size: 16px; }
.legal-content p.legal-upper { color: #fff; font-weight: 700; }
.legal-content a.inline { color: var(--blue); text-decoration: none; word-break: break-word; }
.legal-content a.inline:hover { text-decoration: underline; }

/* Lists */
.legal-content ul.legal-list { list-style: none; margin: 0 0 18px; padding-left: 22px; }
.legal-content ul.legal-list li {
  position: relative; padding-left: 20px; margin: 10px 0;
  color: #b9b9b9; line-height: 1.8; font-size: 16px;
}
.legal-content ul.legal-list li::before {
  content: ''; position: absolute; left: 0; top: 11px;
  width: 6px; height: 6px; border-radius: 50%; background: var(--blue);
}
.legal-content ol.legal-list { margin: 0 0 18px; padding-left: 24px; }
.legal-content ol.legal-list li {
  margin: 10px 0; padding-left: 6px;
  color: #b9b9b9; line-height: 1.8; font-size: 16px;
}
.legal-content ol.legal-list li::marker { color: var(--blue); font-weight: 700; }
.legal-content li b, .legal-content li strong { color: #fff; }

/* Callout / alert boxes */
.legal-callout {
  background: rgba(0, 174, 239, 0.06);
  border: 1px solid var(--border);
  border-left: 3px solid var(--blue);
  border-radius: 0 10px 10px 0;
  padding: 18px 22px;
  margin: 24px 0;
}
.legal-callout .callout-label {
  display: block; font-style: italic; font-weight: 700;
  color: var(--blue-light); margin-bottom: 6px;
}
.legal-callout p { margin: 0; color: #cfcfcf; }
.legal-callout.action {
  border-left-color: #FFB020;
  background: rgba(255, 176, 32, 0.07);
}
.legal-callout.action .callout-label { color: #FFB020; font-style: normal; }

/* Info / contact cards */
.legal-info-card {
  background: var(--card);
  border: 1px solid var(--border-subtle);
  border-radius: 12px;
  padding: 22px 26px;
  margin: 20px 0;
}
.legal-info-card p { margin: 5px 0; color: #cfcfcf; }
.legal-info-card .ic-name {
  font-family: var(--font-cond);
  font-size: 19px; font-weight: 700; color: #fff;
  letter-spacing: 0.3px; margin-bottom: 8px;
}

/* Required placeholders — impossible to miss */
.insert { color: #FF4D4D; font-weight: 700; }

@media (max-width: 768px) {
  .legal-section { padding: 40px 0 64px; }
  .legal-toc { padding: 22px 22px; }
  .legal-toc ul { grid-template-columns: 1fr; }
}
