/* Knightsbridge print treatment: preserve useful legal/editorial content and
   remove navigation, conversion UI and interactive-only chrome. */
@page { margin: 16mm 14mm 18mm; }

@media print {
  html, body { background: #fff !important; color: #111820 !important; }
  body { font: 11pt/1.55 Georgia, "Times New Roman", serif; }
  *, *::before, *::after { box-shadow: none !important; text-shadow: none !important; animation: none !important; transition: none !important; }

  .kbt-topbar,
  .kbt-site-header,
  .kbt-mobile-panel,
  .kbt-inner-banner,
  .kbt-article-lead__cue,
  .kbt-article-sidebar,
  .kbt-article-conversion,
  .kbt-side-cta,
  .kbt-article-outro,
  .kbt-related,
  .kbt-site-footer,
  .kbt-footer,
  .kbt-footer-cta,
  .kbt-blog-navigation,
  .kbt-pagination,
  .kbt-load-more,
  .skip-link,
  .comment-respond,
  #comments,
  [data-kbt-interactive],
  [class*="chat-widget"],
  [class*="live-chat"] { display: none !important; }


  /* Print is a static medium: reveal-polish state must never hide content that
     has not yet intersected the viewport. */
  html.kbt-motion-ready .kbt-polish-reveal {
    opacity: 1 !important;
    translate: none !important;
    transform: none !important;
  }
  html.kbt-motion-ready .kbt-inner-banner-shell.kbt-polish-reveal .kbt-inner-banner__image {
    transform: none !important;
  }

  /* The desktop contents list lives inside the print-hidden sidebar. Use the
     main-column copy for print while preserving `[hidden]` when there are no H2s. */
  .kbt-toc--mobile:not([hidden]) { display: block !important; }
  .kbt-toc[hidden] { display: none !important; }

  #wrapper,
  .kbt-site,
  .kbt-site-main,
  .kbt-single-post-main,
  .kbt-article-layout,
  .kbt-article-main,
  .kbt-article-content,
  .kbt-page-content,
  .kbt-shell { display: block !important; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }

  .kbt-article-intro,
  .kbt-article-facts,
  .kbt-article-author { break-inside: avoid; page-break-inside: avoid; }

  h1, h2, h3, h4 { color: #081725 !important; break-after: avoid; page-break-after: avoid; }
  h1 { font-size: 23pt; line-height: 1.15; }
  h2 { font-size: 16pt; margin-top: 18pt; }
  h3 { font-size: 13pt; margin-top: 14pt; }
  p, li { orphans: 3; widows: 3; }

  a { color: #111820 !important; text-decoration: underline; text-decoration-thickness: .5pt; }
  .kbt-article-content a[href^="http"]::after,
  .kbt-page-content a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 8.5pt; overflow-wrap: anywhere; }
  a[href^="#"]::after,
  a[href^="mailto:"]::after,
  a[href^="tel:"]::after { content: "" !important; }

  img, svg { max-width: 100% !important; height: auto !important; break-inside: avoid; page-break-inside: avoid; }
  table { width: 100% !important; border-collapse: collapse !important; break-inside: auto; }
  thead { display: table-header-group; }
  tr, figure, blockquote, pre { break-inside: avoid; page-break-inside: avoid; }
  th, td { border: 1px solid #aab2ba !important; padding: 5pt 6pt !important; color: #111820 !important; background: transparent !important; }

  .kbt-toc { border: 1px solid #c9cfd5 !important; background: #fff !important; break-inside: avoid; page-break-inside: avoid; }
  .kbt-auto-component { border: 1px solid #c9cfd5 !important; background: #fff !important; color: #111820 !important; break-inside: avoid; page-break-inside: avoid; }

  .kbt-article-main::after {
    content: "Printed from " attr(data-print-source);
    display: block;
    margin-top: 20pt;
    padding-top: 8pt;
    border-top: 1px solid #c9cfd5;
    color: #5b6570;
    font: 8.5pt/1.4 Arial, sans-serif;
  }
}
