@page {
  margin: 10mm;
}

@media print {
  html,
  body {
    background: #fff !important;
    color: #000 !important;
    font-size: 10.5pt;
    line-height: 1.3;
    margin: 0 !important;
    padding: 0 !important;
  }

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    animation: none !important;
    transition: none !important;
  }

  a,
  a:visited {
    color: #000 !important;
    text-decoration: underline !important;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    margin: 0 0 2mm !important;
    page-break-after: avoid;
    break-after: avoid;
  }

  p,
  li,
  blockquote {
    margin: 0 0 2mm !important;
  }

  section,
  article,
  .container,
  main {
    margin: 0 0 4mm !important;
    padding: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Hide interactive and decorative UI */
  .btn,
  .print-hidden,
  .no-print,
  #mobile-menu,
  [x-cloak],
  [x-show],
  .splide__arrows,
  .splide__pagination,
  .courses-cards-controls,
  .swiper-button-next,
  .swiper-button-prev,
  .page-hero-title-art,
  .page-hero-media-shape,
  .feature-image-text__shape,
  .testimonial-slide__quote-mark,
  .testimonial-slide__media-shape,
  .testimonial-slide__nav,
  .testimonial-slide__video-overlay,
  .testimonial-slide__video-controls,
  .js-text-video-overlay,
  .js-testimonial-video-overlay,
  .js-testimonial-video-controls,
  iframe,
  .leaflet-container,
  .mapboxgl-map,
  .tobii {
    display: none !important;
  }

  /* Hide heavy media to reduce page count */
  picture,
  figure,
  video,
  .page-hero-media-layer,
  .testimonial-slide__media,
  .feature-image-text,
  .people-block,
  .cards-media,
  .image-gallery,
  .gallery,
  .splide,
  .splide__track,
  .splide__list,
  .splide__slide {
    display: none !important;
  }

  img,
  svg {
    display: none !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Keep compact branded header */
  #header {
    display: block !important;
    position: static !important;
    background: #fff !important;
    box-shadow: none !important;
    margin: 0 0 4mm !important;
    padding: 0 !important;
    border-bottom: 1px solid #ddd !important;
  }

  #header .container {
    padding: 0 !important;
    margin: 0 !important;
  }

  #header .header-print-logo-wrap {
    display: flex !important;
    align-items: center !important;
    padding: 0 !important;
  }

  #header .header-print-logo-wrap img {
    display: block !important;
    width: auto !important;
    max-height: 14mm !important;
  }

  #header .print\:hidden,
  #header .hidden,
  #header [class*="dropdown"],
  #header .nav-item,
  #header button,
  #header .btn {
    display: none !important;
  }

  /* Keep only printable footer block */
  footer {
    display: block !important;
    background: #fff !important;
    color: #000 !important;
    box-shadow: none !important;
    margin: 6mm 0 0 !important;
    padding: 0 !important;
    border-top: 1px solid #ddd !important;
  }

  footer .footer-main-grid,
  footer .footer-legal-row,
  footer .print\:hidden {
    display: none !important;
  }

  footer .footer-print {
    display: block !important;
    margin-top: 3mm !important;
    font-size: 9.5pt;
    line-height: 1.3;
  }

  footer .footer-print__top {
    display: flex !important;
    justify-content: space-between;
    gap: 6mm;
    margin-bottom: 2mm;
  }

  footer .footer-print__logo img {
    display: block !important;
    width: auto !important;
    max-height: 12mm !important;
  }

  footer .footer-print__contact p {
    margin: 0 0 1mm !important;
  }

  footer .footer-print__links {
    display: flex !important;
    flex-wrap: wrap;
    gap: 1.5mm 4mm;
    margin: 2mm 0;
  }

  footer .footer-print__copyright {
    margin-top: 2mm;
  }

  /* Keep hidden accordion content visible in print */
  .accordion-block__body,
  .faq-answer,
  [role="tabpanel"] {
    display: block !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 0 0 3mm !important;
  }

  th,
  td {
    border: 1px solid #999 !important;
    color: #000 !important;
    background: #fff !important;
    padding: 1.5mm !important;
  }
}
