/* =====================================================
   course.css  –  Styles for course.html
   Depends on: domain.css (loaded first)
   MEMBER Lab, IIT Kharagpur
   ===================================================== */

/* ── Page title bar ── */
.page-title-bar {
  background: linear-gradient(135deg, #1a2a4a 0%, #2a3f6e 60%, #c97d2e 100%);
  padding: 48px 0 36px;
  text-align: center;
  color: #fff;
}

.page-title-bar h1 {
  font-family: 'Crimson Pro', serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

/* ── Main wrapper ── */
.course-section {
  max-width: 860px;
  margin: 0 auto;
  padding: 52px 24px 72px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* ── Section subheading ── */
.course-section h2 {
  font-family: 'Crimson Pro', serif;
  font-size: 1.6rem;
  color: #1a2a4a;
  font-weight: 700;
  padding-bottom: 10px;
  border-bottom: 3px solid #c97d2e;
  display: inline-block;
  margin-bottom: 4px;
}

/* ── Course list card ── */
.course-card {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.08);
  overflow: hidden;
  border-left: 5px solid #c97d2e;
}

/* Card header (always visible) */
.course-card-header {
  padding: 22px 28px;
  display: flex;
  align-items: center;
  gap: 16px;
  background: #fff;
}

.course-card-icon {
  width: 44px;
  height: 44px;
  border-radius: 10px;
  background: #fff3e0;
  color: #c97d2e;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  flex-shrink: 0;
}

.course-card-title {
  font-family: 'Crimson Pro', serif;
  font-size: 1.2rem;
  font-weight: 700;
  color: #1a2a4a;
}

/* Numbered course list */
.course-list {
  list-style: none;
  counter-reset: course-counter;
  padding: 0 28px 26px;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border-top: 1px solid #edf0f5;
}

.course-list li {
  counter-increment: course-counter;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid #f2f3f6;
  transition: background 0.18s ease;
}

.course-list li:last-child {
  border-bottom: none;
}

.course-list li:hover {
  background: #fdfaf6;
  margin: 0 -28px;
  padding-left: 28px;
  padding-right: 28px;
  border-radius: 0;
}

/* Counter bubble */
.course-list li::before {
  content: counter(course-counter);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #1a2a4a;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-top: 1px;
}

.course-name {
  font-size: 0.95rem;
  color: #2c2c2c;
  font-weight: 500;
  line-height: 1.5;
  flex: 1;
}

.course-code {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  font-family: 'DM Sans', monospace;
  letter-spacing: 0.05em;
  background: #f0f3f8;
  color: #1a2a4a;
  border-radius: 6px;
  padding: 2px 9px;
  margin-left: 8px;
  white-space: nowrap;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 3px;
}

/* ── Joint teaching note ── */
.course-note {
  background: #eef3fb;
  border: 1.5px solid #c8d8ee;
  border-radius: 12px;
  padding: 20px 24px;
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.course-note i {
  color: #2979c9;
  font-size: 1.2rem;
  margin-top: 2px;
  flex-shrink: 0;
}

.course-note p {
  font-size: 0.93rem;
  color: #234;
  line-height: 1.7;
  margin: 0;
}

.course-note p strong {
  color: #1a2a4a;
}

/* ── Icon colour variants ── */
.course-card-icon.theory { background: #fff3e0; color: #c97d2e; }
.course-card-icon.lab    { background: #e8f5e9; color: #3a8a3a; }

/* ── Responsive ── */
@media (max-width: 600px) {
  .page-title-bar h1 { font-size: 1.9rem; }
  .course-list { padding: 0 18px 18px; }
  .course-list li:hover {
    margin: 0;
    padding-left: 0;
    padding-right: 0;
    background: none;
  }
  .course-card-header { padding: 18px 18px; }
}