/* ============================================================
   J. Randle Law - Legal pages (privacy, terms, cookies, accessibility)
   Site by Aday Interactive, Inc. - https://adayinteractive.com/
   Standalone (no Tailwind rebuild). Loaded only by the legal pages.
   ============================================================ */
.legal-section { padding: 4rem 0 5rem; background: var(--cream); }
.legal-wrap { max-width: 46rem; margin: 0 auto; padding: 0 1.5rem; }
.legal-prose { color: var(--charcoal); font-size: 1.0625rem; line-height: 1.75; overflow-wrap: break-word; }
.legal-prose h2 {
  font-family: 'Cormorant Garamond', serif; font-size: 1.75rem; font-weight: 700; line-height: 1.25;
  color: var(--forest-green); margin: 2.75rem 0 0.75rem; scroll-margin-top: 6rem;
}
.legal-prose h3 { font-size: 1.0625rem; font-weight: 700; margin: 1.5rem 0 0.5rem; }
.legal-prose p { margin: 0 0 1rem; }
.legal-prose ul { margin: 0 0 1.25rem; padding-left: 1.25rem; list-style: disc; }
.legal-prose li { margin-bottom: 0.5rem; }
.legal-prose a { color: var(--forest-green); font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.legal-prose a:hover { color: var(--forest-green-light); }
.legal-prose a:focus-visible { outline: 2px solid var(--amber-gold); outline-offset: 2px; }

.legal-summary {
  background: oklch(0.96 0.03 85); border: 1px solid oklch(0.86 0.06 80);
  border-left: 4px solid var(--amber-gold); border-radius: 0.75rem;
  padding: 1.25rem 1.5rem; margin-bottom: 2rem;
}
.legal-summary p:last-child { margin-bottom: 0; }

.legal-toc {
  background: #fff; border: 1px solid oklch(0.88 0.015 85); border-radius: 0.75rem;
  padding: 1.25rem 1.5rem; margin-bottom: 1rem;
}
.legal-toc p { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: oklch(0.42 0.01 65); margin: 0 0 0.5rem; }
.legal-toc ol { margin: 0; padding-left: 1.25rem; list-style: decimal; columns: 2; column-gap: 2rem; }
.legal-toc li { margin-bottom: 0.35rem; break-inside: avoid; font-size: 0.9375rem; }
.legal-toc a { font-weight: 400; }

.legal-contact {
  background: #fff; border: 1px solid oklch(0.88 0.015 85); border-radius: 0.75rem;
  padding: 1.25rem 1.5rem; margin: 0 0 1.5rem; line-height: 1.8;
}
.legal-fineprint { font-size: 0.875rem; color: oklch(0.42 0.01 65); border-top: 1px solid oklch(0.88 0.015 85); padding-top: 1rem; margin-top: 2rem; }

/* Cookie list: cards instead of a wide table, so nothing scrolls sideways on phones */
.legal-cookie { background: #fff; border: 1px solid oklch(0.88 0.015 85); border-radius: 0.75rem; padding: 1rem 1.25rem; margin: 0 0 1rem; }
.legal-cookie dl { margin: 0; display: grid; grid-template-columns: 7.5rem 1fr; gap: 0.35rem 1rem; font-size: 0.9375rem; }
.legal-cookie dt { font-weight: 700; }
.legal-cookie dd { margin: 0; }
.legal-cookie code { font-size: 0.875rem; background: var(--cream-dark); padding: 0.1rem 0.35rem; border-radius: 0.25rem; }


@media (max-width: 640px) {
  .legal-section { padding: 2.5rem 0 3.5rem; }
  .legal-wrap { padding: 0 1rem; }
  .legal-prose { font-size: 1rem; }
  .legal-prose h2 { font-size: 1.5rem; margin-top: 2.25rem; }
  .legal-toc ol { columns: 1; }
  .legal-cookie dl { grid-template-columns: 1fr; gap: 0.15rem; }
  .legal-cookie dd { margin-bottom: 0.5rem; }
}
.legal-inline-btn { background: none; border: 0; padding: 0; font: inherit; color: var(--forest-green); text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
.legal-inline-btn:focus-visible { outline: 2px solid var(--amber-gold); outline-offset: 2px; }
