/* Notes de calcul (pastilles NC) du design V2.
   Pastille : repère de plan au bout d'un champ, d'un titre ou d'un chiffre. Cachée par défaut au-dessus
   de 1000 px (le cartouche, qui porte le bouton « Notes de calcul », y est visible), affichée en dessous
   (le cartouche disparaît). plan_notes.js pose body.p-nc-forcer-on / p-nc-forcer-off quand le visiteur
   a choisi. Le texte du repère est en var(--p-or-petit) : marine en thème clair, jaune en thème sombre
   (contraste >= 4,5:1, règle d'accessibilité des petits textes). */

body.plan .p-nc{display:none;align-items:center;gap:4.5px;position:relative;vertical-align:middle;box-sizing:border-box;width:auto;height:auto;min-width:0;min-height:0;margin:1.5px 4.5px 1.5px 0;padding:2.25px 6.75px 2.25px 5.25px;border:1px solid var(--p-orange);border-radius:999px;background:var(--p-orange-voile);color:var(--p-or-petit);font:600 7.5px/1.2 var(--p-mono);letter-spacing:.06em;text-transform:none;white-space:nowrap;cursor:pointer;-webkit-appearance:none;appearance:none}
body.plan .p-nc::before{content:"";width:5.25px;height:5.25px;border-radius:50%;background:var(--p-orange);flex-shrink:0}
/* Zone de toucher agrandie sans agrandir le repère */
body.plan .p-nc::after{content:"";position:absolute;inset:-9px -7px}
body.plan .p-nc:hover,body.plan .p-nc[aria-expanded="true"]{background:var(--p-orange);color:var(--p-sur-orange)}
body.plan .p-nc:hover::before,body.plan .p-nc[aria-expanded="true"]::before{background:var(--p-sur-orange)}
body.plan .p-nc:focus-visible{outline:2px solid var(--p-or);outline-offset:2px}

@media (max-width:1000px){body.plan .p-nc{display:inline-flex}}
body.plan.p-nc-forcer-on .p-nc{display:inline-flex}
body.plan.p-nc-forcer-off .p-nc{display:none}

/* Contextes où le repère suit un chiffre ou un titre */
body.plan .p-cotes .p-nc,body.plan .p-cotes-4 .p-nc{margin:4.5px 0 0}
body.plan .p-planche-tete b .p-nc,body.plan .p-feuille-tete .p-nc{margin-left:6px}
body.plan .p-nc-ligne{text-align:center}
body.plan .p-nc-ligne .p-nc{margin:10px 3px 0}

/* Bouton « Notes de calcul » du cartouche */
body.plan .p-nc-bascule{font:inherit;letter-spacing:.06em;text-transform:none;line-height:1.3;color:var(--p-or-petit);background:var(--p-orange-voile);border:1px solid var(--p-orange);border-radius:3px;padding:1px 7px;cursor:pointer;-webkit-appearance:none;appearance:none}
body.plan .p-nc-bascule:hover{text-decoration:underline;text-underline-offset:2px}
body.plan .p-nc-bascule:focus-visible{outline:2px solid var(--p-or);outline-offset:2px}

/* Cartouche compact des pages qui n'ont pas le leur (formulaire, calcul en cours) */
body.plan .p-cartouche-notes{position:fixed;right:30px;bottom:78px;z-index:25;display:grid;grid-template-columns:auto auto;border:1.5px solid var(--p-trait);background:var(--p-surface-fort);font:9px var(--p-mono);letter-spacing:.06em;min-width:270px;opacity:.94;color:var(--p-trait)}
body.plan .p-cartouche-notes > div{padding:5px 9px;border:.5px solid var(--p-trait-doux)}
body.plan .p-cartouche-notes small{display:block;font-size:8px;color:var(--p-cyan);text-transform:uppercase;letter-spacing:.14em;margin-bottom:3px}
body.plan .p-cartouche-notes .p-fr{color:var(--p-or-petit)}
@media (max-width:1000px){body.plan .p-cartouche-notes{display:none}}

/* Note ouverte */
body.plan .p-nc-pop{position:absolute;z-index:80;width:min(410px,calc(100vw - 24px));border:1.5px solid var(--p-trait);background:var(--p-fond,#EDF2F6);color:var(--p-trait);box-shadow:6px 6px 0 var(--p-trait-doux);text-transform:none;letter-spacing:0;font-family:var(--p-titre);text-align:left}
body.plan .p-nc-pop[hidden]{display:none}
body.plan .p-nc-tete{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;border-bottom:1.5px solid var(--p-trait);font:10px var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-or-petit)}
body.plan .p-nc-tete button{border:1px solid var(--p-trait-doux);background:transparent;color:var(--p-trait);padding:3px 9px;cursor:pointer;font:10px var(--p-mono);letter-spacing:.06em;text-transform:none}
body.plan .p-nc-pop h5{font-stretch:118%;font-weight:800;font-size:17px;text-transform:uppercase;line-height:1.15;padding:14px 14px 6px;margin:0;color:var(--p-fort,var(--p-trait))}
body.plan .p-nc-pop dl{margin:0}
body.plan .p-nc-pop dl > div{padding:9px 14px;border-top:1px solid var(--p-trait-doux);display:grid;gap:3px}
body.plan .p-nc-pop dt{font:9px var(--p-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--p-cyan)}
body.plan .p-nc-pop dd{margin:0;font-size:13.5px;line-height:1.55;color:var(--p-texte2,var(--p-trait))}
body.plan .p-nc-pop dd strong{color:var(--p-fort,var(--p-trait))}
body.plan .p-nc-pop .p-nc-limite dt{color:var(--p-ambre,var(--p-or))}
body.plan .p-nc-pied{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:11px 14px;border-top:1.5px solid var(--p-trait);font:11px var(--p-mono);color:var(--p-texte2,var(--p-trait))}
body.plan .p-nc-pied a{color:var(--p-or-petit);text-decoration:underline;text-decoration-color:var(--p-orange);text-underline-offset:3px;font-weight:600}
@media (max-width:700px){body.plan .p-nc-pop{position:fixed;left:0;right:0;bottom:0;top:auto;width:auto;max-height:78vh;overflow:auto;padding-bottom:env(safe-area-inset-bottom,0px);box-shadow:0 -6px 0 var(--p-trait-doux)}}
