/* ================================================================
   BERGEC — Styles de la page Réalisations
   ================================================================ */

/* En-tête de page (bandeau bleu en haut) */
.page-entete {
  background: linear-gradient(135deg, var(--sombre) 0%, var(--bleu-fonce) 50%, var(--bleu) 100%);
  padding: 160px 0 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.entete-corps { position: relative; z-index: 2; }

.page-entete .titre-section { font-size: clamp(30px, 5vw, 50px); margin-top: 12px; }

/* Décoration en bas de l'en-tête */
.entete-decor {
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  height: 60px;
  background: var(--fond-clair);
  clip-path: ellipse(55% 100% at 50% 100%);
}

/* ── Grille de projets ── */
.projets-grille {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  margin-bottom: 40px;
}

.carte-projet {
  background: var(--blanc);
  border-radius: var(--rayon-lg);
  overflow: hidden;
  border: 1px solid var(--bordure);
  transition: var(--transition);
}

.carte-projet:hover {
  transform: translateY(-5px);
  box-shadow: var(--ombre-lg);
  border-color: transparent;
}

/* Projet vedette : plus large */
.carte-projet.vedette       { grid-column: span 7; }
.carte-projet:nth-child(2)  { grid-column: span 5; }
.carte-projet:nth-child(3),
.carte-projet:nth-child(4),
.carte-projet:nth-child(5),
.carte-projet:nth-child(6)  { grid-column: span 3; }

/* Projets de renforcement : 3 cartes égales sur un rang complet */
.carte-projet:nth-child(7),
.carte-projet:nth-child(8),
.carte-projet:nth-child(9)  { grid-column: span 4; }

/* Image du projet */
.proj-image {
  position: relative;
  overflow: hidden;
  height: 220px;
}

.carte-projet.vedette .proj-image { height: 280px; }

.proj-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.carte-projet:hover .proj-image img { transform: scale(1.06); }

/* Calque sombre sur l'image */
.proj-calque {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10, 22, 40, 0.85) 0%, transparent 50%);
  display: flex;
  align-items: flex-end;
  padding: 16px;
}

/* Étiquette de catégorie sur l'image */
.proj-categorie {
  background: var(--rouge);
  color: var(--blanc);
  padding: 4px 12px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
}

/* Corps de la carte projet */
.proj-corps { padding: 20px; }

.proj-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 9px;
}

.proj-badge {
  background: rgba(26, 63, 122, 0.08);
  color: var(--bleu);
  padding: 4px 11px;
  border-radius: 50px;
  font-size: 11px;
  font-weight: 600;
}

.proj-valeur {
  font-family: var(--police-titre);
  font-size: 13px;
  font-weight: 700;
  color: var(--rouge);
}

.proj-corps h3 {
  font-family: var(--police-titre);
  font-size: 17px;
  font-weight: 700;
  color: var(--sombre);
  margin-bottom: 8px;
  line-height: 1.3;
}

.proj-corps p {
  font-size: 14px;
  color: var(--discret);
  line-height: 1.7;
  margin-bottom: 13px;
}

/* Étiquettes de tags */
.proj-etiquettes { display: flex; flex-wrap: wrap; gap: 6px; }

.proj-etiquettes span {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  color: var(--discret);
  background: var(--fond-clair);
  padding: 4px 10px;
  border-radius: 50px;
}

.proj-etiquettes i { font-size: 10px; color: var(--bleu); }

/* ── Bandeau missions ── */
.missions-bandeau {
  background: linear-gradient(135deg, var(--bleu-fonce), var(--bleu));
  border-radius: var(--rayon-lg);
  padding: 36px 40px;
  color: var(--blanc);
  margin-bottom: 40px;
}

.missions-bandeau h3 {
  font-family: var(--police-titre);
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 22px;
}

.missions-grille {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.mission-item {
  text-align: center;
  padding: 18px 10px;
  background: rgba(255, 255, 255, 0.08);
  border-radius: var(--rayon);
  transition: var(--transition);
}

.mission-item:hover { background: rgba(204, 17, 34, 0.2); transform: translateY(-4px); }
.mission-item i     { font-size: 28px; color: var(--rouge); margin-bottom: 9px; display: block; }
.mission-item span  { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, 0.9); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .projets-grille { grid-template-columns: 1fr 1fr; }
  .carte-projet.vedette,
  .carte-projet:nth-child(2),
  .carte-projet:nth-child(3),
  .carte-projet:nth-child(4),
  .carte-projet:nth-child(5),
  .carte-projet:nth-child(6),
  .carte-projet:nth-child(7),
  .carte-projet:nth-child(8),
  .carte-projet:nth-child(9) { grid-column: span 1; }
  .missions-grille { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
  .projets-grille  { grid-template-columns: 1fr; }
  .missions-grille { grid-template-columns: 1fr 1fr; }
}
