/* ╔══════════════════════════════════════════════════════════════╗
   ║  legal.css — Privacy / Medical Disclaimer / Terms pages     ║
   ╚══════════════════════════════════════════════════════════════╝ */
.legal-wrap { display: grid; grid-template-columns: 230px 1fr; gap: 52px; align-items: start; }

/* ── Sticky table of contents ── */
.legal-toc { position: sticky; top: calc(var(--nav-h) + 24px); }
.legal-toc-label { font-size: .72rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; color: var(--green); margin-bottom: 12px; }
.legal-toc a { display: block; font-size: .83rem; color: var(--gray); padding: 8px 0 8px 14px; border-left: 2px solid #e5e5e5; transition: all .2s; }
.legal-toc a:hover { color: var(--green); }
.legal-toc a.active { color: var(--green); font-weight: 700; border-left-color: var(--green); }
.legal-updated { margin-top: 22px; padding-top: 16px; border-top: 1px solid #eee; font-size: .74rem; color: var(--gray); display: flex; align-items: center; gap: 6px; }
.legal-back { margin-top: 14px; font-size: .78rem; font-weight: 600; color: var(--green); display: flex; align-items: center; gap: 6px; }

/* ── Content ── */
.legal-content h2 {
  font-family: 'Playfair Display', serif; font-size: 1.4rem; color: var(--dark);
  margin: 44px 0 14px; scroll-margin-top: calc(var(--nav-h) + 24px);
}
.legal-content h2:first-of-type { margin-top: 0; }
.legal-content h3 { font-size: 1.02rem; font-weight: 700; margin: 22px 0 8px; color: var(--dark); }
.legal-content p, .legal-content li { font-size: .92rem; color: var(--gray); line-height: 1.85; margin-bottom: 12px; }
.legal-content ul, .legal-content ol { padding-left: 22px; margin-bottom: 16px; }
.legal-content strong { color: var(--dark); }
.legal-content a { color: var(--green); font-weight: 600; }
.legal-content table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: .86rem; }
.legal-content th, .legal-content td { text-align: left; padding: 10px 14px; border-bottom: 1px solid #eee; color: var(--gray); }
.legal-content th { color: var(--dark); font-weight: 700; background: var(--gl); }

/* ── Callouts ── */
.legal-callout { display: flex; gap: 14px; background: var(--gl); border-left: 4px solid var(--green); border-radius: 10px; padding: 18px 20px; margin-bottom: 32px; }
.legal-callout.warn   { background: #fdf3e8; border-left-color: var(--gold); }
.legal-callout.danger { background: #fde8e8; border-left-color: var(--red); }
.legal-callout i { font-size: 1.2rem; color: var(--green); flex-shrink: 0; margin-top: 2px; }
.legal-callout.warn i   { color: var(--gold); }
.legal-callout.danger i { color: var(--red); }
.legal-callout p { margin: 0; font-size: .88rem; color: var(--dark); line-height: 1.7; }

/* ── Cross-links between the three legal pages ── */
.legal-crosslinks { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 48px; padding-top: 28px; border-top: 1px solid #eee; }
.legal-crosslinks a { background: #fff; border: 1px solid #e5e5e5; border-radius: 10px; padding: 12px 16px; font-size: .84rem; font-weight: 600; color: var(--dark); display: flex; align-items: center; gap: 8px; transition: all .2s; }
.legal-crosslinks a:hover { border-color: var(--green); color: var(--green); }
.legal-crosslinks a i { color: var(--green); }

@media (max-width: 900px) {
  .legal-wrap { grid-template-columns: 1fr; }
  .legal-toc { position: static; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid #eee; }
}
