/* Shared audience and responsive safeguards for the current site. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.course-hero { padding-top: 108px; }
.program-hub-hero { padding-top: 108px; }
.learning-audience { margin-top: 36px; padding: 26px 0 0; border-top: 1px solid #d5dce8; color: #152745; text-align: left; }
.learning-audience__heading { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.learning-audience .learning-audience__heading h2 { margin: 0; font-size: 22px; line-height: 1.3; letter-spacing: -.025em; }
.learning-audience .learning-audience__heading p { margin: 0; color: #53647f; font-size: 15px; line-height: 1.5; }
.learning-audience__list { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 22px; padding: 0; margin: 0; list-style: none; }
.learning-audience__list li { min-width: 0; display: flex; flex-direction: column; gap: 12px; padding: 0; }
.learning-audience__list svg { flex: 0 0 auto; width: 34px; height: 34px; color: #466cc0; }
.learning-audience .learning-audience__list h3 { margin: 0 0 8px; font-size: 16px; line-height: 1.4; letter-spacing: normal; font-weight: 750; }
.learning-audience .learning-audience__list p { margin: 0; color: #53647f; font-size: 16px; line-height: 1.55; font-weight: 400; }
.catalog-section .learning-audience { margin: 0 0 32px; padding: 24px; border: 1px solid #d5dce8; border-radius: 24px; background: #fff; }
.program-hub-hero__grid > *, .program-choice__grid > *, .program-course > * { min-width: 0; }
.program-hub-hero h1, .program-course h2, .program-choice-card h3, .course-scene h3, .academy-card h3 { overflow-wrap: anywhere; }
figure.course-hero__visual { margin: 0; }
.button { text-align: center; }
main section[id], .learning-audience { scroll-margin-top: 96px; }
.field input, .field select, .field textarea { font-size: 16px; }
.audience-jump { display: block; max-width: 640px; margin: 18px 0 22px; color: #315cab; font-size: 16px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.media-course__visual-head { flex-wrap: wrap; gap: 8px; }
.media-course__visual-head > * { min-width: 0; max-width: 100%; white-space: normal; }
.course-format-card__price { flex-wrap: wrap; }
.course-format-card__price strong { flex-shrink: 0; white-space: nowrap; }
.program-request-modal__sheet { max-height: calc(100svh - 24px); overflow-y: auto; }
.cookie-banner:not(.is-visible) { visibility: hidden; pointer-events: none; }
.cookie-banner.is-visible { visibility: visible; }
.program-credential-carousel__controls [data-credential-dot] { position: relative; width: 24px; height: 44px; padding: 0; border-radius: 0; background: transparent; flex-shrink: 0; }
.program-credential-carousel__controls [data-credential-dot]::before { content: ""; position: absolute; inset: 18px 4px; border-radius: 8px; background: #ccd4e4; }
.program-credential-carousel__controls [data-credential-dot].is-active { width: 28px; background: transparent; }
.program-credential-carousel__controls [data-credential-dot].is-active::before { inset-inline: 0; background: #5578d3; }
.program-credential-carousel__controls [data-credential-dot]:focus-visible { outline: 2px solid #315cab; outline-offset: 2px; border-radius: 6px; }
@media (max-width: 1120px) {
  .academy-showcase .academy-secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .academy-showcase .academy-secondary > * { min-width: 0; width: auto; }
  .academy-showcase .academy-secondary > span { grid-column: 1 / -1; }
  .academy-showcase .academy-secondary a { min-width: 0; border: 0; overflow-wrap: anywhere; }
  .learning-audience__list { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
}
@media (max-width: 700px) {
  .course-hero { padding-top: 88px; }
  .program-hub-hero { padding-top: 88px; }
  .catalog-menu { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; gap: 8px; }
  .catalog-menu > button { min-width: 0; width: 100%; margin: 0; }
  .catalog-menu > button > span { min-width: 0; overflow-wrap: anywhere; }
  .catalog-menu > button small { white-space: normal; }
  .catalog-menu .catalog-menu__all { grid-column: 1 / -1; min-height: 44px; margin: 0; }
  .catalog-menu__more { display: none; }
  .catalog-filters { flex-wrap: wrap; overflow: visible; }
  .academy-showcase .academy-secondary { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .academy-showcase .academy-secondary > * { min-width: 0; width: auto; }
  .academy-showcase .academy-secondary > span { grid-column: 1 / -1; }
  .academy-showcase .academy-secondary a { min-width: 0; border: 0; overflow-wrap: anywhere; }
  .learning-audience { margin-top: 28px; padding-top: 22px; }
  .learning-audience__heading { display: block; margin-bottom: 20px; }
  .learning-audience .learning-audience__heading p { margin-top: 8px; }
  .learning-audience__list { grid-template-columns: 1fr; gap: 18px; }
  .learning-audience__list li { flex-direction: row; gap: 14px; }
  .learning-audience__list svg { width: 28px; height: 28px; margin-top: 2px; }
  .learning-audience .learning-audience__list h3 { margin-bottom: 4px; }
  .catalog-section .learning-audience { padding: 20px 16px; }
  .course-hero__actions > *, .program-course h2 { min-width: 0; overflow-wrap: anywhere; }
  .catalog-course-card__title, .academy-card h3 { overflow-wrap: anywhere; }
}
/* Topic-only course summaries: no empty workload column after 04.10.2026. */
.lesson-card summary:not(:has(> em)) {
  grid-template-columns: 38px minmax(0, 1fr) 36px;
}
.lesson-card summary:not(:has(> em))::after { grid-column: 3; }
@media (max-width: 600px) {
  .lesson-card summary:not(:has(> em)) { grid-template-columns: 34px minmax(0, 1fr) 34px; }
}
