/* Calendrier : formulaire d'inscription dans la fenêtre de réservation et fiche de séance. */
.ef-ins{display:grid;gap:14px;margin-top:4px}
.ef-ins[hidden],.ef-ok[hidden],.ef-complet[hidden]{display:none}
.ef-ins__info{font-weight:700}
.ef-ins__kids{border:0;margin:0;padding:0;min-width:0;display:grid;gap:10px}
.ef-ins__kids legend{font-weight:800;padding:0;margin-bottom:6px}
.ef-ins__kids>div{display:grid;gap:10px}
.ef-kid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px;align-items:end}
.ef-ins .champ>label{font-size:.92rem}
.ef-ins__e{margin:0;color:#B3001B;font-weight:700;font-size:.88rem;line-height:1.3}
.ef-ins__err{background:#FFE3E6;border:2.5px solid #B3001B;border-radius:12px;padding:10px 14px;color:#6B0010;font-weight:700;line-height:1.35}
.ef-ins__err[hidden]{display:none}
.ef-ins [aria-invalid=true]{border-color:#B3001B;box-shadow:0 0 0 3px rgba(179,0,27,.22)}
.ef-ins .coche{font-size:.9rem}
.ef-ins .coche .lien{white-space:normal}
.ef-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.ef-ok{display:grid;gap:12px;justify-items:start}
.ef-ok .burst{max-width:100%}
.ef-ok h3:focus{outline:none}
.ef-complet{display:grid;gap:8px;justify-items:start;padding:14px 16px;border:2.5px solid #241530;border-radius:14px;background:#fff}
@media(max-width:520px){.ef-kid{grid-template-columns:minmax(0,1fr)}}

/* Fiche d'une séance */
.ef-fiche{padding-block:clamp(28px,5vw,64px)}
.ef-fiche__c{max-width:760px;margin-inline:auto}
.ef-fiche__l{display:grid;gap:14px;margin:0}
.ef-fiche__l>div{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:4px 16px;align-items:baseline}
.ef-fiche__l dt{font-family:var(--hand);font-weight:800}
.ef-fiche__l dd{margin:0;overflow-wrap:anywhere}
.ef-fiche__t{margin-top:18px}
@media(max-width:560px){.ef-fiche__l>div{grid-template-columns:minmax(0,1fr)}}
.ef-ins [data-ef-go],.ef-ok .btn,.ef-complet .btn{white-space:normal;min-width:0;max-width:100%;text-align:center;line-height:1.15}
.ef-ins [data-ef-go] span,.ef-ok .btn span{white-space:normal}
@media(max-width:520px){.ef-ins [data-ef-go]{font-size:1rem;padding-inline:.8em}}
.ef-ins [data-ef-go]{width:100%;justify-self:stretch}
