/* Navigation artisan : listes exhaustives, séparées du lien de rubrique. */
.ps-navigation,.ps-mobile-navigation{--nav-ink:var(--marque-fond,var(--marque,#111));--nav-muted:color-mix(in srgb,var(--nav-ink) 62%,#fff);--nav-line:color-mix(in srgb,var(--nav-ink) 12%,#fff);--nav-wash:color-mix(in srgb,var(--acc) 5%,#fff);font-family:var(--f-body,'Plus Jakarta Sans',sans-serif)}
header.ps-navigation .hdr-nav .has-mega{position:static;display:flex;align-items:center;gap:0}
header.ps-navigation .hdr-nav .has-mega:after{display:none}
header.ps-navigation .hdr-nav .has-mega>a{padding-right:4px}
.ps-navigation .ps-menu-toggle{display:grid;place-items:center;flex:none;width:28px;height:32px;margin-right:7px;border:0;border-radius:6px;padding:0;background:transparent;color:var(--acc);cursor:pointer;transition:background-color .2s}
.ps-navigation .ps-menu-toggle>svg{width:17px;height:17px;transition:transform .25s}
.ps-navigation .ps-menu-toggle:hover{background:color-mix(in srgb,var(--acc) 12%,transparent)}
.ps-navigation .ps-menu-toggle[aria-expanded='true']>svg{transform:rotate(180deg)}
.ps-navigation .ps-menu-toggle:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
header.ps-navigation .has-mega>.ps-menu-panel{position:absolute;inset:auto auto auto 50%;top:calc(100% + 4px);z-index:200;display:none;flex-direction:column;align-items:stretch;gap:0;width:min(980px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - max(80px,calc(var(--logo-h,48px) + 24px)) - 24px);margin:0;padding:0;transform:translateX(-50%);background:#fff;color:var(--nav-ink);border:1px solid var(--nav-line);border-radius:13px;box-shadow:0 18px 48px -14px #0003;overflow:visible}
header.ps-navigation .has-mega>.nav-mega-zones.ps-menu-panel{width:min(1140px,calc(100vw - 48px))}
header.ps-navigation .has-mega>.ps-menu-panel.ps-menu-compact{width:min(660px,calc(100vw - 48px))}
header.ps-navigation .ps-menu-panel:before{content:'';position:absolute;left:0;right:0;top:-14px;height:14px}
header.ps-navigation .has-mega:not(.menu-enhanced):is(:hover,:focus-within)>.ps-menu-panel{display:flex}
header.ps-navigation .has-mega.menu-enhanced>.ps-menu-panel{display:none}
header.ps-navigation .has-mega.menu-enhanced.is-open>.ps-menu-panel{display:flex;animation:ps-menu-enter .2s ease-out}
header.ps-navigation .has-mega.menu-enhanced.is-dismissed:not(.is-open)>.ps-menu-panel{display:none}
.ps-navigation [hidden],.ps-mobile-navigation [hidden]{display:none!important}
.ps-navigation .ps-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 24px 17px;flex:none}
.ps-navigation .ps-menu-head>div{display:flex;align-items:baseline;gap:14px;min-width:0;flex-wrap:wrap}
.ps-navigation .ps-menu-head h2{font-family:inherit;font-size:19px;font-weight:600;letter-spacing:-.035em;line-height:1.3;color:var(--nav-ink);margin:0}
.ps-menu-count{display:inline-block;flex:none;color:var(--nav-muted);font-size:11px;line-height:1.5;font-weight:500;font-variant-numeric:tabular-nums}
.ps-navigation a.ps-menu-overview,.ps-mobile-navigation nav a.ps-menu-overview{display:inline-flex;align-items:center;gap:10px;flex:none;font-size:11px;font-weight:600;line-height:1.5;color:var(--nav-ink);padding:0;margin:0;border:0;text-decoration:none;opacity:1}
.ps-menu-overview>span{font-size:17px;color:var(--acc)}
.ps-navigation a.ps-menu-overview:hover,.ps-mobile-navigation nav a.ps-menu-overview:hover{color:var(--acc)}
.ps-menu-search{display:flex;align-items:center;gap:10px;flex:none;min-width:0;margin:0 24px 15px;padding:0 13px;background:color-mix(in srgb,var(--nav-ink) 3%,#fff);border:1px solid var(--nav-line);border-radius:7px;transition:border-color .2s,box-shadow .2s}
.ps-menu-search>svg{width:17px;height:17px;flex:0 0 17px;color:var(--nav-muted)}
.ps-menu-search:focus-within{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 12%,transparent)}
.ps-menu-search input{font:inherit;font-size:13px;line-height:1.5;color:var(--nav-ink);min-width:0;width:100%;height:42px;margin:0;padding:10px 0;border:0;background:transparent;box-shadow:none;outline:none}
.ps-menu-search input::placeholder{color:var(--nav-muted);opacity:1}
.ps-menu-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ps-navigation .ps-menu-scroll{min-height:0;max-height:430px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--nav-ink) 30%,#fff) transparent;margin:0 10px 0 24px;padding:0 14px 20px 0;scroll-padding:8px}
.ps-menu-scroll::-webkit-scrollbar{width:7px}.ps-menu-scroll::-webkit-scrollbar-thumb{border-radius:10px;background:color-mix(in srgb,var(--nav-ink) 25%,#fff)}
.ps-menu-grid{--nav-columns:3;display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;min-width:0;margin:0;padding:0}
.ps-menu-grid.ps-menu-cities{--nav-columns:4}
.ps-menu-grid.ps-menu-grid-compact{--nav-columns:2}
.ps-navigation .ps-menu-panel a.ps-menu-link,.ps-mobile-navigation nav a.ps-menu-link{position:relative;display:flex;align-items:center;gap:10px;flex:1 1 calc((100% - (var(--nav-columns) - 1)*8px)/var(--nav-columns));min-width:0;max-width:100%;min-height:53px;padding:11px 12px;box-sizing:border-box;border:1px solid var(--nav-line);border-radius:7px;background:#fff;color:var(--nav-ink);box-shadow:0 1px 2px #00000004;text-decoration:none;opacity:1;transition:background-color .2s,border-color .2s,box-shadow .2s}
.ps-navigation .ps-menu-panel a.ps-menu-link:is(:hover,:focus-visible),.ps-mobile-navigation nav a.ps-menu-link:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--acc) 70%,#fff);background:var(--nav-wash);box-shadow:inset 2px 0 0 var(--acc)}
.ps-navigation a:focus-visible,.ps-mobile-navigation a:focus-visible{outline:2px solid var(--acc);outline-offset:3px}
.ps-menu-name,.ps-navigation .mega-ville-nom,.ps-mobile-navigation .mega-ville-nom{min-width:0;flex:1;font-family:inherit;font-size:12px;font-weight:600;line-height:1.45;letter-spacing:-.012em;color:inherit;overflow-wrap:break-word;white-space:normal}
.ps-menu-icon{display:grid;place-items:center;flex:0 0 23px;width:23px;height:25px;color:var(--acc)}
.ps-menu-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ps-menu-link>.ps-menu-arrow{flex:0 0 15px;width:15px;height:15px;margin-left:auto;opacity:.55;color:var(--nav-ink);transition:color .2s,transform .2s,opacity .2s}
.ps-menu-link:is(:hover,:focus-visible)>.ps-menu-arrow{color:var(--acc);opacity:1;transform:translateX(3px)}
.ps-menu-city{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
.ps-menu-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:10px;line-height:1.4;color:var(--nav-muted);font-variant-numeric:tabular-nums}
.ps-menu-base{color:color-mix(in srgb,var(--acc) 60%,var(--nav-ink));font-weight:600}
.ps-menu-empty{margin:0;padding:22px 4px;font-size:13px;line-height:1.65;color:var(--nav-muted)}
.ps-navigation .ps-menu-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;padding:14px 24px;border-top:1px solid var(--nav-line);border-radius:0 0 13px 13px;background:color-mix(in srgb,var(--nav-ink) 2%,#fff)}
.ps-menu-footer>div{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 13px;min-width:0;font-size:11px;line-height:1.5;font-weight:600}
.ps-menu-footer small{font:inherit;font-size:10px;font-weight:400;color:var(--nav-muted)}
.ps-navigation .ps-menu-footer a.ps-menu-cta{display:inline-flex;align-items:center;justify-content:center;gap:14px;flex:none;font-size:11px;font-weight:600;line-height:1.5;color:var(--nav-ink);padding:9px 12px;border:1px solid var(--nav-line);border-radius:6px;background:#fff;text-decoration:none;transition:border-color .2s,background-color .2s}
.ps-menu-cta>span{color:var(--acc);font-size:16px}
.ps-navigation .ps-menu-footer a.ps-menu-cta:hover{border-color:var(--acc);background:var(--nav-wash)}
.ps-mobile-navigation .mob-drawer-head{position:sticky;top:0;z-index:2;height:auto;min-height:76px;padding-top:12px;padding-bottom:12px;background:#fff}
.ps-mobile-navigation nav{padding-top:6px}
.ps-mobile-navigation nav details.mob-acc>summary{gap:10px;font-weight:600;color:var(--nav-ink);padding:17px 22px}
.ps-mobile-navigation nav details.mob-acc>summary.on{color:var(--acc)}
.ps-mobile-navigation nav details.mob-acc>summary:after{color:var(--acc);opacity:1}
.ps-menu-summary-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 6px;margin-left:auto;border-radius:6px;background:var(--nav-wash);color:var(--nav-muted);font-size:10px;line-height:1;font-weight:600}
.ps-mobile-navigation .ps-menu-mobile-panel{padding:0 18px 20px}
.ps-mobile-navigation .ps-menu-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:1px 3px 13px}
.ps-mobile-navigation .ps-menu-search{margin:0 0 12px}
.ps-mobile-navigation .ps-menu-search input{font-size:16px;height:44px}
.ps-mobile-navigation .ps-menu-grid{--nav-columns:2;gap:8px}
.ps-mobile-navigation nav a.ps-menu-link{min-height:57px;padding:10px 11px;gap:8px}
.ps-mobile-navigation .ps-menu-name{font-size:12px}
.ps-mobile-navigation .ps-menu-meta{font-size:10px}
.ps-mobile-navigation .ps-menu-arrow{flex-basis:13px;width:13px;height:13px}
/* Communes : repères lisibles et survol discret, sans changer les services. */
.ps-navigation .ps-menu-zones .ps-menu-head>div{align-items:center}
.ps-menu-zones .ps-menu-count{padding:5px 9px;border-radius:999px;background:#f1f2f3;color:#62666b;line-height:1.25}
.ps-navigation .ps-menu-zones .mega-ville-nom,.ps-mobile-navigation .ps-menu-zones .mega-ville-nom{font-size:13px;font-weight:500;letter-spacing:0}
.ps-menu-zones .ps-menu-meta,.ps-mobile-navigation .ps-menu-zones .ps-menu-meta{font-size:11px;color:#70757a}
.ps-menu-zones .ps-menu-search input,.ps-mobile-navigation .ps-menu-zones .ps-menu-search input{font-size:14px}
.ps-menu-zones .ps-menu-cities .ps-menu-link>.ps-menu-arrow{color:var(--acc);opacity:1;stroke-width:2.4}
.ps-navigation .ps-menu-zones a.ps-menu-link:is(:hover,:focus-visible),.ps-mobile-navigation nav .ps-menu-zones a.ps-menu-link:is(:hover,:focus-visible){border-color:color-mix(in srgb,var(--acc) 45%,#fff);background:color-mix(in srgb,var(--acc) 6%,#fff);box-shadow:0 1px 2px #00000004}
.ps-menu-zones .ps-menu-link:is(:hover,:focus-visible)>.ps-menu-arrow{transform:translateX(3px)}
.ps-navigation .ps-menu-zones .ps-menu-footer a.ps-menu-cta,.ps-mobile-navigation nav .ps-menu-zones a.ps-menu-cta{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:11px 18px;border:1px solid color-mix(in srgb,var(--acc) 65%,#fff);border-radius:7px;background:#fff;color:var(--nav-ink);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s}
.ps-navigation .ps-menu-zones .ps-menu-footer a.ps-menu-cta:is(:hover,:focus-visible),.ps-mobile-navigation nav .ps-menu-zones a.ps-menu-cta:is(:hover,:focus-visible){border-color:var(--acc);background:var(--acc);color:var(--on-accent,var(--btn-acc-text,#fff))}
.ps-menu-zones a.ps-menu-cta:is(:hover,:focus-visible)>span{color:inherit}
.ps-mobile-navigation .ps-menu-zones .ps-menu-mobile-footer{display:flex;justify-content:flex-end;margin-top:16px}
@media(max-width:479px){.ps-mobile-navigation .ps-menu-services{--nav-columns:1}.ps-mobile-navigation .ps-menu-services .ps-menu-name{font-size:13px}.ps-mobile-navigation .ps-menu-cities .ps-menu-link{min-height:66px}}
@media(min-width:1025px) and (max-width:1240px){
 header.site-hdr.ps-navigation .hdr{padding-left:24px;padding-right:24px;gap:14px}
 header.site-hdr.ps-navigation .hdr-nav>a,header.site-hdr.ps-navigation .hdr-nav .has-drop>a{font-size:14px;padding-left:9px;padding-right:9px}
 header.site-hdr.ps-navigation .hdr-nav .has-mega>a{padding-right:3px}
 .ps-navigation .ps-menu-toggle{width:24px;margin-right:3px}
 header.site-hdr.ps-navigation .hdr-right{gap:0}
 header.site-hdr.ps-navigation .hdr-right .hdr-cta{display:none}
}
@media(max-width:1024px){header.ps-navigation .has-mega>.ps-menu-panel{display:none!important}}
@media(prefers-reduced-motion:reduce){.ps-navigation .ps-menu-toggle,.ps-navigation .ps-menu-toggle>svg,.ps-menu-link,.ps-menu-link>.ps-menu-arrow,.ps-menu-search,.ps-menu-cta{transition:none!important}.ps-menu-link:is(:hover,:focus-visible)>.ps-menu-arrow{transform:none}header.ps-navigation .has-mega.menu-enhanced.is-open>.ps-menu-panel{animation:none}}
@keyframes ps-menu-enter{from{opacity:0;translate:0 -5px}to{opacity:1;translate:0 0}}
