/*
Theme Name: Piprod
Theme URI: www.piprod.com
Description: Thème enfant Piprod
Author: Florent Jamet
Author URI: www.piprod.com
Template: hello-elementor
Version: 2.1.0
*/

/* ......................................................................
   01 — ROOT · RÉGLAGES GÉNÉRAUX
   ......................................................................
   Valeurs communes aux pages PHP. Les adaptations tablette et mobile
   se trouvent en fin de fichier. Les tailles de texte sont en rem.
   ...................................................................... */
:root {
    /* COULEURS — marque, textes, titres et bandeau */
    --napso-brand: #06748b;
    --napso-text: #7d7d7d;
    --napso-heading: #3e3e3e;
    --napso-on-brand: #fff;
    --napso-outline-color: #ffffff33;

    /* POLICES — familles et polices de secours */
    --napso-font-body: "napso", Arial, sans-serif;
    --napso-font-heading: "Gordita", Arial, sans-serif;
    /* Chargement : les fichiers de police existants restent utilisés.
       Les déclarations @font-face se placent hors de :root. */

    /* TAILLES — texte courant, rubriques, titre et contour */
    --napso-size-body: .9375rem;
    --napso-size-section: 1.078125rem;
    --napso-size-title: 2.84375rem;
    --napso-size-outline: 6.25rem;

    /* GRAISSES — texte léger, liens, rubriques et titre */
    --napso-weight-body: 300;
    --napso-weight-link: 400;
    --napso-weight-section: 600;
    --napso-weight-field: 600;
    --napso-weight-title: 800;

    /* INTERLIGNES — texte et titres */
    --napso-leading-body: 1.4;
    --napso-leading-section: 1.3;
    --napso-leading-title: 1.2;

    /* ESPACEMENTS — marges latérales, colonnes et rubriques */
    --napso-content-inset: 10%;
    --napso-content-padding: 100px;
    --napso-content-gap: 51px;
    --napso-section-title-gap: 20px;

    /* BANDEAU — hauteur d’écran et marge intérieure verticale */
    --napso-hero-start-height: 100dvh;
    --napso-hero-height: 60dvh;
    /* Courbe temporaire du bord inférieur pendant le retrait. */
    --napso-hero-curve: 0px;
    --napso-hero-padding: 50px;
    /* Même espace sous le titre et au-dessus du contenu suivant. */
    --napso-section-join-gap: var(--napso-hero-padding);

    /* CONTACT — composition originale de la page */
    --napso-contact-inset: 80px;
    --napso-contact-hero-background: #7a6ba8;
    /* TITRES DE HÉROS — référence Débouchés : contour 30 % plus grand que le plein */
    --napso-hero-outline-ratio: 1.3;
    --napso-size-hero-outline: calc(var(--napso-size-hero-solid) * var(--napso-hero-outline-ratio));
    --napso-size-hero-solid: 4.6875rem;
    --napso-size-hero-mobile: clamp(1.375rem, 7.8vw, 2.625rem);
    --napso-leading-hero-title: 1.3;
    --napso-weight-hero-title: 800;
    --napso-contact-font-copy: "dm-sans", Arial, sans-serif;
    --napso-contact-background: #f0f0f0;
    --napso-contact-ink: #2b464d;
    --napso-contact-details-background: #514451;

    /* SOUS-TITRES BLANCS DES HÉROS — règle commune Contact et Praticiens */
    --napso-hero-copy-font: var(--napso-font-heading);
    --napso-hero-copy-size: 1.4rem;
    --napso-hero-copy-size-mobile: 1.225rem;
    --napso-hero-copy-weight: 700;
    --napso-hero-copy-leading: 1.4;

    /* LIENS — position et vitesse du soulignement animé */
    --napso-link-offset: 3px;
    --napso-link-duration: .3s;
}

/* 02 — Base des pages natives */
.napso-native{--napso-section-join-gap:var(--napso-hero-padding);font-family:var(--napso-font-body);color:var(--napso-text)}
.napso-native *,.napso-native *::before,.napso-native *::after{box-sizing:border-box}

/* 03 — Bandeau : hauteur d’écran, titre et texte en contour */
.napso-native__hero{position:relative;display:flex;align-items:flex-end;min-height:0;height:100vh;height:var(--napso-hero-start-height);overflow:hidden;padding:var(--napso-hero-padding) var(--napso-content-inset);padding-bottom:var(--napso-section-join-gap);background:var(--napso-brand)}
.napso-native__hero[data-napso-animation="complete"]{height:60vh;height:var(--napso-hero-height)}
.napso-native__title-mask{position:relative;z-index:1;max-width:100%;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em}
.napso-native__hero h1{position:relative;z-index:1;margin:0;font-family:var(--napso-font-heading);font-size:var(--napso-size-title);font-weight:var(--napso-weight-title);line-height:var(--napso-leading-title);color:var(--napso-on-brand)}
.napso-native__hero-outline{position:absolute;bottom:-30px;left:299px;white-space:nowrap;font-family:var(--napso-font-heading);font-size:var(--napso-size-outline);font-weight:var(--napso-weight-title);line-height:.9;color:transparent;-webkit-text-stroke:1px var(--napso-outline-color);pointer-events:none}

/* 04 — Contenu : deux colonnes, rubriques et paragraphes */
.napso-native__content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--napso-content-gap);width:100%;margin:0 auto;padding:var(--napso-content-padding) var(--napso-content-inset);padding-top:var(--napso-section-join-gap);font-size:var(--napso-size-body);font-weight:var(--napso-weight-body);line-height:var(--napso-leading-body);overflow-wrap:anywhere}
.napso-native__section{min-width:0}
/* Alternative réutilisable : bloc long occupant toutes les colonnes de la grille. */
.napso-native__section--wide{grid-column:1/-1}
.napso-native__section h2{margin:0 0 var(--napso-section-title-gap);font-family:var(--napso-font-heading);font-size:var(--napso-size-section);font-weight:var(--napso-weight-section);line-height:var(--napso-leading-section);color:var(--napso-heading)}
.napso-native__section p{margin:0 0 1em}
.napso-native__section p:last-child{margin-bottom:0}
.napso-native__intro{grid-column:1/-1;margin:0;font-size:var(--napso-size-body)}

/* 05 — Liens : même couleur, graisse supérieure et trait animé à 3 px */
.napso-native__section a{color:var(--napso-text);font-weight:var(--napso-weight-link);text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;padding-bottom:var(--napso-link-offset);background-position:left bottom;background-size:0% 1px;transition:background-size var(--napso-link-duration) ease,color .2s ease}
.napso-native__section a:hover,.napso-native__section a:focus-visible{color:var(--napso-text);background-size:100% 1px}
.napso-native__section a:focus-visible{outline:2px solid var(--napso-brand);outline-offset:3px}

/* 06 — Mentions légales : crédits, coordonnées et droits d’auteur */
.napso-native--legal .napso-native__section:last-child{grid-column:1/-1}
.napso-native--legal .napso-native__section:nth-child(-n+2) p{margin:0}
.napso-native--legal .napso-native__section:nth-child(2) p+p{margin-top:1em}
.napso-native--legal .napso-native__section:nth-child(-n+2) p:first-of-type br:nth-of-type(even){display:none}

/* 07 — Tablette : marges réduites */
@media(max-width:1024px){
.napso-native{--napso-content-inset:80px;--napso-hero-padding:40px}
.napso-native__hero{padding-block:var(--napso-hero-padding);padding-bottom:var(--napso-section-join-gap)}
.napso-native__content{padding:80px var(--napso-content-inset);padding-top:var(--napso-section-join-gap)}
}

/* 08 — Mobile : une colonne et titre centré */
@media(max-width:767px){
.napso-native{--napso-content-inset:30px;--napso-hero-padding:30px;--napso-size-title:clamp(2.1125rem,9.1vw,2.84375rem);--napso-size-outline:4.5rem}
.napso-native__hero{padding:var(--napso-hero-padding) var(--napso-content-inset);padding-bottom:var(--napso-section-join-gap);justify-content:center;text-align:center}
.napso-native__hero-outline{left:-4px;bottom:-20px}
.napso-native__content{grid-template-columns:1fr;gap:42px;padding:60px var(--napso-content-inset);padding-top:var(--napso-section-join-gap);line-height:1.5}
.napso-native--legal .napso-native__section:last-child{grid-column:auto}
}

/* 09 — Contact : template PHP dédié, composition originale */
.napso-contact{--napso-surface-text:var(--napso-text);--napso-surface-heading:var(--napso-heading);font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-body);line-height:var(--napso-leading-body);color:var(--napso-surface-text);background:var(--napso-contact-background)}
/* Alternative réutilisable : textes et sous-titres blancs sur fond foncé. */
.napso-surface--dark{--napso-surface-text:var(--napso-on-brand);--napso-surface-heading:var(--napso-on-brand);color:var(--napso-surface-text)}
.napso-contact *,.napso-contact *::before,.napso-contact *::after{box-sizing:border-box}
/* Contact — héros FAQ : motif, personnage et titre sur deux lignes */
.napso-contact__hero{position:relative;z-index:1;height:520px;overflow:hidden;background:var(--napso-contact-hero-background);display:flex;flex-direction:column}
.napso-contact__hero-inner{position:relative;width:100%;max-width:1140px;height:100%;margin:0 auto;padding:40px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.napso-contact__hero h1{position:relative;z-index:1;width:70%;margin:0 0 12px -326px;white-space:nowrap;font-family:var(--napso-font-heading);font-weight:var(--napso-weight-hero-title);line-height:var(--napso-leading-hero-title);color:var(--napso-on-brand)}
.napso-contact__hero-outline{display:inline-block;font-size:calc(var(--napso-size-hero-solid) * var(--napso-contact-title-ratio,var(--napso-hero-outline-ratio)));color:var(--napso-on-brand);-webkit-text-fill-color:var(--napso-contact-title-fill,transparent);-webkit-text-stroke:1.3px var(--napso-on-brand)}
.napso-contact__hero-solid{display:inline-block;font-size:var(--napso-size-hero-solid)}
.napso-contact__hero-copy{position:relative;z-index:3;margin:0 0 0 -60px;font-family:var(--napso-contact-font-copy);font-size:1.125rem;font-weight:600;line-height:1.25;color:var(--napso-on-brand)}
.napso-contact__hero-pattern{position:absolute;left:117px;bottom:-191px;width:100%;text-align:center;pointer-events:none}
.napso-contact__hero-pattern img{width:686px;height:900px;object-fit:cover;object-position:center;opacity:.65}
.napso-contact__hero-person,.napso-contact__hero-silhouette{position:absolute;z-index:2;right:-249px;top:20px;width:100%;text-align:center;pointer-events:none}
.napso-contact__hero-person img,.napso-contact__hero-silhouette canvas{width:640px;max-width:none;height:560px;object-fit:contain;object-position:center}
.napso-contact__layout{position:relative;z-index:2;display:grid;grid-template-columns:70% 30%;width:calc(100% - 2*var(--napso-contact-inset));max-width:1140px;margin:-55px auto 0;align-items:stretch}
.napso-contact__form-panel{margin-top:-105px;padding:70px 60px 40px;background:#fff;min-width:0}
.napso-contact__form-panel h2{margin:0;font-family:var(--napso-font-heading);font-size:var(--napso-size-section);font-weight:var(--napso-weight-section);line-height:var(--napso-leading-section);color:var(--napso-surface-heading)}
.napso-contact__form-panel hr{height:1px;border:0;background:#dadada;margin:15px 0}
.napso-contact__intro{margin:0;font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-body);line-height:var(--napso-leading-body);color:var(--napso-surface-text)}
.napso-contact #form_contact>.elementor-widget-container{padding:33px 0 0}
/* Contact — champs PHP : deux colonnes, objet et message en pleine largeur. */
.napso-contact .elementor-form-fields-wrapper{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}
.napso-contact .elementor-field-group{display:flex;flex-wrap:wrap;align-content:start;align-items:start;width:100%;max-width:100%;min-width:0;padding:0;margin:0}
.napso-contact .elementor-field-group-subject,.napso-contact .elementor-field-group-message,.napso-contact .elementor-field-type-submit{grid-column:1/-1}
.napso-contact .elementor-field-type-hidden{display:none}
.napso-contact .elementor-select-wrapper{width:100%;min-width:0}
.napso-contact #form_contact .elementor-field-label{width:100%;padding-bottom:9px;font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-field);line-height:var(--napso-leading-body);color:var(--napso-surface-text)}
.napso-contact .elementor-mark-required .elementor-field-label:after{content:" *";color:#ef5815}
.napso-contact #form_contact .elementor-field-textual{width:100%;min-height:54px;padding:13px 16px;font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-field);line-height:var(--napso-leading-body);color:var(--napso-surface-text);background:#f8fafb;border:1px solid #27364d26;border-radius:8px;transition:border-color .2s,box-shadow .2s,background .2s}
.napso-contact #form_contact .elementor-field-textual:focus{outline:0;border-color:var(--napso-brand);background:#fff;box-shadow:0 0 0 3px #06748b14}
.napso-contact #form_contact .elementor-field-textual::placeholder{font-weight:var(--napso-weight-body);color:var(--napso-text);opacity:.7}
.napso-contact #form_contact select.elementor-field-textual{padding-right:38px;text-overflow:ellipsis}
.napso-contact textarea.elementor-field-textual{height:160px;min-height:160px;resize:vertical}
.napso-contact .elementor-button[type=submit]{display:inline-flex;justify-content:center;width:auto;min-height:49px;padding:15px 25px;border:2px solid var(--napso-brand);border-radius:25px;background:transparent;color:var(--napso-brand);font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-field);line-height:1;cursor:pointer}
.napso-contact .elementor-button[type=submit]:hover{color:var(--napso-contact-ink);border-color:var(--napso-contact-ink)}
.napso-contact__aside{position:relative;min-width:0;z-index:2}
.napso-contact__details{padding:50px;background:var(--napso-contact-details-background);color:var(--napso-surface-text)}
.napso-contact__details h2{margin:0 0 var(--napso-section-title-gap);font-family:var(--napso-font-heading);font-size:var(--napso-size-section);font-weight:var(--napso-weight-section);line-height:var(--napso-leading-section);color:var(--napso-surface-heading)}
.napso-contact__details p{margin:0 0 20px;font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-body);line-height:var(--napso-leading-body);color:var(--napso-surface-text)}
.napso-contact__details strong{font-weight:var(--napso-weight-body)}
.napso-contact__details ul{padding:0;margin:0;list-style:none}
.napso-contact__details li{margin:0;padding:0}
.napso-contact__details a{display:flex;align-items:center;gap:6px;color:var(--napso-surface-text);font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-body);line-height:var(--napso-leading-body);text-decoration:none}
.napso-contact__details svg{flex:0 0 14px;width:14px;height:14px;fill:currentColor}
.napso-contact__map{width:100%;height:300px;position:relative;overflow:hidden}
.napso-contact__map .spinner{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:6px solid transparent;border-top-color:var(--napso-brand);border-right-color:var(--napso-brand);border-radius:50%;animation:napso-contact-spin .8s linear infinite}
@keyframes napso-contact-spin{to{transform:rotate(360deg)}}
.napso-contact__signup{position:relative;display:flex;align-items:center;justify-content:center;min-height:300px;padding:35px;text-align:center;color:#fff;overflow:hidden;text-decoration:none}
.napso-contact__signup-bg,.napso-contact__signup-overlay{position:absolute;inset:0;transition:transform 1.5s,background-color 1.5s}
.napso-contact__signup-bg{background:url("https://napso.piprod.com/wp-content/uploads/2022/08/push_inscrire.jpg") center/cover no-repeat}
.napso-contact__signup-overlay{background:#ffe50073;mix-blend-mode:multiply}
.napso-contact__signup:hover .napso-contact__signup-bg{transform:scale(1.1)}
.napso-contact__signup:hover .napso-contact__signup-overlay{background:#f6bd00e0}
.napso-contact__signup-copy{position:relative;display:block;color:#fff}
.napso-contact__signup-copy strong{display:block;margin-bottom:var(--napso-section-title-gap);font-family:var(--napso-font-heading);font-size:var(--napso-size-section);font-weight:var(--napso-weight-section);line-height:var(--napso-leading-section)}
.napso-contact__signup-copy>span{display:block;font-family:var(--napso-font-body);font-size:var(--napso-size-body);font-weight:var(--napso-weight-body);line-height:var(--napso-leading-body)}
/* 10 — Contact : adaptations tablette et mobile */
@media(max-width:1024px){
.napso-contact__hero-inner{justify-content:flex-end;padding:100px 0 200px}
.napso-contact__hero-copy{font-size:1.03125rem;line-height:1.2}
.napso-contact__hero-person,.napso-contact__hero-silhouette{top:71px}
.napso-contact__layout{width:100%;grid-template-columns:64% 36%}
.napso-contact__details{padding:30px}

}
@media(max-width:767px){
.napso-contact__hero{height:500px;padding:0 20px}
.napso-contact__hero-inner{padding:0 0 150px;align-items:flex-start}
.napso-contact__hero h1{position:relative;z-index:3;width:100%;margin-left:0}
.napso-contact__hero-outline{font-size:calc(var(--napso-size-hero-mobile) * var(--napso-contact-title-ratio,var(--napso-hero-outline-ratio)))}
.napso-contact__hero-solid{font-size:var(--napso-size-hero-mobile)}
.napso-contact__hero-copy{width:100%;margin-left:0;font-size:.875rem}
.napso-contact__hero-pattern{left:83px;bottom:-134px}
.napso-contact__hero-pattern img{height:1200px}
.napso-contact__hero-person,.napso-contact__hero-silhouette{right:0;top:auto;bottom:-80px;height:448px}
.napso-contact__hero-person img,.napso-contact__hero-silhouette canvas{width:100vw;max-width:128vw;height:448px;object-fit:contain}
.napso-contact{--napso-size-title:clamp(2.1125rem,9.1vw,2.84375rem);--napso-leading-body:1.5}
.napso-contact__layout{grid-template-columns:1fr;margin-top:-55px}
.napso-contact .elementor-form-fields-wrapper{grid-template-columns:minmax(0,1fr);gap:20px}
.napso-contact__form-panel{margin-top:0;margin-left:20px;margin-right:20px;padding:50px 20px 30px}

.napso-contact__details{padding:40px}

.napso-contact__signup{min-height:202px;padding:30px}

}

/* 11 — Carte OpenStreetMap : fond et repère identiques à LGMN */
.napso-contact__map{background:#dfe8ec}
.napso-contact__map-marker{width:20px;height:24px}
.napso-contact__map-pin{display:block;width:20px;height:20px;border-radius:50% 50% 50% 0;background:var(--napso-brand);transform:rotate(-45deg);position:relative}
.napso-contact__map-pin:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}
.napso-contact__map .maplibregl-ctrl-group{display:flex}
.napso-contact__map .maplibregl-ctrl-group button{background:#fff!important;color:#333!important}
.napso-contact__map .maplibregl-ctrl-group button+button{border-top:0;border-left:1px solid #ddd}
.napso-contact__map .maplibregl-ctrl-group button:hover{background:#e8e6de!important}
.napso-contact__map .maplibregl-ctrl-group button:focus-visible{outline:2px solid #777252;outline-offset:-2px}
.napso-contact__map .maplibregl-ctrl-attrib{font-size:10px}
.napso-contact__map-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;color:var(--napso-contact-ink);text-align:center}
@media(max-width:767px){.napso-contact__map .maplibregl-canvas-container,.napso-contact__map .maplibregl-canvas{touch-action:pan-y}}


/* Contact — silhouette temporaire de révélation et mots du sous-titre */
.napso-contact__hero-silhouette{visibility:hidden}
.napso-contact__hero-word{display:inline-block}

/* Contact — anti-FOUC : état initial avant le JS, secours visible après 4 s sans JS */
.napso-contact__hero:not([data-napso-animation]) h1>span,.napso-contact__hero:not([data-napso-animation]) .napso-contact__hero-person,.napso-contact__hero:not([data-napso-animation]) .napso-contact__hero-pattern,.napso-contact__hero:not([data-napso-animation]) .napso-contact__hero-copy{opacity:0;animation:napso-contact-visible .01s linear 4s forwards}
@keyframes napso-contact-visible{to{opacity:1}}

/* Contact — Lenis : règles recommandées, limitées à cette page */
html[data-napso-scroll="lenis"].lenis,html[data-napso-scroll="lenis"].lenis body{height:auto}
html[data-napso-scroll="lenis"].lenis.lenis-smooth{scroll-behavior:auto!important}
html[data-napso-scroll="lenis"].lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
html[data-napso-scroll="lenis"].lenis.lenis-stopped{overflow:hidden}

/* 15 — ANNUAIRE PHP · bandeau et composition */
.napso-directory{--directory-pink:#f28199;--directory-background:#ffeef7;--directory-purple:#b68bd0;--directory-accent:#c84479;background:var(--directory-background)}
.napso-directory__hero{height:450px;position:relative;overflow:hidden;background:var(--directory-pink);display:flex;align-items:flex-end;padding:0 max(24px,calc((100vw - 566px)/2)) 80px}
.napso-directory__hero::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:42px;background:linear-gradient(to bottom,#ffeef74a 0 27px,#ffeef796 27px 42px);z-index:5;pointer-events:none}
.napso-directory__hero h1{position:relative;z-index:3;margin:0;white-space:nowrap;font:800 2.8125rem/1.3 var(--napso-font-heading);color:#fff}
.napso-directory__hero h1>span{display:block;overflow:hidden}
.napso-directory__hero strong{font-size:1.3em;font-weight:inherit;color:transparent;-webkit-text-stroke:1px #fff}
.napso-directory__visual{position:absolute;bottom:0;left:calc(50% - 80px);width:800px;height:407px;z-index:2;pointer-events:none}
.napso-directory__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.napso-directory__pattern{position:absolute;left:calc(50% + 22px);bottom:-192px;width:686px;height:900px;object-fit:cover;pointer-events:none}
body.page-template-template-praticiens #header_napso_int-{background:#f2819999}
/* 16 — ANNUAIRE PHP · filtres géographiques */
.napso-directory__section{padding:30px 30px 40px}
.napso-directory__section>h2{text-align:center;margin:0 0 25px;font:800 1.4rem/1.4 var(--napso-font-heading);color:var(--directory-accent)}
.napso-directory__filters{padding-bottom:40px;text-align:center;box-shadow:0 6px 8px -2px #00000029}
.napso-directory__all{display:inline-block;font-size:.85rem;color:#895aa6;margin-bottom:15px;text-decoration:none}
.napso-directory__roots{display:flex;justify-content:center;gap:clamp(25px,8vw,146px)}
.napso-directory__root{display:flex;flex-direction:column;align-items:center;gap:15px;color:var(--directory-purple);font:700 1.25rem/1.4 var(--napso-font-body);text-decoration:none}
.napso-directory__root img{width:80px;height:80px;object-fit:contain}
.napso-directory__filter-group:first-child img{width:45px}
.napso-directory__root:hover,.napso-directory__root.is-active,.napso-directory__all.is-active{color:var(--directory-accent)}
.napso-directory__children{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin:25px auto 0;max-width:1100px}
.napso-directory__children a{padding:8px 14px;border-radius:30px;background:var(--directory-purple);color:white;font-weight:600;font-size:.875rem;text-decoration:none}
.napso-directory__children a:hover,.napso-directory__children a.is-active{background:#c20a54}
.napso-directory a:focus-visible{outline:2px solid var(--napso-brand);outline-offset:5px}
/* 17 — ANNUAIRE PHP · cartes classiques et professionnelles */
.napso-directory__results{max-width:1400px;width:93%;margin:35px auto 70px;scroll-margin-top:150px}
.napso-directory__count{color:#895aa6;font-size:.875rem;margin:0 0 25px;text-align:center}
.napso-directory__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}
.napso-directory__card{position:relative;display:flex;align-items:center;gap:9px;min-height:160px;padding:10px 15px 10px 20px;background:white;border-radius:3px;box-shadow:0 0 10px -3px #0000004d;transition:box-shadow .2s}
.napso-directory__card:hover{box-shadow:0 0 10px #3a006421}
.napso-directory__avatar{flex:0 0 22%;text-align:center}
.napso-directory__avatar img{width:60px;height:60px;object-fit:contain;opacity:.2;transition:opacity .3s,transform .3s}
.napso-directory__card:hover .napso-directory__avatar img{opacity:.4;transform:scale(1.05)}
.napso-directory__pin{position:absolute;left:12px;top:-16px;color:var(--directory-purple);font-size:25px;line-height:1}
.napso-directory__pin::after{content:"";position:absolute;left:4px;bottom:-4px;border:8px solid transparent;border-top-color:var(--directory-purple);border-bottom:0}
.napso-directory__info{min-width:0;flex:1}
.napso-directory__location{display:flex;align-items:center;flex-wrap:wrap;gap:9px;color:var(--directory-purple);font:800 .8125rem/1.3 var(--napso-font-body);text-transform:uppercase}
.napso-directory__departement,.napso-directory__arrondissement{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;border:1px solid #9062ad;border-radius:30px;font-size:.625rem;font-weight:500}
.napso-directory__pays{border:1px solid currentColor;border-radius:30px;padding:5px 9px;font-size:.625rem;font-weight:500}
.napso-directory__card h3{margin:14px 0 12px;color:#555;font:700 1.0625rem/1.3 var(--napso-font-body);letter-spacing:-.6px}
.napso-directory__mail{font:400 .9375rem/1.4 var(--napso-font-body);color:#9062ad;text-decoration:none;display:inline-block}
.napso-directory__mail:hover{color:#000}
.napso-directory__card.is-pro{background-color:#055565;background-image:linear-gradient(120deg,#017e90,#055565);color:#fff}
.napso-directory__card.is-pro h3,.napso-directory__phone{color:#fff}
.napso-directory__card.is-pro .napso-directory__location{color:#ffffff82}
.napso-directory__card.is-pro .napso-directory__avatar img{opacity:1;object-fit:cover;border-radius:50%}
.napso-directory__badge{position:absolute;top:0;right:0;left:auto;width:50.7px;height:50.7px;padding:0;margin:0;background:rgba(255,255,255,.3);clip-path:polygon(0 0,100% 0,100% 100%);border-radius:0 3px 0 0;z-index:2;pointer-events:none}
.napso-directory__badge>span{position:absolute;top:33.333%;left:66.667%;right:auto;width:max-content;text-align:center;transform:translate(-50%,-50%) rotate(45deg);color:#fff;font:700 .8125rem/1 var(--napso-font-body);letter-spacing:.03em}
.napso-directory__qr{position:absolute;right:8px;bottom:8px;width:21px;height:21px}
.napso-directory__profile{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;border-radius:3px;background:#055565d9;color:#fff;opacity:0;transition:opacity .25s;text-decoration:none;font-weight:600}
.napso-directory__profile:hover,.napso-directory__profile:focus-visible{opacity:1}
.napso-directory__phone{position:relative;z-index:2;text-decoration:none;font-size:1rem}
.napso-directory__reviews{margin:0 0 8px;font-size:.875rem}
.napso-directory__pagination{display:flex;justify-content:center;gap:20px;margin-top:30px}
.napso-directory__pagination a{padding:12px 24px;border:1px solid #9062ad;border-radius:30px;color:#895aa6;text-decoration:none;font-weight:600}
.napso-directory__status{text-align:center;font-size:.875rem;color:#895aa6}
/* 18 — ANNUAIRE PHP · tablette et mobile */
@media(max-width:1024px){.napso-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.napso-directory__hero{padding-left:8%}.napso-directory__hero h1{font-size:2.4rem}.napso-directory__visual{left:calc(50% - 110px)}}
@media(max-width:767px){.napso-directory__hero{height:430px;align-items:flex-start;justify-content:center;padding:125px 20px 0}.napso-directory__hero h1{font-size:1.75rem;text-align:center}.napso-directory__hero h1>span:first-child{font-size:2.3125rem}.napso-directory__visual{height:321px;width:630px;left:calc(50% - 141px);bottom:-10px}.napso-directory__pattern{left:calc(50% - 120px);bottom:-180px}.napso-directory__section{padding:20px 0 30px}.napso-directory__section>h2{font-size:1.1rem;padding:0 20px;margin-bottom:15px}.napso-directory__roots{gap:8px;flex-wrap:wrap;padding:0 12px}.napso-directory__root{font-size:.875rem;background:var(--directory-purple);color:#fff;padding:9px 13px;border-radius:30px}.napso-directory__root img{display:none}.napso-directory__root.is-active{background:#c20a54;color:#fff}.napso-directory__filters{padding-bottom:25px}.napso-directory__children{padding:0 15px;gap:7px}.napso-directory__results{width:90%;margin-bottom:40px}.napso-directory__grid{grid-template-columns:1fr;gap:35px}.napso-directory__card{min-height:160px}.napso-directory__avatar{flex-basis:20%}}
/* 19 — ANNUAIRE PHP · couleurs protégées des anciens styles globaux */
.napso-directory .napso-directory__root{color:var(--directory-purple)!important}
.napso-directory .napso-directory__root.is-active,.napso-directory .napso-directory__root:hover{color:var(--directory-accent)!important}
.napso-directory .napso-directory__children a{color:#fff!important}
.napso-directory .napso-directory__mail{color:#9062ad!important}
.napso-directory .napso-directory__phone,.napso-directory .napso-directory__profile{color:#fff!important}
.napso-directory__root img{filter:brightness(0) saturate(100%) invert(65%) sepia(17%) saturate(675%) hue-rotate(230deg) brightness(91%) contrast(87%)}
.napso-directory__silhouette{opacity:0}
@media(max-width:767px){.napso-directory .napso-directory__root{color:#fff!important}}

/* 20 — ANNUAIRE V2 · titre, sous-titre et largeur des cartes */
.napso-directory__hero{padding-left:8%;padding-right:8%;padding-bottom:65px}
.napso-directory__hero-content{position:relative;z-index:3;width:60%}
.napso-directory__hero h1{font-size:clamp(1.75rem,3.2vw,2.8125rem)}
.napso-directory__hero h1>.napso-directory__title-ending{font-size:.62em;line-height:1.6;margin-top:8px}
.napso-directory__hero-copy{max-width:520px;margin:18px 0 0;color:#fff;font:400 1rem/1.5 var(--napso-font-body)}
.napso-directory__hero-word{display:inline-block}
.napso-directory__results{width:65.1%;max-width:980px}
@media(max-width:1024px){.napso-directory__results{width:90%}.napso-directory__hero-content{width:75%}}
@media(max-width:767px){.napso-directory__hero{padding:120px 20px 50px;min-height:470px;height:auto}.napso-directory__hero-content{width:100%}.napso-directory__hero h1{font-size:1.6rem;white-space:normal}.napso-directory__hero h1>span:first-child{font-size:1.8rem}.napso-directory__hero h1>.napso-directory__title-ending{font-size:.7em}.napso-directory__hero-copy{font-size:.875rem;text-align:center;margin:15px auto 0;max-width:300px}.napso-directory__results{width:90%}}

/* 21 — ANNUAIRE V2 · disponibilité datée sous le titre */
.napso-directory__section>h2{margin-bottom:10px}
.napso-directory__availability{text-align:center;margin:0 20px 25px;color:#895aa6;font:400 var(--napso-size-body)/var(--napso-leading-body) var(--napso-font-body)}
@media(max-width:767px){.napso-directory__section>h2{margin-bottom:8px}.napso-directory__availability{font-size:.8125rem;margin-bottom:20px}}

/* 22 — ANNUAIRE V2 · titre court et disponibilité dans le style rouge */
.napso-directory__section>h2{margin-bottom:25px}
.napso-directory__hero h2.napso-directory__hero-copy{color:#fff;font:400 1rem/1.5 var(--napso-font-body);text-transform:none;letter-spacing:normal}
@media(max-width:767px){.napso-directory__hero h2.napso-directory__hero-copy{font-size:.875rem}.napso-directory__section>h2{margin-bottom:15px}}

/* 23 — ANNUAIRE V2 · proportions Contact, chaise devant le titre */
.napso-directory__hero{padding-left:14%;padding-right:8%}
.napso-directory__hero-content{z-index:auto;width:80%}
.napso-directory__hero h1{z-index:1;font-size:var(--napso-size-hero-solid);font-weight:var(--napso-weight-hero-title);line-height:var(--napso-leading-hero-title)}
.napso-directory__hero strong{-webkit-text-stroke:1.3px var(--napso-on-brand)}
.napso-directory__hero-copy{position:relative;z-index:3}
.napso-directory__results{width:78.12%;max-width:1176px}
/* 24 — ANNUAIRE V2 · SVG d’origine, copiés dans assets/icons */
.napso-directory__pin{width:19px;height:25px;top:-15px;left:10px;background:var(--directory-purple);mask:url(assets/icons/localisation.svg) center/contain no-repeat;-webkit-mask:url(assets/icons/localisation.svg) center/contain no-repeat;transition:transform .5s}
.napso-directory__pin::after{display:none}
.napso-directory__card:hover .napso-directory__pin{transform:translateY(-7px) scale(1.1)}
.napso-directory__icon{display:inline-block;vertical-align:middle;background:currentColor;flex:none}
.napso-directory__icon--phone{width:24px;height:24px;mask:url(assets/icons/telephone-cercle.svg) center/contain no-repeat;-webkit-mask:url(assets/icons/telephone-cercle.svg) center/contain no-repeat;margin-right:5px}
.napso-directory__icon--mail{width:20px;height:15px;mask:url(assets/icons/enveloppe.svg) center/contain no-repeat;-webkit-mask:url(assets/icons/enveloppe.svg) center/contain no-repeat;margin-right:10px}
@media(max-width:1024px){.napso-directory__hero{padding-left:8%}.napso-directory__hero h1{font-size:clamp(2.5rem,6vw,4.6875rem)}.napso-directory__results{width:90%}}
@media(max-width:767px){.napso-directory__hero{padding:120px 20px 50px}.napso-directory__hero-content{width:100%}.napso-directory__hero h1{z-index:3;font-size:var(--napso-size-hero-mobile)}.napso-directory__hero h1>span:first-child{font-size:inherit}.napso-directory__results{width:90%}}

/* 25 — ANNUAIRE V2 · titre rapproché de la chaise, sous-titres +40 % */
.napso-directory__hero h1{margin-left:clamp(12px,2vw,32px)}
.napso-directory__hero h2.napso-directory__hero-copy{font-size:1.4rem;max-width:620px;z-index:3}
.napso-directory__section>h2{font-size:1.96rem}
@media(max-width:767px){.napso-directory__hero h1{margin-left:0}.napso-directory__hero h2.napso-directory__hero-copy{font-size:1.225rem;max-width:100%}.napso-directory__section>h2{font-size:1.54rem}}

/* 26 — SOUS-TITRES DE HÉROS · typographie commune Contact et Praticiens V2 */
.napso-contact__hero .napso-contact__hero-copy,.napso-directory__hero h2.napso-directory__hero-copy{font-family:var(--napso-hero-copy-font);font-size:var(--napso-hero-copy-size);font-weight:var(--napso-hero-copy-weight);line-height:var(--napso-hero-copy-leading);color:var(--napso-on-brand)}
/* Disponibilité : retrouver la taille du titre rouge avant l’agrandissement. */
.napso-directory__section>h2{font-size:1.4rem}
@media(max-width:767px){.napso-contact__hero .napso-contact__hero-copy,.napso-directory__hero h2.napso-directory__hero-copy{font-size:var(--napso-hero-copy-size-mobile)}.napso-directory__section>h2{font-size:1.1rem}}

/* 27 — ANNUAIRE V2 · voile flouté et chargement à trois barres de l’ancienne page */
.napso-directory{overflow-anchor:none}
.napso-directory__loading{position:fixed;inset:0;z-index:400;display:flex;align-items:center;justify-content:center;background:#ffdbe3b3;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s,visibility .18s}
.napso-directory.is-filter-loading .napso-directory__loading{opacity:1;visibility:visible;pointer-events:auto}
.napso-directory__loader{width:50.4px;height:44.8px;--c:linear-gradient(#da3551 0 0);background:var(--c) 0% 50%,var(--c) 50% 50%,var(--c) 100% 50%;background-size:10.1px 100%;background-repeat:no-repeat;animation:napso-directory-loading-bars 1s infinite linear}
@keyframes napso-directory-loading-bars{33%{background-size:10.1px 10%,10.1px 100%,10.1px 100%}50%{background-size:10.1px 100%,10.1px 10%,10.1px 100%}66%{background-size:10.1px 100%,10.1px 100%,10.1px 10%}}

/* 28 — ANNUAIRE V2 · filtres sticky, hauteur du header Elementor */
.napso-directory__sticky-marker{height:0;pointer-events:none}
.napso-directory__filters{position:sticky;top:var(--napso-directory-sticky-top,100px);z-index:50;background:var(--directory-background)}
.napso-directory__root{transition:font-size .25s,gap .25s}
.napso-directory__root img{transition:width .25s,height .25s}
.napso-directory__filters.is-stuck{height:var(--napso-directory-header-height,100px);padding:8px 12px;display:flex;flex-direction:column;justify-content:center}
.napso-directory__filters.is-stuck .napso-directory__roots{align-items:center}
.napso-directory__filters.is-stuck .napso-directory__root{font-size:.875rem;gap:4px}
.napso-directory__filters.is-stuck .napso-directory__root img{width:35px;height:35px}
.napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])) .napso-directory__root img{width:22px;height:22px}
.napso-directory__filters.is-stuck .napso-directory__children{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;margin:5px auto 0;padding:2px 5px;scrollbar-width:thin}
.napso-directory__filters.is-stuck .napso-directory__children a{flex:none;white-space:nowrap;font-size:.75rem;padding:4px 10px}
/* Dernière ligne du titre décalée seule : le sous-titre reste à sa place. */
@media(min-width:768px){.napso-directory__hero h1>span:nth-child(2){margin-left:clamp(14px,2.4vw,36px)}}
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__root{font-size:.75rem;padding:6px 9px}.napso-directory__filters.is-stuck .napso-directory__roots{gap:5px;flex-wrap:nowrap;padding:0}.napso-directory__filters.is-stuck .napso-directory__children{width:100%}}
/* Le thème bloque horizontalement le body : clip préserve le sticky sans créer de conteneur de scroll. */
body.page-template-template-praticiens{overflow-x:clip!important;overflow-y:visible!important}

/* 29 — ANNUAIRE V2 · sous-titre Gordita centré et disponibilité en Napso */
.napso-directory__hero{padding-bottom:125px}
.napso-directory__hero-content{position:static}
.napso-directory__hero h2.napso-directory__hero-copy{position:absolute;left:50%;bottom:65px;transform:translateX(-50%);width:calc(100% - 40px);max-width:none;margin:0;text-align:center}
.napso-directory__section>h2{font-family:var(--napso-font-body);font-weight:700}
@media(max-width:767px){.napso-directory__hero{padding-bottom:125px}.napso-directory__hero h2.napso-directory__hero-copy{bottom:55px}}


/* 30 — ANNUAIRE V2 · icônes SVG dans la couleur exacte de leur texte */
.napso-directory__root{position:relative}
.napso-directory__root img{visibility:hidden}
.napso-directory__root::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:80px;height:80px;background:currentColor;mask:var(--napso-filter-icon) center/contain no-repeat;-webkit-mask:var(--napso-filter-icon) center/contain no-repeat;pointer-events:none;transition:background .2s,width .25s,height .25s}
.napso-directory__root[data-zone="pro"]{--napso-filter-icon:url(assets/icons/logo_napso_therapie_reduce.svg)}
.napso-directory__root[data-zone="regions"]{--napso-filter-icon:url(assets/icons/carte_france_napso_regions.svg)}
.napso-directory__root[data-zone="paris"]{--napso-filter-icon:url(assets/icons/carte_france_napso_paris-1.svg)}
.napso-directory__root[data-zone="etranger"]{--napso-filter-icon:url(assets/icons/ico_monde.svg)}
.napso-directory__root[data-zone="pro"]::before{width:45px}
.napso-directory__filters.is-stuck .napso-directory__root::before{width:35px;height:35px}
.napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])) .napso-directory__root::before{width:22px;height:22px}
@media(max-width:767px){.napso-directory__root::before{display:none}}

/* 31 — ANNUAIRE V2 · petit bouton de tri, aléatoire par défaut */
.napso-directory__toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}
.napso-directory__toolbar .napso-directory__count{margin:0;text-align:left}
.napso-directory .napso-directory__sort{display:inline-flex;align-items:center;padding:7px 12px;border:1px solid #b68bd066;border-radius:20px;color:#895aa6!important;background:#ffffff80;font:600 .75rem/1.3 var(--napso-font-body);text-decoration:none;white-space:nowrap;transition:background .2s,color .2s}
.napso-directory .napso-directory__sort:hover{color:var(--directory-accent)!important;background:#fff}
.napso-directory.is-flip-loading .napso-directory__sort{opacity:.6;pointer-events:none}
@media(max-width:767px){.napso-directory__toolbar{gap:8px;flex-wrap:wrap}.napso-directory .napso-directory__sort{font-size:.6875rem}}
/* Flip : contenir les cartes absolues et maintenir le footer sous la grille. */
.napso-directory__grid{position:relative}

/* 32 — ANNUAIRE V2 · masquage local, toutes les fiches présentes dès le départ */
.napso-directory__card[hidden],.napso-directory__children[hidden]{display:none}
.napso-directory__results{min-height:220px}
/* Mobile : sous-filtres horizontaux lisibles dans les 80 px du header. */
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__roots{flex:0 0 auto}.napso-directory__filters.is-stuck .napso-directory__children:not([hidden]){flex:0 0 30px;height:30px;align-items:center;scrollbar-width:none}.napso-directory__filters.is-stuck .napso-directory__children::-webkit-scrollbar{display:none}}

/* ANNUAIRE V2 — Réserve verticale généreuse : le footer reste éloigné des premières cartes. */
.napso-directory__grid{min-height:0;align-content:start}

/* ANNUAIRE V2 — Région sélectionnée : repère blanc sans bordure. */
.napso-directory__toolbar .napso-directory__count{display:inline-flex;align-items:center;padding:7px 12px;border:0;border-radius:20px;background:#fff;line-height:1.3}

/* ANNUAIRE V2 — Cartes classiques légèrement éclaircies ; cartes Pro inchangées. */
.napso-directory__card:not(.is-pro){background:#fff6fb;border:0;box-shadow:none}
.napso-directory__card:not(.is-pro):hover{box-shadow:0 8px 22px -9px #563e6826}

/* ANNUAIRE V2 — Carte Pro, avant les fiches ; commandes et marqueurs bleu Napso. */
.napso-directory__pro-map{margin:0 0 35px;position:relative;z-index:1}
.napso-directory__pro-map[hidden],.napso-directory__map-canvas[hidden]{display:none}
.napso-directory__map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#895aa6;font-size:.875rem}
.napso-directory__map-toggle{border:0;border-radius:20px;background:#fff;color:#895aa6;padding:8px 14px;font:600 .75rem/1.3 var(--napso-font-body);cursor:pointer}
.napso-directory__map-canvas{height:380px;border-radius:8px;background:#f0eef4;z-index:0}
.napso-directory__map-pin span{display:block;width:26px;height:26px;background:var(--napso-brand);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 2px 7px #0003}
.napso-directory__map-canvas .leaflet-popup-content{font-family:var(--napso-font-body);font-size:.875rem;line-height:1.4}
.napso-directory__map-canvas .leaflet-popup-content p{margin:6px 0}
.napso-directory__map-status:empty{display:none}
@media(max-width:767px){.napso-directory__map-canvas{height:280px}.napso-directory__map-toolbar{flex-wrap:wrap}}

/* ANNUAIRE V2 — Largeur totale des filtres et carte ; ascenseur réservé aux fiches Pro. */
.napso-directory__filters{width:var(--napso-directory-width,100%);max-width:none;margin-left:calc(50% - var(--napso-directory-width,100%)/2);box-sizing:border-box}
.napso-directory.is-pro-view .napso-directory__pro-map{width:var(--napso-directory-width,100%);margin-left:calc(50% - var(--napso-directory-width,100%)/2)}
.napso-directory__pro-map .napso-directory__map-toolbar,.napso-directory__map-note{padding-right:24px;padding-left:24px}
.napso-directory__map-note{font-size:.75rem;color:#895aa6;margin:8px 0 0}
.napso-directory.is-pro-view .napso-directory__grid{height:clamp(180px,calc(100dvh - 650px),440px);min-height:0!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;padding:18px 10px 16px;scrollbar-width:auto;scrollbar-color:#b68bd0 #f5e4ee}
.napso-directory.is-pro-view .napso-directory__pro-map{margin-bottom:12px}
.napso-directory__pro-marker{padding:0;border:0;background:transparent;cursor:pointer}
.napso-directory__pro-marker .napso-contact__map-pin{transition:scale .2s,background .2s,box-shadow .2s}
.napso-directory__pro-marker.is-highlighted .napso-contact__map-pin{scale:1.5;background:var(--directory-accent);box-shadow:0 0 0 7px #c8447926}
.napso-directory__map-canvas .maplibregl-ctrl-group{display:flex}
.napso-directory__map-canvas .maplibregl-ctrl-group button+button{border-top:0;border-left:1px solid #ddd}
.napso-directory__map-canvas .maplibregl-popup-content{font-family:var(--napso-font-body);font-size:.875rem}
@media(max-width:767px){.napso-directory.is-pro-view .napso-directory__grid{height:clamp(180px,calc(100dvh - 510px),360px)}.napso-directory__pro-map .napso-directory__map-toolbar,.napso-directory__map-note{padding-right:15px;padding-left:15px}}

/* ANNUAIRE PRO — Carte et première rangée visibles ensemble dans la hauteur disponible. */
.napso-directory.is-pro-view .napso-directory__toolbar{margin-bottom:12px}
.napso-directory.is-pro-view .napso-directory__map-canvas{height:clamp(160px,26dvh,320px);border-radius:0}
.napso-directory.is-pro-view .napso-directory__grid{height:clamp(180px,calc(100dvh - 530px),440px)}

/* ANNUAIRE PRO — Carte directement sous les filtres, sans commandes intermédiaires. */
.napso-directory.is-pro-view .napso-directory__toolbar,.napso-directory.is-pro-view .napso-directory__map-toolbar,.napso-directory.is-pro-view .napso-directory__map-note,.napso-directory.is-pro-view .napso-directory__status{display:none}
.napso-directory.is-pro-view .napso-directory__results{margin-top:0}
.napso-directory.is-pro-view .napso-directory__map-canvas{height:clamp(220px,35dvh,420px)}
.napso-directory__pro-marker{width:26px!important;height:34px!important;min-width:0!important;min-height:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;line-height:1!important}
.napso-directory__pro-marker .napso-contact__map-pin{display:block;width:24px;height:24px;border-radius:50% 50% 50% 0;background:var(--napso-brand);transform:rotate(-45deg);position:relative}
.napso-directory__pro-marker.is-highlighted .napso-contact__map-pin{background:var(--directory-accent)}

/* ANNUAIRE V2 — Filtre Pro : badge rond violet, réduit avec les filtres sticky. */
.napso-directory__root[data-zone="pro"]::before{content:"PRO";display:flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;mask:none;-webkit-mask:none;background:var(--directory-purple);color:#fff;font:700 1.25rem/1 var(--napso-font-heading)}
.napso-directory__root[data-zone="pro"]:hover::before,.napso-directory__root[data-zone="pro"].is-active::before{background:var(--directory-accent)}
.napso-directory__filters.is-stuck .napso-directory__root[data-zone="pro"]::before{width:35px;height:35px;font-size:.625rem}
.napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])) .napso-directory__root[data-zone="pro"]::before{width:22px;height:22px;font-size:.4375rem}
@media(max-width:767px){.napso-directory__root[data-zone="pro"]::before{display:none}}

/* ANNUAIRE V2 — Badge PRO strictement circulaire dans chaque état. */
.napso-directory__filters .napso-directory__root[data-zone="pro"]::before{width:80px!important;height:80px!important;aspect-ratio:1;box-sizing:border-box;padding:0;border:0;border-radius:50%;font-size:1.25rem}
.napso-directory__filters.is-stuck .napso-directory__root[data-zone="pro"]::before{width:35px!important;height:35px!important;font-size:.5625rem}
.napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])) .napso-directory__root[data-zone="pro"]::before{width:22px!important;height:22px!important;font-size:.375rem}

/* ANNUAIRE V2 — Seconde ligne du titre rapprochée de 15 %, taille légèrement réduite. */
.napso-directory__hero h1>span:nth-child(2){margin-top:-.195em}
.napso-directory__hero h1>span:nth-child(2) strong{font-size:1em}

/* ANNUAIRE V2 — Seconde ligne : même taille, décalage de 15 % de sa largeur vers la droite. */
.napso-directory__hero h1>span:nth-child(2){position:relative;left:15%;width:max-content;margin-left:0}

/* ANNUAIRE V2 — Au clic : remontée fluide et passage immédiat aux filtres compacts. */
.napso-directory__filters.is-docking{overflow:hidden}
.napso-directory__root::before{transition:width .4s,height .4s,font-size .4s,background .2s}

/* ANNUAIRE PRO — Teinte rose violet et carte révélée seulement après le cadrage final. */
.napso-directory__pro-map .napso-directory__map-canvas{position:relative;background:var(--directory-background);overflow:hidden}
.napso-directory__pro-map:not([data-ready="true"]) .maplibregl-canvas-container,.napso-directory__pro-map:not([data-ready="true"]) .maplibregl-control-container{visibility:hidden}
.napso-directory__pro-map .maplibregl-canvas-container::after{content:"";position:absolute;inset:0;background:#dec7e4;opacity:.25;mix-blend-mode:multiply;pointer-events:none;z-index:1}

/* ANNUAIRE PRO — Carte sticky sous les filtres ; défilement naturel des fiches et réserve verticale. */
.napso-directory.is-pro-view .napso-directory__results{min-height:calc(100dvh - var(--napso-directory-sticky-top,0px) - var(--napso-directory-dock-height,130px));overflow:visible}
.napso-directory.is-pro-view .napso-directory__pro-map{position:sticky;top:calc(var(--napso-directory-sticky-top,100px) + var(--napso-directory-header-height,100px));z-index:40;background:var(--directory-background)}
.napso-directory.is-pro-view .napso-directory__grid{height:auto;max-height:none;min-height:0;overflow:visible;overscroll-behavior:auto;scrollbar-gutter:auto;padding:18px 10px 16px}

/* ANNUAIRE V2 — Retrait du header uniquement sur cette page ; filtres au sommet. */
body.page-template-template-praticiens #header_napso_int-{transition:transform .45s cubic-bezier(.22,1,.36,1);will-change:transform}
body.page-template-template-praticiens.napso-directory-header-away #header_napso_int-{transform:translateY(calc(-100% - 40px));pointer-events:none}

/* ANNUAIRE V2 — Avatars classiques réduits de 20 %, sans modifier les photos Pro. */
.napso-directory__card:not(.is-pro) .napso-directory__avatar img{width:48px;height:48px}

/* ANNUAIRE V2 — Contact des cartes classiques : fond gris discret au survol. */
.napso-directory__card:not(.is-pro) .napso-directory__mail{padding:6px 10px;border-radius:8px;background:transparent;transition:background .2s,color .2s}
.napso-directory__card:not(.is-pro) .napso-directory__mail:hover,.napso-directory__card:not(.is-pro) .napso-directory__mail:focus-visible{background:#f2f1f3;color:#9062ad}

/* ANNUAIRE V2 — Intitulé à gauche du bandeau compact, compteur dynamique. */
.napso-directory__sticky-title{display:none;margin:0;color:#d5aac1;font:700 .875rem/1.35 var(--napso-font-body);text-align:left}
.napso-directory__filters.is-stuck .napso-directory__sticky-title{display:block;position:absolute;left:24px;top:50%;transform:translateY(-50%);width:220px}
.napso-directory__filters.is-stuck .napso-directory__sticky-title span{font-weight:400}
@media(min-width:1025px){.napso-directory__filters.is-stuck{padding-left:255px}.napso-directory__filters.is-stuck .napso-directory__roots{width:100%;justify-content:center}}
@media(max-width:1024px){.napso-directory__filters.is-stuck .napso-directory__sticky-title{left:12px;width:155px;font-size:.6875rem}.napso-directory__filters.is-stuck{padding-left:175px}}
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__sticky-title{left:10px;width:100px;font-size:.5625rem;line-height:1.3}.napso-directory__filters.is-stuck{padding-left:118px;padding-right:6px}.napso-directory__filters.is-stuck .napso-directory__roots{gap:3px}.napso-directory__filters.is-stuck .napso-directory__root{font-size:.625rem;padding:6px 5px}}

/* ANNUAIRE V2 — Bandeau compact centré ; titre gauche hors du flux des icônes. */
.napso-directory__filters.is-stuck{padding-left:12px;padding-right:12px;overflow:visible}
.napso-directory__filters.is-stuck .napso-directory__sticky-title{left:24px;right:auto;top:50%;transform:translateY(-50%);margin:0!important;text-indent:0;max-width:220px;z-index:2}
.napso-directory__filters.is-stuck .napso-directory__roots{width:auto;max-width:calc(100% - 480px);margin-left:auto;margin-right:auto;justify-content:center}
.napso-directory__filters.is-docking{overflow:visible}
@media(max-width:1024px){.napso-directory__filters.is-stuck .napso-directory__sticky-title{left:15px;width:140px}.napso-directory__filters.is-stuck .napso-directory__roots{max-width:calc(100% - 320px)}}
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__sticky-title{left:10px;width:95px}.napso-directory__filters.is-stuck .napso-directory__roots{max-width:calc(100% - 115px);margin-left:110px;margin-right:0}}

/* ANNUAIRE V2 — Survols doux, conservés avec la préférence de réduction des animations. */
.napso-directory .napso-directory__card{transition:box-shadow .4s cubic-bezier(.22,1,.36,1),background-color .35s ease!important}
.napso-directory .napso-directory__mail,.napso-directory .napso-directory__sort,.napso-directory .napso-directory__children a{transition:background-color .35s ease,color .35s ease,box-shadow .35s ease!important}
.napso-directory .napso-directory__root{transition:color .35s ease,font-size .4s cubic-bezier(.22,1,.36,1),gap .4s ease!important}
.napso-directory .napso-directory__root::before{transition:background-color .35s ease,width .4s cubic-bezier(.22,1,.36,1),height .4s cubic-bezier(.22,1,.36,1),font-size .4s ease!important}
.napso-directory .napso-directory__avatar img{transition:opacity .4s ease,transform .45s cubic-bezier(.22,1,.36,1)!important}
.napso-directory .napso-directory__profile{transition:opacity .4s ease!important}
.napso-directory .napso-directory__pin{transition:transform .45s cubic-bezier(.22,1,.36,1)!important}
.napso-directory .napso-directory__pro-marker .napso-contact__map-pin{transition:scale .4s cubic-bezier(.22,1,.36,1),background-color .35s ease,box-shadow .4s ease!important}

/* ANNUAIRE V2 — Chaise et motif rapprochés ensemble de la fin du titre. */
.napso-directory__visual{left:calc(50% - 160px)}
.napso-directory__pattern{left:calc(50% - 58px)}
@media(max-width:1024px){.napso-directory__visual{left:calc(50% - 170px)}.napso-directory__pattern{left:calc(50% - 38px)}}
@media(max-width:767px){.napso-directory__visual{left:calc(50% - 173px)}.napso-directory__pattern{left:calc(50% - 152px)}}

/* ANNUAIRE PRO — Espace constant sous la carte sticky et commande dans les filtres. */
.napso-directory.is-pro-view .napso-directory__pro-map{padding-bottom:30px;margin-bottom:0}
.napso-directory.is-pro-view .napso-directory__pro-map.is-collapsed{padding-bottom:0}
.napso-directory__map-reveal{overflow:hidden}
.napso-directory__map-reveal[hidden]{display:none}
.napso-directory__filters>.napso-directory__map-toggle{display:none;position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:3;transition:background-color .35s ease,color .35s ease!important}
.napso-directory.is-pro-view .napso-directory__filters>.napso-directory__map-toggle{display:block}
.napso-directory__filters>.napso-directory__map-toggle:hover{background:#ead8e6;color:#895aa6}
@media(max-width:767px){.napso-directory.is-pro-view .napso-directory__filters{padding-bottom:30px}.napso-directory__filters>.napso-directory__map-toggle{right:10px;top:auto;bottom:4px;transform:none;font-size:.5625rem;padding:4px 8px}.napso-directory.is-pro-view .napso-directory__pro-map{padding-bottom:22px}}

/* ANNUAIRE PRO — Clic sur un pin : fiche sélectionnée rouge et repère actif. */
.napso-directory .napso-directory__card.is-pro.is-map-selected{background:#c84479;box-shadow:0 8px 24px -10px #9e27565c}
.napso-directory .napso-directory__card.is-map-selected .napso-directory__profile{background:#b53568d9}
.napso-directory__pro-marker.is-selected .napso-contact__map-pin{background:#c84479;box-shadow:0 0 0 5px #c8447926}

/* ANNUAIRE PRO — Commande de carte identique au bouton de tri. */
.napso-directory .napso-directory__filters>.napso-directory__map-toggle{align-items:center;justify-content:center;padding:7px 12px;border:1px solid #b68bd066;border-radius:20px;color:#895aa6;background:#ffffff80;font:600 .75rem/1.3 var(--napso-font-body);white-space:nowrap;box-shadow:none;text-transform:none;letter-spacing:normal}
.napso-directory .napso-directory__filters>.napso-directory__map-toggle:hover{color:var(--directory-accent);background:#fff}
@media(max-width:767px){.napso-directory .napso-directory__filters>.napso-directory__map-toggle{font-size:.6875rem}}

/* ANNUAIRE PRO — Couleurs natives du fond de carte, sans filtre superposé. */
.napso-directory__pro-map .maplibregl-canvas-container::after{display:none}

/* ANNUAIRE PRO — Commande près de Monde, alignée sur les libellés, avec pin. */
.napso-directory .napso-directory__roots>.napso-directory__map-toggle{display:none;position:static;transform:none;flex:none;align-self:flex-end;align-items:center;justify-content:center;gap:7px;margin:0 0 0 16px;padding:7px 12px;border:1px solid #b68bd066;border-radius:20px;color:#895aa6;background:#ffffff80;font:600 .75rem/1.3 var(--napso-font-body);white-space:nowrap;box-shadow:none;transition:background-color .35s ease,color .35s ease!important}
.napso-directory.is-pro-view .napso-directory__roots>.napso-directory__map-toggle{display:inline-flex}
.napso-directory .napso-directory__roots>.napso-directory__map-toggle::before{content:"";width:13px;height:17px;flex:none;background:currentColor;mask:url(assets/icons/localisation.svg) center/contain no-repeat;-webkit-mask:url(assets/icons/localisation.svg) center/contain no-repeat}
.napso-directory .napso-directory__roots>.napso-directory__map-toggle:hover{background:#fff;color:var(--directory-accent)}
.napso-directory__filters.is-stuck .napso-directory__roots>.napso-directory__map-toggle{margin-left:12px}
@media(max-width:767px){.napso-directory.is-pro-view .napso-directory__filters{padding-bottom:30px}.napso-directory .napso-directory__roots>.napso-directory__map-toggle{position:absolute;right:10px;bottom:4px;margin:0;font-size:.6875rem;padding:4px 8px}}
/* Bouton rapproché du dernier filtre, centré sur sa ligne de texte. */
@media(min-width:768px){.napso-directory .napso-directory__roots>.napso-directory__map-toggle,.napso-directory__filters.is-stuck .napso-directory__roots>.napso-directory__map-toggle{margin-left:calc(18px - clamp(25px,8vw,146px));transform:translateY(7px)}}

/* ANNUAIRE V2 — Les quatre catégories restent centrées indépendamment du bouton de carte. */
@media(min-width:768px){.napso-directory .napso-directory__roots,.napso-directory .napso-directory__filters.is-stuck .napso-directory__roots{width:max-content;max-width:none;gap:clamp(24px,6vw,100px);margin-left:auto;margin-right:auto;justify-content:center}.napso-directory .napso-directory__filters>.napso-directory__map-toggle{position:absolute;transform:translateY(-50%);margin:0;display:none;align-items:center;gap:7px}.napso-directory.is-pro-view .napso-directory__filters>.napso-directory__map-toggle{display:inline-flex}}
.napso-directory .napso-directory__filters>.napso-directory__map-toggle::before{content:"";display:inline-block;width:13px;height:17px;flex:none;background:currentColor;mask:url(assets/icons/localisation.svg) center/contain no-repeat;-webkit-mask:url(assets/icons/localisation.svg) center/contain no-repeat}

/* ANNUAIRE V2 — Tri près de Monde dans le bandeau, sans décentrer les catégories. */
.napso-directory .napso-directory__filters>.napso-directory__sort{position:absolute;transform:translateY(-50%);z-index:3;margin:0}
.napso-directory.is-pro-view .napso-directory__filters>.napso-directory__sort{display:none}
@media(max-width:767px){.napso-directory__filters{padding-bottom:30px}.napso-directory .napso-directory__filters>.napso-directory__sort{transform:none;font-size:.6875rem;padding:4px 8px}}

/* ANNUAIRE V2 — Petit badge de version après le nom de l’annuaire. */
.napso-directory__version{display:inline-block;vertical-align:middle;margin-left:.25em;padding:.22em .55em;border-radius:5px;background:#c8447914;color:var(--directory-accent);font:700 .55em/1.2 var(--napso-font-body);letter-spacing:.04em}
.napso-directory__filters.is-stuck .napso-directory__sticky-title .napso-directory__version{font-weight:700;color:inherit}

/* ANNUAIRE V2 — Badge v.2 en exposant, taille conservée. */
.napso-directory__version{position:relative;top:-.55em;vertical-align:baseline}

/* ANNUAIRE V2 — Bandeau compact plus haut de 30 %, pastilles limitées aux cartes. */
.napso-directory__filters.is-stuck{height:calc(var(--napso-directory-header-height,100px) * var(--napso-directory-filter-height-ratio,1.3))}
.napso-directory__filters .napso-directory__children,.napso-directory__filters.is-stuck .napso-directory__children{width:78.12%;max-width:1176px;box-sizing:border-box;margin-left:auto;margin-right:auto}
.napso-directory.is-pro-view .napso-directory__pro-map{top:calc(var(--napso-directory-sticky-top,100px) + var(--napso-directory-filter-height,130px))}
@media(max-width:1024px){.napso-directory__filters .napso-directory__children,.napso-directory__filters.is-stuck .napso-directory__children{width:90%}}

.napso-directory__filters .napso-directory__children,.napso-directory__filters.is-stuck .napso-directory__children{width:var(--napso-directory-results-width,78.12%)!important}

/* ANNUAIRE V2 — Pastilles des départements centrées ; débordement défilant si nécessaire. */
.napso-directory__filters .napso-directory__children[data-parent="paris"],.napso-directory__filters.is-stuck .napso-directory__children[data-parent="paris"]{justify-content:center;justify-content:safe center}

/* ANNUAIRE V2 — Pastilles Monde centrées, y compris en mode sticky. */
.napso-directory__filters .napso-directory__children[data-parent="etranger"],.napso-directory__filters.is-stuck .napso-directory__children[data-parent="etranger"]{justify-content:center;justify-content:safe center}

/* ANNUAIRE V2 — Pastilles abaissées, hauteur du bandeau compact conservée. */
.napso-directory__filters.is-stuck .napso-directory__children{position:relative;top:10px}
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__children{top:6px}}

/* ANNUAIRE V2 — Titre compact dans la même couleur que le titre normal. */
.napso-directory__filters.is-stuck .napso-directory__sticky-title{color:var(--directory-accent)}

/* ANNUAIRE V2 — Icône Pro fournie dans assets/icons, teintée comme les autres filtres. */
.napso-directory__filters .napso-directory__root[data-zone="pro"]::before{content:"";border-radius:0;background:var(--directory-purple);mask:url(assets/icons/pro-pins.svg) center/contain no-repeat;-webkit-mask:url(assets/icons/pro-pins.svg) center/contain no-repeat}
.napso-directory__filters .napso-directory__root[data-zone="pro"]:hover::before,.napso-directory__filters .napso-directory__root[data-zone="pro"].is-active::before{background:var(--directory-accent)}

/* ANNUAIRE V2 — Sous-filtres visibles uniquement dans le bandeau compact. */
.napso-directory__filters:not(.is-stuck) .napso-directory__children{display:none}

/* ANNUAIRE V2 — Version proche du mot, rouge et légèrement inclinée. */
.napso-directory__version,.napso-directory__filters.is-stuck .napso-directory__sticky-title .napso-directory__version{margin-left:.08em;background:var(--directory-accent);color:#fff;transform:rotate(-7deg)}

/* ANNUAIRE PRO — Fond cartographique fondu dans le rose ; pins et commandes opaques. */
.napso-directory__pro-map .napso-directory__map-canvas{isolation:isolate;background:var(--directory-background)}
.napso-directory__pro-map .maplibregl-canvas{opacity:.88;mix-blend-mode:multiply}

/* ANNUAIRE V2 — Wrapper élargi de 30 %, quatre fiches par rangée sur ordinateur. */
@media(min-width:1025px){.napso-directory__results{width:min(101.556%,calc(100% - 32px));max-width:1528.8px}.napso-directory__grid{grid-template-columns:repeat(4,minmax(0,1fr))}.napso-directory__filters .napso-directory__children,.napso-directory__filters.is-stuck .napso-directory__children{max-width:1528.8px}}

/* ANNUAIRE PRO — Ancrage sur le bord inférieur mesuré, sans estimation de hauteur. */
.napso-directory.is-pro-view .napso-directory__pro-map{top:var(--napso-directory-map-top,calc(var(--napso-directory-sticky-top,0px) + var(--napso-directory-filter-height,130px)))}

/* ANNUAIRE PRO — Nom visible à côté de chaque pin sur une étiquette blanche. */
.napso-directory .napso-directory__pro-marker{overflow:visible!important}
.napso-directory__map-name{position:absolute;left:45px;top:2px;display:block;padding:4px 7px;border-radius:3px;background:var(--directory-accent);color:#fff;font:800 .790625rem/1.2 var(--napso-font-body);white-space:nowrap;box-shadow:0 1px 5px #563e681a;transition:color .3s ease,box-shadow .3s ease!important}
.napso-directory__pro-marker.is-selected .napso-directory__map-name,.napso-directory__pro-marker.is-highlighted .napso-directory__map-name{color:#fff;box-shadow:0 2px 8px #563e6826}

/* ANNUAIRE V2 — Noms en majuscules ; étiquettes des pins uniquement au survol ou au focus. */
.napso-directory .napso-directory__card h3,.napso-directory .napso-directory__map-name{text-transform:none}
.napso-directory .napso-directory__map-name{opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-8px);transition:opacity .3s ease,transform .4s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s!important}
.napso-directory .napso-directory__pro-marker:is(:hover,:focus-visible,.is-highlighted,.is-selected) .napso-directory__map-name{opacity:1;visibility:visible;transform:translateX(0);color:#fff;box-shadow:0 2px 8px #563e6826;transition-delay:.25s,.25s,0s!important}
.napso-directory .napso-directory__pro-marker:hover,.napso-directory .napso-directory__pro-marker:focus-visible{z-index:20!important}

/* ANNUAIRE PRO — Nom conservé sur le pin sélectionné après le clic. */
.napso-directory .napso-directory__pro-marker.is-selected .napso-directory__map-name{opacity:1;visibility:visible}
.napso-directory .napso-directory__pro-marker.is-selected{z-index:15!important}

/* ANNUAIRE V2 — Filtres et carte solidaires dans un seul bloc sticky, à tous les zooms. */
.napso-directory__dock{position:sticky;top:var(--napso-directory-sticky-top,0px);z-index:50;width:var(--napso-directory-width,100%);margin-left:calc(50% - var(--napso-directory-width,100%)/2);background:var(--directory-background)}
.napso-directory__dock .napso-directory__filters{position:relative;top:0;width:100%;margin-left:0}
.napso-directory.is-pro-view .napso-directory__dock .napso-directory__pro-map{position:relative;top:0!important;width:100%;margin:0;left:0}
@media(min-width:1920px){.napso-directory__dock .napso-directory__filters.is-stuck{height:calc(var(--napso-directory-header-height,100px) * var(--napso-directory-filter-height-ratio,1.3))}.napso-directory.is-pro-view .napso-directory__map-canvas{height:clamp(260px,35dvh,420px)}}

/* ANNUAIRE V2 — Régions centrées à tous les zooms ; retour à la ligne dans la largeur des cartes. */
.napso-directory__filters .napso-directory__children[data-parent="regions"],.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"]{justify-content:center;flex-wrap:wrap;overflow-x:visible;gap:7px;margin-left:auto;margin-right:auto}
.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"] a{flex:none}
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"]{flex-wrap:nowrap;justify-content:safe center;overflow-x:auto}}

/* ANNUAIRE V2 — Pays : initiale majuscule, reste en minuscules, sans modifier les données. */
.napso-directory__children[data-parent="etranger"] a{display:block;text-transform:lowercase}
.napso-directory__children[data-parent="etranger"] a::first-letter{text-transform:uppercase}

/* ANNUAIRE V2 — Régions sur une seule ligne ; libellés longs tronqués avec une ellipse. */
.napso-directory__filters .napso-directory__children[data-parent="regions"],.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"]{flex-wrap:nowrap;justify-content:center;overflow:hidden;gap:6px}
.napso-directory__filters .napso-directory__children[data-parent="regions"] a,.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"] a{display:block;flex:0 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:767px){.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"]{overflow-x:auto;justify-content:safe center}.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"] a{flex:none;max-width:130px}}

/* ANNUAIRE V2 — Régions : texte réduit de 0,5 pt et marges horizontales resserrées. */
.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"] a{font-size:calc(.75rem - .5pt);padding-left:8px;padding-right:8px}

/* ANNUAIRE V2 — Pastille active déployée, les voisines cèdent de la place sans retour à la ligne. */
.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"] a{transition:flex-shrink .35s ease,padding .35s ease,background-color .35s ease,color .35s ease!important}
.napso-directory__filters.is-stuck .napso-directory__children[data-parent="regions"] a.is-expanded{flex-shrink:0;max-width:none;overflow:visible}

/* ANNUAIRE V2 — Largeurs intermédiaires : trois colonnes, avatars jamais déformés. */
@media(min-width:900px) and (max-width:1099px){.napso-directory__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){.napso-directory__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.napso-directory__avatar img{max-width:none;flex-shrink:0;aspect-ratio:1}
.napso-directory__card.is-pro .napso-directory__avatar img{width:60px;height:60px}
.napso-directory__card:not(.is-pro) .napso-directory__avatar img{width:48px;height:48px}

/* ANNUAIRE PRO — Département : fond blanc à 20 %, sans bordure. */
.napso-directory__card.is-pro .napso-directory__departement{border:0;background:rgba(255,255,255,.2)}

/* ANNUAIRE V2 — Compteur intégré au titre, suppression du doublon au-dessus des fiches. */
.napso-directory__toolbar{display:none}

/* ANNUAIRE V2 — Compteur normal stable au survol, sur fond blanc arrondi. */
.napso-directory #directory-intro .napso-directory__availability-text{display:inline-block;box-sizing:border-box;min-width:29ch;width:29ch;padding:.25em .65em;border-radius:9px;background:#fff;text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}
@media(max-width:767px){.napso-directory #directory-intro .napso-directory__availability-text{max-width:100%;margin-top:.35em}}

/* ANNUAIRE V2 — Fond uniquement sur le nombre, largeur compacte de trois chiffres. */
.napso-directory #directory-intro .napso-directory__availability-text{display:inline;min-width:0;width:auto;padding:0;border-radius:0;background:transparent;text-align:inherit}
.napso-directory #directory-intro .napso-directory__availability-number{display:inline-block;box-sizing:content-box;min-width:3ch;padding:.15em .3em;border-radius:7px;background:#fff;text-align:center;font-variant-numeric:tabular-nums}

/* ANNUAIRE V2 — Première rangée dégagée sous le bandeau compact pendant le Flip. */
.napso-directory__grid{padding-top:32px;box-sizing:border-box}
.napso-directory.is-pro-view .napso-directory__grid{padding-top:32px}

/* ANNUAIRE V2 — Curseur main explicite sur tous les contrôles interactifs. */
.napso-directory .napso-directory__root,.napso-directory .napso-directory__children a,.napso-directory .napso-directory__sort,.napso-directory .napso-directory__map-toggle,.napso-directory .napso-directory__pro-marker,.napso-directory .maplibregl-ctrl-group button{cursor:pointer!important}
.napso-directory .napso-directory__filters a:hover,.napso-directory .napso-directory__filters a:hover *,.napso-directory .napso-directory__filters button:hover,.napso-directory .napso-directory__filters button:hover *{cursor:pointer!important}

/* ANNUAIRE V2 — Rétablissement du survol des fiches et des contacts. */
.napso-directory .napso-directory__card.is-pro:hover .napso-directory__profile,.napso-directory .napso-directory__card.is-pro.is-hovered .napso-directory__profile{opacity:1;visibility:visible}
.napso-directory .napso-directory__card:not(.is-pro) .napso-directory__mail:hover,.napso-directory .napso-directory__card:not(.is-pro) .napso-directory__mail.is-hovered{background:#f2f1f3!important;color:#9062ad!important}
.napso-directory .napso-directory__filters a,.napso-directory .napso-directory__filters button,.napso-directory .napso-directory__mail,.napso-directory .napso-directory__profile{pointer-events:auto;cursor:pointer!important}

/* ANNUAIRE V2 — Tri masqué dans Monde, Île-de-France et Pro. */
.napso-directory .napso-directory__sort[hidden]{display:none!important}

/* ANNUAIRE PRO — Zoom translucide au repos, aligné sur la grille et placé en bas de carte. */
.napso-directory__pro-map .maplibregl-ctrl-top-left{top:auto;bottom:16px;left:var(--napso-directory-map-controls-left,24px)}
.napso-directory__pro-map .maplibregl-ctrl-top-left .maplibregl-ctrl{margin:0}
.napso-directory__pro-map .maplibregl-ctrl-group{opacity:.45;transition:opacity .3s ease!important}
.napso-directory__pro-map .maplibregl-ctrl-group:hover,.napso-directory__pro-map .maplibregl-ctrl-group:focus-within{opacity:1}

/* ANNUAIRE V2 — Grille sans padding horizontal, alignée au titre et aux commandes de carte. */
.napso-directory__results,.napso-directory__grid,.napso-directory.is-pro-view .napso-directory__grid{padding-left:0;padding-right:0}

/* Hauteur compacte du bandeau Pro et transition entre catégories, uniquement V2. */
.napso-directory[data-zone="pro"]{--napso-directory-filter-height-ratio:.975}
.napso-directory__dock .napso-directory__filters.is-stuck{transition:height .4s cubic-bezier(.22,1,.36,1)!important}

/* Alignement des icônes des cartes normales V2 avec le prénom et l’avatar. */
.napso-directory__card:not(.is-pro) .napso-directory__mail{margin-left:-10px}
.napso-directory__card:not(.is-pro) .napso-directory__pin{left:calc(11% + 6.65px)}
@media(max-width:767px){.napso-directory__card:not(.is-pro) .napso-directory__pin{left:calc(10% + 7px)}}

/* Cartes Pro V2 : proportions des icônes, avis, département et badge. */
.napso-directory__card.is-pro .napso-directory__phone{display:inline-flex;align-items:center;justify-content:flex-start;gap:5px;padding:0;margin-left:0;text-indent:0;white-space:nowrap;flex-wrap:nowrap}
.napso-directory__card.is-pro .napso-directory__icon--phone{width:14.4px;height:14.4px;flex:0 0 14.4px;margin-right:0}
.napso-directory__card.is-pro .napso-directory__reviews{display:flex;align-items:center;gap:5px}
.napso-directory__card.is-pro .napso-directory__stars{display:inline-block;font-size:1.5925rem;line-height:1;white-space:nowrap;transform:translateY(-.12em)}
.napso-directory__card.is-pro .napso-directory__departement{background:rgba(255,255,255,.65);color:#055565}
.napso-directory__card.is-pro.is-map-selected .napso-directory__departement{color:#c84479}
.napso-directory__card.is-pro .napso-directory__badge{width:58.305px;height:58.305px}

/* Icônes des quatre filtres : +20 % en mode compact V2. */
.napso-directory .napso-directory__filters.is-stuck .napso-directory__root::before{width:42px!important;height:42px!important}
.napso-directory .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])) .napso-directory__root::before{width:26.4px!important;height:26.4px!important}

/* Titre compact V2 : position verticale fixe dans toutes les catégories. */
.napso-directory .napso-directory__filters.is-stuck .napso-directory__sticky-title{top:24px!important;transform:none!important}
@media(max-width:767px){.napso-directory .napso-directory__filters.is-stuck .napso-directory__sticky-title{top:12px!important}}

/* Zoom de la carte V2 : blanc uniquement, sans état rouge ni effet actif. */
.napso-directory__pro-map .maplibregl-ctrl-group{background:#fff!important}
.napso-directory .napso-directory__pro-map .maplibregl-ctrl-group button,.napso-directory .napso-directory__pro-map .maplibregl-ctrl-group button:is(:hover,:focus,:focus-visible,:active){background-color:#fff!important;color:#333!important;box-shadow:none!important;outline:none!important;transform:none!important}

/* Pins V2 : même état rouge au survol, au focus et depuis la carte Pro. */
.napso-directory .napso-directory__pro-marker:is(:hover,:focus-visible,.is-highlighted,.is-selected) .napso-contact__map-pin{scale:1.5;background:var(--directory-accent);box-shadow:0 0 0 7px #c8447926}

/* Cartes Pro V2 : halo rouge partagé avec le survol et le focus du pin. */
.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected){background:#c84479;box-shadow:0 8px 24px -10px #9e27565c}

.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected) .napso-directory__profile{background:#b53568d9}
.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected) .napso-directory__departement{color:#c84479}

/* Compteur V2 : chiffres superposés pour un fondu croisé sans intervalle vide. */
.napso-directory__availability-number{position:relative}
.napso-directory__availability-digits{display:inline-block}
.napso-directory__availability-outgoing{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}

/* Survol des cartes Pro V2 : avatar et lien seuls, fond opaque et trait depuis le centre. */
.napso-directory .napso-directory__card.is-pro .napso-directory__profile{z-index:3;background:#c84479!important;padding-left:calc(22% + 29px);padding-right:15px;pointer-events:none}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span{position:relative;display:inline-block;pointer-events:auto;cursor:pointer;padding-bottom:7px}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#fff;transform:scaleX(0);transform-origin:center;transition:transform .35s cubic-bezier(.22,1,.36,1)!important}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span:hover::after,.napso-directory .napso-directory__card.is-pro .napso-directory__profile:focus-visible>span::after{transform:scaleX(1)}
.napso-directory .napso-directory__card.is-pro:is(:hover,:focus-within,.is-hovered) .napso-directory__avatar{position:relative;z-index:4;pointer-events:none}
.napso-directory .napso-directory__card.is-pro:is(:hover,:focus-within,.is-hovered) .napso-directory__profile{opacity:1;visibility:visible}
.napso-directory .napso-directory__card.is-pro:is(:hover,:focus-within,.is-hovered) .napso-directory__avatar img{opacity:1}
@media(max-width:767px){.napso-directory .napso-directory__card.is-pro .napso-directory__profile{padding-left:calc(20% + 29px)}}

/* Survol Pro V2 : badge conservé et lien légèrement décalé à gauche. */
.napso-directory .napso-directory__card.is-pro .napso-directory__badge{z-index:5}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span{left:-12px}

/* Avatar Pro V2 : couche permanente au-dessus du fond animé, sans clignotement. */
.napso-directory .napso-directory__card.is-pro .napso-directory__avatar{position:relative;z-index:4;pointer-events:none}


/* Finition des avatars Pro V2 : opacité douce et contour blanc discret. */
.napso-directory .napso-directory__card.is-pro .napso-directory__avatar img{opacity:.7;border:4px solid rgba(255,255,255,.3);box-sizing:border-box;transform:none;transition:opacity .35s ease!important}
.napso-directory .napso-directory__card.is-pro:is(:hover,:focus-within,.is-hovered) .napso-directory__avatar img{opacity:1}

/* Cartes V2 : texte non sélectionnable, interactions des liens conservées. */
.napso-directory .napso-directory__card,.napso-directory .napso-directory__card *{-webkit-user-select:none;user-select:none}

/* Lien Pro V2 : même axe gauche que le nom, le téléphone et le département. */
.napso-directory .napso-directory__card.is-pro .napso-directory__profile{justify-content:flex-start;padding-left:calc(22% + 21.3px)}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span{left:0}
@media(max-width:767px){.napso-directory .napso-directory__card.is-pro .napso-directory__profile{padding-left:calc(20% + 22px)}}

/* Lien des cartes Pro V2 : centrage horizontal dans toute la carte. */
.napso-directory .napso-directory__card.is-pro .napso-directory__profile{justify-content:center;padding-left:0;padding-right:0}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span{left:0}

/* Pastilles V2 : survol violet foncé, sélection rouge conservée. */
.napso-directory .napso-directory__children a:is(:hover,:focus-visible,.is-hovered):not(.is-active){background:#9569b0;color:#fff}
.napso-directory .napso-directory__children a.is-active{background:#c20a54;color:#fff}

/* PAGES NATIVES — Ascenseur personnalisé : curseur fin, glissement et rebond ; ascenseur natif sur mobile. */
html.pb-custom-scrollbar{scrollbar-width:none}
html.pb-custom-scrollbar::-webkit-scrollbar{display:none;width:0;height:0}
.pb-site-scrollbar{position:fixed;top:12px;right:0;z-index:2147483646;width:20px;height:calc(100dvh - 24px);background:transparent;pointer-events:none;isolation:isolate}
.pb-site-scrollbar[hidden]{display:none!important}
.pb-site-scrollbar-thumb{position:absolute;top:0;left:7px;width:6px;height:44px;border-radius:999px;background:rgba(10,36,84,.56);cursor:grab;pointer-events:auto;touch-action:none;user-select:none;transform:translate3d(0,var(--pb-scrollbar-top,0),0);scale:1;transition:left .18s cubic-bezier(.22,1,.36,1),width .18s cubic-bezier(.22,1,.36,1),background-color .18s ease;will-change:transform}
.pb-site-scrollbar-thumb:hover{left:6px;width:8px;background:rgba(10,36,84,.82)}
.pb-site-scrollbar.is-dragging .pb-site-scrollbar-thumb{background:#0056b8;cursor:grabbing}
@keyframes pb-scroll-hit{0%,100%{scale:1}38%{scale:1.5 .52}68%{scale:.94 1.1}}
.pb-site-scrollbar-thumb.pb-hit-top{transform-origin:50% 0;animation:pb-scroll-hit .24s cubic-bezier(.2,.9,.3,1)}
.pb-site-scrollbar-thumb.pb-hit-bottom{transform-origin:50% 100%;animation:pb-scroll-hit .24s cubic-bezier(.2,.9,.3,1)}
@media(prefers-reduced-motion:reduce){.pb-site-scrollbar-thumb.pb-hit-top,.pb-site-scrollbar-thumb.pb-hit-bottom{animation:none}}
@media(max-width:768px),(pointer:coarse){.pb-site-scrollbar{display:none!important}html.pb-custom-scrollbar{scrollbar-width:auto}html.pb-custom-scrollbar::-webkit-scrollbar{display:initial;width:auto;height:auto}}

/* Grands filtres V2 : icône, texte et flèche violets au survol ; sélection rouge. */
.napso-directory .napso-directory__filters .napso-directory__root:is(:hover,:focus-visible,.is-hovered):not(.is-active){color:#9569b0!important}
.napso-directory .napso-directory__filters .napso-directory__root.is-active{color:var(--directory-accent)!important}
.napso-directory .napso-directory__filters .napso-directory__root::before{background:currentColor!important}
.napso-directory .napso-directory__filters .napso-directory__root>span{color:inherit}

/* Icône Pro V2 : hérite de la couleur du filtre comme les autres icônes. */
.napso-directory .napso-directory__filters .napso-directory__root[data-zone="pro"]::before{color:inherit}

/* Pastilles V2 : zone centrale réservée, avec 24 px de dégagement des commandes latérales. */
@media(min-width:768px){.napso-directory .napso-directory__filters.is-stuck .napso-directory__children{width:var(--napso-pill-safe-width,var(--napso-directory-results-width));max-width:var(--napso-pill-safe-width,var(--napso-directory-results-width));margin-left:auto;margin-right:auto;overflow-x:hidden}.napso-directory .napso-directory__filters.is-stuck .napso-directory__children a{min-width:0;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.napso-directory .napso-directory__filters.is-stuck .napso-directory__children a.is-expanded{max-width:100%;overflow:hidden}}

/* Favoris V2 : cœur discret en haut à gauche, bouton de sélection et confirmation accessible. */
.napso-directory .napso-directory__favorite{position:absolute;top:5px;left:5px;z-index:6;display:flex;align-items:center;justify-content:center;width:30px;height:30px;padding:5px;border:0;border-radius:50%;background:transparent;color:#9569b0;cursor:pointer;box-shadow:none;transition:background-color .25s ease,color .25s ease!important}
.napso-directory .napso-directory__favorite svg{width:17px;height:17px;fill:transparent;stroke:currentColor;stroke-width:1.6;pointer-events:none}
.napso-directory .napso-directory__favorite[aria-pressed="true"] svg{fill:currentColor}
.napso-directory .napso-directory__card.is-pro .napso-directory__favorite{color:#fff}
.napso-directory .napso-directory__favorite:hover{background:#9569b015;color:#895aa6}
.napso-directory .napso-directory__card.is-pro .napso-directory__favorite:hover{background:#ffffff20;color:#fff}
.napso-directory .napso-directory__favorite:focus-visible{outline:2px solid currentColor;outline-offset:1px}
.napso-directory .napso-directory__favorites-filter{position:absolute;top:12px;right:max(16px,calc((100% - var(--napso-directory-results-width,100%))/2));z-index:3;padding:7px 12px;border:1px solid #b68bd066;border-radius:20px;background:#ffffff80;color:#895aa6!important;font:600 .75rem/1.3 var(--napso-font-body);white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color .25s ease!important}
.napso-directory .napso-directory__favorites-filter:hover{background:#fff}
.napso-directory .napso-directory__favorites-filter.is-active{background:#c84479;color:#fff!important}
.napso-directory__favorites-filter[hidden],.napso-directory__favorites-empty[hidden]{display:none!important}
.napso-directory__favorites-status{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:100;padding:9px 16px;border-radius:20px;background:#055565;color:#fff;font:500 .8125rem/1.3 var(--napso-font-body);pointer-events:none;margin:0}
.napso-directory__favorites-status:empty{display:none}
.napso-directory__favorites-empty{padding:31.2px 0 24px;text-align:center;color:#895aa6;font-family:var(--napso-font-body)}
@media(pointer:coarse){.napso-directory .napso-directory__favorite{width:44px;height:44px;top:0;left:0}}

/* Favoris V2 : infobulle personnalisée au survol et au focus du cœur. */
.napso-directory .napso-directory__favorite::after{content:attr(data-tooltip);position:absolute;left:calc(100% + 7px);top:50%;padding:6px 10px;border-radius:7px;background:#fff;color:#895aa6;box-shadow:0 4px 16px #563e6826;font:600 .6875rem/1.3 var(--napso-font-body);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-4px,-50%);transition:opacity .2s ease,transform .25s ease,visibility 0s linear .2s!important}
.napso-directory .napso-directory__favorite:is(:hover,:focus-visible)::after{opacity:1;visibility:visible;transform:translate(0,-50%);transition-delay:.15s,.15s,0s!important}
.napso-directory .napso-directory__card.is-pro .napso-directory__favorite::after{background:#fff;color:#055565}

/* Favoris V2 : pastille en tête des catégories, contour de 3 px et fond transparent. */
.napso-directory .napso-directory__filters .napso-directory__children a.napso-directory__favorites-pill{flex:0 0 auto;border:3px solid #b68bd0;background:transparent!important;color:#9569b0!important;padding:5px 10px;border-radius:30px;box-sizing:border-box;font-weight:700}
.napso-directory .napso-directory__filters .napso-directory__children a.napso-directory__favorites-pill:is(:hover,:focus-visible){border-color:#9569b0}
.napso-directory .napso-directory__filters .napso-directory__children a.napso-directory__favorites-pill.is-active{border-color:#c20a54;color:#c20a54!important}
.napso-directory__favorites-pill[hidden]{display:none!important}

/* Pastille Favoris V2 : même hauteur que ses voisines, cœur compact et libellé sans transformation. */
.napso-directory .napso-directory__filters.is-stuck .napso-directory__children{align-items:center}
.napso-directory .napso-directory__filters .napso-directory__children a.napso-directory__favorites-pill{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:var(--napso-fav-pill-height,26px);padding:0 7px;line-height:1;text-transform:none;vertical-align:middle}
.napso-directory__favorites-pill svg{width:12px;height:12px;flex:none;fill:none;stroke:currentColor;stroke-width:3;overflow:visible}
.napso-directory__favorites-pill span{text-transform:none}

/* Finitions V2 : favoris, avatars, transition Pro et typographie des cartes. */
.napso-directory .napso-directory__filters .napso-directory__children a.napso-directory__favorites-pill{border-width:2.5px}
.napso-directory__favorites-pill svg{stroke-width:2.5;stroke-opacity:1;fill:currentColor;fill-opacity:.5}
.napso-directory .napso-directory__card.is-pro .napso-directory__favorite svg{opacity:.7}
.napso-directory .napso-directory__favorite[aria-pressed="true"]{background:#9569b015}
.napso-directory .napso-directory__card.is-pro .napso-directory__favorite[aria-pressed="true"]{background:#ffffff20}
.napso-directory .napso-directory__card.is-pro .napso-directory__departement{background:rgba(255,255,255,.52)}
.napso-directory .napso-directory__card.is-pro .napso-directory__avatar img{transition:opacity .35s ease,transform .4s cubic-bezier(.22,1,.36,1)!important}
.napso-directory .napso-directory__card.is-pro:is(:hover,:focus-within,.is-hovered) .napso-directory__avatar img{transform:scale(1.15)}
.napso-directory .napso-directory__card.is-pro{transition:box-shadow .4s cubic-bezier(.22,1,.36,1),background-color .7s ease!important}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile{transition:opacity .7s ease!important}
.napso-directory .napso-directory__card h3{letter-spacing:normal}
.napso-directory .napso-directory__card:not(.is-pro) .napso-directory__mail{letter-spacing:normal}
.napso-directory .napso-directory__card:not(.is-pro) .napso-directory__icon--mail{width:18px;height:13.5px;margin-right:4px}

/* Cœurs V2 : pastille rouge pleine et icônes de cartes atténuées au repos. */
.napso-directory .napso-directory__favorites-pill svg{fill:#c84479;fill-opacity:1;stroke:none}
.napso-directory .napso-directory__card .napso-directory__favorite svg{opacity:.8;transition:opacity .25s ease!important}
.napso-directory .napso-directory__card.is-pro .napso-directory__favorite svg{opacity:.56}
.napso-directory .napso-directory__card .napso-directory__favorite:is(:hover,:focus-visible,[aria-pressed="true"]) svg{opacity:1}

/* Lien Pro V2 : infobulle assortie aux favoris, sans gêner le soulignement. */
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span::before{content:"Découvrir et programmer un RDV";position:absolute;left:50%;bottom:calc(100% + 9px);padding:6px 10px;border-radius:7px;background:#fff;color:#055565;box-shadow:0 4px 16px #563e6826;font:600 .6875rem/1.3 var(--napso-font-body);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:opacity .2s ease,transform .25s ease,visibility 0s linear .2s!important}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span:hover::before,.napso-directory .napso-directory__card.is-pro .napso-directory__profile:focus-visible>span::before{opacity:1;visibility:visible;transform:translate(-50%,0);transition-delay:.15s,.15s,0s!important}

/* Résultats V2 : hauteur utile de l’écran, sans espace artificiel de plusieurs écrans. */
.napso-directory .napso-directory__results{min-height:max(0px,calc(100dvh - var(--napso-directory-sticky-top,0px) - var(--napso-directory-dock-height,130px)))}
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span{transform:translateX(25%)}

/* Fin de l’annuaire V2 : indication dégagée des cartes et respiration avant le footer. */
.napso-directory .napso-directory__status{margin-top:32px;margin-bottom:0;padding-top:12px;line-height:1.5}
.napso-directory .napso-directory__results{margin-bottom:clamp(110px,14vh,180px)}

/* Pro V2 : le calque suit exclusivement la carte active, même si un ancien focus persiste. */
.napso-directory .napso-directory__card.is-pro .napso-directory__profile{background:#055565!important}
.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected) .napso-directory__profile{background:#c84479!important}

/* FICHE PRO V2 — valeurs regroupées ; sélecteurs exclusivement réservés à la nouvelle fiche. */
:root{--npv2-brand:#06748b;--npv2-dark:#27364d;--npv2-page:#eef2f7;--npv2-card:#fff;--npv2-ink:#2b464d;--npv2-heading:#2b464d;--npv2-link:#0069ff;--npv2-border:#fff;--npv2-radius:7px;--npv2-gap:40px;--npv2-inset:40px;--npv2-body-size:15px;--npv2-title-size:32px;--npv2-header-top:100px;--npv2-hero-height:200px;--npv2-nav-height:60px;--npv2-avatar-size:181px;--npv2-font:"npv2-napso",Arial,sans-serif;--npv2-heading-font:"npv2-gordita",Arial,sans-serif}
/* Polices locales existantes ; noms propres à la fiche pour éviter les collisions. */
@font-face{font-family:npv2-napso;src:url("/wp-content/uploads/2022/08/HelveticaNowText-Regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:npv2-gordita;src:url("/wp-content/uploads/2022/06/Gordita-regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:npv2-gordita;src:url("/wp-content/uploads/2022/06/Gordita-Bold.woff") format("woff");font-weight:600 900;font-display:swap}
/* Base et focus — aucun sélecteur nu ne touche une page existante. */
body.napso-practitioner-v2{overflow-anchor:none;margin:0;background:var(--npv2-page)}
.npv2{color:var(--npv2-ink);font:var(--npv2-body-size)/1.5 var(--npv2-font);overflow-x:clip}
.npv2 *{box-sizing:border-box}
.npv2 [hidden]{display:none!important}
.npv2 h1,.npv2 h2,.npv2 h3,.npv2 p,.npv2 blockquote{margin:0}
.npv2 h2,.npv2 h3{font-family:var(--npv2-heading-font);color:var(--npv2-heading);line-height:1.5}
.npv2 h2{font-size:14.3px;font-weight:700}.npv2 h3{font-size:13px;font-weight:700}
.npv2 a{color:var(--npv2-link);text-decoration:none}.npv2 a:hover{text-decoration:underline}
.npv2 button{font:inherit;color:inherit;cursor:pointer;border:0;background:transparent;padding:0;line-height:1.5}
.npv2 :focus-visible{outline:2px solid var(--npv2-link);outline-offset:4px}
.npv2-skip{position:fixed;top:-100px;left:15px;z-index:99999;background:#fff;padding:12px}.npv2-skip:focus{top:15px}
/* Bandeau Pro et passage vers l’identité compacte au défilement. */
.npv2-header{position:sticky;top:0;z-index:100;background:var(--npv2-brand);color:white;transition:background 1s;isolation:isolate}
.npv2-top{height:var(--npv2-header-top);padding:0 max(60px,calc((100% - 1140px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff17;position:relative;z-index:1}
.npv2-logo{display:block;flex:none}.npv2-logo img{width:140px;height:auto;filter:brightness(0) invert(1);display:block}
.npv2-top-intro{text-align:center}.npv2-top-intro strong{font:700 18px var(--npv2-heading-font)}.npv2-top-intro div{display:flex;gap:25px;margin-top:12px}.npv2-header a{color:inherit}
.npv2-top-intro a{opacity:.7;border-bottom:1px solid #ffffff80;padding-bottom:5px}.npv2-top-intro a:hover{opacity:1;text-decoration:none}
.npv2-hero{height:var(--npv2-hero-height);display:grid;grid-template-columns:439px 181px 439px;gap:0;align-items:center;padding:0 0 0 25px;max-width:1140px;margin:0 auto;overflow:hidden;transition:height .35s ease,opacity .3s ease;position:relative}
.npv2-identity p{font-size:16px;font-weight:500;line-height:1;margin-bottom:13px}.npv2-identity h1{font:700 var(--npv2-title-size)/1.3 var(--npv2-heading-font);color:white;white-space:nowrap}.npv2-identity small{display:block;font-size:11px;line-height:1.5;opacity:.6;margin-top:16px}
.npv2-avatar{width:var(--npv2-avatar-size);height:var(--npv2-avatar-size);object-fit:cover;border:5px solid #fff;border-radius:50%;justify-self:center}
.npv2-call{display:none;vertical-align:middle;font-size:22px;border:2px solid #ffffff80;border-radius:50%;width:28px;height:28px;line-height:24px;text-align:center;opacity:.7}
.npv2-quote{font:600 22.5px/1.5 npv2-dm-sans,Arial,sans-serif;position:relative;color:white;width:350px;margin-left:125.5px}.npv2-quote:before{content:"";position:absolute;width:3rem;height:3rem;top:-17px;left:-25px;background:url("/wp-content/uploads/verb_symb.svg") center/contain no-repeat;opacity:.8}
.npv2-waves{position:absolute;inset:0 0 60px;pointer-events:none;overflow:hidden;opacity:0;animation:npv2-fade 1.2s 5s forwards;color:#fff}.npv2-waves svg{width:100%;height:100%}
.npv2-compact-profile,.npv2-rdv-top{display:none}.npv2-compact-profile{align-items:center;gap:15px}.npv2-compact-profile strong{font:700 17px var(--npv2-heading-font);display:block}.npv2-compact-profile small{opacity:.7}.npv2-compact-avatar{width:65px;height:65px;object-fit:cover;border:3px solid white;border-radius:50%}
.npv2-rdv-top{border:3px solid white;border-radius:5px;padding:9px 20px;position:relative;isolation:isolate;overflow:hidden;font-family:var(--npv2-heading-font)}
.npv2-rdv-top:hover{border-color:transparent;text-decoration:none}.npv2-rdv-top:before{content:"";position:absolute;inset:-3px;background:linear-gradient(45deg,blue,orange,violet,blue);background-size:400%;z-index:-2;opacity:0}.npv2-rdv-top:hover:before{opacity:1;animation:npv2-gradient 2s linear infinite}.npv2-rdv-top:after{content:"";position:absolute;inset:3px;z-index:-1;background:var(--npv2-dark);border-radius:5px}
.npv2-header.is-compact{position:fixed;top:0;left:0;right:0;background:var(--npv2-dark)}.npv2-header.is-compact .npv2-hero{height:0;opacity:0;visibility:hidden}.npv2-header.is-compact .npv2-top-intro{display:none}.npv2-header.is-compact .npv2-compact-profile{display:flex}.npv2-header.is-compact .npv2-rdv-top{display:block}.npv2-header.is-compact .npv2-waves{display:none}
/* Navigation horizontale, badge d’avis, contacts et mode sombre. */
.npv2-nav-row{height:var(--npv2-nav-height);display:flex;align-items:center;gap:8px;background:#fff;color:#7d7d7d;padding:0 max(var(--npv2-inset),calc((100% - 1140px)/2));box-shadow:0 3px 5px #0003}
.npv2-nav{display:flex;gap:30px;align-items:center;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;height:100%}.npv2-nav::-webkit-scrollbar{display:none}.npv2-nav a{font:500 12px var(--npv2-heading-font);text-transform:uppercase;white-space:nowrap;height:100%;display:flex;align-items:center;gap:6px}.npv2-nav a:hover,.npv2-nav a.is-active{color:var(--npv2-link);text-decoration:none}
.npv2-badge{background:var(--npv2-link);color:#fff;border-radius:50%;min-width:22px;height:22px;text-align:center;line-height:22px;animation:npv2-badge .3s .5s both}
.npv2-nav-arrow{display:none;color:var(--npv2-heading)!important;font-size:25px!important}
.npv2-tools{display:flex;align-items:center;gap:12px;margin-left:20px}.npv2-dark{width:28px;height:16px;border-radius:12px!important;background:#bbb!important;border:1px solid #aaa!important;flex:none}.npv2-dark span{display:block;width:16px;height:16px;border-radius:50%;background:white;box-shadow:0 2px 4px #0003;transform:translate(-2px,-1px);transition:transform .2s}.npv2-dark[aria-checked=true]{background:#947ada!important}.npv2-dark[aria-checked=true] span{background:#4f2edc;transform:translate(13px,-1px)}
.npv2-pro{border:2px solid #ddd;color:#aaa;padding:3px 12px;border-radius:18px;font:600 12px var(--npv2-heading-font)}
.npv2-phone{border-radius:25px;background:#f0f0f0;color:#397d80!important;padding:8px 20px;white-space:nowrap;font:600 12px var(--npv2-heading-font)}.npv2-phone:hover{background:#397d80;color:#fff!important;text-decoration:none}
.npv2-social{display:grid;place-items:center;border-radius:50%;width:30px;height:30px;background:#e5e5e5;color:var(--npv2-dark)!important;font:600 13px var(--npv2-heading-font);transition:transform .2s,background .3s}.npv2-social:hover{transform:scale(1.3);background:var(--npv2-brand);color:#fff!important;text-decoration:none}
.npv2-progress{position:absolute;bottom:0;left:0;height:2px;background:var(--npv2-link);width:100%;transform:scaleX(0);transform-origin:left}
/* Corps : proportions source, carte latérale sticky, blocs blancs et tableaux. */
.npv2-main{padding:50px var(--npv2-inset) 40px;background:var(--npv2-page)}
.npv2-layout{display:grid;grid-template-columns:minmax(0,1.643fr) minmax(0,1fr);gap:25px;margin-bottom:40px;align-items:start}
.npv2-sections{display:flex;flex-direction:column;gap:var(--npv2-gap);min-width:0}
.npv2-block{position:relative;border:1px solid var(--npv2-border);border-radius:var(--npv2-radius);background:var(--npv2-card);overflow:hidden;transition:border .3s,box-shadow .3s;scroll-margin-top:185px;width:100%}
.npv2-block:hover{box-shadow:-1px 0 11px 2px #0000001a;border-color:var(--npv2-link)}
.npv2-block-heading{padding:31px 20px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.npv2-block-content{padding:0 40px 30px}.npv2-copy{font-size:.95em;line-height:1.5;color:#5a5a5a;padding:5px 35px}.npv2-more{font:13px/1.6 Roboto,Arial,sans-serif;padding:20px 0}.npv2-more-button{color:#007bff!important;font-weight:700!important;margin:0 0 20px!important;padding:5px 0 5px 35px!important}.npv2-more-button:hover{text-decoration:underline}.npv2-more-button span{font-size:18px;margin-left:5px}
.npv2-subsection{margin:0;padding:0;border-top:1px solid #eee}.npv2-subsection h3{font-size:14.3px;padding:31px 20px 20px;margin:0}
.npv2-skills{display:flex;flex-wrap:wrap;gap:15px;list-style:none;padding:10px 30px 40px;margin:0}.npv2-skills li{padding:10px 20px;border-radius:20px;font-size:11px;font-weight:600;letter-spacing:-.16px;text-transform:uppercase;background:#e0e7ec;color:#333;transition:background .2s,color .2s}.npv2-skills li:hover{background:#c6d6e1}.npv2-skills li.is-extra{background:#83a1c5;color:#fff}.npv2-skills li.is-extra:hover{background:var(--npv2-dark)}
.npv2-gallery{display:flex;gap:4px;flex-wrap:wrap;margin-top:20px}.npv2-gallery img{height:80px;width:80px;object-fit:cover;opacity:.8;border-radius:10px;border:4px solid #e5e5e5;transition:transform .1s,border-radius .8s}.npv2-gallery a:hover img{transform:scale(1.7);border:0;border-radius:0;opacity:1}
.npv2-subsection progress{display:block;width:100%;height:9px;accent-color:var(--npv2-link);margin:8px 0 15px}
.npv2-columns{display:flex;gap:30px;justify-content:space-between}.npv2-columns>div{flex:1;min-width:0}.npv2-columns h3{margin-bottom:12px}.npv2-columns p{margin-bottom:14px}.npv2-columns a{overflow-wrap:anywhere}
.npv2-hours{font-size:13.5px;line-height:1.5}.npv2-hours .jour{display:inline-block;width:80px;font-weight:500;padding:2px}.npv2-hours .am,.npv2-hours .pm{font-size:.6rem;opacity:.7;margin-right:5px}.npv2-hours .pm{margin-left:15px}
.npv2-table{overflow-x:auto}.npv2-table table{border:0;border-collapse:collapse;width:100%;font:300 13.5px/1.5 var(--npv2-font)}.npv2-table td,.npv2-table th{padding:10px;border:0;text-align:left;background:transparent}.npv2-table tr{border-bottom:1px solid #ddd}.npv2-table td:nth-child(2){font-weight:600}.npv2-rates td:nth-child(2){text-align:right;width:30%;padding-right:20px;font-weight:500}
.npv2-disclaimer{font-size:11px;line-height:1.6;margin-top:20px!important;color:#999}.npv2 .cb-not_accept{color:#e84d4b}.npv2 .cb-accept{color:#46c528}
.npv2-fold{position:absolute;top:20px;right:20px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%!important;background:#c8c8c833!important;font-size:23px!important;flex:none;transition:transform .3s}.npv2-fold:hover{background:#c8c8c866!important}.npv2-fold[aria-expanded=false]{transform:rotate(180deg)}
.npv2-news{min-height:111.9px;margin:-10px 0;background:#7fa1cb;color:#fff;padding:20px;border-radius:5px;position:relative}.npv2-news h2{color:white;font:600 15px/1.3 Roboto,Arial,sans-serif;margin-bottom:5px}.npv2-news h2 span{display:inline-block;animation:npv2-bell .5s 2s infinite}.npv2-news button{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;font-size:22px}.npv2-news button:hover{background:#ffffff1a}
.npv2-booking{background:linear-gradient(317deg,#252466,#12b7d0,#7fa1cb,#1412d0,#18182c,#282d51);background-size:800% 800%;animation:npv2-gradient 8s ease infinite;border:2px solid var(--npv2-link);border-radius:8px;padding:27px 10px 15px;color:white;scroll-margin-top:185px}.npv2-booking h2{color:white;padding:0 20px 15px}.npv2-booking>a,.npv2-booking p{color:white;text-align:center}.npv2-booking p a{color:white}
.npv2-booking-open{display:block;margin:20px auto 5px!important;color:white!important;font:600 12px var(--npv2-heading-font)!important;border:2px solid white!important;border-radius:25px!important;padding:7px 20px!important}.npv2-booking-open:hover{background:#fff;color:var(--npv2-dark)!important}
.npv2-map-panel{height:310px;display:flex;position:sticky;top:190px;border-radius:8px;background:var(--npv2-card);overflow:hidden;min-height:310px;scroll-margin-top:185px}.npv2-map-info{width:44%;position:relative;flex:none;transition:width .3s}.npv2-map-info h2{padding:20px 15px 36.775px}.npv2-address{padding:0 15px 20.775px;color:gray;font-size:12px;line-height:1.3}.npv2-map-details{padding:15px 15px 20px;border-top:1px solid #d7d5d7;font-size:12px;line-height:1.4}.npv2-itinerary{padding:10px 10px 30px 15px;border-top:1px solid #d7d5d7}.npv2-itinerary h3{margin-bottom:10px}.npv2-itinerary a{display:inline-block;color:white;padding:4px 12px;border-radius:4px;font:500 12px/1.5 var(--npv2-heading-font);transition:transform .1s}.npv2-maps{background:#3b82f6}.npv2-waze{background:#25bff3}.npv2-itinerary a:hover{transform:scale(1.15);background:#1e3a5f;text-decoration:none}
.npv2-map{flex:1;min-width:0;background:#f9f9f9;min-height:310px;position:relative}.npv2-map-loading{position:absolute;top:45%;left:5%;right:5%;font-size:11px;text-align:center;color:#999}.npv2-map-expand{display:block;margin:0 15px 10px!important;font-size:18px!important}.npv2-map-panel.is-expanded .npv2-map-info{width:10%}.npv2-map-panel.is-expanded .npv2-map-info>:not(button){display:none}
/* Avis natifs : rail glissable et étoiles découpées d’après les notes ACF. */
.npv2-review-summary{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;align-items:center;font:16px var(--npv2-heading-font);margin-bottom:30px}.npv2-review-summary strong{font-size:20px}
.npv2-review-track{display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y}.npv2-review-track::-webkit-scrollbar{display:none}.npv2-review-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.npv2-review{flex:0 0 calc((100% - 40px)/3);scroll-snap-align:start;border-radius:7px;background:var(--npv2-card);padding:25px 20px;transition:background .5s}.npv2-review:hover{background:#eaedf4}.npv2-review-head{display:flex;gap:15px;align-items:center}.npv2-review-head h3{font-size:16px}.npv2-review-head p{font-size:11px;margin-top:8px}.npv2-review-avatar{width:65px;height:65px;object-fit:cover;border-radius:50%;transform:scale(.85);opacity:.7;transition:transform .2s,opacity .2s}.npv2-review.is-visible .npv2-review-avatar{transform:scale(1.1);opacity:1}
.npv2-stars{position:relative;display:inline-block;color:#dce0e5;font-size:18px;letter-spacing:2px;height:24px;line-height:24px}.npv2-stars span:last-child{position:absolute;inset:0;color:#f5b432}
.npv2-review blockquote{padding:25px 0 10px;font-size:13px;line-height:1.6}.npv2-review blockquote:before{content:"“";display:block;color:#7d9ec7;font-size:35px;height:30px}
.npv2-review-controls{display:flex;justify-content:center;align-items:center;gap:25px;margin:20px 0}.npv2-review-controls>button{font-size:25px;width:30px;height:30px;border-radius:50%}.npv2-review-controls>button:hover{background:#6464641a}.npv2-review-dots{display:flex;gap:8px}.npv2-review-dots button{width:8px;height:8px;border-radius:50%;background:#ccc}.npv2-review-dots button[aria-pressed=true]{background:var(--npv2-link)}
.npv2-review-open,.npv2-submit{display:block;background:var(--npv2-link)!important;color:#fff!important;border-radius:5px!important;padding:10px 20px!important;font:500 13px var(--npv2-heading-font)!important;margin:15px auto 0!important}.npv2-review-open:hover{box-shadow:1px 2px 3px #2121217a}
.npv2-maintenance{text-align:center;font-size:11px;margin-top:25px!important}.npv2-maintenance strong{display:inline;text-decoration:underline}
/* Fenêtres natives, formulaire, messages et galerie — aucun moteur Elementor. */
.npv2-dialog{border:0;border-radius:10px;padding:35px;max-width:min(650px,90vw);max-height:90dvh;background:var(--npv2-card);color:var(--npv2-ink);font:13px/1.6 var(--npv2-font)}.npv2-dialog::backdrop{background:#0009}.npv2-dialog h2{padding-right:20px;margin-bottom:25px}.npv2-dialog-close{position:absolute;top:10px;right:15px;font-size:25px!important}.npv2-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.npv2-form-grid label{display:flex;flex-direction:column;gap:5px}.npv2-form-grid input,.npv2-form-grid textarea,.npv2-form-grid select{width:100%;border:1px solid #ccc;background:var(--npv2-card);color:inherit;border-radius:4px;font:inherit;padding:10px;min-width:0}.npv2-full{grid-column:1/-1}.npv2-honeypot{position:absolute;left:-10000px}.npv2-dialog form>p{font-size:11px;margin-top:20px}.npv2-form-notice{margin-top:20px!important;padding:15px;background:#e5effa;border-radius:5px}.npv2-lightbox img{max-width:100%;max-height:75dvh;object-fit:contain;display:block}
/* Footer natif propre à la fiche ; aucune modification du footer partagé. */
.npv2-footer{padding:30px var(--npv2-inset) 40px;background:#004d5a;color:#fff}.npv2-footer a{color:#fff;display:block;opacity:.75;font-size:12px;margin:10px 0}.npv2-footer h2{color:#fff;font-size:16px;margin-bottom:20px}.npv2-footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:30px 0}.npv2-footer-legal{display:flex;justify-content:center;gap:25px;flex-wrap:wrap}.npv2-backtop{text-align:center}.npv2-footer>p{text-align:center;font-size:11px;margin-top:30px}
/* Mode sombre conservé, exclusivement dans la racine de la V2. */
.npv2.is-dark{--npv2-page:#385476;--npv2-card:#506e93;--npv2-ink:#ffffffb3;--npv2-heading:#ffffffb3;--npv2-border:#506e93}.npv2.is-dark .npv2-header,.npv2.is-dark .npv2-nav-row{background:#27364d;color:#ffffffb3}.npv2.is-dark .npv2-subsection{border-color:#a6bbd4}.npv2.is-dark .npv2-review:hover{background:#385476}.npv2.is-dark .npv2-address{color:inherit}.npv2.is-dark .npv2-map{filter:invert(.29) contrast(.92)}.npv2.is-dark .npv2-form-notice{background:#385476}
/* Animations nommées pour la V2, et adaptation tablette/mobile. */
@keyframes npv2-fade{to{opacity:1}}@keyframes npv2-badge{from{transform:scale(0)}to{transform:scale(1)}}@keyframes npv2-gradient{0%,100%{background-position:86% 0}50%{background-position:15% 100%}}@keyframes npv2-bell{0%,50%,100%{transform:rotate(0)}25%{transform:rotate(30deg)}75%{transform:rotate(-30deg)}}
@media(max-width:1100px){.npv2{--npv2-inset:40px;--npv2-title-size:28px}.npv2-top{padding:0 40px}.npv2-hero{padding:0 40px;grid-template-columns:40% 23% 29%}.npv2-quote{font-size:18px}.npv2-pro,.npv2-phone{display:none}.npv2-tools{gap:8px;margin-left:10px}.npv2-nav{gap:20px}.npv2-map-panel{flex-direction:column}.npv2-map-info{width:100%}.npv2-review{flex-basis:calc((100% - 20px)/2)}.npv2-map-panel.is-expanded .npv2-map-info{width:100%}}
@media(max-width:767px){.npv2{--npv2-inset:20px;--npv2-gap:20px;--npv2-header-top:100px;--npv2-hero-height:200px;--npv2-nav-height:60px;--npv2-avatar-size:120px;--npv2-title-size:21px;--npv2-body-size:13px}.npv2-top{justify-content:center;padding:0 20px;border:0}.npv2-logo img{width:120px}.npv2-top-intro,.npv2-quote{display:none}.npv2-hero{display:flex;flex-direction:column;justify-content:flex-start;gap:10px;padding:12px 10px 0}.npv2-identity{text-align:center}.npv2-identity p{font-size:12px;margin-bottom:3px}.npv2-identity h1{font-size:21px}.npv2-identity small{display:none}.npv2-avatar{border-width:4px}.npv2-call{display:inline-block}.npv2-waves{display:none}.npv2-nav-row{padding:0 12px}.npv2-nav{gap:25px}.npv2-nav a{font-size:10px}.npv2-tools{display:none}.npv2-nav-arrow{display:block}.npv2-header.is-compact .npv2-top{height:85px;justify-content:space-between;gap:10px;padding:0 15px}.npv2-header.is-compact .npv2-logo img{width:45px}.npv2-compact-profile{gap:8px}.npv2-compact-avatar{width:40px;height:40px}.npv2-compact-profile small{display:none}.npv2-compact-profile strong{font-size:13px}.npv2-rdv-top{padding:5px;font-size:10px;border-width:2px}.npv2-main{padding-top:10px}.npv2-layout{display:flex;flex-direction:column;gap:25px;margin-bottom:20px}.npv2-sections{width:100%}.npv2-map-panel{order:-1;position:relative;top:auto;width:100%;flex-direction:row;min-height:250px}.npv2-map-info{width:48%}.npv2-map-info h2{font-size:12px;padding:15px 12px}.npv2-address{padding:20px 10px 30px;font-size:11px}.npv2-map-details,.npv2-map-expand{display:none!important}.npv2-map{min-height:250px}.npv2-itinerary{padding:10px 12px 25px}.npv2-itinerary h3{font-size:11px}.npv2-itinerary a{padding:4px 9px;font-size:10px}.npv2-block{scroll-margin-top:155px}.npv2-block-heading{padding:20px}.npv2-block-content{padding:5px 20px 20px}.npv2-columns{flex-direction:column;gap:20px}.npv2-subsection{margin:25px 0 0}.npv2-skills{gap:5px}.npv2-skills li{font-size:10px;letter-spacing:-.2px;padding:10px}.npv2-subsection h3{margin-bottom:20px}.npv2-review{flex-basis:100%;padding:20px 10px}.npv2-review-summary{font-size:13px}.npv2-review-summary strong{font-size:16px}.npv2-news{padding:20px}.npv2-booking{padding-top:12px;scroll-margin-top:155px}.npv2-dialog{padding:25px 20px}.npv2-form-grid{grid-template-columns:1fr}.npv2-footer-links{grid-template-columns:1fr 1fr;gap:25px}.npv2-footer-legal{gap:15px}.npv2-footer h2{font-size:13px}}
@media(prefers-reduced-motion:reduce){.npv2 *{animation:none!important;transition:none!important}.npv2-waves{opacity:1}}


/* FICHE PRO V2 — icônes d’origine ; polices copiées dans le thème pour retirer leur dépendance au plugin. */
@font-face{font-family:npv2-fa-regular;src:url("assets/fonts/pv2-fa-regular.woff2") format("woff2");font-display:swap}
@font-face{font-family:npv2-fa-solid;src:url("assets/fonts/pv2-fa-solid.woff2") format("woff2");font-display:swap}
@font-face{font-family:npv2-fa-brands;src:url("assets/fonts/pv2-fa-brands.woff2") format("woff2");font-display:swap}
@font-face{font-family:npv2-custom;src:url("/wp-content/uploads/elementor/custom-icons/untitled-font-1-1/fonts/untitled-font-1.woff") format("woff");font-display:swap}
.npv2-icon{display:inline-block;font-style:normal;font-weight:normal;line-height:1;flex:none;width:16px;text-align:center;color:var(--npv2-brand);margin-right:8px;font-size:13px}
.npv2-icon--regular{font-family:npv2-fa-regular}.npv2-icon--solid{font-family:npv2-fa-solid}.npv2-icon--brands{font-family:npv2-fa-brands}.npv2-icon--custom{font-family:npv2-custom}
.npv2-icon-image{display:inline-block;width:15px;height:15px;vertical-align:middle;margin-right:8px}
.npv2-nav .npv2-icon,.npv2-social .npv2-icon{margin-right:0;width:auto}.npv2-news .npv2-icon,.npv2-booking .npv2-icon{color:#fff}.npv2-news .npv2-icon{animation:npv2-bell .5s 2s infinite}.npv2.is-dark .npv2-icon{color:inherit}


/* FICHE PRO V2 — newsletter et liens sociaux du footer natif. */
.npv2-newsletter{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:35px;padding-top:30px;border-top:1px solid #ffffff33}.npv2-newsletter form{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.npv2-newsletter label{flex:1;min-width:0}.npv2-newsletter input[type=email]{display:block;width:100%;padding:10px;border:1px solid #ffffff40;border-radius:3px;background:#ffffff10;color:#fff;font:inherit}.npv2-newsletter input::placeholder{color:#ffffff80}.npv2-newsletter button{padding:10px 20px;background:#fff;color:#004d5a;border-radius:3px}.npv2-newsletter form p{width:100%;font-size:10px}.npv2-newsletter form p a,.npv2-footer>p a{display:inline;font-size:inherit}.npv2-footer-social{display:flex;gap:20px;justify-content:center;margin-top:20px}.npv2-footer-social .npv2-icon{color:#fff}
@media(max-width:767px){.npv2-newsletter{grid-template-columns:1fr;gap:15px}.npv2-newsletter h2{line-height:1.6}}


/* FICHE PRO V2 — largeur utile de 1140 px, identique au modèle source. */
.npv2-layout,.npv2-main>#avis{max-width:1140px;margin-left:auto;margin-right:auto}

/* FICHE PRO V2 — polices exactes relevées sur la fiche source. */
@font-face{font-family:npv2-napso;src:url("/wp-content/uploads/2022/08/HelveticaNowText-Light.woff") format("woff");font-weight:300;font-display:swap}
@font-face{font-family:npv2-napso;src:url("/wp-content/uploads/2022/08/HelveticaNowText-Medium.woff") format("woff");font-weight:700;font-display:swap}
@font-face{font-family:npv2-dm-sans;src:url("/wp-content/uploads/2022/07/DMSans-Regular.woff") format("woff");font-weight:400;font-display:swap}
@font-face{font-family:npv2-dm-sans;src:url("/wp-content/uploads/2022/07/DMSans-Bold.woff") format("woff");font-weight:600 700;font-display:swap}
/* FICHE PRO V2 — compositions et espacements mesurés sur le modèle d’origine. */
.npv2 #pres>.npv2-block-heading{padding-bottom:20px}.npv2 #pres>.npv2-block-content{padding:0}
.npv2-more{font:15px/1.5 Roboto,Arial,sans-serif;padding:20px 35px}
.npv2-subsection.npv2-table table{width:calc(100% - 70px);margin:7px 35px 24px}
.npv2-table tr:nth-child(odd) td{background:#80808012}.npv2-table tr{border-bottom:1px solid #ddd}
.npv2 #paiement .npv2-columns{gap:0}.npv2 #paiement .npv2-columns>div:first-child{flex:0 0 57%}.npv2 #paiement .npv2-columns>div:last-child{flex:0 0 43%}
.npv2 #paiement .npv2-columns>div:last-child h3{font-size:14.3px;line-height:1.5;margin-top:-42.445px;margin-left:-15px;margin-bottom:22px}
.npv2 #paiement .npv2-columns>div:last-child p{font-size:13.5px;line-height:1.5;margin-bottom:7px}
.npv2 #paiement .npv2-columns>div:first-child>a{font:500 11.4px/1.5 var(--npv2-font);color:#7d7d7d;background:#e0e7ec;border-radius:6px;padding:6px 12px}
.npv2 #horaires .npv2-columns{gap:14px}.npv2 #horaires .npv2-columns>div:first-child{flex:1.875}.npv2 #horaires .npv2-columns>div:last-child{flex:1}
.npv2 #horaires h3{font:500 13.5px/1.2 var(--npv2-font);margin-bottom:14px}
.npv2 #horaires .npv2-columns>div:last-child p{font:500 13px/1.5 var(--npv2-font);margin-bottom:15px}.npv2 #horaires .npv2-columns>div:last-child a{color:#000}
.npv2 #horaires .npv2-columns>div:last-child h3:nth-of-type(2){margin-top:23px}
.npv2 #legal .npv2-block-content{font:300 13.5px/1.5 var(--npv2-font);padding-left:45px}
.npv2-disclaimer{font:300 10.4px/1.5 var(--npv2-heading-font);margin-top:7px!important}
.npv2-booking{min-height:196.445px;padding:31px 10px 30px}.npv2-booking h2{padding:0 20px 30px}.npv2-booking-open{margin-top:20px!important}
.npv2-map-details h3{font:700 13.5px/1.2 var(--npv2-font)}.npv2-map-details{font:400 11px/1.5 var(--npv2-font)}.npv2-itinerary a{margin-right:5px}
.npv2-map-expand{position:absolute;right:4px;top:10px;font-size:14px!important;opacity:0}.npv2-map-panel:hover .npv2-map-expand,.npv2-map-expand:focus-visible{opacity:1}
.npv2-call .npv2-icon{color:inherit;margin:0;width:100%;font-size:16px}
@media(max-width:1100px) and (min-width:768px){.npv2-hero{grid-template-columns:40% 23% 29%;gap:4%;padding:0 40px}.npv2-quote{margin-left:0;width:auto;font-size:18px}.npv2-map-panel{height:auto}}
@media(max-width:767px){.npv2-hero{display:flex;padding:12px 10px 0}.npv2-quote{display:none}.npv2-identity p{font-size:12px;margin-bottom:3px;line-height:1.5}.npv2-identity h1{line-height:1.4}.npv2 #pres .npv2-copy{padding:5px 20px 5px 10px}.npv2-more{padding:20px 10px 20px 20px}.npv2 #pres .npv2-block-content{padding:0 20px 20px}.npv2 #pres>.npv2-block-heading{padding:20px 20px 15px}.npv2-subsection{margin:0}.npv2-subsection h3{padding:20px 0 20px}.npv2-skills{padding:0 0 25px;gap:5px}.npv2-subsection.npv2-table table{width:100%;margin:0}.npv2 #paiement .npv2-columns{gap:20px}.npv2 #paiement .npv2-columns>div:last-child h3{margin:0 0 12px}.npv2 #legal .npv2-block-content{padding-left:20px}.npv2-map-panel{height:270px}.npv2-map-info h2{padding:15px 12px 36px}.npv2-address{padding:0 10px 30px}.npv2-itinerary{padding:10px 12px 25px}.npv2-booking{padding-top:20px;min-height:160px}}

/* FICHE PRO V2 — ajustements de parité avec les styles calculés du modèle d’origine. */
.npv2 .npv2-quote{margin-left:125.5px}.npv2-more-button span{line-height:1;vertical-align:middle}
.npv2-subsection.npv2-table table{margin-bottom:44px}
.npv2 #paiement .npv2-block-content{padding-bottom:25.398px}
.npv2 #horaires .npv2-hours{font-size:15px;line-height:1.5}.npv2 #horaires h3{font-size:13.5px;line-height:1;margin-bottom:10px}
.npv2 #horaires .npv2-block-content{padding-bottom:38.555px}
.npv2 #legal .npv2-block-content{padding-bottom:36px}
.npv2-disclaimer{font:400 12px/1.3 var(--npv2-font)}
.npv2-logo-icon{display:none!important}
/* FICHE PRO V2 — fenêtre d’avis native : même composition, mêmes dimensions et mêmes champs. */
.npv2 #npv2-review-dialog{width:700px;max-width:90vw;padding:0;border-radius:8px;max-height:95dvh;box-shadow:0 0 25px #0003}
.npv2 #npv2-review-dialog::backdrop{background:#185d7566;backdrop-filter:blur(4px)}
.npv2-dialog-header{display:flex;gap:20px;align-items:center;padding:30px 70px 20px;border-bottom:1px solid #eee}
.npv2-dialog-avatar{width:80px;height:80px;object-fit:cover;border:4px solid #ddd;border-radius:50%;flex:none}
.npv2 #npv2-review-dialog h2{font:700 20px/1.3 npv2-dm-sans,Arial,sans-serif;padding:0;margin:0 0 15px;color:#555}
.npv2-dialog-header p{font:400 14px/1.3 var(--npv2-font);color:#54595f}.npv2-dialog-header span{color:#7fa1cb}
.npv2 #npv2-review-dialog .npv2-dialog-close{top:20px;right:20px;color:#aaa;line-height:1;width:35px}.npv2-dialog-close small{display:block;font:400 6px/1 var(--npv2-font)}
.npv2 #npv2-review-dialog form{padding:20px 70px 50px}
.npv2 #npv2-review-dialog .npv2-form-grid{display:grid;grid-template-columns:repeat(20,minmax(0,1fr));gap:18px 15px}
.npv2 #npv2-review-dialog .npv2-form-grid label{display:block;color:#7d7d7d;font:400 13px/1.5 var(--npv2-font);white-space:nowrap}
.npv2-form-grid label span{color:#0069ff;margin-left:2px}.npv2-field-half{grid-column:span 10}.npv2-field-date{grid-column:span 6}.npv2-field-note{grid-column:span 4}.npv2-field-message{grid-column:span 15}
.npv2 #npv2-review-dialog input:not([type=hidden]),.npv2 #npv2-review-dialog select,.npv2 #npv2-review-dialog textarea{display:block;padding:10px 15px;border:2px solid #ddd;border-radius:2px;font:400 14px/1.3 var(--npv2-font);color:#54595f;background:#fff;margin-top:5px;box-shadow:0 0 2px #0001;height:44px}
.npv2 #npv2-review-dialog input::placeholder,.npv2 #npv2-review-dialog textarea::placeholder{color:#bbb}.npv2 #npv2-review-dialog select{font-weight:700;color:#0069ff;padding:10px 12px}
.npv2 #npv2-review-dialog textarea{height:84px;resize:vertical}
.npv2 #npv2-review-dialog .npv2-submit{grid-column:span 5;align-self:end;margin:0!important;width:100%;height:55px;padding:0!important;background:#2c64f7!important;font:700 14px/1.5 var(--npv2-font)!important;border-radius:6px!important}
.npv2 #npv2-review-dialog .npv2-form-charter{white-space:normal;text-align:justify;font:400 13.5px/1.3 var(--npv2-font);color:#7d7d7d;margin-top:20px}.npv2-form-charter>span{color:#7fa1cb}
/* FICHE PRO V2 — footer : mêmes deux colonnes principales et mêmes médias que le footer original. */
.npv2 .npv2-footer{padding:90px 80px 80px;background:#004d5a;color:white}
.npv2-footer-inner{display:grid;grid-template-columns:60% 40%;max-width:1140px;margin:0 auto}
.npv2-footer-left,.npv2-footer-right{min-width:0}.npv2 .npv2-footer-links{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0}
.npv2-footer-menu{padding:0 25px;min-height:200px}.npv2-footer-menu summary{list-style:none;pointer-events:none}.npv2-footer-menu summary::-webkit-details-marker{display:none}
.npv2 .npv2-footer h2{font:700 18px/1.2 var(--npv2-heading-font);color:white;margin:0 0 20px}
.npv2 .npv2-footer a{font:400 13.5px/1.666667 var(--npv2-font);color:white;opacity:.7;margin:0;display:block;text-decoration:none}.npv2 .npv2-footer a:hover{opacity:1;text-decoration:underline}
.npv2-new{background:#90bb98;display:inline-block;font:500 8px/1.3 var(--npv2-font);color:#fff;margin-left:5px;padding:0 5px;border-radius:2px}
.npv2 .npv2-footer-legal{display:flex;gap:20px;justify-content:center;margin-top:0;height:35px;align-items:center}.npv2 .npv2-footer-legal a{font:400 10px/1.5 var(--npv2-heading-font);text-transform:uppercase}
.npv2-footer-credit{display:flex;align-items:center;gap:7px;height:31px}.npv2 .npv2-footer-credit a{font:400 13.5px/1.3 var(--npv2-font);opacity:.8}.npv2-footer-credit img{width:48px;height:31px;display:block;filter:brightness(0) invert(1)}
.npv2-footer-brand{height:200px;display:flex;justify-content:space-between;align-items:flex-start;padding-top:6px}.npv2-footer-logo{width:159px;height:auto;filter:brightness(0) invert(1);margin-top:0}
.npv2-footer-certification{width:177.835px;display:flex;flex-direction:column;align-items:center;gap:20px}.npv2-footer-certification img{width:155.835px;height:auto;opacity:.8}.npv2-footer-certification p{font:400 10.4px/1.5 var(--npv2-font);opacity:.7;text-align:center}
.npv2 .npv2-newsletter{display:block;margin:0;padding:22px 0 0;border:0;height:238px}
.npv2 .npv2-newsletter h2{font:700 18px/1.5 var(--npv2-heading-font);margin:0 0 15px}
.npv2 .npv2-newsletter form{display:flex;flex-wrap:wrap;align-items:center;gap:0}.npv2-newsletter-label{font-size:0}
.npv2 .npv2-newsletter input[type=email]{border:0;border-bottom:1px solid #ffffff66;border-radius:0;background:transparent;font:300 19px/1.5 var(--npv2-font);padding:10px 0;height:50px;color:#fff;min-width:0}
.npv2 .npv2-newsletter button{background:transparent;color:#fff;font:500 13.5px/1.3 var(--npv2-heading-font);padding:10px 10px 10px 15px;border-bottom:1px solid #ffffff66;height:50px;opacity:.8}
.npv2 .npv2-newsletter>p{font:400 10.4px/1.5 var(--npv2-font);margin:10px 0 0;opacity:.7}.npv2 .npv2-newsletter>p a{font:inherit;display:inline;text-decoration:underline;opacity:1}
.npv2 .npv2-footer-social{display:flex;justify-content:flex-start;gap:13px;margin:0;height:26px}.npv2-footer-social>a,.npv2-footer-social>span{display:grid!important;place-items:center;background:#ffffff18;width:26px;height:26px;border-radius:50%;font-size:12px!important}
.npv2-footer-credit-mobile{display:none}.npv2 .npv2-backtop{position:fixed;bottom:90px;right:35px;width:34px;z-index:90;color:#007bff;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s}
.npv2 .npv2-backtop.is-visible{opacity:.7;pointer-events:auto}.npv2 .npv2-backtop:hover{opacity:1;text-decoration:none}.npv2-backtop>span{display:block;font-size:25px}.npv2-backtop small{font-size:9px;font-weight:700}
/* FICHE PRO V2 — avis : typographie, espacements et rail infini de la version source. */
.npv2 #avis{border-width:2px}.npv2 #avis>.npv2-block-heading{padding:20px}.npv2 #avis>.npv2-block-content{padding:14px 20px 30px}
.npv2 .npv2-review-summary{font:500 15px/1.3 var(--npv2-font);color:#707070;margin-bottom:30px}.npv2-review-summary strong{font-size:15px;line-height:1.3}
.npv2 .npv2-review-track{gap:27px;margin:0 26px;padding:5px 0 17px;align-items:flex-start}
.npv2 .npv2-review{flex-basis:calc((100% - 54px)/3);padding:25px 30px;scroll-snap-align:start}
.npv2 .npv2-review-head{gap:15px}.npv2 .npv2-review-head h3{font:800 14px/1.5 npv2-dm-sans,Arial,sans-serif;color:#3e3e3e}.npv2-review-head h3 span{display:block}
.npv2 .npv2-review-avatar{width:58.356px;height:58.356px;flex:none}
.npv2 .npv2-stars{font:900 15px/1 npv2-fa-solid;letter-spacing:3px;height:15px}.npv2 .npv2-stars span:last-child{color:#fdbb48}
.npv2 .npv2-review-head p{font:400 10px/1.5 var(--npv2-font);margin-top:10px}
.npv2 .npv2-review blockquote{font:400 13.5px/1.3 var(--npv2-font);color:#54595f;padding:25px 0 10px}
.npv2 .npv2-review-controls{position:relative;margin:0 0 20px;padding-top:0}.npv2-review-dots button{width:7px;height:7px;background:#a9a9a9}.npv2-review-controls>button{position:absolute;bottom:300px;color:#a8a8a8}.npv2-review-controls>button:first-child{left:-4px}.npv2-review-controls>button:last-child{right:-4px}
@media(max-width:1100px) and (min-width:768px){.npv2 .npv2-quote{margin-left:0;width:auto}.npv2 .npv2-footer{padding:70px 40px}.npv2-footer-inner{grid-template-columns:60% 40%}.npv2 .npv2-review{flex-basis:calc((100% - 27px)/2)}}
@media(max-width:767px){.npv2 .npv2-quote{display:none}.npv2-header.is-compact .npv2-logo-icon{display:block!important;width:40px}.npv2-header.is-compact .npv2-logo img:not(.npv2-logo-icon){display:none!important}.npv2 #pres>.npv2-block-heading{padding:40px 20px 9px}.npv2 #pres .npv2-copy{padding:5px 10px 5px 20px}.npv2 #pres .npv2-more-button{padding-left:18px!important;margin-bottom:15px!important}.npv2 #npv2-skills{margin-top:30px}.npv2-subsection h3{padding-top:20px;padding-bottom:20px}.npv2-subsection.npv2-table table{margin-bottom:0}.npv2 .npv2-map-panel{height:250px}.npv2 .npv2-map{min-height:270px}.npv2 .npv2-itinerary a{padding:4px 12px;font-size:12px}.npv2 .npv2-map-info h2{padding:14px 12px 38px}.npv2 .npv2-itinerary{padding:10px 10px 30px 15px}.npv2 .npv2-map-info{overflow:hidden}.npv2 .npv2-map-info h2{font-size:14.3px}.npv2 .npv2-address{font-size:12px;line-height:1.2;padding:0 0 36px 10px}.npv2 .npv2-skills{padding-bottom:0}
.npv2 #npv2-review-dialog{max-width:95vw;max-height:95dvh;width:700px}.npv2-dialog-header{padding:30px 20px 20px;gap:12px}.npv2-dialog-avatar{width:60px;height:60px}.npv2 #npv2-review-dialog h2{font-size:17px;padding-right:18px}.npv2-dialog-header p{font-size:12px}.npv2 #npv2-review-dialog form{padding:20px}.npv2 #npv2-review-dialog .npv2-form-grid{gap:12px 10px}.npv2-field-date{grid-column:span 10}.npv2-field-note{grid-column:span 10}.npv2-field-message{grid-column:span 20}.npv2 #npv2-review-dialog .npv2-submit{grid-column:span 20}.npv2 #npv2-review-dialog .npv2-form-charter{font-size:12px}
.npv2 .npv2-footer{padding:40px 30px 30px}.npv2-footer-inner{display:block}.npv2 .npv2-footer-links{display:block}.npv2-footer-menu{min-height:0;padding:0}.npv2-footer-menu summary{pointer-events:auto;cursor:pointer;padding:15px 0 5px;position:relative}.npv2-footer-menu summary h2{font-size:31.5px;line-height:1;margin:0;width:80%}.npv2-footer-menu summary:after{content:"›";position:absolute;right:0;top:18px;font-size:25px;color:#fff}.npv2-footer-menu[open] summary:after{transform:rotate(90deg)}.npv2-footer-menu>div{padding:15px 25px 20px}.npv2 .npv2-footer-menu a{font-size:13.5px;line-height:1.8}.npv2 .npv2-footer-legal{height:auto;display:block;padding:15px 25px 25px}.npv2 .npv2-footer-legal a{margin:0 0 8px}.npv2-footer-left>.npv2-footer-credit{display:none}.npv2-footer-brand{height:171.734px;padding-top:0;justify-content:flex-end}.npv2-footer-logo{display:none}.npv2-footer-certification{width:157.5px;gap:20px}.npv2-footer-certification img{width:135.5px}.npv2 .npv2-newsletter{height:232.203px;padding:25px 25px 0}.npv2 .npv2-newsletter h2{font-size:18px;line-height:1.5;margin-bottom:15px}.npv2 .npv2-newsletter form{display:block}.npv2 .npv2-newsletter button{padding-left:25px;width:100%;text-align:left}.npv2 .npv2-footer-social{padding-left:25px;margin-top:25px;height:52px}.npv2-footer-credit-mobile{display:flex;margin:65px 25px 0;height:39px}.npv2-footer-credit-mobile img{height:39px}.npv2 .npv2-review-track{margin:0 17px}.npv2 .npv2-review{flex-basis:100%;padding:20px 15px}.npv2 #avis>.npv2-block-content{padding-left:20px;padding-right:20px}.npv2 .npv2-review-controls>button{bottom:250px}.npv2 .npv2-backtop{right:12px}}


/* FICHE PRO V2 — attente de l’agenda et chargement progressif de la carte, comme sur le modèle source. */
.npv2-agenda-spinner{display:flex;justify-content:center;align-items:center;height:50px;margin-top:20px}.npv2-agenda-spinner:after{content:"";width:40px;height:40px;border:5px solid #ffffff4d;border-top-color:#fff;border-radius:50%;animation:npv2-spinner 1s linear infinite}
@keyframes npv2-spinner{to{transform:rotate(360deg)}}
.npv2-review-controls>button{bottom:var(--npv2-review-arrow-bottom,300px)}
.npv2 #npv2-review-dialog{background:#fff;color:#54595f}


/* FICHE PRO V2 — popup mobile plein écran et panneaux repliés de 80 px, comme sur l’original. */
.npv2 .npv2-dialog-close,.npv2 .npv2-dialog-close:hover,.npv2 .npv2-dialog-close:focus{background:transparent!important;color:#aaa!important}
.npv2 .npv2-block.is-collapsed{min-height:80px}
@media(max-width:767px){.npv2 #npv2-review-dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:8px}.npv2-dialog-header{flex-direction:column;padding:50px 40px 25px;gap:14px}.npv2-dialog-avatar{width:90px;height:90px}.npv2-dialog-header>div{width:100%}.npv2 #npv2-review-dialog h2{text-align:center;font-size:20px;line-height:1.3;padding:0;margin-bottom:16px}.npv2-dialog-header p{font-size:13px;line-height:1.3}.npv2 #npv2-review-dialog form{padding:20px 40px 50px}.npv2 #npv2-review-dialog .npv2-form-grid{display:grid;grid-template-columns:1fr;gap:20px}.npv2 #npv2-review-dialog .npv2-form-grid>label,.npv2 #npv2-review-dialog .npv2-submit{grid-column:1}.npv2 #npv2-review-dialog .npv2-form-charter{font-size:13.5px}}


/* Pins Pro V2 : croissance depuis la pointe, ancrée à la localisation. */
.napso-directory .napso-directory__pro-marker .napso-contact__map-pin{transform-origin:0 100%}

/* FICHE PRO V2 — même largeur utile que l’original avec son ascenseur de 15 px. */
@media(min-width:769px) and (pointer:fine){html.pb-custom-scrollbar body.napso-practitioner-v2{padding-right:15px}html.pb-custom-scrollbar body.napso-practitioner-v2 .npv2-header.is-compact{right:15px}}
.npv2 .npv2-block-content{padding-right:30px}
.npv2 #horaires .npv2-block-content{padding-top:15px;padding-bottom:30px}
.npv2 #horaires .npv2-columns{justify-content:flex-start}.npv2 #horaires .npv2-columns>div:first-child{flex:0 0 calc((100% - 14px)*.634)}.npv2 #horaires .npv2-columns>div:last-child{flex:1}
@media(max-width:767px){.npv2 .npv2-block-content{padding-right:20px}.npv2 #pres .npv2-block-content{padding-right:20px}.npv2 #horaires .npv2-columns>div:first-child,.npv2 #horaires .npv2-columns>div:last-child{flex:auto}}


/* Pins Pro V2 : second cartouche bleu, déplié après le nom et lien réel vers la fiche. */
.napso-directory .napso-directory__map-site{position:absolute;left:calc(100% + 4px);top:0;bottom:0;display:flex;align-items:center;padding:4px 9px;border-radius:3px;background:#055565;color:#fff!important;font-family:inherit;font-size:inherit;line-height:inherit;font-weight:500;text-decoration:none;white-space:nowrap;pointer-events:auto;cursor:pointer;opacity:0;clip-path:inset(0 100% 0 0);transition:clip-path .4s cubic-bezier(.22,1,.36,1),opacity .2s ease!important}
.napso-directory .napso-directory__pro-marker:is(:hover,:focus-within,.is-highlighted,.is-selected) .napso-directory__map-site{opacity:1;clip-path:inset(0);transition-delay:.6s,.6s!important}
.napso-directory .napso-directory__pro-marker:focus-within .napso-directory__map-name{opacity:1;visibility:visible;transform:translateX(0)}
.napso-directory .napso-directory__map-site:hover{text-decoration:underline;text-underline-offset:3px}
.napso-directory .napso-directory__map-site:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* FICHE PRO V2 — géométrie exacte des cartes d’avis et icône SVG originale. */
.npv2 .npv2-review-track{align-items:stretch}
.npv2 .npv2-review{padding:30px 35px 25px;border:1px solid transparent}
.npv2 .npv2-review-head{gap:5.738px}.npv2 .npv2-stars{display:block;height:0}
.npv2 .npv2-review-head p{margin-top:25px}
.npv2 .npv2-review blockquote{padding:2px 0 10px}
.npv2 .npv2-review-controls>button{bottom:var(--npv2-review-arrow-bottom,300px)}
.npv2 .npv2-review-controls>button:hover,.npv2 .npv2-review-controls>button:focus{background:#6464641a!important;color:#a8a8a8!important}
.npv2 .npv2-icon-image{fill:#0085ab;color:#0085ab}
.npv2 .npv2-map-loading--pending{left:50%;right:auto;top:50%;width:40px;height:40px;margin:-20px 0 0 -20px;font-size:0;border:6px solid transparent;border-top-color:#4285f4;border-right-color:#34a853;border-radius:50%;animation:npv2-spinner .8s linear infinite}
@media(max-width:767px){.npv2 .npv2-review{padding:30px 15px 25px}}


/* Cartouches Pro V2 : jonction continue et espacement réduit avec le pin. */
.napso-directory .napso-directory__map-name{left:34.5px;border-top-right-radius:0;border-bottom-right-radius:0}
.napso-directory .napso-directory__map-site{left:100%;border-radius:0 3px 3px 0}

/* FICHE PRO V2 — étoiles Font Awesome d’origine, couche colorée conservée malgré sa hauteur de flux nulle. */
.npv2 .npv2-stars{width:max-content}.npv2 .npv2-stars span{white-space:nowrap}.npv2 .npv2-stars span:last-child{height:15px;bottom:auto;right:auto;width:100%}


/* Badges géographiques V2 : pays, département et arrondissement de mêmes hauteur et finition. */
.napso-directory .napso-directory__card :is(.napso-directory__pays,.napso-directory__departement,.napso-directory__arrondissement){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;height:auto;padding:5px 9px;border:1px solid currentColor;border-radius:30px;font-size:.625rem;line-height:1.3;font-weight:500}
.napso-directory .napso-directory__card.is-pro :is(.napso-directory__departement,.napso-directory__arrondissement){border-color:transparent;background:rgba(255,255,255,.52);color:#055565}
.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected) :is(.napso-directory__departement,.napso-directory__arrondissement){color:#c84479}

/* Contact mail V2 : fond au survol assorti au texte violet, à 10 % d’opacité. */
.napso-directory .napso-directory__card:not(.is-pro) .napso-directory__mail:is(:hover,:focus-visible,.is-hovered){background:rgba(144,98,173,.1)!important}

/* Badges Pro V2 : couleur stable pendant la transition de survol, sans éclair rouge. */
.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected) :is(.napso-directory__departement,.napso-directory__arrondissement){color:#055565}

/* FICHE PRO V2 — carte OSM Positron : mêmes couleurs, marqueur et contrôles que Contact. */
.npv2 .npv2-map{background:#dfe8ec}
.npv2-map-marker{width:20px;height:24px}.npv2-map-pin{display:block;width:20px;height:20px;border-radius:50% 50% 50% 0;background:var(--napso-brand);transform:rotate(-45deg);position:relative}.npv2-map-pin:after{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;background:#fff;border-radius:50%;transform:translate(-50%,-50%)}
.npv2-map .maplibregl-ctrl-group{display:flex}.npv2-map .maplibregl-ctrl-group button{background:#fff!important;color:#333!important}.npv2-map .maplibregl-ctrl-group button+button{border-top:0;border-left:1px solid #ddd}.npv2-map .maplibregl-ctrl-group button:hover{background:#e8e6de!important}.npv2-map .maplibregl-ctrl-group button:focus-visible{outline:2px solid #777252;outline-offset:-2px}
/* Fiche Pro V2 : masquer le contrôle de crédit, y compris son bouton information. */
.npv2-map .maplibregl-ctrl-attrib,.npv2-map .maplibregl-ctrl-attrib-button{display:none!important}
.npv2-map-fallback{display:flex;align-items:center;justify-content:center;height:100%;padding:20px;color:var(--npv2-heading);text-align:center}
@media(max-width:767px){.npv2-map .maplibregl-canvas-container,.npv2-map .maplibregl-canvas{touch-action:pan-y}}


/* HEADER NATIF V2 — Navigation commune, état transparent puis clair, sous-menus et accès formation. */
.napso-header-v2-page{--napso-header-admin:0px}
.napso-header-v2-page.admin-bar{--napso-header-admin:32px}
.napso-header-v2-announcement{position:relative;height:36px;display:flex;align-items:center;justify-content:center;background:#055565;color:#fff;font:500 .8125rem/1.3 var(--napso-font-body);padding:0 45px}
.napso-header-v2-announcement a{color:inherit;text-decoration:none}
.napso-header-v2-announcement button{position:absolute;right:18px;top:4px;border:0;background:transparent;color:#fff;cursor:pointer;font-size:22px;padding:0 6px}
.napso-header-v2{position:fixed;top:calc(var(--napso-header-admin) + var(--napso-header-announcement,36px));left:0;right:0;z-index:1000;min-height:100px;padding:12px 3%;display:flex;align-items:center;justify-content:space-between;gap:25px;color:#fff;border-bottom:1px solid #ffffff70;background:#ffffff05;backdrop-filter:blur(10px);box-sizing:border-box;transition:top .35s ease,background-color .35s ease,color .35s ease,transform .45s ease;user-select:none}
.napso-header-v2.is-scrolled{top:var(--napso-header-admin);background:#fffffff0;color:#27364d;border-color:#2b464d40}
.napso-header-v2__logo{display:block;flex:none;width:140px}
.napso-header-v2__logo img{display:block;width:140px;height:auto;filter:brightness(0) invert(1)}
.napso-header-v2.is-scrolled .napso-header-v2__logo img{filter:none}
.napso-header-v2__menu,.napso-header-v2__menu .sub-menu{list-style:none;margin:0;padding:0}
.napso-header-v2__menu{display:flex;align-items:center;gap:clamp(12px,1.5vw,30px)}
.napso-header-v2__menu li{position:relative}
.napso-header-v2__menu a{display:block;max-width:115px;color:inherit!important;text-decoration:none;font:600 .8125rem/1.3 var(--napso-font-body);padding:10px 0;transition:opacity .25s ease}
.napso-header-v2__menu>li>a:hover{opacity:.7}
.napso-header-v2__menu>li.menu-item-has-children>a{padding-right:14px}
.napso-header-v2__menu>li.menu-item-has-children>a::after{content:"⌄";position:absolute;right:0;top:10px}
.napso-header-v2__menu .sub-menu{position:absolute;top:100%;left:-16px;min-width:240px;padding:12px 16px;background:#fff;color:#27364d;border-radius:5px;box-shadow:0 8px 24px #00000020;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s ease,transform .2s ease,visibility .2s ease}
.napso-header-v2__menu .sub-menu a{max-width:none;padding:9px 4px;font-weight:500}
.napso-header-v2__menu .sub-menu a:hover{color:#055565!important;background:#0555650d}
.napso-header-v2__menu li:is(:hover,:focus-within)>.sub-menu{opacity:1;visibility:visible;transform:none}
.napso-header-v2__account{display:flex;align-items:center;gap:12px;flex:none;font:500 .6875rem/1.4 var(--napso-font-body)}
.napso-header-v2__access{border:2px solid currentColor;border-radius:30px;padding:10px 15px;max-width:130px;text-align:center;color:inherit!important;text-decoration:none;font-weight:700}
.napso-header-v2__access.is-connected{background:#00a835;border-color:#00a835;color:#fff!important}
.napso-header-v2__user{max-width:120px}
.napso-header-v2__user span,.napso-header-v2__user a{display:block;color:inherit}
.napso-header-v2__control{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
.napso-header-v2__toggle,.napso-header-v2__submenu-toggle{display:none}
.napso-header-v2 a:focus-visible,.napso-header-v2 button:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:1180px){.napso-header-v2{min-height:80px;gap:15px}.napso-header-v2__toggle{display:flex;flex-direction:column;gap:5px;order:3;padding:10px;border:0;background:transparent;color:inherit;cursor:pointer}.napso-header-v2__toggle span{display:block;width:24px;height:2px;background:currentColor}.napso-header-v2__navigation{position:absolute;left:0;right:0;top:100%;max-height:calc(100dvh - 130px);overflow:auto;display:none;background:#fff;color:#27364d;padding:16px 6%}.napso-header-v2:has(#nav-control:checked) .napso-header-v2__navigation{display:block}.napso-header-v2__menu{display:block}.napso-header-v2__menu a{max-width:none;padding:12px 0}.napso-header-v2__menu .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 15px;min-width:0}.napso-header-v2__menu li.is-open>.sub-menu{display:block}.napso-header-v2__menu>li.menu-item-has-children>a::after{display:none}.napso-header-v2__submenu-toggle{display:block;position:absolute;right:0;top:0;padding:10px 14px;background:transparent;border:0;color:inherit;cursor:pointer}.napso-header-v2__account{margin-left:auto}.napso-header-v2__user{display:none}}
@media(max-width:782px){.napso-header-v2-page.admin-bar{--napso-header-admin:46px}}
@media(max-width:480px){.napso-header-v2{padding:10px 15px}.napso-header-v2__logo,.napso-header-v2__logo img{width:110px}.napso-header-v2__access{font-size:.625rem;padding:8px 10px}.napso-header-v2-announcement{font-size:.6875rem}}

.napso-header-v2__join{display:block;text-transform:uppercase;max-width:160px;font-size:.75rem;line-height:1.35}
@media(min-width:1181px) and (max-width:1439px){.napso-header-v2{gap:14px;padding-left:2%;padding-right:2%}.napso-header-v2__menu{gap:12px}.napso-header-v2__menu a{font-size:.75rem;max-width:100px}.napso-header-v2__account{gap:8px}.napso-header-v2__access{padding:9px 11px}}
@media(max-width:480px){.napso-header-v2__join{max-width:100px;font-size:.5625rem;padding:7px 8px}.napso-header-v2__account{gap:5px}.napso-header-v2__logo,.napso-header-v2__logo img{width:90px}.napso-header-v2{gap:6px}.napso-header-v2__toggle{padding:6px}}

/* Header V2 : accès formation assorti au bouton Devenir, avec verrou à gauche. */
.napso-header-v2__access{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:58px;box-sizing:border-box;font-size:.75rem;font-weight:600;line-height:1.35;text-transform:uppercase;border:2px solid currentColor;border-radius:40px}
.napso-header-v2__lock{width:19px;height:22px;flex:none}
@media(max-width:480px){.napso-header-v2__access{font-size:.5625rem;min-height:46px;gap:4px}.napso-header-v2__lock{width:14px;height:17px}}

/* Header V2 : bouton Devenir resserré horizontalement. */
.napso-header-v2 .napso-header-v2__join{padding-left:8px;padding-right:8px;width:auto;min-width:0;max-width:145px}

/* Header V2 : boutons Devenir et Intranet réduits de 20 %. */
.napso-header-v2 .napso-header-v2__access{min-height:46.4px;font-size:.6rem;padding:8px 12px;gap:6.4px}
.napso-header-v2 .napso-header-v2__join{padding-left:6.4px;padding-right:6.4px;max-width:116px}
.napso-header-v2 .napso-header-v2__lock{width:15.2px;height:17.6px}
@media(min-width:1181px) and (max-width:1439px){.napso-header-v2 .napso-header-v2__access{padding:7.2px 8.8px}.napso-header-v2 .napso-header-v2__join{padding-left:6.4px;padding-right:6.4px}}
@media(max-width:480px){.napso-header-v2 .napso-header-v2__access{min-height:36.8px;font-size:.45rem;padding:6.4px 8px;gap:3.2px}.napso-header-v2 .napso-header-v2__join{padding:5.6px 6.4px;max-width:80px}.napso-header-v2 .napso-header-v2__lock{width:11.2px;height:13.6px}}

/* Header V2 au scroll : cartouche blanc flottant, largeur réduite et contenu gris foncé. */
.napso-header-v2{transition:top .4s cubic-bezier(.22,1,.36,1),left .4s cubic-bezier(.22,1,.36,1),right .4s cubic-bezier(.22,1,.36,1),border-radius .4s ease,background-color .35s ease,color .35s ease,transform .45s ease}
.napso-header-v2.is-scrolled{top:calc(var(--napso-header-admin) + 14px);left:3%;right:3%;background:#fff;color:#353535;border:1px solid #00000008;border-radius:24px;box-shadow:0 7px 28px #00000014}
.napso-header-v2.is-scrolled .napso-header-v2__logo img{filter:grayscale(1) brightness(0) opacity(.8)}
.napso-header-v2.is-scrolled .napso-header-v2__access{color:#353535!important;border-color:#353535;background:transparent}
.napso-header-v2.is-scrolled .napso-header-v2__navigation,.napso-header-v2.is-scrolled .sub-menu{color:#353535}
@media(max-width:1180px){.napso-header-v2.is-scrolled .napso-header-v2__navigation{border-radius:0 0 24px 24px;box-shadow:0 12px 20px #00000012}}
@media(max-width:480px){.napso-header-v2.is-scrolled{left:10px;right:10px;top:calc(var(--napso-header-admin) + 10px);border-radius:18px;padding-left:10px;padding-right:10px}}

/* Header V2 au scroll : cartouche plus compact, blanc à 70 % et flou arrière. */
.napso-header-v2.is-scrolled{left:max(8%,calc((100% - 1120px)/2));right:max(8%,calc((100% - 1120px)/2));min-height:72px;padding:8px 22px;gap:16px;background:rgba(255,255,255,.7);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.napso-header-v2.is-scrolled .napso-header-v2__menu{gap:18px}
.napso-header-v2.is-scrolled .napso-header-v2__logo,.napso-header-v2.is-scrolled .napso-header-v2__logo img{width:120px}
@media(max-width:1180px){.napso-header-v2.is-scrolled{left:6%;right:6%;min-height:64px;padding:7px 16px}.napso-header-v2.is-scrolled .napso-header-v2__logo,.napso-header-v2.is-scrolled .napso-header-v2__logo img{width:110px}}
@media(max-width:480px){.napso-header-v2.is-scrolled{left:10px;right:10px;min-height:60px;padding:6px 10px;gap:6px}.napso-header-v2.is-scrolled .napso-header-v2__logo,.napso-header-v2.is-scrolled .napso-header-v2__logo img{width:85px}}

/* Header V2 compact au scroll : moitié de la largeur précédente et menu replié. */
@media(min-width:1181px){.napso-header-v2.is-scrolled{left:max(29%,calc((100% - 560px)/2));right:max(29%,calc((100% - 560px)/2));border-radius:50px;padding-left:18px;padding-right:18px;gap:10px}.napso-header-v2.is-scrolled .napso-header-v2__logo,.napso-header-v2.is-scrolled .napso-header-v2__logo img{width:95px}.napso-header-v2.is-scrolled .napso-header-v2__toggle{display:flex;flex-direction:column;gap:5px;order:3;padding:8px;border:0;background:transparent;color:inherit;cursor:pointer}.napso-header-v2.is-scrolled .napso-header-v2__toggle span{display:block;width:24px;height:2px;background:currentColor}.napso-header-v2.is-scrolled .napso-header-v2__navigation{position:absolute;left:0;right:0;top:calc(100% + 8px);max-height:calc(100dvh - 130px);overflow:auto;display:none;background:#fffffff2;color:#353535;padding:16px 24px;border-radius:24px;box-shadow:0 10px 28px #00000015}.napso-header-v2.is-scrolled:has(#nav-control:checked) .napso-header-v2__navigation{display:block}.napso-header-v2.is-scrolled .napso-header-v2__menu{display:block}.napso-header-v2.is-scrolled .napso-header-v2__menu a{max-width:none;padding:12px 0}.napso-header-v2.is-scrolled .napso-header-v2__menu .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 15px;min-width:0}.napso-header-v2.is-scrolled .napso-header-v2__menu li.is-open>.sub-menu{display:block}.napso-header-v2.is-scrolled .menu-item-has-children>a::after{display:none}.napso-header-v2.is-scrolled .napso-header-v2__submenu-toggle{display:block;position:absolute;right:0;top:0;padding:10px 14px;background:transparent;border:0;color:inherit;cursor:pointer}.napso-header-v2.is-scrolled .napso-header-v2__account{margin-left:auto;gap:6px}.napso-header-v2.is-scrolled .napso-header-v2__user{display:none}}
.napso-header-v2.is-scrolled{border-radius:50px}

/* Header V2 au scroll : décalage supérieur augmenté de 20 %. */
.napso-header-v2.is-scrolled{top:calc(var(--napso-header-admin) + 16.8px)}
@media(max-width:480px){.napso-header-v2.is-scrolled{top:calc(var(--napso-header-admin) + 12px)}}

/* Bandeau compact V2 : respiration sous les pastilles, sans contact avec le bord. */
.napso-directory .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){padding-bottom:24px}
.napso-directory .napso-directory__filters.is-stuck .napso-directory__children{top:0}
@media(max-width:767px){.napso-directory .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){padding-bottom:18px}}

/* Compteur V2 déplacé dans les résultats, centré et contextualisé avant les cartes. */
.napso-directory__results-counter{margin:0;padding:24px 12px 0;text-align:center;color:var(--directory-accent);font:500 .9375rem/1.5 var(--napso-font-body)}
.napso-directory__results-counter .napso-directory__availability-text{position:static!important;top:auto!important}
.napso-directory .napso-directory__status{display:none}

/* Bandeau V2 avec pastilles : hauteur suffisante et rangée non compressible. */
.napso-directory .napso-directory__dock .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){height:max(160px,calc(var(--napso-directory-header-height,100px) * 1.3 + 24px));min-height:160px;box-sizing:border-box;padding-top:12px;padding-bottom:24px}
.napso-directory .napso-directory__filters.is-stuck .napso-directory__roots{flex-shrink:0}
.napso-directory .napso-directory__filters.is-stuck .napso-directory__children:not([hidden]){flex:0 0 auto;height:auto;min-height:32px;padding-top:4px;padding-bottom:4px;overflow-y:visible;top:0}
@media(max-width:767px){.napso-directory .napso-directory__dock .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){height:max(140px,calc(var(--napso-directory-header-height,80px) * 1.3 + 18px));min-height:140px;padding-bottom:18px}}

/* Bandeau V2 : espace inférieur réduit de 60 %, compteur de résultats violet et plus discret. */
.napso-directory .napso-directory__dock .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){height:max(145.6px,calc(var(--napso-directory-header-height,100px) * 1.3 + 9.6px));min-height:145.6px;padding-bottom:9.6px}
.napso-directory .napso-directory__results-counter{color:#895aa6;font-size:.75rem}
@media(max-width:767px){.napso-directory .napso-directory__dock .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){height:max(129.2px,calc(var(--napso-directory-header-height,80px) * 1.3 + 7.2px));min-height:129.2px;padding-bottom:7.2px}}

/* Bandeau V2 : hauteur ajustée au contenu pour supprimer le surplus sous les pastilles. */
.napso-directory .napso-directory__dock .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){height:auto;min-height:0;justify-content:flex-start;padding-top:12px;padding-bottom:20px}
.napso-directory .napso-directory__results-counter{font-size:.825rem}
@media(max-width:767px){.napso-directory .napso-directory__dock .napso-directory__filters.is-stuck:has(.napso-directory__children:not([hidden])){padding-bottom:12px}}

/* Avatars V2 : centrés entre le bord gauche de la carte et le début des informations. */
.napso-directory .napso-directory__card .napso-directory__avatar{transform:translateX(-5.5px)}

/* Cartouches Pro V2 empilés : lien sous le nom, révélation verticale et centrage avec le pin. */
.napso-directory .napso-directory__map-name{top:-8px;border-radius:3px 3px 0 0}
.napso-directory .napso-directory__map-site{left:0;right:0;top:100%;bottom:auto;min-height:100%;box-sizing:border-box;justify-content:center;border-radius:0 0 3px 3px;clip-path:inset(0 0 100% 0)}
.napso-directory .napso-directory__pro-marker:is(:hover,:focus-within,.is-highlighted,.is-selected) .napso-directory__map-site{clip-path:inset(0)}

/* Cartouches Pro V2 : légèrement remontés et lien secondaire plus discret. */
.napso-directory .napso-directory__map-name{top:-13px}
.napso-directory .napso-directory__map-site{font-size:.5534375rem}

/* Cartouche Pro V2 : lien en gras et lettres plus aérées. */
.napso-directory .napso-directory__map-site{font-weight:700;letter-spacing:.08em}

/* Compteur V2 en grand format : espaces identiques avant et après la ligne. */
.napso-directory:not(.is-pro-view):has(.napso-directory__filters:not(.is-stuck)) .napso-directory__results{margin-top:32px}
.napso-directory:not(.is-pro-view):has(.napso-directory__filters:not(.is-stuck)) .napso-directory__toolbar{display:none}
.napso-directory:not(.is-pro-view):has(.napso-directory__filters:not(.is-stuck)) .napso-directory__results-counter{padding-top:0;padding-bottom:0}
.napso-directory:not(.is-pro-view):has(.napso-directory__filters:not(.is-stuck)) .napso-directory__grid{padding-top:32px}

/* Badges Pro V2 : chiffre assorti au fond actif, changement de couleur progressif. */
.napso-directory .napso-directory__card.is-pro :is(.napso-directory__departement,.napso-directory__arrondissement){transition:color .7s ease!important}
.napso-directory .napso-directory__card.is-pro:is(.is-map-highlighted,.is-map-selected) :is(.napso-directory__departement,.napso-directory__arrondissement){color:#c84479}

/* Pastille Fav. V2 : cœur violet au repos, rouge à la sélection. */
.napso-directory .napso-directory__favorites-pill svg{fill:currentColor}

/* Grands filtres V2 : fond rose arrondi au survol et à la sélection, sans décaler le contenu. */
.napso-directory .napso-directory__filters .napso-directory__root{isolation:isolate}
.napso-directory .napso-directory__filters .napso-directory__root::after{content:"";position:absolute;inset:-12px -20px;z-index:-1;border-radius:32px;background:#f8e2ef;opacity:0;pointer-events:none;transition:opacity .3s ease!important}
.napso-directory .napso-directory__filters .napso-directory__root:is(:hover,:focus-visible,.is-hovered,.is-active)::after{opacity:1}
.napso-directory .napso-directory__filters.is-stuck .napso-directory__root::after{inset:-6px -12px;border-radius:20px}

/* Grands filtres V2 : fond commun coulissant entre les quatre choix. */
.napso-directory .napso-directory__roots{position:relative;isolation:isolate}
.napso-directory .napso-directory__filters .napso-directory__root{isolation:auto}
.napso-directory .napso-directory__filters .napso-directory__root::after{display:none}
.napso-directory__filter-highlight{position:absolute;top:0;left:0;z-index:-1;background:#f8e2ef;border-radius:32px;pointer-events:none;visibility:hidden;transition:transform .4s cubic-bezier(.22,1,.36,1),width .4s cubic-bezier(.22,1,.36,1),height .4s cubic-bezier(.22,1,.36,1),border-radius .4s ease!important}
.napso-directory__filters.is-stuck .napso-directory__filter-highlight{border-radius:20px}

/* Fond coulissant V2 : mouvement plus posé, accélération et arrêt progressifs. */
.napso-directory__filter-highlight{transition:transform .65s cubic-bezier(.45,0,.2,1),width .65s cubic-bezier(.45,0,.2,1),height .65s cubic-bezier(.45,0,.2,1),border-radius .65s ease!important}

/* Bandeau compact V2 : rangée de pastilles abaissée pour dégager les grands filtres. */
.napso-directory .napso-directory__filters.is-stuck .napso-directory__children:not([hidden]){margin-top:13px}
@media(max-width:767px){.napso-directory .napso-directory__filters.is-stuck .napso-directory__children:not([hidden]){margin-top:11px}}

/* Nouvelles pages natives : retour en haut temporairement masqué, site historique inchangé. */
body.napso-header-v2-page #backToTop,body:has(.npv2) #backToTop{display:none!important}

/* Avatar Pro V2 : agrandissement et retour progressifs, sans règle de survol désactivant la transition. */
.napso-directory .napso-directory__card.is-pro .napso-directory__avatar img,.napso-directory .napso-directory__card.is-pro:is(:hover,:focus-within,.is-hovered) .napso-directory__avatar img{transition:opacity .4s ease,transform .6s cubic-bezier(.25,.1,.25,1)!important;transform-origin:center}

/* Annuaire V2 uniquement : signature Piprod Atlas discrète, centrée après les cartes. */
.napso-directory__signature{margin:38px 0 0;text-align:center;color:#d5b8c8;font:400 .625rem/1.5 var(--napso-font-body);letter-spacing:.02em}

/* Carte Pro V2 : poignée d’agrandissement dans la séparation ; hauteur minimale actuelle conservée. */
@media(min-width:1025px) and (pointer:fine){.napso-directory.is-pro-view .napso-directory__map-canvas{height:var(--napso-directory-user-map-height,clamp(220px,35dvh,420px))}.napso-directory__map-resize{position:absolute;bottom:0;left:0;right:0;height:30px;display:flex;align-items:center;justify-content:center;cursor:ns-resize;touch-action:none;user-select:none;z-index:30}.napso-directory__map-resize>span{width:42px;height:4px;border-radius:10px;background:#b68bd077;transition:width .2s ease,background-color .2s ease!important}.napso-directory__map-resize:is(:hover,:focus-visible,.is-dragging)>span{width:60px;background:#9569b0}.napso-directory__map-resize:focus-visible{outline:2px solid #9569b0;outline-offset:-4px}.napso-directory__pro-map.is-collapsed .napso-directory__map-resize{display:none}.napso-directory__pro-map{position:relative}}
@media(min-width:1920px) and (pointer:fine){.napso-directory.is-pro-view .napso-directory__map-canvas{height:var(--napso-directory-user-map-height,clamp(260px,35dvh,420px))}}
@media(max-width:1024px),(pointer:coarse){.napso-directory__map-resize{display:none}}
body.napso-map-resizing,body.napso-map-resizing *{cursor:ns-resize!important;user-select:none!important}

/* Poignée Pro V2 : repère visible, infobulle au survol et curseur vertical sur toute la zone. */
.napso-directory__map-resize,.napso-directory__map-resize *{cursor:ns-resize!important}
.napso-directory__map-resize>span{width:64px;height:5px;background:#b68bd0;border:1px solid #9569b033}
.napso-directory__map-resize:is(:hover,:focus-visible,.is-dragging){background:#b68bd015}
.napso-directory__map-resize:is(:hover,:focus-visible,.is-dragging)>span{width:86px;height:6px;background:#895aa6;box-shadow:0 2px 8px #895aa633}
.napso-directory__map-resize>small{position:absolute;bottom:calc(100% + 5px);left:50%;padding:7px 11px;border-radius:7px;background:#fff;color:#895aa6;box-shadow:0 4px 16px #563e6826;font:600 .6875rem/1.3 var(--napso-font-body);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,4px);transition:opacity .2s ease,transform .25s ease!important}
.napso-directory__map-resize:is(:hover,:focus-visible)>small{opacity:1;visibility:visible;transform:translate(-50%,0)}
.napso-directory__map-resize.is-dragging>small{opacity:0;visibility:hidden}

/* Poignée carte V2 : flèches verticales plutôt qu’un trait évoquant un ascenseur horizontal. */
.napso-directory__map-resize>span{display:flex;align-items:center;justify-content:center;width:36px;height:24px;border-radius:8px;background:#b68bd033;border:0;color:#895aa6}
.napso-directory__map-resize>span svg{width:18px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.napso-directory__map-resize:is(:hover,:focus-visible,.is-dragging)>span{width:44px;height:26px;background:#b68bd055;color:#75468f;box-shadow:0 2px 8px #895aa622}
html.napso-map-resizing,html.napso-map-resizing body,html.napso-map-resizing .napso-directory{overflow-anchor:none!important;scroll-behavior:auto!important}
.napso-directory .napso-directory__map-canvas{max-height:none}

/* Carte Pro V2 sans WebGL : fond raster de secours et commandes conservées. */
.napso-directory__map-canvas.is-raster-map{background:#f2f2f2}
.napso-directory__map-canvas.is-raster-map .leaflet-tile-pane{filter:grayscale(.65);opacity:.88}
.napso-directory__raster-marker{background:transparent;border:0}
.napso-directory__map-canvas.is-raster-map .leaflet-bottom.leaflet-left{left:var(--napso-directory-map-controls-left,24px);bottom:16px}
.napso-directory__map-canvas.is-raster-map .leaflet-control-zoom{margin:0;opacity:.45;transition:opacity .3s ease!important}
.napso-directory__map-canvas.is-raster-map .leaflet-control-zoom:is(:hover,:focus-within){opacity:1}
.napso-directory__map-canvas.is-raster-map .leaflet-control-zoom a{background:#fff!important;color:#333!important}

/* ANNUAIRE V2 — Pro : carte à gauche et fiches sur deux colonnes à droite. */
.napso-directory__pro-layout{display:contents;--napso-pro-map-share:48%}
@media(min-width:1025px){.napso-directory.is-pro-view .napso-directory__pro-layout{display:grid;grid-template-columns:var(--napso-pro-map-share) minmax(0,1fr);align-items:start;width:var(--napso-directory-width,100%);margin-left:calc(50% - var(--napso-directory-width,100%)/2);gap:0}.napso-directory.is-pro-view .napso-directory__pro-layout>.napso-directory__pro-map{position:sticky;top:calc(var(--napso-directory-sticky-top,0px) + var(--napso-directory-filter-height,100px))!important;min-width:0;width:100%;margin:0;padding:0;overflow:hidden;align-self:start}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__map-reveal{height:calc(100dvh - var(--napso-directory-sticky-top,0px) - var(--napso-directory-filter-height,100px) - 16px)!important}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__map-canvas{height:100%!important;min-height:440px;max-height:none;width:100%}.napso-directory.is-pro-view .napso-directory__pro-layout>.napso-directory__results{width:100%;max-width:none;margin:0;padding:0 24px;box-sizing:border-box;min-width:0}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;padding-top:24px}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__map-resize{display:none}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__results-counter{padding-top:24px}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__signature{padding-bottom:24px}}

/* Pro : colonnes adaptatives pendant que la carte pousse le panneau des fiches. */
@media(min-width:1025px){.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__grid{grid-template-columns:repeat(var(--napso-pro-columns,4),minmax(0,1fr))}}

/* Pro : largeur des fiches conservée ; Flip anime uniquement leur déplacement. */
@media(min-width:1025px){.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__grid{grid-template-columns:repeat(var(--napso-pro-columns,4),var(--napso-pro-card-width,minmax(0,1fr)));justify-content:start}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__card{transition-property:background-color,box-shadow!important}}

/* Annuaire V2 : étoiles vectorielles identiques dans tous les navigateurs. */
.napso-directory__card.is-pro .napso-directory__stars{display:inline-flex;align-items:center;gap:2px;font-size:0;line-height:1;transform:translateY(-2px);flex-shrink:0}.napso-directory__card.is-pro .napso-directory__stars svg{display:block;width:17px;height:17px;flex:0 0 17px;fill:currentColor}

/* Annuaire V2 : coins des étoiles arrondis par contour SVG de rayon 0,7 px. */
.napso-directory__card.is-pro .napso-directory__stars svg path{stroke:currentColor;stroke-width:1.4px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;transform:translate(12px,12px) scale(.93) translate(-12px,-12px);transform-origin:0 0}

/* Annuaire V2 : cartes Pro opaques et alignées, sans révélation individuelle au défilement. */
.napso-directory .napso-directory__card.is-pro{align-self:stretch}.napso-directory.is-pro-view .napso-directory__grid{align-items:stretch}

/* Annuaire V2 : vider les favoris en une action. */
.napso-directory .napso-directory__clear-favorites{display:block;width:max-content;margin:0 auto 20px;padding:8px 16px;border:1px solid #b68bd0;border-radius:24px;background:transparent;color:#895aa6;font:600 .75rem/1.3 var(--napso-font-body);cursor:pointer;transition:background-color .2s ease!important}.napso-directory .napso-directory__clear-favorites:hover{background:#f8e2ef}.napso-directory .napso-directory__clear-favorites[hidden]{display:none}

/* Leaflet Positron : fond clair teinté rose, indépendant de WebGL. */
.napso-directory__map-canvas.is-positron-map{background:#f8e2ef!important;isolation:isolate}.napso-directory__map-canvas.is-positron-map .leaflet-tile-pane{filter:grayscale(1);mix-blend-mode:multiply;opacity:.88}

.napso-directory__map-canvas.is-positron-map::after{content:"";position:absolute;inset:0;background:#f3d8e9;opacity:.6;mix-blend-mode:multiply;pointer-events:none;z-index:350}

/* Leaflet Positron : fusion du fond clair avec le rose de la page. */
.napso-directory__map-canvas.is-positron-map{background:var(--directory-background)!important}.napso-directory__map-canvas.is-positron-map .leaflet-tile-pane{mix-blend-mode:multiply;filter:grayscale(1);opacity:1}.napso-directory__map-canvas.is-positron-map::after{display:none}.napso-directory__map-canvas.is-positron-map .leaflet-control-attribution{font-size:9px;line-height:1.3;padding:2px 4px;background:rgba(255,255,255,.5);color:#777}.napso-directory__map-canvas.is-positron-map .leaflet-control-attribution a{color:#777}

/* Annuaire V2 : fond Leaflet fondu avec la page ; crédits masqués à la demande. */
.napso-directory__map-canvas.is-positron-map{mix-blend-mode:multiply;isolation:auto;background:transparent!important}.napso-directory__map-canvas.is-positron-map .leaflet-tile-pane{mix-blend-mode:normal}.napso-directory__pro-map .leaflet-control-attribution{display:none!important}

/* Annuaire V2 : wrappers bord à bord et carte jusqu’au bas de la fenêtre. */
body:has(.napso-directory){margin:0!important;padding-left:0!important;padding-right:0!important}.napso-directory__section{padding-left:0!important;padding-right:0!important}.napso-directory .napso-directory__dock{width:100%;margin-left:0}.napso-directory .napso-directory__dock .napso-directory__filters{width:100%;margin-left:0}
@media(min-width:1025px){.napso-directory.is-pro-view .napso-directory__pro-layout{width:100%;margin-left:0}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__map-reveal{height:max(0px,calc(100dvh - var(--napso-directory-sticky-top,0px) - var(--napso-directory-filter-height,100px)))!important}.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__map-canvas{min-height:0!important;height:100%!important}.napso-directory .napso-directory__results{width:100%;max-width:none;box-sizing:border-box}}

@media(min-width:1025px){.napso-directory.is-pro-view .napso-directory__pro-layout .napso-directory__map-reveal{height:var(--napso-pro-visible-map-height,calc(100dvh - var(--napso-directory-filter-height,100px)))!important}}

/* Annuaire V2 : fond plein écran, fiches espacées des bords. */
.napso-directory .napso-directory__results{box-sizing:border-box;padding-left:24px;padding-right:24px}@media(max-width:767px){.napso-directory .napso-directory__results{padding-left:15px;padding-right:15px}}

/* Positron : rendu normal et eau bleu Pro très atténué, recolorée dans les tuiles. */
.napso-directory__map-canvas.is-positron-map{mix-blend-mode:normal;isolation:isolate;background:#fafafa!important}.napso-directory__map-canvas.is-positron-map .leaflet-tile-pane{mix-blend-mode:normal;filter:none;opacity:1}.napso-directory__map-canvas.is-positron-map::after{display:none}

/* Relief geographic léger et gris, sous les pins. */
.napso-directory__map-canvas.is-positron-map .leaflet-napso-relief-pane{filter:grayscale(1);mix-blend-mode:multiply;pointer-events:none}

/* Fiches Pro : géographie en haut, identité et avis groupés, téléphone aligné en bas. */
.napso-directory .napso-directory__card.is-pro{min-height:180px;box-sizing:border-box}.napso-directory .napso-directory__card.is-pro>.napso-directory__avatar{align-self:center}.napso-directory .napso-directory__card.is-pro>.napso-directory__info{display:flex;flex-direction:column;align-self:stretch;min-height:160px}.napso-directory .napso-directory__card.is-pro .napso-directory__location{min-height:48px;align-content:flex-start;align-items:center;gap:4px 9px;flex-shrink:0}.napso-directory .napso-directory__card.is-pro .napso-directory__identity{margin-top:4px;margin-bottom:6px}.napso-directory .napso-directory__card.is-pro .napso-directory__identity h3{margin:0;line-height:1.3}.napso-directory .napso-directory__card.is-pro .napso-directory__reviews{margin:3px 0 0;line-height:1.2}.napso-directory .napso-directory__card.is-pro .napso-directory__phone{margin-top:auto;min-height:22px;flex-shrink:0}.napso-directory .napso-directory__card.is-pro .napso-directory__stars{transform:none}

.napso-directory .napso-directory__card.is-pro .napso-directory__location{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start}.napso-directory .napso-directory__card.is-pro .napso-directory__geo-badges{display:flex;flex-wrap:wrap;gap:4px;max-width:85px}.napso-directory .napso-directory__card.is-pro .napso-directory__location>span:last-child{padding-top:4px;min-width:0}

/* Fiches Pro : rapprocher les lignes extérieures sans déplacer le nom et les étoiles. */
.napso-directory .napso-directory__card.is-pro .napso-directory__location{transform:translateY(12px)}.napso-directory .napso-directory__card.is-pro .napso-directory__phone{transform:translateY(-12px)}

/* Fiches Pro : identité légèrement descendue et ville tronquée seulement si nécessaire. */
.napso-directory .napso-directory__card.is-pro .napso-directory__identity{transform:translateY(15%)}.napso-directory .napso-directory__card.is-pro .napso-directory__location>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}

/* Fiches Pro : lien décalé de 30 % vers la gauche depuis sa position précédente. */
.napso-directory .napso-directory__card.is-pro .napso-directory__profile>span{transform:translateX(10%)}
