/*
 * CPQLTD v2.7.15.170 — universal A4 print stylesheet.
 * Public pages only. The browser print command (Ctrl/Cmd+P) renders a clean,
 * sequential A4 document without the website header, menus, footer or controls.
 */

@page {
  size: A4 portrait;
  margin: 14mm 14mm 16mm;
}

@media print {
  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    -webkit-print-color-adjust: economy;
    print-color-adjust: economy;
  }

  html { font-size: 10.5pt !important; }

  body {
    font-size: 10.5pt !important;
    line-height: 1.62 !important;
    overflow: visible !important;
  }

  body.locale-ar {
    direction: rtl !important;
    text-align: right !important;
    font-family: "Tajawal", "Arial", sans-serif !important;
    line-height: 1.78 !important;
  }

  body.locale-en-gb {
    direction: ltr !important;
    text-align: left !important;
    font-family: "Segoe UI", "Arial", sans-serif !important;
  }

  /* Website chrome and interactive-only elements never belong on paper. */
  .topbar,
  .site-header,
  .desktop-nav,
  .cpq-mobile-actions,
  .cpq-mobile-drawer,
  .cpq-mobile-drawer-overlay,
  .cpq-mobile-portal-buttons,
  .cpq-whatsapp-float,
  .skip-link,
  .footer,
  .cpq-campaign-sticky,
  .cpqb-sticky,
  .cpq-interest-modal,
  .cpq-interest-modal-backdrop,
  .home-lead-modal,
  .home-lead-modal-backdrop,
  .home-lead-capture-section,
  .home-hero-lead-panel,
  .cpq-static-hero-actions,
  .global-hero-actions,
  .guide-hero-actions,
  .cpqb-actions,
  .lp-center-actions,
  .lp-curriculum-cta,
  .lp-instructor-actions,
  .lp-value-actions,
  .program-card-actions,
  .cpq-class-actions,
  .cpq-course-dialog-actions,
  .cpq-about-contact-actions,
  .cpq-about-contact-cta,
  .article-cluster-cta,
  .article-cluster-actions,
  .article-cluster-related,
  .article-tags,
  .article-comments,
  .pagination,
  .pager,
  .search-form,
  .verify-v138-form,
  .verify-v138-actions,
  .contact-form,
  .contact-form-panel,
  .comment-form,
  .diploma-interest-form,
  .cpq-public-form,
  .cpq-compact-interest-form,
  .cpq-unified-lead-form,
  .cpq-lead-4-field-form,
  form,
  button,
  input,
  select,
  textarea,
  iframe,
  video,
  audio,
  nav,
  script,
  noscript {
    display: none !important;
  }

  /* Main printable canvas. */
  main#main-content {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    color: #111 !important;
    overflow: visible !important;
  }

  .container,
  .container.narrow,
  main#main-content .container,
  main#main-content .narrow,
  main#main-content [class*="container"] {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  /* Print top-to-bottom: responsive grids become a readable single flow. */
  main#main-content [class*="grid"],
  main#main-content [class*="columns"],
  main#main-content [class*="layout"] {
    display: block !important;
    grid-template-columns: 1fr !important;
    columns: 1 !important;
    column-count: 1 !important;
  }

  main#main-content [class*="grid"] > *,
  main#main-content [class*="columns"] > *,
  main#main-content [class*="layout"] > * {
    width: 100% !important;
    max-width: none !important;
    margin-inline: 0 !important;
    margin-bottom: 5mm !important;
  }

  /* Decorative web treatments are flattened for paper and ink efficiency. */
  main#main-content [class*="hero"],
  main#main-content [class*="banner"],
  main#main-content [class*="cta"],
  main#main-content [class*="card"],
  main#main-content [class*="panel"],
  main#main-content section,
  main#main-content article {
    background-color: #fff !important;
    background-image: none !important;
    color: #111 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
  }

  main#main-content [class*="hero"]::before,
  main#main-content [class*="hero"]::after,
  main#main-content [class*="banner"]::before,
  main#main-content [class*="banner"]::after,
  main#main-content [class*="card"]::before,
  main#main-content [class*="card"]::after {
    display: none !important;
    content: none !important;
  }

  /* Page/article heading becomes a compact paper heading. */
  .article-header,
  .global-hero,
  .page-hero,
  .cpq-static-hero,
  .cpq-inst-hero,
  .cpq-inst-doc-head,
  .cpq-org-public-hero,
  .founder-profile-hero {
    min-height: 0 !important;
    margin: 0 0 7mm !important;
    padding: 0 0 5mm !important;
    border: 0 !important;
    border-bottom: .35mm solid #c9ced6 !important;
    background: #fff !important;
    color: #111 !important;
  }

  .article-header p,
  .article-header span,
  .article-header time,
  main#main-content [class*="hero"] p,
  main#main-content [class*="hero"] span,
  main#main-content [class*="hero"] small {
    color: #333 !important;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    color: #111 !important;
    background: transparent !important;
    text-shadow: none !important;
    break-after: avoid-page;
    page-break-after: avoid;
  }

  h1 {
    margin-top: 0 !important;
    margin-bottom: 4mm !important;
    font-size: 22pt !important;
    line-height: 1.28 !important;
  }

  h2 {
    margin-top: 7mm !important;
    margin-bottom: 3mm !important;
    font-size: 16pt !important;
    line-height: 1.35 !important;
  }

  h3 {
    margin-top: 5mm !important;
    margin-bottom: 2.5mm !important;
    font-size: 13pt !important;
    line-height: 1.4 !important;
  }

  p,
  li,
  dd,
  dt,
  blockquote {
    color: #111 !important;
    orphans: 3;
    widows: 3;
  }

  p { margin-top: 0 !important; margin-bottom: 3.4mm !important; }

  .prose,
  .article .prose,
  .cpq-inst-doc-body,
  .lp-full-content-body {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111 !important;
    font-size: 11pt !important;
    line-height: 1.72 !important;
  }

  body.locale-ar .prose,
  body.locale-ar .article .prose,
  body.locale-ar .cpq-inst-doc-body,
  body.locale-ar .lp-full-content-body {
    line-height: 1.85 !important;
  }

  /* Images stay inside A4 and never crop. */
  img,
  svg,
  canvas,
  figure {
    max-width: 100% !important;
    height: auto !important;
  }

  figure,
  .article-cover,
  .founder-profile-media,
  .cpqb-video-placeholder,
  .lp-video-placeholder {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  .article-cover {
    width: 100% !important;
    margin: 0 0 7mm !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .article-cover img,
  .founder-profile-media img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 92mm !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    border-radius: 0 !important;
  }

  /* Tables repeat their header and fit the printable width. */
  table {
    width: 100% !important;
    max-width: 100% !important;
    margin: 4mm 0 6mm !important;
    border-collapse: collapse !important;
    table-layout: auto !important;
    font-size: 9.2pt !important;
    break-inside: auto !important;
  }

  thead { display: table-header-group !important; }
  tfoot { display: table-footer-group !important; }

  tr,
  th,
  td {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  th,
  td {
    padding: 2.2mm 2.4mm !important;
    border: .25mm solid #aeb6c2 !important;
    background: #fff !important;
    color: #111 !important;
    vertical-align: top !important;
    overflow-wrap: anywhere !important;
  }

  /* Lists and quotations stay readable. */
  ul,
  ol {
    margin-top: 2mm !important;
    margin-bottom: 4mm !important;
    padding-inline-start: 7mm !important;
  }

  blockquote {
    margin: 5mm 0 !important;
    padding: 3mm 5mm !important;
    border-inline-start: 1mm solid #666 !important;
    background: #f6f6f6 !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  pre,
  code {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
  }

  pre {
    padding: 3mm !important;
    border: .25mm solid #c7ccd3 !important;
    background: #fafafa !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  /* Print the full contents of collapsed informational accordions. */
  details,
  details:not([open]),
  details:not([open]) > :not(summary) {
    display: block !important;
    height: auto !important;
    overflow: visible !important;
  }

  details {
    margin: 0 0 4mm !important;
    padding: 0 !important;
    border: 0 !important;
    background: #fff !important;
  }

  details summary {
    display: block !important;
    margin: 0 0 2mm !important;
    padding: 0 !important;
    color: #111 !important;
    font-weight: 700 !important;
    cursor: default !important;
  }

  details summary::marker,
  details summary::-webkit-details-marker,
  details summary::after {
    display: none !important;
    content: none !important;
  }

  /* Links print as readable text, without injecting long URLs after them. */
  a,
  a:visited {
    color: #111 !important;
    text-decoration: underline !important;
  }

  a[href]::after { content: none !important; }

  /* No clipped web-only fixed heights / scroll containers on paper. */
  main#main-content [style*="overflow"],
  main#main-content [class*="scroll"],
  main#main-content [class*="carousel"],
  main#main-content [class*="slider"] {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
  }

  main#main-content [class*="sticky"],
  main#main-content [class*="floating"] {
    position: static !important;
    inset: auto !important;
    transform: none !important;
  }

  /* Sensible page breaking without forcing giant cards onto a new sheet. */
  figure,
  blockquote,
  pre,
  .article-faq-list details,
  .reader-comment,
  .cpq-inst-card {
    break-inside: avoid-page;
    page-break-inside: avoid;
  }

  section,
  article,
  .prose,
  .lp-full-content-body {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  [hidden] { display: none !important; }
}
