/* ═══════════════════════════════════════════════════════════════════════════════════════════════════════════
   « PARLER À UN CONSEIL » (2026-09-15, maquette validée par Arthur) — préfixe cns-.
   Le bouton et le bandeau des vues (ConseilCta), le panneau latéral et l'annuaire (ConseilPanel, hébergé par MainLayout).
   L'accent corail distingue l'aide humaine du copilote (teal) ; ses variantes claires tiennent le contraste AA.
   ═══════════════════════════════════════════════════════════════════════════════════════════════════════════ */
:root{
  --cns-accent:#f2896b; --cns-accent-strong:#ffab91; --cns-accent-soft:rgba(242,137,107,.12); --cns-accent-line:rgba(242,137,107,.45);
  --cns-ink-on-accent:#1a0a05;
}
html[data-theme="light"]{
  --cns-accent:#c2522f; --cns-accent-strong:#a8401f; --cns-accent-soft:rgba(194,82,47,.08); --cns-accent-line:rgba(194,82,47,.42);
  --cns-ink-on-accent:#ffffff;
}

/* ── Bouton des vues d'expert ── */
.cns-cta{appearance:none;display:inline-flex;align-items:center;gap:7px;padding:4px 12px 4px 4px;border-radius:99px;cursor:pointer;
  border:1px solid var(--cns-accent-line);background:var(--cns-accent-soft);color:var(--color-text-primary);
  font:600 12px/1.2 var(--font-family);white-space:nowrap}
.cns-cta:hover{border-color:var(--cns-accent)}
.cns-cta:focus-visible{outline:2px solid var(--cns-accent-strong);outline-offset:2px}
.cns-avatar{display:inline-grid;place-items:center;flex:none;width:20px;height:20px;border-radius:50%;
  background:linear-gradient(135deg,#f2896b,#d4552c);color:#fff;font:700 9px/1 var(--font-family);letter-spacing:.02em}
.cns-cta.is-compact{padding:3px 10px 3px 3px;font-size:11.5px}

/* ── Bandeau « au bon moment » ── */
.cns-bandeau{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px 12px;align-items:center;margin:10px 0 0;padding:10px 12px;border-radius:10px;
  border:1px solid var(--cns-accent-line);background:var(--cns-accent-soft);font-family:var(--font-family);text-align:left}
.cns-bandeau>.iku-ico{width:15px;height:15px;color:var(--cns-accent-strong);flex:none}
.cns-bandeau p{margin:0;font-size:12.5px;line-height:1.45;color:var(--color-text-secondary)}
.cns-bandeau p b{color:var(--color-text-primary);font-weight:600}
@container (max-width:560px){.cns-bandeau{grid-template-columns:auto minmax(0,1fr)}.cns-bandeau .cns-cta{grid-column:1/-1;justify-self:start}}
@media (max-width:560px){.cns-bandeau{grid-template-columns:auto minmax(0,1fr)}.cns-bandeau .cns-cta{grid-column:1/-1;justify-self:start}}

/* ── Lien discret (sous une analyse IA) ── */
.cns-lien{appearance:none;border:0;background:none;padding:0;cursor:pointer;font:600 12px/1.3 var(--font-family);color:var(--cns-accent-strong);white-space:nowrap}
.cns-lien:hover{text-decoration:underline}
.cns-lien:focus-visible{outline:2px solid var(--cns-accent-strong);outline-offset:2px;border-radius:3px}

/* ── Panneau latéral ── */
/* z-index : au-dessus des volets de FecLoader (10050 à 10061) et du copilote (10050), sous la modale Calendly historique (100000). */
.cns-voile{position:fixed;inset:0;z-index:10070;background:rgba(3,12,18,.5);display:flex;justify-content:flex-end;animation:cns-in .18s ease-out}
html[data-theme="light"] .cns-voile{background:rgba(15,23,32,.32)}
@keyframes cns-in{from{opacity:0}to{opacity:1}}
.cns-panneau{position:relative;width:min(440px,100vw);height:100%;height:100dvh;display:flex;flex-direction:column;overflow:hidden;
  background:var(--modal-surf);border-left:1px solid var(--color-border-strong);box-shadow:-24px 0 60px rgba(var(--shadow-col),calc(.45 * var(--shadow-mul)));
  font-family:var(--font-family);color:var(--color-text-primary);text-align:left;animation:cns-glisse .22s cubic-bezier(.16,1,.3,1)}
@keyframes cns-glisse{from{transform:translateX(24px);opacity:.6}to{transform:none;opacity:1}}
.cns-tete{flex:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:16px 16px 12px;border-bottom:1px solid var(--color-border-medium);
  background:linear-gradient(120deg,var(--cns-accent-soft),transparent 65%)}
.cns-tete h2{margin:0;font:700 16px/1.25 var(--font-family)}
.cns-tete p{grid-column:1/-1;margin:0;font-size:12.5px;color:var(--color-text-muted)}
.cns-x{appearance:none;width:32px;height:32px;border-radius:9px;display:grid;place-items:center;padding:0;cursor:pointer;
  border:1px solid var(--color-border-medium);background:transparent;color:var(--color-text-muted)}
.cns-x:hover{color:var(--color-text-primary)}
.cns-x .iku-ico{width:15px;height:15px}
.cns-corps{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:14px 16px 24px;display:grid;gap:14px;align-content:start}
.cns-sujet{display:inline-flex;align-items:center;gap:7px;justify-self:start;max-width:100%;padding:4px 10px;border-radius:99px;
  border:1px dashed var(--color-border-bright);font-size:11.5px;color:var(--color-text-secondary)}
.cns-sujet .iku-ico{width:12px;height:12px;color:var(--color-text-muted)}
.cns-sujet span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cns-contexte{margin:-6px 0 0;font-size:12px;color:var(--color-text-muted)}

.cns-fondateur{display:grid;gap:10px;padding:14px;border-radius:12px;border:1px solid var(--cns-accent-line);background:var(--cns-accent-soft)}
.cns-id{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center}
.cns-avatar.is-grand{width:46px;height:46px;font-size:15px}
.cns-id b{display:block;font-size:14.5px}
.cns-id small{display:block;font-size:12px;font-weight:600;color:var(--cns-accent-strong)}
.cns-parcours{margin:0;font-size:12.5px;line-height:1.5;color:var(--color-text-secondary)}
.cns-parcours span{color:var(--color-text-muted)}
.cns-actions{display:flex;flex-wrap:wrap;gap:8px}
.cns-btn{appearance:none;display:inline-flex;align-items:center;gap:7px;padding:8px 13px;border-radius:9px;cursor:pointer;
  border:1px solid var(--color-border-bright);background:transparent;color:var(--color-text-primary);font:600 12.5px/1.2 var(--font-family)}
.cns-btn .iku-ico{width:14px;height:14px}
.cns-btn:hover{border-color:var(--cns-accent-line)}
.cns-btn.is-plein{background:var(--cns-accent);border-color:var(--cns-accent);color:var(--cns-ink-on-accent)}
.cns-btn.is-plein:hover{filter:brightness(1.05)}
.cns-btn:disabled{opacity:.55;cursor:default}
.cns-btn:focus-visible,.cns-filtre:focus-visible{outline:2px solid var(--cns-accent-strong);outline-offset:2px}

/* Formulaire « Écrire une question » */
.cns-form{display:grid;gap:10px;padding:12px;border-radius:12px;border:1px solid var(--color-border-medium);background:color-mix(in srgb,var(--color-text-primary) 2.5%,transparent)}
.cns-form label{display:grid;gap:4px;font-size:11.5px;font-weight:600;color:var(--color-text-muted)}
.cns-form input,.cns-form textarea{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-hover);
  background:var(--color-bg-input);color:var(--color-text-primary);font:400 13px/1.4 var(--font-family)}
.cns-form textarea{min-height:92px;resize:vertical}
.cns-form select{width:100%;box-sizing:border-box;padding:8px 10px;border-radius:8px;border:1px solid var(--color-border-hover);
  background:var(--color-bg-input);color:var(--color-text-primary);font:400 13px/1.4 var(--font-family)}
.cns-form input:focus,.cns-form textarea:focus,.cns-form select:focus{outline:2px solid var(--cns-accent-line);outline-offset:0;border-color:var(--cns-accent)}
/* Pied commun (piège, mentions, boutons) : ses enfants restent des cellules de la grille du formulaire. */
.cns-form-pied{display:contents}
.cns-deux{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
@media (max-width:420px){.cns-deux{grid-template-columns:minmax(0,1fr)}}
.cns-pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cns-joindre{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border-radius:10px;background:color-mix(in srgb,var(--color-text-primary) 3.5%,transparent)}
.cns-bascule{appearance:none;position:relative;width:34px;height:20px;margin-top:1px;border-radius:99px;border:0;padding:0;cursor:pointer;background:var(--color-border-bright);flex:none}
.cns-bascule::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .18s}
.cns-bascule[aria-checked="true"]{background:var(--brand)}
.cns-bascule[aria-checked="true"]::after{transform:translateX(14px)}
.cns-bascule:disabled{opacity:.5;cursor:default}
.cns-joindre b{display:block;font-size:12.5px}
.cns-joindre small{display:block;font-size:11.5px;line-height:1.45;color:var(--color-text-muted)}
.cns-mentions{margin:0;font-size:11px;line-height:1.45;color:var(--color-text-muted)}
.cns-etat{margin:0;padding:9px 11px;border-radius:9px;font-size:12.5px;line-height:1.45}
.cns-etat.is-ok{color:var(--st-green);background:color-mix(in srgb,var(--st-green) 10%,transparent)}
.cns-etat.is-ko{color:var(--st-red);background:color-mix(in srgb,var(--st-red) 10%,transparent)}

/* Partenaires dans le panneau */
.cns-sep{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-top:4px}
.cns-sep b{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted)}
.cns-sep .cns-lien{color:var(--brand-strong)}
.cns-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 10px;border-radius:10px;
  border:1px solid var(--color-border-medium);background:color-mix(in srgb,var(--color-text-primary) 2.5%,transparent)}
.cns-logo{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:9px;color:#06131a;font:700 11.5px/1 var(--font-family)}
.cns-mini b{display:block;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cns-mini small{display:block;font-size:11.5px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cns-mini .cns-btn{padding:6px 10px;font-size:12px}
.cns-vide{margin:0;padding:12px;border-radius:10px;border:1px dashed var(--color-border-bright);font-size:12.5px;line-height:1.5;color:var(--color-text-secondary)}
.cns-note{margin:0;font-size:11px;line-height:1.45;color:var(--color-text-muted)}
.cns-exemple{display:inline-flex;align-items:center;padding:2px 7px;border-radius:99px;font-size:10.5px;font-weight:700;letter-spacing:.02em;
  color:var(--color-text-muted);border:1px dashed var(--color-border-bright)}

/* ── Annuaire ── */
.cns-annuaire-voile{position:fixed;inset:0;z-index:10080;background:rgba(3,12,18,.62);display:flex;align-items:center;justify-content:center;padding:24px;animation:cns-in .18s ease-out}
html[data-theme="light"] .cns-annuaire-voile{background:rgba(15,23,32,.4)}
.cns-annuaire{width:min(1120px,100%);max-height:min(88vh,920px);max-height:min(88dvh,920px);display:flex;flex-direction:column;overflow:hidden;border-radius:16px;
  background:var(--modal-surf);border:1px solid var(--color-border-strong);box-shadow:0 30px 80px rgba(var(--shadow-col),calc(.55 * var(--shadow-mul)));
  font-family:var(--font-family);color:var(--color-text-primary);text-align:left}
.cns-annuaire .cns-tete{padding:18px 20px 14px}
.cns-annuaire .cns-tete h2{font-size:18px}
.cns-annuaire .cns-corps{padding:16px 20px 24px;gap:16px}
.cns-filtres{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.cns-filtre{appearance:none;cursor:pointer;padding:7px 12px;border-radius:99px;border:1px solid var(--color-border-bright);background:transparent;
  color:var(--color-text-secondary);font:500 12.5px/1.2 var(--font-family)}
.cns-filtre:hover{color:var(--color-text-primary)}
.cns-filtre[aria-pressed="true"]{background:var(--color-text-primary);border-color:var(--color-text-primary);color:var(--modal-surf)}
.cns-compte{margin-left:auto;font-size:12px;color:var(--color-text-muted)}
.cns-bandeau-demo{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:0;padding:9px 12px;border-radius:10px;
  background:color-mix(in srgb,var(--st-amber) 10%,transparent);color:var(--color-text-secondary);font-size:12.5px}
.cns-cartes{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.cns-carte{display:grid;grid-template-rows:auto auto 1fr auto;gap:11px;padding:14px;border-radius:14px;border:1px solid var(--color-border-medium);
  background:color-mix(in srgb,var(--color-text-primary) 2.5%,transparent);min-width:0}
.cns-carte.is-avant{border-color:var(--cns-accent-line);background:linear-gradient(160deg,var(--cns-accent-soft),transparent 55%)}
.cns-carte .cns-id b{font-size:14.5px;line-height:1.25}
.cns-carte .cns-id small{color:var(--color-text-muted);font-weight:500}
.cns-carte .cns-logo{width:40px;height:40px;border-radius:11px;font-size:13px}
.cns-badges{display:flex;flex-wrap:wrap;gap:5px}
.cns-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:99px;font-size:11px;font-weight:600;border:1px solid var(--color-border-bright);color:var(--color-text-secondary)}
.cns-badge .iku-ico{width:11px;height:11px}
.cns-badge.is-avant{border-color:var(--cns-accent-line);color:var(--cns-accent-strong);background:var(--cns-accent-soft)}
.cns-badge.is-sk{border-color:color-mix(in srgb,var(--brand) 45%,transparent);color:var(--brand-strong);background:color-mix(in srgb,var(--brand) 10%,transparent)}
.cns-carte ul{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.cns-carte li{position:relative;padding-left:13px;font-size:12.5px;line-height:1.4;color:var(--color-text-secondary)}
.cns-carte li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.cns-pied{display:grid;gap:9px;padding-top:10px;border-top:1px solid var(--color-border-medium)}
.cns-meta{display:flex;flex-wrap:wrap;gap:3px 12px;font-size:11.5px;color:var(--color-text-muted)}
.cns-meta span{display:inline-flex;align-items:center;gap:4px}
.cns-meta .iku-ico{width:12px;height:12px}
.cns-transparence{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px;align-items:start;margin:0;padding:10px 12px;border-radius:10px;
  border:1px dashed var(--color-border-bright);font-size:12px;line-height:1.5;color:var(--color-text-muted)}
.cns-transparence .iku-ico{width:14px;height:14px;margin-top:1px}
.cns-rejoindre{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:12px;
  border:1px solid var(--color-border-medium);background:color-mix(in srgb,var(--brand) 6%,transparent)}
.cns-rejoindre p{margin:0;font-size:13px;color:var(--color-text-secondary)}
.cns-rejoindre b{color:var(--color-text-primary)}
@media (max-width:720px){
  .cns-annuaire-voile{padding:0}
  .cns-annuaire{width:100vw;max-height:none;height:100dvh;border-radius:0;border:0}
  .cns-compte{margin-left:0;width:100%}
}

/* ── Panneau : rendez-vous, cabinet, partenaires, position ── */
/* Agenda Calendly (2026-09-15) : largeur normale du panneau (Calendly y passe en mise en page compacte, pleine largeur),
   couleurs lues sur le panneau par calendlyEmbed, hauteur donnée par Calendly. L'iframe, blanche le temps du chargement,
   reste masquée jusqu'au premier message de Calendly (.is-pret) ; le liseré blanc du bas de sa page est rogné. */
.cns-rdv{display:grid;gap:12px;min-height:0}
.cns-rdv-tete{display:grid;gap:10px}
.cns-rdv-tete .cns-id b{font-size:14px}
.cns-rdv-tete .cns-id small{font-weight:500;color:var(--color-text-muted)}
.cns-avatar.is-moyen{width:34px;height:34px;font-size:12px}
.cns-rdv .calendly-inline-widget{position:relative;margin:0 -16px;color:var(--color-text-secondary);--cns-calendly-accent:var(--brand)}
.cns-rdv .calendly-inline-widget iframe{display:block;opacity:0;transition:opacity .3s ease;clip-path:inset(0 0 4px 0)}
.cns-rdv .calendly-inline-widget.is-pret iframe{opacity:1}
.cns-rdv .calendly-inline-widget:not(.is-pret)::before{content:"";position:absolute;left:50%;top:96px;width:26px;height:26px;margin-left:-13px;box-sizing:border-box;
  border-radius:50%;border:2.5px solid color-mix(in srgb,var(--brand) 25%,transparent);border-top-color:var(--brand);animation:cns-tourne .8s linear infinite}
@keyframes cns-tourne{to{transform:rotate(360deg)}}
.cns-lien{display:inline-flex;align-items:center}
.cns-lien .iku-ico{width:13px;height:13px;margin-right:4px}
.cns-lien:disabled{opacity:.6;cursor:default}
.cns-retour{justify-self:start}
.cns-avatar.is-mini{width:16px;height:16px;margin-right:6px;font-size:7.5px}
.cns-logo.is-grand{width:46px;height:46px;border-radius:12px;font-size:15px}
.cns-logo.is-img{object-fit:contain;background:#fff;padding:4px;box-sizing:border-box}
.cns-fondateur.is-cabinet{border-color:var(--color-border-medium);background:color-mix(in srgb,var(--color-text-primary) 3%,transparent)}
.cns-points{margin:0;padding:0;list-style:none;display:grid;gap:4px}
.cns-points li{position:relative;padding-left:13px;font-size:12.5px;line-height:1.4;color:var(--color-text-secondary)}
.cns-points li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--brand)}
.cns-partenaires{display:grid;gap:8px}
.cns-geo-mini{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:12px;color:var(--color-text-muted)}
.cns-position{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--color-text-secondary)}
.cns-position .iku-ico{width:13px;height:13px;color:var(--cns-accent-strong)}
.cns-select{max-width:100%;padding:6px 8px;border-radius:8px;border:1px solid var(--color-border-hover);background:var(--color-bg-input);color:var(--color-text-primary);font:500 12px/1.2 var(--font-family)}
.cns-select:focus-visible{outline:2px solid var(--cns-accent-strong);outline-offset:1px}
.cns-geo-err{margin:0;font-size:11.5px;color:var(--st-amber)}

/* ── Annuaire : position, filtres, carte, liste ── */
.cns-geo{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.cns-ou{font-size:12px;color:var(--color-text-muted)}
.cns-geo-note{flex-basis:100%;font-size:11.5px;color:var(--color-text-muted)}
.cns-geo-note.is-ko{color:var(--st-amber)}
.cns-filtre i,.cns-badge i,.cns-legende i{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;margin-right:6px}
.cns-filtre span{margin-left:4px;font-variant-numeric:tabular-nums;opacity:.7}
.cns-annuaire-grille{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:18px;align-items:start}
.cns-carte-france{position:sticky;top:0;display:grid;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--color-border-medium);
  background:radial-gradient(70% 60% at 85% 10%,var(--cns-accent-soft),transparent 70%),color-mix(in srgb,var(--color-text-primary) 2.5%,var(--modal-surf))}
.cns-carte-france > svg{display:block;width:100%;height:auto;max-height:min(62vh,560px)}   /* > : le SVG de la carte SEUL, pas les icônes de la bulle ni de la légende (mesuré : une icône « info » large de 600 px) */
.cns-pays{fill:color-mix(in srgb,var(--brand) 8%,transparent);stroke:color-mix(in srgb,var(--brand) 45%,var(--color-border-bright));stroke-width:1.4;stroke-linejoin:round}
.cns-ville text{font:600 11px var(--font-family);fill:var(--color-text-muted);paint-order:stroke;stroke:var(--modal-surf);stroke-width:3px;stroke-linejoin:round;pointer-events:none}
.cns-rayon{fill:var(--cns-accent-soft);stroke:var(--cns-accent-line);stroke-width:1.2;stroke-dasharray:5 4}
.cns-point{cursor:pointer;outline:none}
.cns-cible{fill:transparent}
.cns-pt{stroke:var(--modal-surf);stroke-width:1.6;transform-box:fill-box;transform-origin:center;transition:transform .15s}
.cns-point.is-avant .cns-pt{stroke:var(--cns-accent);stroke-width:2.2}
.cns-point.is-hors{opacity:.22}
.cns-point:hover .cns-pt,.cns-point:focus-visible .cns-pt{transform:scale(1.25)}
.cns-point:focus-visible .cns-cible{stroke:var(--cns-accent-strong);stroke-width:2}
.cns-point.is-choisi .cns-pt{stroke:var(--color-text-primary);stroke-width:2.6;transform:scale(1.35)}
/* Thème clair : les couleurs de famille sont claires, un liseré sombre les détache du fond. */
html[data-theme="light"] .cns-pt{stroke:rgba(15,23,32,.5)}
html[data-theme="light"] .cns-point.is-avant .cns-pt{stroke:var(--cns-accent)}
html[data-theme="light"] .cns-point.is-hors{opacity:.35}
.cns-vous-pt{fill:var(--cns-accent);stroke:var(--modal-surf);stroke-width:2}
.cns-vous-halo{fill:none;stroke:var(--cns-accent);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:cns-pouls 1.8s ease-out infinite}
@keyframes cns-pouls{from{transform:scale(.6);opacity:.9}to{transform:scale(1.7);opacity:0}}
.cns-legende{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11px;color:var(--color-text-muted)}
.cns-legende span{display:inline-flex;align-items:center}
.cns-legende-avant i{box-sizing:border-box;background:transparent;border:2px solid var(--cns-accent)}
.cns-liste{display:grid;gap:12px;min-width:0}
.cns-liste-t{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}
.cns-liste-t b{font-size:13px}
.cns-liste-t small{font-size:11.5px;color:var(--color-text-muted)}
.cns-liste .cns-cartes{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
.cns-carte{cursor:pointer;scroll-margin-top:12px}
.cns-carte.is-choisi{outline:2px solid var(--cns-accent);outline-offset:1px}
.cns-badge i{width:7px;height:7px;margin-right:2px}
.cns-label{display:flex;gap:6px;align-items:flex-start;font-size:11.5px;line-height:1.4;color:var(--color-text-secondary)}
.cns-label .iku-ico{width:12px;height:12px;margin-top:2px;flex:none;color:var(--brand-strong)}
.cns-carte-bas{display:flex;align-items:center;gap:8px}
.cns-carte-bas .cns-btn{margin-left:auto;padding:6px 10px;font-size:12px}
.cns-ouverture{display:grid;gap:12px;justify-items:start}
@media (max-width:900px){
  .cns-annuaire-grille{grid-template-columns:minmax(0,1fr)}
  .cns-carte-france{position:relative}
  .cns-carte-france > svg{max-height:340px}
}

/* ── Hôtes : en-têtes de la cession et de Dealiku ── */
.csn-bar>.cns-cta{align-self:center;flex:none}
@media (max-width:760px){.csn-bar>.cns-cta>span:last-child{display:none}.csn-bar>.cns-cta{padding:4px}}
.dpm-head-acts{margin-left:auto;display:flex;align-items:center;gap:8px}
.dpm-head-acts .dpm-x{margin-left:0}
.cns-lien.cns-suite{margin:12px 0 0}
/* « Bientôt disponible » : l'annuaire n'est pas ouvert, seul le référencement des conseils l'est (2026-09-15). */
.cns-statut{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 9px;border-radius:99px;vertical-align:.15em;white-space:nowrap;
  font:700 10px/1.5 var(--font-family);letter-spacing:.05em;text-transform:uppercase;color:var(--color-text-secondary);
  border:1px solid color-mix(in srgb,var(--st-amber) 45%,transparent);background:color-mix(in srgb,var(--st-amber) 12%,transparent)}
.cns-statut::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--st-amber)}
.cns-sep-t{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 0;min-width:0}
.cns-sep-t .cns-statut{letter-spacing:.04em}
.cns-bientot{font-size:11.5px;line-height:1.35;color:var(--color-text-muted)}
.cns-mini>.cns-exemple{justify-self:end}
.cns-rejoindre-lien{justify-self:start;white-space:normal;text-align:left}
.cns-bandeau.is-empile{grid-template-columns:auto minmax(0,1fr)}
.cns-bandeau.is-empile .cns-cta{grid-column:1/-1;justify-self:start}
/* Bandeau de lecture du cockpit : hauteur fixe (64 à 72 px), le lien reste à la hauteur du surtitre, sans avatar. */
.fintree-reading-ebrow{display:flex;align-items:baseline;gap:6px 12px;min-width:0;line-height:1.2}
.fintree-reading-ebrow .cns-lien{display:block;min-width:0;font-size:10.5px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}
.fintree-reading-ebrow .cns-avatar{display:none}
.runway .cns-bandeau{margin-top:8px}

/* ── Proposition partenaires (2026-09-15) : panneau « Devenir partenaire », carte de démonstration, filtres par enjeu ── */
.cns-proposition{display:grid;gap:14px}
.cns-statut.is-seul{justify-self:start;margin-left:0;white-space:normal}
.cns-atouts{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.cns-atouts li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start}
.cns-atouts li>.iku-ico{width:15px;height:15px;padding:6px;box-sizing:content-box;border-radius:9px;color:var(--cns-accent-strong);background:var(--cns-accent-soft)}
.cns-atouts b{display:block;font-size:12.5px;line-height:1.35;color:var(--color-text-primary)}
.cns-atouts span{display:block;margin-top:1px;font-size:12px;line-height:1.45;color:var(--color-text-secondary)}
.cns-metiers{display:grid;gap:9px;padding:12px;border-radius:12px;border:1px solid var(--color-border-medium);background:color-mix(in srgb,var(--color-text-primary) 2.5%,transparent)}
.cns-metiers-t{font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted)}
.cns-metiers ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.cns-metiers li{display:grid;gap:1px;font-size:12px;line-height:1.4;color:var(--color-text-secondary)}
.cns-metiers li>span:last-child{padding-left:15px}
.cns-metiers-e{display:inline-flex;align-items:center;font-weight:650;color:var(--color-text-primary)}
.cns-metiers-e i{display:inline-block;flex:none;width:8px;height:8px;border-radius:50%;margin-right:7px}
.cns-metiers .cns-lien{justify-self:start;color:var(--brand-strong)}
/* Carte de démonstration : le bloc d'inscription passe en tête, avec les quatre avantages. */
.cns-rejoindre.is-apercu{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"tete bouton" "atouts atouts";gap:14px 20px;align-items:center;
  padding:16px 18px;border-color:var(--cns-accent-line);background:linear-gradient(120deg,var(--cns-accent-soft),transparent 62%)}
.cns-rejoindre-tete{grid-area:tete;min-width:0}
.cns-rejoindre-tete h3{margin:0 0 3px;font:700 15px/1.3 var(--font-family);color:var(--color-text-primary);text-wrap:balance}
.cns-rejoindre-tete p{margin:0;font-size:12.5px;line-height:1.45;color:var(--color-text-secondary)}
.cns-rejoindre.is-apercu>.cns-btn{grid-area:bouton}
.cns-rejoindre.is-apercu>.cns-atouts{grid-area:atouts}
.cns-atouts.is-grille{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 18px}
.cns-filtres.is-metiers{margin-top:-8px;padding:8px 10px;border-radius:12px;background:color-mix(in srgb,var(--color-text-primary) 3.5%,transparent)}
.cns-filtres.is-metiers .cns-filtre{padding:5px 10px;font-size:12px}
@media (max-width:900px){.cns-atouts.is-grille{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .cns-rejoindre.is-apercu{grid-template-columns:minmax(0,1fr);grid-template-areas:"tete" "atouts" "bouton"}
  .cns-rejoindre.is-apercu>.cns-btn{justify-self:start}
}
@media (max-width:520px){.cns-atouts.is-grille{grid-template-columns:minmax(0,1fr)}}

/* Sur papier, pas d'appel ni de panneau. */
@media print{.cns-cta,.cns-bandeau,.cns-lien,.cns-voile,.cns-annuaire-voile{display:none!important}}
@media (prefers-reduced-motion:reduce){.cns-voile,.cns-panneau,.cns-annuaire-voile,.cns-vous-halo,.cns-rdv .calendly-inline-widget::before{animation:none}.cns-bascule::after,.cns-pt,.cns-rdv .calendly-inline-widget iframe{transition:none}}

/* ── Aperçu partenaire (2026-09-16) : la fiche d'un futur partenaire à sa place dans le parcours ────────────────── */
.cns-exemple.is-vous{background:color-mix(in srgb,var(--corail,#fd7358) 22%,transparent);color:var(--corail,#fd7358);border-color:color-mix(in srgb,var(--corail,#fd7358) 50%,transparent)}
.cns-apercu-bandeau{display:flex;align-items:flex-start;gap:8px;margin:0 0 10px;padding:9px 12px;border-radius:10px;font-size:12px;line-height:1.5;color:var(--tx1);background:color-mix(in srgb,var(--corail,#fd7358) 12%,transparent);border:1px solid color-mix(in srgb,var(--corail,#fd7358) 40%,transparent)}
.cns-apercu-bandeau .iku-ico{flex:0 0 auto;margin-top:2px;color:var(--corail,#fd7358)}.cns-apercu-bandeau span{flex:1 1 auto}.cns-apercu-bandeau b{font-weight:700}
.cns-apercu-form{margin-top:14px;padding:12px 14px;border-radius:12px;border:1px dashed color-mix(in srgb,var(--brand-strong) 40%,transparent);background:var(--o4)}
.cns-apercu-form .cns-note{margin:2px 0 8px}
.cns-apercu-champs{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.8fr);gap:8px;margin-bottom:10px}
.cns-apercu-i{min-width:0;padding:7px 10px;border-radius:8px;font:inherit;font-size:12px;color:var(--tx1);background:var(--color-bg-input);border:1px solid var(--o14)}
.cns-apercu-i:focus{outline:none;border-color:var(--brand-strong)}
@media (max-width:640px){.cns-apercu-champs{grid-template-columns:minmax(0,1fr)}}

/* ── Listes déroulantes du panneau (Combo, 2026-09-16) : la taille de .cns-select, sur toute la largeur ─────── */
.cns-combo{display:flex;width:100%;min-width:0}
.cns-combo .cbo-btn{font:500 12px/1.2 var(--font-family);padding:7px 9px;border-radius:8px}
.cns-deux label .cns-combo,.cns-apercu-champs .cns-combo{margin-top:0}

/* ── « Devenir partenaire » en modal pleine largeur (2026-09-16) ───────────────────────────────────────────────── */
.cns-voile:has(.cns-panneau.is-plein){justify-content:center;align-items:center;padding:16px}
.cns-panneau.is-plein{width:min(1240px,100%);height:min(94dvh,100%);border-radius:18px;border:1px solid var(--color-border-medium);animation:cns-monte .2s ease-out}
@keyframes cns-monte{from{transform:translateY(12px);opacity:.6}to{transform:none;opacity:1}}
.cns-corps.is-plein{display:block;padding:16px 18px 22px}
/* Le modal empile : la tête, le constructeur (classes fp-*, feuille commune fiche-partenaire.css : formulaire à gauche, carte
   à droite), la proposition en court, la demande d'inscription. Tout l'aspect du constructeur vit dans fiche-partenaire.css. */
/* En-tête compact du modal (Arthur, 2026-09-16) : titre, phrase et fermeture sur UNE ligne, moins de hauteur avant le constructeur. */
.cns-panneau.is-plein .cns-tete{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 14px;padding:10px 16px}
.cns-panneau.is-plein .cns-tete h2{grid-column:1;grid-row:1;font-size:15px;white-space:nowrap}
.cns-panneau.is-plein .cns-tete p{grid-column:2;grid-row:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cns-panneau.is-plein .cns-tete .cns-x{grid-column:3;grid-row:1;width:28px;height:28px}
@media (max-width:720px){.cns-panneau.is-plein .cns-tete p{display:none}}
.cns-plein-un{display:grid;gap:16px;max-width:1200px;margin:0 auto}   /* la largeur du constructeur (.fp), la même que sur la landing */
.cns-form .cns-champ{display:grid;gap:4px;font-size:11.5px;font-weight:600;color:var(--color-text-muted)}
/* Sous le constructeur : la demande d'inscription à gauche, ce que le partenaire gagne à droite, dans l'habit du constructeur
   (jetons --fp-* de fiche-partenaire.css, disponibles sous .fp). Le fragment du formulaire ne change pas, son habit si. */
.fp.is-inscription .cns-form{padding:0;border:0;background:none;gap:13px}
.fp.is-inscription .cns-form label,.fp.is-inscription .cns-form .cns-champ{display:flex;flex-direction:column;gap:6px;font:700 11px/1.4 var(--fp-font-titre);letter-spacing:.04em;text-transform:uppercase;color:var(--fp-muted-aa)}
.fp.is-inscription .cns-form input,.fp.is-inscription .cns-form textarea,.fp.is-inscription .cns-form .cbo-btn{min-height:44px;padding:10px 13px;border-radius:11px;border:1px solid var(--fp-ligne-2);background:var(--fp-champ);color:var(--fp-blanc);font:400 15px/1.4 var(--fp-font)}
.fp.is-inscription .cns-form textarea{min-height:96px}
.fp.is-inscription .cns-form input::placeholder,.fp.is-inscription .cns-form textarea::placeholder{color:var(--fp-muted)}
.fp.is-inscription .cns-form input:focus,.fp.is-inscription .cns-form textarea:focus{outline:2px solid var(--fp-teal-clair);outline-offset:2px;border-color:var(--fp-ligne-2)}
.fp.is-inscription .cns-deux{gap:13px}
.fp.is-inscription .cns-mentions{font-size:13px;line-height:1.6;color:var(--fp-muted-aa)}
.fp.is-inscription .cns-etat{font:400 13.5px/1.5 var(--fp-font)}
.fp.is-inscription .cns-btn{padding:13px 24px;border-radius:999px;font:700 14px/1.2 var(--fp-font);border-color:var(--fp-ligne-3);color:var(--fp-light)}
.fp.is-inscription .cns-btn.is-plein{background:var(--fp-teal);border-color:var(--fp-teal);color:#04252b}
.fp.is-inscription .cns-btn.is-plein:hover:not(:disabled){background:#0cc3bb}
.fp.is-inscription .cns-actions{justify-content:flex-start}
.fp.is-inscription .cns-actions .cns-btn{margin-left:0}
.fp.is-inscription .fp-apercu{position:static}
.fp.is-inscription .cns-proposition{gap:14px}
.fp.is-inscription .cns-atouts{gap:14px}
.fp.is-inscription .cns-atouts b{font:700 13.5px/1.35 var(--fp-font);color:var(--fp-blanc)}
.fp.is-inscription .cns-atouts span{font-size:13px;line-height:1.5;color:var(--fp-light)}
.fp.is-inscription .cns-atouts li>.iku-ico{color:var(--fp-teal-clair);background:rgba(10,172,165,.12)}
.fp.is-inscription .cns-note{font-size:13px;line-height:1.6;color:var(--fp-muted-aa)}
.cns-fiche-tete{display:grid;gap:4px}
@media (max-width:900px){.cns-panneau.is-plein{height:100%;border-radius:12px}}
@media (prefers-reduced-motion:reduce){.cns-panneau.is-plein{animation:none}}
