/* ==========================================================================
   Mofair – Print-Stylesheet für Positionen & Pressemitteilungen
   --------------------------------------------------------------------------
   This file was created with significant AI assistance (e.g., Claude)
   to provide a readable print layout for the "Positionen" and
   "Pressemitteilungen" post types.

   It has been reviewed, tested, and approved by a human developer
   to ensure quality and correctness.
   --------------------------------------------------------------------------
   Wird nur über wp_enqueue_style(..., 'print') geladen, gilt also ohnehin
   nur beim Drucken. Kein zusätzliches @media print-Wrapping nötig.
   ========================================================================== */

@page {
  margin: 2cm 1.8cm;
}

/* --------------------------------------------------------------------
   1) Grundlagen
   -------------------------------------------------------------------- */
html,
body {
  background: #fff !important;
  color: #1a1a1a;
  font-family: 'Source Sans 3', Arial, Helvetica, sans-serif;
  font-size: 11pt;
  line-height: 1.5;
  box-shadow: none !important;
  min-height: 0 !important;
}

* {
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
  transition: none !important;
}

/* --------------------------------------------------------------------
   2) GSAP/ScrollTrigger blendet viele Elemente (u.a. die kompletten
      Ansprechpartner-Boxen) per Inline-Style aus, bis sie beim Scrollen
      ins Bild kommen. Beim Drucken feuert dieser Trigger nie, die
      Elemente blieben sonst unsichtbar. Deshalb hart erzwingen:
   -------------------------------------------------------------------- */
[class*="fade-in"],
[style*="opacity: 0"],
[style*="opacity:0"] {
  opacity: 1 !important;
  transform: none !important;
  visibility: visible !important;
  transition: none !important;
}

/* --------------------------------------------------------------------
   3) Chrome ausblenden: Navigation, Menüs, Footer, Aktions-Buttons,
      Cookie-Layer, Formulare, Slider-Steuerung – nichts davon
      funktioniert auf Papier.
   -------------------------------------------------------------------- */
.main-navigation,
.main-menu-wrp,
.actionwrp,
footer.footer,
.page_header.no_image,
.sph .corner,
.sph__nav,
.hy_breadcrumbs,
.brlbs-cmpnt-widget,
[id^="borlabs-cookie"],
.skip-link,
button,
input,
select,
textarea,
form,
.mdl-image-slider__navwrp,
.mdl-contact-box__socials,
.external-link-icon,
video,
iframe {
  display: none !important;
}

/* --------------------------------------------------------------------
   4) Grund-Layout: volle Breite statt zentrierter Viewport-Container
   -------------------------------------------------------------------- */
.fullhd_wrap,
.single-news__outer-wrp,
.single-news__post-body,
.single-news__post-body__mdl-wrp,
.sph__inner,
.mdl-text,
.mdl-text__outer-wrp,
.mdl-text__content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 0 14pt 0 !important;
  overflow: visible !important;
}

.single-news__post-body__mdl-wrp:last-child {
  margin-bottom: 0 !important;
}

/* Kleines Absender-Kennzeichen oben auf jeder gedruckten Seite */
article.single-news__post-body::before {
  content: "mofair e.V.";
  display: block;
  font-weight: 700;
  font-size: 10pt;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #003B49 !important;
  margin-bottom: 10pt;
  border-bottom: 1pt solid #003B49;
  padding-bottom: 6pt;
}

/* --------------------------------------------------------------------
   5) Artikelkopf (sph): Badge/Datum/Kategorie als schlichte Meta-Zeile,
      Titel prominent, keine Farbflächen/Icon-Deko
   -------------------------------------------------------------------- */
.sph {
  margin-bottom: 16pt;
}

.sph__meta {
  display: block !important;
  margin-bottom: 6pt !important;
  font-size: 10pt;
}

.sph-badge {
  display: inline !important;
  background: none !important;
  color: #1a1a1a !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 700;
  text-transform: none !important;
}

.sph-badge--new::after {
  content: " · ";
  font-weight: 400;
}

.sph-badge--date:has(+ .sph-categories)::after {
  content: " · ";
  font-weight: 400;
}

.sph-categories {
  display: inline !important;
}

.sph-categories .sph-circle {
  display: none !important;
}

.sph-categories__item {
  color: #1a1a1a !important;
  font-size: 10pt;
}

.sph-categories__sep {
  display: inline !important;
  background: none !important;
  width: auto !important;
  height: auto !important;
}

.sph-categories__sep::before {
  content: " • ";
}

.sph__title {
  font-size: 22pt !important;
  line-height: 1.25 !important;
  margin-bottom: 14pt !important;
  color: #000 !important;
}

/* --------------------------------------------------------------------
   6) Beitragsbild (nur Pressemitteilungen mit großem Titelbild)
   -------------------------------------------------------------------- */
.page_header.news {
  margin-bottom: 14pt;
}

.page_header.news img {
  max-width: 100% !important;
  max-height: 9cm !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  page-break-after: avoid;
  break-after: avoid;
}

/* --------------------------------------------------------------------
   7) Fließtext (mdl_text-Modul)
   -------------------------------------------------------------------- */
.mdl-text__content h2 { font-size: 15pt   !important; margin: 14pt 0 6pt !important; padding: 0 !important; }
.mdl-text__content h3 { font-size: 13pt   !important; margin: 12pt 0 6pt !important; padding: 0 !important; }
.mdl-text__content h4,
.mdl-text__content h5,
.mdl-text__content h6 { font-size: 11.5pt !important; margin: 10pt 0 4pt !important; padding: 0 !important; }

.mdl-text__content h2,
.mdl-text__content h3,
.mdl-text__content h4,
.mdl-text__content h5,
.mdl-text__content h6 {
  color: #000 !important;
}

.mdl-text__content p {
  font-size: 11pt !important;
  line-height: 1.5 !important;
  color: #1a1a1a !important;
  margin: 0 0 10pt 0 !important;
  orphans: 3;
  widows: 3;
}

.mdl-text__content a {
  color: #1a1a1a !important;
  text-decoration: underline !important;
}

/* Externe Links: Ziel-URL mit ausdrucken, damit sie auf Papier nutzbar bleibt */
.mdl-text__content a[href^="http"]::after {
  content: " (" attr(href) ")";
  font-size: 9pt;
  font-weight: 400;
  color: #444 !important;
  word-break: break-all;
}

.mdl-text__content img {
  max-width: 100% !important;
  height: auto !important;
}

/* --------------------------------------------------------------------
   8) Umbrüche: Überschriften nicht alleine am Seitenende, Blöcke nicht
      mittendrin zerreißen
   -------------------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  page-break-after: avoid;
  break-after: avoid;
}

p, li, blockquote, img, figure, table,
.mdl-contact-box,
.mdl-downloads__download-element,
.mdl-links__link-element,
.mdl-notification-box,
.swiper-slide {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* --------------------------------------------------------------------
   9) Downloads-Modul: Buttons -> schlichte Liste mit sichtbarer URL
   -------------------------------------------------------------------- */
.mdl-downloads__outer-wrp { margin: 14pt 0 !important; }
.mdl-downloads { gap: 8pt !important; }

.mdl-downloads__download-element {
  background: none !important;
  border: 1pt solid #999 !important;
  border-radius: 0 !important;
  clip-path: none !important;
  color: #1a1a1a !important;
}

.mdl-downloads__download-element__content-wrp {
  flex-direction: column !important;
  align-items: flex-start !important;
  padding: 8pt 10pt !important;
}

.mdl-downloads__download-element__content-wrp__label__txt,
.mdl-downloads__download-element__fileinfo {
  color: #1a1a1a !important;
}

.mdl-downloads__download-element__icon-container {
  display: none !important;
}

.mdl-downloads__download-element::after {
  content: "Download: " attr(href);
  display: block;
  font-size: 9pt;
  color: #444 !important;
  word-break: break-all;
  margin-top: 4pt;
}

/* --------------------------------------------------------------------
   10) Links-Modul: gleiches Prinzip wie Downloads
   -------------------------------------------------------------------- */
.mdl-links__outer-wrp { margin: 14pt 0 !important; }

.mdl-links__link-element {
  background: none !important;
  border: 1pt solid #999 !important;
  clip-path: none !important;
  min-height: 0 !important;
}

.mdl-links__link-element__content-wrp {
  padding: 8pt 10pt !important;
}

.mdl-links__link-element__content-wrp__label {
  color: #1a1a1a !important;
}

.mdl-links__link-element {
  color: #1a1a1a !important;
  text-decoration-color: #1a1a1a !important;
}

.mdl-links__link-element__icon-container {
  display: none !important;
}

.mdl-links__link-element::after {
  content: " (" attr(href) ")";
  display: block;
  font-size: 9pt;
  color: #444 !important;
  word-break: break-all;
  margin-top: 4pt;
}

/* --------------------------------------------------------------------
   11) Hinweisbox (Notification Box)
   -------------------------------------------------------------------- */
.mdl-notification-box__outer-wrp { margin: 14pt 0 !important; }

.mdl-notification-box {
  background: none !important;
  border: 1pt solid #999 !important;
  clip-path: none !important;
  display: block !important;
  padding: 10pt !important;
}

.mdl-notification-box.has_headline {
  padding-top: 10pt !important;
}

.mdl-notification-box__headline-box {
  position: static !important;
  display: block !important;
  height: auto !important;
  margin-bottom: 6pt;
}

.mdl-notification-box__headline-box__content {
  background: none !important;
  padding: 0 !important;
  display: inline-flex !important;
}

.mdl-notification-box__headline-box__content span {
  color: #1a1a1a !important;
  font-weight: 700;
}

.mdl-notification-box__headline-box__corner {
  display: none !important;
}

.notification-box__content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

.notification-box__content p {
  color: #1a1a1a !important;
}

.mdl-notification-box a.btn {
  background: none !important;
  color: #1a1a1a !important;
  padding: 0 !important;
  display: inline !important;
  text-decoration: underline !important;
}

.mdl-notification-box a.btn span {
  color: #1a1a1a !important;
}

.mdl-notification-box a.btn .btn__icon {
  display: none !important;
}

.mdl-notification-box a.btn::after {
  content: " (" attr(href) ")";
  font-size: 9pt;
  color: #444 !important;
}

/* --------------------------------------------------------------------
   12) Bildergalerie (Swiper): alle Bilder untereinander statt Karussell
   -------------------------------------------------------------------- */
.mdl-image-slider__outer-wrp { margin: 14pt 0 !important; }

.swiper,
.mdl-image-slider__swiper-box__swiper {
  overflow: visible !important;
}

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

.swiper-slide {
  width: 100% !important;
  margin: 0 0 10pt 0 !important;
}

.swiper-slide img {
  max-width: 100% !important;
  max-height: 9cm !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
}

/* --------------------------------------------------------------------
   13) Ansprechpartner-Box: Buttons -> Klartext-Infos
   -------------------------------------------------------------------- */
.mdl-contact-box__outer-wrp { margin: 14pt 0 !important; }

.mdl-contact-box {
  display: block !important;
  border: 1pt solid #999;
}

.mdl-contact-box__image {
  background: none !important;
  transform: none !important;
  padding: 10pt 10pt 0 !important;
  width: 100% !important;
}

.mdl-contact-box__image img {
  max-width: 4cm !important;
  height: auto !important;
}

.mdl-contact-box__content {
  background: none !important;
  padding: 10pt !important;
  width: 100% !important;
}

.mdl-contact-box__content__basic-data h2 {
  color: #000 !important;
  font-size: 13pt !important;
}

.mdl-contact-box__content__basic-data .position,
.mdl-contact-box__content__basic-data small {
  color: #1a1a1a !important;
  font-size: 10pt !important;
}

.mdl-contact-box__content__contact_data {
  display: block !important;
  gap: 4pt !important;
}

.mdl-contact-box__content__contact_data a.btn {
  display: block !important;
  background: none !important;
  color: #1a1a1a !important;
  padding: 2pt 0 !important;
  min-width: 0 !important;
  text-decoration: none !important;
}

.mdl-contact-box__content__contact_data a.btn .btn__icon {
  display: none !important;
}

.mdl-contact-box__content__contact_data a.btn span {
  color: #1a1a1a !important;
}

/* Nur echte mailto:-Links anhängen. Die Adresse wird auf der Seite per
   Cookie-/Spam-Schutz erst per JavaScript eingesetzt; bis dahin steht im
   href nur "javascript:void(0)" – das würde sonst sinnlos mit ausgedruckt. */
.mdl-contact-box__content__contact_data a.email[href^="mailto:"]::after {
  content: " (" attr(href) ")";
  font-size: 9pt;
  color: #444 !important;
}
