/* ===== Module de réservation ===== */
.resa{border:1px solid var(--trait); background:var(--creme-clair); padding:clamp(20px,3vw,32px); margin-top:28px;}
.resa h3{font-size:22px; margin-bottom:4px;}
.resa .sous{font-size:14px; color:#5B6150;}
.resa-champs{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:14px; margin-top:18px;}
.resa label{display:flex; flex-direction:column; gap:6px; font-size:13px; color:#5B6150;}
.resa input,.resa select,.resa textarea{font:inherit; font-size:16px; color:var(--encre); background:#fff; border:1px solid var(--trait); padding:11px 12px; width:100%;}
.resa input:focus-visible,.resa select:focus-visible,.resa textarea:focus-visible{outline:2px solid var(--laiton); outline-offset:1px;}
.creneaux{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; min-height:46px;}
.creneau{font:inherit; font-size:15px; font-variant-numeric:tabular-nums; padding:10px 14px; border:1px solid var(--olive); background:#fff; color:var(--olive); cursor:pointer;}
.creneau:hover{background:var(--creme);}
.creneau[aria-pressed="true"]{background:var(--olive); color:var(--creme-clair);}
.creneau:disabled{border-color:var(--trait); color:#A9A592; text-decoration:line-through; cursor:not-allowed; background:transparent;}
.resa-msg{font-size:15px; color:#3C4232; margin-top:14px;}
.resa-msg a{font-weight:600;}
.resa-etape2{margin-top:24px; padding-top:22px; border-top:1px solid var(--trait);}
.resa-deux{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:14px;}
.retenue{display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; background:var(--creme); border-left:3px solid var(--laiton); padding:12px 14px; font-size:15px;}
.retenue b{font-family:var(--display); font-weight:400; font-size:18px;}
.resa .actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; align-items:center;}
.resa .bouton:disabled{opacity:.45; cursor:not-allowed;}
.resa-ok{text-align:center; padding:12px 0;}
.resa-ok .coche{width:56px; height:56px; border-radius:50%; background:var(--olive); color:var(--creme-clair); display:flex; align-items:center; justify-content:center; font-size:26px; margin:0 auto 12px;}
.chargement{color:#6B7160; font-size:14px; align-self:center;}
.technique{margin-top:30px; border:1px dashed var(--bois); padding:14px 18px; font-size:14.5px; background:rgba(138,100,64,.05);}
.technique summary{cursor:pointer; font-weight:600; color:var(--bois);}
.technique ol{margin:10px 0 0; padding-left:20px;} .technique li{margin-top:6px;}
.technique code{font-size:13px; background:var(--creme); padding:1px 5px;}
.aside-photo{margin-top:22px;} .aside-photo img{aspect-ratio:4/3;}
@media (max-width:760px){ .resa-champs{grid-template-columns:1fr 1fr;} .resa-champs label:first-child{grid-column:span 2;} .resa-deux{grid-template-columns:1fr;} }
