/**
 * Courses Section Styles
 * Inline section on home page - placed after membership plans.
 * Uses CSS variables - no hardcoded values.
 * Includes scroll animations and hover overlay for course details.
 */

.courses-section {
  background-color: var(--color-bg-primary);
}

/* Set dashboard-like variables for course cards in this section */
.courses-section {
  --dashboard-card-bg: var(--color-bg-secondary);
  --dashboard-border: var(--color-border-subtle);
  --dashboard-text-primary: var(--color-text-primary);
  --dashboard-text-secondary: var(--color-text-secondary);
  --dashboard-text-muted: var(--color-text-muted);
  --dashboard-bg-hover: var(--color-bg-secondary);
}

/* Scroll animation - initial state */
.courses-section__header {
  text-align: center;
  margin-bottom: var(--spacing-3xl);
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.courses-section__header.courses-section__header--animated {
  opacity: 1;
  transform: translateY(0);
}

.courses-section__title {
  font-size: var(--font-size-4xl);
  font-weight: 800;
  color: var(--color-text-primary);
  margin-bottom: var(--spacing-md);
  line-height: 1.2;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out 0.1s, transform 0.8s ease-out 0.1s;
}

.courses-section__title.courses-section__title--animated {
  opacity: 1;
  transform: translateY(0);
}

.courses-section__subtitle {
  font-size: var(--font-size-lg);
  color: var(--color-text-secondary);
  margin: 0;
  max-width: 600px;
  margin-inline: auto;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out 0.2s, transform 0.8s ease-out 0.2s;
}

.courses-section__subtitle.courses-section__subtitle--animated {
  opacity: 1;
  transform: translateY(0);
}

.courses-section .course-cards-grid {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out 0.3s, transform 0.8s ease-out 0.3s;
}

.courses-section .course-cards-grid.courses-section__grid--animated {
  opacity: 1;
  transform: translateY(0);
}

.courses-section .course-card {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.courses-section .course-card.course-card--animated {
  opacity: 1;
  transform: translateY(0);
}

.courses-section .course-card.course-card--animated:hover {
  transform: translateY(-4px);
}

/* Udemy-style: badges on image (top-left), play button on hover */
.courses-section .course-card__image-wrap {
  position: relative;
  overflow: hidden;
}

.courses-section .course-card__badges-overlay {
  position: absolute;
  top: var(--spacing-sm);
  left: var(--spacing-sm);
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-xs);
  z-index: 2;
}

.courses-section .course-card__play-overlay {
  position: absolute;
  inset: 0;
  background: var(--color-overlay-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity var(--transition-base);
  z-index: 1;
}

.courses-section .course-card:hover .course-card__play-overlay {
  opacity: 1;
}

.courses-section .course-card__play-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.95);
  color: var(--color-bg-primary);
  transition: transform var(--transition-fast);
}

.courses-section .course-card__play-btn svg {
  width: 28px;
  height: 28px;
  margin-left: 3px;
}

.courses-section .course-card:hover .course-card__play-btn {
  transform: scale(1.05);
}

.course-card__link {
  text-decoration: none;
  color: inherit;
  display: block;
}

.courses-section__empty {
  grid-column: 1 / -1;
  text-align: center;
  color: var(--color-text-secondary);
  padding: var(--spacing-2xl);
}
