/* doc-project | public/assets/css/booking.css | Styles dédiés au formulaire public de réservation. | Expose: interface réservation | Dépend de: booking.php | Impacte: conversion et lisibilité | Tables: aucune */
.booking-hero{max-width:860px;margin:0 auto;padding:3.5rem 1rem 1.5rem}.booking-hero h1{font-size:clamp(2.4rem,9vw,4.8rem);line-height:1;margin:.4rem 0}.booking-hero p{color:var(--muted);font-size:1.1rem}.booking-layout{max-width:var(--max);margin:0 auto;padding:1rem 1rem 5rem;display:grid;gap:1.5rem}.booking-form,.booking-aside{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.booking-form{padding:1rem;display:grid;gap:1.25rem}.booking-form fieldset{border:0;padding:0;margin:0;display:grid;gap:1rem}.booking-form legend{font-size:1.3rem;font-weight:900;margin-bottom:.8rem}.booking-aside{padding:1.5rem;height:max-content}.booking-aside ul{padding-left:1.2rem;color:var(--muted)}.consent{display:flex;gap:.7rem;align-items:flex-start;font-weight:400!important}.consent input{width:22px;min-height:22px;flex:0 0 auto}.form-errors{padding:1rem;background:#f9dfdd;color:var(--danger);border-radius:12px}.form-errors ul{margin:.5rem 0 0}.form-note{font-size:.85rem;color:var(--muted)}@media(min-width:800px){.booking-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}.booking-form{padding:2rem}}