/*!
 * Legal Body — Privacy Policy, Terms & Conditions and Disclaimer: the contents
 * card, "Last updated", intro and sections.
 *
 * No Figma frame: built from the page UI kit (Interpretation).
 *
 * Split from design/legal.css, which stays the source of truth. Mobile first;
 * desktop values are the frame's, as --monal-u units (1u == 1 Figma px / 10).
 */

/* ==========================================================================
   Monal Group — legal pages body (Privacy Policy, Terms & Conditions,
   Disclaimer). Split into widgets/monal-legal-body/ by
   design/_split-legal-css.php (re-run it after any change here).

   No Figma frame: built from the page UI kit, every choice an
   Interpretation (figma-ui-ux-context.md, "Legal pages content"). The hero
   above is the page's own monal-contact-hero and is not touched.
   Mobile first; desktop lengths in --monal-u.
   ========================================================================== */

/* The standard section rhythm: the shared page gap above, the footer gap
   below (as Latest News / Careers close their pages). */
.monal-legal-body { position: relative; padding: var(--monal-page-gap) 0 calc(var(--monal-page-gap) + var(--monal-u) * 2); }

.monal-legal__grid { display: flex; flex-direction: column; gap: calc(var(--monal-u) * 3.2); }

.monal-legal__main { min-width: 0; width: 100%; max-width: max(calc(var(--monal-u) * 76), 680px); }


/* --- contents: the Leadership peach card (rgba(237,120,44,.1), leaf radii) */
.monal-legal__toc {
  padding: calc(var(--monal-u) * 2.4);
  background: rgba(237, 120, 44, .1);
  border-radius: calc(var(--monal-u) * 2) 0 calc(var(--monal-u) * 2) 0;
}

.monal-legal__toc-title {
  margin: 0; font-weight: 500; font-size: max(calc(var(--monal-u) * 1.3), 12px); line-height: 1.4;
  text-transform: uppercase; letter-spacing: .04em; color: var(--monal-c-ink);
}

.monal-legal__toc-list { margin: calc(var(--monal-u) * 1.2) 0 0; padding-left: 1.5em; list-style: decimal; }

.monal-legal__toc-list li { font-size: max(calc(var(--monal-u) * 1.5), 14px); line-height: 1.4; color: var(--monal-c-muted); }

.monal-legal__toc-list li + li { margin-top: calc(var(--monal-u) * .4); }

.monal-legal__toc-list li::marker { color: var(--monal-c-orange); }

.monal-legal__toc-list a {
  /* Block, so the list number sits on the first line of a wrapped title. */
  display: block; padding: 3px 0; min-height: 24px;
  color: var(--monal-c-ink); text-decoration: none;
  text-decoration-color: var(--monal-c-orange); text-underline-offset: .18em;
}

.monal-legal__toc-list a:hover { text-decoration: underline; }

/* The current section: a heavier underline only. Bold would re-wrap a long
   title and, on phones (contents above the text), shift the page under an
   anchor jump. */
.monal-legal__toc-list a[aria-current="true"] { text-decoration: underline; text-decoration-thickness: 2px; }

.monal-legal__toc-list a:focus-visible { outline: 2px solid var(--monal-c-orange); outline-offset: 2px; border-radius: 2px; }


/* --- the column ------------------------------------------------------------ */
.monal-legal__updated { margin: 0; font-size: max(calc(var(--monal-u) * 1.4), 14px); line-height: 1.5; color: var(--monal-c-muted); }

.monal-legal__intro { margin-top: calc(var(--monal-u) * 1.6); }

.monal-legal__intro p + p { margin-top: 1em; }

.monal-legal__section + .monal-legal__section,
.monal-legal__intro + .monal-legal__section,
.monal-legal__updated + .monal-legal__section { margin-top: calc(var(--monal-u) * 4); }


/* H2: two classes, past .monal-page .monal-h2's (0,2,0) line-height rule.
   scroll-margin-top keeps a heading clear of the fixed header (it ends at
   7.9u on phones, 12.5u on desktop) when the contents link to it. */
.monal-legal-body .monal-legal__h {
  margin: 0; font-weight: 500; font-size: max(calc(var(--monal-u) * 2.4), 22px); line-height: 1.2;
  letter-spacing: -.02em; color: var(--monal-c-ink);
  scroll-margin-top: 100px;
}

.monal-legal__text {
  margin-top: calc(var(--monal-u) * 1.2);
  font-size: max(calc(var(--monal-u) * 1.6), 16px); line-height: 1.7; color: var(--monal-c-muted);
  overflow-wrap: anywhere;
}

.monal-legal__text > * { margin-block: 0; }

.monal-legal__text > * + * { margin-top: 1em; }

.monal-legal__text h3 { margin-top: 1.6em; font-weight: 500; font-size: 1.12em; line-height: 1.3; color: var(--monal-c-ink); }

.monal-legal__text h3 + * { margin-top: .5em; }

.monal-legal__text :is(strong, b) { font-weight: 600; color: var(--monal-c-ink); }

.monal-legal__text :is(ul, ol) { padding-left: 1.4em; }

.monal-legal__text ul { list-style: disc; }

.monal-legal__text ol { list-style: decimal; }

.monal-legal__text :is(ul, ol) :is(ul, ol) { margin-top: .4em; }

.monal-legal__text ul ul { list-style: circle; }

.monal-legal__text li + li { margin-top: .4em; }

.monal-legal__text li::marker { color: var(--monal-c-orange); }

/* Links: ink with an orange underline (orange text alone is too light on
   white), heavier on hover, the shared orange focus ring. */
.monal-legal__text a,
.monal-legal__intro a {
  color: var(--monal-c-ink); font-weight: 500;
  text-decoration: underline; text-decoration-color: var(--monal-c-orange);
  text-decoration-thickness: 1px; text-underline-offset: .18em;
}

.monal-legal__text a:hover,
.monal-legal__intro a:hover { text-decoration-thickness: 2px; }

.monal-legal__text a:focus-visible,
.monal-legal__intro a:focus-visible { outline: 2px solid var(--monal-c-orange); outline-offset: 2px; border-radius: 2px; }

.monal-legal__text blockquote {
  position: relative; margin-inline: 0; padding-left: calc(var(--monal-u) * 2.4);
}

.monal-legal__text blockquote::before {
  content: ""; position: absolute; left: 0; top: .2em; bottom: .2em;
  width: max(calc(var(--monal-u) * .5), 3px); background: var(--monal-c-orange);
}

/* Tables scroll sideways inside the column, never the page. */
.monal-legal__text table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .92em; line-height: 1.5; -webkit-overflow-scrolling: touch; }

.monal-legal__text :is(th, td) { padding: .6em .8em; border: 1px solid #d9d9d9; text-align: left; vertical-align: top; overflow-wrap: normal; min-width: 8em; }

.monal-legal__text th { font-weight: 600; color: var(--monal-c-ink); background: #f5f5f5; }


/* Unresolved facts: impossible to miss, easy to search for. The kit's
   orange, tinted, with a dashed orange outline. */
.monal-legal-body mark.monal-legal__confirm {
  padding: .05em .3em; border-radius: 3px;
  background: rgba(237, 120, 44, .18); color: var(--monal-c-ink);
  outline: 1px dashed var(--monal-c-orange); outline-offset: 0;
  font-weight: 600; font-size: .92em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}

@media (min-width: 1200px) {
  
    /* Opens 103 below the hero's band, as the Contact form does (10.33u). */
    .monal-legal-body { padding: calc(var(--monal-u) * 10) 0 calc(var(--monal-u) * 12.6); }
  
    /* Contents beside the column, left-aligned in the 1544 container. */
    .monal-legal-body--toc .monal-legal__grid {
      display: grid; align-items: start; justify-content: start;
      grid-template-columns: calc(var(--monal-u) * 36) minmax(0, max(calc(var(--monal-u) * 76), 680px));
      gap: calc(var(--monal-u) * 10);
    }
  
    .monal-legal__grid { gap: calc(var(--monal-u) * 4); }
  
    .monal-legal__toc {
      position: sticky; top: calc(var(--monal-u) * 15);
      max-height: calc(100vh - var(--monal-u) * 18); overflow-y: auto;
      padding: calc(var(--monal-u) * 3.2) calc(var(--monal-u) * 3.2) calc(var(--monal-u) * 3.2) calc(var(--monal-u) * 3.6);
      border-radius: calc(var(--monal-u) * 3.5) 0 calc(var(--monal-u) * 3.5) 0;
    }
  
    .monal-legal__toc-title { font-size: max(calc(var(--monal-u) * 1.6), 12px); }
  
    .monal-legal__toc-list { margin-top: calc(var(--monal-u) * 1.8); }
  
    .monal-legal__toc-list li { font-size: max(calc(var(--monal-u) * 1.8), 14px); }
  
    .monal-legal__toc-list li + li { margin-top: calc(var(--monal-u) * .6); }
  
    .monal-legal__updated { font-size: max(calc(var(--monal-u) * 1.8), 14px); }
  
    .monal-legal__section + .monal-legal__section,
    .monal-legal__intro + .monal-legal__section,
    .monal-legal__updated + .monal-legal__section { margin-top: calc(var(--monal-u) * 6); }
  
    .monal-legal-body .monal-legal__h { font-size: max(calc(var(--monal-u) * 3.6), 24px); scroll-margin-top: calc(var(--monal-u) * 15); }
  
    .monal-legal__text { margin-top: calc(var(--monal-u) * 2); font-size: max(calc(var(--monal-u) * 2), 16px); }
}

