.course-popup__visual::before {
  content: "";
  position: absolute;
  left: 28px;
  top: -8px;
  width: 230px;
  height: 720px;
  opacity: 0.45;
  background: repeating-linear-gradient(168deg, rgba(145, 190, 226, 0.45) 0 8px, transparent 8px 35px);
  border-radius: 50%;
  filter: blur(0.2px);
}

.course-popup__visual::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 330px;
  height: 420px;
  background: radial-gradient(circle, rgba(150, 205, 235, 0.36) 0 1px, transparent 1px);
  background-size: 5px 5px;
  opacity: 0.6;
  mask-image: linear-gradient(to top, black, transparent);
}

.course-popup__header {
  position: relative;
  z-index: 2;
  max-width: 760px;
  margin: 0 auto 38px;
  text-align: center;
}

.course-popup__kicker {
  margin: 0 0 8px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 27px;
  font-weight: 400;
  line-height: 1.1;
  color: #202850;
}

.course-popup__title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 62px;
  font-weight: 400;
  line-height: 0.95;
  letter-spacing: 0.01em;
  color: #b76ab3;
}

.course-popup__divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-top: 22px;
  color: #d7bfd9;
}

.course-popup__divider span:not(.course-popup__lotus) {
  width: clamp(90px, 15vw, 220px);
  height: 1px;
  background: currentColor;
}

.course-popup__lotus {
  font-size: 28px;
  line-height: 1;
}

.course-popup__cards {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 34px;
  max-width: 950px;
  margin: 0 auto;
}

.course-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 520px;
  padding: 42px 30px 28px;
  text-align: center;
  border: 1px solid rgba(218, 202, 223, 0.85);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 34px rgba(37, 42, 72, 0.09);
}

.course-card__icon,
.course-card__date-icon {
  display: none;
}

.course-card__title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 39px;
  font-weight: 400;
  line-height: 1.05;
  color: #202850;
}

.course-card__subtitle {
  margin: 12px 0 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
  line-height: 1.15;
  color: #b76ab3;
}

.course-card__small-divider {
  width: 70%;
  height: 1px;
  margin: 24px auto 26px;
  background: #e6d4e8;
}

.course-card__date {
  display: block;
  max-width: 330px;
  margin: 0 auto 24px;
  text-align: center;
  font-family: Arial, sans-serif;
  font-size: 18px;
  line-height: 1.35;
  color: #202333;
}

.course-card__date strong {
  display: block;
  font-size: 20px;
  font-weight: 700;
  color: #171b2c;
}

.course-card__description {
  max-width: 370px;
  margin: 0 auto;
  font-family: Arial, sans-serif;
  font-size: 17px;
  line-height: 1.55;
  color: #3f3f52;
}

.course-card__certified {
  margin: -6px 0 18px;
  font-family: Arial, sans-serif;
  font-size: 17px;
  color: #2f63d8;
}

.course-card__note {
  max-width: 370px;
  margin: 18px auto 0;
  padding: 8px 14px;
  border: 1px solid #ead3e9;
  border-radius: 999px;
  background: #fbf2fb;
  font-family: Arial, sans-serif;
  font-size: 15px;
  line-height: 1.3;
  color: #a14d9f;
}

.course-card__actions {
  margin-top: auto;
  padding-top: 26px;
}

.course-card__button {
  display: flex;
  min-height: 58px;
  align-items: center;
  justify-content: center;
  padding: 14px 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, #477be9 0%, #1d2e65 100%);
  box-shadow: 0 10px 20px rgba(20, 33, 76, 0.22);
  color: #ffffff;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  text-transform: uppercase;
}

.course-card__link {
  display: inline-block;
  margin-top: 18px;
  color: #b271b4;
  font-family: Arial, sans-serif;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: underline;
  text-transform: uppercase;
  text-underline-offset: 5px;
}

.course-popup__footer {
  position: relative;
  z-index: 2;
  margin-top: 24px;
  text-align: center;
}

.course-popup__footer p {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 24px;
  line-height: 1.2;
  color: #202850;
}

.course-popup__footer span {
  display: block;
  margin-top: 4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 19px;
  line-height: 1.3;
  color: #202850;
}

@media (max-width: 980px) {
  .course-popup {
    width: min(94vw, 760px);
    max-height: 94vh;
    padding: 34px 24px 28px;
  }

  .course-popup__visual {
    width: 220px;
    opacity: 0.45;
  }

  .course-popup__cards {
    grid-template-columns: 1fr;
    gap: 24px;
    max-width: 560px;
  }

  .course-card {
    min-height: auto;
  }
}

@media (max-width: 640px) {
  .course-popup-overlay {
    padding: 12px;
  }

  .course-popup {
    width: 100%;
    border-radius: 18px;
    padding: 28px 16px 24px;
  }

  .course-popup__close {
    top: 12px;
    right: 12px;
    width: 40px;
    height: 40px;
    font-size: 28px;
  }

  .course-popup__kicker {
    font-size: 22px;
  }

  .course-popup__title {
    font-size: 42px;
  }

  .course-popup__divider {
    gap: 12px;
  }

  .course-popup__cards {
    gap: 20px;
  }

  .course-card {
    padding: 34px 18px 24px;
  }

  .course-card__title {
    font-size: 34px;
  }

  .course-card__subtitle {
    font-size: 24px;
  }

  .course-card__date {
    font-size: 16px;
  }

  .course-card__date strong {
    font-size: 18px;
  }

  .course-card__button {
    font-size: 15px;
  }

  .course-popup__footer p {
    font-size: 21px;
  }

  .course-popup__footer span {
    font-size: 17px;
  }
}

/* Compact webinar section added inside each course card. */
.course-card__webinars {
  max-width: 370px;
  margin: 18px auto 0;
  padding-top: 14px;
  border-top: 1px solid #ead3e9;
  font-family: Arial, sans-serif;
  text-align: center;
}

/* Small heading above the date pills. */
.course-card__webinars-title {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  color: #202850;
}

/* Shared time line, kept separate so dates do not repeat the same time. */
.course-card__webinars-time {
  margin: 3px 0 9px;
  font-size: 14px;
  line-height: 1.3;
  color: #a14d9f;
}

/* Date pills wrapper. */
.course-card__webinars-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Individual date pill. */
.course-card__webinars-list li {
  padding: 5px 10px;
  border: 1px solid #ead3e9;
  border-radius: 999px;
  background: #ffffff;
  font-size: 13px;
  line-height: 1.2;
  color: #3f3f52;
}

/* Fallback message shown when no upcoming dates remain. */
.course-card__webinars-empty {
  margin: 0;
  font-size: 14px;
  line-height: 1.35;
  color: #3f3f52;
}

/*
  Keep the toggle as a real button for accessibility,
  but visually reset it so it behaves like plain hyperlink text.
*/
.course-card__webinars-toggle {
  -webkit-appearance: none;
  appearance: none;
  display: inline;
  margin: 9px 0 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  color: #b271b4;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  text-align: inherit;
  text-decoration: underline;
  text-underline-offset: 4px;
  cursor: pointer;
}

/* Avoid theme/button hover styles from making the toggle look like a button. */
.course-card__webinars-toggle:hover,
.course-card__webinars-toggle:focus {
  background: none;
  box-shadow: none;
  color: #b271b4;
}

/* Respect the hidden attribute for expired dates, fallback text, and toggle button. */
.course-card__webinars-toggle[hidden],
.course-card__webinars-empty[hidden],
.course-card__webinars-list li[hidden] {
  display: none !important;
}

/*
  Elementor/theme button reset for the "See more dates" toggle.
  The element remains a real button for accessibility, but should look like plain text.
*/
.course-card__webinars .course-card__webinars-toggle[type="button"],
.course-card__webinars .course-card__webinars-toggle[type="button"]:hover,
.course-card__webinars .course-card__webinars-toggle[type="button"]:focus,
.course-card__webinars .course-card__webinars-toggle[type="button"]:active {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: inline-block !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 9px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #b271b4 !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  text-decoration: underline !important;
  text-transform: none !important;
  text-underline-offset: 4px !important;
  cursor: pointer !important;
}

.course-card__webinars .course-card__webinars-toggle[hidden] {
  display: none !important;
}
