.legal-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-6);
  margin-top: var(--space-8);
  padding-top: var(--space-6);
  border-top: var(--border-subtle);
  font-size: var(--font-size-small);
}

.legal-nav a,
.legal-page a,
.cookie-notice a {
  color: var(--color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.22em;
}

.legal-nav a { min-height: var(--tap-target-min); display: inline-flex; align-items: center; }

.cookie-notice {
  position: fixed;
  z-index: 1000;
  top: 6.625rem;
  right: max(1.25rem, calc((100% - var(--layout-max)) / 2));
  display: grid;
  width: min(26.875rem, calc(100% - 2.5rem));
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 0.875rem;
  border: 1px solid color-mix(in srgb, var(--color-ink) 22%, transparent);
  border-top: 2px solid var(--color-accent);
  background: var(--color-surface-elevated);
  box-shadow: 0 1.125rem 3rem rgb(8 31 43 / 18%);
}

.cookie-notice[hidden] { display: none; }
.cookie-banner__copy { grid-column: 1 / -1; padding-top: 1.75rem; }
.cookie-banner__copy strong { display: block; font-family: var(--font-display); font-size: 1.125rem; font-weight: 550; }
.cookie-banner__copy p { margin-top: var(--space-2); color: var(--color-ink-muted); font-size: 0.78125rem; line-height: 1.4; }
.cookie-banner__actions { display: grid; grid-column: 1 / -1; gap: var(--space-2); min-width: 0; }
.cookie-banner__actions[hidden] { display: none; }
.cookie-dismiss,
.cookie-primary {
  min-height: var(--tap-target-min);
  padding: 0.5rem 0.6875rem;
  border-radius: 0;
  cursor: pointer;
  font: 650 var(--font-size-small)/1.2 var(--font-body);
}
.cookie-dismiss { position: absolute; top: 0.1875rem; right: 0.3125rem; display: inline-flex; align-items: center; gap: 0.3125rem; border: 0; color: var(--color-ink-muted); background: transparent; font-weight: 400; font-size: 0.6875rem; }
.cookie-dismiss span { font-size: 0.75rem; line-height: 1; }
.cookie-primary { width: 100%; min-height: 3rem; border: 1px solid var(--color-accent); color: var(--color-on-accent); background: var(--color-accent); font-size: 0.9375rem; }

.legal-header { border-bottom: var(--border-subtle); }
.legal-header .header-inner { min-height: 4.5rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-8); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.breadcrumbs a { color: var(--color-accent); }
.legal-page { width: min(52rem, calc(100% - 2 * var(--layout-gutter))); margin-inline: auto; padding-block: clamp(var(--space-12), 8vw, var(--space-24)); }
.legal-page h1 { max-width: 18ch; font-family: var(--font-display); font-size: var(--font-size-h1); font-weight: 450; letter-spacing: var(--tracking-heading); line-height: 1.04; }
.legal-page .edition { margin-bottom: var(--space-4); color: var(--color-ink-muted); font-size: var(--font-size-small); }
.legal-page .legal-lead { margin-top: var(--space-8); font-size: var(--font-size-lead); line-height: var(--line-height-lead); }
.legal-page section { padding-top: var(--space-12); }
.legal-page h2 { font-family: var(--font-display); font-size: var(--font-size-h3); font-weight: 550; line-height: var(--line-height-h3); }
.legal-page p,
.legal-page ul { margin: var(--space-4) 0 0; }
.legal-page ul { padding-left: 1.25rem; }
.legal-page li + li { margin-top: var(--space-2); }
.legal-page code { padding: 0.1em 0.3em; background: #e7e5df; font-size: 0.9em; }
.legal-note { margin-top: var(--space-12); padding: var(--space-6); border-left: 2px solid var(--color-accent); background: var(--color-surface); }

@media (max-width: 760px) {
  .legal-nav { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; }
  .legal-nav a { width: 100%; }
  .cookie-notice { top: auto; right: max(0.75rem, env(safe-area-inset-right, 0px)); bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px)); left: max(0.75rem, env(safe-area-inset-left, 0px)); width: auto; max-height: calc(100dvh - 1.5rem - env(safe-area-inset-bottom, 0px)); grid-template-columns: minmax(0, 1fr); gap: 0.625rem; padding: 0.75rem; overflow-y: auto; overscroll-behavior: contain; }
  .cookie-banner__copy { grid-row: 2; padding-top: 0; }
  .cookie-banner__actions { grid-row: 3; min-width: 0; }
  .cookie-dismiss { position: static; grid-row: 1; justify-self: end; min-height: var(--tap-target-min); margin: -0.3125rem -0.1875rem -0.3125rem 0; }
  .cookie-primary { width: 100%; }
  .legal-page h1 { max-width: 100%; }
}
