/* Styles propres à l'intégration WordPress.
   Séparé de _base.css (la maquette d'origine) : ce fichier évolue,
   l'autre non — et une URL distincte évite les surprises de cache. */

/* =========================================================
   Cartes d'archive — version enrichie
   ========================================================= */

.pcg-grille .carte{display:flex;flex-direction:column;background:transparent}
.pcg-grille .carte .vignette{
  position:relative;display:block;aspect-ratio:16/10;overflow:hidden;
  background:var(--vert-fonce);
}
.pcg-grille .carte .vignette img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);
}
.pcg-grille .carte:hover .vignette img{transform:scale(1.045)}
.pcg-grille .carte .cat{
  position:absolute;left:0;bottom:0;z-index:2;
  background:var(--vert);color:#fff;
  font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 14px;
}
.pcg-grille .carte .corps{padding:18px 0 0}
.pcg-grille .carte h3{
  font-size:19px;line-height:1.32;margin:0 0 12px;
  transition:color .2s ease;
}
.pcg-grille .carte:hover h3{color:var(--vert-texte)}
.pcg-grille .carte .date{
  font-family:'IBM Plex Mono',monospace;
  font-size:12.5px;color:var(--gris);margin:0;
}
.pcg-grille .carte .extrait{
  font-size:14.5px;line-height:1.6;color:var(--gris);
  margin:0 0 12px;
}

@media(max-width:520px){
  .pcg-grille{grid-template-columns:1fr;gap:30px}
  .pcg-grille .carte h3{font-size:18px}
}

/* =========================================================
   Page Cabinet du Président
   ========================================================= */

.intro-cabinet{max-width:760px;margin:0 0 48px;padding:0}

.cabinet{display:flex;flex-direction:column;gap:52px}

.organe{position:relative}
.titre-organe{
  font-family:var(--police-texte,'Inter',sans-serif);
  font-size:12px;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--vert-texte);
  padding-bottom:16px;margin:0 0 4px;
  border-bottom:2px solid var(--vert);
}
.desc-organe{
  font-size:14.5px;color:var(--gris);
  margin:16px 0 0;max-width:70ch;
}

.membres{
  list-style:none;margin:24px 0 0;padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:2px;
  background:var(--filet);
  border:1px solid var(--filet);
}

.membre{
  display:grid;
  grid-template-columns:74px minmax(0,1fr);
  gap:18px;align-items:center;
  padding:20px 22px;
  background:var(--blanc);
}

.photo-membre{
  width:74px;height:74px;
  overflow:hidden;
  background:var(--papier);
  border:1px solid var(--filet);
  display:grid;place-items:center;
}
.photo-membre img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}
.photo-membre .initiales{
  font-family:var(--police-titres,'Marcellus',serif);
  font-size:24px;color:var(--vert-texte);
  letter-spacing:.04em;
}

.infos-membre{min-width:0}
.nom-membre{
  font-family:var(--police-titres,'Marcellus',serif);
  font-size:18px;font-weight:400;line-height:1.25;
  margin:0 0 5px;color:var(--encre);
}
.fonction-membre{
  font-size:13.5px;line-height:1.45;color:var(--gris);
  margin:0;
}
.decret-membre{
  font-family:'IBM Plex Mono',monospace;
  font-size:11.5px;color:var(--vert-texte);
  margin:8px 0 0;
}
.decret-membre a{text-decoration:underline;text-underline-offset:2px}
.decret-membre a:hover{color:var(--rouge)}

/* Un organe à membre unique — un secrétaire général, un inspecteur
   général — occupe toute la largeur plutôt qu'un tiers perdu. */
.membres:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.membres:has(> :only-child) .membre{padding:26px 28px}
.membres:has(> :only-child) .photo-membre{width:92px;height:92px}
.membres:has(> :only-child) .membre{grid-template-columns:92px minmax(0,1fr)}
.membres:has(> :only-child) .nom-membre{font-size:22px}

@media(max-width:640px){
  .cabinet{gap:40px}
  .membres{grid-template-columns:1fr}
  .membre{grid-template-columns:60px minmax(0,1fr);gap:14px;padding:16px 18px}
  .photo-membre{width:60px;height:60px}
  .photo-membre .initiales{font-size:20px}
  .nom-membre{font-size:17px}
}


/* Libellé réservé aux lecteurs d'écran */
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* Navigation par ancres de la page Cabinet */
.pcg-ancres-organes{
  display:flex;flex-wrap:wrap;gap:8px;
  padding:0 0 26px;margin:0 0 34px;
  border-bottom:1px solid var(--filet);
}
.pcg-ancres-organes a{
  padding:9px 15px;
  border:1px solid var(--filet);background:var(--blanc);
  font-size:12.5px;font-weight:500;color:var(--encre);
  text-decoration:none;transition:.18s;
}
.pcg-ancres-organes a:hover{border-color:var(--vert);color:var(--vert-texte)}

/* Ancrage sous l'en-tête épinglé */
.organe{scroll-margin-top:104px}

@media(max-width:560px){
  .pcg-ancres-organes{gap:6px;padding-bottom:20px;margin-bottom:26px}
  .pcg-ancres-organes a{padding:8px 12px;font-size:11.5px}
}
