/* Pages d'accès à la démonstration : connexion et choix du parcours. */
body.acces-page{min-height:100vh;display:flex;flex-direction:column;background:var(--vert-fonce)}
.acces-page main{flex:1;display:flex}
.acces-page .ouverture{flex:1;display:flex;align-items:center;padding-block:clamp(48px,8vw,96px)}
.acces-page .ouverture .cadre{width:100%;gap:22px}
.acces-page .ouverture h1{font-size:clamp(32px,5vw,54px)}

.connexion{width:100%;max-width:460px;margin-top:8px;text-align:left;background:var(--blanc);color:var(--encre);border-radius:var(--rad21);padding:clamp(24px,4vw,36px);display:flex;flex-direction:column;gap:18px;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.connexion .prerempli{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--vert-sapin);background:var(--beige-clair);border-radius:var(--rad10);padding:12px 14px}
.connexion .prerempli b{font-weight:500}
.connexion label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:500;color:var(--gris-ardoise)}
.connexion input{font:inherit;font-size:16px;color:var(--encre);padding:12px 14px;border:1px solid var(--gris-vert);border-radius:var(--rad10);background:var(--blanc);min-width:0}
.connexion input:focus{outline:2px solid var(--vert-pistache);outline-offset:1px;border-color:var(--vert-sapin)}
.connexion .bouton{justify-content:space-between;cursor:pointer;margin-top:4px;background:var(--vert-sapin);color:var(--blanc)}
.connexion .bouton .fleche{background:var(--vert-pistache);color:var(--vert-sapin)}
.connexion .bouton:hover{background:var(--vert-fonce)}
.connexion .bouton[disabled]{opacity:.6;cursor:progress}
.connexion .erreur{display:none;font-size:14.5px;color:#b3141e;background:#fdecee;border-radius:var(--rad10);padding:10px 14px}
.connexion .erreur.visible{display:block}

.acces-page .portes{width:100%;text-align:left;margin-top:10px}
.acces-page .porte{background:rgba(255,255,255,.07)}
.espace-lien{font-size:15.5px;color:rgba(255,255,255,.8)}
.espace-lien a{color:var(--vert-pistache)}

.pied-court{background:var(--vert-fonce);color:rgba(255,255,255,.6);font-size:14px}
.pied-court .cadre{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-block:22px;border-top:1px solid rgba(255,255,255,.1)}
.pied-court a{color:rgba(255,255,255,.8)}

@media (max-width:980px){.acces-page .portes{grid-template-columns:1fr}}
