/* Body styling for a partner CMS page (privacy policy, and anything added
   later). The header, the footer and the page's base typography come from the
   partner's own design stylesheet, which is loaded alongside this; all that is
   needed here is a readable article column inside the design's container width.

   Deliberately narrow in scope: no colours, fonts or link styles of its own, so
   each partner's design keeps deciding how the page looks. */

/* CENTRING ONLY. Filling the window and dropping the footer to the bottom is
   STRUCTURAL and lives in `foundation/layout.css` › Page frame, where every
   short page gets it with no per-page opt-in. What stays here is the 404's own
   ask: given that slack exists, put the message in the MIDDLE of it rather than
   hard under the hero.

   The article column has to take the slack for that to mean anything, hence
   `flex: 1 0 auto`. `width: 100%` is load-bearing: `margin: 0 auto` on a flex
   item cancels the default `align-items: stretch`, and without it the column
   shrinks to its longest line (measured: 391px) and drifts off the page grid. */
.partner-page--fill .partner-content {
  flex: 1 0 auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.partner-content {
  max-width: 1140px;
  margin: 0 auto;
  /* Side padding is `--space-4`, the same knob the page-title band and the FAQ
     list sit on, so the article text lines up under the band's title instead of
     9px inside it. */
  padding: 2.5rem var(--space-4) 3rem;
}
.partner-content h1 {
  font-size: 2rem;
  margin: 0 0 1.5rem;
}
.partner-content h2 { font-size: 1.5rem; margin: 2rem 0 .75rem; }
.partner-content h3 { font-size: 1.2rem; margin: 1.5rem 0 .5rem; }
.partner-content h4 { font-size: 1.05rem; margin: 1.25rem 0 .5rem; }
.partner-content p,
.partner-content li { line-height: 1.6; }
.partner-content ul,
.partner-content ol { padding-left: 1.5rem; margin: 0 0 1rem; }
.partner-content li { margin-bottom: .35rem; }
.partner-content table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.5rem;
  /* Wide tables scroll rather than forcing the page sideways. */
  display: block;
  overflow-x: auto;
}
.partner-content td,
.partner-content th {
  border: 1px solid #ddd;
  padding: .5rem .75rem;
  text-align: left;
  vertical-align: top;
}
.partner-content a { text-decoration: underline; }
