/* ========================================================================
   BVPG Kongressmodul - DRUCKANSICHT, Version 1.1 / 13.10.2026

   Separates Stylesheet, ausschliesslich mit media="print" einbinden.
   Nach bestehendem print.css und zentral.css laden.
   Dieses Stylesheet veraendert keine Bildschirmdarstellung.

   Alle globalen Print-Anpassungen sind auf Seiten begrenzt, die innerhalb
   von #body einen .bvpg-kongress-Container enthalten (mittels :has()).
   Andere Seiten behalten ihre bisherige Druckgestaltung.
   Die Druckfarben sind bewusst kontraststark und tintensparend.
   ======================================================================== */

@media print {
  /* Benannte Papierseite: A4 wird nur fuer Kongressinhalte angewendet,
     nicht fuer andere Seiten der BVPG-Website. */
  @page bvpg-kongress {
    size: A4 portrait;
    margin: 14mm 15mm 17mm;

    @bottom-left {
      content: "BVPG | Veranstaltungsprogramm";
      color: #555555;
      font: 8pt Arial, Helvetica, sans-serif;
    }
    @bottom-right {
      content: counter(page);
      color: #555555;
      font: 8pt Arial, Helvetica, sans-serif;
    }
  }

  /* Vorhandene Website-Rahmen NUR auf Kongressseiten ausblenden. */
  body:has(#body .bvpg-kongress) #navbarbanner,
  body:has(#body .bvpg-kongress) #header,
  body:has(#body .bvpg-kongress) #ydob,
  body:has(#body .bvpg-kongress) #footer,
  body:has(#body .bvpg-kongress) #wrapper > footer,
  body:has(#body .bvpg-kongress) > #myDSE,
  body:has(#body .bvpg-kongress) > #keksloeschen,
  body:has(#body .bvpg-kongress) > #myModal,
  body:has(#body .bvpg-kongress) .skipLink,
  body:has(#body .bvpg-kongress) #body > a#Inhalt {
    display: none !important;
  }

  /* Vom CMS vorgegebene Inhaltsbreiten/Abstaende nur hier neutralisieren. */
  body:has(#body .bvpg-kongress),
  body:has(#body .bvpg-kongress) #wrapper,
  body:has(#body .bvpg-kongress) #body,
  body:has(#body .bvpg-kongress) #body #haupt,
  body:has(#body .bvpg-kongress) #body main {
    display: block !important;
    position: static !important;
    float: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  /* Die benannte Seite ans body binden, damit nach dem Inhaltscontainer
     keine zusaetzliche leere Standardseite entsteht. */
  body:has(#body .bvpg-kongress) {
    page: bvpg-kongress;
  }

  #body .bvpg-kongress {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #FFFFFF !important;
    color: #222222 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5pt !important;
    line-height: 1.38 !important;
    overflow: visible !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  #body .bvpg-kongress *,
  #body .bvpg-kongress *::before,
  #body .bvpg-kongress *::after {
    box-sizing: border-box !important;
    text-shadow: none !important;
    box-shadow: none !important;
    animation: none !important;
    transition: none !important;
  }

  #body .bvpg-kongress p,
  #body .bvpg-kongress li,
  #body .bvpg-kongress dd,
  #body .bvpg-kongress dt {
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 9.5pt !important;
    color: #222222 !important;
    letter-spacing: normal !important;
    line-height: 1.38 !important;
    orphans: 2;
    widows: 2;
  }

  #body .bvpg-kongress a,
  #body .bvpg-kongress a:visited {
    color: #222222 !important;
    text-decoration: none !important;
    background: none !important;
    padding-right: 0 !important;
  }

  /* Vorrang vor der vorhandenen BVPG-print.css: Dort erhalten alle
     h1-h6, p, ul, ol global clear:both und padding-bottom:.5em.
     Diese Druckvorgaben würden die Zeitleiste verschieben und
     einzelne Detailseiten auf unnötige Folgeseiten umbrechen lassen.
     Der Reset wirkt AUSSCHLIESSLICH im Kongress-Container. */
  #body .bvpg-kongress :is(h1, h2, h3, h4, h5, h6, p, ul, ol) {
    clear: none !important;
    padding-bottom: 0 !important;
  }

  /* Bedienelemente / Navigationslinks drucken wir nicht. */
  #body .bvpg-kongress .bvpg-kongress__back,
  #body .bvpg-kongress .bvpg-kongress__jump,
  #body .bvpg-kongress .bvpg-kongress__detail-link,
  #body .bvpg-kongress .bvpg-kongress__detail-footer {
    display: none !important;
  }

  #body .bvpg-kongress h1,
  #body .bvpg-kongress h2,
  #body .bvpg-kongress h3,
  #body .bvpg-kongress h4 {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.28 !important;
    color: #9D0B0F !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 700 !important;
    break-after: avoid-page;
    page-break-after: avoid;
  }

  /* Schlichter, papierfreundlicher Veranstaltungskopf. */
  #body .bvpg-kongress .bvpg-kongress__hero {
    display: block !important;
    background: #FFFFFF !important;
    color: #222222 !important;
    border: 0 !important;
    border-bottom: 2pt solid #9D0B0F !important;
    border-radius: 0 !important;
    padding: 0 0 5mm !important;
    margin: 0 0 6mm !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
  #body .bvpg-kongress .bvpg-kongress__eyebrow {
    font-size: 9pt !important;
    color: #555555 !important;
    font-weight: 700 !important;
    margin: 0 0 2mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__hero-title {
    display: block !important;
    max-width: none !important;
    color: #9D0B0F !important;
    font: 700 17pt/1.2 Arial, Helvetica, sans-serif !important;
    margin: 0 0 2mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__hero-subtitle {
    color: #444444 !important;
    font-size: 9pt !important;
    margin: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__lead {
    margin: 0 0 5mm !important;
    max-width: none !important;
  }
  #body .bvpg-kongress .bvpg-kongress__lead p {
    font-size: 9.6pt !important;
    line-height: 1.45 !important;
  }

  #body .bvpg-kongress .bvpg-kongress__section-header {
    border-left: 3pt solid #E17835 !important;
    margin: 0 0 5mm !important;
    padding: 0 0 0 3mm !important;
    break-after: avoid-page;
  }
  #body .bvpg-kongress .bvpg-kongress__section-header h2 {
    font-size: 13.5pt !important;
    margin-bottom: 1mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__section-header p {
    color: #555555 !important;
    font-size: 8.5pt !important;
    margin: 0 !important;
  }

  /* Zeitachse: Uhrzeit links, Text rechts. Die lange Foren-Gruppe darf
     ueber Seiten umbrechen; einzelne Foren bleiben nach Moeglichkeit zusammen. */
  #body .bvpg-kongress .bvpg-kongress__program {
    display: block !important;
    width: 100% !important;
  }
  #body .bvpg-kongress .bvpg-kongress__item {
    display: block !important;
    position: relative !important;
    margin: 0 0 5mm !important;
    padding: 0 !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }
  #body .bvpg-kongress .bvpg-kongress__item:has(.bvpg-kongress__forums) {
    break-inside: auto;
    page-break-inside: auto;
  }
  #body .bvpg-kongress .bvpg-kongress__item::after {
    content: "";
    display: table;
    clear: both;
  }
  #body .bvpg-kongress .bvpg-kongress__time-col {
    display: block !important;
    float: left !important;
    width: 19mm !important;
    text-align: left !important;
    padding: 1.5mm 1mm 0 0 !important;
    margin: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__time {
    display: inline !important;
    color: #9D0B0F !important;
    font-weight: 700 !important;
    font-size: 10pt !important;
    font-variant-numeric: tabular-nums;
  }
  #body .bvpg-kongress .bvpg-kongress__time-label {
    display: block !important;
    color: #555555 !important;
    font-size: 8pt !important;
  }
  #body .bvpg-kongress .bvpg-kongress__card {
    display: block !important;
    min-width: 0 !important;
    margin: 0 0 0 20mm !important;
    padding: 3mm 4mm !important;
    border: 0.4pt solid #CCCCCC !important;
    border-left: 2.5pt solid #E17835 !important;
    border-radius: 0 !important;
    background: #FFFFFF !important;
    overflow: visible !important;
  }
  #body .bvpg-kongress .bvpg-kongress__category {
    color: #9D0B0F !important;
    font-size: 8.5pt !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em !important;
    text-transform: uppercase !important;
    margin: 0 0 1mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__session-title {
    color: #222222 !important;
    font-size: 11pt !important;
    margin: 0 0 2mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__description {
    font-size: 9pt !important;
    margin: 0 0 2.4mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__entries,
  #body .bvpg-kongress .bvpg-kongress__people,
  #body .bvpg-kongress .bvpg-kongress__event-list {
    display: block !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__entry {
    display: block !important;
    padding: 2mm 0 !important;
    margin: 0 !important;
    border-top: 0.4pt solid #DDDDDD !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }
  #body .bvpg-kongress .bvpg-kongress__talk-title {
    color: #222222 !important;
    font-size: 9.6pt !important;
    margin: 0 0 1mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__speaker {
    font-size: 9pt !important;
    color: #444444 !important;
    margin: 0 !important;
  }

  #body .bvpg-kongress .bvpg-kongress__item--pause {
    break-inside: avoid-page;
  }
  #body .bvpg-kongress .bvpg-kongress__card--pause {
    padding-top: 2mm !important;
    padding-bottom: 2mm !important;
    border: 0 !important;
    border-left: 2pt solid #888888 !important;
    background: #F3F3F3 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__pause-title {
    color: #555555 !important;
    font-size: 9.5pt !important;
  }
  #body .bvpg-kongress .bvpg-kongress__item--pause .bvpg-kongress__time {
    color: #555555 !important;
  }

  #body .bvpg-kongress .bvpg-kongress__forums {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 2.2mm !important;
    margin: 1mm 0 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__forum {
    display: block !important;
    width: 100% !important;
    margin: 0 0 2.5mm !important;
    padding: 2.8mm 3.5mm !important;
    background: #FFFFFF !important;
    border: 0.4pt solid #CCCCCC !important;
    border-top: 1.5pt solid #E17835 !important;
    border-radius: 0 !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }
  #body .bvpg-kongress .bvpg-kongress__forum-number {
    color: #9D0B0F !important;
    font-size: 8.7pt !important;
    font-weight: 700 !important;
    margin: 0 0 1mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__forum-title {
    color: #222222 !important;
    font-size: 9.7pt !important;
    margin: 0 0 1.5mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__forum-speakers {
    color: #444444 !important;
    font-size: 8.8pt !important;
    margin: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__note,
  #body .bvpg-kongress .bvpg-kongress__footnote {
    font-size: 8.5pt !important;
    color: #555555 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__footnote {
    border-top: 0.4pt solid #BBBBBB !important;
    margin-top: 4mm !important;
    padding-top: 2mm !important;
  }

  /* Detailseiten: Info-Kasten folgt unter dem Inhalt, nicht in einer Spalte. */
  #body .bvpg-kongress .bvpg-kongress__detail-grid,
  #body .bvpg-kongress .bvpg-kongress__detail-main,
  #body .bvpg-kongress .bvpg-kongress__detail-aside {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__detail-section {
    margin: 0 0 6mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__detail-section h2 {
    color: #9D0B0F !important;
    font-size: 12pt !important;
    margin: 0 0 2.5mm !important;
    padding: 0 0 0 3mm !important;
    border-left: 2.5pt solid #E17835 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__detail-section > p {
    margin: 0 0 2.2mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__person {
    padding: 2mm 0 !important;
    margin: 0 !important;
    border-top: 0.4pt solid #DDDDDD !important;
    break-inside: avoid-page;
  }
  #body .bvpg-kongress .bvpg-kongress__person-name {
    color: #222222 !important;
    font-weight: 700 !important;
    margin: 0 0 0.3mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__person-org {
    color: #555555 !important;
    font-size: 9pt !important;
    margin: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__info {
    display: block !important;
    margin: 0 0 3mm !important;
    padding: 3mm 4mm !important;
    background: #FFFFFF !important;
    border: 0.4pt solid #CCCCCC !important;
    border-left: 2.5pt solid #E17835 !important;
    border-radius: 0 !important;
    break-inside: avoid-page;
    page-break-inside: avoid;
  }
  #body .bvpg-kongress .bvpg-kongress__info h2 {
    font-size: 11pt !important;
    margin: 0 0 2mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__facts {
    margin: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__facts dt {
    font-weight: 700 !important;
    margin: 2mm 0 0.3mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__facts dd {
    margin: 0 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__event-list li {
    display: block !important;
    margin: 0 0 2.5mm !important;
    padding: 2mm 3mm !important;
    border: 0.4pt solid #CCCCCC !important;
    border-top: 1.5pt solid #E17835 !important;
    background: #FFFFFF !important;
    break-inside: avoid-page;
  }
  #body .bvpg-kongress .bvpg-kongress__event-time,
  #body .bvpg-kongress .bvpg-kongress__event-name {
    margin: 0 0 1mm !important;
  }
  #body .bvpg-kongress .bvpg-kongress__event-name {
    font-weight: 700 !important;
  }
  #body .bvpg-kongress .bvpg-kongress__event-list a {
    text-decoration: none !important;
  }
  #body .bvpg-kongress .bvpg-kongress__box-note {
    border-left: 2pt solid #888888 !important;
    background: #F3F3F3 !important;
    padding: 2mm 3mm !important;
    margin: 0 0 3mm !important;
  }
  #body .bvpg-kongress img,
  #body .bvpg-kongress .bvpg-kongress__portrait {
    max-width: 55mm !important;
    max-height: 65mm !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    break-inside: avoid-page;
  }
  #body .bvpg-kongress .bvpg-kongress__image-credit {
    font-size: 8pt !important;
  }
}
