/* EC Course enrollment dock — scope: public course pages only.
   Markup: single-courses.php. Visible state: commercial-dock.js. */
@media (min-width: 961px) {
  .ec-course-aside {
    position: static!important;
    top: auto!important;
    max-height: none!important;
    overflow: visible!important;
    overscroll-behavior: auto!important;
    scrollbar-gutter: auto!important;
    padding-right: 0!important;
  }
}
.ec-enrollment-dock {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 995;
  background: rgba(2, 9, 46, .975);
  color: #fff;
  border-top: 3px solid #CDA22C;
  box-shadow: 0 -12px 30px rgba(2, 9, 46, .2);
  transform: translateY(115%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .22s ease, opacity .22s ease, visibility .22s ease;
  padding-bottom: env(safe-area-inset-bottom, 0px);
}
.ec-enrollment-dock.is-visible {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.ec-enrollment-dock__inner {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.ec-enrollment-dock__summary { flex: 1; min-width: 0; }
.ec-enrollment-dock__eyebrow {
  display: block;
  margin-bottom: 3px;
  color: #E2CC8D;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.ec-enrollment-dock__title {
  display: block;
  color: #fff;
  font: 600 clamp(1.05rem, 1.7vw, 1.33rem)/1.2 "Source Serif 4", Georgia, serif;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ec-enrollment-dock__actions {
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
}
.ec-enrollment-dock__plan-copy { display: grid; gap: 2px; text-align: right; min-width: 0; }
.ec-enrollment-dock__plan-label {
  font-size: .67rem;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-weight: 800;
  color: #CDD8E1;
}
.ec-enrollment-dock__plan-price {
  color: #fff;
  font-size: clamp(.84rem, 1.15vw, 1rem);
  line-height: 1.23;
  font-weight: 750;
}
.ec-enrollment-dock .ec-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin: 0;
  padding: 10px 19px;
  border-radius: 10px 10px 0 10px;
  font-size: .9rem;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  text-decoration: none!important;
  white-space: normal;
}
.ec-enrollment-dock .ec-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
body.ec-enrollment-dock-visible { padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px)); }
body.ec-enrollment-dock-visible .ec-whatsapp-float { bottom: calc(101px + env(safe-area-inset-bottom, 0px))!important; }

@media(max-width:960px) {
  .ec-enrollment-dock__inner { width: min(calc(100% - 26px), 900px); min-height: 66px; gap: 13px; }
  .ec-enrollment-dock__summary { display: none; }
  .ec-enrollment-dock__actions { flex: 1; justify-content: space-between; gap: 12px; }
  .ec-enrollment-dock__plan-copy { text-align: left; max-width: 47%; }
  .ec-enrollment-dock .ec-button { margin-left: auto; max-width: 58%; padding: 10px 13px; }
}
@media(max-width:520px) {
  .ec-enrollment-dock__inner { width: calc(100% - 20px); gap: 8px; min-height: 66px; }
  .ec-enrollment-dock__actions { gap: 8px; }
  .ec-enrollment-dock__plan-copy { max-width: 42%; }
  .ec-enrollment-dock__plan-price { font-size: .81rem; overflow-wrap: anywhere; }
  .ec-enrollment-dock .ec-button { flex: 1; min-width: 0; max-width: 60%; font-size: .78rem; padding: 10px 7px; }
  body.ec-enrollment-dock-visible .ec-whatsapp-float { bottom: calc(92px + env(safe-area-inset-bottom, 0px))!important; }
}
@media(prefers-reduced-motion: reduce) {
  .ec-enrollment-dock { transition: none!important; }
}