.coacum-p {
  --c-primary: #308E29;
  --c-primary-doux: #EAF5E9;
  --c-accent: #BB9E2A;
  --c-accent-doux: #FAF4DE;
  --c-encre: #0E3A0E;
  --c-muted: #EDF3ED;
  --c-muted-fg: #577557;
  --c-bord: #DCE5DC;
  --c-danger: #EF4343;
  font-family: Inter, system-ui, -apple-system, sans-serif;
  color: var(--c-encre);
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 32px;
}
.coacum-p *, .coacum-p *::before, .coacum-p *::after { box-sizing: border-box; }
.coacum-p__vide { color: var(--c-muted-fg); padding: 20px; background: var(--c-muted); border-radius: 12px; }

/* Profil */
.coacum-p__couverture {
  position: relative; min-height: 170px; border-radius: 16px;
  background: linear-gradient(135deg, #308E29 0%, #0E3A0E 100%);
  background-size: cover; background-position: center;
  display: flex; align-items: flex-end; padding: 20px 24px; margin-bottom: 18px;
}
.coacum-p__couverture::after {
  content: ""; position: absolute; inset: 0; border-radius: 16px;
  background: linear-gradient(to top, rgba(14,58,14,.75), rgba(14,58,14,.1));
}
.coacum-p__identite { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; }
.coacum-p__avatar {
  width: 72px; height: 72px; border-radius: 50%; object-fit: cover;
  border: 3px solid #fff; flex: 0 0 72px;
  display: flex; align-items: center; justify-content: center;
}
.coacum-p__avatar--vide { background: var(--c-accent); color: #fff; font-size: 28px; font-weight: 700; }
.coacum-p__nom { margin: 0; font-size: 22px; font-weight: 700; color: #fff; }
.coacum-p__statut { margin: 2px 0 0; color: rgba(255,255,255,.85); font-size: 14px; }
.coacum-p__bio { color: var(--c-muted-fg); margin: 0 0 20px; }

.coacum-p__stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px,1fr)); gap: 12px; margin-bottom: 22px; }
.coacum-p__stat { background: #fff; border: 1px solid var(--c-bord); border-radius: 14px; padding: 14px 16px; display: flex; flex-direction: column; gap: 2px; }
.coacum-p__stat-valeur { font-size: 20px; font-weight: 700; }
.coacum-p__stat-label { font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--c-muted-fg); }

.coacum-p__bloc { background: #fff; border: 1px solid var(--c-bord); border-radius: 16px; padding: 20px 22px; margin-bottom: 18px; }
.coacum-p__titre { margin: 0 0 14px; font-size: 16px; font-weight: 600; }
.coacum-p__aide { font-size: 13px; color: var(--c-muted-fg); margin: 14px 0 0; }

.coacum-p__grille { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); gap: 5px; }
.coacum-p__mois {
  display: flex; align-items: center; justify-content: center;
  min-height: 36px; border-radius: 9px; font-size: 11px; font-weight: 500;
  background: var(--c-muted); color: var(--c-muted-fg); border: 1px solid var(--c-bord);
}
.coacum-p__mois--paye { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }

/* Réseau */
.coacum-p__cartes { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px,1fr)); gap: 16px; }
.coacum-p__carte {
  background: #fff; border: 1px solid var(--c-bord); border-radius: 16px;
  padding: 20px 18px; text-align: center; transition: transform .18s ease, box-shadow .18s ease;
}
.coacum-p__carte:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(14,58,14,.10); }
.coacum-p__vignette {
  width: 72px; height: 72px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px;
  display: flex; align-items: center; justify-content: center;
}
.coacum-p__vignette--vide { background: var(--c-primary-doux); color: var(--c-primary); font-size: 28px; font-weight: 700; }
.coacum-p__carte-nom { margin: 0 0 3px; font-size: 15px; font-weight: 600; }
.coacum-p__carte-role { margin: 0 0 8px; font-size: 12px; color: var(--c-accent); font-weight: 500; }
.coacum-p__carte-bio { margin: 0; font-size: 13px; color: var(--c-muted-fg); }

/* Galerie */
.coacum-p__galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px,1fr)); gap: 16px; }
.coacum-p__oeuvre { margin: 0; background: #fff; border: 1px solid var(--c-bord); border-radius: 16px; overflow: hidden; }
.coacum-p__oeuvre img { width: 100%; height: 200px; object-fit: cover; display: block; }
.coacum-p__oeuvre figcaption { padding: 14px 16px; display: flex; flex-direction: column; gap: 3px; }
.coacum-p__auteur { font-size: 12px; color: var(--c-primary); font-weight: 500; }
.coacum-p__legende { font-size: 13px; color: var(--c-muted-fg); }

/* Articles */
.coacum-p__articles { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px,1fr)); gap: 18px; }
.coacum-p__article { background: #fff; border: 1px solid var(--c-bord); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.coacum-p__article-image { width: 100%; height: 160px; object-fit: cover; display: block; }
.coacum-p__article-corps { padding: 16px 18px; display: flex; flex-direction: column; gap: 6px; }
.coacum-p__categorie {
  align-self: flex-start; font-size: 11px; font-weight: 500; padding: 2px 10px;
  border-radius: 999px; background: var(--c-accent-doux); color: #7A6612;
}
.coacum-p__article-titre { margin: 0; font-size: 16px; font-weight: 600; }
.coacum-p__article-extrait { margin: 0; font-size: 14px; color: var(--c-muted-fg); }
.coacum-p__article-meta { font-size: 12px; color: rgba(87,117,87,.8); }

/* Agenda */
.coacum-p__agenda { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.coacum-p__evenement {
  display: flex; align-items: center; gap: 16px;
  background: #fff; border: 1px solid var(--c-bord); border-radius: 14px; padding: 14px 18px;
}
.coacum-p__date {
  flex: 0 0 52px; text-align: center; background: var(--c-primary-doux);
  border-radius: 10px; padding: 6px 0; line-height: 1.2;
}
.coacum-p__date strong { display: block; font-size: 19px; color: var(--c-primary); }
.coacum-p__date span { font-size: 11px; text-transform: uppercase; color: var(--c-muted-fg); }
.coacum-p__evenement-corps { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.coacum-p__lieu { font-size: 13px; color: var(--c-muted-fg); }
.coacum-p__badge { font-size: 11px; padding: 3px 11px; border-radius: 999px; background: var(--c-muted); color: var(--c-muted-fg); }
.coacum-p__badge--terminé { background: var(--c-primary-doux); color: #1F6B1A; }
.coacum-p__badge--annulé { background: #FDECEC; color: #B02525; }
.coacum-p__badge--planifié, .coacum-p__badge--en_cours { background: var(--c-accent-doux); color: #7A6612; }

@media (max-width: 640px) {
  .coacum-p__grille { grid-template-columns: repeat(6, minmax(0,1fr)); }
  .coacum-p__couverture { min-height: 140px; padding: 16px; }
  .coacum-p__avatar { width: 60px; height: 60px; flex-basis: 60px; }
  .coacum-p__nom { font-size: 19px; }
}

/* ===== 2.1 : bandeau de statut, dons, certification ===== */
.coacum-p__certifie { display: inline-flex; vertical-align: middle; margin-left: 6px; color: #BB9E2A; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.coacum-p__bandeau {
  display: flex; align-items: center; justify-content: space-between; gap: 20px;
  flex-wrap: wrap; padding: 20px 24px; border-radius: 16px; margin-bottom: 20px;
  background: var(--c-muted); border-left: 4px solid var(--c-bord);
}
.coacum-p__bandeau--paye { background: var(--c-primary-doux); border-left-color: var(--c-primary); }
.coacum-p__bandeau--retard { background: #FDECEC; border-left-color: var(--c-danger); }
.coacum-p__bandeau--attente { background: var(--c-accent-doux); border-left-color: var(--c-accent); }
.coacum-p__bandeau-titre { display: block; font-size: 17px; margin-bottom: 3px; }
.coacum-p__bandeau-sous { font-size: 14px; color: var(--c-muted-fg); }
.coacum-p__bandeau--retard .coacum-p__bandeau-sous { color: #A32626; }

.coacum-p__jauge { position: relative; width: 86px; height: 86px; flex: 0 0 86px; }
.coacum-p__jauge-arc { stroke: var(--c-primary); }
.coacum-p__bandeau--retard .coacum-p__jauge-arc { stroke: var(--c-danger); }
.coacum-p__bandeau--attente .coacum-p__jauge-arc { stroke: var(--c-accent); }
.coacum-p__jauge-valeur {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 20px; font-weight: 700;
}
.coacum-p__jauge-valeur small { font-size: 12px; font-weight: 500; }

.coacum-p__stat--du { border-color: #F1C4C4; background: #FFFAFA; }
.coacum-p__stat--du .coacum-p__stat-valeur { color: #A32626; }
.coacum-p__stat--don { border-color: #EBDFA8; background: #FFFDF5; }
.coacum-p__stat--don .coacum-p__stat-valeur { color: #7A6612; }

.coacum-p__bloc-entete { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 16px; }
.coacum-p__bloc-entete .coacum-p__titre { margin: 0; }
.coacum-p__legende { display: flex; gap: 14px; flex-wrap: wrap; font-size: 12px; color: var(--c-muted-fg); }
.coacum-p__legende span { display: inline-flex; align-items: center; gap: 5px; }
.coacum-p__point { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.coacum-p__point--regle { background: var(--c-primary); }
.coacum-p__point--impaye { background: var(--c-danger); }
.coacum-p__point--a_venir { background: var(--c-accent); }

.coacum-p__annee { margin-bottom: 16px; }
.coacum-p__annee-entete { display: flex; align-items: baseline; gap: 10px; margin-bottom: 7px; }
.coacum-p__annee-label { font-weight: 600; font-size: 15px; }
.coacum-p__annee-compte { font-size: 12px; color: var(--c-muted-fg); }

.coacum-p__mois--regle { background: var(--c-primary); color: #fff; border-color: var(--c-primary); }
.coacum-p__mois--impaye { background: #FDECEC; color: #A32626; border-color: #F1C4C4; }
.coacum-p__mois--a_venir { background: var(--c-accent-doux); color: #7A6612; border-color: #EBDFA8; }
.coacum-p__mois--hors_periode { background: #F7F9F7; color: #C2CCC2; border-color: #EFF3EF; }

.coacum-p__sous-titre { margin: 22px 0 10px; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--c-muted-fg); font-weight: 600; }

.coacum-p__mouvements { list-style: none; margin: 0; padding: 0; }
.coacum-p__mouvements li {
  display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
  padding: 11px 0; border-bottom: 1px solid #F1F5F1;
}
.coacum-p__mouvements li:last-child { border-bottom: none; padding-bottom: 0; }
.coacum-p__mouvement-objet { font-weight: 500; }
.coacum-p__affectation { display: block; font-size: 12px; font-style: italic; color: var(--c-muted-fg); font-weight: 400; }
.coacum-p__mouvement-meta { font-size: 13px; color: var(--c-muted-fg); }
.coacum-p__mouvement-montant { margin-left: auto; font-weight: 600; color: var(--c-primary); white-space: nowrap; }
.coacum-p__mouvement-montant--don { color: #7A6612; }
.coacum-p__vide-doux { color: var(--c-muted-fg); margin: 0; }

@media (max-width: 560px) {
  .coacum-p__bandeau { flex-direction: column; align-items: flex-start; }
  .coacum-p__mouvement-montant { margin-left: 0; }
}

/* ===== 2.2 : pastilles dans BuddyBoss ===== */
.coacum-pastilles { display: inline-flex; gap: 6px; flex-wrap: wrap; align-items: center; vertical-align: middle; margin: 4px 0; }
.coacum-pastilles--annuaire { margin-top: 6px; }

.coacum-pastille {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 11px; border-radius: 999px;
  font-size: 12px; font-weight: 500; line-height: 1.5;
  font-family: Inter, system-ui, sans-serif;
  background: #EDF3ED; color: #577557; text-decoration: none;
}
.coacum-pastille svg { flex: 0 0 auto; }
.coacum-pastille--certifie { background: #FAF4DE; color: #7A6612; }
.coacum-pastille--paye { background: #EAF5E9; color: #1F6B1A; }
.coacum-pastille--retard { background: #FDECEC; color: #A32626; }
.coacum-pastille--attente { background: #FAF4DE; color: #7A6612; }
.coacum-pastille-lien { text-decoration: none; }
.coacum-pastille-lien:hover .coacum-pastille { filter: brightness(.96); }

.coacum-p--inline { display: inline-block; margin: 0; }
.coacum-p__carte--seule { max-width: 280px; text-align: center; }

/* L'onglet de profil hérite parfois de styles serrés du thème */
#coacum-cotisations-personal-li a::before { content: none; }
.bp-single-vert-nav .coacum-p, #item-body .coacum-p { max-width: 100%; }
