body.cb-legal { min-height: 100dvh; }
.cb-legal .legal-header { position: sticky; z-index: 3; top: 0; background: color-mix(in srgb, var(--cb-bg) 94%, transparent); backdrop-filter: blur(14px); }
.cb-legal .legal-header a { color: inherit; text-decoration: none; }
.cb-legal .legal-header > a:last-child { color: var(--cb-muted); font-size: 13px; }
.cb-legal .legal-shell { width: min(860px, calc(100% - 40px)); margin: 56px auto 72px; }
.cb-legal .legal-hero { margin-bottom: 32px; }
.cb-legal .legal-hero h1 { max-width: 720px; font-size: clamp(34px, 7vw, 58px); letter-spacing: -.055em; }
.cb-legal .legal-hero > p:last-child { max-width: 680px; font-size: 16px; line-height: 1.7; }
.cb-legal .legal-card { border: 1px solid var(--cb-line); border-radius: var(--cb-radius-panel); padding: clamp(22px, 4vw, 36px); background: var(--cb-surface); box-shadow: var(--cb-shadow-panel); }
.cb-legal .legal-card + .legal-card { margin-top: 14px; }
.cb-legal .legal-card h2 { margin: 0 0 14px; font-size: 21px; letter-spacing: -.025em; }
.cb-legal .legal-card h3 { margin: 24px 0 8px; color: var(--cb-text); font-size: 15px; }
.cb-legal .legal-card p, .cb-legal .legal-card li, .cb-legal .legal-card address { color: var(--cb-muted); line-height: 1.7; }
.cb-legal .legal-card p { margin: 10px 0; }
.cb-legal .legal-card address { font-style: normal; }
.cb-legal .legal-card ul { margin: 10px 0; padding-left: 20px; }
.cb-legal .legal-card li + li { margin-top: 6px; }
.cb-legal .legal-facts { display: grid; grid-template-columns: minmax(150px, .45fr) 1fr; gap: 0; margin: 18px 0 0; border-top: 1px solid var(--cb-line); }
.cb-legal .legal-facts dt, .cb-legal .legal-facts dd { margin: 0; border-bottom: 1px solid var(--cb-line-soft); padding: 11px 0; overflow-wrap: anywhere; }
.cb-legal .legal-facts dt { padding-right: 20px; color: var(--cb-subtle); font-size: 13px; font-weight: 650; }
.cb-legal .legal-facts dd { color: var(--cb-muted); }
.cb-legal .legal-callout { border-left: 3px solid var(--cb-brand); background: var(--cb-brand-soft); }
.cb-legal .legal-callout strong { color: var(--cb-text); }
.cb-legal .cookie-table { width: 100%; margin-top: 16px; border-collapse: collapse; font-size: 13px; }
.cb-legal .cookie-table th, .cb-legal .cookie-table td { border-bottom: 1px solid var(--cb-line-soft); padding: 12px 10px; text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.cb-legal .cookie-table th { color: var(--cb-subtle); font-size: 11px; }
.cb-legal .cookie-table td { color: var(--cb-muted); }
.cb-legal code { color: var(--cb-brand); font: 12px ui-monospace, SFMono-Regular, Consolas, monospace; }
.cb-legal .legal-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; margin-top: 28px; border-top: 1px solid var(--cb-line); padding-top: 18px; color: var(--cb-muted); font-size: 13px; }
.cb-legal .legal-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
@media (max-width: 620px) {
  .cb-legal .legal-header { position: static; }
  .cb-legal .legal-shell { margin-top: 34px; }
  .cb-legal .legal-card { padding: 20px; }
  .cb-legal .legal-facts { grid-template-columns: 1fr; }
  .cb-legal .legal-facts dt { border-bottom: 0; padding-bottom: 0; }
  .cb-legal .cookie-table, .cb-legal .cookie-table tbody, .cb-legal .cookie-table tr, .cb-legal .cookie-table th, .cb-legal .cookie-table td { display: block; }
  .cb-legal .cookie-table thead { display: none; }
  .cb-legal .cookie-table tr { border-bottom: 1px solid var(--cb-line); padding: 10px 0; }
  .cb-legal .cookie-table td { border: 0; padding: 4px 0; }
  .cb-legal .cookie-table td:first-child { color: var(--cb-text); font-weight: 650; }
}
.legal-language { max-width:960px; margin:0 auto; padding:0 1.25rem; display:flex; justify-content:flex-end; gap:.2rem; }
.legal-language a { padding:.4rem .65rem; border-radius:var(--cb-radius-control); color:var(--cb-muted); text-decoration:none; font-weight:700; }
.legal-language a:hover, .legal-language a:focus-visible { color:var(--cb-brand); }
.legal-language a[aria-current="page"] { background:var(--cb-brand); color:var(--cb-brand-ink); }
.legal-language a[aria-current="page"]:hover, .legal-language a[aria-current="page"]:focus-visible { color:var(--cb-brand-ink); }
