:root {
  --brand-purple: #5624d0;
  --brand-purple-dark: #401b9c;
  --brand-purple-light: #f2ecfb;
  --text-dark: #1c1d1f;
}

body {
  font-family: 'Poppins', sans-serif;
  color: var(--text-dark);
  background: #fafafa;
}

a { text-decoration: none; }

/* Navbar */
.main-navbar {
  background: var(--brand-purple);
}
.main-navbar .nav-link { color: rgba(255,255,255,.9); }
.main-navbar .nav-link:hover { color: #fff; }
.search-form { width: 380px; max-width: 60vw; }
.search-form .form-control { border-radius: 4px 0 0 4px; }
.search-form .btn { background: #fff; border-radius: 0 4px 4px 0; }

/* Buttons */
.btn-primary {
  background: var(--brand-purple);
  border-color: var(--brand-purple);
}
.btn-primary:hover {
  background: var(--brand-purple-dark);
  border-color: var(--brand-purple-dark);
}
.btn-outline-primary {
  color: var(--brand-purple);
  border-color: var(--brand-purple);
}
.btn-outline-primary:hover {
  background: var(--brand-purple);
  border-color: var(--brand-purple);
}

/* Hero */
.hero {
  background: linear-gradient(135deg, var(--brand-purple) 0%, #2d0e78 100%);
  color: #fff;
  padding: 5rem 0;
}

/* Course cards */
.course-card {
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow .2s ease, transform .2s ease;
  background: #fff;
  height: 100%;
}
.course-card:hover {
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  transform: translateY(-3px);
}
.course-card img {
  width: 100%;
  height: 150px;
  object-fit: cover;
}
.course-card .card-body { padding: 1rem; }
.course-price { font-weight: 700; font-size: 1.1rem; color: var(--text-dark); }
.badge-level {
  background: var(--brand-purple-light);
  color: var(--brand-purple);
  font-weight: 500;
}

/* Category pills */
.category-pill {
  background: var(--brand-purple-light);
  color: var(--brand-purple);
  border-radius: 999px;
  padding: .4rem 1rem;
  display: inline-block;
  font-size: .85rem;
  font-weight: 500;
}

/* Course player (theater / dark mode) */
.player-shell { background: #1c1d1f; min-height: 100vh; }
.player-sidebar {
  background: #2d2f31;
  color: #fff;
  height: 100%;
  max-height: calc(100vh - 60px);
  overflow-y: auto;
}
.lesson-item {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .8rem 1rem;
  border-bottom: 1px solid #3e4143;
  cursor: pointer;
  color: #d1d7dc;
  font-size: .9rem;
}
.lesson-item:hover { background: #3e4143; }
.lesson-item.active { background: var(--brand-purple); color: #fff; }
.lesson-item.locked { opacity: .5; cursor: not-allowed; }
.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  background: #000;
}
.video-wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  border: 0;
}
.video-block-overlay {
  position: absolute;
  inset: 0;
  z-index: 5;
  background: transparent;
}

/* Footer */
.site-footer {
  background: #1c1d1f;
}
.site-footer a { color: #d1d7dc; }
.site-footer a:hover { color: #fff; }

/* Dashboard sidebars */
.dash-sidebar {
  background: #fff;
  border-radius: 8px;
  border: 1px solid #e6e6e6;
}
.dash-sidebar a {
  display: block;
  padding: .75rem 1.25rem;
  color: var(--text-dark);
  border-left: 3px solid transparent;
}
.dash-sidebar a.active, .dash-sidebar a:hover {
  background: var(--brand-purple-light);
  border-left-color: var(--brand-purple);
  color: var(--brand-purple);
}

.progress-thin { height: 8px; border-radius: 4px; }

@media (max-width: 991px) {
  .search-form { display: none !important; }
}
