.booking-page{padding-top:70px;padding-bottom:80px;max-width:1200px}.booking-page h1{font-size:clamp(38px,5vw,68px);line-height:1.12;margin:16px 0 24px}.booking-intro{max-width:760px;font-size:21px}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;margin-top:35px}.booking-windows{min-width:0;border:0;padding:0;margin:0;max-height:850px;overflow-y:auto;padding-right:10px}.booking-windows legend{font-size:24px;font-weight:700;margin-bottom:24px}.booking-day{margin-bottom:22px}.booking-day h2{font-size:18px;margin:0 0 12px}.booking-slot-list{display:grid;gap:10px}.booking-slot{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid #887344;border-radius:12px;cursor:pointer}.booking-slot:has(input:checked){border-color:#e7c574;background:#b9913a22;box-shadow:inset 0 0 0 1px #e7c574}.booking-slot input{width:20px;height:20px;flex:0 0 20px;accent-color:#b28432}.booking-slot span span,.booking-slot small{display:block;margin-top:5px}.booking-card{border:1px solid #887344;border-radius:18px;padding:28px;margin-top:24px}.booking-contact{margin-top:0}.booking-contact>label:not(.booking-check){display:block;margin:18px 0 8px}.booking-contact>input{width:100%;min-height:48px;border:1px solid #887344;border-radius:8px;padding:12px;font:inherit;background:transparent;color:inherit}.booking-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:0;border-radius:9px;padding:14px 22px;background:#e7c574;color:#29200e!important;font:600 16px/1.4 system-ui;cursor:pointer;margin-top:15px;text-decoration:none}.booking-check{display:flex!important;gap:12px;align-items:flex-start;margin:20px 0!important;font-size:14px}.booking-check input{width:20px!important;min-height:20px!important;height:20px;flex:0 0 20px;margin-top:3px;accent-color:#b28432}.booking-check a,.receipt a{text-decoration:underline}.booking-fine{font-size:13px;line-height:1.65}.booking-alert{border:1px solid #d58975;padding:20px;margin:24px 0}.validation-summary-valid{display:none}.booking-trap{position:absolute;left:-10000px}.calendar-toolbar,.calendar-toolbar>form{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.calendar-toolbar{justify-content:space-between}.calendar-toolbar input,.calendar-toolbar select{width:auto}.calendar-toolbar label{margin:0}.calendar-toolbar form:last-child{display:block}.calendar-nav{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:30px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.calendar-grid.one-day{grid-template-columns:1fr;max-width:650px}.calendar-column{min-width:0;border-top:2px solid #847047}.calendar-column h2{font-size:16px;margin:16px 0}.calendar-event{border:1px solid #756744;background:#282314;border-radius:10px;padding:13px;margin-bottom:12px;overflow-wrap:anywhere;font-size:14px}.calendar-event.open{background:#203027;border-color:#54735b}.calendar-event.closed{background:#1b1a17;border-style:dashed;color:#b9b2a2}.calendar-event strong,.calendar-time,.calendar-edit{display:block}.calendar-time{font-size:14px;color:#f5d98f;margin-bottom:10px}.calendar-event p{margin:10px 0}.calendar-event a{color:#f5d98f;text-decoration:underline}.calendar-edit{margin-top:14px}.calendar-cancel{padding:0;margin-top:12px;color:#e3b7a5;border:0;background:none;text-decoration:underline;font-size:12px}.calendar-bottom{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;margin-top:40px}.calendar-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.calendar-rule{border-top:1px solid #756744;padding:18px 0}.calendar-rule p{margin:8px 0}.booking-page input:focus-visible,.booking-page button:focus-visible{outline:3px solid #b28432;outline-offset:3px}@media(max-width:1050px){.calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.booking-form,.calendar-bottom{grid-template-columns:1fr}.booking-windows{max-height:480px}.booking-page{padding-top:35px}.booking-card{padding:20px}.calendar-grid{grid-template-columns:1fr}.calendar-nav{flex-wrap:wrap}.calendar-toolbar input,.calendar-toolbar select{max-width:100%}.calendar-fields{grid-template-columns:1fr}.calendar-toolbar>form{width:100%}header nav{flex-wrap:wrap}.calendar-column:has(>p.muted){padding-bottom:15px}.booking-intro{font-size:18px}}

.booking-page .booking-contact h2{font-size:30px;line-height:1.25;margin:0 0 18px}.booking-page .booking-day h2{font-size:18px}
