/* Public legal pages (privacy policy, terms of service; English and Hebrew).
   Builds on /styles.css (nav, footer, colour tokens). Logical properties only,
   so the same rules serve left-to-right and right-to-left pages. */

/* The draft banner. To hide it everywhere without rebuilding, set display:none
   here; the normal way is "draftBanner": false in scripts/legal/config.json,
   then `node scripts/legal/build.mjs`. */
.draft-banner {
  display: block;
  background: #fffbeb;
  color: #92400e;
  border-block-end: 1px solid #fde68a;
  padding: 10px 16px;
  text-align: center;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.legal { padding: 40px 16px 72px; background: var(--bg); }
.legal-inner { max-width: 820px; margin: 0 auto; }

.legal-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
}
.legal-meta .lang-switch { color: var(--accent); font-weight: 700; text-decoration: none; border: 0; padding: 0; min-height: 0; background: none; font-size: inherit; }
.legal-meta .lang-switch:hover { text-decoration: underline; }

.legal h1 { font-size: 34px; line-height: 1.2; letter-spacing: -0.02em; margin: 8px 0 12px; }
.legal h2 { font-size: 22px; margin: 40px 0 10px; padding-block-start: 8px; border-block-start: 1px solid var(--border); }
.legal h3 { font-size: 16px; margin: 22px 0 6px; }
.legal p, .legal li { font-size: 15.5px; line-height: 1.7; color: var(--ink); }
.legal p { margin: 0 0 12px; }
.legal ul, .legal ol { margin: 0 0 14px; padding-inline-start: 24px; }
.legal li { margin-block-end: 6px; }
.legal a { color: var(--accent); }
.legal .lead { font-size: 17px; color: var(--muted); }

.legal .note {
  background: var(--bg-soft);
  border: 1px solid var(--border);
  border-inline-start: 4px solid var(--accent);
  border-radius: 8px;
  padding: 12px 16px;
  margin: 16px 0;
}
.legal .note p:last-child { margin-block-end: 0; }

.legal .toc { background: var(--bg-soft); border: 1px solid var(--border); border-radius: 10px; padding: 14px 20px; margin: 18px 0 8px; }
.legal .toc ol { margin: 0; columns: 2; column-gap: 32px; }
.legal .toc li { font-size: 14.5px; margin-block-end: 3px; break-inside: avoid; }

.legal .table-wrap { overflow-x: auto; margin: 12px 0 18px; }
.legal table { border-collapse: collapse; width: 100%; font-size: 14.5px; }
.legal th, .legal td { border: 1px solid var(--border); padding: 8px 10px; vertical-align: top; text-align: start; line-height: 1.55; }
.legal th { background: var(--bg-soft); font-weight: 700; }

/* A fact the owner has not supplied yet. Highlighted so it cannot be missed. */
.ph { background: #fef08a; color: #713f12; border-radius: 3px; padding: 0 4px; font-weight: 700; unicode-bidi: isolate; }

@media (max-width: 640px) {
  .legal h1 { font-size: 27px; }
  .legal .toc ol { columns: 1; }
  .legal-meta { flex-wrap: wrap; }
}


/* ux-audit (site): a table that scrolls sideways takes the keyboard focus (tabindex="0"): it shows the ring. */
.legal .table-wrap:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
/* The table of contents: each link at least 24px high (WCAG 2.2 target size). */
.legal .toc a { padding-block: 4px; }
.legal .toc li { margin-block-end: 8px; }
.legal-meta .lang-switch { min-height: 24px; display: inline-flex; align-items: center; }
/* Long words (an address, an email, a placeholder) wrap instead of widening a 320px screen. */
.legal p, .legal li, .legal td, .legal th { overflow-wrap: anywhere; }
