.aj-homecats { width: 100%; margin: 24px 0; }

.aj-homecats__head {
  display:flex;
  gap:16px;
  align-items:flex-end;
  justify-content:space-between;
  flex-wrap:wrap;
  margin-bottom:14px;
}

.aj-homecats__title { margin:0; font-size:26px; line-height:1.2; }
.aj-homecats__subtitle { margin:0; opacity:.75; }
.aj-homecats__viewall { text-decoration:none; font-weight:600; }

/* GRID */
.aj-homecats__grid { display:grid; gap:16px; }
.aj-homecats__grid--cols-1 { grid-template-columns: 1fr; }
.aj-homecats__grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.aj-homecats__grid--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.aj-homecats__grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 1024px){
  .aj-homecats__grid--cols-3,
  .aj-homecats__grid--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px){
  .aj-homecats__grid--cols-2,
  .aj-homecats__grid--cols-3,
  .aj-homecats__grid--cols-4 {
    grid-template-columns: 1fr;
  }
}

/* CARD */
.aj-homecats__card{
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  overflow:hidden;
  box-shadow: 0 10px 24px rgba(0,0,0,.04);
  display:flex;
  flex-direction:column;
  min-height:260px;
}

.aj-homecats__cardhead{ padding:14px 14px 6px; }

.aj-homecats__cat{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  text-decoration:none;
}

.aj-homecats__catname{ font-weight:800; font-size:16px; }

.aj-homecats__count{
  font-size:12px;
  font-weight:800;
  padding:4px 10px;
  background: rgba(0,0,0,.06);
}

/* LISTADO */
.aj-homecats__list{
  padding:6px 14px 10px;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1;
}

.aj-homecats__item{
  text-decoration:none;
  padding:10px;
  border:1px solid rgba(0,0,0,.06);
  min-height:72px;
  transition: transform .08s ease, box-shadow .08s ease;
}

.aj-homecats__item:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(0,0,0,.06);
}

/* TITULO OFERTA: SIEMPRE MINÚSCULAS */
.aj-homecats__itemtitle{
  font-weight:500;
  font-size:14px;
  line-height:1.25;

  text-transform: lowercase !important; /* ⬅️ forzamos minúsculas */

  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.6em;
}

/* =========================
   META: izquierda (loc) / derecha (badge+fecha)
   ========================= */
.aj-homecats__meta{
  margin-top:8px;              /* ⬅️ un poco más de aire arriba */
  display:flex;
  align-items:flex-start;
  gap:16px;                    /* separación horizontal */
  font-size:12px;
  opacity:.85;
}

.aj-homecats__metaLeft{
  min-width:0;
  flex:1 1 auto;
}

.aj-homecats__metaRight{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:8px;                     /* ⬅️ separación vertical REAL */
  flex:0 0 auto;
  margin-left:auto;
}



/* BADGE */
.aj-homecats__pill{
  border-radius:0;
  border:1px solid rgba(0,0,0,.10);
  font-weight:700;
  padding:3px 10px;
  font-size:12px;
  line-height:1.1;
}

/* Freelance */
.aj-homecats__pill--freelance{
  background: rgba(16, 185, 129, 0.18);
  border-color: rgba(16, 185, 129, 0.35);
  color: #047857;
}

/* Jornada completa */
.aj-homecats__pill--jornada-completa{
  background: rgba(59, 130, 246, 0.18);
  border-color: rgba(59, 130, 246, 0.35);
  color: #1e40af;
}

/* Media jornada */
.aj-homecats__pill--media-jornada{
  background: rgba(245, 158, 11, 0.20);
  border-color: rgba(245, 158, 11, 0.40);
  color: #92400e;
}

/* Temporal */
.aj-homecats__pill--temporal{
  background: rgba(100, 116, 139, 0.18);
  border-color: rgba(100, 116, 139, 0.35);
  color: #334155;
}

/* LOCALIZACIÓN */
.aj-homecats__location{
  display:block;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}

.aj-homecats__location::before{
  content:"📍";
  margin-right:6px;
}

/* FECHA */
.aj-homecats__date{
  display:block;
  white-space:nowrap;
  opacity:.85;
}

/* CTA */
.aj-homecats__cta{ padding:0 14px 14px; }

.aj-homecats__btn{
  display:block;
  text-align:center;
  padding:10px 12px;
  text-decoration:none;
  font-weight:800;
  border:1px solid rgba(0,0,0,.10);
}

.aj-homecats__empty{
  opacity:.7;
  font-size:13px;
  padding:10px;
  border:1px dashed rgba(0,0,0,.15);
}