.booking-page{margin:0;background:#faf9f6;color:var(--ll-dark);font:400 18px/1.55 var(--ll-body);-webkit-text-size-adjust:100%}
.booking-page .booking-main .ll-button{color:#fff;background:var(--ll-accent)}
.booking-page .booking-main :is(input,button,a,section,fieldset){scroll-margin-block:100px 24px}
.booking-page *{box-sizing:border-box}.booking-page [hidden]{display:none!important}.booking-page h1,.booking-page h2,.booking-page legend{font-family:var(--ll-heading);font-weight:var(--ll-heading-weight);line-height:1.12;hyphens:manual;overflow-wrap:normal;word-break:normal}
.booking-main{max-width:820px;padding-block:48px 72px}.booking-intro{max-width:660px;margin-bottom:32px}.booking-intro h1{font-size:clamp(34px,5vw,52px);text-wrap:balance;margin:12px 0 20px}.booking-intro p{margin:12px 0}.booking-main a{color:inherit}
.booking-main fieldset{border:0;padding:0;margin:32px 0;min-width:0}.booking-main legend{font-size:25px;margin-bottom:16px}.booking-hint,.booking-retention,#booking-phone-hint{font-size:15px;line-height:1.5}.booking-hint{margin:6px 0 14px}
.booking-days{min-height:94px;display:flex;gap:10px;overflow-x:auto;padding:4px 4px 14px;scroll-snap-type:x proximity}.booking-days .booking-choice{flex:0 0 112px;scroll-snap-align:start}.booking-days .booking-choice span{min-height:76px;height:100%}.booking-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.booking-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:420px}
.booking-choice{position:relative;display:block;cursor:pointer}.booking-choice input{position:absolute;width:1px;height:1px;opacity:0}.booking-choice span{min-height:54px;border:1px solid #858a84;border-radius:9px;background:white;display:flex;align-items:center;justify-content:center;text-align:center;padding:12px;font-weight:600;line-height:1.3}
.booking-choice input:checked+span{background:var(--ll-dark);border-color:var(--ll-dark);color:#fff}.booking-choice input:focus-visible+span{outline:3px solid var(--ll-focus);outline-offset:3px}.booking-main :focus-visible{outline:3px solid var(--ll-focus);outline-offset:3px}
.booking-contact{display:grid;grid-template-columns:1fr 1fr;gap:18px}.booking-contact label{display:grid;gap:7px;font-weight:600}.booking-contact label:first-of-type{grid-column:1/-1}.booking-contact input{width:100%;min-height:52px;border:1px solid #858a84;border-radius:8px;background:#fff;padding:12px;font:inherit;color:inherit}#booking-phone-hint{font-weight:400}
.booking-consent{display:flex;align-items:flex-start;gap:12px;max-width:650px;cursor:pointer;padding:12px 0}.booking-consent input{width:24px;height:24px;flex:none;margin:2px 0;accent-color:var(--ll-dark)}.booking-retention{max-width:620px;margin:8px 0 24px}.booking-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#booking-error{border-left:4px solid #a82920;padding:14px;color:#8b211b;background:#fff2ef}#booking-reference{font-size:14px;overflow-wrap:anywhere}
@media(max-width:600px){.booking-main{padding-block:30px 48px}.booking-contact{grid-template-columns:1fr}.booking-times{grid-template-columns:repeat(3,minmax(0,1fr))}.booking-main legend{font-size:23px}.booking-intro h1{font-size:34px}.booking-page .ll-wrap{width:calc(100% - 40px)}}
