/* ============================================================
   HERO PANEL — BATCH LIST  (assets/css/batches.css)
   ============================================================ */

/* Skeleton shimmer */
.batch-skeleton { pointer-events: none; }
.skel-line {
  background: linear-gradient(90deg,
    rgba(255,255,255,0.06) 25%,
    rgba(255,255,255,0.12) 50%,
    rgba(255,255,255,0.06) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.6s infinite;
  border-radius: 6px;
  height: 13px;
  margin: 0.4rem 0;
}
.skel-wide  { width: 90%; }
.skel-med   { width: 65%; }
.skel-short { width: 45%; }
@keyframes shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── Hero batch item ────────────────────────────────────────────
   Layout (Image 1):
     [Course Name .................. Seats Pill]
     [📅 Starts Date                           ]
   ──────────────────────────────────────────────────────────── */
.batch-item {
  padding: 0.85rem 0;
  border-bottom: 1px solid var(--clr-dark-border, rgba(255,255,255,0.08));
}
.batch-item:last-child { border-bottom: none; }

.batch-row-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.35rem;
}

.batch-course-name {
  font-size: 0.9rem;
  font-weight: 700;
  color: var(--clr-white, #fff);
  line-height: 1.3;
  flex: 1;
}

/* Seat status pills — hero */
.batch-seats {
  flex-shrink: 0;
  font-size: 0.72rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.9rem;
  border-radius: 50px;
  white-space: nowrap;
}
.batch-seats.open-seats    { background: rgba(74,222,128,0.15);  color: #4ade80; border: 1px solid rgba(74,222,128,0.30); }
.batch-seats.limited-seats { background: rgba(212,160,23,0.18);  color: #D4A017; border: 1px solid rgba(212,160,23,0.35); }
.batch-seats.full-seats    { background: rgba(239,68,68,0.12);   color: #f87171; border: 1px solid rgba(239,68,68,0.30); }

.batch-date {
  font-size: 0.8rem;
  color: var(--clr-text-muted, rgba(255,255,255,0.5));
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.batch-date i { color: var(--clr-accent, #E8732A); font-size: 0.75rem; }


/* ============================================================
   BATCH CALENDAR — events.html  (cal-grid cards)
   ============================================================ */

/* Fix: prevent course name from being truncated in the card header.
   home.css may have overflow:hidden or text-overflow:ellipsis on
   .cal-course-name — these overrides ensure the full name wraps. */
.cal-header {
  display: flex !important;
  align-items: flex-start !important;  /* align top so badge doesn't stretch */
  gap: 0.75rem !important;
  flex-wrap: nowrap !important;
}

.cal-course-name {
  flex: 1 1 0 !important;
  min-width: 0 !important;            /* allow flex child to shrink below content size */
  white-space: normal !important;     /* allow wrapping */
  overflow: visible !important;
  text-overflow: unset !important;
  word-break: break-word !important;
  line-height: 1.35 !important;
}

.cal-badge {
  flex-shrink: 0 !important;          /* badge never squishes — name wraps instead */
  white-space: nowrap !important;
  align-self: flex-start !important;
}

/* Seat status pills inside calendar cards
   ============================================================ */
.cal-seats {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 0.22rem 0.7rem;
  border-radius: 50px;
  white-space: nowrap;
  flex-shrink: 0;
}
.cal-seats.open-seats    { background: rgba(74,222,128,0.15);  color: #4ade80; border: 1px solid rgba(74,222,128,0.30); }
.cal-seats.limited-seats { background: rgba(212,160,23,0.18);  color: #D4A017; border: 1px solid rgba(212,160,23,0.35); }
.cal-seats.full-seats    { background: rgba(239,68,68,0.12);   color: #f87171; border: 1px solid rgba(239,68,68,0.30); }


/* ── "View All Batches & Book" link — bottom of hero panel ───── */
.batch-view-all {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  margin-top: 1rem;
  padding: 0.6rem 1rem;
  border-radius: 8px;
  border: 1px solid rgba(232,115,42,0.3);
  background: rgba(232,115,42,0.07);
  color: var(--clr-accent, #E8732A);
  font-size: 0.8rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: background 0.2s ease, gap 0.2s ease, border-color 0.2s ease;
}
.batch-view-all:hover {
  background: rgba(232,115,42,0.14);
  border-color: rgba(232,115,42,0.55);
  gap: 0.65rem;
}