.elementor-857 .elementor-element.elementor-element-ad53ba8{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* ═══════════════════════════════════════════════
   INFOS PRATIQUES (erre-ip)
   CSS autonome — à coller dans Elementor > Avancé > CSS personnalisé
   du widget shortcode [erre_infos_pratiques]

   Hero : palette au choix (data-palette, variables erre_couleur_css.php)
   + typo globale (erre_typo_css.php). Sections : fond neutre fixe, avec
   bloc CSS partagé .erre-ip-section-tag/.erre-ip-section-title/
   .erre-ip-section-subtitle (même principe que Actualités/Démarches sur
   la page d'accueil — ici en fixe puisque ces sections n'ont pas de
   palette individuelle).
════════════════════════════════════════════════ */
.erre-ip { font-family:'Nunito',sans-serif; color:#3a3a3a; }
.erre-ip a { text-decoration:none; color:inherit; }
.erre-ip *, .erre-ip *::before, .erre-ip *::after { box-sizing:border-box; }

/* BREADCRUMB */
.erre-ip-breadcrumb { background:#f2ede4; border-bottom:1px solid #e8e0d2; padding:10px 28px; }
.erre-ip-breadcrumb-inner { max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:#6b6b6b; }
.erre-ip-breadcrumb-inner svg { width:12px; height:12px; stroke:#e2ddd6; }

/* ═══════════════════════════════════════════════
   HERO (palette au choix)
════════════════════════════════════════════════ */
.erre-ip-page-hero { background:linear-gradient(135deg, var(--bg, #29450C) 0%, var(--bg, #29450C) 55%, var(--h2-h5, #4a7c59) 100%); padding:50px 28px 54px; position:relative; overflow:hidden; }
.erre-ip-page-hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap; }
.erre-ip-hero-left { flex:1; min-width:280px; }
.erre-ip-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-ip-hero-tag svg { width:13px; height:13px; stroke:rgba(255,255,255,0.85); flex-shrink:0; }
.erre-ip-page-hero h1 { color:var(--h1, #fff); line-height:1.05; text-shadow:0 2px 16px rgba(0,0,0,0.3); }
.erre-ip-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-ip-hero-stats { display:flex; gap:24px; margin-top:22px; flex-wrap:wrap; }
.erre-ip-hero-stat { display:flex; flex-direction:column; }
.erre-ip-hero-stat-num { font-family:'Playfair Display',serif; font-size:22px; font-weight:900; color:var(--accent-h1, #FDCC06); line-height:1; }
.erre-ip-hero-stat-label { font-size:11px; font-weight:700; color:rgba(255,255,255,0.6); margin-top:3px; }
.erre-ip-hero-right { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.erre-ip-hero-quick-link { display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.1); border:1.5px solid rgba(255,255,255,0.18); border-radius:12px; padding:11px 18px; font-size:13px; font-weight:700; color:#fff; min-width:230px; transition:background .2s; }
.erre-ip-hero-quick-link svg { width:15px; height:15px; stroke:rgba(255,255,255,0.75); flex-shrink:0; }
.erre-ip-hero-quick-link:hover { background:rgba(255,255,255,0.18); }

/* ═══════════════════════════════════════════════
   SECTIONS — commun
════════════════════════════════════════════════ */
.erre-ip-section { padding:56px 28px; }
.erre-ip-section:nth-child(odd) { background:#fff; }
.erre-ip-section-inner { max-width:1200px; margin:0 auto; }
.erre-ip-section-head { text-align:center; max-width:640px; margin:0 auto 40px; }
.erre-ip-section-tag { display:inline-flex; align-items:center; gap:8px; background:#eaf2ec; color:#29450C; border-radius:20px; padding:5px 14px; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1px; margin-bottom:14px; }
.erre-ip-section-tag svg { width:13px; height:13px; stroke:currentColor; }
.erre-ip-section-tag.erre-ip-tag-rouge { background:#fdecea; color:#c0392b; }
.erre-ip-section-title { font-family:'Playfair Display',serif; font-size:clamp(26px,3.5vw,36px); font-weight:900; color:#29450C; letter-spacing:-0.5px; line-height:1.1; }
.erre-ip-section-subtitle { font-size:14px; font-weight:600; color:#6b6b6b; margin-top:10px; line-height:1.6; }

/* Boutons partagés */
.erre-ip-btn { display:inline-flex; align-items:center; gap:8px; padding:12px 22px; border-radius:50px; font-size:13px; font-weight:800; transition:all .2s; }
.erre-ip-btn svg { width:15px; height:15px; stroke:currentColor; }
.erre-ip-btn-vert { background:#29450C; color:#fff; }
.erre-ip-btn-vert:hover { background:#4a7c59; }
.erre-ip-btn-outline-vert { background:transparent; color:#29450C; border:2px solid #29450C; }
.erre-ip-btn-outline-vert:hover { background:#eaf2ec; }
.erre-ip-btn-cta { background:#c8612a; color:#fff; }
.erre-ip-btn-cta:hover { background:#a84e20; }
.erre-ip-btn-ghost { background:rgba(255,255,255,0.15); color:#fff; border:2px solid rgba(255,255,255,0.35); }

/* Bandeau générique (transport scolaire, etc.) */
.erre-ip-banner { display:flex; align-items:center; gap:20px; background:#eaf2ec; border-radius:18px; padding:24px 28px; }
.erre-ip-banner-icon { width:52px; height:52px; border-radius:14px; background:#fff; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-ip-banner-icon svg { width:26px; height:26px; stroke:#29450C; }
.erre-ip-banner h3 { font-size:15px; font-weight:800; color:#29450C; margin-bottom:4px; }
.erre-ip-banner p { font-size:13px; font-weight:600; color:#555; line-height:1.6; margin-bottom:6px; }
.erre-ip-banner a { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:800; color:#29450C; }
.erre-ip-banner a svg { width:12px; height:12px; stroke:currentColor; }

/* ═══════════════════════════════════════════════
   SECTION MAIRIE
════════════════════════════════════════════════ */
.erre-ip-mairie-layout { display:grid; grid-template-columns:1.1fr 1fr; gap:36px; align-items:start; }
.erre-ip-mairie-card { background:#fff; border-radius:18px; box-shadow:0 4px 24px rgba(0,0,0,0.08); overflow:hidden; }
.erre-ip-mairie-card-header { display:flex; align-items:center; gap:16px; background:#29450C; padding:22px 24px; }
.erre-ip-mairie-card-header-icon { width:48px; height:48px; border-radius:12px; background:rgba(255,255,255,0.15); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-ip-mairie-card-header-icon svg { width:24px; height:24px; stroke:#fff; }
.erre-ip-mairie-card-header h3 { font-family:'Playfair Display',serif; font-size:18px; font-weight:900; color:#fff; }
.erre-ip-mairie-card-header p { font-size:12px; font-weight:600; color:rgba(255,255,255,0.7); margin-top:2px; }
.erre-ip-mairie-card-body { padding:8px 24px 20px; }
.erre-ip-info-row { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #f0efec; }
.erre-ip-info-row:last-child { border-bottom:none; }
.erre-ip-info-row-icon { width:34px; height:34px; border-radius:9px; background:#eaf2ec; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-ip-info-row-icon svg { width:16px; height:16px; stroke:#29450C; }
.erre-ip-info-row-label { font-size:11px; font-weight:800; color:#6b6b6b; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
.erre-ip-info-row-val { font-size:14px; font-weight:700; color:#3a3a3a; }
.erre-ip-info-row-val a { color:#29450C; }

.erre-ip-horaires-grid { display:flex; flex-direction:column; gap:4px; }
.erre-ip-horaire-ligne { display:flex; align-items:center; justify-content:space-between; padding:6px 10px; border-radius:8px; background:#f4f8f5; }
.erre-ip-horaire-ligne.erre-ip-horaire-rdv { background:#fdf0e8; }
.erre-ip-horaire-jour { font-size:12px; font-weight:700; color:#3a3a3a; }
.erre-ip-horaire-rdv .erre-ip-horaire-jour { color:#c8612a; }
.erre-ip-horaire-fermee { font-size:12px; font-weight:600; color:#bbb; }
.erre-ip-horaire-heure { font-size:12px; font-weight:800; color:#29450C; background:#eaf2ec; padding:2px 8px; border-radius:8px; }
.erre-ip-horaire-rdv .erre-ip-horaire-heure { background:#fdf0e8; color:#c8612a; }

.erre-ip-mairie-ctas { display:flex; gap:12px; margin-top:16px; flex-wrap:wrap; }

.erre-ip-mairie-map-placeholder { position:relative; border-radius:18px; overflow:hidden; height:220px; background:#eaf2ec; }
.erre-ip-mairie-map-placeholder img { width:100%; height:100%; object-fit:cover; display:block; }
.erre-ip-mairie-map-overlay { position:absolute; inset:auto 0 0 0; background:linear-gradient(to top, rgba(10,28,14,0.65), transparent); padding:16px; }
.erre-ip-mairie-map-label { display:flex; align-items:center; gap:8px; color:#fff; font-size:13px; font-weight:800; }
.erre-ip-mairie-map-label svg { width:14px; height:14px; stroke:#fff; flex-shrink:0; }

.erre-ip-saviez { margin-top:16px; background:#faf8f4; border-radius:10px; padding:18px 20px; border:1px solid #e2ddd6; }
.erre-ip-saviez-titre { font-size:13px; font-weight:800; color:#29450C; margin-bottom:10px; display:flex; align-items:center; gap:8px; }
.erre-ip-saviez-titre svg { width:15px; height:15px; stroke:#4a7c59; }
.erre-ip-saviez p { font-size:13px; font-weight:600; color:#555; line-height:1.6; }
.erre-ip-saviez-lien { display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:13px; font-weight:800; color:#c8612a; }
.erre-ip-saviez-lien svg { width:13px; height:13px; stroke:currentColor; }

/* ═══════════════════════════════════════════════
   CARTE DÉTAIL (École / Santé / Transport)
════════════════════════════════════════════════ */
.erre-ip-ecole-grid, .erre-ip-sante-grid, .erre-ip-transport-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.erre-ip-carte-detail { background:#fff; border-radius:18px; box-shadow:0 4px 24px rgba(0,0,0,0.08); overflow:hidden; }
.erre-ip-carte-detail-head { display:flex; align-items:center; gap:14px; padding:20px 20px 16px; }
.erre-ip-carte-detail-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-ip-carte-detail-icon svg { width:22px; height:22px; }
.erre-ip-carte-detail-title { font-size:14px; font-weight:800; color:#3a3a3a; }
.erre-ip-carte-detail-sub { font-size:12px; font-weight:600; color:#6b6b6b; margin-top:2px; }
.erre-ip-carte-detail-body { padding:0 20px 20px; display:flex; flex-direction:column; gap:12px; }
.erre-ip-carte-detail-item { display:flex; align-items:flex-start; gap:10px; font-size:12.5px; font-weight:600; color:#555; line-height:1.6; }
.erre-ip-carte-detail-item svg { width:14px; height:14px; stroke:#4a7c59; flex-shrink:0; margin-top:2px; }
.erre-ip-carte-detail-item strong { color:#3a3a3a; font-weight:800; }
.erre-ip-carte-detail-item a { color:#29450C; font-weight:800; }

/* Sante-card en variante liste simple : réutilise .erre-ip-carte-detail, léger ajustement visuel */
.erre-ip-sante-grid .erre-ip-carte-detail-body { gap:10px; }

/* ═══════════════════════════════════════════════
   BANDEAU MÉDECIN (Santé)
════════════════════════════════════════════════ */
.erre-ip-medecin-appel { background:linear-gradient(135deg, #29450C, #3a6b4e); border-radius:20px; padding:36px 40px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; color:#fff; }
.erre-ip-medecin-appel-badge { display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.3); border-radius:20px; padding:4px 12px; font-size:11px; font-weight:800; text-transform:uppercase; margin-bottom:12px; }
.erre-ip-medecin-appel-badge svg { width:12px; height:12px; stroke:#fff; }
.erre-ip-medecin-appel h3 { font-family:'Playfair Display',serif; font-size:24px; font-weight:900; margin-bottom:10px; }
.erre-ip-medecin-appel p { font-size:13px; font-weight:600; color:rgba(255,255,255,0.75); line-height:1.6; max-width:480px; }
.erre-ip-medecin-appel-atouts { display:flex; gap:18px; flex-wrap:wrap; margin-top:16px; margin-bottom:20px; }
.erre-ip-medecin-atout { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:700; color:rgba(255,255,255,0.85); }
.erre-ip-medecin-atout svg { width:15px; height:15px; stroke:rgba(255,255,255,0.7); }
.erre-ip-medecin-appel-btns { display:flex; gap:12px; flex-wrap:wrap; }
.erre-ip-medecin-note { font-size:12px; color:rgba(255,255,255,0.45); margin-top:12px; font-weight:600; }
.erre-ip-medecin-appel-right { text-align:center; }
.erre-ip-medecin-appel-num { font-family:'Playfair Display',serif; font-size:26px; font-weight:900; }
.erre-ip-medecin-appel-num-label { font-size:11px; font-weight:700; color:rgba(255,255,255,0.55); margin-top:4px; }

/* ═══════════════════════════════════════════════
   DÉCHETS
════════════════════════════════════════════════ */
.erre-ip-dechets-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.erre-ip-dechet-card { background:#fff; border-radius:16px; border:2px solid #e2ddd6; padding:22px 18px; text-align:center; }
.erre-ip-dechet-icon svg { width:32px; height:32px; margin-bottom:10px; }
.erre-ip-dechet-title { font-size:14px; font-weight:800; color:#3a3a3a; margin-bottom:4px; }
.erre-ip-dechet-freq { font-size:12px; font-weight:600; color:#6b6b6b; }
.erre-ip-dechet-next { font-size:11px; font-weight:700; color:#29450C; margin-top:8px; background:#eaf2ec; border-radius:8px; padding:4px 8px; display:inline-block; }

/* ═══════════════════════════════════════════════
   ASSOCIATIONS
════════════════════════════════════════════════ */
.erre-ip-assoc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.erre-ip-assoc-card { display:flex; align-items:center; gap:14px; background:#fff; border:2px solid #e2ddd6; border-radius:16px; padding:16px 18px; }
.erre-ip-assoc-icon { width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.erre-ip-assoc-icon svg { width:22px; height:22px; }
.erre-ip-assoc-name { font-size:14px; font-weight:800; color:#3a3a3a; }
.erre-ip-assoc-type { font-size:12px; font-weight:600; color:#6b6b6b; margin-top:2px; }
.erre-ip-assoc-card-dashed { background:#eaf2ec; border-color:#4a7c59; border-style:dashed; }
.erre-ip-assoc-icon-dashed { background:#fff; color:#29450C; }
.erre-ip-assoc-name-dashed { color:#29450C; }

/* ═══════════════════════════════════════════════
   RESPONSIVE
════════════════════════════════════════════════ */
@media(max-width:1024px) {
  .erre-ip-ecole-grid, .erre-ip-sante-grid, .erre-ip-transport-grid { grid-template-columns:1fr 1fr; }
  .erre-ip-dechets-grid { grid-template-columns:1fr 1fr; }
  .erre-ip-assoc-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:900px) {
  .erre-ip-mairie-layout { grid-template-columns:1fr; }
  .erre-ip-medecin-appel { grid-template-columns:1fr; text-align:left; }
  .erre-ip-medecin-appel-right { text-align:left; }
}
@media(max-width:600px) {
  .erre-ip-ecole-grid, .erre-ip-sante-grid, .erre-ip-transport-grid { grid-template-columns:1fr; }
  .erre-ip-dechets-grid { grid-template-columns:1fr 1fr; }
  .erre-ip-assoc-grid { grid-template-columns:1fr; }
  .erre-ip-hero-right { width:100%; }
  .erre-ip-hero-quick-link { min-width:0; width:100%; }
}

/* ═══════════════════════════════════════════════
   RAPPEL — propriétés volontairement NON fixées ici
   (héritées de la typo globale) :
   .erre-ip-page-hero h1        → font-size/family/weight/letter-spacing
   .erre-ip-hero-tag(.eyebrow)  → font-size/family/letter-spacing/gap
════════════════════════════════════════════════ *//* End custom CSS */