.befi-university {
  --befi-u-accent: #00b2d4;
  --befi-u-text: #1b191b;
  --befi-u-muted: #69666d;
  --befi-u-line: #dedde1;
  --befi-u-soft: #f6f6f7;
  --befi-u-bad: #a12626;
  --befi-u-good: #176d43;
  --befi-u-good-bg: #edf8f1;
  --befi-u-bad-bg: #fff1f1;
  width: 100%;
  color: var(--befi-u-text);
  font: inherit;
}

.befi-university *, .befi-university *::before, .befi-university *::after { box-sizing: border-box; }
.befi-university [hidden] { display: none !important; }
.befi-university button, .befi-university input { font: inherit; }
.befi-university button { -webkit-appearance: none; appearance: none; margin: 0; min-width: 0; min-height: 0; border-radius: 0; box-shadow: none; }
.befi-university__loading, .befi-university__error, .befi-university__empty { padding: 24px 0; }
.befi-university__error { color: var(--befi-u-bad); }

/* 0.1.87 - calm, accessible loading state for the server-rendered University calendar. */
.befi-university.is-loading { position: relative; min-height: 220px; }
.befi-university.is-loading > .befi-university__content,
.befi-university.is-loading > .befi-university__empty {
  visibility: hidden;
  pointer-events: none;
  animation: befi-university-reveal-fallback 0s step-end 10s forwards;
}
.befi-university.is-loading > .befi-university__loading {
  position: absolute;
  z-index: 2;
  inset: 0 0 auto;
  min-height: 220px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  padding: 64px 16px 32px;
  background: #fff;
  color: var(--befi-u-text);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  animation: befi-university-hide-fallback 0s step-end 10s forwards;
}
.befi-university__loading-spinner {
  display: block;
  width: 38px;
  height: 38px;
  border: 3px solid rgba(0, 178, 212, .18);
  border-top-color: var(--befi-u-accent);
  border-radius: 50%;
  animation: befi-university-spinner .8s linear infinite;
}
@keyframes befi-university-spinner { to { transform: rotate(360deg); } }
@keyframes befi-university-reveal-fallback { to { visibility: visible; } }
@keyframes befi-university-hide-fallback { to { visibility: hidden; } }
@media (prefers-reduced-motion: reduce) {
  .befi-university__loading-spinner { animation: none; }
}

.befi-university__toolbar { display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 16px; margin-bottom: 20px; }
.befi-university__month { margin: 0; text-align: center; font: inherit; font-size: clamp(22px, 3vw, 34px); font-weight: 700; }
.befi-university button.befi-university__nav { width: 48px; height: 48px; padding: 0 !important; text-transform: none; border: 0 !important; border-radius: 0; background: var(--befi-u-accent); color: var(--befi-u-text); box-shadow: none; cursor: pointer; }
.befi-university__nav:hover, .befi-university__nav:focus-visible { background: var(--befi-u-text); color: #fff; outline: 0; }
.befi-university__nav:disabled { opacity: .3; cursor: default; background: transparent; }

.befi-university__weekdays, .befi-university__grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.befi-university__weekdays { border-top: 1px solid var(--befi-u-line); border-left: 1px solid var(--befi-u-line); }
.befi-university__weekdays span { padding: 10px 12px; border-right: 1px solid var(--befi-u-line); border-bottom: 1px solid var(--befi-u-line); color: var(--befi-u-muted); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.befi-university-day { min-width: 0; min-height: 150px; padding: 10px; border-right: 1px solid var(--befi-u-line); border-bottom: 1px solid var(--befi-u-line); background: #fff; }
.befi-university-day:nth-child(7n + 1) { border-left: 1px solid var(--befi-u-line); }
.befi-university-day.is-empty { background: var(--befi-u-soft); }
.befi-university-day__number { display: block; margin-bottom: 8px; font-size: 13px; color: var(--befi-u-muted); }
.befi-university-day__events { display: grid; gap: 7px; }
.befi-university button.befi-university-event { display: grid; gap: 3px; width: 100%; margin: 0; padding: 7px !important; border: 0 !important; border-radius: 0; background: var(--befi-u-accent); color: var(--befi-u-text); box-shadow: none; text-align: left; cursor: pointer; }
.befi-university-event:hover, .befi-university-event:focus-visible { background: #fff; outline: 0; }
.befi-university-event strong { font-size: 12px; line-height: 1.25; }
.befi-university-event span, .befi-university-event small { font-size: 11px; line-height: 1.25; }
.befi-university-event small { justify-self: start; margin-top: 3px; padding: 4px 7px; background: rgba(255,255,255,.72); }
.befi-university-event.is-active small { background: var(--befi-u-good-bg); color: var(--befi-u-good); }
.befi-university-event__category { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.befi-university-event.is-sold_out, .befi-university-event.is-cancelled, .befi-university-event.is-ended, .befi-university-event.is-unavailable, .befi-university-event.is-paused { background: #fff; }

.befi-university__list { display: none; }
.befi-university button.befi-university-list-item { width: 100%; display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0 !important; border: 0; border-bottom: 1px solid var(--befi-u-line); background: transparent; color: var(--befi-u-text); box-shadow: none; text-align: left; cursor: pointer; }
.befi-university-list-item__date { display: grid; justify-items: center; }
.befi-university-list-item__date strong { font-size: 30px; line-height: 1; }
.befi-university-list-item__date small { margin-top: 4px; color: var(--befi-u-muted); text-transform: uppercase; }
.befi-university-list-item__content { display: grid; gap: 4px; min-width: 0; }
.befi-university-list-item__content strong { font-size: 18px; }
.befi-university-list-item__content small { color: var(--befi-u-muted); }
.befi-university-list-item__content em { justify-self: start; padding: 4px 7px; background: var(--befi-u-soft); font-size: 12px; font-style: normal; font-weight: 700; text-transform: uppercase; }
.befi-university-list-item.is-active .befi-university-list-item__content em { background: var(--befi-u-good-bg); color: var(--befi-u-good); }

body.befi-university-modal-open { overflow: hidden; }
.befi-university-modal { position: fixed; inset: 0; z-index: 999999; display: grid; place-items: center; padding: 24px; }
.befi-university-modal__backdrop { position: absolute; inset: 0; background: rgba(27, 25, 27, .72); cursor: pointer; }
.befi-university-modal__dialog { position: relative; z-index: 1; width: min(1040px, 100%); max-height: calc(100dvh - 48px); overflow: auto; background: #fff; color: var(--befi-u-text); outline: 0; }
.befi-university button.befi-university-modal__close { position: absolute; top: 16px; right: 16px; z-index: 2; width: 44px; height: 44px; padding: 0 !important; border: 0 !important; border-radius: 0; background: var(--befi-u-accent); color: var(--befi-u-text); box-shadow: none; font-size: 30px; line-height: 1; cursor: pointer; }
.befi-university-modal__close:hover, .befi-university-modal__close:focus-visible { background: var(--befi-u-text); color: #fff; outline: 0; }
.befi-university-modal__body { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, .8fr); }
.befi-university-modal__main, .befi-university-modal__side { min-width: 0; padding: clamp(28px, 5vw, 64px); }
.befi-university-modal__side { border-left: 1px solid var(--befi-u-line); background: #fafafa; }
.befi-university-modal__category { margin-bottom: 12px; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.befi-university-modal h2 { margin: 0 0 10px 0; font: inherit; font-size: clamp(30px, 5vw, 54px); font-weight: 800; line-height: 1.02; }
.befi-university-modal__date { margin-bottom: 30px; font-size: 17px; font-weight: 600; }
.befi-university-modal__description { line-height: 1.6; }
.befi-university-modal__description > :first-child, .befi-university-modal__instructor-content > :first-child, .befi-university-modal__instructor-bio > :first-child { margin-top: 0; }
.befi-university-modal__description > :last-child, .befi-university-modal__instructor-content > :last-child, .befi-university-modal__instructor-bio > :last-child { margin-bottom: 0; }
.befi-university-modal__instructors { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--befi-u-line); }
.befi-university-modal__section-label, .befi-university-modal__location span, .befi-university-modal__price-wrap > span { display: block; margin-bottom: 10px; color: var(--befi-u-muted); font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.befi-university-modal__instructor-list { display: grid; gap: 22px; }
.befi-university-modal__instructor { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 18px; align-items: start; }
.befi-university-modal__instructor img { width: 96px; height: 96px; object-fit: cover; }
.befi-university-modal__instructor strong, .befi-university-modal__location strong { display: block; margin-bottom: 8px; font-size: 18px; }
.befi-university-modal__instructor-bio { color: var(--befi-u-muted); line-height: 1.5; }
.befi-university-modal__location { margin-bottom: 30px; }
.befi-university-modal__location a { display: inline-block; margin-top: 10px; color: var(--befi-u-text); text-decoration: underline; }
.befi-university-modal__sale { display: grid; gap: 18px; }
.befi-university-modal__status { display: grid; gap: 5px; padding: 14px 16px; border: 0; background: var(--befi-u-soft); }
.befi-university-modal__status strong { font-size: 15px; }
.befi-university-modal__status span { color: var(--befi-u-muted); font-size: 13px; line-height: 1.4; }
.befi-university-modal__status.is-active { background: var(--befi-u-good-bg); color: var(--befi-u-good); }
.befi-university-modal__status.is-active span { color: var(--befi-u-good); }
.befi-university-modal__status.is-cancelled, .befi-university-modal__status.is-sold_out { background: var(--befi-u-bad-bg); color: var(--befi-u-bad); }
.befi-university-modal__price-wrap { min-width: 0; }
.befi-university-modal__price-wrap strong,
.befi-university-modal__price-wrap .woocommerce-Price-amount,
.befi-university-modal__price-wrap .woocommerce-Price-amount bdi { display: inline-flex !important; align-items: baseline; gap: .18em; white-space: nowrap; }
.befi-university-modal__price-wrap .woocommerce-Price-currencySymbol { display: inline !important; white-space: nowrap; }
.befi-university-modal__price-wrap strong { font-size: clamp(34px, 5vw, 54px); line-height: 1; }
.befi-university-modal__places { font-size: 14px; }
.befi-university-modal__buy { display: grid; gap: 12px; }
.befi-university-modal__buy label { font-weight: 700; }
.befi-university-qty { display: grid; grid-template-columns: 48px minmax(70px, 1fr) 48px; width: min(220px, 100%); border: 1px solid var(--befi-u-line); background: #fff; }
.befi-university-qty button, .befi-university-qty input { height: 48px; margin: 0; border: 0 !important; border-radius: 0; background: #fff; color: var(--befi-u-text); box-shadow: none; text-align: center; }
.befi-university-qty input { border-left: 1px solid var(--befi-u-line) !important; border-right: 1px solid var(--befi-u-line) !important; -moz-appearance: textfield; }
.befi-university-qty input::-webkit-outer-spin-button, .befi-university-qty input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; }
.befi-university .befi-university-qty > button { min-width: 0 !important; min-height: 0 !important; padding: 0 !important; text-transform: none; cursor: pointer; }
.befi-university-qty button:hover, .befi-university-qty button:focus-visible { background: var(--befi-u-accent); outline: 0; }
.befi-university button.befi-university__buy-button, .befi-university a.befi-university__cart-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 15px 25px !important; border: 0 !important; border-radius: 0; background: var(--befi-u-accent); color: var(--befi-u-text); box-shadow: none; font: inherit; font-weight: 700; line-height: 1; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.befi-university__buy-button:hover, .befi-university__buy-button:focus-visible, .befi-university__cart-button:hover, .befi-university__cart-button:focus-visible { background: var(--befi-u-text); color: #fff; outline: 0; text-decoration: none; }
.befi-university button.befi-university__continue-button { justify-self: start; min-height: 0; padding: 2px 0 !important; border: 0 !important; background: transparent; color: var(--befi-u-text); box-shadow: none; font: inherit; font-weight: 500; line-height: 1.35; text-decoration: underline; text-underline-offset: 3px; text-transform: none; cursor: pointer; }
.befi-university__continue-button:hover, .befi-university__continue-button:focus-visible { background: transparent; color: var(--befi-u-text); outline: 0; text-decoration-thickness: 2px; }
.befi-university-modal__feedback { padding: 14px 16px; border: 0; background: var(--befi-u-soft); font-size: 14px; line-height: 1.45; }
.befi-university-modal__feedback.is-success { background: var(--befi-u-good-bg); color: var(--befi-u-good); }
.befi-university-modal__feedback.is-error { background: var(--befi-u-bad-bg); color: var(--befi-u-bad); }
.befi-university-modal__success-actions { display: grid; gap: 14px; }

@media (max-width: 900px) {
  .befi-university-day { min-height: 120px; padding: 7px; }
  .befi-university button.befi-university-event { padding: 7px !important; }
  .befi-university-event__category { display: none; }
  .befi-university-modal__body { grid-template-columns: 1fr; }
  .befi-university-modal__side { border-top: 1px solid var(--befi-u-line); border-left: 0; }
}

@media (max-width: 767px) {
  .befi-university__calendar { display: none; }
  .befi-university__list { display: block; }
  .befi-university__toolbar { grid-template-columns: 44px minmax(0, 1fr) 44px; gap: 10px; }
  .befi-university button.befi-university__nav { width: 44px; height: 44px; }
  .befi-university__month { font-size: 22px; }
  .befi-university-modal { padding: 0; place-items: stretch; }
  .befi-university-modal__dialog { width: 100%; max-height: 100dvh; min-height: 100dvh; }
  .befi-university-modal__main, .befi-university-modal__side { padding: 30px 22px; }
  .befi-university button.befi-university-modal__close { top: 12px; right: 12px; }
  .befi-university-modal h2 { margin-right: 0; font-size: 34px; }
}

@media (max-width: 480px) {
  .befi-university-modal__instructor { grid-template-columns: 72px minmax(0, 1fr); }
  .befi-university-modal__instructor img { width: 72px; height: 72px; }
  .befi-university button.befi-university__buy-button, .befi-university a.befi-university__cart-button { width: 100%; }
  .befi-university button.befi-university__continue-button { width: auto; }
}

/* Isolate University controls from global Elementor/theme button padding and transforms. */
.befi-university button.befi-university-event,
.befi-university button.befi-university-list-item { text-transform: none; }
.befi-university button.befi-university__buy-button,
.befi-university button.befi-university__continue-button { min-width: 0 !important; }

/* 0.1.35 — public University UI aligned with befi.pl */
.befi-university,
.befi-university * {
  font-family: Inter, sans-serif !important;
}

/* Active trainings need no redundant status label. Unavailable states are muted in the calendar/list. */
.befi-university button.befi-university-event.is-sold_out,
.befi-university button.befi-university-event.is-cancelled,
.befi-university button.befi-university-event.is-ended,
.befi-university button.befi-university-event.is-unavailable,
.befi-university button.befi-university-event.is-unconfigured,
.befi-university button.befi-university-event.is-upcoming,
.befi-university button.befi-university-event.is-paused {
  background: #efeff0;
  color: var(--befi-u-muted);
  opacity: .72;
}
.befi-university button.befi-university-list-item.is-sold_out,
.befi-university button.befi-university-list-item.is-cancelled,
.befi-university button.befi-university-list-item.is-ended,
.befi-university button.befi-university-list-item.is-unavailable,
.befi-university button.befi-university-list-item.is-unconfigured,
.befi-university button.befi-university-list-item.is-upcoming,
.befi-university button.befi-university-list-item.is-paused {
  color: var(--befi-u-muted);
  opacity: .62;
}

.befi-university button.befi-university-event,
.befi-university button.befi-university-list-item,
.befi-university button.befi-university__nav,
.befi-university button.befi-university-modal__close,
.befi-university button.befi-university__buy-button,
.befi-university button.befi-university__continue-button {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Price value is plain text and is never allowed to split the currency to another line. */
.befi-university-modal__price-wrap strong {
  display: flex !important;
  align-items: baseline;
  flex-wrap: nowrap;
  width: max-content;
  max-width: 100%;
  white-space: nowrap !important;
}

/* Public text links use one consistent treatment. */
.befi-university-modal__location a,
.befi-university button.befi-university__continue-button {
  display: inline-flex;
  align-items: center;
  width: auto;
  margin: 10px 0 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--befi-u-text) !important;
  box-shadow: none !important;
  font-size: 16px;
  font-weight: 400 !important;
  line-height: 1.4;
  text-decoration: none !important;
  text-transform: none !important;
}
.befi-university-modal__location a:hover,
.befi-university-modal__location a:focus-visible,
.befi-university button.befi-university__continue-button:hover,
.befi-university button.befi-university__continue-button:focus-visible {
  color: var(--befi-u-text) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
  outline: 0 !important;
}

/* Success state follows the light cart/checkout language instead of adding another boxed panel. */
.befi-university-modal__feedback.is-success {
  padding: 0;
  background: transparent;
  color: var(--befi-u-good);
  font-size: 14px;
}
.befi-university-modal__success-actions {
  gap: 16px;
}
.befi-university a.befi-university__cart-button {
  width: 100%;
  border: 0 !important;
  white-space: nowrap;
}

/* 0.1.36 — modal spacing, compact presenters and simplified unavailable states. */
.befi-university .befi-university-modal__main,
.befi-university .befi-university-modal__side {
  padding: clamp(32px, 4.25vw, 58px) !important;
}
.befi-university .befi-university-modal__main {
  padding-right: clamp(38px, 5vw, 68px) !important;
}
.befi-university .befi-university-modal__side {
  padding-left: clamp(38px, 4.5vw, 62px) !important;
  padding-right: clamp(38px, 4.5vw, 62px) !important;
  background: #fff;
  overflow: hidden;
}

/* No secondary sentence under states such as "Sprzedaż wkrótce" or "Sprzedaż wstrzymana". */
.befi-university-modal__status {
  display: block;
}
.befi-university-modal__status > span {
  display: none !important;
}

/* Price is text, not HTML. Keep value and currency together without letting it overrun the side column. */
.befi-university-modal__price-wrap strong {
  display: inline-flex !important;
  width: auto !important;
  max-width: 100%;
  white-space: nowrap !important;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1;
}

/* Presenters are always full-width rows. Bios open on request, without card backgrounds. */
.befi-university-modal__instructor-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.befi-university-modal__instructor {
  display: block;
  min-width: 0;
  padding: 18px 0;
  background: transparent;
  border-bottom: 1px solid var(--befi-u-line);
}
.befi-university-modal__instructor:first-child { padding-top: 6px; }
.befi-university-modal__instructor:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.befi-university-modal__instructor-summary {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  min-width: 0;
  padding: 0;
  background: transparent;
  list-style: none;
  cursor: pointer;
}
.befi-university-modal__instructor-summary::-webkit-details-marker { display: none; }
.befi-university-modal__instructor-summary::marker { content: ''; }
.befi-university-modal__instructor.is-static .befi-university-modal__instructor-summary { cursor: default; }
.befi-university-modal__instructor img,
.befi-university-modal__instructor-placeholder {
  display: block;
  width: 72px;
  height: 72px;
  object-fit: cover;
  background: #fff;
}
.befi-university-modal__instructor-placeholder { border: 1px solid var(--befi-u-line); }
.befi-university-modal__instructor-heading {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.befi-university-modal__person-double-role {
  display: block; color: var(--befi-u-muted); font-size: 12px; font-weight: 400; line-height: 1.3;
}
.befi-university-landing__instructor-role { color: var(--befi-u-accent); font-size: 13px; font-weight: 600; }
.befi-university-modal__instructor-summary strong {
  display: block;
  margin: 0;
  font-size: 17px;
  line-height: 1.25;
}
.befi-university-modal__instructor-toggle {
  display: inline-flex;
  align-items: center;
  width: max-content;
  color: var(--befi-u-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.2;
}
.befi-university-modal__instructor-toggle-collapse { display: none; }
.befi-university-modal__instructor[open] .befi-university-modal__instructor-toggle-expand { display: none; }
.befi-university-modal__instructor[open] .befi-university-modal__instructor-toggle-collapse { display: inline; }
.befi-university-modal__instructor-bio {
  margin: 16px 0 0 90px;
  padding: 16px 0 0;
  border-top: 1px solid var(--befi-u-line);
  color: var(--befi-u-muted);
  font-size: 14px;
  line-height: 1.55;
}

/* Calendar event buttons fully reset global button typography/spacing while keeping plugin layout. */
.befi-university button.befi-university-event {
  min-height: 0 !important;
  line-height: 1.25 !important;
  letter-spacing: normal !important;
  text-decoration: none !important;
}
.befi-university button.befi-university-event strong,
.befi-university button.befi-university-event span {
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

@media (max-width: 900px) {
  .befi-university .befi-university-modal__main,
  .befi-university .befi-university-modal__side {
    padding: 30px 24px !important;
  }
}
@media (max-width: 620px) {
  .befi-university-modal__instructor-summary { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; }
  .befi-university-modal__instructor img,
  .befi-university-modal__instructor-placeholder { width: 64px; height: 64px; }
  .befi-university-modal__instructor-bio { margin-left: 78px; }
}


/* 0.1.38 — final visual alignment with BEFI cart/checkout. */
.befi-university {
  --befi-u-upcoming: #3f5f78;
  --befi-u-upcoming-bg: #eef3f7;
}

/* Upcoming is informative, not disabled-looking black/grey. */
.befi-university button.befi-university-event.is-upcoming {
  background: var(--befi-u-upcoming-bg) !important;
  color: var(--befi-u-upcoming) !important;
  opacity: 1 !important;
}
.befi-university button.befi-university-list-item.is-upcoming {
  color: var(--befi-u-upcoming) !important;
  opacity: 1 !important;
}
.befi-university-modal__status.is-upcoming {
  background: var(--befi-u-upcoming-bg) !important;
  color: var(--befi-u-upcoming) !important;
}

/* Calendar titles keep a safe visual gutter from the right edge. */
.befi-university button.befi-university-event {
  padding: 10px 16px 10px 12px !important;
}
.befi-university button.befi-university-event > strong {
  display: block;
  min-width: 0;
  padding-right: 10px !important;
  overflow-wrap: anywhere;
}

/* Category / place / presenters use the same strong visual label. */
.befi-university-modal__category,
.befi-university-modal__section-label,
.befi-university-modal__location > span {
  color: #1b191b !important;
  font-weight: 800 !important;
}

.befi-university-modal__instructor-summary strong {
  font-weight: 800 !important;
}

/* Purchase column aligned to the full width of the CTA. */
.befi-university-modal__buy {
  width: 100%;
}
.befi-university-modal__buy > label {
  color: #1b191b;
  font-weight: 800 !important;
}
.befi-university-qty {
  width: 100% !important;
  max-width: none !important;
}
.befi-university button.befi-university__buy-button,
.befi-university a.befi-university__cart-button {
  width: 100%;
  font-weight: 800 !important;
}

/* Price is compact, extra bold and kept on one line. */
.befi-university-modal__price-wrap strong {
  font-size: 32px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
}

/* Success feedback should be visible without becoming another card. */
.befi-university-modal__feedback.is-success {
  font-weight: 700;
}

/* 0.1.39 — stronger title gutter inside calendar event cards. */
.befi-university button.befi-university-event {
  width: calc(100% - 8px) !important;
  justify-self: start;
  padding: 10px 32px 10px 14px !important;
  overflow: hidden;
}
.befi-university button.befi-university-event > strong {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 !important;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
@media (max-width: 900px) {
  .befi-university button.befi-university-event {
    width: calc(100% - 6px) !important;
    padding: 8px 24px 8px 10px !important;
  }
}


/* 0.1.43 — unified unavailable states and final calendar spacing. */
.befi-university {
  --befi-u-unavailable: #3f5f78;
  --befi-u-unavailable-bg: #eef3f7;
}

.befi-university button.befi-university-event {
  width: 100% !important;
  padding: 7px !important;
}

.befi-university button.befi-university-event.is-upcoming,
.befi-university button.befi-university-event.is-paused,
.befi-university button.befi-university-event.is-sold_out,
.befi-university button.befi-university-event.is-cancelled,
.befi-university button.befi-university-event.is-ended,
.befi-university button.befi-university-event.is-unavailable,
.befi-university button.befi-university-event.is-unconfigured {
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
  opacity: 1 !important;
}

.befi-university button.befi-university-list-item.is-upcoming,
.befi-university button.befi-university-list-item.is-paused,
.befi-university button.befi-university-list-item.is-sold_out,
.befi-university button.befi-university-list-item.is-cancelled,
.befi-university button.befi-university-list-item.is-ended,
.befi-university button.befi-university-list-item.is-unavailable,
.befi-university button.befi-university-list-item.is-unconfigured {
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
  opacity: 1 !important;
}

.befi-university-modal__status.is-upcoming,
.befi-university-modal__status.is-paused,
.befi-university-modal__status.is-sold_out,
.befi-university-modal__status.is-cancelled,
.befi-university-modal__status.is-ended,
.befi-university-modal__status.is-unavailable,
.befi-university-modal__status.is-unconfigured {
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
  opacity: 1 !important;
}

@media (max-width: 900px) {
  .befi-university button.befi-university-event {
    width: 100% !important;
    padding: 7px !important;
  }
}


/* 0.1.45 - presenter accordion motion and title spacing. */
.befi-university-modal h2 { margin-right: 0 !important; }
.befi-university-modal__instructor {
  overflow: clip;
}
.befi-university-modal__instructor.is-animating {
  will-change: height;
}
@media (prefers-reduced-motion: reduce) {
  .befi-university-modal__instructor {
    scroll-behavior: auto;
  }
}

/* 0.1.50 — global multi-year BEFI University program. */
.befi-university__years {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 30px;
}
.befi-university__years[hidden] { display: none !important; }
.befi-university__years a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 72px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid var(--befi-u-line);
  color: var(--befi-u-text);
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  text-decoration: none !important;
}
.befi-university__years a:hover,
.befi-university__years a:focus-visible {
  background: var(--befi-u-accent);
  border-color: var(--befi-u-accent);
  color: var(--befi-u-text);
  outline: 0;
}

.befi-university__program {
  display: grid;
  gap: 56px;
}
.befi-university-program__year {
  min-width: 0;
  scroll-margin-top: 110px;
}
.befi-university-program__year > h2 {
  margin: 0 0 22px;
  color: var(--befi-u-text);
  font-size: clamp(30px, 4vw, 46px);
  font-weight: 800;
  line-height: 1;
}
/* Years have no divider; the blue 84 x 1 px lines remain only below month headings. */
.befi-university-program__months {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 26px;
  align-items: start;
}
.befi-university-program__month {
  min-width: 0;
  border: 0;
  padding-top: 0;
}
.befi-university-program__month > h3 {
  margin: 0;
  color: var(--befi-u-text);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .06em;
}
/* Explicit divider element keeps the line reliably below the month title on desktop and mobile. */
.befi-university-program__month-divider {
  display: block;
  width: 84px;
  max-width: 100%;
  height: 1px;
  margin: 12px 0 14px;
  background: var(--befi-u-accent);
}
.befi-university-program__events {
  display: grid;
  gap: 8px;
}

.befi-university button.befi-university-program-event {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  width: 100%;
  min-width: 0;
  margin: 0;
  padding: 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: var(--befi-u-accent);
  color: var(--befi-u-text);
  box-shadow: none !important;
  text-align: left;
  text-transform: none !important;
  cursor: pointer;
}
.befi-university button.befi-university-program-event:hover,
.befi-university button.befi-university-program-event:focus-visible {
  background: #fff;
  outline: 1px solid var(--befi-u-text) !important;
  outline-offset: -1px;
}
.befi-university-program-event__date {
  display: grid;
  justify-items: center;
  align-content: center;
  min-width: 0;
}
.befi-university-program-event__date strong {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit;
  font-size: 25px;
  font-weight: 800;
  line-height: 1;
}
.befi-university-program-event__date small {
  margin-top: 4px;
  color: inherit;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}
.befi-university-program-event__content {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.befi-university-program-event__category {
  color: inherit;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.befi-university-program-event__title {
  display: block;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  overflow-wrap: break-word;
}
.befi-university-program-event__time {
  color: inherit;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.25;
}

.befi-university button.befi-university-program-event.is-upcoming,
.befi-university button.befi-university-program-event.is-paused,
.befi-university button.befi-university-program-event.is-sold_out,
.befi-university button.befi-university-program-event.is-cancelled,
.befi-university button.befi-university-program-event.is-ended,
.befi-university button.befi-university-program-event.is-unavailable,
.befi-university button.befi-university-program-event.is-unconfigured {
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
  opacity: 1 !important;
}

/* Extra breathing room between calendar month rows on desktop only. */
@media (min-width: 981px) {
  .befi-university-program__months {
    row-gap: 44px;
  }
}

@media (max-width: 980px) {
  .befi-university-program__months {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .befi-university__years {
    margin-bottom: 24px;
  }
  .befi-university__years a {
    min-width: 64px;
    padding: 9px 13px;
  }
  .befi-university__program {
    gap: 42px;
  }
  .befi-university-program__year > h2 {
    margin-bottom: 18px;
  }
  .befi-university-program__months {
    grid-template-columns: minmax(0, 1fr);
    gap: 30px;
  }
  .befi-university-program__month-divider {
    margin-bottom: 16px;
  }
  .befi-university button.befi-university-program-event {
    grid-template-columns: 48px minmax(0, 1fr);
    padding: 10px !important;
  }
}


/* 0.1.51 — keep calendar tiles immune to global theme hover/focus button styles. */
.befi-university button.befi-university-event,
.befi-university button.befi-university-event:hover,
.befi-university button.befi-university-event:focus,
.befi-university button.befi-university-event:focus-visible,
.befi-university button.befi-university-event:active {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}
.befi-university button.befi-university-event:hover,
.befi-university button.befi-university-event:focus,
.befi-university button.befi-university-event:focus-visible,
.befi-university button.befi-university-event:active {
  background: var(--befi-u-accent) !important;
  color: var(--befi-u-text) !important;
}
.befi-university button.befi-university-event.is-upcoming:hover,
.befi-university button.befi-university-event.is-upcoming:focus,
.befi-university button.befi-university-event.is-paused:hover,
.befi-university button.befi-university-event.is-paused:focus,
.befi-university button.befi-university-event.is-sold_out:hover,
.befi-university button.befi-university-event.is-sold_out:focus,
.befi-university button.befi-university-event.is-cancelled:hover,
.befi-university button.befi-university-event.is-cancelled:focus,
.befi-university button.befi-university-event.is-ended:hover,
.befi-university button.befi-university-event.is-ended:focus,
.befi-university button.befi-university-event.is-unavailable:hover,
.befi-university button.befi-university-event.is-unavailable:focus,
.befi-university button.befi-university-event.is-unconfigured:hover,
.befi-university button.befi-university-event.is-unconfigured:focus {
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
}
.befi-university button.befi-university-event::before,
.befi-university button.befi-university-event::after {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}


/* 0.1.52 — two-line calendar titles and stable program-card interaction. */
.befi-university-program-event__content {
  min-width: 0;
  max-width: 100%;
}
.befi-university-program-event__title {
  display: -webkit-box !important;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
.befi-university button.befi-university-program-event,
.befi-university button.befi-university-program-event:hover,
.befi-university button.befi-university-program-event:focus,
.befi-university button.befi-university-program-event:focus-visible,
.befi-university button.befi-university-program-event:active {
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  text-decoration: none !important;
}
.befi-university button.befi-university-program-event:hover,
.befi-university button.befi-university-program-event:focus,
.befi-university button.befi-university-program-event:focus-visible,
.befi-university button.befi-university-program-event:active {
  background: var(--befi-u-accent) !important;
  color: var(--befi-u-text) !important;
}
.befi-university button.befi-university-program-event.is-upcoming:hover,
.befi-university button.befi-university-program-event.is-upcoming:focus,
.befi-university button.befi-university-program-event.is-paused:hover,
.befi-university button.befi-university-program-event.is-paused:focus,
.befi-university button.befi-university-program-event.is-sold_out:hover,
.befi-university button.befi-university-program-event.is-sold_out:focus,
.befi-university button.befi-university-program-event.is-cancelled:hover,
.befi-university button.befi-university-program-event.is-cancelled:focus,
.befi-university button.befi-university-program-event.is-ended:hover,
.befi-university button.befi-university-program-event.is-ended:focus,
.befi-university button.befi-university-program-event.is-unavailable:hover,
.befi-university button.befi-university-program-event.is-unavailable:focus,
.befi-university button.befi-university-program-event.is-unconfigured:hover,
.befi-university button.befi-university-program-event.is-unconfigured:focus {
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
}

/* 0.1.55 — final BEFI University accent and branded annual-program cards. */
.befi-university button.befi-university-program-event {
  position: relative;
  overflow: hidden;
  border: 1px solid #1b191b !important;
  background: var(--befi-u-accent) !important;
  color: #1b191b !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  transition: background-color .2s ease;
}
.befi-university button.befi-university-program-event::before,
.befi-university button.befi-university-program-event::after {
  content: none !important;
  display: none !important;
}
.befi-university button.befi-university-program-event:hover,
.befi-university button.befi-university-program-event:focus,
.befi-university button.befi-university-program-event:focus-visible,
.befi-university button.befi-university-program-event:active {
  border: 1px solid #1b191b !important;
  background: #fff !important;
  color: #1b191b !important;
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* Unavailable items keep the calm blue-grey state on all interactions. */
.befi-university button.befi-university-program-event.is-upcoming,
.befi-university button.befi-university-program-event.is-paused,
.befi-university button.befi-university-program-event.is-sold_out,
.befi-university button.befi-university-program-event.is-cancelled,
.befi-university button.befi-university-program-event.is-ended,
.befi-university button.befi-university-program-event.is-unavailable,
.befi-university button.befi-university-program-event.is-unconfigured,
.befi-university button.befi-university-program-event.is-upcoming:hover,
.befi-university button.befi-university-program-event.is-upcoming:focus,
.befi-university button.befi-university-program-event.is-upcoming:focus-visible,
.befi-university button.befi-university-program-event.is-paused:hover,
.befi-university button.befi-university-program-event.is-paused:focus,
.befi-university button.befi-university-program-event.is-paused:focus-visible,
.befi-university button.befi-university-program-event.is-sold_out:hover,
.befi-university button.befi-university-program-event.is-sold_out:focus,
.befi-university button.befi-university-program-event.is-sold_out:focus-visible,
.befi-university button.befi-university-program-event.is-cancelled:hover,
.befi-university button.befi-university-program-event.is-cancelled:focus,
.befi-university button.befi-university-program-event.is-cancelled:focus-visible,
.befi-university button.befi-university-program-event.is-ended:hover,
.befi-university button.befi-university-program-event.is-ended:focus,
.befi-university button.befi-university-program-event.is-ended:focus-visible,
.befi-university button.befi-university-program-event.is-unavailable:hover,
.befi-university button.befi-university-program-event.is-unavailable:focus,
.befi-university button.befi-university-program-event.is-unavailable:focus-visible,
.befi-university button.befi-university-program-event.is-unconfigured:hover,
.befi-university button.befi-university-program-event.is-unconfigured:focus,
.befi-university button.befi-university-program-event.is-unconfigured:focus-visible {
  border-color: var(--befi-u-unavailable) !important;
  background: var(--befi-u-unavailable-bg) !important;
  color: var(--befi-u-unavailable) !important;
}

/* 0.1.79: calendar active tiles keep their original full-primary hover. */
.befi-university button.befi-university-program-event.is-active {
  border: 1px solid var(--befi-u-text) !important;
  background: transparent !important;
  color: var(--befi-u-text) !important;
  transition: border-color .2s ease, background-color .2s ease !important;
}
.befi-university button.befi-university-program-event.is-active:hover,
.befi-university button.befi-university-program-event.is-active:focus,
.befi-university button.befi-university-program-event.is-active:focus-visible,
.befi-university button.befi-university-program-event.is-active:active {
  border-color: var(--befi-u-accent) !important;
  background: var(--befi-u-accent) !important;
  color: var(--befi-u-text) !important;
}

/* Keep the user's current modal title scale in packaged updates. */
.befi-university-modal h2 {
  font-size: clamp(1.25rem, 9vw, 2rem) !important;
}


/* 0.1.59 — University landing components. */
.befi-university-landing,
.befi-university-other,
.befi-university-landing__description,
.befi-university-landing__instructors,
.befi-university-landing__dates {
  --befi-u-accent: #00b2d4;
  --befi-u-text: #1b191b;
  --befi-u-muted: #69666d;
  --befi-u-line: #dedde1;
  --befi-u-soft: #f7f7f7;
  color: var(--befi-u-text);
}
.befi-university-landing__description {
  line-height: 1.7;
}
.befi-university-landing__description > :first-child,
.befi-university-landing__instructor-bio > :first-child { margin-top: 0; }
.befi-university-landing__description > :last-child,
.befi-university-landing__instructor-bio > :last-child { margin-bottom: 0; }
.befi-university-landing__instructor-grid {
  display: grid;
  gap: 28px;
}
.befi-university-landing__instructor {
  display: grid;
  grid-template-columns: minmax(160px, 240px) minmax(0, 1fr);
  gap: clamp(24px, 4vw, 54px);
  align-items: start;
}
.befi-university-landing__instructor img {
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.befi-university-landing__instructor h3 {
  margin: 0 0 14px;
  color: var(--befi-u-text);
  font-size: clamp(1.35rem, 3vw, 2rem);
  font-weight: 800;
}
.befi-university-landing__instructor-bio { line-height: 1.65; }
.befi-university-landing__date-list {
  display: grid;
  gap: 12px;
}
.befi-university-landing-date {
  display: grid;
  grid-template-columns: minmax(150px, .8fr) minmax(200px, 1.2fr) minmax(180px, .8fr);
  gap: 22px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--befi-u-text);
  background: #fff;
}
.befi-university-landing-date__date,
.befi-university-landing-date__place,
.befi-university-landing-date__action {
  display: grid;
  gap: 4px;
}
.befi-university-landing-date__date strong { font-size: 20px; font-weight: 800; }
.befi-university-landing-date__date span,
.befi-university-landing-date__place span,
.befi-university-landing-date__status { color: var(--befi-u-muted); }
.befi-university-landing-date__action { justify-items: end; }
.befi-university-landing-date__price { font-size: 21px; font-weight: 800; }
.befi-university-landing-date__action a,
.befi-university-modal__learn-more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 12px 18px;
  border: 1px solid var(--befi-u-text);
  border-radius: 0;
  background: var(--befi-u-accent);
  color: var(--befi-u-text);
  box-shadow: none;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}
.befi-university-landing-date__action a:hover,
.befi-university-landing-date__action a:focus,
.befi-university-modal__learn-more a:hover,
.befi-university-modal__learn-more a:focus {
  background: #fff;
  color: var(--befi-u-text);
  outline: 0;
  box-shadow: none;
}
.befi-university-modal__learn-more { margin-top: 18px; }
.befi-university-modal__learn-more a { width: 100%; background: #fff; }
.befi-university-modal__learn-more a:hover,
.befi-university-modal__learn-more a:focus { background: var(--befi-u-accent); }
.befi-university-other h2 {
  margin: 0 0 24px;
  color: var(--befi-u-text);
  font-weight: 800;
}
.befi-university-other__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.befi-university-other-card {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--befi-u-text);
  background: #fff;
  color: var(--befi-u-text);
  text-decoration: none !important;
  transition: background-color .2s ease;
}
.befi-university-other-card:hover,
.befi-university-other-card:focus {
  background: var(--befi-u-accent);
  color: var(--befi-u-text);
  outline: 0;
  box-shadow: none;
}
.befi-university-other-card__category {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.befi-university-other-card > strong {
  font-size: 20px;
  line-height: 1.2;
  font-weight: 800;
}
.befi-university-other-card > span,
.befi-university-other-card > small { color: inherit; }
.befi-university-other-card > em {
  margin-top: 8px;
  font-style: normal;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 900px) {
  .befi-university-other__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .befi-university-landing-date { grid-template-columns: 1fr 1fr; }
  .befi-university-landing-date__action { grid-column: 1 / -1; justify-items: start; }
}
@media (max-width: 620px) {
  .befi-university-landing__instructor,
  .befi-university-landing-date,
  .befi-university-other__grid { grid-template-columns: 1fr; }
  .befi-university-landing__instructor img { max-width: 240px; }
}
.befi-university-landing__section,
.befi-university-landing > .befi-university-other {
  margin-top: clamp(42px, 7vw, 84px);
}
.befi-university-landing__section > h2 {
  margin: 0 0 24px;
  color: var(--befi-u-text);
  font-weight: 800;
}

/* 0.1.64 - dynamic purchase shortcode. Elementor controls section typography/layout. */
.befi-university-purchase__options { display: grid; gap: 12px; }
.befi-university-purchase__link { display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 16px 20px; border: 1px solid #1b191b; color: #1b191b; background: #fff; text-decoration: none; }
.befi-university-purchase__link:hover, .befi-university-purchase__link:focus-visible { border-color: #00b2d4; color: #1b191b; background: #fff; box-shadow: none; outline: 0; }
.befi-university-purchase__link strong { font-weight: 700; }
.befi-university-purchase__link span:last-child { font-weight: 700; }
.befi-university-price-from .woocommerce-Price-amount { font-weight: inherit; }
@media (max-width: 600px) { .befi-university-purchase__link { align-items: flex-start; flex-direction: column; gap: 6px; } }

/* 0.1.72: reliable navigation to year headings in Elementor layouts. */
.befi-university{--befi-year-offset:100px}
.befi-university-program__year{scroll-margin-top:100px}

/* Alternative compact list for the "other upcoming trainings" upsell. */
.befi-university-other__list{display:grid;gap:12px}
/* 0.1.79: the other-training row changes only its border, not its background. */
.befi-university-other-date{display:grid;grid-template-columns:minmax(145px,.75fr) minmax(260px,2fr) minmax(140px,.75fr);align-items:center;gap:22px;padding:18px 20px;border:1px solid var(--befi-u-text);color:var(--befi-u-text);background:#fff;text-decoration:none!important;transition:border-color .2s ease}
.befi-university-other-date:hover,.befi-university-other-date:focus-visible{border-color:var(--befi-u-accent)!important;background:#fff!important;color:var(--befi-u-text);box-shadow:none;outline:0}
.befi-university-other-date__date,.befi-university-other-date__details{display:grid;gap:4px;min-width:0}
.befi-university-other-date__date strong{font-size:20px;font-weight:800}
.befi-university-other-date__details strong{font-size:19px;font-weight:800;line-height:1.25}
.befi-university-other-date__date small,.befi-university-other-date__details small{font-size:14px;color:var(--befi-u-muted)}
.befi-university-other-date__details span{font-size:15px}
.befi-university-other-date__action{justify-self:end;font-weight:700;white-space:nowrap}
@media(max-width:900px){.befi-university-other-date{grid-template-columns:1fr 2fr}.befi-university-other-date__action{grid-column:2;justify-self:start}}
@media(max-width:620px){.befi-university-other-date{grid-template-columns:1fr;gap:12px}.befi-university-other-date__action{grid-column:1}}

/* 0.1.83: smooth CTA hover only inside the BEFI University calendar modal. */
.befi-university .befi-university-modal button.befi-university__buy-button {
  border: 1px solid transparent !important;
  background-color: var(--befi-u-accent) !important;
  color: var(--befi-u-text) !important;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease !important;
}
.befi-university .befi-university-modal button.befi-university__buy-button:hover,
.befi-university .befi-university-modal button.befi-university__buy-button:focus-visible {
  border-color: var(--befi-u-text) !important;
  background-color: transparent !important;
  color: var(--befi-u-text) !important;
}
.befi-university .befi-university-modal__learn-more a {
  transition: background-color .25s ease, border-color .25s ease, color .25s ease !important;
}
.befi-university .befi-university-modal__learn-more a:hover,
.befi-university .befi-university-modal__learn-more a:focus-visible {
  background-color: var(--befi-u-accent);
  border-color: var(--befi-u-text);
  color: var(--befi-u-text);
}
@media (prefers-reduced-motion: reduce) {
  .befi-university .befi-university-modal button.befi-university__buy-button,
  .befi-university .befi-university-modal__learn-more a {
    transition: none !important;
  }
}

/* University modal CTA: dark outline at rest, primary outline + fill on hover/focus. */
.befi-university .befi-university-modal__learn-more a {
  border: 1px solid #1B191B !important;
  background-color: transparent;
  color: #1B191B;
  text-transform: uppercase !important;
  transition: background-color 250ms ease, border-color 250ms ease, color 250ms ease !important;
}
.befi-university .befi-university-modal__learn-more a:hover,
.befi-university .befi-university-modal__learn-more a:focus,
.befi-university .befi-university-modal__learn-more a:focus-visible {
  border-color: var(--befi-u-accent, #00B2D4) !important;
  background-color: var(--befi-u-accent, #00B2D4) !important;
  color: #1B191B !important;
}
@media (prefers-reduced-motion: reduce) {
  .befi-university .befi-university-modal__learn-more a { transition: none !important; }
}

/* 0.1.88: Neutral state while the modal checks the live sale fragment. */
.befi-university .befi-university-modal__status.is-loading {
  padding: 8px 0;
  border: 0;
  background: transparent;
  color: var(--befi-u-muted);
  font-size: 14px;
  line-height: 1.5;
}
.befi-university .befi-university-modal__status.is-error {
  background: var(--befi-u-bad-bg);
  color: var(--befi-u-bad);
}


/* 0.1.91: preserve the intentionally compact two-line title treatment.
   The full heading remains in the modal and training landing. */
.befi-university .befi-university-program-event__title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  overflow: hidden !important;
  max-height: 2.5em;
  text-overflow: ellipsis;
}

/* Desktop cards reserve two lines so the time aligns for short and long titles. */
@media (min-width: 981px) {
  .befi-university button.befi-university-program-event {
    min-height: 120px !important;
  }
  .befi-university .befi-university-program-event__title {
    min-height: 2.5em;
  }
}

/* 0.1.102: gold certificate-star appears only for admin-selected training IDs.
   Keep the original two-line clamp on the text and the symbol outside the clamp. */
.befi-university .befi-university-program-event__heading {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
}
.befi-university .befi-university-program-event__heading > .befi-university-program-event__title {
  flex: 1 1 auto;
  min-width: 0;
}
.befi-university .befi-university-certificate-star {
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin: 0;
  vertical-align: -.13em;
  fill: #FEF10C;
  stroke: none;
}
.befi-university .befi-university-certificate-star path {
  fill: #FEF10C;
  stroke: none;
}
.befi-university .befi-university-modal__certificate {
  display: inline-flex;
  margin-inline-start: 7px;
  vertical-align: middle;
}
.befi-university .befi-university-modal__certificate .befi-university-certificate-star {
  width: 21px;
  height: 21px;
  flex-basis: 21px;
}
