/* =====================================================================
   Legal pages - /cancellation-policy, /privacy-policy, /terms-conditions
   Read mode: a quiet dark opener, then the document on a cream band at a
   comfortable measure, with an in-page contents list for long documents.
   ===================================================================== */

/* ---------- Opener ---------- */

.lx-legal-hero h1 { max-width: 18ch; }
.lx-legal-meta {
  display: flex; flex-wrap: wrap; gap: 6px 20px;
  margin: 24px 0 0; padding: 0; list-style: none;
  font-size: 14px; color: var(--lx-ink-3);
}
.lx-legal-meta strong { color: var(--lx-ink-2); font-weight: 500; }

/* ---------- Layout: contents beside the document ---------- */

.lx-legal-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; }
.lx-legal-layout--toc { grid-template-columns: minmax(0, 220px) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
@media (max-width: 960px) {
  .lx-legal-layout--toc { grid-template-columns: minmax(0, 1fr); gap: 40px; }
}

/* ---------- Contents list ---------- */

.lx-toc { font-size: 15px; line-height: 1.35; }
@media (min-width: 961px) {
  .lx-toc { position: sticky; top: calc(var(--lx-nav-h) + 32px); max-height: calc(100vh - var(--lx-nav-h) - 64px); overflow-y: auto; }
}
.lx-toc h2 { font-size: 13px; font-weight: 600; letter-spacing: 0; color: var(--lx-paper-ink-2); margin-bottom: 8px; }
.lx-toc ol { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--lx-paper-line); }
.lx-toc li { border-bottom: 1px solid var(--lx-paper-line); }
.lx-toc a {
  display: flex; align-items: center; min-height: 44px; padding: 8px 0;
  color: var(--lx-paper-ink); text-decoration: none;
  transition: color .2s;
}
.lx-toc a:hover { color: var(--lx-link-light); text-decoration: underline; text-underline-offset: 3px; }
.lx-toc ol ol { border-top: 0; padding: 0 0 8px 14px; }
.lx-toc ol ol li { border-bottom: 0; }
.lx-toc ol ol a { min-height: 36px; padding: 4px 0; font-size: 14px; color: var(--lx-paper-ink-2); }
@media (max-width: 960px) {
  .lx-toc { padding-bottom: 8px; }
  .lx-toc ol ol a { min-height: 44px; }
}

/* ---------- The document ---------- */

.lx-prose { max-width: 70ch; font-size: 17px; line-height: 1.65; letter-spacing: -0.008em; color: var(--lx-paper-ink); }
.lx-prose > * + * { margin-top: 1.1em; }
.lx-prose h2 {
  font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.15; letter-spacing: -0.02em;
  margin-top: 2.4em; padding-top: 28px; border-top: 1px solid var(--lx-paper-line);
}
.lx-prose > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.lx-prose h3 { font-size: 1.1875rem; line-height: 1.3; letter-spacing: -0.015em; margin-top: 2em; }
.lx-prose h2 + *, .lx-prose h3 + * { margin-top: .6em; }
.lx-prose h2 + h3 { margin-top: 1.2em; }
.lx-prose h2, .lx-prose h3 { scroll-margin-top: calc(var(--lx-nav-h) + 24px); }
.lx-prose strong { font-weight: 600; }
.lx-prose a { color: var(--lx-link-light); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; overflow-wrap: anywhere; }
.lx-prose a:hover { text-decoration-thickness: 2px; }
.lx-prose ul { margin-bottom: 0; padding-left: 1.25em; list-style: disc; }
.lx-prose li + li { margin-top: .4em; }
.lx-prose li::marker { color: var(--lx-paper-ink-2); }
.lx-prose u { text-underline-offset: 3px; }
/* Lettered sub-clauses: a) b) c) */
.lx-prose .lx-clause-sub { padding-left: 1.5em; }
.lx-prose p + .lx-clause-sub, .lx-prose .lx-clause-sub + .lx-clause-sub { margin-top: .5em; }

/* ---------- Closing help band ---------- */

.lx-legal-help .lx-lede { margin-top: 10px; }
