:root {
  --brand-red: #c41e2a;
  --brand-navy: #1b4b8a;
  --brand-navy-dark: #123a63;
  --brand-green: #3c9f40;
  --brand-bg: #f4f6fb;
}

body {
  background-color: var(--brand-bg);
  font-family: "Segoe UI", Roboto, Arial, sans-serif;
}

.navbar-brand-logo {
  height: 42px;
  margin-right: 8px;
}

.navbar-learn {
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.navbar-learn .nav-link {
  color: var(--brand-navy);
  font-weight: 500;
}

.navbar-learn .nav-link.active,
.navbar-learn .nav-link:hover {
  color: var(--brand-red);
}

.btn-brand {
  background-color: var(--brand-navy);
  border-color: var(--brand-navy);
  color: #fff;
}

.btn-brand:hover {
  background-color: var(--brand-red);
  border-color: var(--brand-red);
  color: #fff;
}

.text-brand {
  color: var(--brand-navy);
}

.bg-brand {
  background-color: var(--brand-navy);
}

.card-course {
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  transition: transform 0.15s ease;
  height: 100%;
}

.card-course:hover {
  transform: translateY(-4px);
}

.card-course .card-img-top {
  height: 160px;
  object-fit: cover;
  background: linear-gradient(135deg, var(--brand-navy), var(--brand-red));
}

.progress-ring-wrap {
  position: relative;
  width: 160px;
  height: 160px;
  margin: 0 auto;
}

.progress-ring-wrap .progress-value {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}

.progress-value .pct {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--brand-navy);
  display: block;
}

.status-badge-completed {
  background-color: var(--brand-green);
  color: #fff;
}

.status-badge-pending {
  background-color: #e0a800;
  color: #fff;
}

.class-item-list .list-group-item.active-item {
  border-left: 4px solid var(--brand-red);
  background: #fff5f5;
}

.class-item-list .list-group-item {
  cursor: pointer;
}

.footer-learn {
  background: var(--brand-navy);
  color: #dbe4f2;
  padding: 24px 0;
  margin-top: 60px;
}

.footer-learn a {
  color: #fff;
}

.hero-learn {
  background: linear-gradient(120deg, var(--brand-navy), #0e2c52);
  color: #fff;
  padding: 60px 0;
}

.section-header-bar {
  background: #eef2fb;
  border-left: 4px solid var(--brand-navy);
  padding: 10px 16px;
  font-weight: 600;
  color: var(--brand-navy);
}
