/* print.css */

@media print {

  /* Grundlayout */
  html, body {
    background: #fff !important;
    color: #000 !important;
    height: auto !important;
  }

  * {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;
    background-image: none !important;
  }

  /* Typografie und Druckränder */
  @page {
    margin: 14mm;
  }

  body {
    font-size: 11pt !important;
    line-height: 1.35 !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  h1, h2, h3, h4, h5, h6 {
    color: #000 !important;
    page-break-after: avoid;
    break-after: avoid-page;
  }

  p, li, blockquote {
    orphans: 3;
    widows: 3;
  }

  /* Links druckfreundlich, URL anzeigen */
  a, a:visited {
    color: #000 !important;
    text-decoration: underline !important;
  }

  a[href^="http"]:after {
    content: " (" attr(href) ")";
    font-size: 9pt;
    word-break: break-word;
  }

  a[href^="#"]:after,
  a[href^="javascript:"]:after,
  a[href^="tel:"]:after,
  a[href^="mailto:"]:after {
    content: "";
  }

  /* Bilder und Medien */
  img, svg {
    max-width: 100% !important;
    height: auto !important;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  video, iframe, embed, object, canvas {
    display: none !important;
  }

  /* Navigation, Footer, Sidebars, Popups, Sticky Elemente ausblenden */
  header,
  nav,
  footer,
  aside,
  .sidebar,
  .widget-area,
  .site-header,
  .site-footer,
  .menu,
  .navigation,
  .breadcrumb,
  .breadcrumbs,
  .pagination,
  .comments,
  .comment-respond,
  .share,
  .social,
  .cookie,
  .cookie-notice,
  .borlabs-cookie,
  .newsletter,
  .modal,
  .popup,
  .lightbox,
  .sticky,
  .is-sticky,
  .back-to-top,
  .to-top,
  .scroll-to-top {
    display: none !important;
  }

  /* Buttons und Formulare ausblenden */
  button,
  .button,
  .btn,
  input,
  select,
  textarea,
  form,
  .wpcf7,
  .gform_wrapper,
  .fluentform,
  .wpforms-container {
    display: none !important;
  }

  /* Layout Container auf volle Breite */
  .container,
  .content,
  .site-content,
  .fusion-row,
  .fusion-builder-row,
  .fusion-layout-column,
  .fusion-fullwidth,
  .fusion-builder-column,
  .fusion-column-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Spalten und Grids neutralisieren */
  [class*="col-"],
  [class*="column"],
  .row {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }

  /* Fixierte Elemente deaktivieren */
  * {
    position: static !important;
  }

  /* Tabellen sauber drucken */
  table {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  th, td {
    border: 1px solid #000 !important;
    padding: 6px 8px !important;
    vertical-align: top;
  }

  thead {
    display: table-header-group;
  }

  tfoot {
    display: table-footer-group;
  }

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

  /* Page Break Helfer Klassen */
  .print-page-break {
    page-break-before: always;
    break-before: page;
  }

  .print-no-break {
    page-break-inside: avoid;
    break-inside: avoid;
  }

  /* Elemente, die nur im Druck sichtbar sein sollen */
  .print-only {
    display: block !important;
  }

  /* Elemente, die im Druck versteckt sein sollen */
  .no-print {
    display: none !important;
  }
}
