.booking-section{background:#f2e9dc}.booking-progress{display:flex;gap:32px;list-style:none;padding:0;margin:0 0 30px;font-size:14px}.booking-progress li{display:flex;align-items:center;gap:10px}.booking-progress span{border:1px solid #bb8c6e;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:11px}.booking-notice{background:#e6d5ac;border-left:3px solid #9c6721;padding:18px 22px;line-height:1.6;margin-bottom:24px;font-size:14px}.booking-notice a{text-decoration:underline}.booking-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.booking-panel{border:1px solid #cfbda7;background:#fffaf3;padding:30px;margin:0 0 20px;border-radius:5px;min-width:0}.booking-panel legend{font-size:19px;font-weight:650;padding:0 12px}.booking-panel-title{display:flex;gap:18px;align-items:center;margin-bottom:20px}.booking-panel-title>span{font-size:12px;color:#b94f27}.booking-panel h2{font-size:25px;margin:0}.booking-panel p{font-size:14px;line-height:1.7}.booking-date-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;margin-top:22px}.booking-date-row>span{font-size:12px;line-height:1.6;color:#655e55}.booking-panel label{font-size:13px;line-height:1.6}.booking-panel input:not([type=checkbox]),.booking-panel textarea{display:block;width:100%;font:inherit;border:1px solid #c3b8a9;border-radius:3px;background:#fff;padding:13px;margin-top:8px;color:#252623;min-height:46px}.booking-panel .form-grid{margin-top:28px}.slot-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:18px}.slot-list button{font:inherit;cursor:pointer;min-height:48px;background:#f2ecdf;border:1px solid #bdac91;border-radius:3px;color:#252623;font-size:14px}.slot-list button[aria-pressed=true]{background:#314b42;color:#fff;border-color:#314b42}.slot-list button:disabled{opacity:.45;cursor:not-allowed;text-decoration:line-through}.slot-message{min-height:25px;color:#635a4f}.booking-totals{position:sticky;top:105px;background:#2f483e;color:#fff;padding:30px;border-radius:5px}.booking-totals h2{font-size:26px;line-height:1.25}.booking-totals .eyebrow{color:#d6e4b6}.booking-amount{display:flex;gap:15px;justify-content:space-between;border-bottom:1px solid #ffffff30;padding:17px 0;font-size:13px}.booking-amount strong{white-space:nowrap;font-size:19px}.booking-deposit strong{font-size:31px;color:#f8ce99}.booking-totals .form-fine{color:#d3ded5}.booking-totals>p{font-size:14px;line-height:1.7}.booking-totals a{color:#f8ce99;font-size:14px}.booking-help{display:block;margin-top:22px}.booking-totals hr{border:0;border-top:1px solid #ffffff30;margin:24px 0}.cancellation-box{padding:18px;background:#f4e5d2;margin-bottom:22px;border-radius:3px}.cancellation-box strong{font-size:14px}.cancellation-box p{font-size:13px;margin-bottom:0}.booking-panel .consent{display:flex;gap:12px;margin:17px 0;align-items:flex-start}.booking-panel .consent input{margin-top:4px;width:18px;height:18px;flex:none;accent-color:#b64c27}.booking-panel .consent a{text-decoration:underline}.booking-panel [hidden]{display:none!important}.booking-panel button[type=submit]{width:100%;margin-top:16px}.booking-panel button:disabled{opacity:.5;cursor:not-allowed}.booking-result{background:#e1e9cf;padding:38px;margin-top:25px;border:1px solid #97ab83;line-height:1.7}.booking-result h2{font-size:32px}.booking-result a{text-decoration:underline}.booking-preview-confirm{margin-top:24px;background:#f5ead8;padding:25px;border:1px solid #c2a684}.booking-preview-confirm h3{margin-top:0}.booking-preview-confirm .preview-chip{display:inline-block;font-size:11px;letter-spacing:.1em;background:#d7c19d;padding:5px 10px}.booking-panel .summary-line{padding:12px 0;border-bottom:1px solid #dbcbb7;font-size:14px;display:flex;justify-content:space-between;gap:18px}.booking-panel .text-link{font-size:13px;margin-top:20px}
@media(max-width:900px){.booking-grid{grid-template-columns:minmax(0,1fr) 290px;gap:18px}.booking-panel,.booking-totals{padding:22px}.booking-progress{gap:18px;font-size:12px}.slot-list{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.booking-grid{display:flex;flex-direction:column}.booking-grid>form{order:2;width:100%}.booking-totals{position:static;width:100%;order:1}.booking-progress{gap:12px;align-items:flex-start}.booking-progress li{flex-direction:column;align-items:flex-start;flex:1}.booking-panel .form-grid{grid-template-columns:1fr}.booking-panel .full{grid-column:auto}.booking-date-row{grid-template-columns:1fr}.booking-date-row>span{display:none}.booking-totals .booking-help,.booking-totals hr,.booking-totals>p:last-of-type{display:none}.booking-result{padding:25px}.booking-deposit strong{font-size:27px}}
.booking-grid[hidden],#reservation-app [hidden]{display:none!important}
.booking-panel .form-fine{color:#5b6259}.booking-panel .consent>span{color:#41483f!important}.booking-panel .consent a{color:#93401f}.booking-panel .form-grid label>span{color:#5b6259}
/* Booking fields sit on a light panel, unlike the dark contact form. */
.booking-panel label,.booking-panel .form-grid label{color:#252623}
.booking-panel .form-grid input:not([type=checkbox]):not([type=file]),.booking-panel .form-grid textarea{background:#fff;color:#252623}
.booking-panel input::placeholder,.booking-panel textarea::placeholder{color:#5b6259;opacity:1}
