
/* V4.5 — finition de l'expérience (carte, FAQ, avis, navigation et régions). */
.nf-site-nav .nf-menu-chevron{width:15px;height:15px;flex-shrink:0;transition:transform .2s ease;vertical-align:middle}
.nf-nav-group.nf-nav-panel-open .nf-menu-chevron,.nf-nav-group-toggle[aria-expanded="true"] .nf-menu-chevron{transform:rotate(180deg)}
.nf-site-nav .nf-nav-group-toggle{gap:7px}
.nf-site-nav .nf-nav-panel{border:1px solid #d9e7dc;box-shadow:0 20px 44px rgba(10,46,30,.13);padding:10px;min-width:270px}
.nf-site-nav .nf-nav-panel a{border-radius:9px;padding:11px 14px}
.nf-site-nav :is(a,button):focus-visible{outline:3px solid #bfdeca;outline-offset:3px}
/* Même fil d'Ariane visible sur toutes les pages intérieures. Accueil exclu par convention. */
nav[aria-label="breadcrumb"],nav[aria-label="Fil d’Ariane"],nav[aria-label="Fil d'Ariane"],.nf-breadcrumb{display:block!important;max-width:1320px!important;width:calc(100% - 48px);margin:0 auto!important;padding:15px 0!important;background:#fff!important;color:#4b6759!important;font:600 13px/1.6 Arial,sans-serif!important;border:0!important}
nav[aria-label="breadcrumb"]>.breadcrumb{background:transparent!important;margin:0!important;padding:0!important;display:flex;gap:5px;align-items:center;list-style:none}
nav[aria-label="breadcrumb"] .breadcrumb-item{color:#597467!important;font-size:13px!important}
nav[aria-label="breadcrumb"] .breadcrumb-item.active{color:#164735!important}
nav[aria-label="breadcrumb"] .breadcrumb-item+.breadcrumb-item:before{content:"/"!important;color:#829d90;margin:0 9px 0 5px}
nav[aria-label="breadcrumb"] a,.nf-breadcrumb a{color:#29684b!important;text-decoration:none!important}
nav[aria-label="breadcrumb"] a:hover,.nf-breadcrumb a:hover{text-decoration:underline!important}
/* FAQ : on retire la bannière noire héritée et on assure le contraste. */
body .faq .faq-item{padding:10px!important;margin:12px 0!important;background:#fff!important;border:1px solid #dae8df!important;border-radius:14px!important;box-shadow:0 7px 20px rgba(20,58,39,.045)!important;overflow:hidden}
body .faq .faq-question,body .nf-design-unified .faq .faq-question{background:#f0f7f2!important;color:#143f30!important;min-height:65px!important;border-radius:10px!important;padding:15px 22px!important;margin:0!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;font-size:clamp(15px,1.35vw,18px)!important;font-weight:750!important;text-shadow:none!important;cursor:pointer!important;transition:background .15s ease!important}
body .faq .faq-question:hover,body .faq .faq-question:focus-visible{background:#dcefe3!important;color:#103c2a!important}
body .faq .faq-question:focus-visible{outline:3px solid #4d9d6b!important;outline-offset:2px!important}
body .faq .faq-question::after{content:"+"!important;line-height:1!important;color:#11603c!important;font-size:26px!important;flex-shrink:0!important}
body .faq .faq-item.active .faq-question{background:#e8f5ed!important;color:#103c2a!important}
body .faq .faq-item.active .faq-question::after{content:"−"!important;transform:none!important}
body .faq .faq-answer{background:transparent!important;color:#375548!important;border:0!important;border-radius:0!important;padding:15px 22px 10px!important;margin:0!important;line-height:1.7!important}
body .faq .faq-answer a{color:#15583d!important;text-decoration:underline}
body .faq .container>p{text-align:center;color:#547063!important}
/* Sans JS, réponses lisibles. JS ajoute nf-faq-js et referme seulement alors. */
body .faq .faq-answer{display:block!important}
body.nf-faq-js .faq .faq-item:not(.active) .faq-answer{display:none!important}
/* Carte double implantation : aperçu immédiat, puis cartographie externe à la demande. */
.nf-dual-map{background:#fff;border:1px solid #dceae1;border-radius:18px;overflow:hidden;box-shadow:0 10px 28px rgba(9,55,35,.055);margin:18px 0 22px;color:#173b2e}
.nf-dual-map-preview{position:relative;background:#eaf3ef;overflow:hidden}
.nf-dual-map-preview[hidden],.nf-dual-map-live[hidden]{display:none!important}
.nf-dual-map-preview img{display:block;width:100%;height:auto;max-height:380px;object-fit:cover;object-position:center}
.nf-dual-map-caption{position:absolute;left:14px;bottom:14px;border-radius:99px;background:#063c2be8;color:#fff;font-size:12px;font-weight:700;padding:9px 13px;max-width:calc(100% - 28px)}
.nf-dual-map-live{height:370px;background:#eaf3ef;z-index:1}
.nf-dual-map-places{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:17px 18px}
.nf-map-place{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:14px;border:1px solid #e0eee4;border-radius:13px;background:#f7faf8}
.nf-map-dot{width:12px;height:12px;background:#b91b2d;border:3px solid #ffe5e9;box-shadow:0 0 0 1px #bd2233;border-radius:50%;margin-top:5px;flex:none}
.nf-map-place h3{font-size:17px!important;color:#144734!important;margin:0 0 6px!important;line-height:1.25}
.nf-map-place p{margin:0 0 10px!important;font-size:13px;color:#52675b;line-height:1.5}
.nf-map-place a{color:#155e42!important;font-weight:700;text-decoration:underline!important;font-size:13px}
.nf-dual-map-bottom{display:flex;align-items:center;gap:15px;padding:2px 19px 20px;flex-wrap:wrap}
.nf-dual-map-bottom button{background:#0e5b3d;color:white;border:0;border-radius:10px;padding:12px 16px;font-weight:800;cursor:pointer}
.nf-dual-map-bottom button:disabled{opacity:.8;cursor:default}
.nf-dual-map-bottom small{max-width:460px;font-size:11px;color:#5a7365;line-height:1.5}
.nf-contact-map-panel>h4{font-size:clamp(21px,2vw,28px);color:#0f4330;margin:22px 0 8px}
.nf-two-region-section{padding:55px 0;background:#f5f9f6}
.nf-two-region-section h2{color:#114332}
.nf-regions-links,.nf-home-region-picks{display:flex;gap:11px;flex-wrap:wrap;margin:15px 0 23px}
.nf-regions-links a,.nf-home-region-picks a{display:inline-flex;align-items:center;padding:10px 14px;background:#fff;border:1px solid #dbe8df;border-radius:99px;color:#19593c!important;text-decoration:none!important;font-size:13px;font-weight:750}
.nf-regions-links a:hover,.nf-home-region-picks a:hover{background:#e7f5ec}
/* Bloc avis : réduit et concret, pas de note fictive. */
.nf-review-section{padding:42px 0!important;background:#f4f9f6!important}
.nf-review-section .nf-review-wrap{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(245px,.55fr);gap:24px;align-items:center;max-width:1200px!important}
.nf-review-copy h2{font-size:clamp(25px,3vw,38px)!important;color:#0e3d30!important;line-height:1.2;margin:9px 0 12px!important;max-width:18ch}
.nf-review-copy p{font-size:14px;line-height:1.7;color:#496658;margin:0!important;max-width:650px}
.nf-review-copy .nf-eyebrow{letter-spacing:.12em;color:#15683f;font-weight:800;font-size:12px}
.nf-review-action{border:1px solid #dce8df;background:white;padding:21px;border-radius:15px;box-shadow:0 8px 22px #143d2314}
.nf-review-action .nf-review-g{display:inline-grid;place-items:center;width:37px;height:37px;border-radius:10px;background:#e7f3e9;color:#237c42;font-size:22px;font-weight:900;margin-bottom:10px}
.nf-review-action>strong{display:block;color:#153d2d;margin:0 0 6px;font-size:17px}
.nf-review-action p{font-size:13px;color:#526b5c;margin:0 0 14px;line-height:1.5}
.nf-review-action a{display:inline-flex;background:#155b3e;color:#fff!important;text-decoration:none;padding:12px 15px;border-radius:9px;font-size:13px;font-weight:750}
.nf-review-copy .nf-real-rating{font-size:17px;color:#173c2f;margin-top:14px!important}
.nf-stars{letter-spacing:2px;color:#dc9738}
@media(max-width:840px){.nf-review-section .nf-review-wrap{grid-template-columns:1fr}.nf-dual-map-places{grid-template-columns:1fr}.nf-dual-map-preview img{max-height:310px}.nf-contact-map-panel>h4{font-size:23px}}
@media(max-width:600px){.nf-dual-map-bottom{align-items:stretch}.nf-dual-map-bottom button{width:100%}.nf-dual-map-places{padding:11px}.nf-map-place{padding:12px}.nf-review-section{padding:30px 0!important}nav[aria-label="breadcrumb"],.nf-breadcrumb{width:calc(100% - 36px)}}

#map:has(.nf-dual-map){box-shadow:none!important;border-radius:0!important;overflow:visible!important;margin-top:10px!important}
