:root{--pi-bleu:#14243e;--pi-bleu-clair:#2b617c;--pi-or:#d8a000;--pi-texte:#44536a;--pi-bordure:#d8dee7;--pi-fond:#f5f7fa}
.pi-repertoire,.pi-fiche{max-width:1120px;margin:0 auto;padding:clamp(4rem,8vw,8rem) 1rem 3rem;color:var(--pi-texte);font-family:inherit}
.pi-entete-editoriale{--pi-entete-accent:var(--pi-bleu-clair);--pi-entete-or:var(--pi-or);margin-bottom:2.2rem}.pi-entete-ligne,.pi-hero-ligne{border-left:3px solid var(--pi-entete-accent);padding-left:1.2rem}.pi-entete-editoriale h1,.pi-hero-editorial h1{max-width:980px;margin:.55rem 0 1rem;color:var(--pi-bleu);font-size:clamp(3rem,6vw,5.35rem);font-weight:800;letter-spacing:-.035em;line-height:.98;text-transform:none}.pi-entete-editoriale p,.pi-hero-editorial p{max-width:880px;margin:0;color:#718096;font-size:1.16rem;line-height:1.55}.pi-surtitre,.pi-type{display:block;color:var(--pi-entete-accent);font-size:.76rem;font-weight:800;letter-spacing:.2em;line-height:1.4;text-transform:uppercase}.pi-accent-dore{width:92px;height:3px;margin-top:1.5rem;background:var(--pi-entete-or)}
.pi-grille{display:grid;grid-template-columns:repeat(var(--pi-colonnes),minmax(0,1fr));gap:1.45rem}.pi-carte{display:flex;min-width:0;flex-direction:column;background:#fff;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or);border-radius:0;box-shadow:0 12px 30px rgba(20,36,62,.07);transition:transform .2s ease,box-shadow .2s ease}.pi-carte:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,36,62,.12)}.pi-carte-image{height:205px;overflow:hidden;background:#eef1f5;border-bottom:1px solid var(--pi-bordure)}.pi-carte-image img{display:block;width:100%;height:100%;object-fit:cover}.pi-carte-contenu{display:flex;flex:1;flex-direction:column;padding:1.55rem}.pi-carte h2{margin:.45rem 0 .85rem;color:var(--pi-bleu);font-size:clamp(1.55rem,2.3vw,2.05rem);font-weight:750;letter-spacing:-.02em;line-height:1.08}.pi-resume{margin:0 0 1rem;color:#667085;line-height:1.55}.pi-chiffres{display:flex;gap:.55rem 1.15rem;flex-wrap:wrap;margin:1rem 0 1.35rem;padding-top:1rem;border-top:1px solid #e9edf2;color:var(--pi-texte)}.pi-chiffres strong{color:var(--pi-bleu)}.pi-bouton{align-self:flex-start;display:inline-flex;align-items:center;justify-content:center;margin-top:auto;padding:.72rem 1.05rem;border:1px solid var(--pi-bleu-clair);border-radius:0;color:#0457c7;text-decoration:none;font-weight:750;transition:background .2s,color .2s}.pi-bouton:hover,.pi-bouton:focus{background:var(--pi-bleu);color:#fff;text-decoration:none}
.pi-hero-editorial{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,42%);grid-template-areas:"content image";gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-bottom:2.5rem}.pi-hero-editorial.pi-hero-sans-image{grid-template-columns:1fr;grid-template-areas:"content"}.pi-hero-contenu{grid-area:content}.pi-hero-image{grid-area:image}.pi-hero-image img{display:block;width:100%;max-height:470px;object-fit:cover;border-radius:0;box-shadow:0 16px 38px rgba(20,36,62,.14)}.pi-localisation{margin:.2rem 0 .7rem;color:var(--pi-bleu-clair);font-weight:750}.pi-statistiques{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1px;margin:2.4rem 0;background:var(--pi-bordure);border-top:3px solid var(--pi-or);border-bottom:1px solid var(--pi-bordure)}.pi-statistiques div{min-height:125px;padding:1.4rem;background:#fff;color:var(--pi-texte)}.pi-statistiques strong{display:block;margin-bottom:.2rem;color:var(--pi-bleu);font-size:clamp(1.65rem,3vw,2.35rem);line-height:1}.pi-statistiques span{font-size:.9rem}.pi-contenu-deux-colonnes{display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:clamp(2rem,4vw,4rem);align-items:start}.pi-section{padding:2.2rem 0;border-bottom:1px solid var(--pi-bordure)}.pi-section h2,.pi-gouvernance h2,.pi-coordonnees h2,.pi-source h2{margin:.45rem 0 1rem;color:var(--pi-bleu);font-size:clamp(1.7rem,3vw,2.45rem);line-height:1.1}.pi-section p,.pi-section li{line-height:1.75}.pi-blocs-infos{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.pi-blocs-infos>div{padding:1.35rem;background:var(--pi-fond);border-left:3px solid var(--pi-or)}.pi-blocs-infos h3{margin-top:0;color:var(--pi-bleu)}.pi-gouvernance,.pi-coordonnees{padding:1.45rem;margin-bottom:1.25rem;background:#fff;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or);border-radius:0;box-shadow:0 10px 24px rgba(20,36,62,.06)}.pi-gouvernance img{display:block;width:100%;max-height:330px;object-fit:cover;border-radius:0;margin-bottom:1.25rem}.pi-coordonnees a,.pi-lien{color:#0457c7;font-weight:750}.pi-carte-embed{overflow:hidden;border:1px solid var(--pi-bordure);border-radius:0;background:#eef1f5}.pi-carte-embed iframe{display:block;width:100%;height:430px;border:0}.pi-source{margin-top:3rem;padding:1.7rem 0;border-top:3px solid var(--pi-or);border-bottom:1px solid var(--pi-bordure);background:transparent}.pi-source p{margin:.5rem 0}.pi-source-date{font-size:.9rem;color:#657084}
@media(max-width:1050px){.pi-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.pi-hero-editorial,.pi-contenu-deux-colonnes{grid-template-columns:1fr;grid-template-areas:"content" "image"}.pi-hero-image img{max-height:420px}}
@media(max-width:640px){.pi-repertoire,.pi-fiche{padding:3rem .75rem 2rem}.pi-grille{grid-template-columns:1fr}.pi-entete-ligne,.pi-hero-ligne{padding-left:.9rem}.pi-entete-editoriale h1,.pi-hero-editorial h1{font-size:clamp(2.45rem,13vw,3.8rem)}.pi-carte-embed iframe{height:320px}}

/* Cartographie et délimitations — v0.3.2 */
.pi-carte-generale{margin:2.3rem 0 3rem;padding:1.7rem;background:#fff;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or);box-shadow:0 12px 30px rgba(20,36,62,.07)}
.pi-carte-generale-entete,.pi-carte-officielle-entete{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.25rem}
.pi-carte-generale h2,.pi-carte-officielle h3{margin:.4rem 0 .55rem;color:var(--pi-bleu);font-size:clamp(1.65rem,3vw,2.45rem);line-height:1.08}
.pi-carte-generale p{max-width:760px;margin:0;line-height:1.55}
.pi-carte-pdf{display:block;width:100%;height:610px;border:1px solid var(--pi-bordure);background:#eef1f5}
.pi-carte-pdf-generale{height:min(72vh,760px)}
.pi-section-carte{overflow:visible}
.pi-carte-interactive{width:100%;height:480px;border:1px solid var(--pi-bordure);background:#eef1f5;z-index:1}
.pi-carte-interactive .leaflet-control-attribution{font-size:.68rem}
.pi-carte-erreur{display:flex;align-items:center;justify-content:center;padding:2rem;color:#6b7280;text-align:center}
.pi-note-carte{margin:.85rem 0 0;padding:.8rem 1rem;background:var(--pi-fond);border-left:3px solid var(--pi-or);font-size:.9rem;line-height:1.55}
.pi-carte-officielle{margin-top:1.35rem}
.pi-carte-officielle-secondaire{padding-top:1.5rem;border-top:1px solid var(--pi-bordure)}
.pi-carte-officielle-entete h3{font-size:1.45rem}
@media(max-width:760px){.pi-carte-generale-entete,.pi-carte-officielle-entete{align-items:flex-start;flex-direction:column}.pi-carte-pdf,.pi-carte-pdf-generale{height:470px}.pi-carte-interactive{height:380px}}
@media(max-width:480px){.pi-carte-pdf,.pi-carte-pdf-generale{height:390px}.pi-carte-interactive{height:330px}}

/* Contenus associés compacts — v0.4.1 */
.pi-relations-ensemble{margin-top:3rem;padding-top:1.55rem;border-top:3px solid var(--pi-or)}
.pi-relations-ensemble-entete{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;margin-bottom:1.25rem}
.pi-relations-ensemble-entete h2{margin:.25rem 0 0;color:var(--pi-bleu);font-size:clamp(1.7rem,2.8vw,2.35rem);line-height:1.05}
.pi-relations-groupes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;align-items:start}
.pi-section-relations{min-width:0;margin:0;padding:0;border:0}
.pi-relations-entete{margin-bottom:.7rem;padding-bottom:.65rem;border-bottom:1px solid var(--pi-bordure)}
.pi-relations-entete h3{margin:.22rem 0 0;color:var(--pi-bleu);font-size:1.25rem;line-height:1.08}
.pi-relations-cartes{display:grid;grid-template-columns:1fr;gap:.7rem}
.pi-relation-carte{display:grid;grid-template-columns:86px minmax(0,1fr);min-width:0;min-height:86px;background:#fff;border:1px solid var(--pi-bordure);border-left:3px solid var(--pi-or);box-shadow:0 5px 14px rgba(20,36,62,.055)}
.pi-relation-carte:not(:has(.pi-relation-image)){grid-template-columns:1fr}
.pi-relation-image{width:86px;height:100%;min-height:86px;overflow:hidden;background:#eef1f5;border:0;border-right:1px solid var(--pi-bordure)}
.pi-relation-image img{display:block;width:100%;height:100%;object-fit:cover}
.pi-relation-contenu{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:.72rem .8rem}
.pi-relation-contenu h4{margin:0 0 .28rem;color:var(--pi-bleu);font-size:1rem;line-height:1.18}
.pi-relation-contenu time{display:block;margin:0 0 .35rem;color:#68758a;font-size:.78rem}
.pi-lien-relation{align-self:flex-start;color:#0457c7;font-size:.82rem;font-weight:750;text-decoration:none}
.pi-lien-relation:hover,.pi-lien-relation:focus{text-decoration:underline}
.pi-relations-galeries .pi-relation-carte{border-left-color:var(--pi-bleu-clair)}
.pi-relations-publications .pi-relation-carte{border-left-color:var(--pi-bleu)}
@media(max-width:980px){.pi-relations-groupes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.pi-relations-ensemble-entete{align-items:flex-start;flex-direction:column}.pi-relations-groupes{grid-template-columns:1fr}.pi-relation-carte{grid-template-columns:78px minmax(0,1fr)}.pi-relation-image{width:78px;min-height:78px}}

/* Délimitations officielles — v0.5.0 */
.pi-delimitation-officielle{margin:1.1rem 0 1.4rem;background:#fff;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or);box-shadow:0 10px 26px rgba(20,36,62,.07)}
.pi-delimitation-officielle a{display:block;overflow:hidden;background:#eef1f5}
.pi-delimitation-officielle img{display:block;width:100%;max-height:470px;object-fit:contain;background:#fff;transition:transform .25s ease}
.pi-delimitation-officielle a:hover img{transform:scale(1.015)}
.pi-delimitation-officielle figcaption{padding:.9rem 1rem;color:#5d6878;font-size:.88rem;line-height:1.55;border-top:1px solid var(--pi-bordure)}

.pi-carte-pdf-lien{display:flex;align-items:center;justify-content:space-between;gap:1.25rem;padding:1.25rem 1.4rem;border:1px solid var(--pi-bordure);background:#f7f9fb}
.pi-carte-pdf-lien p{margin:0;color:#5f6c7b;line-height:1.55}
.pi-carte-pdf-lien .pi-bouton{flex:0 0 auto;margin:0}
.pi-carte-pdf-lien-generale{margin-top:1.2rem}
@media(max-width:760px){.pi-carte-pdf-lien{align-items:flex-start;flex-direction:column}.pi-carte-pdf-lien .pi-bouton{width:100%}}

/* Identification officielle du territoire sur la carte */
.pi-reference-carte {
    margin: -.35rem 0 1.25rem;
    font-size: 1.05rem;
    line-height: 1.4;
    color: #1b3150;
}
.pi-reference-carte strong { font-weight: 700; }
.pi-reference-carte span { color: #9b7500; font-weight: 700; }

/* Carte officielle simplifiée — v0.5.4 */
.pi-lien-carte-officielle{display:inline-block;margin-left:.35rem;color:#0457c7;font-weight:750;text-decoration:none}
.pi-lien-carte-officielle:hover,.pi-lien-carte-officielle:focus{text-decoration:underline}
.pi-carte-pdf-lien>div{min-width:0}
.pi-carte-pdf-lien .pi-surtitre{display:block;margin-bottom:.35rem}
@media(max-width:760px){.pi-lien-carte-officielle{display:block;margin:.45rem 0 0}}


/* Répertoire des entreprises — v0.6.0 */
.pi-actions-carte{display:flex;align-items:center;gap:.9rem;flex-wrap:wrap;margin-top:auto}
.pi-actions-carte .pi-bouton{margin-top:0}
.pi-lien-entreprises-carte{color:#0457c7;font-size:.9rem;font-weight:750;text-decoration:none}
.pi-lien-entreprises-carte:hover,.pi-lien-entreprises-carte:focus{text-decoration:underline}

.pi-acces-entreprises{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:1.35rem 0 2.5rem;padding:1.4rem 1.55rem;background:#fff;border:1px solid var(--pi-bordure);border-left:4px solid var(--pi-or);box-shadow:0 8px 22px rgba(20,36,62,.055)}
.pi-acces-entreprises h2{margin:.28rem 0 .4rem;color:var(--pi-bleu);font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.08}
.pi-acces-entreprises p{margin:0;color:#647084;line-height:1.55}
.pi-acces-entreprises .pi-bouton{flex:0 0 auto;margin:0}

.pi-repertoire-entreprises .pi-entete-editoriale{margin-bottom:2rem}
.pi-entreprises-barre{margin-bottom:1.65rem}
.pi-retour-territoire{display:inline-flex;margin-bottom:1.1rem;color:#0457c7;font-weight:750;text-decoration:none}
.pi-retour-territoire:hover,.pi-retour-territoire:focus{text-decoration:underline}
.pi-filtres-entreprises{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) auto auto;gap:.85rem;align-items:end;padding:1.15rem;background:#f7f9fb;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or)}
.pi-filtres-entreprises label{display:block;margin-bottom:.35rem;color:var(--pi-bleu);font-size:.82rem;font-weight:750}
.pi-filtres-entreprises input,.pi-filtres-entreprises select{width:100%;min-height:46px;padding:.7rem .8rem;border:1px solid #cbd3dd;border-radius:0;background:#fff;color:var(--pi-texte)}
.pi-filtres-entreprises .pi-bouton{margin:0;min-height:46px}
.pi-reinitialiser{align-self:center;color:#0457c7;font-size:.88rem;font-weight:750;text-decoration:none}
.pi-reinitialiser:hover,.pi-reinitialiser:focus{text-decoration:underline}

.pi-grille-entreprises{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pi-carte-entreprise{display:flex;min-width:0;min-height:205px;flex-direction:column;padding:1.25rem 1.3rem;background:#fff;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or);box-shadow:0 8px 22px rgba(20,36,62,.055)}
.pi-carte-entreprise h2{margin:.45rem 0 .65rem;color:var(--pi-bleu);font-size:1.28rem;line-height:1.15}
.pi-produit-vedette{margin:0;color:#647084;line-height:1.55}
.pi-lien-entreprise-territoire{margin-top:auto;padding-top:1rem;color:#0457c7;font-size:.85rem;font-weight:750;text-decoration:none}
.pi-lien-entreprise-territoire:hover,.pi-lien-entreprise-territoire:focus{text-decoration:underline}
.pi-pagination-entreprises{display:flex;justify-content:center;margin:2rem 0}
.pi-aucune-entreprise{padding:2rem;background:#f7f9fb;border:1px solid var(--pi-bordure);border-left:4px solid var(--pi-or)}
.pi-aucune-entreprise h2{margin:.35rem 0;color:var(--pi-bleu)}
.pi-source-entreprises{margin-top:2.2rem;padding:1rem 0;border-top:1px solid var(--pi-bordure);color:#657084;font-size:.88rem;line-height:1.55}

@media(max-width:980px){
  .pi-grille-entreprises{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pi-filtres-entreprises{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .pi-acces-entreprises{align-items:flex-start;flex-direction:column}
  .pi-acces-entreprises .pi-bouton{width:100%}
  .pi-filtres-entreprises{grid-template-columns:1fr}
  .pi-grille-entreprises{grid-template-columns:1fr}
}

/* AXE 2 — Territoires vivants — v0.7.0 */
html{scroll-behavior:smooth}
.pi-navigation-fiche{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:1.25rem;margin:-.25rem 0 1.5rem;padding:.82rem 1rem;background:#fff;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or);box-shadow:0 7px 20px rgba(20,36,62,.05)}
.pi-navigation-identite{display:flex;align-items:center;gap:.65rem;color:var(--pi-bleu);font-size:.78rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.pi-navigation-identite strong{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .5rem;background:var(--pi-bleu);color:#fff;font-size:.7rem;letter-spacing:.04em}
.pi-navigation-liens{display:flex;align-items:center;justify-content:flex-end;gap:.25rem;flex-wrap:wrap}
.pi-navigation-liens a{padding:.48rem .65rem;color:#31445f;font-size:.82rem;font-weight:700;text-decoration:none;border-bottom:2px solid transparent}
.pi-navigation-liens a:hover,.pi-navigation-liens a:focus{color:#0457c7;border-bottom-color:var(--pi-or)}
.pi-coup-oeil{margin:0 0 1.35rem;padding:1.25rem 1.35rem 0;background:#f7f9fb;border:1px solid var(--pi-bordure)}
.pi-coup-oeil-entete{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1rem}
.pi-coup-oeil-entete h2{margin:.22rem 0 0;color:var(--pi-bleu);font-size:clamp(1.45rem,2.5vw,2rem);line-height:1.08}
.pi-millesime{flex:0 0 auto;padding:.42rem .65rem;background:#fff;border:1px solid var(--pi-bordure);color:#647084;font-size:.78rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}
.pi-statistiques-territoire{margin:0;border-left:0;border-right:0;border-bottom:0;background:#fff}
.pi-statistiques-territoire>div{position:relative;padding:1.15rem 1rem 1.1rem}
.pi-statistiques-territoire>div:before{content:"";position:absolute;left:1rem;top:0;width:34px;height:3px;background:var(--pi-or)}
.pi-statistiques-territoire strong{font-size:clamp(1.65rem,3vw,2.45rem)}
.pi-acces-entreprises{position:relative;overflow:hidden}
.pi-acces-entreprises:after{content:"";position:absolute;right:-28px;top:-36px;width:120px;height:120px;border:1px solid rgba(20,49,79,.09);transform:rotate(45deg);pointer-events:none}
.pi-contenu-deux-colonnes main>.pi-section[id],.pi-contenu-deux-colonnes aside>section[id],.pi-relations-ensemble[id],.pi-acces-entreprises[id]{scroll-margin-top:110px}
.pi-gouvernance{border-top:3px solid var(--pi-or)}
.pi-gouvernance img{aspect-ratio:4/3;object-fit:cover;background:#eef1f5}
.pi-section-carte{padding-top:1.4rem;border-top:1px solid var(--pi-bordure)}
@media(max-width:900px){.pi-navigation-fiche{align-items:flex-start;flex-direction:column}.pi-navigation-liens{justify-content:flex-start}.pi-coup-oeil-entete{align-items:flex-start;flex-direction:column}.pi-millesime{align-self:flex-start}}
@media(max-width:640px){.pi-navigation-fiche{padding:.8rem}.pi-navigation-liens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:.15rem}.pi-navigation-liens a{padding:.55rem .4rem}.pi-coup-oeil{padding:1rem 1rem 0}.pi-statistiques-territoire>div{padding:1rem .75rem}}

/* Cartographie économique interactive — v1.2.0 */
.pi-cartographie-economique .pi-entete-editoriale{margin-bottom:1.4rem}
.pi-carte-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:0 0 1.2rem;background:var(--pi-bordure);border:1px solid var(--pi-bordure)}
.pi-carte-stats>div{display:flex;min-height:96px;flex-direction:column;justify-content:center;padding:1rem 1.2rem;background:#fff}
.pi-carte-stats strong{color:var(--pi-bleu);font-size:clamp(1.55rem,3vw,2.2rem);line-height:1}
.pi-carte-stats span{margin-top:.4rem;color:#68758a;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.pi-carte-outils{display:grid;grid-template-columns:minmax(210px,1.3fr) repeat(4,minmax(145px,.8fr)) auto;gap:.75rem;align-items:end;padding:1rem;background:#f7f9fb;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or)}
.pi-carte-outils label{display:block;margin:0 0 .3rem;color:var(--pi-bleu);font-size:.78rem;font-weight:800}
.pi-carte-outils input,.pi-carte-outils select{width:100%;min-height:44px;padding:.62rem .7rem;background:#fff;border:1px solid #cbd3dd;border-radius:0;color:var(--pi-texte)}
.pi-carte-actions .pi-bouton{min-height:44px;margin:0;white-space:nowrap}
.pi-carte-economique-canvas{width:100%;min-height:420px;border:1px solid var(--pi-bordure);border-top:0;background:#e9eef2;z-index:1}
.pi-carte-note{margin:.7rem 0 0;color:#6b7688;font-size:.84rem;line-height:1.5}
.pi-map-popup span{display:inline-block;color:#9b7500;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.pi-map-popup h3{margin:.25rem 0 .55rem;color:#14314f;font-size:1.15rem;line-height:1.15}
.pi-map-popup p{margin:.35rem 0;color:#536176;line-height:1.4}
.pi-map-popup>div{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.65rem;border-top:1px solid #e3e7eb}
.pi-map-popup a{color:#0457c7;font-weight:750;text-decoration:none}
.pi-map-popup a:hover{text-decoration:underline}
.marker-cluster-small,.marker-cluster-medium,.marker-cluster-large{background:rgba(216,160,0,.32)}
.marker-cluster-small div,.marker-cluster-medium div,.marker-cluster-large div{background:#14314f;color:#fff;font-weight:800}
@media(max-width:1180px){.pi-carte-outils{grid-template-columns:repeat(3,minmax(0,1fr))}.pi-carte-actions{align-self:end}}
@media(max-width:820px){.pi-carte-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.pi-carte-outils{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.pi-carte-stats,.pi-carte-outils{grid-template-columns:1fr}.pi-carte-actions .pi-bouton{width:100%}.pi-carte-economique-canvas{height:560px!important}}

/* Résultats cartographiques v1.2.1 */
.pi-carte-resultats-entete{margin:28px 0 12px}.pi-carte-resultats-entete h2{margin:0 0 5px;font-size:1.45rem}.pi-carte-resultats-entete p{margin:0;color:#66758c}.pi-carte-resultats{display:grid;gap:10px;max-height:520px;overflow:auto;margin-bottom:24px;padding-right:6px}.pi-carte-resultat{display:flex;justify-content:space-between;gap:20px;border:1px solid #dbe2ea;background:#fff;padding:16px 18px}.pi-carte-resultat span{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#547087}.pi-carte-resultat h3{margin:4px 0;font-size:1.05rem;color:#142642}.pi-carte-resultat p,.pi-carte-resultat small{margin:0;color:#64748b}.pi-carte-resultat-actions{display:flex;align-items:flex-end;justify-content:center;flex-direction:column;gap:6px;min-width:145px}.pi-carte-resultat-actions .is-geo{color:#247346;font-weight:700}.pi-carte-resultat-actions .is-no-geo{color:#9a6500;font-weight:700}.pi-carte-resultat-actions a{font-weight:700}.pi-carte-aucun,.pi-carte-limite{padding:18px;border:1px solid #dbe2ea;background:#fff}@media(max-width:700px){.pi-carte-resultat{flex-direction:column}.pi-carte-resultat-actions{align-items:flex-start;min-width:0}}

/* Cartographie v1.2.2 — affichage conditionnel de la liste initiale */
.pi-cartographie-economique [hidden]{display:none!important;}
.pi-photo-ambassadeur{aspect-ratio:4/5}.pi-photo-ambassadeur img{width:100%;height:100%;object-fit:cover}.pi-amb-territoires-public{font-size:.92rem;opacity:.8}.pi-mini-ambassadeurs{display:grid;gap:1rem}.pi-mini-ambassadeur{display:grid;grid-template-columns:76px 1fr;gap:1rem;align-items:start;padding-bottom:1rem;border-bottom:1px solid rgba(0,0,0,.1)}.pi-mini-ambassadeur:last-child{border-bottom:0;padding-bottom:0}.pi-mini-ambassadeur img{width:76px;height:92px;object-fit:cover;border-radius:.5rem}.pi-mini-ambassadeur h3{margin:0 0 .35rem;font-size:1.05rem}.pi-mini-ambassadeur p{margin:.2rem 0 .5rem}.pi-hero-ambassadeur .pi-hero-image img{object-position:center top}

/* Fiche publique Ambassadeur — v3.1.3 */
.pi-ambassadeur-entete{display:grid;grid-template-columns:minmax(150px,210px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;margin:0 0 2rem;padding:clamp(1.25rem,3vw,2rem);background:#f7f9fb;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or)}
.pi-ambassadeur-photo{display:flex;align-items:center;justify-content:center;width:100%;min-height:180px;background:#fff;border:1px solid var(--pi-bordure);padding:.75rem}
.pi-ambassadeur-photo img{display:block;width:auto;max-width:100%;height:auto;max-height:245px;object-fit:contain;object-position:center;border-radius:0;box-shadow:none}
.pi-ambassadeur-identite h1{margin:.35rem 0 .75rem;color:var(--pi-bleu);font-size:clamp(2rem,4.5vw,3.5rem);line-height:1.02}
.pi-ambassadeur-fonction{margin:0;color:var(--pi-bleu);font-size:1.18rem;font-weight:800}
.pi-ambassadeur-organisation{margin:.25rem 0 0;color:#647084;font-size:1rem;font-weight:650}
.pi-ambassadeur-resume{max-width:760px;margin:1rem 0 0;color:#4d5c70;font-size:1.03rem;line-height:1.65}
.pi-ambassadeur-contenu{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:clamp(2rem,4vw,4rem);align-items:start}
.pi-ambassadeur-contenu .pi-section:first-child{padding-top:.35rem}
.pi-ambassadeur-coordonnees{position:sticky;top:1.5rem}
.pi-ambassadeur-coordonnees p{margin:0 0 1rem;overflow-wrap:anywhere}
.pi-ambassadeur-coordonnees strong{color:var(--pi-bleu)}
.pi-ambassadeur-reseaux{display:flex;gap:.65rem;flex-wrap:wrap;padding-top:.5rem}
.pi-ambassadeur-reseaux a{display:inline-flex;padding:.55rem .8rem;border:1px solid var(--pi-bordure);background:#f7f9fb;text-decoration:none}
.pi-ambassadeur-reseaux a:hover,.pi-ambassadeur-reseaux a:focus{background:#fff;border-color:var(--pi-or)}
@media(max-width:820px){.pi-ambassadeur-entete{grid-template-columns:1fr;align-items:start}.pi-ambassadeur-photo{max-width:190px;min-height:0}.pi-ambassadeur-photo img{max-height:220px}.pi-ambassadeur-contenu{grid-template-columns:1fr}.pi-ambassadeur-coordonnees{position:static}}
@media(max-width:480px){.pi-ambassadeur-entete{padding:1rem}.pi-ambassadeur-photo{max-width:150px}.pi-ambassadeur-photo img{max-height:180px}}

/* Répertoire des ambassadeurs — v3.2.0 */
.pi-ambassadeurs-filtres{display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(220px,1fr) auto auto;gap:1rem;align-items:end;margin:0 0 1.25rem;padding:1rem;background:#f7f9fb;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or)}
.pi-ambassadeurs-filtres label{display:block;margin:0 0 .35rem;color:var(--pi-bleu);font-size:.8rem;font-weight:800}
.pi-ambassadeurs-filtres input[type=search],.pi-ambassadeurs-filtres select{width:100%;min-height:44px;padding:.65rem .75rem;background:#fff;border:1px solid #cbd3dd}
.pi-ambassadeurs-filtres .pi-amb-principal{display:flex;align-items:center;gap:.45rem;min-height:44px;margin:0;padding:.55rem .75rem;background:#fff;border:1px solid #cbd3dd;text-transform:none;letter-spacing:0}
.pi-resultat-compte{margin:0 0 1rem;color:#66758a;font-size:.9rem;font-weight:700}
.pi-carte-ambassadeur.is-principal{border-top:4px solid var(--pi-or)}
.pi-amb-articles-count{color:#6a7588;font-size:.86rem;font-weight:700}
.pi-aucun-resultat{grid-column:1/-1;padding:2rem;background:#f7f9fb;border:1px solid var(--pi-bordure);text-align:center}
.pi-liste-articles-ambassadeur{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.pi-liste-articles-ambassadeur article{padding:1rem;background:#f7f9fb;border:1px solid var(--pi-bordure);border-top:3px solid var(--pi-or)}
.pi-liste-articles-ambassadeur h3{margin:0 0 .5rem;color:var(--pi-bleu);font-size:1.05rem}
.pi-liste-articles-ambassadeur time{color:#6a7588;font-size:.82rem}
@media(max-width:900px){.pi-ambassadeurs-filtres{grid-template-columns:1fr 1fr}.pi-liste-articles-ambassadeur{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pi-ambassadeurs-filtres,.pi-liste-articles-ambassadeur{grid-template-columns:1fr}}

/* Partenaires */
.pi-partners-grid{display:grid;grid-template-columns:repeat(var(--pi-partner-cols-desktop,4),minmax(0,1fr));gap:28px}.pi-partner-card{background:#fff;border:1px solid #e4e9f0;border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(24,40,72,.08)}.pi-partner-logo{height:180px;padding:28px;display:flex;align-items:center;justify-content:center;background:#fff}.pi-partner-logo img{max-width:100%;max-height:100%;object-fit:contain}.pi-partner-card-body{padding:24px}.pi-partner-card h2{color:#182848}.pi-badge{display:inline-block;background:#295d8c;color:#fff;padding:5px 10px;border-radius:30px;font-size:.78rem}.pi-public-search{display:flex;gap:10px;margin:0 0 30px}.pi-public-search input{flex:1;padding:13px;border:1px solid #ccd5e1;border-radius:8px}.pi-public-search button{padding:12px 20px}.pi-partner-profile-grid{display:grid;grid-template-columns:minmax(220px,320px) 1fr;gap:50px}.pi-partner-logo--profile{height:230px;border:1px solid #e4e9f0;border-radius:14px;margin-bottom:18px}.pi-partner-contact{margin-top:40px;padding-top:30px;border-top:1px solid #e4e9f0}.pi-partner-contact-grid{display:grid;grid-template-columns:150px 1fr;gap:24px}.pi-partner-contact-grid>img{width:150px;height:180px;object-fit:contain;border-radius:12px}.pi-social-links{display:flex;gap:14px;flex-wrap:wrap}@media(max-width:767px){.pi-partner-profile-grid,.pi-partner-contact-grid{grid-template-columns:1fr}}

/* Répertoire des partenaires — photo de la personne représentante v3.4.2 */
.pi-partner-card{display:flex;min-width:0;flex-direction:column}
.pi-partner-card.is-principal{border-top:4px solid var(--pi-or)}
.pi-partner-card-body{display:flex;flex:1;flex-direction:column}
.pi-partner-card h2{margin:.75rem 0 1rem;line-height:1.08}
.pi-partner-representative{display:grid;grid-template-columns:78px minmax(0,1fr);gap:1rem;align-items:center;margin:0 0 1.2rem;padding:1rem 0;border-top:1px solid #e7ebf0;border-bottom:1px solid #e7ebf0}
.pi-partner-representative-photo{display:flex;width:78px;height:78px;align-items:center;justify-content:center;overflow:hidden;background:#eef2f6;border:3px solid #fff;border-radius:50%;box-shadow:0 5px 16px rgba(24,40,72,.16)}
.pi-partner-representative-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#fff}
.pi-partner-representative-placeholder{background:#295d8c;color:#fff;font-size:1.8rem;font-weight:800}
.pi-partner-representative-info{display:flex;min-width:0;flex-direction:column;gap:.16rem}
.pi-partner-representative-info strong{color:#182848;font-size:1rem;line-height:1.25}
.pi-partner-representative-info span{color:#53647c;font-size:.92rem;line-height:1.35}
.pi-partner-representative-info small{color:#758197;font-size:.82rem;line-height:1.3}
.pi-partner-summary{margin:0 0 1.25rem;color:#667085;line-height:1.58}
.pi-partner-button{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-top:auto;padding:.7rem 1.35rem;background:transparent!important;border:2px solid #6c757d!important;border-radius:8px;color:#495057!important;font-weight:700;line-height:1.2;text-decoration:none!important;box-shadow:none;transition:background-color .25s ease,border-color .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease}
.pi-partner-button:hover,.pi-partner-button:focus{background:#495057!important;border-color:#495057!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.12);text-decoration:none!important}
.pi-partner-button:focus-visible{outline:3px solid rgba(108,117,125,.3);outline-offset:3px}
.pi-partner-button:active{transform:translateY(0);box-shadow:0 4px 10px rgba(0,0,0,.1)}
@media(max-width:480px){.pi-partner-representative{grid-template-columns:64px minmax(0,1fr)}.pi-partner-representative-photo{width:64px;height:64px}.pi-partner-card-body{padding:20px}}


/* Partenaires — colonnes adaptatives et boutons secondaires v3.4.3 */
.pi-partner-official-site{width:100%;box-sizing:border-box}
@media (max-width: 1024px){
  .pi-partners-grid{grid-template-columns:repeat(var(--pi-partner-cols-tablet,2),minmax(0,1fr))}
}
@media (max-width: 600px){
  .pi-partners-grid{grid-template-columns:repeat(var(--pi-partner-cols-mobile,1),minmax(0,1fr));gap:20px}
}

/* Conseil d'administration */
.pi-grille-conseil{display:grid;grid-template-columns:repeat(var(--pi-ca-desktop,4),minmax(0,1fr));gap:24px}.pi-carte-conseil{overflow:hidden;border-top:3px solid #d5a000}.pi-carte-conseil .pi-carte-contenu{padding:24px}.pi-carte-conseil h2{margin:.6rem 0 .8rem;font-size:clamp(1.45rem,2vw,2rem);line-height:1.05}.pi-ca-role{margin:0;color:#67748a;font-size:1.05rem;line-height:1.4;font-weight:600}@media(max-width:991px){.pi-grille-conseil{grid-template-columns:repeat(var(--pi-ca-tablette,2),minmax(0,1fr))}}@media(max-width:575px){.pi-grille-conseil{grid-template-columns:repeat(var(--pi-ca-mobile,1),minmax(0,1fr))}}


/* Partenaires — cartes harmonisées avec Ambassadeurs v3.5.7 */
.pi-partenaires-page .pi-partner-card{
  display:flex;
  min-width:0;
  flex-direction:column;
  overflow:visible;
  background:#fff;
  border:1px solid var(--pi-bordure);
  border-top:3px solid var(--pi-or);
  border-radius:0;
  box-shadow:0 12px 30px rgba(20,36,62,.07);
  transition:transform .2s ease,box-shadow .2s ease;
}
.pi-partenaires-page .pi-partner-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(20,36,62,.12)}
.pi-partenaires-page .pi-partner-card.is-principal{border-top:4px solid var(--pi-or)}
.pi-partenaires-page .pi-partner-logo{
  display:flex;
  height:205px;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:1.55rem;
  background:#eef1f5;
  border-bottom:1px solid var(--pi-bordure);
  border-radius:0;
}
.pi-partenaires-page .pi-partner-logo img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.pi-partenaires-page .pi-partner-card-body{display:flex;flex:1;flex-direction:column;padding:1.55rem}
.pi-partenaires-page .pi-badge{border-radius:0}
.pi-partenaires-page .pi-partner-representative{margin:0 0 1rem;padding:1rem 0}
.pi-partenaires-page .pi-partner-summary{margin:0 0 1rem;color:#667085;line-height:1.55}
.pi-partenaires-page .pi-partner-button{
  align-self:flex-start;
  margin-top:auto;
  padding:.72rem 1.05rem;
  border:1px solid #6c757d!important;
  border-radius:0!important;
  box-shadow:none;
}
.pi-partenaires-page .pi-public-search input,
.pi-partenaires-page .pi-public-search button{border-radius:0}
