/* kst.ltd policy pages: the button, and the page printed or saved as a PDF.
   Shared by safeguarding-policy, privacy-policy, complaints-procedure, terms-of-use and
   cookie-policy (the KST Policy Page template). The page is the document: what prints is always
   the version in force. Nothing here changes a word of a policy, only how it sits on paper.
   The screen rule makes the "Download or print" button look as the old download link did;
   its click is handled by kst-print.js. */

button.kst-policy__download {
  border: 0;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  line-height: inherit;
}

@page {
  size: A4;
  margin: 16mm 16mm 18mm;
}

@media print {
  html, body, .kst-site {
    background: #fff !important;
    overflow: visible !important;
  }
  body { margin: 0 !important; }

  /* Site furniture: on screen only. */
  .kst-scroll-progress, .kst-progress, .kst-nav, .kst-nav__mobile, .kst-mobile-pb, .kst-mobile-wt,
  .kst-page-hero__bg, .kst-trust, .kst-footer, .kst-policy__download, .kst-policy__top-link,
  #kst-consent, #kst-consent-prefs, [data-kst-print] {
    display: none !important;
  }

  /* Everything that fades in on screen is simply there on paper. */
  .kst-reveal, .kst-page-hero__eyebrow, .kst-page-hero__heading, .kst-page-hero__sub {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  /* The title block. */
  .kst-page-hero {
    background: none !important;
    padding: 0 0 5mm !important;
    margin: 0 0 6mm !important;
    border-bottom: 0.75pt solid #C7A33C;
    overflow: visible !important;
  }
  .kst-page-hero::before {
    content: "Kensington Square Therapy";
    display: block;
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 7.5pt;
    font-weight: 600;
    letter-spacing: 0.24em;
    text-transform: uppercase;
    color: #876418;
    margin: 0 0 6mm;
  }
  .kst-page-hero__inner { max-width: none !important; }
  .kst-page-hero__eyebrow { display: none !important; }
  .kst-page-hero__heading {
    color: #1F2D4B !important;
    font-size: 24pt !important;
    line-height: 1.12 !important;
    margin: 0 0 3mm !important;
  }
  .kst-page-hero__heading em { color: #876418 !important; }
  .kst-page-hero__sub {
    color: #4A5568 !important;
    font-size: 10.5pt !important;
    line-height: 1.5 !important;
    max-width: none !important;
  }

  .kst-section { padding: 0 !important; background: none !important; }
  .kst-inner--narrow { max-width: none !important; margin: 0 !important; }

  /* Version, owner, approval and review. */
  .kst-policy__meta {
    grid-template-columns: repeat(4, 1fr) !important;
    border: 0.5pt solid #cfd3da !important;
    margin: 0 0 4mm !important;
    break-inside: avoid;
  }
  .kst-policy__meta-cell {
    padding: 2.5mm 3.5mm !important;
    border-bottom: 0 !important;
    border-right: 0.5pt solid #cfd3da !important;
  }
  .kst-policy__meta-cell:last-child { border-right: 0 !important; }
  .kst-policy__meta-label { color: #876418 !important; font-size: 6.5pt !important; margin-bottom: 1mm !important; }
  .kst-policy__meta-value { font-size: 9.5pt !important; }
  .kst-policy__controlled {
    font-size: 8pt !important;
    margin: 0 0 6mm !important;
    padding: 0 0 4mm !important;
    border-bottom: 0.5pt solid #cfd3da !important;
  }

  /* Contents. */
  .kst-policy-toc {
    border: 0.5pt solid #cfd3da !important;
    margin: 0 0 7mm !important;
    break-inside: avoid;
  }
  .kst-policy-toc__item {
    padding: 1.4mm 3.5mm !important;
    border-bottom: 0.5pt solid #e3e6ea !important;
  }
  .kst-policy-toc__item:nth-child(odd) { border-right: 0.5pt solid #e3e6ea !important; }
  .kst-policy-toc__num { color: #876418 !important; font-size: 7pt !important; }
  .kst-policy-toc__label { font-size: 8.5pt !important; }

  .kst-policy__preface {
    background: none !important;
    border-left: 2pt solid #C7A33C !important;
    padding: 1mm 0 1mm 5mm !important;
    margin: 0 0 7mm !important;
  }
  .kst-policy__preface .kst-policy__preface-title { color: #876418 !important; font-size: 7pt !important; }

  /* The text. */
  /* The gold rule under each heading is drawn as a background on paper: Chrome lets a page break
     fall after a heading whose rule is a ::after box, which strands the heading at a page foot. */
  .kst-policy__body h2 {
    font-size: 14pt !important;
    padding: 6mm 0 3mm !important;
    margin: 0 0 3.5mm !important;
    background: linear-gradient(#C7A33C, #C7A33C) no-repeat left bottom / 32px 2px !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    break-after: avoid;
    page-break-after: avoid;
  }
  .kst-policy__body h2:first-child { padding-top: 0 !important; }
  .kst-policy__body h2::after { display: none !important; }
  /* A heading always travels with what follows it. */
  .kst-policy__body h2 + *, .kst-policy__body h3 + * { break-before: avoid; page-break-before: avoid; }
  .kst-policy__body h3 {
    font-size: 11pt !important;
    margin: 5mm 0 2mm !important;
    break-after: avoid;
    page-break-after: avoid;
  }
  .kst-policy__body p, .kst-policy__body li, .kst-policy__preface p {
    font-size: 9.5pt !important;
    line-height: 1.55 !important;
    color: #2b2f36 !important;
    orphans: 3;
    widows: 3;
  }
  .kst-policy__body p { margin: 0 0 2.5mm !important; }
  .kst-policy__body ol, .kst-policy__body ul { margin: 1.5mm 0 3mm !important; }
  .kst-policy__body ol li, .kst-policy__body ul li { margin-bottom: 1.2mm !important; }
  .kst-policy__body ol li::before { font-size: 9pt !important; }
  .kst-policy__body ul li::before {
    top: 0.62em !important;
    width: 4px !important;
    height: 4px !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .kst-policy__body a, .kst-policy__info-value a {
    color: #1F2D4B !important;
    text-decoration: underline !important;
  }

  /* Tables: the full width of the page, header repeated on each page, no row split. */
  .kst-policy__table-wrap {
    overflow: visible !important;
    border: 0.5pt solid #cfd3da !important;
    margin: 2.5mm 0 5mm !important;
  }
  .kst-policy__table, .kst-policy__table--risk, .kst-policy__table--version {
    min-width: 0 !important;
    width: 100% !important;
    font-size: 8.5pt !important;
  }
  .kst-policy__table thead { display: table-header-group; }
  .kst-policy__table thead th {
    background: #F3EEE4 !important;
    color: #1F2D4B !important;
    white-space: normal !important;
    font-size: 6.5pt !important;
    padding: 2mm 2.5mm !important;
    border-bottom: 0.75pt solid #1F2D4B !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .kst-policy__table tbody td {
    padding: 1.8mm 2.5mm !important;
    color: #2b2f36 !important;
    line-height: 1.45 !important;
    border-bottom: 0.5pt solid #e3e6ea !important;
  }
  .kst-policy__table tbody tr:nth-child(even) td { background: none !important; }
  .kst-policy__table tr { break-inside: avoid; page-break-inside: avoid; }
  .kst-risk--medium { color: #876418 !important; }

  /* Boxes with a navy heading: a light heading on paper. */
  .kst-policy__info-block, .kst-policy__maturity {
    background: none !important;
    border: 0.5pt solid #cfd3da !important;
    margin: 2.5mm 0 5mm !important;
  }
  .kst-policy__info-header, .kst-policy__maturity-header {
    background: #F3EEE4 !important;
    color: #1F2D4B !important;
    padding: 2mm 3.5mm !important;
    border-bottom: 0.75pt solid #1F2D4B;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .kst-policy__info-row, .kst-policy__maturity-row {
    padding: 1.8mm 3.5mm !important;
    font-size: 8.5pt !important;
    background: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  .kst-policy__info-label, .kst-policy__maturity-label { font-size: 8.5pt !important; }

  /* The emergency callout: kept distinct on paper without a block of ink. */
  .kst-policy__emergency {
    background: none !important;
    color: #1F2D4B !important;
    border: 0.75pt solid #1F2D4B !important;
    border-left: 3pt solid #C8473A !important;
    padding: 4mm 5mm !important;
    margin: 2.5mm 0 5mm !important;
    break-inside: avoid;
  }
  .kst-policy__body .kst-policy__emergency-title { color: #C8473A !important; font-size: 7pt !important; }
  .kst-policy__emergency p { color: #2b2f36 !important; font-size: 9pt !important; }
  .kst-policy__emergency strong { color: #1F2D4B !important; }

  /* The end of the document, and where the copy came from. */
  .kst-policy__end {
    display: block !important;
    margin-top: 8mm !important;
    padding-top: 3mm !important;
    border-top: 0.5pt solid #cfd3da !important;
  }
  .kst-policy__copyright { font-size: 8pt !important; color: #4A5568 !important; }
  body::after {
    content: attr(data-kst-printed);
    display: block;
    margin-top: 2mm;
    font-family: 'Raleway', Arial, sans-serif;
    font-size: 7.5pt;
    color: #6b7280;
  }
}
