.elementor-767 .elementor-element.elementor-element-6faee7c{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}/* Start custom CSS *//* CSS COMPLET pour le widget Shortcode [erre_page_contact] — À coller
   dans Elementor > Avancé > CSS personnalisé.
   Suppose 00-base.css (variables --vert/--beige/--gris... + reset) +
   erre-couleur-css + erre-typo-css déjà chargés (préfixe "pc-" pour
   éviter tout conflit avec d'autres sections). */

/* ---------------------------------------------------
   HERO — palette optionnelle (dégradé terracotta/rouge par défaut)
--------------------------------------------------- */
.pc-hero-wrap { --bg-a: #5c2a10; --bg-b: #8c3d18; --bg-c: var(--cta, #c8612a); }

.pc-page-hero {
  background: linear-gradient(135deg, var(--bg-a) 0%, var(--bg-b) 45%, var(--bg-c) 100%);
  padding: 52px 28px 56px; position: relative; overflow: hidden;
}
/* Si une palette est choisie, le dégradé devient un fond uni piloté par
   --bg (généré par erre_couleur_css.php sur le même élément que
   data-palette). Sélecteur descendant + attribut = plus spécifique que
   .pc-page-hero seul, donc fiable quel que soit l'ordre de chargement
   des feuilles de style. */
[data-palette] .pc-page-hero { background: var(--bg); }
.pc-page-hero::before { content:''; position:absolute; inset:0; background: radial-gradient(ellipse at 30% 60%, rgba(255,200,120,0.15) 0%, transparent 60%); }
.pc-page-hero-inner { max-width:1200px; margin:0 auto; position:relative; z-index:1; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }

.pc-hero-tag { background:rgba(255,255,255,0.15); border:1.5px solid rgba(255,255,255,0.3); border-radius:20px; padding:5px 14px; color: var(--text, rgba(255,255,255,0.9)); margin-bottom:14px; }
.pc-hero-tag svg { width:13px; height:13px; stroke:rgba(255,255,255,0.85); fill:none; }

.pc-page-hero h1 { color: var(--h1, #ffffff); line-height:1.05; text-shadow:0 2px 16px rgba(0,0,0,0.3); }
.pc-hero-desc { color: var(--text, rgba(255,255,255,.85)); margin-top:12px; line-height:1.65; max-width:460px; }

.pc-hero-quick { display:flex; flex-direction:column; gap:10px; flex-shrink:0; }
.pc-hero-quick-card { display:flex; align-items:center; gap:14px; background:rgba(255,255,255,0.12); border:1.5px solid rgba(255,255,255,0.2); border-radius:14px; padding:13px 18px; min-width:240px; text-decoration:none; transition:all .2s; }
.pc-hero-quick-card:hover { background:rgba(255,255,255,0.2); transform:translateX(-4px); }
.pc-hero-quick-icon { width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pc-hero-quick-icon svg { width:18px; height:18px; stroke:#fff; fill:none; }
.pc-hero-quick-label { font-size:11px; font-weight:700; color:rgba(255,255,255,0.6); text-transform:uppercase; letter-spacing:.5px; }
.pc-hero-quick-val { font-size:14px; font-weight:800; color:#fff; margin-top:1px; }

/* ---------------------------------------------------
   BANDEAU 4 INFOS
--------------------------------------------------- */
.pc-infos-bar { background: var(--cta-clair, #fdf0e8); border-bottom:2px solid #f0c8a0; }
.pc-infos-bar-inner { max-width:1200px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); }
.pc-info-bar-item { display:flex; align-items:center; gap:14px; padding:20px 24px; border-right:1px solid #f0c8a0; text-decoration:none; transition:background .15s; }
.pc-info-bar-item:last-child { border-right:none; }
.pc-info-bar-item:hover { background:rgba(200,97,42,0.08); }
.pc-info-bar-icon { width:42px; height:42px; border-radius:12px; background: var(--cta, #c8612a); display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 3px 10px rgba(200,97,42,0.3); }
.pc-info-bar-icon svg { width:20px; height:20px; stroke:#fff; fill:none; }
.pc-info-bar-label { font-size:11px; font-weight:800; color:var(--cta, #c8612a); text-transform:uppercase; letter-spacing:.5px; }
.pc-info-bar-val { font-size:14px; font-weight:700; color:var(--gris,#3a3a3a); margin-top:2px; line-height:1.4; }

/* ---------------------------------------------------
   LAYOUT PRINCIPAL
--------------------------------------------------- */
.pc-main-layout { max-width:1200px; margin:0 auto; padding:52px 28px 70px; display:grid; grid-template-columns:1fr 400px; gap:44px; align-items:start; }

/* ---------------------------------------------------
   FORMULAIRE
--------------------------------------------------- */
.pc-form-card { background:var(--blanc,#fff); border-radius:var(--radius,18px); box-shadow:var(--ombre,0 4px 24px rgba(0,0,0,.08)); overflow:hidden; }
.pc-form-card-head { background:linear-gradient(135deg, var(--cta,#c8612a), var(--cta-hover,#a84e20)); padding:26px 32px; display:flex; align-items:center; gap:16px; }
.pc-form-card-head-icon { width:52px; height:52px; background:rgba(255,255,255,0.18); border-radius:14px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pc-form-card-head-icon svg { width:26px; height:26px; stroke:#fff; fill:none; }
.pc-form-card-head h2 { font-size:22px; color:#fff; margin:0; }
.pc-form-card-head p { font-size:13px; color:rgba(255,255,255,0.7); font-weight:600; margin-top:3px; }

.pc-form-body { padding:32px; }
.pc-form-objet-intro { font-size:13px; font-weight:700; color:var(--gris-moyen,#6b6b6b); margin-bottom:14px; }

.pc-objet-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:28px; }
.pc-objet-btn { display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 10px; border-radius:14px; border:2px solid var(--gris-bordure,#e2ddd6); background:var(--creme,#faf8f4); cursor:pointer; transition:all .2s; text-align:center; font-family:inherit; }
.pc-objet-btn:hover, .pc-objet-btn.active { border-color:var(--cta,#c8612a); background:var(--cta-clair,#fdf0e8); }
.pc-objet-btn-icon { width:40px; height:40px; border-radius:10px; background:var(--gris-clair,#f0efec); display:flex; align-items:center; justify-content:center; margin:0 auto; }
.pc-objet-btn.active .pc-objet-btn-icon { background:var(--cta,#c8612a); }
.pc-objet-btn-icon svg { width:20px; height:20px; stroke:var(--gris-moyen,#6b6b6b); fill:none; }
.pc-objet-btn.active .pc-objet-btn-icon svg { stroke:#fff; }
.pc-objet-btn-label { font-size:11px; font-weight:800; color:var(--gris-moyen,#6b6b6b); line-height:1.3; }
.pc-objet-btn.active .pc-objet-btn-label { color:var(--cta,#c8612a); }

.pc-form-missing { color:#888; font-size:14px; }

/* Le formulaire CF7 lui-même hérite du style de champ standard du site
   (voir contact.css / erre_contact) — pas de redéfinition ici pour
   éviter les doublons de règles .wpcf7-form. */

/* ---------------------------------------------------
   SIDEBAR
--------------------------------------------------- */
.pc-sidebar { display:flex; flex-direction:column; gap:20px; }

.pc-mairie-card, .pc-plan-card, .pc-autres-card { background:var(--blanc,#fff); border-radius:var(--radius,18px); box-shadow:var(--ombre,0 4px 24px rgba(0,0,0,.08)); overflow:hidden; }

.pc-mairie-card-head { background:var(--vert,#29450c); padding:20px 22px; display:flex; align-items:center; gap:14px; }
.pc-mairie-card-head-icon { width:46px; height:46px; background:rgba(255,255,255,0.15); border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pc-mairie-card-head-icon svg { width:22px; height:22px; stroke:#fff; fill:none; }
.pc-mairie-card-head h3 { font-size:18px; color:#fff; margin:0; }
.pc-mairie-card-head p { font-size:11px; color:rgba(255,255,255,0.6); font-weight:600; margin-top:2px; }

.pc-mairie-info-row { display:flex; align-items:flex-start; gap:14px; padding:16px 22px; border-bottom:1px solid var(--gris-clair,#f0efec); text-decoration:none; transition:background .15s; }
.pc-mairie-info-row:last-child { border-bottom:none; }
.pc-mairie-info-row:hover { background:var(--vert-clair,#d4d9ce); }
.pc-mrow-icon { width:36px; height:36px; border-radius:10px; background:var(--vert-clair,#d4d9ce); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pc-mrow-icon svg { width:17px; height:17px; stroke:var(--vert,#29450c); fill:none; }
.pc-mrow-label { font-size:11px; font-weight:800; color:var(--gris-moyen,#6b6b6b); text-transform:uppercase; letter-spacing:.4px; }
.pc-mrow-val { font-size:13px; font-weight:700; color:var(--gris,#3a3a3a); margin-top:3px; line-height:1.5; }

.pc-horaires-liste { display:flex; flex-direction:column; gap:6px; margin-top:6px; }
.pc-horaire-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--gris-clair,#f0efec); }
.pc-horaire-row:last-child { border-bottom:none; }
.pc-horaire-jour { font-size:12px; font-weight:700; color:var(--gris,#3a3a3a); }
.pc-horaire-plage { font-size:12px; font-weight:800; color:var(--vert,#29450c); background:var(--vert-clair,#d4d9ce); padding:2px 9px; border-radius:20px; }
.pc-horaire-ferme { font-size:11px; font-weight:600; color:#bbb; font-style:italic; }

.pc-plan-card-head { padding:16px 20px; border-bottom:1px solid var(--gris-clair,#f0efec); display:flex; align-items:center; justify-content:space-between; }
.pc-plan-card-head h3 { font-size:14px; font-weight:800; color:var(--vert,#29450c); display:flex; align-items:center; gap:8px; margin:0; }
.pc-plan-card-head h3 svg { width:15px; height:15px; stroke:var(--vert,#29450c); fill:none; }
.pc-plan-card-head a { font-size:12px; font-weight:800; color:var(--cta,#c8612a); display:flex; align-items:center; gap:4px; }
.pc-plan-card-head a svg { width:12px; height:12px; stroke:var(--cta,#c8612a); fill:none; }
.pc-plan-map-placeholder { height:200px; background:linear-gradient(135deg, #d4e8d0 0%, #c8ddc4 100%); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.pc-plan-map-placeholder::before { content:''; position:absolute; inset:0; background: repeating-linear-gradient(0deg, rgba(255,255,255,0.4) 0px, rgba(255,255,255,0.4) 1px, transparent 1px, transparent 40px), repeating-linear-gradient(90deg, rgba(255,255,255,0.4) 0px, rgba(255,255,255,0.4) 1px, transparent 1px, transparent 60px); }
.pc-plan-pin { position:relative; z-index:2; text-align:center; }
.pc-plan-pin-dot { width:48px; height:48px; border-radius:50% 50% 50% 0; background:var(--cta,#c8612a); border:4px solid #fff; box-shadow:0 4px 16px rgba(200,97,42,0.5); transform:rotate(-45deg); margin:0 auto; }
.pc-plan-pin-label { margin-top:12px; background:var(--blanc,#fff); font-size:12px; font-weight:800; color:var(--vert,#29450c); padding:6px 14px; border-radius:20px; box-shadow:0 2px 10px rgba(0,0,0,0.12); white-space:nowrap; }
.pc-plan-card-foot { padding:14px 20px; background:var(--vert-clair,#d4d9ce); display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.pc-transport-pill { display:inline-flex; align-items:center; gap:6px; font-size:11px; font-weight:700; color:var(--gris-moyen,#6b6b6b); background:var(--blanc,#fff); border-radius:20px; padding:5px 12px; border:1px solid var(--gris-bordure,#e2ddd6); }
.pc-transport-pill svg { width:12px; height:12px; stroke:var(--vert,#29450c); fill:none; }

.pc-autres-card-head { padding:14px 20px; border-bottom:1px solid var(--gris-clair,#f0efec); }
.pc-autres-card-head h3 { font-size:13px; font-weight:800; color:var(--gris,#3a3a3a); margin:0; }
.pc-autre-moyen { display:flex; align-items:center; gap:14px; padding:14px 20px; border-bottom:1px solid var(--gris-clair,#f0efec); text-decoration:none; transition:background .15s; }
.pc-autre-moyen:last-child { border-bottom:none; }
.pc-autre-moyen:hover { background:var(--creme,#faf8f4); }
.pc-autre-moyen-icon { width:40px; height:40px; border-radius:12px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pc-autre-moyen-icon svg { width:20px; height:20px; fill:none; }
.pc-autre-moyen-label { font-size:13px; font-weight:800; color:var(--gris,#3a3a3a); }
.pc-autre-moyen-desc { font-size:11px; font-weight:600; color:var(--gris-moyen,#6b6b6b); margin-top:1px; }

/* ---------------------------------------------------
   EN-TÊTES DE SECTION CENTRÉS (Signalement / Réseaux)
--------------------------------------------------- */
.pc-section-head-center { text-align:center; margin-bottom:40px; }
.pc-eyebrow-badge { background:var(--vert-clair,#d4d9ce); color:var(--vert,#29450c); padding:5px 14px; border-radius:20px; margin-bottom:12px; }
.pc-eyebrow-badge svg { width:13px; height:13px; stroke:var(--vert,#29450c); fill:none; }
.pc-section-title-center { color:var(--vert,#29450c); margin:0; }
.pc-section-subtitle-center { font-size:15px; color:#666; font-weight:600; margin-top:10px; }

/* ---------------------------------------------------
   SIGNALER UN PROBLÈME
--------------------------------------------------- */
.pc-signaler-section { background:var(--vert-clair,#d4d9ce); padding:60px 28px; }
.pc-signaler-inner { max-width:1200px; margin:0 auto; }
.pc-signaler-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.pc-signaler-card { background:var(--blanc,#fff); border-radius:var(--radius,18px); padding:22px 18px; text-align:center; box-shadow:var(--ombre,0 4px 24px rgba(0,0,0,.08)); transition:all .2s; text-decoration:none; display:block; border-top:4px solid transparent; }
.pc-signaler-card:hover { transform:translateY(-4px); box-shadow:var(--ombre-hover,0 8px 40px rgba(0,0,0,.14)); border-top-color: var(--card-color, var(--vert,#29450c)); }
.pc-signaler-icon { width:52px; height:52px; border-radius:14px; display:flex; align-items:center; justify-content:center; margin:0 auto 12px; }
.pc-signaler-icon svg { width:26px; height:26px; fill:none; }
.pc-signaler-title { font-size:14px; font-weight:800; color:var(--vert,#29450c); margin-bottom:6px; line-height:1.3; }
.pc-signaler-desc { font-size:12px; font-weight:600; color:var(--gris-moyen,#6b6b6b); line-height:1.5; }
.pc-signaler-cta { display:inline-flex; align-items:center; gap:4px; margin-top:12px; font-size:12px; font-weight:800; color:var(--cta,#c8612a); }
.pc-signaler-cta svg { width:11px; height:11px; stroke:var(--cta,#c8612a); fill:none; }

/* ---------------------------------------------------
   RÉSEAUX SOCIAUX
--------------------------------------------------- */
.pc-reseaux-section { background:var(--beige,#f2ede4); padding:60px 28px; }
.pc-reseaux-inner { max-width:1200px; margin:0 auto; }
.pc-reseaux-layout { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.pc-reseau-card { display:flex; align-items:center; gap:20px; background:var(--blanc,#fff); border-radius:var(--radius,18px); padding:24px 26px; box-shadow:var(--ombre,0 4px 24px rgba(0,0,0,.08)); text-decoration:none; transition:all .25s; }
.pc-reseau-card:hover { transform:translateX(6px); box-shadow:var(--ombre-hover,0 8px 40px rgba(0,0,0,.14)); }
.pc-reseau-icon { width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.pc-reseau-icon svg { width:26px; height:26px; stroke:#fff; fill:none; }
.pc-reseau-name { font-size:18px; font-weight:800; color:var(--gris,#3a3a3a); }
.pc-reseau-handle { font-size:13px; font-weight:600; color:var(--gris-moyen,#6b6b6b); margin-top:2px; }
.pc-reseau-follow { display:inline-flex; align-items:center; gap:5px; margin-top:8px; font-size:12px; font-weight:800; color:var(--cta,#c8612a); }
.pc-reseau-follow svg { width:11px; height:11px; stroke:var(--cta,#c8612a); fill:none; }

/* ---------------------------------------------------
   RESPONSIVE
--------------------------------------------------- */
@media (max-width:1024px) {
  .pc-main-layout { grid-template-columns:1fr; }
  .pc-sidebar { display:grid; grid-template-columns:1fr 1fr; }
  .pc-mairie-card { grid-column:1/-1; }
  .pc-signaler-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width:900px) {
  .pc-page-hero-inner { grid-template-columns:1fr; }
  .pc-hero-quick { display:none; }
  .pc-infos-bar-inner { grid-template-columns:1fr 1fr; }
  .pc-reseaux-layout { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .pc-objet-grid { grid-template-columns:repeat(2,1fr); }
  .pc-infos-bar-inner { grid-template-columns:1fr; }
  .pc-signaler-grid { grid-template-columns:1fr 1fr; }
  .pc-sidebar { grid-template-columns:1fr; }
}/* End custom CSS */