/*
 * Compatibility corrections for the older DOM-enhanced Elementor course
 * template. Nothing in this file applies until legacy-compat.js confirms the
 * complete course structure and adds .icc-cm-legacy-compat to the body.
 */

body.icc-course-detail-v2.icc-cm-legacy-compat {
  overflow-x: hidden !important;
  overflow-x: clip !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__facts,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-cta,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-stage {
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* Elementor can leave these e-con parents as inline boxes. Width, margin and
 * full-bleed positioning are unreliable on inline boxes and caused CPC to
 * begin at the viewport midpoint. */
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__facts,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning {
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero-shell {
  box-sizing: border-box !important;
  min-width: 0 !important;
  transform: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-cm-legacy-flow {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 100% !important;
  align-self: stretch !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  transform: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero-content {
  max-width: min(100%, 1040px) !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero h1,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero .elementor-heading-title {
  max-width: min(100%, 1040px) !important;
  overflow-wrap: anywhere;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__facts {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__overview-shell {
  box-sizing: border-box !important;
  max-width: min(calc(100% - 48px), 1320px) !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning {
  padding-right: 24px !important;
  padding-left: 24px !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning > .e-con-inner,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning > .elementor-container {
  box-sizing: border-box !important;
  width: min(100%, 1320px) !important;
  max-width: 1320px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning > .e-con-inner > .e-con,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning > .elementor-container > .elementor-element,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning .elementor-widget-toggle,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning .elementor-widget-container,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning .elementor-toggle {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Elementor entrance animations rely on viewport observation. Full-page
 * capture tools and some cached pages can leave course content permanently
 * invisible, so recognised course sections use their final visible state. */
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero .animated,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero .elementor-invisible,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__overview-shell .animated,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__overview-shell .elementor-invisible,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning .animated,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning .elementor-invisible,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-cta .animated,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-cta .elementor-invisible {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transform: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-cta {
  left: auto !important;
  right: auto !important;
  width: min(calc(100% - 48px), 1320px) !important;
  max-width: 1320px !important;
  display: block !important;
  margin-right: auto !important;
  margin-left: auto !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-stage,
body.icc-course-detail-v2.icc-cm-legacy-compat .icc-cm-legacy-block {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-inner {
  display: grid !important;
  max-width: 1200px !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 767px) {
  body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__facts {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__overview-shell,
  body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__legacy-cta {
    width: min(calc(100% - 32px), 1320px) !important;
    max-width: calc(100% - 32px) !important;
  }

  body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__learning {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }

  body.icc-course-detail-v2.icc-cm-legacy-compat .icc-course-v2__hero-actions {
    min-width: 0 !important;
  }
}
