/* ─── PrivacyPolicy — Themeable via CSS variables ─────────────────────────────
   Clean, readable legal document layout.
   ─────────────────────────────────────────────────────────────────────────── */

/* ─── Container ──────────────────────────────────────────────────────────── */

[data-privacy-policy] {
  font-family: var(--pp-font, system-ui, -apple-system, 'Segoe UI', sans-serif);
  color: var(--pp-text, #1a1a1a);
  background: var(--pp-bg, #ffffff);
}

.pp-wrap {
  max-width: 780px;
  margin: 0 auto;
  padding: 0 0 48px;
}

/* ─── Header ─────────────────────────────────────────────────────────────── */

.pp-header {
  margin-bottom: 40px;
  padding-bottom: 32px;
  border-bottom: 1px solid var(--pp-border, #e0e0e0);
}

.pp-title {
  font-size: clamp(26px, 4vw, 34px);
  font-weight: 800;
  color: var(--pp-primary, #1a1a1a);
  margin: 0 0 12px;
  line-height: 1.2;
}

.pp-effective {
  font-size: 14px;
  color: var(--pp-muted, #555);
  margin: 0 0 20px;
}

.pp-header p {
  font-size: 15px;
  line-height: 1.75;
  color: var(--pp-muted, #555);
  margin: 0 0 12px;
}

.pp-header p:last-child { margin-bottom: 0; }

/* ─── Table of contents ──────────────────────────────────────────────────── */

.pp-toc {
  background: var(--pp-surface, #f5f5f5);
  border-radius: var(--pp-radius, 8px);
  padding: 24px 28px;
  margin-bottom: 48px;
}

.pp-toc-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--pp-muted, #555);
  margin: 0 0 14px;
}

.pp-toc ol {
  margin: 0;
  padding-left: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pp-toc li {
  font-size: 14px;
  line-height: 1.4;
}

.pp-toc a {
  color: var(--pp-accent, #2A8A9A);
  text-decoration: none;
}

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

/* ─── Sections ───────────────────────────────────────────────────────────── */

.pp-wrap section {
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--pp-border, #e0e0e0);
}

.pp-wrap section:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* ─── Headings ───────────────────────────────────────────────────────────── */

.pp-wrap h2 {
  font-size: 19px;
  font-weight: 700;
  color: var(--pp-primary, #1a1a1a);
  margin: 0 0 16px;
  line-height: 1.3;
  scroll-margin-top: 24px;
}

/* ─── Body text ──────────────────────────────────────────────────────────── */

.pp-wrap p {
  font-size: 15px;
  line-height: 1.8;
  color: var(--pp-muted, #555);
  margin: 0 0 14px;
}

.pp-wrap p:last-child { margin-bottom: 0; }

/* ─── Lists ──────────────────────────────────────────────────────────────── */

.pp-wrap ul,
.pp-wrap ol {
  margin: 0 0 14px;
  padding-left: 22px;
}

.pp-wrap li {
  font-size: 15px;
  line-height: 1.75;
  color: var(--pp-muted, #555);
  margin-bottom: 8px;
}

.pp-wrap li strong {
  color: var(--pp-text, #1a1a1a);
}

/* ─── Links ──────────────────────────────────────────────────────────────── */

.pp-wrap a {
  color: var(--pp-accent, #2A8A9A);
  text-decoration: none;
}

.pp-wrap a:hover { text-decoration: underline; }

/* ─── Contact box ────────────────────────────────────────────────────────── */

.pp-contact-box {
  background: var(--pp-surface, #f5f5f5);
  border-radius: var(--pp-radius, 8px);
  border-left: 3px solid var(--pp-accent, #2A8A9A);
  padding: 20px 24px;
  font-size: 15px;
  line-height: 1.9;
  color: var(--pp-muted, #555);
  margin-top: 16px;
}

.pp-contact-box strong {
  color: var(--pp-text, #1a1a1a);
  display: block;
  margin-bottom: 4px;
}

/* ─── Mobile ─────────────────────────────────────────────────────────────── */

@media (max-width: 480px) {
  .pp-toc { padding: 18px 20px; }

  .pp-wrap h2 { font-size: 17px; }

  .pp-wrap p,
  .pp-wrap li { font-size: 14px; }

  .pp-contact-box { padding: 16px 18px; font-size: 14px; }
}
