#video-placeholder,
#video-placeholder-direct {
  scroll-margin-top: 1rem;
}

.course-video-loading {
  position: absolute;
  z-index: 30;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.7rem;
  padding: 1rem;
  border-radius: inherit;
  background: rgba(8, 12, 20, 0.68);
  color: #f8fafc;
  font-size: 0.95rem;
  font-weight: 700;
  pointer-events: none;
  backdrop-filter: blur(3px);
}

.course-video-loading[hidden] {
  display: none !important;
}

.course-video-loading-spinner {
  width: 1.25rem;
  height: 1.25rem;
  flex: 0 0 auto;
  border: 2px solid rgba(255, 255, 255, 0.28);
  border-top-color: #a5b4fc;
  border-radius: 50%;
  animation: course-video-loading-spin 0.75s linear infinite;
}

.course-video-loading.is-error .course-video-loading-spinner {
  display: none;
}

@keyframes course-video-loading-spin {
  to { transform: rotate(360deg); }
}
