.elementor-846 .elementor-element.elementor-element-df26c2b{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* ═══════════════════════════════════════════════
   DÉMARCHE — PAGE DÉTAIL (erre-dd)
   CSS autonome — à coller dans Elementor > Avancé > CSS personnalisé
   du widget shortcode [erre_demarche_detail]

   Hero : pas de sélecteur de palette ici (toujours dégradé vert fixe,
   cohérent avec le reste des pages Démarches). Typo globale (rôles
   h1/eyebrow de erre_typo_css.php) toujours respectée sur le h1/le tag.
   Teintes d'étapes/badges/tarifs : fixes, indépendantes de la
   colorimétrie du site (mêmes principes qu'Agenda/Actualités/Documents).
════════════════════════════════════════════════ */
.erre-dd { font-family:'Nunito',sans-serif; color:#3a3a3a; }
.erre-dd a { text-decoration:none; color:inherit; }
.erre-dd *, .erre-dd *::before, .erre-dd *::after { box-sizing:border-box; }

/* BREADCRUMB */
.erre-dd-breadcrumb { background:#f2ede4; border-bottom:1px solid #e8e0d2; padding:10px 28px; }
.erre-dd-breadcrumb-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:#6b6b6b; flex-wrap:wrap; }
.erre-dd-breadcrumb-inner a { color:#29450C; }
.erre-dd-breadcrumb-inner a:hover { text-decoration:underline; }
.erre-dd-breadcrumb-inner svg { width:12px; height:12px; stroke:#e2ddd6; }
.erre-dd-breadcrumb-inner span { color:#3a3a3a; }

/* ═══════════════════════════════════════════════
   HERO (fixe, pas de palette)
════════════════════════════════════════════════ */
.erre-dd-page-hero { background:linear-gradient(135deg, #29450C 0%, #3a6b4e 60%, #4a7c59 100%); padding:48px 28px 52px; position:relative; overflow:hidden; }
.erre-dd-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-dd-page-hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; gap:50px; align-items:center; }
.erre-dd-cat { 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-dd-cat svg { width:13px; height:13px; stroke:rgba(255,255,255,0.85); flex-shrink:0; }
.erre-dd-page-hero h1 { color:#fff; line-height:1.05; letter-spacing:-0.5px; text-shadow:0 2px 16px rgba(0,0,0,0.3); }
.erre-dd-hero-desc { font-size:15px; font-weight:600; color:rgba(255,255,255,0.75); margin-top:12px; line-height:1.65; max-width:480px; }
.erre-dd-pills { display:flex; gap:10px; margin-top:20px; flex-wrap:wrap; }
.erre-dd-pill { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.22); border-radius:30px; padding:7px 14px; font-size:12px; font-weight:700; color:rgba(255,255,255,0.9); }
.erre-dd-pill svg { width:13px; height:13px; stroke:rgba(255,255,255,0.75); }

.erre-dd-visual { width:200px; flex-shrink:0; }
.erre-dd-visual-card { background:rgba(255,255,255,0.12); border:2px solid rgba(255,255,255,0.22); border-radius:16px; padding:22px 18px; text-align:center; backdrop-filter:blur(8px); }
.erre-dd-visual-card svg { width:52px; height:52px; stroke:rgba(255,255,255,0.8); margin-bottom:10px; }
.erre-dd-visual-title { font-size:14px; font-weight:800; color:#fff; }
.erre-dd-visual-sub { font-size:11px; color:rgba(255,255,255,0.55); font-weight:600; margin-top:4px; }
.erre-dd-visual-validity { display:inline-block; margin-top:12px; background:rgba(255,255,255,0.18); color:#fff; font-size:11px; font-weight:800; padding:4px 12px; border-radius:20px; }

/* BANDEAU ATTENTION */
.erre-dd-attention { background:#fff8e1; border-bottom:2px solid #f0c030; padding:14px 28px; }
.erre-dd-attention-inner { max-width:1200px; margin:0 auto; display:flex; align-items:flex-start; gap:14px; }
.erre-dd-attention-icon { width:36px; height:36px; border-radius:10px; background:#fff3b0; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-dd-attention-icon svg { width:18px; height:18px; stroke:#c8a800; }
.erre-dd-attention-text { font-size:13px; font-weight:700; color:#7a6000; line-height:1.6; }
.erre-dd-attention-text strong { color:#5a4500; font-weight:900; }
.erre-dd-attention-text a { color:#29450C; font-weight:800; text-decoration:underline; }
.erre-dd-attention-text p { margin:0; }

/* ═══════════════════════════════════════════════
   LAYOUT
════════════════════════════════════════════════ */
.erre-dd-layout { max-width:1200px; margin:0 auto; padding:48px 28px 70px; display:grid; grid-template-columns:1fr 320px; gap:40px; align-items:start; }

/* ONGLETS DÉCLINAISONS */
.erre-dd-tabs-bar { display:flex; gap:0; border-radius:14px 14px 0 0; overflow:hidden; border:2px solid #e2ddd6; }
.erre-dd-tab-btn { flex:1; padding:14px 20px; background:#f0efec; border:none; border-right:2px solid #e2ddd6; font-family:'Nunito',sans-serif; font-size:14px; font-weight:800; color:#6b6b6b; cursor:pointer; transition:all .2s; display:flex; align-items:center; justify-content:center; gap:9px; }
.erre-dd-tab-btn:last-child { border-right:none; }
.erre-dd-tab-btn svg { width:16px; height:16px; stroke:currentColor; }
.erre-dd-tab-btn.active { background:#fff; color:#29450C; }
.erre-dd-tab-btn .erre-dd-tab-badge { font-size:10px; font-weight:800; padding:2px 8px; border-radius:10px; background:#eaf2ec; color:#29450C; }
.erre-dd-tab-btn.active .erre-dd-tab-badge { background:#29450C; color:#fff; }

.erre-dd-tab-content { display:none; background:#fff; border:2px solid #e2ddd6; border-top:none; border-radius:0 0 16px 16px; padding:32px; }
.erre-dd-tab-content.active { display:block; }
/* Si une seule déclinaison (pas d'onglets) : coins arrondis complets */
.erre-dd-layout > div > .erre-dd-tab-content:only-of-type { border-radius:16px; border-top:2px solid #e2ddd6; }

/* ÉTAPES */
.erre-dd-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:20px; padding-bottom:10px; border-bottom:2px solid #eaf2ec; }
.erre-dd-section-label svg { width:14px; height:14px; stroke:#4a7c59; }

.erre-dd-steps { display:flex; flex-direction:column; gap:0; margin-bottom:36px; }
.erre-dd-step { display:flex; gap:20px; position:relative; }
.erre-dd-step:not(:last-child)::before { content:''; position:absolute; left:19px; top:42px; bottom:-12px; width:2px; background:#e2ddd6; border-radius:2px; }
.erre-dd-step-num { width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:15px; font-weight:900; color:#fff; flex-shrink:0; margin-top:2px; position:relative; z-index:1; }
.erre-dd-step-body { padding-bottom:28px; flex:1; }
.erre-dd-step-title { font-size:15px; font-weight:800; color:#29450C; margin-bottom:6px; }
.erre-dd-step-desc { font-size:13px; font-weight:600; color:#555; line-height:1.6; }
.erre-dd-step-link { display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:13px; font-weight:800; color:#29450C; background:#eaf2ec; padding:7px 14px; border-radius:20px; transition:all .2s; }
.erre-dd-step-link svg { width:12px; height:12px; stroke:currentColor; }
.erre-dd-step-link:hover { background:#29450C; color:#fff; }
.erre-dd-step-tag { display:inline-block; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; padding:3px 9px; border-radius:8px; margin-bottom:8px; }

/* CHECKLIST DOCUMENTS */
.erre-dd-checklist-section { margin-bottom:36px; }
.erre-dd-checklist-tabs { display:flex; gap:8px; margin-bottom:16px; flex-wrap:wrap; }
.erre-dd-ctl-btn { padding:7px 16px; border-radius:20px; border:2px solid #e2ddd6; background:#fff; font-family:'Nunito',sans-serif; font-size:12px; font-weight:800; color:#6b6b6b; cursor:pointer; transition:all .2s; }
.erre-dd-ctl-btn.active { background:#29450C; border-color:#29450C; color:#fff; }
.erre-dd-ctl-btn:hover:not(.active) { border-color:#4a7c59; color:#29450C; }

.erre-dd-checklist { list-style:none; display:none; flex-direction:column; gap:0; }
.erre-dd-checklist.erre-dd-cl-group.active { display:flex; }
.erre-dd-cl-item { display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid #f0efec; }
.erre-dd-cl-item:last-child { border-bottom:none; }
.erre-dd-cl-check { width:24px; height:24px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center; margin-top:1px; }
.erre-dd-cl-check.ok { background:#eaf2ec; }
.erre-dd-cl-check.ok svg { width:13px; height:13px; stroke:#29450C; }
.erre-dd-cl-check.warn { background:#fff8e1; }
.erre-dd-cl-check.warn svg { width:13px; height:13px; stroke:#c8a800; }
.erre-dd-cl-text { flex:1; }
.erre-dd-cl-title { font-size:13px; font-weight:800; color:#3a3a3a; }
.erre-dd-cl-detail { font-size:12px; font-weight:600; color:#6b6b6b; margin-top:2px; line-height:1.5; }
.erre-dd-cl-badge { font-size:10px; font-weight:800; padding:2px 8px; border-radius:8px; flex-shrink:0; align-self:center; }

/* TARIFS */
.erre-dd-tarifs-section { margin-bottom:36px; }
.erre-dd-tarifs-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.erre-dd-tarif-card { border-radius:14px; padding:18px 20px; border:2px solid #e2ddd6; text-align:center; }
.erre-dd-tarif-card.erre-dd-tarif-gratuit { border-color:#4a7c59; background:#eaf2ec; }
.erre-dd-tarif-card.erre-dd-tarif-attention { border-color:#f0c030; background:#fff8e1; }
.erre-dd-tarif-card.erre-dd-tarif-payant { border-color:#c8612a; background:#fdf0e8; }
.erre-dd-tarif-label { font-size:12px; font-weight:800; color:#6b6b6b; text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px; }
.erre-dd-tarif-gratuit .erre-dd-tarif-label { color:#29450C; }
.erre-dd-tarif-attention .erre-dd-tarif-label { color:#7a6000; }
.erre-dd-tarif-payant .erre-dd-tarif-label { color:#c8612a; }
.erre-dd-tarif-prix { font-family:'Playfair Display',serif; font-size:32px; font-weight:900; line-height:1; }
.erre-dd-tarif-gratuit .erre-dd-tarif-prix { color:#29450C; }
.erre-dd-tarif-attention .erre-dd-tarif-prix { color:#7a6000; }
.erre-dd-tarif-payant .erre-dd-tarif-prix { color:#c8612a; }
.erre-dd-tarif-sub { font-size:11px; font-weight:600; color:#6b6b6b; margin-top:4px; }

.erre-dd-tarif-table { width:100%; border-collapse:collapse; border-radius:12px; overflow:hidden; border:2px solid #e2ddd6; }
.erre-dd-tarif-table th { background:#29450C; color:#fff; font-size:12px; font-weight:800; padding:10px 14px; text-align:left; }
.erre-dd-tarif-table td { padding:10px 14px; font-size:13px; font-weight:700; border-bottom:1px solid #f0efec; }
.erre-dd-tarif-table tr:last-child td { border-bottom:none; }
.erre-dd-tarif-table tr:hover td { background:#f4f8f5; }
.erre-dd-tarif-amount { font-family:'Playfair Display',serif; font-size:18px; font-weight:900; color:#c8612a; }
.erre-dd-tarifs-note { font-size:12px; color:#6b6b6b; margin-top:10px; font-weight:600; }
.erre-dd-tarifs-note a { color:#29450C; font-weight:800; }

/* FAQ */
.erre-dd-faq-section { margin-bottom:0; }
.erre-dd-faq-item { border-radius:12px; border:2px solid #e2ddd6; overflow:hidden; margin-bottom:10px; }
.erre-dd-faq-item:last-child { margin-bottom:0; }
.erre-dd-faq-question { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:15px 18px; cursor:pointer; background:#fff; transition:background .15s; border:none; width:100%; text-align:left; font-family:'Nunito',sans-serif; }
.erre-dd-faq-question:hover { background:#f4f8f5; }
.erre-dd-faq-item.open .erre-dd-faq-question { background:#eaf2ec; }
.erre-dd-faq-q-text { font-size:14px; font-weight:800; color:#29450C; flex:1; }
.erre-dd-faq-icon { width:24px; height:24px; border-radius:50%; background:#eaf2ec; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .15s; }
.erre-dd-faq-item.open .erre-dd-faq-icon { background:#29450C; }
.erre-dd-faq-icon svg { width:12px; height:12px; stroke:#29450C; }
.erre-dd-faq-item.open .erre-dd-faq-icon svg { stroke:#fff; }
.erre-dd-icon-plus { display:block; }
.erre-dd-icon-minus { display:none; }
.erre-dd-faq-item.open .erre-dd-icon-plus { display:none; }
.erre-dd-faq-item.open .erre-dd-icon-minus { display:block; }
.erre-dd-faq-answer { max-height:0; overflow:hidden; transition:max-height .3s ease, padding .3s; padding:0 18px; font-size:13px; font-weight:600; color:#555; line-height:1.7; }
.erre-dd-faq-item.open .erre-dd-faq-answer { max-height:500px; padding:0 18px 16px; }
.erre-dd-faq-answer a { color:#29450C; font-weight:800; text-decoration:underline; }
.erre-dd-faq-answer p { margin:0 0 .8em; }
.erre-dd-faq-answer p:last-child { margin-bottom:0; }

/* ═══════════════════════════════════════════════
   SIDEBAR
════════════════════════════════════════════════ */
.erre-dd-sidebar { display:flex; flex-direction:column; gap:20px; }

.erre-dd-sidebar-cta { background:#29450C; border-radius:18px; padding:24px; display:flex; flex-direction:column; gap:14px; }
.erre-dd-sidebar-cta h3 { font-family:'Playfair Display',serif; font-size:18px; font-weight:900; color:#fff; }
.erre-dd-sidebar-cta p { font-size:13px; font-weight:600; color:rgba(255,255,255,0.7); line-height:1.6; }
.erre-dd-btn-blanc { display:flex; align-items:center; justify-content:center; gap:8px; background:#fff; color:#29450C; font-size:14px; font-weight:800; padding:13px; border-radius:50px; transition:all .25s; }
.erre-dd-btn-blanc svg { width:16px; height:16px; stroke:#29450C; }
.erre-dd-btn-blanc:hover { background:#eaf2ec; }
.erre-dd-btn-cta-full { display:flex; align-items:center; justify-content:center; gap:8px; background:#c8612a; color:#fff; font-size:14px; font-weight:800; padding:13px; border-radius:50px; transition:all .25s; }
.erre-dd-btn-cta-full svg { width:16px; height:16px; stroke:#fff; }
.erre-dd-btn-cta-full:hover { background:#a84e20; }

.erre-dd-sidebar-mairies { background:#fff; border:2px solid #e2ddd6; border-radius:18px; overflow:hidden; }
.erre-dd-sidebar-mairies-head { background:#fdf0e8; padding:16px 18px; border-bottom:2px solid #e2ddd6; }
.erre-dd-sidebar-mairies-head h3 { font-size:14px; font-weight:800; color:#c8612a; display:flex; align-items:center; gap:8px; }
.erre-dd-sidebar-mairies-head h3 svg { width:15px; height:15px; stroke:#c8612a; }
.erre-dd-sidebar-mairies-head p { font-size:11px; font-weight:600; color:#6b6b6b; margin-top:3px; }
.erre-dd-mairie-item { display:flex; align-items:flex-start; gap:12px; padding:14px 18px; border-bottom:1px solid #f0efec; transition:background .15s; }
.erre-dd-mairie-item:last-child { border-bottom:none; }
.erre-dd-mairie-item:hover { background:#f4f8f5; }
.erre-dd-mairie-item-highlight { background:#f4f8f5; }
.erre-dd-mairie-dot { width:10px; height:10px; border-radius:50%; background:#4a7c59; flex-shrink:0; margin-top:4px; }
.erre-dd-mairie-dot-dark { background:#29450C; }
.erre-dd-mairie-name { font-size:13px; font-weight:800; color:#29450C; }
.erre-dd-mairie-name-highlight { color:#29450C; }
.erre-dd-mairie-dist { font-size:11px; font-weight:600; color:#6b6b6b; margin-top:1px; }
.erre-dd-mairie-tel { font-size:11px; font-weight:700; color:#4a7c59; margin-top:3px; display:flex; align-items:center; gap:4px; }
.erre-dd-mairie-tel svg { width:10px; height:10px; stroke:#4a7c59; }

.erre-dd-sidebar-delais { background:#fff; border:2px solid #e2ddd6; border-radius:18px; overflow:hidden; }
.erre-dd-sidebar-delais-head { background:#eff6ff; padding:14px 18px; border-bottom:2px solid #dbeafe; }
.erre-dd-sidebar-delais-head h3 { font-size:14px; font-weight:800; color:#2563eb; display:flex; align-items:center; gap:8px; }
.erre-dd-sidebar-delais-head h3 svg { width:15px; height:15px; stroke:#2563eb; }
.erre-dd-delai-item { display:flex; align-items:center; justify-content:space-between; padding:12px 18px; border-bottom:1px solid #f0efec; }
.erre-dd-delai-item:last-child { border-bottom:none; }
.erre-dd-delai-item.is-highlight { background:#f4f8f5; }
.erre-dd-delai-label { font-size:12px; font-weight:700; color:#3a3a3a; }
.erre-dd-delai-item.is-highlight .erre-dd-delai-label { color:#29450C; font-weight:800; }
.erre-dd-delai-val { font-size:13px; font-weight:800; color:#2563eb; background:#eff6ff; padding:3px 10px; border-radius:20px; }
.erre-dd-delai-item.is-highlight .erre-dd-delai-val { color:#29450C; background:#eaf2ec; }

.erre-dd-sidebar-actions { display:flex; gap:10px; }
.erre-dd-action-btn { flex:1; display:flex; align-items:center; justify-content:center; gap:7px; padding:10px; border-radius:12px; border:2px solid #e2ddd6; background:#fff; font-family:'Nunito',sans-serif; font-size:12px; font-weight:800; color:#6b6b6b; cursor:pointer; transition:all .2s; }
.erre-dd-action-btn svg { width:14px; height:14px; stroke:currentColor; }
.erre-dd-action-btn:hover { border-color:#4a7c59; color:#29450C; background:#eaf2ec; }

.erre-dd-sidebar-autres { background:#fff; border:2px solid #e2ddd6; border-radius:18px; overflow:hidden; }
.erre-dd-sidebar-autres-head { padding:14px 18px; border-bottom:1px solid #f0efec; }
.erre-dd-sidebar-autres-head h3 { font-size:13px; font-weight:800; color:#3a3a3a; }
.erre-dd-autre-demarche { display:flex; align-items:center; gap:12px; padding:12px 18px; border-bottom:1px solid #f0efec; transition:background .15s; }
.erre-dd-autre-demarche:last-child { border-bottom:none; }
.erre-dd-autre-demarche:hover { background:#f4f8f5; }
.erre-dd-autre-icon { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-dd-autre-icon svg { width:18px; height:18px; }
.erre-dd-autre-name { font-size:13px; font-weight:800; color:#29450C; }

/* ═══════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════ */
@media(max-width:1024px) {
  .erre-dd-layout { grid-template-columns:1fr; }
  .erre-dd-sidebar { display:grid; grid-template-columns:1fr 1fr; }
  .erre-dd-sidebar-cta { grid-column:1/-1; }
}
@media(max-width:900px) {
  .erre-dd-page-hero-inner { grid-template-columns:1fr; }
  .erre-dd-visual { display:none; }
  .erre-dd-tarifs-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:600px) {
  .erre-dd-sidebar { grid-template-columns:1fr; }
  .erre-dd-tarifs-grid { grid-template-columns:1fr; }
  .erre-dd-tab-btn .erre-dd-tab-badge { display:none; }
}

/* ═══════════════════════════════════════════════
   RAPPEL — propriétés volontairement NON fixées ici
   (héritées de la typo globale, ne pas les remettre en dur) :
   .erre-dd-page-hero h1  → font-size/family/weight/letter-spacing
   .erre-dd-cat(.eyebrow) → font-size/family/letter-spacing/gap
════════════════════════════════════════════════ *//* End custom CSS */