/*
 * [atopia][PWRU-393/PWRU-406] Route-only interactive course composition.
 * The player remains isolated in its same-origin iframe; this sheet restores
 * the production article grid around it without leaking into other routes.
 *
 * Body also carries legacy-asthma-feed-chrome for the live-prod <footer class="footer">
 * gate. That chrome zeros .page-wrapper padding globally — restore the 140/68px
 * fixed-header offset here so desktop player stays at y≈936 (AC-4).
 */
.interactive-course-page.legacy-asthma-feed-chrome .page-wrapper {
  padding: 140px 0 0;
}

@media (max-width: 767px) {
  /* Live prod mobile crumbs start at y≈168 (72px fixed header + 96px course pad). */
  .interactive-course-page.legacy-asthma-feed-chrome .page-wrapper {
    padding-top: 72px;
  }
}

/* Live prod uses legacy <footer class="footer"> (asthma-feed chrome), not page-footer. */
.interactive-course-page.legacy-asthma-feed-chrome .footer {
  margin-top: 0;
}

.interactive-course {
  position: relative;
  box-sizing: border-box;
  padding: 10px 0 40px;
  color: #000;
  font-family: "Montserrat", sans-serif;
  font-size: 18px;
  line-height: 23.94px;
}

.interactive-course::before {
  position: absolute;
  top: -140px;
  right: 0;
  bottom: 0;
  left: 0;
  background:
    url("../images/article-legacy/decor-left.svg") 0 5% no-repeat,
    url("../images/article-legacy/decor-left.svg") 0 90% no-repeat,
    url("../images/article-legacy/decor-right.svg") 100% 53% no-repeat,
    url("../images/article-legacy/decor-right.svg") 100% 98% no-repeat;
  content: "";
  pointer-events: none;
}

.interactive-course > .container {
  position: relative;
  box-sizing: border-box;
  width: 1200px;
  max-width: 100%;
  padding: 0;
  margin: 0 auto;
}

.interactive-course .breadcrumbs {
  box-sizing: border-box;
  width: 1198px;
  max-width: calc(100% - 2px);
  min-height: 24px;
  padding: 0;
  margin: 0 1px;
  font: 500 14px/24px "Montserrat", sans-serif;
}

.interactive-course .breadcrumbs__item,
.interactive-course .breadcrumbs__link {
  line-height: 24px;
}

.interactive-course .breadcrumbs__item {
  position: relative;
  padding-right: 0;
  margin-right: 16px;
}

.interactive-course .breadcrumbs__item:first-child {
  margin-right: 20.71875px;
}

.interactive-course .breadcrumbs__item:last-child {
  margin-right: 0;
}

.interactive-course .breadcrumbs__item:not(:last-child)::after {
  position: absolute;
  top: 0;
  left: calc(100% + 5.8125px);
  display: block;
  width: 4.1875px;
  min-width: 4.1875px;
  max-width: 4.1875px;
  height: 24px;
  margin: 0;
  background: none;
  color: #2d87ff;
  content: "|";
  opacity: 0.8;
}

.interactive-course .breadcrumbs__link,
.interactive-course .breadcrumbs__item:last-child .breadcrumbs__link {
  color: #2d87ff;
  opacity: 0.8;
}

.interactive-course__wrap {
  box-sizing: border-box;
  width: 1198px;
  max-width: calc(100% - 2px);
  padding: 0;
  margin: 0 1px;
}

.interactive-course__header {
  margin: 0;
}

.interactive-course__title {
  box-sizing: border-box;
  width: 100%;
  padding: 40px 0 20px;
  margin: 0;
  color: #4884f7;
  font: 800 32px/38.4px "Montserrat", sans-serif;
}

.interactive-course__date {
  display: flex;
  height: 18px;
  align-items: center;
  gap: 0;
  margin: 0;
  color: #4884f7;
  font: 400 14px/18px "Montserrat", sans-serif;
}

.interactive-course__date-icon {
  display: block;
  width: 18px;
  height: 17px;
  margin-right: 10px;
  content: url("../images/atd-contacts/icon_calendar.png");
}

.interactive-course__subtitle {
  width: 826px;
  max-width: 100%;
  margin: 35px 0 26px;
  color: #000;
  font: 400 18px/23.94px "Montserrat", sans-serif;
}

.interactive-course__subtitle b {
  font-weight: 600;
}

.interactive-course__instructions {
  margin: 0;
}

.interactive-course__instruction {
  display: flex;
  box-sizing: border-box;
  width: 826px;
  max-width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px 35px;
  margin: 0 0 17px;
  border: 2px solid #2d87ff;
  border-radius: 40px;
}

.interactive-course__instruction-text {
  max-width: 72%;
  margin: 0;
  color: #000;
  font: 400 18px/23.94px "Montserrat", sans-serif;
}

.interactive-course__instruction-text b {
  font-weight: 600;
}

.interactive-course__instruction-icon {
  flex: none;
}

.interactive-course__instruction-icon.img_1 {
  width: 138px;
  height: 53px;
}

.interactive-course__instruction-icon.img_2 {
  width: 173px;
  height: 48px;
}

.interactive-course__instruction-icon.img_3 {
  width: 52px;
  height: 52px;
}

.interactive-course__instruction-icon.img_4 {
  width: 49px;
  height: 52px;
}

.interactive-course__frame-wrap {
  position: relative;
  box-sizing: border-box;
  /* PWRU-460: match prod .interactive_container 1198×668; iframe scale(0.9)
   * leaves a 1174×668 visible stage inside (same as prod .universal bbox). */
  width: 100%;
  max-width: 100%;
  height: 668px;
  margin: 0;
  aspect-ratio: auto;
  background: #fff;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}

.interactive-course__frame {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  /* PWRU-460: give iSpring a 1304×742 viewport, then scale like prod zoom 0.9. */
  width: 1304px;
  max-width: none;
  height: 742px;
  border: 0;
  transform: scale(0.9);
  transform-origin: 0 0;
}

/* The page MAT is already rendered by the shared production-equivalent footer. */
.interactive-course__mat {
  display: none;
}

@media (max-width: 767px) {
  /* Live prod articles shell is #f7f7f7 on mobile; white prep bg was ~2% L1. */
  .interactive-course-page,
  .interactive-course-page .page-wrapper,
  .interactive-course {
    background-color: #f7f7f7;
  }

  .interactive-course {
    padding: 96px 0 40px;
    font-size: 16px;
    line-height: 21.28px;
  }

  .interactive-course::before {
    top: 0;
    background-position: -5% 2%, -5% 88%, 105% 53%, 105% 98%;
    background-size: 48px 48px, 48px 48px, 48px 48px, 48px 48px;
  }

  .interactive-course > .container {
    width: 390px;
    padding: 0 8px;
  }

  .interactive-course .breadcrumbs {
    display: block;
    width: 342px;
    max-width: calc(100% - 32px);
    min-height: 72px;
    margin: 0 16px;
  }

  .interactive-course .breadcrumbs__item {
    display: block;
    width: 100%;
    height: 24px;
    margin-right: 0;
  }

  .interactive-course .breadcrumbs__item:not(:last-child)::after {
    display: none;
  }

  .interactive-course__wrap {
    display: flex;
    width: 374px;
    max-width: 100%;
    flex-direction: column;
    padding: 0 16px;
    margin: 0;
  }

  .interactive-course__header {
    order: 1;
  }

  .interactive-course__title {
    padding: 40px 0 20px;
    font-size: 24px;
    line-height: 32.64px;
  }

  .interactive-course__frame-wrap {
    width: 100%;
    /* Match live prod mobile subtitle margin-top: 40vh (avoids 1px hΔ from calc). */
    height: 40vh;
    min-height: 40vh;
    order: 2;
    aspect-ratio: auto;
    overflow: hidden;
    /* Prod absolute stage leaves page #f7f7f7 in this band, not white. */
    background-color: #f7f7f7;
  }

  .interactive-course__frame {
    inset: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    transform: none;
  }

  .interactive-course__subtitle {
    width: 100%;
    order: 3;
    margin: 0 0 26px;
    font-size: 16px;
    line-height: 21.28px;
  }

  .interactive-course__instructions {
    order: 4;
  }

  .interactive-course__instruction {
    width: 100%;
    flex-direction: column;
    align-items: center;
    gap: 0;
    padding: 20px 24px;
    border-radius: 30px;
  }

  .interactive-course__instruction-text {
    max-width: 100%;
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 21.28px;
  }

  .interactive-course__mat {
    order: 5;
  }
}
