/* Fenetres du site : un seul habillage (info, confirmation, saisie, formulaire, presence). */
:root{--fen-fond:rgba(14,62,58,.42);--fen-flou:4px;--fen-carte:#FBF6F0;--fen-texte:#241C17;--fen-discret:#5c4d42;--fen-turquoise:#3FA9A4;--fen-turquoise-fonce:#1F6E69;--fen-danger:#9C3B22;--fen-ligne:#D9CCBD}
html body .fenetre-fond,html body .alerte-modale-overlay,html body .confirmation-presence-overlay,html body .modale-signaler-bug{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box;background:var(--fen-fond);-webkit-backdrop-filter:blur(var(--fen-flou));backdrop-filter:blur(var(--fen-flou));animation:fen-entree .18s ease-out}
html body .confirmation-presence-overlay{z-index:99999}
html body .confirmation-presence-overlay[hidden],html body .modale-signaler-bug[hidden]{display:none !important}
html body .fenetre-carte,html body .alerte-modale-carte,html body .confirmation-presence-boite,html body .modale-signaler-bug__boite{position:relative;box-sizing:border-box;width:100%;max-width:440px;max-height:92vh;overflow:auto;padding:1.9rem 1.8rem 1.6rem;background:var(--fen-carte);color:var(--fen-texte);border-radius:4px 32px 4px 32px;box-shadow:0 20px 50px rgba(0,0,0,.28);font-family:'Work Sans',Helvetica,Arial,sans-serif;text-align:center}
html body .modale-signaler-bug__boite{text-align:left}
html body .fenetre-titre,html body .alerte-modale-titre,html body .confirmation-presence-boite h2,html body .modale-signaler-bug__boite h3{margin:0 0 .7rem;font-family:'Fraunces',Georgia,serif;font-size:1.3rem;font-weight:600;line-height:1.25;color:var(--fen-texte)}
html body .fenetre-texte,html body .alerte-modale-texte,html body .confirmation-presence-boite p,html body .modale-signaler-bug__boite p{margin:0 0 1.2rem;font-size:1rem;line-height:1.55;color:var(--fen-discret)}
html body .fenetre-lien{display:inline-block;margin:0 0 1.2rem;font-size:1rem;font-weight:600;color:var(--fen-turquoise-fonce);text-decoration:underline}
html body .fenetre-fermer,html body .alerte-modale-fermer,html body .modale-signaler-bug__fermer{position:absolute;top:.6rem;right:.9rem;padding:.2rem .5rem;background:none;border:0;font-size:1.7rem;line-height:1;color:var(--fen-discret);cursor:pointer}
html body .fenetre-fermer:hover,html body .alerte-modale-fermer:hover{color:var(--fen-texte)}
html body .fenetre-actions,html body .alerte-modale-actions{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:.3rem}
html body .fenetre-bouton,html body .alerte-modale-bouton-confirmer,html body .confirmation-presence-bouton,html body .modale-signaler-bug__boite button[type="submit"]{padding:.7rem 1.6rem;background:var(--fen-turquoise);color:#fff;border:2px solid var(--fen-turquoise);border-radius:999px;font:600 1rem 'Work Sans',Helvetica,Arial,sans-serif;cursor:pointer}
html body .fenetre-bouton:hover,html body .alerte-modale-bouton-confirmer:hover,html body .confirmation-presence-bouton:hover{background:var(--fen-turquoise-fonce);border-color:var(--fen-turquoise-fonce)}
html body .fenetre-bouton--discret,html body .alerte-modale-bouton-annuler{padding:.7rem 1.4rem;background:transparent;color:var(--fen-discret);border:2px solid var(--fen-ligne);border-radius:999px;font:600 1rem 'Work Sans',Helvetica,Arial,sans-serif;cursor:pointer}
html body .fenetre-bouton--discret:hover,html body .alerte-modale-bouton-annuler:hover{background:#EFE7DC;border-color:#EFE7DC}
html body .fenetre-bouton--danger{background:var(--fen-danger);border-color:var(--fen-danger)}
html body .fenetre-bouton--danger:hover{background:#7d2f1a;border-color:#7d2f1a}
html body .fenetre-bouton[disabled],html body .alerte-modale-bouton-confirmer[disabled]{opacity:.4;cursor:not-allowed}
html body .fenetre-champ,html body .alerte-modale-champ-texte{display:block;width:100%;box-sizing:border-box;margin:0 0 1.2rem;padding:.75rem 1rem;background:#fff;border:2px solid var(--fen-ligne);border-radius:12px;font:inherit;font-size:1rem;letter-spacing:.05em;text-align:center;color:var(--fen-texte)}
html body .fenetre-champ:focus,html body .alerte-modale-champ-texte:focus{outline:none;border-color:var(--fen-turquoise)}
body.fenetre-ouverte{overflow:hidden}
@keyframes fen-entree{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html body .fenetre-fond,html body .alerte-modale-overlay,html body .confirmation-presence-overlay,html body .modale-signaler-bug{animation:none}}
html body .fenetre-carte:focus{outline:none}
html body .fenetre-bouton:focus-visible,html body .fenetre-fermer:focus-visible{outline:3px solid rgba(63,169,164,.45);outline-offset:2px}
html body a.fenetre-bouton{display:inline-block;text-decoration:none;text-align:center}
html body .confirmation-presence-boite .confirmation-presence-decompte{margin:0 0 .6rem;font-size:1rem;color:var(--fen-discret)}
html body .confirmation-presence-decompte strong{color:var(--fen-turquoise-fonce);font-variant-numeric:tabular-nums}
html body .confirmation-presence-piste{height:6px;margin:0 0 1.4rem;border-radius:999px;background:#E7DED3;overflow:hidden}
html body .confirmation-presence-piste span{display:block;height:100%;width:100%;background:var(--fen-turquoise);transition:width 1s linear}
html body .confirmation-presence-bouton:focus{outline:none}
html body .confirmation-presence-quitter{display:block;margin:.9rem auto 0;padding:.4rem .8rem;background:none;border:0;font:inherit;font-size:1rem;color:var(--fen-discret);text-decoration:underline;cursor:pointer}
html body .confirmation-presence-quitter:hover{color:var(--fen-turquoise-fonce)}
