 === Minimal CSS (assets/annuaire.css) suggestion ===
.cea-annuaire{--gap:20px}
.cea-filtres{margin:1rem 0}
.cea-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap)}
.cea-btn{margin-top:.5rem}
.cea-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--gap)}
.cea-card{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.06)}
/*.cea-card-link{color:inherit;text-decoration:none;display:block;padding:12px}*/
.cea-card-media{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:#fafafa}
.cea-card-title{margin:.5rem 0 0;font-size:1.1rem}
.cea-card-sub{color:#EA4E31;}
.cea-card-tags{font-size:.9rem;margin-top:.25rem}
.cea-card-loc{color:#666;font-size:.9rem}
.cea-pagination{margin:1rem 0}
.cea-fiche-header{display:grid;grid-template-columns:160px 1fr 160px;gap:20px;align-items:start}
.cea-fiche .cea-entreprise{margin:.25rem 0 0;color:#444; font-size:1.4rem;}
.cea-breadcrumbs{background:var(--cea-primary); font-size:1.4rem;margin-bottom:0px;color:#ffffff; padding:30px 45px 0 45px;}
.cea-breadcrumbs a {color:#ffffff;}
.cea-rs{display:flex;gap:10px;list-style:none;padding:0}
@media(max-width:800px){.cea-row{grid-template-columns:1fr 1fr}.cea-fiche-header{grid-template-columns:1fr}}

/* ===============================
FILE: assets/annuaire.css (compléments pour la fiche)
Ajoute ces règles à ton fichier CSS du plugin
==================================== */
:root{
  --cea-primary:#ea4e31;        /* rouge d'accent */
  --cea-primary-600:#a10e0e;
  --cea-bg:#ffffff;
  --cea-border:#e8e8e8;
  --cea-muted:#6b7280;       /* gris texte secondaire */
  --cea-soft:#fafafa;        /* fonds cartes / médias */
  --radius:14px;
}

#main #content-wrap {padding-top:0!important;}
.container {width:100%!important; max-width:100%!important;}


/* ====== Layout annuaire (liste) ====== */
.cea-annuaire{--gap:22px}
.cea-filtres{margin:1rem 0 1.25rem 0;padding:.75rem;border:1px solid var(--cea-border);border-radius:var(--radius);background:var(--cea-bg)}
.cea-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gap)}
.cea-filtres label{display:block;font-size:14px;color:var(--cea-muted);margin:0 0 .35rem}
.cea-filtres input[type="text"],
.cea-filtres select{width:100%;padding:.6rem .7rem;border:1px solid var(--cea-border);border-radius:10px;background:#fff;outline:none}
.cea-filtres input:focus,
.cea-filtres select:focus{border-color:var(--cea-primary);box-shadow:0 0 0 3px rgba(204,17,17,.12)}
.cea-btn{display:inline-block;background:var(--cea-primary);color:#fff;border:0;border-radius:10px;padding:.6rem 1rem;cursor:pointer}
.cea-btn:hover{background:var(--cea-primary-600)}

/* Grille de cartes */
.cea-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--gap)}
.cea-card{width:25%; background:#fff;border:1px solid var(--cea-border);border-radius:var(--radius);overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .15s ease, box-shadow .15s ease}
.cea-card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
/*.cea-card-link{color:inherit;text-decoration:none;display:block;padding:12px}*/
.cea-card-media{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;background:var(--cea-soft);border-radius:10px;overflow:hidden}
.cea-card-media img{width:100%;height:100%;object-fit:cover}
.cea-card-title{margin:.6rem 0 0;font-size:1.05rem;line-height:1.3}
.cea-card-tags{font-size:.9rem;margin-top:.25rem}
.cea-card-tags a{display:inline-block;margin:4px 6px 0 0;padding:3px 8px;border:1px solid var(--cea-border);border-radius:999px;color:#333;background:#fff;text-decoration:none!important;}
.cea-card-loc{color:var(--cea-muted);font-size:.9rem;margin-top:.15rem}

/* Pagination */
.cea-pagination{margin:1rem 0}
.cea-pagination .page-numbers{display:inline-block;margin:0 .1rem;padding:.45rem .7rem;border:1px solid var(--cea-border);border-radius:8px;text-decoration:none;color:#333}
.cea-pagination .page-numbers.current{background:var(--cea-primary);border-color:var(--cea-primary);color:#fff}

/* ====== Fiche (single) – v3 layout proche PDF ====== */
.cea-wrap{max-width:1250px;margin:0 auto;padding:0 30px}

/* Bandeau rouge avec Nom et prénom */
.cea-hero{background:var(--cea-primary);color:#fff;padding:60px 24px 22px 250px;margin:0px 0 28px}
.cea-hero-name{margin:0;font-size:1.35rem;font-weight:700;letter-spacing:.01em; color:#ffffff;font-size:32px!important;}

/* Grid principale */
.cea-layout{display:grid;grid-template-columns:2fr 1fr;gap:28px;align-items:start;margin-top:-40px}

.cea-left {margin-left:50px;}

/* Portrait circulaire qui chevauche le bandeau */
.cea-portrait-overlap{margin-top:-80px;margin-bottom:16px}
.cea-portrait-img{width:180px;height:180px;border-radius:999px;object-fit:cover;border:6px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.08);background:var(--cea-soft)}
.cea-portrait-ph{width:140px;height:140px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#eee;color:#777;border:6px solid #fff;box-shadow:0 6px 16px rgba(0,0,0,.08);font-size:.9rem}

/* Logo sur fond blanc */
.cea-logo-card{width:25%; background:#fff;border:1px solid var(--cea-border);border-radius:12px;padding:14px;display:flex;align-items:center;justify-content:center;min-height:90px;margin-bottom:16px}
.cea-logo-img{max-height:70px;width:auto}

/* Titres et texte colonne gauche */
.cea-company{text-transform:uppercase;font-weight:800 !important;font-size:2rem!important;margin:6px 0 4px}
.cea-activity-tags{color:#ea4e31;font-size:1.5rem;margin-bottom:14px; font-weight:800;}
.cea-activity-tags a {color:#ea4e31!important;}
.cea-desc{line-height:1.8;margin:12px 0}
.cea-competences{margin:10px 0}
.cea-competences .label{color:#ea4e31;font-weight:700}
.cea-competences p {color:#ea4e31;font-weight:400}


/* Liens divers bloc gris */
.cea-links-card{background:#f3eaea;border-radius:12px;padding:16px;margin-top:18px}
.cea-links-card a{color:#c11;text-decoration:none}
.cea-links-card a:hover{text-decoration:underline}

/* Carte contact (colonne droite) */
.cea-contact-card{background:#fff;border:1px solid var(--cea-border);border-radius:12px;padding:16px;margin-top:50px;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.cea-contact-card h3{margin:0 0 10px 0;text-transform:uppercase;font-size:1.7rem;letter-spacing:.02em; font-weight:700; color:#000000;}
.cea-contact-card .line{display:flex;align-items:center;gap:10px;margin:8px 0}
.cea-contact-card .ico{display:inline-flex;width:18px;height:18px;color:var(--cea-primary)}
.cea-contact-card a{text-decoration:none}
.cea-contact-card a:hover{text-decoration:underline}
.cea-contact-card .icons{display:flex;gap:10px;margin-top:20px}
.cea-contact-card .icons .rs{color:var(--cea-primary)}

/* Override quelques styles précédents */
.cea-fiche-header{display:none}
.cea-fiche-title,.cea-entreprise{display:none}

/* Responsive */
@media (max-width:980px){
  .cea-layout{grid-template-columns:1fr}
  .cea-contact-card{margin-top:0}
}

/* ====== Accessibilité (focus visible) ====== */é (focus visible) ====== */
.cea-annuaire a:focus,
.cea-annuaire button:focus,
.cea-fiche a:focus{outline:3px solid rgba(204,17,17,.35);outline-offset:2px}

/* ====== Responsive ====== */
@media (max-width:1100px){
  .cea-row{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:900px){
  .cea-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cea-fiche-header{grid-template-columns:160px 1fr}
  .cea-fiche-logo{order:3}
}
@media (max-width:600px){
  .cea-row{grid-template-columns:1fr}
  .cea-contact{grid-template-columns:1fr}
  .cea-fiche-header{grid-template-columns:1fr}
  .cea-fiche-logo img{margin:0}
}

/* ====== Petits raffinements visuels ====== */
/* Image vide → placeholder doux */
.cea-card-media:empty::after{content:"";display:block;width:60%;height:60%;background:linear-gradient(135deg,#f0f0f0,#fafafa);border-radius:10px}
/* Titre tronqué sur deux lignes max */
.cea-card-title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* Champs du formulaire sur mobile: pleine largeur */
@media (max-width:600px){
  .cea-filtres input[type="text"], .cea-filtres select{width:100%}
}


/* === Overrides v3 (proche PDF) === */
.cea-wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.cea-fiche-header{grid-template-columns:260px 1fr 200px;gap:28px;margin-bottom:42px}
.cea-fiche .cea-entreprise{font-size:2.1rem;text-transform:uppercase;letter-spacing:.02em;margin:4px 0 14px 0}
.cea-fiche .cea-fiche-title{font-size:1.35rem;color:#222;margin:0 0 6px 0}
.cea-fiche .cea-contact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0}
.cea-fiche .cea-contact div{line-height:1.5}
.cea-fiche .cea-tags a{background:#fff;border-color:#e3e3e3}
.cea-fiche-content h3{font-size:1.05rem;text-transform:uppercase;letter-spacing:.02em}



/* =========================================
   LISTING — v4 override (maquette fidèle)
   ========================================= */

/* 1) Variables et gap local */
.cea-annuaire{ --gap:26px; }

/* 2) Grille à 3 colonnes (puis 2/1 en responsive) */
.cea-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--gap);
  max-width:1140px; margin:50px auto 10px!important; padding:0 20px;
}
@media (max-width:1000px){ .cea-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){  .cea-grid{ grid-template-columns:1fr; } }

/* Neutralise tout width forcé sur les cartes */
.cea-grid .cea-card{ width:auto !important; }

/* 3) Carte : squelette + bandeau rouge + chevron */
.cea-card{
  background:#fff; border:1px solid var(--cea-border);
  border-radius:0px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cea-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.08); }
/*.cea-card-link{ color:inherit; text-decoration:none; display:block; position:relative; padding:0; }*/
/*.cea-card-link::before{ content:""; display:block; background:var(--cea-primary); }*/

/* Chevron */
/*.cea-card-link::after{
  content:""; display:block; margin:10px auto 0; width:0; height:0;
  border-left:7px solid transparent; border-right:7px solid transparent; border-top:8px solid #333; opacity:.6;
}*/

/* 4) Portrait rond qui chevauche le bandeau */
.cea-card-media{
  width:124px; height:124px; border-radius:999px; background:#eee; border:6px solid #fff;
  margin:-62px auto 12px; display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.cea-card-media img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }

/* 5) Textes centrés (Nom / Entreprise / Tags / Extrait optionnel) */
.cea-card-title{
  margin:8px 0 2px; text-align:center; font-size:1.05rem; font-weight:800; line-height:1.3;
}
.cea-card-tags{ margin:0 0 10px; text-align:center; font-size:.86rem; color:var(--cea-muted); }
.cea-card-excerpt{ margin:0 auto 10px; max-width:80%; text-align:center; line-height:1.55; color:#333; font-size:.95rem; }

/* 6) Localisation avec pin */
.cea-card-loc{
  text-align:center; margin-top:8px; color:var(--cea-muted);
  font-size:.9rem; display:flex; justify-content:center; gap:6px; align-items:center;
}
.cea-card-loc::before{
  content:""; width:14px; height:14px; display:inline-block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%23ea4e31'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 00-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E") no-repeat center/contain;
}

/* 7) Bandeau rouge derrière les filtres (garde tes règles, mais on peaufine) */
.cea-annuaire{ position:relative; padding:36px 0 30px; }
.cea-annuaire::before{
  content:""; position:absolute; inset:0 0 auto 0; height:350px; background:var(--cea-primary);
}
.cea-annuaire > *{ position:relative; z-index:1; max-width:1140px; margin:0 auto; }
.cea-hero-title{ margin:0 0 .35rem; text-align:center; color:#fff; font-size:2.2rem; font-weight:800; letter-spacing:.01em; }
.cea-hero-sub{ margin:0 0 16px; text-align:center; color:#ffe; opacity:.95; }

/* 8) Filtres (3 colonnes) */
.cea-filtres{ background:transparent; border:0; padding:0; margin:0 auto; }
.cea-row{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:18px; align-items:end; }
.cea-filtres label{ display:block; margin:25px 0 .35rem; color:#fff; font-weight:600; }
.cea-filtres input[type="text"], .cea-filtres select{
  width:100%; padding:.7rem .9rem; border:1px solid #fff; border-radius:10px; background:#fff; outline:none;
  appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 12px center; background-size:18px;
}
.cea-filtres input[type="text"]{ background-image:none; }
.cea-btn{ display:block; margin:16px auto 0; background:#fff; color:#222; border:0; border-radius:28px; padding:.6rem 1.2rem; font-weight:600; }
.cea-btn:hover{ background:#f7f7f7; }

/* 9) Responsive bandeau */
@media (max-width:1100px){ .cea-annuaire::before{ height:220px; } }
@media (max-width:680px){
  .cea-annuaire::before{ height:260px; }
  .cea-row{ grid-template-columns:1fr; }
  .cea-btn{ margin-top:10px; }
}


/* ===================================================
   LISTING — reset propre (bandeau & chevron décorrélés)
   =================================================== */

/* Grille 3 / 2 / 1 colonnes */
.cea-annuaire { --gap:26px; }
.cea-annuaire .cea-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--gap);
  max-width:1140px; margin:50px auto 10px; padding:0 20px;
}
@media (max-width:1000px){ .cea-annuaire .cea-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){  .cea-annuaire .cea-grid{ grid-template-columns:1fr; } }

/* Carte */
.cea-annuaire .cea-card{ 
  width:auto !important;
  background:#fff; border:1px solid var(--cea-border);
  border-radius:14px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cea-annuaire .cea-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.08); }

/* Bandeau rouge indépendant (pas de ::before) */
.cea-annuaire .cea-card-head{
  height:100px; background:var(--cea-primary);
}

/* Portrait rond qui chevauche le bandeau */
.cea-annuaire .cea-card-media{
  width:124px; height:124px; border-radius:999px; background:#eee; border:6px solid #fff;
  margin:-62px auto 12px; display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.cea-annuaire .cea-card-media img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }

/* Textes centrés */
.cea-annuaire .cea-card-title{
  margin:8px 0 20px!important; text-align:center; font-size:20px !important; font-weight:800; line-height:1.3; padding:0 18px; text-decoration:none !important; color:#222;
}
.cea-annuaire .cea-card-sub{
  text-align:center; margin:0; font-size:16px; font-weight:800; text-decoration:none !important;
  text-transform:uppercase; letter-spacing:.02em; padding:0 18px;
}
.cea-annuaire .cea-card-tags{ margin:0 0 20px; text-align:center; font-size:12px; color:#000000; padding:0 18px; }
.cea-annuaire .cea-card-excerpt{ margin:0 auto 10px; max-width:85%; text-align:center; line-height:1.55; color:#000; font-size:14px; }
.cea-annuaire .cea-card-loc{
  text-align:center; margin-top:8px; color:#000;
  font-size:14px; display:flex; justify-content:center; gap:6px; align-items:center; padding:0 18px; 
}
.cea-annuaire .cea-card-loc::before{
  content:""; width:14px; height:14px; display:inline-block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%23ea4e31'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 00-7-7zm0 9.5a2.5 2.5 0 110-5 2.5 2.5 0 010 5z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.cea-annuaire .cea-card-loc a {text-decoration:none!important;}

/* Chevron séparé (dernier élément visuel) */
.cea-annuaire .cea-card-chevron{
  width:0; height:0; margin:10px auto 12px;
  border-left:7px solid transparent; border-right:7px solid transparent; border-top:8px solid #000;
}

/* Boutons & filtres (option : garde tes règles existantes si OK) */
.cea-annuaire .cea-btn{ display:block; margin:16px auto 0; background:#fff; color:#222; border:0; border-radius:28px; padding:1.3rem 2.5rem; font-weight:600; }
.cea-annuaire .cea-btn:hover{ background:#f7f7f7; }


/* =========================================
   LISTING — reset propre (structure fiable)
   ========================================= */

.cea-annuaire { --gap:26px; }
.cea-annuaire .cea-grid{
  display:grid; grid-template-columns:repeat(3, minmax(0,1fr));
  gap:var(--gap); max-width:1140px; margin:50px auto 10px; padding:0 20px;
}
@media (max-width:1000px){ .cea-annuaire .cea-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:640px){  .cea-annuaire .cea-grid{ grid-template-columns:1fr; } }

/* Carte = colonne flexible ; pas de width héritée */
.cea-annuaire .cea-card{
  display:flex; flex-direction:column;
  width:auto !important;
  background:#fff; border:1px solid var(--cea-border);
  border-radius:14px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,.05);
  transition:transform .15s ease, box-shadow .15s ease;
}
.cea-annuaire .cea-card:hover{ transform:translateY(-2px); box-shadow:0 6px 18px rgba(0,0,0,.08); }

/* Lien = groupe supérieur uniquement (aucun pseudo-élément décoratif ici) */
.cea-annuaire .cea-card-link{ color:inherit; text-decoration:none!important; display:block; padding:0 18px; }

/* Bandeau rouge séparé */
.cea-annuaire .cea-card-head{ height:100px; background:var(--cea-primary); margin:0 -18px; }

/* Portrait rond qui chevauche le bandeau */
.cea-annuaire .cea-card-media{
  width:124px; height:124px; border-radius:999px; background:#eee; border:6px solid #fff;
  margin:-62px auto 12px; display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 6px 16px rgba(0,0,0,.08);
}
.cea-annuaire .cea-card-media img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }