/*!
 * Print stylesheet for the NPTI theme.
 * The rules focus on keeping the same layout hierarchy that is visible
 * in the browser for both the home page and the inner pages so the
 * printed output mirrors the on-screen experience.
 */
@media print {
  :root {
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  html,
  body {
    width: 100%;
    min-height: 100%;
    margin: 0;
    padding: 0;
    font-family: var(--fontFamily, "Lexend", Arial, sans-serif);
    font-size: 11pt;
    color: var(--black, #000);
    background: var(--bg-white, #fff) !important;
  }

  @page {
    margin: 12mm 10mm 12mm 10mm;
  }

  a,
  a:visited {
    color: inherit !important;
    text-decoration: none !important;
  }

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

  img,
  svg,
  picture {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
  }

  video {
    display: none !important;
  }

  header,
  .topbaar,
  .top-area,
  .navbar-area,
  .footer-area,
  .copy-right-area,
  .policy,
  .wrapper,
  main,
  .region,
  .views-element-container,
  .block,
  .paragraph,
  section,
  article {
    width: 100%;
    page-break-inside: avoid;
  }

  .container-fluid,
  .container,
  .customPadding {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .row {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100%;
  }

  .row > [class*="col-"] {
    float: none !important;
    display: block !important;
  }

  .preloader-container,
  #preloader,
  #backToTop,
  .btn-icon,
  .toggle-switch,
  #accessControl,
  .navbar-toggler,
  .menu-toggle,
  .search-toggle,
  .offcanvas,
  .modal,
  .modal-backdrop,
  .swiper-button-next,
  .swiper-button-prev,
  .swiper-pagination,
  .owl-nav,
  .owl-dots,
  .video-controls,
  .no-print {
    display: none !important;
  }

  .navbar,
  .navbar-collapse,
  .navbar-nav {
    display: flex !important;
    flex-wrap: wrap;
    width: 100%;
  }

  .navbar-nav > li,
  .navbar-nav > li > a {
    float: none !important;
    display: inline-flex;
    align-items: center;
    padding: 6px 12px;
  }

  /* Banner sliders: stack slides vertically so the full message prints. */
  .owl-carousel,
  .owl-carousel .owl-stage-outer,
  .owl-carousel .owl-stage,
  .owl-carousel .owl-item {
    display: block !important;
    width: 100% !important;
    min-height: auto !important;
    float: none !important;
    transform: none !important;
  }

  .owl-carousel .owl-stage-outer {
    overflow: visible !important;
  }

  .owl-carousel .item {
    page-break-inside: avoid;
  }

  .swiper,
  .swiper-wrapper,
  .swiper-slide {
    width: 100% !important;
    transform: none !important;
  }

  .swiper-wrapper {
    display: block !important;
  }

  .swiper-slide {
    display: block !important;
    page-break-inside: avoid;
  }

  /* Accordion/collapse components should stay expanded in print. */
  .collapse,
  .accordion-collapse,
  .tab-pane {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
  }

  .accordion-button::after {
    display: none !important;
  }

  table {
    width: 100% !important;
    border-collapse: collapse !important;
    page-break-inside: auto;
  }

  table thead {
    display: table-header-group;
  }

  table tr {
    page-break-inside: avoid;
    page-break-after: auto;
  }

  table th,
  table td {
    padding: 8px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    background: inherit !important;
    color: inherit !important;
  }

  .card,
  .event-card,
  .view-content,
  .view,
  .views-row,
  .node,
  .block-content,
  .kp-card,
  .kp-cards {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  .policy .row,
  .copy-right-area .row,
  footer .row,
  header .row {
    border-top: none;
  }

  .policy,
  .copy-right-area,
  .topbaar,
  .top-area,
  header,
  footer {
    background: inherit !important;
    color: inherit !important;
  }

  .view-footer,
  .view-header,
  .section-title,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
  }

  .breadcrumb,
  .page-title,
  .intro-text,
  .view-empty {
    page-break-before: avoid;
  }

  .digital-clock::after {
    content: "" !important;
  }

  /* Keep utility classes that control spacing functional in print. */
  [class*="pt-"],
  [class*="pb-"],
  [class*="mt-"],
  [class*="mb-"] {
    page-break-after: avoid;
  }

  /* Ensure background helper classes keep their colors. */
  .bg-light,
  .bg-white,
  .bg-dark,
  .bg-primary {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* ------------------------------------------------------------------
   * FIX: Overlapping / duplicate images in print (carousels, sliders)
   * ------------------------------------------------------------------ */

  /* Owl Carousel prints cloned slides too; hide them to avoid duplicates. */
  .owl-carousel .owl-item.cloned {
    display: none !important;
  }

  /* Reset positioning/transform/float that can cause slides to overlap in print. */
  .owl-carousel,
  .owl-carousel .owl-stage-outer,
  .owl-carousel .owl-stage,
  .owl-carousel .owl-item,
  .owl-carousel .item,
  .owl-carousel .item * {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    float: none !important;
    transform: none !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .owl-carousel .owl-item,
  .owl-carousel .item {
    width: 100% !important;
    margin-bottom: 14px !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* Swiper duplicates and transforms can also overlap in print. */
  .swiper-slide-duplicate,
  .swiper-slide-duplicate-active,
  .swiper-slide-duplicate-next,
  .swiper-slide-duplicate-prev {
    display: none !important;
  }

  .swiper,
  .swiper-wrapper,
  .swiper-slide,
  .swiper-slide * {
    position: static !important;
    transform: none !important;
    height: auto !important;
  }

  /* Make images behave like normal blocks so they don't sit inline/over text. */
  img,
  picture,
  svg {
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* ------------------------------------------------------------------
   * FIX: Cookie consent / floating widgets showing on every printed page
   * ------------------------------------------------------------------ */
  #onetrust-banner-sdk,
  #onetrust-consent-sdk,
  .ot-sdk-container,
  .ot-floating-button,
  #usercentrics-root,
  #uc-center-container,
  .uc-overlay,
  .qc-cmp2-container,
  .cookie-banner,
  .cookie-consent,
  .cookie-notice,
  .eu-cookie-compliance-banner,
  .cc-window,
  .cc-banner,
  .cc-dialog,
  .gdpr-cookie-notice,
  .cookie-settings {
    display: none !important;
  }

  /* Common accessibility floating buttons/widgets. */
  #userway-widget-container,
  .userway,
  .uwy,
  .acsb-trigger,
  .acsb-widget,
  .accessibility-widget,
  .accessibility-button,
  .accessibility-floating,
  .access-widget {
    display: none !important;
  }
}
