/* ===================================================================
   Studmob Homepage Carousel — tabs + horizontal card scroll
   =================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;600;700;800&display=swap');

.hc-section {
  max-width: 1180px;
  margin: 0 auto;
  padding: 40px 20px;
  font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.hc-section * { box-sizing: border-box; }

.hc-head { margin-bottom: 20px; text-align: center; }
.hc-heading {
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -0.6px;
  line-height: 1.18;
  color: #1a1235;
  margin: 0 0 18px;
  text-transform: capitalize;
}
.hc-heading-accent { color: #6C3ECC; }

/* Tabs */
.hc-tabs { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
.hc-tab {
  font-size: 11px;
  font-weight: 600;
  color: #5a4e7c;
  background: #f5f2ff;
  border: 1.5px solid transparent;
  border-radius: 100px;
  padding: 4px 11px;
  cursor: pointer;
  font-family: inherit;
  transition: all 0.15s;
}
.hc-tab:hover { border-color: #d8cdf0; }
.hc-tab.active { background: #4a1a6e; color: #fff; }

/* Panels */
.hc-panels { position: relative; }
.hc-panel { display: none; position: relative; }
.hc-panel.active { display: block; }

/* Track (horizontal scroll) */
.hc-track {
  display: flex;
  gap: 16px;
  overflow-x: auto;
  scroll-behavior: smooth;
  padding: 6px 2px 14px;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}
.hc-track::-webkit-scrollbar { display: none; }

/* Card */
.hc-card {
  flex: 0 0 280px;
  scroll-snap-align: start;
  background: #fff;
  border: 1px solid #e6e8ee;
  border-radius: 16px;
  padding: 18px;
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction: column;
  transition: border-color 0.15s, box-shadow 0.15s, transform 0.15s;
  box-shadow: 0 1px 2px rgba(16,24,40,0.04);
}
.hc-card:hover {
  border-color: #cdbce8;
  box-shadow: 0 8px 24px rgba(74,26,110,0.12);
  transform: translateY(-3px);
  text-decoration: none;
}

.hc-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
}
.hc-logo {
  width: 46px; height: 46px;
  border-radius: 10px;
  border: 1px solid #eef0f3;
  background: #fff;
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
  flex-shrink: 0;
}
.hc-logo img { width: 100%; height: 100%; object-fit: contain; }
.hc-logo span { font-size: 14px; font-weight: 800; color: #4a1a6e; }

.hc-badge {
  font-size: 11px;
  font-weight: 700;
  color: #2563eb;
  background: #eef4ff;
  border-radius: 6px;
  padding: 4px 9px;
  white-space: nowrap;
}
.hc-badge-int { color: #1f9d57; background: #e9f7ef; }
.hc-badge-sch { color: #b7791f; background: #fff7e6; }

.hc-pill {
  font-size: 11px; font-weight: 700;
  color: #b7791f; background: #fff7e6;
  border: 1px solid #fde9b8;
  border-radius: 100px; padding: 4px 10px;
  white-space: nowrap;
}
.hc-pill-closed { color: #c0392b; background: #fdecea; border-color: #f7c8c2; }

.hc-title {
  font-size: 15.5px;
  font-weight: 700;
  color: #1a1235;
  line-height: 1.34;
  margin-bottom: 3px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 42px;
}
.hc-company { font-size: 13px; color: #6b7280; margin-bottom: 10px; }

.hc-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 10px; }
.hc-meta span {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; color: #6b7280;
}
.hc-meta svg { color: #9aa1ad; flex-shrink: 0; }

.hc-pay {
  font-size: 13px; font-weight: 600;
  color: #1f7a3d;
  background: #eaf7ef;
  border-radius: 6px;
  padding: 5px 10px;
  display: inline-block;
  margin-bottom: 12px;
}

.hc-foot {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid #f2f4f7;
}
.hc-view { font-size: 13px; font-weight: 600; color: #4a1a6e; }

.hc-empty {
  padding: 30px;
  text-align: center;
  color: #98a2b3;
  font-size: 14px;
}

/* See all */
.hc-seeall-wrap { text-align: center; margin-top: 6px; }
.hc-seeall {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  color: #4a1a6e;
  text-decoration: none;
  padding: 8px 20px;
  border: 1.5px solid #ece5fb;
  border-radius: 100px;
}
.hc-seeall:hover { background: #f6f0fb; }

/* Arrows (desktop) */
.hc-arrow {
  position: absolute;
  top: 38%;
  transform: translateY(-50%);
  width: 40px; height: 40px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #e6e8ee;
  box-shadow: 0 3px 12px rgba(16,24,40,0.12);
  font-size: 22px;
  color: #4a1a6e;
  cursor: pointer;
  z-index: 5;
  display: flex; align-items: center; justify-content: center;
  line-height: 1;
}
.hc-arrow-left { left: -10px; }
.hc-arrow-right { right: -10px; }
.hc-arrow:hover { background: #f6f0fb; }

@media (max-width: 900px) {
  .hc-arrow { display: none; }       /* mobile = swipe, no arrows */
  .hc-card { flex-basis: 250px; }
  .hc-heading { font-size: 22px; }
}

/* FIX: force tab text visibility (theme was hiding text) */
.hc-tab { color: #5a4e7c !important; }
.hc-tab.active { color: #ffffff !important; }
.hc-heading { color: #1a1235 !important; }
.hc-heading-accent { color: #6C3ECC !important; }
