/* ============================================================
   upcoming-exams.css — Upcoming Exams page only
   ============================================================ */

.exams-wrap { max-width: 1100px; margin: 0 auto; padding: 28px 20px 60px; }

.exams-hero {
  background: linear-gradient(135deg, var(--primary, #0d47a1) 0%, var(--secondary, #1565c0) 100%);
  color: #fff; border-radius: 14px; padding: 28px 32px; margin-bottom: 28px;
}
.exams-hero h2 { margin: 0 0 6px; font-size: 1.45rem; font-family: 'Playfair Display', serif; }
.exams-hero p  { margin: 0; opacity: 0.88; font-size: 0.95rem; }

/* Filter bar */
.filter-bar { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 22px; }
.filter-btn {
  padding: 7px 18px; border: 2px solid var(--primary, #0d47a1); border-radius: 20px;
  background: none; color: var(--primary, #0d47a1); font-family: 'Poppins', sans-serif;
  font-size: 0.84rem; font-weight: 600; cursor: pointer;
  transition: all var(--dur-fast, 0.15s);
}
.filter-btn.active,
.filter-btn:hover { background: var(--primary, #0d47a1); color: #fff; }
[data-theme="dark"] .filter-btn { border-color: var(--primary); color: var(--primary); }
[data-theme="dark"] .filter-btn.active,
[data-theme="dark"] .filter-btn:hover { background: var(--secondary, #1565c0); color: #fff; }

/* Grid */
.exams-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
}

/* Card */
.exam-card {
  background: var(--bg, #fff);
  border-radius: 14px; padding: 22px 24px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08);
  border-left: 5px solid var(--primary, #0d47a1);
  display: flex; flex-direction: column; gap: 10px;
  transition: transform var(--dur-fast, 0.15s), box-shadow var(--dur-fast, 0.15s);
}
.exam-card:hover { transform: translateY(-3px); box-shadow: 0 6px 20px rgba(0,0,0,0.12); }
[data-theme="dark"] .exam-card { background: #1e1e2e; box-shadow: 0 2px 12px rgba(0,0,0,0.3); }

.exam-card-title {
  font-size: 1.02rem; font-weight: 700; color: var(--primary, #0d47a1);
  font-family: 'Poppins', sans-serif; line-height: 1.35;
}
[data-theme="dark"] .exam-card-title { color: var(--primary); }

/* Note: .exam-badge base styles are in main.css; this adds the category pill variant */
.exam-card .exam-badge {
  padding: 2px 10px; border-radius: 12px; font-size: 0.72rem;
  background: #e3f2fd; color: var(--primary, #0d47a1);
  align-self: flex-start;
}
[data-theme="dark"] .exam-card .exam-badge { background: #1a3a5c; color: var(--primary); }

.exam-detail-row {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 0.87rem; color: var(--text-secondary, #444); line-height: 1.45;
}
.exam-detail-row .label {
  font-weight: 600; color: var(--text, #222); min-width: 110px; flex-shrink: 0;
}

.exam-card-footer { margin-top: auto; padding-top: 8px; }
.exam-link {
  display: inline-block; padding: 8px 20px; background: var(--primary, #0d47a1);
  color: #fff; border-radius: var(--radius-sm, 6px); text-decoration: none;
  font-size: 0.83rem; font-weight: 600; font-family: 'Poppins', sans-serif;
  transition: background var(--dur-fast, 0.15s);
}
.exam-link:hover { background: var(--secondary, #1565c0); }

/* Latest news strip */
.exam-news {
  font-size: 0.78rem; background: #fffde7; border-radius: var(--radius-sm, 6px);
  padding: 6px 10px; color: #555; border-left: 3px solid #f9a825; line-height: 1.4;
}
.exam-news a { color: #e65100; text-decoration: none; }
.exam-news a:hover { text-decoration: underline; }
[data-theme="dark"] .exam-news { background: #2a2000; color: #ccc; border-color: #f9a825; }
[data-theme="dark"] .exam-news a { color: #ffb74d; }

/* Empty / loading */
.exams-status { text-align: center; padding: 60px 20px; color: #888; font-size: 1rem; grid-column: 1/-1; }

@media (max-width: 600px) {
  .exams-hero { padding: 20px; }
  .exams-hero h2 { font-size: 1.2rem; }
}
