/* Hug²O Core — composants dynamiques (indépendants du thème, variables avec valeurs de repli) */
.hg-photo{position:relative;display:block;margin:0;overflow:hidden;background:#DCE3E6}
.hg-photo.is-placeholder{min-height:240px;display:flex;align-items:flex-end;padding:14px 18px;box-sizing:border-box;border:1px solid #C7D0D4;color:#5C6A72;font:500 12px/1.3 system-ui,sans-serif}
.hg-photo.is-placeholder[data-label]:after{content:attr(data-label)}
.hg-photo-img{display:block;width:100%;height:100%;object-fit:cover}
.hg-photo.has-img{min-height:0}.hg-photo-card.has-img,.hg-photo-card.is-placeholder{min-height:200px}.hg-photo-card .hg-photo-img{min-height:200px}
.hg-photo-prod.has-img .hg-photo-img,.hg-photo-prod.is-placeholder{min-height:320px}
.hg-photo-tall.has-img .hg-photo-img,.hg-photo-tall.is-placeholder{min-height:380px}
.hg-photo-wide.has-img .hg-photo-img,.hg-photo-wide.is-placeholder{min-height:360px}
/* chiffres */
.hg-stat{text-align:center}
.hg-stat-n{display:block;font-family:var(--hg-serif,'Fraunces',Georgia,serif);font-size:clamp(34px,4.6vw,60px);line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.hg-stat-l{display:block;margin-top:10px;font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.62)}
/* avant / après */
.hg-compare{position:relative;aspect-ratio:4/3;overflow:hidden;user-select:none;background:#DCE3E6}
.hg-compare-layer,.hg-compare .hg-photo{position:absolute;inset:0;height:100%}
.hg-compare .hg-photo-img{height:100%;min-height:0!important}
.hg-compare-after{clip-path:inset(0 0 0 var(--pos,50%))}
.hg-compare-tag{position:absolute;top:14px;left:14px;background:rgba(15,42,61,.78);color:#fff;font:600 11px/1 system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:7px 10px}
.hg-compare-after .hg-compare-tag{left:auto;right:14px}
.hg-compare-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:#fff;box-shadow:0 0 0 1px rgba(15,42,61,.25);transform:translateX(-1px);pointer-events:none}
.hg-compare-handle:after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;color:#0F2A3D;display:flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.hg-compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.hg-compare-range:focus-visible+*,.hg-compare:focus-within .hg-compare-handle:after{outline:3px solid var(--hg-accent,#C97B4A)}
/* avis */
.hg-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin:32px 0}
.hg-review{margin:0;padding:28px;background:#fff;border:1px solid var(--hg-line,#E4DFD3)}
.hg-review blockquote{margin:14px 0 18px;padding:0;border:0;font-size:16px;line-height:1.6}
.hg-review figcaption{font-size:14px;font-weight:600;color:var(--hg-deep,#0F2A3D)}
.hg-stars{color:var(--hg-accent,#C97B4A);letter-spacing:.12em}
.hg-notice{padding:14px 18px;border-left:4px solid var(--hg-accent,#C97B4A);background:#FFF8F2;font-size:14px}
section:has(>.hg-hide-section),.et_pb_section:has(.hg-hide-section){display:none}
/* FAQ */
.hg-faq{max-width:860px}
.hg-faq-item{border-bottom:1px solid var(--hg-line,#E4DFD3)}
.hg-faq-item summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:500 18px/1.35 var(--hg-serif,'Fraunces',Georgia,serif);color:var(--hg-deep,#0F2A3D);position:relative}
.hg-faq-item summary::-webkit-details-marker{display:none}
.hg-faq-item summary:after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font-size:26px;color:var(--hg-accent,#C97B4A);transition:transform .2s}
.hg-faq-item[open] summary:after{content:"–"}
.hg-faq-a{padding:0 0 22px;max-width:720px}.hg-faq-a p{margin:0;line-height:1.65}
.hg-faq-item summary:focus-visible{outline:3px solid var(--hg-accent,#C97B4A);outline-offset:2px}
/* contact */
.hg-contact-card p{margin:0 0 18px;line-height:1.6}
.hg-access{display:flex;flex-wrap:wrap;gap:24px 56px;align-items:flex-end;justify-content:space-between}
.hg-access-links{display:flex;flex-direction:column;gap:10px}
/* formulaire */
.hg-form .hg-field{margin:0 0 18px}
.hg-form label{display:block;font-size:14px;font-weight:600;margin-bottom:6px}
.hg-form input[type=text],.hg-form input[type=email],.hg-form input[type=tel],.hg-form select,.hg-form textarea{width:100%;box-sizing:border-box;padding:14px 16px;border:1px solid #CFC9BB;border-radius:2px;background:#fff;font:inherit;font-size:16px;color:inherit}
.hg-form input:focus,.hg-form select:focus,.hg-form textarea:focus{outline:3px solid rgba(92,147,184,.45);outline-offset:0;border-color:var(--hg-water,#5C93B8)}
.hg-form .hg-consent label{font-weight:400;display:flex;gap:10px;align-items:flex-start;font-size:14px}
.hg-form .hg-consent input{margin-top:4px}
.hg-submit{appearance:none;border:1px solid transparent;border-radius:2px;background:var(--hg-accent,#C97B4A);color:#fff;font-family:inherit;font-weight:600;font-size:15px;line-height:1.2;padding:16px 30px;cursor:pointer;transition:background .2s}
.hg-submit:hover{background:var(--hg-accent-d,#A8613A)}.hg-submit[disabled]{opacity:.6;cursor:wait}
.hg-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.hg-form-msg{padding:14px 18px;margin-bottom:22px;font-size:15px;border-left:4px solid}
.hg-form-msg.is-ok{background:#EDF6EF;border-color:#2E7D4F}.hg-form-msg.is-err{background:#FBEFEA;border-color:#B5472A}
/* carte des zones d'intervention (SVG, sans service externe) */
.hg-map{display:grid;gap:28px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start}
.hg-map-dept-only,.hg-map-dept,.hg-map-commune{grid-template-columns:1fr}
.hg-map-stage{position:relative;border:1px solid var(--hg-line,#E4DFD3);background:#DDE8EE;overflow:hidden;line-height:0}
.hg-map-svg{display:block;width:100%;height:auto;aspect-ratio:1110/970;max-height:78vh}
.hg-map-dept .hg-map-svg{aspect-ratio:auto}.hg-map-commune .hg-map-svg{aspect-ratio:300/230}
.hg-map-sea{fill:#DDE8EE}
.hg-map-neigh{fill:#EFEBE1;stroke:#DDD6C5;stroke-width:1}
.hg-map-dept path,path.hg-map-dept{stroke:#fff;stroke-width:1.4;stroke-linejoin:round;transition:opacity .25s,fill .25s}
.hg-map-dept.is-dim{opacity:.35}
.hg-map-dname{font-family:var(--hg-sans,Inter,sans-serif);font-weight:600;letter-spacing:.16em;fill:#0F2A3D;opacity:.6;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.hg-map-dot{cursor:pointer;opacity:.78;transition:opacity .2s,r .15s}
.hg-map-dot:hover{opacity:1}
.hg-map.is-filtered .hg-map-dot:not(.is-on),.hg-map.is-filtered .hg-map-pin:not(.is-on){opacity:.12}
.hg-map.is-filtered path.hg-map-dept:not(.is-on){opacity:.35}
.hg-map-pin{cursor:pointer;outline:none}
.hg-map-pin circle:not(.hg-map-halo){transition:r .15s}
.hg-map-pin:hover circle:not(.hg-map-halo),.hg-map-pin:focus-visible circle:not(.hg-map-halo){stroke:#C97B4A}
.hg-map-label{font-family:var(--hg-sans,Inter,sans-serif);font-weight:600;fill:#0F2A3D;paint-order:stroke;stroke:#fff;stroke-opacity:.85;stroke-linejoin:round;pointer-events:none}
.hg-map-label.is-key{fill:#0F2A3D;font-weight:700}
.hg-map-halo{animation:hgPulse 2.6s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes hgPulse{0%{opacity:1;transform:scale(.8)}100%{opacity:0;transform:scale(1.5)}}
@media (prefers-reduced-motion:reduce){.hg-map-halo{animation:none}}
.hg-map-tip{position:absolute;z-index:3;pointer-events:none;background:#0F2A3D;color:#fff;font:600 13px/1.2 var(--hg-sans,Inter,sans-serif);padding:7px 11px;border-radius:2px;white-space:nowrap;transform:translate(-50%,-135%);box-shadow:0 8px 20px rgba(15,42,61,.25)}
.hg-map-tip[hidden]{display:none}
.hg-map-side{display:grid;gap:20px}
.hg-map-chips{display:flex;flex-wrap:wrap;gap:8px}
.hg-map-chips button{appearance:none;font:600 13px/1 var(--hg-sans,Inter,sans-serif);color:#0F2A3D;background:#fff;border:1px solid #DCD5C4;border-radius:20px;padding:9px 14px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .2s,border-color .2s,color .2s}
.hg-map-chips button[data-f]:not([data-f=""]):before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c,#0F2A3D)}
.hg-map-chips button:hover{border-color:#5C93B8}
.hg-map-chips button.is-on{background:#0F2A3D;border-color:#0F2A3D;color:#fff}
.hg-map-cols{display:grid;gap:22px}
.hg-map-cols h3{display:flex;align-items:center;gap:9px;font:600 12.5px/1.2 var(--hg-sans,Inter,sans-serif)!important;letter-spacing:.12em;text-transform:uppercase;color:#0F2A3D!important;margin:0 0 8px}
.hg-map-cols h3 i{width:9px;height:9px;border-radius:50%;flex:none}
.hg-map-cols h3 span{opacity:.5;font-weight:500}
.hg-map-cols div[hidden]{display:none}
.hg-map-inl{margin:0 0 8px;font-size:15px;line-height:1.7}
.hg-map-inl b{color:#B9B2A0;font-weight:400;margin:0 2px}
.hg-map-cols .hg-link{font-size:13.5px}
.hg-map-note{font-size:12.5px;line-height:1.5;margin:0;color:#6B6A64}
@media (max-width:980px){.hg-map{grid-template-columns:1fr}}
@media (max-width:600px){.hg-map-cols{grid-template-columns:1fr}.hg-map-label:not(.is-key){display:none}.hg-map-svg{max-height:none}}
.hg-access{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:32px;align-items:center}
.hg-access-map .hg-map{display:block}
.hg-access-links{display:grid;gap:10px;margin-top:18px}
@media (max-width:860px){.hg-access{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

#main-content .et_pb_text .hg-map a, #main-content .et_pb_text .hg-map a:hover{text-decoration:none}
#main-content .et_pb_text .hg-map-inl a{color:#0F2A3D;text-decoration:underline;text-decoration-color:#5C93B8;text-underline-offset:3px;text-decoration-thickness:1px}
#main-content .et_pb_text .hg-map-inl a:hover{color:#A8613A}
#main-content .et_pb_text .hg-map p.hg-map-note{color:#6B6A64;font-size:12.5px;line-height:1.5;margin:0}
#main-content .et_pb_text .hg-map p.hg-map-inl{font-size:15px;margin:0 0 8px}
#main-content .et_pb_text .hg-map svg a, #main-content .et_pb_text .hg-map svg a:hover{text-decoration:none!important}
.hg-map-label{text-decoration:none!important}
