/*
  The Privacy page's parts from master (MB-79): "Your personal information" (.site-privacy-statement, MB-52), "Your visits
  to this website" (.site-privacy-visits) and "Cookies on this site" (.site-privacy-cookies, MB-48), all from the C2
  content-end slot, plus the full cookie list when a page shows it straight in <main> (Studio tests).
  Loaded by those parts only (Html.RequireCss / PageAssets). They lay themselves out in the page's content column and use
  the page's own typography whatever the site's page CSS does, so a site needs no rule of its own:

  - Column. A site's <main> is either the starter's padded column (max-width plus side padding) or runs full width with
    each section keeping its own column (Boyd, AG). The parts can't see which, so they measure it: --_inset is how far the
    parent's content box sits in from the window edge on each side. More than 12px: the parent is already the page column,
    so the parts add nothing (--_padded is then very large and every max(0px, ... - --_padded) below comes out 0). Up to
    12px: the parent runs full width (a desktop scrollbar adds up to about 9px), so the parts pad themselves to the page
    column: the page gutter, or more on wide screens, centred like the site's own sections.
    The column width is --page-column if a site sets it, else --container-wide (Boyd), else --container-max (AG, master).
  - Text. Family, size, line height and colour come from the page (inherit); headings keep the site's own h2 and h3
    styles. Only the spacing is set here, because some sites reset heading and paragraph margins to 0; the gap under a
    heading is half its own size, so it scales with the site's heading sizes. The running text
    keeps to one reading column, --text-measure if a site sets it, else --container-text (as master's section intros).
    A site whose running text is larger than its body text sets --text-fs (Boyd: its Text section's size).
*/
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies, main > .site-cookie-list) {
  --_column: var(--page-column, var(--container-wide, var(--container-max, 70rem)));
  --_gutter: var(--page-gutter, 1rem);
  --_inset: calc((100vw - 100%) / 2);
  --_padded: clamp(0px, (var(--_inset) - 12px) * 1000, 100000px);
  box-sizing: border-box;
  width: auto;
  max-width: none;
  margin: var(--space-12, 48px) 0 0;   /* the same gap above the first part (after the page's own text) as between parts */
  padding-block: 0;
  padding-inline: max(0px, max(var(--_gutter), (100% - var(--_column)) / 2) - var(--_padded));
  font-size: var(--text-fs, inherit);
}
/* Running text keeps to one reading column; headings and paragraphs get their gaps back on sites that reset them. */
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies) > * { max-width: var(--text-measure, var(--container-text, 42rem)); }
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies) h2 { margin: 0 0 0.5em; }
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies) h3 { margin: var(--space-6, 24px) 0 0.5em; }
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies) p { margin: 0 0 var(--space-4, 16px); }
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies) > :last-child { margin-bottom: 0; }
/* The last part leaves the section space before what follows when the main runs full width (a padded main has its own). */
:is(.site-privacy-statement, .site-privacy-visits, .site-privacy-cookies):last-child,
.site-privacy-cookies { padding-bottom: max(0px, var(--section-space, 48px) - var(--_padded)); }
