/* ==========================================================================
   Druckansicht aller Seiten (auch „Als PDF speichern“)
   ==========================================================================
   Wird überall mit media="print" geladen und blockiert den Seitenaufbau
   daher nicht. Ziel ist ein ruhiger, lesbarer Ausdruck: Inhalte bleiben,
   Navigation, Bedienelemente und Dekoration entfallen, aufklappbare
   Inhalte werden vollständig gezeigt. Fachbeiträge ergänzen das mit
   css/specific/fachbeitraege-druck.css.
   ========================================================================== */

@page {
  size: A4;
  margin: 2cm 2.2cm 2.2cm;
}

/* ---------- Ausblenden: Navigation, Bedienelemente, Dekoration ---------- */
#wpadminbar,
.skip-link,
.site-header,
.menu-toggle,
.cta-section,
.footer,
.swiper-button-prev,
.swiper-button-next,
.swiper-pagination,
.faq-icon,
iframe,
video,
[aria-hidden="true"]:not(img) {
  display: none !important;
}

html {
  margin-top: 0 !important;
}

/* ---------- Grundlayout: schwarz auf weiß ---------- */
*,
*::before,
*::after {
  background: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  animation: none !important;
  transition: none !important;
}

body {
  color: #000;
  font-size: 10.5pt;
  line-height: 1.5;
}

/* Inhalte, die per Scroll-Animation eingeblendet werden, sofort zeigen */
main * {
  opacity: 1 !important;
}

main img {
  max-width: 100% !important;
  height: auto !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

p,
li,
td,
th,
blockquote {
  color: #000 !important;
  orphans: 3;
  widows: 3;
}

h1,
h2,
h3,
h4 {
  color: #000 !important;
  break-after: avoid;
  page-break-after: avoid;
}

/* Abschnitte ohne große Bildschirmabstände */
main section {
  min-height: 0 !important;
  padding-top: 0.4cm !important;
  padding-bottom: 0.4cm !important;
}

.page-hero {
  min-height: 0 !important;
  padding: 0 0 0.3cm !important;
}

.page-hero h1 {
  font-size: 24pt !important;
}

/* ---------- Mehrspaltige Bildschirmlayouts untereinander ---------- */
.hero-grid,
.faq-layout,
.profil,
.intro,
.kontakt-grid,
.leistung,
.begleitung-grid,
.fazit-grid {
  display: block !important;
}

.hero-grid > * + *,
.profil > * + *,
.intro > * + *,
.kontakt-grid > * + *,
.leistung > * + *,
.begleitung-grid > * + *,
.fazit-grid > * + * {
  margin-top: 0.4cm !important;
}

[style*="sticky"],
.sticky {
  position: static !important;
}

/* FAQ: liegende statt senkrechter Überschrift */
.faq-kicker {
  display: none !important;
}

.faq-header-mobile {
  display: block !important;
  margin-bottom: 0.3cm !important;
  break-after: avoid;
  page-break-after: avoid;
}

/* Auf- und Zuklapp-Pfeile in Schaltflächen */
main button svg {
  display: none !important;
}

/* ---------- Aufklappbare Inhalte vollständig zeigen ---------- */
.faq-answer,
.journey-accordion-content,
.werdegang-acc-content,
.infinity-content-panel,
.bi-panel {
  display: block !important;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
}

/* Doppelte Darstellungen für Desktop bzw. Smartphone: im Druck genügt das
   Akkordeon mit allen Inhalten */
.journey-panel-desktop,
.journey-panel-mobile,
.werdegang-track,
.werdegang-info,
.werdegang-accordion::before,
.werdegang-accordion::after,
.acc-title-short,
.acc-sub-short {
  display: none !important;
}

.werdegang-accordion {
  display: block !important;
}

.acc-title-full,
.acc-sub-full {
  display: inline !important;
}

/* Vision, Mission, Werte: Panels untereinander statt übereinander */
.infinity-content-panel {
  position: static !important;
  transform: none !important;
  margin-bottom: 0.4cm;
}

.faq-item {
  break-inside: avoid;
  page-break-inside: avoid;
  margin-bottom: 0.3cm;
}

.faq-question {
  padding: 0 !important;
  border: 0 !important;
  font-weight: 700;
  color: #000 !important;
}

.faq-answer {
  padding: 0.1cm 0 0 !important;
}

/* Slider untereinander statt nebeneinander */
.swiper,
.swiper-wrapper {
  overflow: visible !important;
  transform: none !important;
  display: block !important;
  height: auto !important;
}

.swiper-slide {
  width: auto !important;
  margin: 0 0 0.5cm !important;
  break-inside: avoid;
  page-break-inside: avoid;
}

/* Videos und Dashboards lassen sich nicht drucken: Titel und Beschreibung
   bleiben, die Einbettung entfällt */
.video-responsive,
.dashboard-swiper {
  display: none !important;
}

.video-card {
  border: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.dashboard-tabs {
  display: block !important;
}

.dashboard-tabs::before {
  content: "Interaktive Dashboards, online auf dieser Seite verfügbar";
  display: block;
  margin-bottom: 0.2cm;
  font-weight: 700;
}

.dashboard-tab {
  display: list-item !important;
  margin-left: 0.5cm !important;
  padding: 0 !important;
  border: 0 !important;
  color: #000 !important;
  text-align: left;
}

/* Hervorgehobene Schlagwörter: weiße Schrift auf Farbfläche wäre ohne
   Hintergrund unsichtbar */
.tag,
.tag--hervorgehoben,
.tag-zusatz {
  color: #000 !important;
  border-color: #666 !important;
}

/* Symbolbilder in Karten klein halten */
.begleitung-card-image {
  width: 2.5cm !important;
  height: auto !important;
}

/* Tabellen nicht abschneiden */
.tabelle-scroll {
  overflow: visible !important;
}

table {
  break-inside: auto;
}

tr {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* ---------- Links ---------- */
main a {
  color: #000 !important;
}

/* Buttons als schlichter Text */
main .button {
  border: 0 !important;
  padding: 0 !important;
  color: #000 !important;
  text-decoration: underline;
}

/* Externe Links im Fließtext: Adresse ausschreiben */
main p a[href^="http"]:not([href*="quanture.de"])::after {
  content: " (" attr(href) ")";
  font-size: 0.85em;
  word-break: break-all;
}

/* ---------- Quellenzeile am Ende jeder Seite ---------- */
.druck-quelle {
  display: block !important;
  margin-top: 0.8cm;
  padding-top: 0.2cm;
  border-top: 0.5pt solid #999;
  font-size: 8.5pt;
  color: #444 !important;
}
