/* =============================================================================
   TRAFFIC PLAN — Projects Page CSS
   Portofoliu proiecte: stats, filtre, grid carduri, beneficiari
   Mobile-first | BEM | CSS Custom Properties
   ============================================================================= */

/* ─── Statistici portofoliu ─────────────────────────────────────────────────── */
.tp-proj-stats {
  padding: var(--sp-12) 0;
  background-color: var(--tp-white);
}

.tp-proj-stats__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4);
}

@media (min-width: 768px) {
  .tp-proj-stats__grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.tp-proj-stats__card {
  background-color: var(--tp-gray-50);
  border: 1px solid var(--tp-gray-100);
  border-radius: var(--radius-lg);
  padding: var(--sp-6) var(--sp-5);
  text-align: center;
  transition: all var(--ease-normal);
}

.tp-proj-stats__card:hover {
  border-color: var(--tp-green-500);
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

.tp-proj-stats__number {
  font-family: var(--font-mono);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  color: var(--tp-orange-500);
  line-height: 1;
  margin-bottom: var(--sp-2);
}

.tp-proj-stats__label {
  font-size: var(--fs-sm);
  color: var(--tp-gray-500);
  font-weight: 500;
  line-height: 1.4;
}

/* ─── Grid Section ──────────────────────────────────────────────────────────── */
.tp-proj-grid-section {
  padding: var(--sp-16) 0;
  background-color: var(--tp-gray-50);
}

.tp-proj-grid-section__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, var(--fs-3xl));
  font-weight: 700;
  color: var(--tp-navy-900);
  margin: var(--sp-3) 0 var(--sp-8);
}

/* ─── Filtre ────────────────────────────────────────────────────────────────── */
.tp-proj-filters {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-2);
  margin-bottom: var(--sp-8);
}

.tp-proj-filters__btn {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  padding: var(--sp-2) var(--sp-4);
  border-radius: var(--radius-md);
  border: 1px solid var(--tp-gray-100);
  background-color: var(--tp-white);
  color: var(--tp-gray-500);
  cursor: pointer;
  transition: all var(--ease-fast);
}

.tp-proj-filters__btn:hover {
  border-color: var(--tp-green-500);
  color: var(--tp-green-500);
}

.tp-proj-filters__btn.is-active {
  background-color: var(--tp-green-500);
  border-color: var(--tp-green-500);
  color: var(--tp-white);
}

/* ─── Grid proiecte ─────────────────────────────────────────────────────────── */
.tp-proj-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-5);
}

@media (min-width: 640px) {
  .tp-proj-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .tp-proj-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ─── Card proiect ──────────────────────────────────────────────────────────── */
.tp-proj-card {
  background-color: var(--tp-white);
  border: 1px solid var(--tp-gray-100);
  border-top: 3px solid var(--tp-gray-100);
  border-radius: var(--radius-lg);
  padding: var(--sp-6);
  display: flex;
  flex-direction: column;
  transition: all var(--ease-normal);
}

.tp-proj-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
}

/* Border-top colorat pe hover per categorie */
.tp-proj-card:hover {
  border-top-color: var(--tp-green-500);
}

.tp-proj-card[data-cat="pmud"]:hover {
  border-top-color: var(--tp-green-500);
}

.tp-proj-card[data-cat="studii"]:hover {
  border-top-color: var(--tp-teal-500);
}

.tp-proj-card[data-cat="ocolire"]:hover {
  border-top-color: var(--tp-orange-500);
}

.tp-proj-card[data-cat="intermodal"]:hover {
  border-top-color: var(--tp-yellow-500);
}

/* Label tip proiect */
.tp-proj-card__label {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: var(--sp-3);
}

.tp-proj-card__label--pmud {
  color: var(--tp-green-500);
}

.tp-proj-card__label--studii {
  color: var(--tp-teal-500);
}

.tp-proj-card__label--ocolire {
  color: var(--tp-orange-500);
}

.tp-proj-card__label--intermodal {
  color: var(--tp-yellow-500);
}

/* Titlu proiect */
.tp-proj-card__title {
  font-family: var(--font-display);
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--tp-navy-900);
  line-height: 1.3;
  margin: 0 0 var(--sp-3);
}

/* Descriere */
.tp-proj-card__desc {
  font-size: var(--fs-sm);
  color: var(--tp-gray-500);
  line-height: 1.65;
  margin: 0 0 auto;
  padding-bottom: var(--sp-4);
}

/* Meta: an + beneficiar */
.tp-proj-card__meta {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--tp-gray-100);
}

.tp-proj-card__year {
  font-family: var(--font-mono);
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--tp-orange-500);
  flex-shrink: 0;
}

.tp-proj-card__client {
  font-size: var(--fs-xs);
  color: var(--tp-gray-500);
  line-height: 1.4;
}

/* ─── Beneficiari ───────────────────────────────────────────────────────────── */
.tp-proj-clients {
  padding: var(--sp-16) 0;
  background-color: var(--tp-navy-900);
}

.tp-proj-clients__title {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, var(--fs-3xl));
  font-weight: 700;
  color: var(--tp-white);
  margin: var(--sp-3) 0 var(--sp-4);
}

.tp-proj-clients__desc {
  font-size: var(--fs-md);
  color: rgba(255,255,255,0.7);
  max-width: 640px;
  margin-bottom: var(--sp-8);
  line-height: 1.7;
}

.tp-proj-clients__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--sp-3);
}

.tp-proj-clients__tag {
  font-family: var(--font-mono);
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--tp-white);
  background-color: var(--tp-navy-700);
  border: 1px solid var(--tp-navy-600);
  border-radius: var(--radius-md);
  padding: var(--sp-2) var(--sp-4);
  transition: all var(--ease-fast);
}

.tp-proj-clients__tag:hover {
  border-color: var(--tp-teal-500);
  color: var(--tp-teal-500);
}

/* =============================================================================
   Index CPT 'proiect' — carduri compacte, filtre tip+an, acoperire județe
   (data-tip = slug taxonomie tip_proiect; înlocuiește vechiul data-cat)
   ============================================================================= */

/* IMPORTANT: .tp-proj-card e display:flex → suprascrie atributul nativ [hidden].
   Forțăm ascunderea cardurilor și a mesajului gol când sunt filtrate. */
.tp-proj-card[hidden] { display: none !important; }
.tp-proj-empty[hidden] { display: none; }

/* Label tip — culoare implicită + accente per tip_proiect (8 slug-uri reale) */
.tp-proj-card__label { color: var(--tp-teal-500); }
.tp-proj-card__label--planuri-de-mobilitate-pmud { color: var(--tp-green-500); }
.tp-proj-card__label--studii-de-trafic { color: var(--tp-teal-500); }
.tp-proj-card__label--documentatie-tehnica-dtac-ac { color: var(--tp-orange-500); }
.tp-proj-card__label--plan-de-management-al-traficului { color: var(--tp-orange-400); }
.tp-proj-card__label--studii-de-fundamentare-pug { color: var(--tp-yellow-500); }
.tp-proj-card__label--studii-de-oportunitate-delegarea-gestiunii { color: var(--tp-green-600); }
.tp-proj-card__label--studii-de-fezabilitate-prefezabilitate { color: var(--tp-yellow-500); }
.tp-proj-card__label--politica-parcarilor { color: var(--tp-orange-400); }

/* Hover border-top per tip */
.tp-proj-card[data-tip="planuri-de-mobilitate-pmud"]:hover { border-top-color: var(--tp-green-500); }
.tp-proj-card[data-tip="studii-de-trafic"]:hover { border-top-color: var(--tp-teal-500); }
.tp-proj-card[data-tip="documentatie-tehnica-dtac-ac"]:hover { border-top-color: var(--tp-orange-500); }
.tp-proj-card[data-tip="studii-de-fundamentare-pug"]:hover { border-top-color: var(--tp-yellow-500); }

/* Carduri compacte (fără descriere): meta lipită jos */
.tp-proj-card__meta { margin-top: auto; }

/* Beneficiar — afișat doar când există */
.tp-proj-card__benef {
  font-size: var(--fs-xs);
  color: var(--tp-gray-500);
  margin: var(--sp-3) 0 0;
  line-height: 1.4;
}

/* Al doilea rând de filtre (ani) — puțin mai discret */
.tp-proj-filters--years {
  margin-top: calc(-1 * var(--sp-5));
}

.tp-proj-filters__count {
  opacity: 0.65;
  font-weight: 400;
}

/* Mesaj „niciun rezultat” */
.tp-proj-empty {
  font-size: var(--fs-md);
  color: var(--tp-gray-500);
  text-align: center;
  padding: var(--sp-10) 0;
}
