/* Le menu déroulant sur mesure (blocs/_formulaires.js) : le bouton ET la liste ouverte sont les nôtres.
   Couleurs et arrondis lus dans le socle : il suit la palette du client sans retouche. */
.choix{position:relative}
select.choix-natif{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.choix-bouton{font:inherit;font-size:1rem;color:var(--encre);min-height:3.1rem;padding:.75rem 2.9rem .75rem .9rem;
  border-radius:var(--arrondi);border:1.5px solid var(--bord);background:var(--carte);display:flex;align-items:center;
  cursor:pointer;user-select:none;touch-action:manipulation;position:relative}
.choix-bouton::after{content:"";position:absolute;right:1.2rem;top:50%;width:.55rem;height:.55rem;
  border-right:2px solid var(--teinte);border-bottom:2px solid var(--teinte);transform:translateY(-70%) rotate(45deg);transition:transform .18s ease}
.choix.ouvert .choix-bouton::after{transform:translateY(-20%) rotate(-135deg)}
.choix-bouton:focus-visible,.choix.ouvert .choix-bouton{outline:3px solid color-mix(in srgb,var(--teinte) 30%,transparent);outline-offset:0;border-color:var(--teinte)}
.choix-liste{position:absolute;z-index:30;left:0;right:0;top:calc(100% + .4rem);margin:0;padding:.4rem;list-style:none;
  background:var(--carte);border:1px solid var(--bord);border-radius:var(--arrondi);box-shadow:var(--ombre-levee);
  max-height:18rem;overflow:auto;overscroll-behavior:contain}
.choix-liste li{position:relative;padding:.7rem .8rem .7rem 2.4rem;border-radius:calc(var(--arrondi) * .7);cursor:pointer;color:var(--encre);line-height:1.35}
.choix-liste li.actif{background:color-mix(in srgb,var(--teinte) 10%,var(--carte));color:var(--teinte)}
.choix-liste li[aria-selected="true"]{font-weight:650;color:var(--teinte)}
.choix-liste li[aria-selected="true"]::before{content:"";position:absolute;left:.95rem;top:50%;width:.6rem;height:.3rem;
  border-left:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:translateY(-75%) rotate(-45deg)}
@media (prefers-reduced-motion:no-preference){.choix.ouvert .choix-liste{animation:choix-ouvre .16s ease both}}
@keyframes choix-ouvre{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* La fenêtre du formulaire (blocs/_formulaires.js, ③) : par-dessus la page, plein écran au téléphone.
   Règle du Don, 08/10/2026 (T650). Elle porte aussi « b-formulaire » : on lui retire le fond et les marges de la section. */
dialog.fenetre-form{width:min(42rem,calc(100% - 2rem));max-height:calc(100dvh - 3rem);margin:auto;padding:0;
  border:1px solid var(--bord);border-radius:var(--arrondi);background:var(--carte);color:var(--encre);
  box-shadow:var(--ombre-levee);overflow:hidden}
dialog.fenetre-form[open]{display:flex;flex-direction:column}
dialog.fenetre-form::backdrop{background:color-mix(in srgb,var(--encre) 55%,transparent)}
.fenetre-tete{padding:1.1rem 1.2rem .9rem;border-bottom:1px solid var(--bord);display:flex;gap:1rem;
  align-items:flex-start;justify-content:space-between}
.fenetre-tete h2{font-size:var(--t-sous);line-height:var(--i-sous);margin:0;color:var(--encre)}
.fenetre-fermer{font:inherit;font-size:1.7rem;line-height:1;width:2.75rem;height:2.75rem;margin:-.4rem -.4rem 0 0;
  border:0;border-radius:calc(var(--arrondi) * .7);background:transparent;color:var(--encre);flex:none;
  cursor:pointer;touch-action:manipulation}
.fenetre-fermer:hover,.fenetre-fermer:focus-visible{background:color-mix(in srgb,var(--teinte) 10%,var(--carte))}
.fenetre-corps{padding:1.1rem 1.2rem 1.4rem;overflow-y:auto;overscroll-behavior:contain}
.fenetre-corps .b-formulaire__form{padding:0;border:0;background:transparent;box-shadow:none}
html:has(dialog.fenetre-form[open]){overflow:hidden}
@media (max-width:40rem){dialog.fenetre-form{width:100%;max-width:100%;height:100dvh;max-height:100dvh;
  margin:0;border:0;border-radius:0}}
