/*
  BVPG-Kongressmodul – Phase 1 (manuelle HTML-Pflege)
  Stand: 11.10.2026
  Eigenstaendiges Stylesheet. Alle sichtbaren Gestaltungsregeln sind an
  #body .bvpg-kongress gebunden; bestehende BVPG-CSS bleiben unveraendert.
  Einbinden NACH mainNeuest2024.css und mobileNEU2024.css.
*/

#body .bvpg-kongress {
  --bvpg-red: #9D0B0F;
  --bvpg-orange: #E17835;
  --bvpg-cream: #FEF5EA;
  --bvpg-gray: #757575;
  --bvpg-ink: #333333;
  --bvpg-muted: #555555;
  --bvpg-paper: #FFFFFF;
  --bvpg-soft-gray: #F2F1F1;
  --bvpg-rule: #E5DCD5;
  color: var(--bvpg-ink);
  background: var(--bvpg-paper);
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 3rem;
  font-family: 'Barlow-Light-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 1rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

/* Das globale BVPG-CSS setzt u. a. auf * eine Schrift- und Zeilenhoehe.
   Hier stellen wir innerhalb des Kongressmoduls eigene Standardwerte her. */
#body .bvpg-kongress *,
#body .bvpg-kongress *::before,
#body .bvpg-kongress *::after {
  box-sizing: border-box;
  line-height: 1.48;
}

#body .bvpg-kongress p,
#body .bvpg-kongress ul,
#body .bvpg-kongress li {
  font-size: 1rem;
  color: var(--bvpg-ink);
}

#body .bvpg-kongress p {
  margin: 0;
  padding: 0;
  letter-spacing: normal;
  font-family: 'Barlow-Light-webfont.woff', Arial, Helvetica, sans-serif;
}

#body .bvpg-kongress h2,
#body .bvpg-kongress h3,
#body .bvpg-kongress h4 {
  margin: 0;
  padding: 0;
  font-style: normal;
  text-transform: none;
  letter-spacing: normal;
  font-weight: normal;
}

#body .bvpg-kongress a {
  color: var(--bvpg-red);
  text-decoration: underline;
  text-underline-offset: 0.16em;
  font-family: inherit;
}

#body .bvpg-kongress a:hover {
  color: #72080B;
  text-decoration-thickness: 2px;
}

#body .bvpg-kongress a:focus,
#body .bvpg-kongress a:focus-visible {
  outline: 3px solid var(--bvpg-orange);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Veranstaltungsheader. Eigenes h2, da das CMS in der Regel h1 erzeugt. */
#body .bvpg-kongress .bvpg-kongress__hero {
  background: var(--bvpg-red);
  color: var(--bvpg-paper);
  border-radius: 8px;
  padding: 2rem 2.2rem;
  margin: 0 0 1.6rem;
}

#body .bvpg-kongress .bvpg-kongress__eyebrow {
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 0.89rem;
  letter-spacing: 0.07em;
  color: #FFFFFF;
  margin-bottom: 0.65rem;
}

#body .bvpg-kongress .bvpg-kongress__hero-title {
  font-family: 'merriweather_blight', Cambria, Georgia, 'Times New Roman', serif;
  font-size: 1.9rem; /* Fallback fuer aeltere Renderer */
  font-size: clamp(1.48rem, 2.65vw, 2.08rem);
  line-height: 1.26;
  color: #FFFFFF;
  max-width: 39ch;
  margin: 0 0 0.7rem;
}

#body .bvpg-kongress .bvpg-kongress__hero-subtitle {
  font-size: 1rem;
  color: #FFFFFF;
}

#body .bvpg-kongress .bvpg-kongress__jump {
  display: inline-block;
  margin-top: 1.1rem;
  padding: 0.45rem 0.8rem;
  border: 1px solid #FFFFFF;
  border-radius: 4px;
  color: #FFFFFF;
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  text-decoration: underline;
}

#body .bvpg-kongress .bvpg-kongress__jump:hover,
#body .bvpg-kongress .bvpg-kongress__jump:focus {
  color: #FFFFFF;
  background: #74090C;
}

#body .bvpg-kongress .bvpg-kongress__lead {
  max-width: 78ch;
  margin: 0 0 1.8rem;
}

#body .bvpg-kongress .bvpg-kongress__lead p {
  font-size: 1.04rem;
  line-height: 1.58;
}

#body .bvpg-kongress .bvpg-kongress__section-header {
  border-left: 5px solid var(--bvpg-orange);
  padding: 0.1rem 0 0.1rem 0.9rem;
  margin-bottom: 1.25rem;
}

#body .bvpg-kongress .bvpg-kongress__section-header h2 {
  font-size: 1.57rem;
  line-height: 1.28;
  color: var(--bvpg-red);
  font-family: 'merriweather_blight', Cambria, Georgia, serif;
}

#body .bvpg-kongress .bvpg-kongress__section-header p {
  margin-top: 0.28rem;
  font-size: 0.94rem;
  color: var(--bvpg-muted);
}

/* Zeitachse: Uhrzeit links, Programmpunkt rechts. */
#body .bvpg-kongress .bvpg-kongress__program {
  width: 100%;
}

#body .bvpg-kongress .bvpg-kongress__item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  column-gap: 1.05rem;
  align-items: start;
  margin: 0 0 1rem;
}

#body .bvpg-kongress .bvpg-kongress__time-col {
  padding: 1rem 0.2rem 0 0;
  text-align: right;
}

#body .bvpg-kongress .bvpg-kongress__time {
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 1.21rem;
  font-variant-numeric: tabular-nums;
  color: var(--bvpg-red);
  white-space: nowrap;
}

#body .bvpg-kongress .bvpg-kongress__time-label {
  font-size: 0.79rem;
  color: var(--bvpg-muted);
}

#body .bvpg-kongress .bvpg-kongress__card {
  min-width: 0;
  padding: 1.2rem 1.38rem;
  background: var(--bvpg-cream);
  border: 1px solid var(--bvpg-rule);
  border-left: 4px solid var(--bvpg-orange);
  border-radius: 7px;
}

#body .bvpg-kongress .bvpg-kongress__category {
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.09em;
  color: var(--bvpg-red);
  margin: 0 0 0.45rem;
}

#body .bvpg-kongress .bvpg-kongress__session-title {
  color: var(--bvpg-ink);
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 1.26rem;
  line-height: 1.33;
  margin: 0 0 0.85rem;
}

#body .bvpg-kongress .bvpg-kongress__description {
  margin: 0 0 0.9rem;
  font-size: 0.97rem;
  line-height: 1.55;
}

#body .bvpg-kongress .bvpg-kongress__entries {
  padding: 0;
  margin: 0;
  list-style: none;
}

#body .bvpg-kongress .bvpg-kongress__entry {
  list-style: none;
  margin: 0;
  padding: 0.82rem 0;
  border-top: 1px solid var(--bvpg-rule);
}

#body .bvpg-kongress .bvpg-kongress__entry:first-child {
  border-top: 0;
  padding-top: 0;
}

#body .bvpg-kongress .bvpg-kongress__entry:last-child {
  padding-bottom: 0;
}

#body .bvpg-kongress .bvpg-kongress__talk-title {
  color: var(--bvpg-ink);
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 1.02rem;
  line-height: 1.4;
  margin: 0 0 0.22rem;
}

#body .bvpg-kongress .bvpg-kongress__speaker {
  color: var(--bvpg-muted);
  font-size: 0.95rem;
  line-height: 1.48;
}

#body .bvpg-kongress .bvpg-kongress__note {
  margin-top: 0.75rem;
  color: var(--bvpg-muted);
  font-size: 0.9rem;
  font-style: italic;
}

#body .bvpg-kongress .bvpg-kongress__card--pause {
  background: var(--bvpg-soft-gray);
  border-color: #E1E1E1;
  border-left-color: var(--bvpg-gray);
  padding-top: 0.86rem;
  padding-bottom: 0.86rem;
}

#body .bvpg-kongress .bvpg-kongress__pause-title {
  color: #4B4B4B;
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 1rem;
}

#body .bvpg-kongress .bvpg-kongress__item--pause .bvpg-kongress__time-col {
  padding-top: 0.9rem;
}

#body .bvpg-kongress .bvpg-kongress__item--pause .bvpg-kongress__time {
  color: var(--bvpg-muted);
}

/* Parallel-Sessions – bei genuegend Platz zwei Spalten. */
#body .bvpg-kongress .bvpg-kongress__forums {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

#body .bvpg-kongress .bvpg-kongress__forum {
  background: #FFFFFF;
  border: 1px solid var(--bvpg-rule);
  border-top: 3px solid var(--bvpg-orange);
  border-radius: 5px;
  min-width: 0;
  padding: 1rem;
}

#body .bvpg-kongress .bvpg-kongress__forum-number {
  color: var(--bvpg-red);
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  margin-bottom: 0.25rem;
}

#body .bvpg-kongress .bvpg-kongress__forum-title {
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 1.01rem;
  line-height: 1.37;
  color: var(--bvpg-ink);
  margin: 0 0 0.55rem;
}

#body .bvpg-kongress .bvpg-kongress__forum-speakers {
  font-size: 0.88rem;
  color: var(--bvpg-muted);
  line-height: 1.5;
  margin: 0;
}

/* Leicht wiederverwendbarer Textlink zu einer spaeteren CMS-Detailseite. */
#body .bvpg-kongress .bvpg-kongress__detail-link {
  display: inline-block;
  margin-top: 0.8rem;
  font-family: 'Barlow-SemiBold-webfont.woff', Arial, Helvetica, sans-serif;
  font-size: 0.95rem;
}

#body .bvpg-kongress .bvpg-kongress__footnote {
  border-top: 1px solid var(--bvpg-rule);
  margin: 1.7rem 0 0;
  padding: 0.9rem 0 0;
  font-size: 0.89rem;
  color: var(--bvpg-muted);
}

/* Spaeter auch fuer Details/Speaker nutzbar: zweispaltige Bild/Text-Zone. */
#body .bvpg-kongress .bvpg-kongress__profile {
  display: grid;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
  margin: 1rem 0 2rem;
}

#body .bvpg-kongress .bvpg-kongress__portrait {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
}

#body .bvpg-kongress .bvpg-kongress__image-credit {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: var(--bvpg-muted);
}

@media (max-width: 1020px) {
  #body .bvpg-kongress .bvpg-kongress__forums {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767.98px) {
  #body .bvpg-kongress .bvpg-kongress__hero {
    padding: 1.3rem 1.15rem;
  }

  #body .bvpg-kongress .bvpg-kongress__item {
    grid-template-columns: 73px minmax(0, 1fr);
    column-gap: 0.7rem;
  }

  #body .bvpg-kongress .bvpg-kongress__card {
    padding: 1rem;
  }

  #body .bvpg-kongress .bvpg-kongress__session-title {
    font-size: 1.16rem;
  }
}

@media (max-width: 560px) {
  #body .bvpg-kongress .bvpg-kongress__item {
    display: block;
    margin-bottom: 1rem;
  }

  #body .bvpg-kongress .bvpg-kongress__time-col,
  #body .bvpg-kongress .bvpg-kongress__item--pause .bvpg-kongress__time-col {
    text-align: left;
    padding: 0 0 0.35rem;
  }

  #body .bvpg-kongress .bvpg-kongress__time,
  #body .bvpg-kongress .bvpg-kongress__time-label {
    display: inline;
  }

  #body .bvpg-kongress .bvpg-kongress__time-label {
    margin-left: 0.15rem;
  }

  #body .bvpg-kongress .bvpg-kongress__section-header h2 {
    font-size: 1.4rem;
  }

  #body .bvpg-kongress .bvpg-kongress__profile {
    display: block;
  }

  #body .bvpg-kongress .bvpg-kongress__profile-image {
    width: min(220px, 100%);
    margin-bottom: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #body .bvpg-kongress *,
  #body .bvpg-kongress *::before,
  #body .bvpg-kongress *::after {
    scroll-behavior: auto;
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
  }
}
