/* ============================================================
   Ride X — legal pages (privacy + terms)
   Reference mode: compact dark hero → narrow light measure,
   numbered sections, calm long-form typography. Prefix: .lg-
   ============================================================ */

/* ---------- compact hero ---------- */
.lg-hero {
  padding-block-start: calc(var(--topbar-h) + clamp(2.75rem, 2.25rem + 3.5vw, 5rem));
  padding-block-end: clamp(2.25rem, 1.75rem + 2.5vw, 3.75rem);
}
.lg-hero .lead { max-inline-size: 46ch; }

/* ---------- light band ---------- */
.lg-band { padding-block: clamp(3rem, 2.5rem + 2.5vw, 5rem) var(--band-pad); }

/* ---------- meta strip (last updated + scope) ---------- */
.lg-meta {
  display: flex; flex-wrap: wrap; align-items: baseline;
  gap: var(--sp-2) var(--sp-6);
  padding-block-end: var(--sp-5);
  border-block-end: 1px solid var(--line-on-light);
  font-size: var(--text-small); color: var(--slate);
}
.lg-meta__updated { font-weight: 600; color: var(--ink); }

/* ---------- on this page ---------- */
.lg-toc { margin-block-start: var(--sp-6); }
.lg-toc h2 {
  font-family: var(--font-body);
  font-size: var(--text-eyebrow); font-weight: 600;
  letter-spacing: var(--track-eyebrow); text-transform: uppercase;
  color: var(--slate);
}
html[lang="ar"] .lg-toc h2 { text-transform: none; letter-spacing: 0; font-size: 0.9375rem; }
.lg-toc ol {
  counter-reset: lgtoc;
  margin-block-start: var(--sp-4);
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem var(--sp-6);
  font-size: var(--text-small);
}
.lg-toc li { counter-increment: lgtoc; display: flex; align-items: baseline; gap: 0.75rem; }
.lg-toc li::before {
  content: counter(lgtoc, decimal-leading-zero);
  font-family: var(--font-display);
  font-size: 0.75rem; font-weight: 600;
  color: var(--red);
  font-variant-numeric: tabular-nums;
  flex: none;
}
.lg-toc a {
  color: var(--ink); text-decoration: none;
  border-block-end: 1px solid transparent;
  transition: border-color 0.2s ease;
}
.lg-toc a:hover { border-block-end-color: var(--red); }
@media (max-width: 40rem) {
  .lg-toc ol { grid-template-columns: 1fr; }
}

/* ---------- document ---------- */
.lg-doc { counter-reset: lgsec; margin-block-start: clamp(1.5rem, 1rem + 2vw, 2.5rem); }

.lg-sec {
  padding-block: clamp(2.25rem, 1.75rem + 2vw, 3.5rem);
  scroll-margin-block-start: calc(var(--topbar-h) + 1.5rem);
}
.lg-sec + .lg-sec { border-block-start: 1px solid var(--line-on-light); }
.lg-doc > .lg-sec:first-child { padding-block-start: var(--sp-5); }
.lg-sec > * + * { margin-block-start: var(--sp-4); }
.lg-sec > h2 + * { margin-block-start: var(--sp-5); }

.lg-sec h2 { font-size: clamp(1.4rem, 1.2rem + 0.9vw, 1.85rem); max-inline-size: 30ch; }
.lg-sec h2::before {
  counter-increment: lgsec;
  content: counter(lgsec, decimal-leading-zero);
  display: block;
  font-size: 0.8125rem; font-weight: 600;
  letter-spacing: 0.08em;
  color: var(--red);
  font-variant-numeric: tabular-nums;
  margin-block-end: var(--sp-2);
}
.lg-sec p { max-inline-size: 65ch; }

/* ---------- lists: pickup-ring markers (quiet motif) ---------- */
.lg-list { display: grid; gap: 0.875rem; max-inline-size: 62ch; }
.lg-list li { position: relative; padding-inline-start: 1.625rem; }
.lg-list li::before {
  content: ""; position: absolute;
  inset-inline-start: 0; inset-block-start: 0.5em;
  inline-size: 0.5rem; block-size: 0.5rem;
  border: 2px solid var(--gold); border-radius: 50%;
}

/* ---------- pending-policy rule block (cancellations etc.) ---------- */
.lg-rules { padding: var(--sp-5) var(--sp-6); }
.lg-rules .lg-list { max-inline-size: none; }
@media (max-width: 40rem) {
  .lg-rules { padding: var(--sp-5); }
}

/* ---------- company / contact facts ---------- */
.lg-facts {
  border: 1px solid var(--line-on-light);
  border-radius: var(--radius);
  background: #fff;
}
.lg-facts > div {
  display: grid;
  grid-template-columns: minmax(9rem, 13rem) minmax(0, 1fr);
  gap: var(--sp-2) var(--sp-5);
  padding: 0.875rem 1.25rem;
}
.lg-facts > div + div { border-block-start: 1px solid var(--line-on-light); }
.lg-facts dt { font-size: var(--text-small); color: var(--slate); font-weight: 500; }
.lg-facts dd { font-weight: 500; overflow-wrap: anywhere; }
.lg-facts a {
  text-decoration: none;
  border-block-end: 1px solid var(--line-on-light);
  transition: border-color 0.2s ease;
}
.lg-facts a:hover { border-block-end-color: var(--red); }
@media (max-width: 40rem) {
  .lg-facts > div { grid-template-columns: 1fr; }
}

/* ---------- closing route callback ---------- */
.lg-end { margin-block-start: clamp(2.5rem, 2rem + 2vw, 4rem); }
.lg-end .rt { inline-size: min(14rem, 50vw); }

/* ---------- print: the document, nothing else ---------- */
@media print {
  .topbar, .mobilemenu, .skip-link, .site-footer, .lg-end, .lg-toc { display: none !important; }
  .pagehero { background: #fff; color: #000; padding-block: 2rem 0; }
  .pagehero::after { display: none; }
  .crumbs { display: none; }
  .lg-band { padding-block: 1rem; }
}
