/* Legal page template: content, table of contents and Elementor contact. */
/* Elementor typography is set on the widgets themselves, so it overrides
   the inherited page font. Keep legal copy in the theme's body family. */
.legal-page .elementor-widget-text-editor,
.legal-page .elementor-widget-text-editor *,
.legal-page .elementor-heading-title {
  font-family: var(--font-body) !important;
}
.legal-page .elementor-widget-text-editor {
  color: #616170;
}
.legal-page__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-block: 12px;
  font: 11px/1.5 var(--font-mono);
  color: var(--ink-mute);
}
.legal-page__breadcrumbs [aria-current] {
  color: var(--tone);
}
.legal-page__hero {
  padding-block: clamp(40px, 5vw, 68px);
  background: var(--page-tint);
  text-align: center;
}
.legal-page__eyebrow,
.legal-page__updated {
  font: 11px/1.5 var(--font-mono);
  text-transform: uppercase;
}
.legal-page__eyebrow {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  font-size: 12px;
  color: var(--tone);
}
.legal-page__eyebrow::before {
  content: "";
  width: 32px;
  height: 1px;
  background: currentColor;
}
.legal-page__hero h1 {
  margin: 20px 0;
  font-family: var(--font-display);
  font-size: clamp(32px, 4vw, 52px);
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.legal-page__updated {
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ink-mute);
  font-weight: 500;
}
.legal-page__updated time {
  padding-left: 0.5rem;
}
.legal-page__updated::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 8px;
  background: var(--tone);
}
.legal-page__layout {
  display: grid;
  grid-template-columns: minmax(0, 780px);
  justify-content: center;
  align-items: start;
  gap: clamp(32px, 6vw, 100px);
  padding-block: clamp(40px, 5vw, 64px) clamp(56px, 7vw, 96px);
}
.legal-page__layout.has-toc {
  grid-template-columns: minmax(0, 780px) minmax(240px, 420px);
}
.legal-page__content {
  min-width: 0;
  color: var(--ink-mute);
  font-size: 16px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.legal-page__content > :first-child {
  color: var(--ink);
}
.legal-page__content p {
  margin-block: 0 16px;
}
.legal-page .legal-page__content :is(h2, h3, h4) {
  margin: 36px 0 14px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.3;
}
.legal-page__content :is(ul, ol) {
  margin: 16px 0;
  padding-left: 20px;
}
.legal-page__content ul {
  list-style: square;
}
.legal-page__content ol {
  list-style: decimal;
}
.legal-page__content li {
  margin-block: 8px;
}
.legal-page__content li::marker {
  color: var(--tone);
}
.legal-page__content a {
  color: var(--tone);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.legal-page__content :is(h2, h3, h4) {
  scroll-margin-top: 130px;
}
.legal-page__sidebar {
  position: sticky;
  top: 110px;
  min-width: 0;
}
.legal-page__sidebar[hidden] {
  display: none;
}
.legal-page__toc {
  border: 1px solid var(--edge);
  padding: 28px;
  background: var(--page);
}
.legal-page__toc h2 {
  margin: 0 0 20px;
  font-size: 18px;
}
.legal-page__toc ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.legal-page__toc li + li {
  border-top: 1px solid var(--edge);
}
.legal-page__toc a {
  display: flex;
  align-items: center;
  padding: 10px 0;
  color: var(--ink-mute);
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.legal-page__toc a:hover,
.legal-page__toc a[aria-current] {
  color: var(--tone);
}
.legal-page__toc a[aria-current]::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 8px;
  background: currentColor;
}
.legal-page__toc a:focus-visible {
  outline: 2px solid var(--tone);
  outline-offset: 3px;
}
@media (max-width: 900px) {
  .legal-page__layout.has-toc {
    grid-template-columns: minmax(0, 1fr);
  }
  .legal-page__sidebar {
    position: static;
    grid-row: 1;
  }
}
@media (max-width: 600px) {
  .legal-page__content {
    font-size: 15px;
  }
}

/* This Elementor widget is authored in the content, displayed in the sidebar. */
body:not(.elementor-editor-active)
  .legal-page__content
  .elementor-widget-manu-legal-contact.is-contact-in-sidebar {
  display: none;
}
.legal-page__contact {
  color: var(--ink-mute);
  font-size: 13px;
  line-height: 1.5;
}
.legal-page__contact p {
  margin: 0;
  font-size: 14px;
}
.legal-page__toc .legal-page__contact {
  margin-top: 10px;
}
.legal-page__toc .legal-page__contact a,
.legal-page__contact a {
  display: inline;
  padding: 0;
  color: var(--tone);
  font-weight: 700;
}
