.elementor-680 .elementor-element.elementor-element-17d9e20{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* ═══════════════════════════════════════════════
   CONSEIL MUNICIPAL (erre-cm)
   CSS autonome — à coller dans Elementor > Avancé > CSS personnalisé
   du widget shortcode [erre_conseil_municipal]

   Hero : palette au choix (data-palette, variables --bg/--text/--h1/
   --accent-h1/--h2-h5 de erre_couleur_css.php) + typo globale (rôles
   h1/eyebrow de erre_typo_css.php). Fallbacks alignés charte écusson
   (vert #29450C, or #FDCC06). Reste de la page : fond neutre fixe.
════════════════════════════════════════════════ */
.erre-cm { font-family:'Nunito',sans-serif; color:#3a3a3a; }
.erre-cm a { text-decoration:none; color:inherit; }
.erre-cm *, .erre-cm *::before, .erre-cm *::after { box-sizing:border-box; }

/* BREADCRUMB */
.erre-cm-breadcrumb { background:#f2ede4; border-bottom:1px solid #e8e0d2; padding:10px 28px; }
.erre-cm-breadcrumb-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:#6b6b6b; }
.erre-cm-breadcrumb-inner a { color:#29450C; }
.erre-cm-breadcrumb-inner a:hover { text-decoration:underline; }
.erre-cm-breadcrumb-inner svg { width:12px; height:12px; stroke:#e2ddd6; }

/* ═══════════════════════════════════════════════
   HERO (palette au choix)
════════════════════════════════════════════════ */
.erre-cm-page-hero {
  background:linear-gradient(135deg, #0e2418 0%, var(--bg, #29450C) 50%, var(--h2-h5, #4a7c59) 100%);
  padding:52px 28px 60px; position:relative; overflow:hidden;
}
.erre-cm-page-hero::before {
  content:''; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4z'/%3E%3C/g%3E%3C/svg%3E");
}
.erre-cm-page-hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; display:grid; grid-template-columns:1.2fr 1fr; gap:50px; align-items:center; }
.erre-cm-hero-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,0.15); border:1.5px solid rgba(255,255,255,0.3); border-radius:20px; padding:5px 14px; color:rgba(255,255,255,0.9); margin-bottom:14px; }
.erre-cm-hero-tag svg { width:13px; height:13px; stroke:rgba(255,255,255,0.85); flex-shrink:0; }
.erre-cm-page-hero h1 { color:var(--h1, #fff); line-height:1.05; text-shadow:0 2px 16px rgba(0,0,0,0.3); margin-bottom:14px; }
.erre-cm-hero-desc { font-size:15px; font-weight:600; color:rgba(255,255,255,0.72); line-height:1.65; max-width:480px; margin-bottom:24px; }
.erre-cm-hero-infos { display:flex; flex-direction:column; gap:10px; }
.erre-cm-hero-info-item { display:flex; align-items:center; gap:12px; font-size:13px; font-weight:700; color:rgba(255,255,255,0.82); }
.erre-cm-hero-info-item svg { width:15px; height:15px; stroke:rgba(255,255,255,0.6); flex-shrink:0; }

/* Carte maire à droite du hero */
.erre-cm-hero-maire-card { background:rgba(255,255,255,0.1); border:1.5px solid rgba(255,255,255,0.2); border-radius:18px; padding:28px 24px; text-align:center; backdrop-filter:blur(8px); }
.erre-cm-hero-maire-avatar { width:90px; height:90px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg,rgba(255,255,255,0.25),rgba(255,255,255,0.1)); border:3px solid rgba(255,255,255,0.3); display:flex; align-items:center; justify-content:center; margin:0 auto 14px; }
.erre-cm-hero-maire-avatar svg { width:44px; height:44px; stroke:rgba(255,255,255,0.7); }
.erre-cm-hero-maire-avatar img { width:100%; height:100%; object-fit:cover; }
.erre-cm-hero-maire-name { font-family:'Playfair Display',serif; font-size:18px; font-weight:900; color:#fff; }
.erre-cm-hero-maire-role { font-size:12px; font-weight:700; color:rgba(255,255,255,0.6); margin-top:4px; text-transform:uppercase; letter-spacing:.5px; }
.erre-cm-hero-maire-since { display:inline-block; background:rgba(255,255,255,0.18); color:rgba(255,255,255,0.9); font-size:11px; font-weight:800; padding:4px 12px; border-radius:20px; margin-top:10px; }
.erre-cm-hero-maire-contact { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; font-size:13px; font-weight:700; color:rgba(255,255,255,0.8); background:rgba(255,255,255,0.12); border-radius:10px; padding:10px 16px; transition:background .15s; }
.erre-cm-hero-maire-contact svg { width:14px; height:14px; stroke:rgba(255,255,255,0.7); }
.erre-cm-hero-maire-contact:hover { background:rgba(255,255,255,0.22); }

/* SOUS-NAV */
.erre-cm-sous-nav { background:#fff; border-bottom:2px solid #e2ddd6; }
.erre-cm-sous-nav-inner { max-width:1200px; margin:0 auto; padding:0 28px; display:flex; align-items:stretch; overflow-x:auto; scrollbar-width:none; }
.erre-cm-sous-nav-inner::-webkit-scrollbar { display:none; }
.erre-cm-sous-nav-link { display:flex; align-items:center; gap:7px; padding:0 18px; height:48px; font-size:13px; font-weight:700; color:#6b6b6b; border-bottom:3px solid transparent; margin-bottom:-2px; white-space:nowrap; transition:all .2s; }
.erre-cm-sous-nav-link svg { width:13px; height:13px; stroke:currentColor; }
.erre-cm-sous-nav-link:hover { color:#29450C; }
.erre-cm-sous-nav-link.active { color:#29450C; border-bottom-color:#4a7c59; font-weight:800; }

/* LAYOUT */
.erre-cm-page-body { max-width:1200px; margin:0 auto; padding:52px 28px 70px; }
.erre-cm-section-label { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px; color:#29450C; display:flex; align-items:center; gap:8px; margin-bottom:28px; padding-bottom:10px; border-bottom:2px solid #eaf2ec; }
.erre-cm-section-label svg { width:14px; height:14px; stroke:#4a7c59; }

/* ── LE MAIRE ── */
.erre-cm-maire-section { margin-bottom:60px; }
.erre-cm-maire-layout { display:grid; grid-template-columns:auto 1fr; gap:40px; align-items:start; }
.erre-cm-maire-photo-side { display:flex; flex-direction:column; align-items:center; gap:14px; }
.erre-cm-maire-photo-frame { width:180px; height:180px; border-radius:50%; overflow:hidden; background:linear-gradient(135deg, #eaf2ec, #f4f8f5); border:4px solid #eaf2ec; display:flex; align-items:center; justify-content:center; box-shadow:0 4px 24px rgba(0,0,0,0.08); flex-shrink:0; }
.erre-cm-maire-photo-frame svg { width:80px; height:80px; stroke:#4a7c59; opacity:.4; }
.erre-cm-maire-photo-frame img { width:100%; height:100%; object-fit:cover; }
.erre-cm-maire-name { font-family:'Playfair Display',serif; font-size:18px; font-weight:900; color:#29450C; text-align:center; }
.erre-cm-maire-badge { background:#29450C; color:#fff; font-size:11px; font-weight:800; padding:4px 14px; border-radius:20px; text-align:center; }
.erre-cm-maire-info-card { background:#fff; border-radius:18px; box-shadow:0 4px 24px rgba(0,0,0,0.08); padding:28px 32px; }
.erre-cm-maire-info-card h2 { font-family:'Playfair Display',serif; font-size:26px; font-weight:900; color:#29450C; margin-bottom:6px; }
.erre-cm-sous-titre { font-size:14px; font-weight:700; color:#6b6b6b; margin-bottom:20px; display:flex; align-items:center; gap:8px; }
.erre-cm-sous-titre svg { width:14px; height:14px; stroke:#4a7c59; }
.erre-cm-maire-bio { font-size:14px; font-weight:600; color:#555; line-height:1.8; margin-bottom:24px; }
.erre-cm-maire-bio p { margin-bottom:1em; }
.erre-cm-maire-competences { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.erre-cm-competence-tag { background:#eaf2ec; color:#29450C; font-size:12px; font-weight:800; padding:5px 12px; border-radius:20px; }
.erre-cm-maire-contact-row { display:flex; gap:12px; flex-wrap:wrap; }
.erre-cm-maire-contact-btn { display:flex; align-items:center; gap:8px; padding:10px 18px; border-radius:50px; font-size:13px; font-weight:800; transition:all .2s; }
.erre-cm-maire-contact-btn-mail { background:#29450C; color:#fff; }
.erre-cm-maire-contact-btn-mail svg { stroke:#fff; width:14px; height:14px; }
.erre-cm-maire-contact-btn-mail:hover { background:#4a7c59; }
.erre-cm-maire-contact-btn-tel { background:#f0efec; color:#3a3a3a; }
.erre-cm-maire-contact-btn-tel svg { stroke:#3a3a3a; width:14px; height:14px; }
.erre-cm-maire-contact-btn-tel:hover { background:#eaf2ec; color:#29450C; }

/* ── LES ADJOINTS ── */
.erre-cm-adjoints-section { margin-bottom:60px; }
.erre-cm-adjoints-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.erre-cm-adjoint-card { background:#fff; border-radius:18px; box-shadow:0 4px 24px rgba(0,0,0,0.08); overflow:hidden; transition:all .25s; }
.erre-cm-adjoint-card:hover { transform:translateY(-4px); box-shadow:0 8px 40px rgba(0,0,0,0.14); }
.erre-cm-adjoint-card-head { background:linear-gradient(135deg, #eaf2ec, #f4f8f5); padding:24px; text-align:center; border-bottom:1px solid #e2ddd6; }
.erre-cm-adjoint-avatar { width:70px; height:70px; border-radius:50%; overflow:hidden; background:#fff; border:3px solid #eaf2ec; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; box-shadow:0 3px 10px rgba(0,0,0,0.08); }
.erre-cm-adjoint-avatar svg { width:32px; height:32px; stroke:#4a7c59; opacity:.5; }
.erre-cm-adjoint-avatar img { width:100%; height:100%; object-fit:cover; }
.erre-cm-adjoint-name { font-size:15px; font-weight:800; color:#29450C; }
.erre-cm-adjoint-rang { font-size:11px; font-weight:700; color:#6b6b6b; margin-top:3px; }
.erre-cm-adjoint-card-body { padding:18px 20px; }
.erre-cm-adjoint-delegations { display:flex; flex-direction:column; gap:6px; }
.erre-cm-delegation-item { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:600; color:#555; }
.erre-cm-delegation-item svg { width:13px; height:13px; stroke:#4a7c59; flex-shrink:0; }

/* ── LES CONSEILLERS ── */
.erre-cm-conseillers-section { margin-bottom:60px; }
.erre-cm-conseillers-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.erre-cm-conseiller-card { background:#fff; border:1.5px solid #e2ddd6; border-radius:14px; padding:20px 14px; text-align:center; transition:all .2s; }
.erre-cm-conseiller-card:hover { border-color:#4a7c59; background:#f4f8f5; transform:translateY(-2px); }
.erre-cm-conseiller-avatar { width:52px; height:52px; border-radius:50%; overflow:hidden; background:#f0efec; border:2px solid #e2ddd6; display:flex; align-items:center; justify-content:center; margin:0 auto 10px; }
.erre-cm-conseiller-avatar svg { width:24px; height:24px; stroke:#6b6b6b; opacity:.5; }
.erre-cm-conseiller-avatar img { width:100%; height:100%; object-fit:cover; }
.erre-cm-conseiller-name { font-size:13px; font-weight:800; color:#29450C; line-height:1.2; }
.erre-cm-conseiller-role { font-size:11px; font-weight:600; color:#6b6b6b; margin-top:3px; }

/* ── PROCHAINES SÉANCES ── */
.erre-cm-seances-section { margin-bottom:60px; }
.erre-cm-seances-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:24px; }
.erre-cm-seance-card { display:flex; align-items:center; background:#fff; border-radius:14px; box-shadow:0 4px 24px rgba(0,0,0,0.08); overflow:hidden; transition:all .2s; }
.erre-cm-seance-card:hover { transform:translateY(-3px); box-shadow:0 8px 40px rgba(0,0,0,0.14); }
.erre-cm-seance-date-block { width:72px; flex-shrink:0; padding:18px 8px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; background:#29450C; }
.erre-cm-seance-date-block.is-extra { background:#c8612a; }
.erre-cm-seance-day { font-family:'Playfair Display',serif; font-size:28px; font-weight:900; color:#fff; line-height:1; }
.erre-cm-seance-month { font-size:11px; font-weight:800; color:rgba(255,255,255,0.8); text-transform:uppercase; }
.erre-cm-seance-body { padding:14px 18px; flex:1; border-left:1px solid #f0efec; }
.erre-cm-seance-type { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.8px; color:#29450C; background:#eaf2ec; padding:3px 8px; border-radius:8px; display:inline-block; margin-bottom:6px; }
.erre-cm-seance-type.is-extra { background:#fdf0e8; color:#c8612a; }
.erre-cm-seance-title { font-size:14px; font-weight:800; color:#3a3a3a; line-height:1.3; margin-bottom:5px; }
.erre-cm-seance-meta { font-size:11px; color:#6b6b6b; font-weight:600; display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.erre-cm-seance-meta svg { width:11px; height:11px; stroke:#bbb; }
.erre-cm-seance-publique { font-size:10px; font-weight:800; color:#4a7c59; background:#eaf2ec; padding:2px 7px; border-radius:8px; }
.erre-cm-seances-note { background:#eaf2ec; border-radius:12px; padding:16px 20px; display:flex; align-items:center; gap:14px; }
.erre-cm-seances-note svg { width:20px; height:20px; stroke:#29450C; flex-shrink:0; }
.erre-cm-seances-note p { font-size:13px; font-weight:600; color:#29450C; }

/* ── COMPÉTENCES ── */
.erre-cm-competences-section { margin-bottom:60px; }
.erre-cm-competences-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.erre-cm-competence-card { background:#fff; border-radius:14px; border-left:4px solid #4a7c59; padding:20px 18px; box-shadow:0 4px 24px rgba(0,0,0,0.08); transition:all .2s; }
.erre-cm-competence-card:hover { transform:translateY(-2px); box-shadow:0 8px 40px rgba(0,0,0,0.14); border-left-color:#29450C; }
.erre-cm-competence-card-icon { width:44px; height:44px; border-radius:12px; background:#eaf2ec; display:flex; align-items:center; justify-content:center; margin-bottom:12px; }
.erre-cm-competence-card-icon svg { width:22px; height:22px; stroke:#29450C; }
.erre-cm-competence-card-title { font-size:14px; font-weight:800; color:#29450C; margin-bottom:6px; }
.erre-cm-competence-card-desc { font-size:12px; font-weight:600; color:#6b6b6b; line-height:1.6; }

/* ── PARTICIPER ── */
.erre-cm-participer-band { background:linear-gradient(135deg, #29450C, #3a6b4e); border-radius:18px; padding:36px 40px; display:grid; grid-template-columns:1fr auto; gap:32px; align-items:center; }
.erre-cm-participer-tag { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.25); border-radius:20px; padding:4px 12px; font-size:11px; font-weight:800; text-transform:uppercase; color:rgba(255,255,255,0.85); margin-bottom:12px; }
.erre-cm-participer-tag svg { width:12px; height:12px; stroke:rgba(255,255,255,.8); }
.erre-cm-participer-h2 { font-family:'Playfair Display',serif; font-size:26px; font-weight:900; color:#fff; margin-bottom:10px; }
.erre-cm-participer-p { font-size:14px; font-weight:600; color:rgba(255,255,255,0.7); line-height:1.65; max-width:460px; }
.erre-cm-participer-btns { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.erre-cm-btn-blanc-full { display:flex; align-items:center; justify-content:center; gap:8px; background:#fff; color:#29450C; font-size:14px; font-weight:800; padding:13px 22px; border-radius:50px; transition:all .2s; white-space:nowrap; }
.erre-cm-btn-blanc-full svg { width:15px; height:15px; stroke:#29450C; }
.erre-cm-btn-blanc-full:hover { background:#eaf2ec; }
.erre-cm-btn-ghost { display:flex; align-items:center; justify-content:center; gap:8px; background:rgba(255,255,255,0.15); color:#fff; font-size:14px; font-weight:800; padding:13px 22px; border-radius:50px; border:1.5px solid rgba(255,255,255,0.35); transition:all .2s; white-space:nowrap; }
.erre-cm-btn-ghost svg { width:15px; height:15px; stroke:#fff; }
.erre-cm-btn-ghost:hover { background:rgba(255,255,255,0.25); }

/* ═══════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════ */
@media(max-width:1024px) {
  .erre-cm-adjoints-grid { grid-template-columns:1fr 1fr; }
  .erre-cm-conseillers-grid { grid-template-columns:1fr 1fr 1fr; }
  .erre-cm-competences-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
  .erre-cm-page-hero-inner { grid-template-columns:1fr; }
  .erre-cm-hero-maire-card { display:none; }
  .erre-cm-maire-layout { grid-template-columns:1fr; }
  .erre-cm-maire-photo-side { flex-direction:row; align-items:center; gap:20px; }
  .erre-cm-maire-photo-frame { width:100px; height:100px; flex-shrink:0; }
  .erre-cm-seances-grid { grid-template-columns:1fr; }
  .erre-cm-participer-band { grid-template-columns:1fr; }
}
@media(max-width:600px) {
  .erre-cm-adjoints-grid { grid-template-columns:1fr; }
  .erre-cm-conseillers-grid { grid-template-columns:1fr 1fr; }
  .erre-cm-competences-grid { grid-template-columns:1fr; }
}

/* ═══════════════════════════════════════════════
   RAPPEL — propriétés volontairement NON fixées ici
   (héritées de la typo globale, ne pas les remettre en dur) :
   .erre-cm-page-hero h1     → font-size/family/weight/letter-spacing
   .erre-cm-hero-tag(.eyebrow) → font-size/family/letter-spacing/gap
════════════════════════════════════════════════ *//* End custom CSS */