.booking{width:100%;overflow:visible}.booking__layout{grid-template-columns:minmax(280px,1fr) minmax(320px,1.05fr);gap:clamp(1.25rem,4vw,3rem);align-items:start}.booking__calendar-panel,.booking__form{min-width:0}.booking__calendar-panel{padding:clamp(1rem,2.5vw,1.5rem)}.booking__form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:clamp(1rem,2.5vw,1.5rem);align-content:start}.booking__field{min-width:0}.booking__field input,.booking__field select,.booking__field textarea{min-width:0;min-height:2.75rem;font-size:clamp(.875rem,1.2vw,.95rem);line-height:1.4}.booking__field textarea{min-height:7rem}.booking__submit{min-height:2.9rem;width:100%;font-size:clamp(.8rem,1.2vw,.9rem)}.booking__note{max-width:100%;overflow-wrap:anywhere}.booking__days{gap:clamp(.2rem,.7vw,.4rem)}.booking__day{min-width:0;min-height:clamp(2rem,4vw,2.7rem);font-size:clamp(.75rem,1.2vw,.9rem)}.booking__cal-btn{flex:0 0 2.5rem}.booking__legend{gap:.65rem 1rem;font-size:.68rem}@media(max-width:900px){.booking__layout{grid-template-columns:1fr;gap:1.25rem}.booking__calendar-panel{order:1}.booking__form{order:2;grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.booking__form{grid-template-columns:1fr;gap:.85rem;padding:1rem}.booking__field--full{grid-column:auto}.booking__calendar-panel{padding:.9rem}.booking__cal-nav{gap:.5rem}.booking__cal-title{font-size:.9rem;text-align:center}.booking__legend{font-size:.62rem;letter-spacing:.05em}.booking__weekday{font-size:.58rem;letter-spacing:.04em}.booking__day{min-height:2.35rem;font-size:.78rem}.booking__selected{font-size:.8rem}.booking__submit{margin-top:.15rem}.booking__available{gap:.4rem .8rem;font-size:.7rem}}
