
section{padding:44px 0 72px}
.mise{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
@media(max-width:900px){.mise{grid-template-columns:1fr}}
h1{font-family:Nunito,sans-serif;font-weight:900;font-size:clamp(30px,4.6vw,42px);letter-spacing:-.02em}
form{display:grid;gap:18px;margin-top:26px}
fieldset{border:1px solid var(--ligne);border-radius:16px;padding:20px;margin:0;display:grid;gap:16px}
legend{font-weight:800;font-size:18px;padding:0 6px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:600px){.g2{grid-template-columns:1fr}}
.resume{background:var(--doux);border:1px solid var(--ligne);border-radius:14px;padding:16px 18px;font-size:15.5px}
.resume ul{margin:8px 0 0;padding-left:20px}.resume li{margin:4px 0}
.cote{position:sticky;top:88px;border:2px solid var(--vert);border-radius:18px;padding:22px;background:#fff}
.cote .p{font-family:Nunito,sans-serif;font-weight:900;font-size:40px;line-height:1}
.cote .p small{font-family:"Nunito Sans",sans-serif;font-size:15px;color:var(--gris)}
.cote table{width:100%;border-collapse:collapse;margin-top:16px;font-size:15px}
.cote td{padding:7px 0;border-bottom:1px solid var(--ligne)}.cote td+td{text-align:right;font-weight:700}
.cote p{color:var(--gris);font-size:14.5px;margin:12px 0 0}
.req{color:#a23a1f}
#reussi h2{font-family:Nunito,sans-serif;font-weight:900;font-size:28px}
#reussi .ref{font-family:ui-monospace,Consolas,monospace;font-size:20px;font-weight:700;background:#fff;border:1px solid var(--ligne);border-radius:8px;padding:4px 10px}

.horaires{display:grid;gap:8px;margin-top:4px}.h-tete,.h-ligne{display:grid;grid-template-columns:minmax(120px,1fr) 2fr 2fr;gap:8px;align-items:center}.h-tete span{font-size:13px;font-weight:700;color:var(--gris)}.h-ligne b{font-size:15px}.h-p{display:flex;align-items:center;gap:4px;font-weight:400}.h-p select{min-height:44px;padding:8px 6px;flex:1;min-width:0}
@media(max-width:560px){.h-tete{display:none}.h-ligne{grid-template-columns:1fr;gap:6px;padding-bottom:8px;border-bottom:1px solid #e5ece9}.h-ligne:last-child{border-bottom:0}.h-p::before{content:attr(data-l);font-size:13px;color:var(--gris);flex:0 0 88px}}
