/* ---- TJ Careers dynamic grid ---- */
.tj-careers-wrap {
  width: 100%;
}

.tj-careers-grid {
  display: grid;
  grid-template-columns: repeat(var(--tj-cols, 3), minmax(0, 1fr));
  gap: 24px;
  /* grid items stretch to equal height by default (align-items: stretch) */
}

/* tablet */
@media (max-width: 991px) {
  .tj-careers-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* mobile */
@media (max-width: 575px) {
  .tj-careers-grid {
    grid-template-columns: 1fr;
  }
}

/* Equal-height cards with the bottom row pinned down, while keeping the
   theme's ~60px gap above it even when a card's content is short. */
.tj-careers-grid .tj-careers {
  display: flex;
  flex-direction: column;
}
.tj-careers-grid .tj-careers .tj-careers-bottom {
  margin-top: auto;
  padding-top: 60px;
}

/* ---- Load More button (uses the theme's .tj-primary-btn styling/hover) ---- */
.tj-careers-loadmore {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.tj-careers-loadmore-btn.loading {
  opacity: 0.7;
  pointer-events: none;
}

.tj-careers-empty {
  text-align: center;
  padding: 40px 0;
}

/* ---- Single job detail page ---- */
.tj-careers-single-header {
  margin-bottom: 30px;
}
.tj-careers-single-header .tj-careers-tag {
  margin-bottom: 18px;
}
.tj-careers-single-title {
  margin: 0 0 15px;
}
.tj-careers-single-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 30px;
}
.tj-careers-single-meta .tj-careers-salary {
  margin-top: 0;
}
.tj-careers-single-meta .location i {
  margin-inline-end: 5px;
}
.tj-careers-section {
  margin-bottom: 30px;
}
.tj-careers-section h4 {
  margin-bottom: 15px;
}
.tj-careers-section ul {
  margin: 0 0 15px;
  padding-inline-start: 20px;
}
.tj-careers-section ul li {
  margin-bottom: 10px;
}
