.booking-section{padding-block:65px;background:#eee8db;border-top:1px solid #ddd3bf;scroll-margin-top:20px}.booking-layout{display:grid;grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:70px;align-items:start}.booking-intro{padding-top:28px}.booking-intro h2{font-size:clamp(32px,4vw,48px);line-height:1.4;margin:0 0 18px;color:var(--ink,#171c20)}.booking-intro>p:not(.eyebrow){font-size:17px;line-height:2;color:#62665e;margin:0 0 26px}.booking-detail{display:flex;gap:13px;align-items:flex-start;font-size:14px;line-height:1.9;color:#6a5737;margin-top:18px}.booking-detail svg{flex:0 0 22px;margin-top:3px;fill:none;stroke:currentColor;stroke-width:1.6}.booking-card{padding:32px;background:#fffcf7;border:1px solid #d6cbb7;border-radius:10px;box-shadow:0 12px 32px #3a352407}.booking-card fieldset{border:0;margin:0;padding:0;min-width:0}.booking-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.booking-field{display:flex;flex-direction:column;min-width:0;gap:9px;font-size:15px;font-weight:700;color:#242c2b}.booking-wide{grid-column:1/-1}.booking-field input,.booking-field select{min-height:52px;width:100%;min-width:0;max-width:100%;border:1px solid #cfc5b1;border-radius:6px;background:#fff;color:#171c20;padding:10px 12px;font:400 17px/1.5 Tahoma,Arial,sans-serif;box-sizing:border-box;color-scheme:light}.booking-field input[type=date],.booking-field input[type=time]{direction:ltr;text-align:start}.booking-field input:focus,.booking-field select:focus{outline:3px solid #d6b47777;outline-offset:1px;border-color:#8d6d37}.booking-field input[aria-invalid=true],.booking-field select[aria-invalid=true]{border-color:#ad3434}.booking-field small{font-size:12px;line-height:1.8;font-weight:400;color:#6d7169}.booking-field input:disabled,.booking-field select:disabled{opacity:1;background:#f1eee8;color:#6d7169}.booking-time-note,.booking-privacy{font-size:12px;line-height:1.9;color:#6b7068;margin:16px 0 0}.booking-time-note{color:#80632e}.booking-submit{display:block;width:100%;border:1px solid #171c20;border-radius:6px;background:#171c20;color:#f6e5c3;min-height:56px;margin-top:24px;padding:12px 20px;font:700 17px/1.6 Tahoma,Arial,sans-serif;cursor:pointer}.booking-submit:hover{background:#29312f}.booking-submit:disabled{opacity:.65;cursor:wait}.booking-submit:focus-visible,.booking-new:focus-visible,.booking-success-links a:focus-visible{outline:3px solid #b69559;outline-offset:4px}.booking-alert{margin:18px 0 0;background:#fff1ed;border:1px solid #ddada0;border-radius:6px;padding:13px 16px;color:#822e25;font-size:14px;line-height:1.8}.booking-alert p{margin:0}.booking-alert[hidden],.booking-success[hidden],#booking-form[hidden]{display:none!important}.booking-privacy-details{font-size:12px;color:#737568;line-height:1.9;margin-top:8px}.booking-privacy-details summary{cursor:pointer;min-height:30px;color:#75603c;text-decoration:underline;text-underline-offset:3px}.booking-privacy-details p{margin:8px 0 0}.booking-honey,.booking-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.booking-success{text-align:center;outline:none}.booking-success-mark{display:grid;place-items:center;width:66px;height:66px;margin:0 auto 21px;border-radius:50%;background:#e7eee5;border:1px solid #b5c6ae;color:#48643c;font-size:32px}.booking-success .eyebrow{margin:0 0 10px}.booking-success h3{font-size:29px;line-height:1.5;margin:0 0 17px}.booking-reference{font-size:14px;color:#727465;line-height:1.8;margin:0 0 20px}.booking-reference strong{display:block;color:#705624;font-size:19px;letter-spacing:1px;margin-top:5px}.booking-receipt{margin:0;text-align:start;border-top:1px solid #ded6c8}.booking-receipt>div{display:flex;justify-content:space-between;align-items:baseline;gap:18px;border-bottom:1px solid #e7e0d4;padding:11px 0;font-size:14px;line-height:1.8}.booking-receipt dt{color:#737568;flex-shrink:0}.booking-receipt dd{margin:0;font-weight:700;text-align:end;overflow-wrap:anywhere}.booking-success-note{font-size:13px;color:#74766b;line-height:1.9;margin:20px 0}.booking-success-links{display:flex;gap:10px}.booking-success-links a{flex:1;display:flex;justify-content:center;align-items:center;border:1px solid #a98a52;border-radius:5px;color:#735726;min-height:47px;font-size:14px;font-weight:700}.booking-new{margin-top:18px;padding:10px 15px;min-height:44px;background:transparent;border:0;color:#7c653e;text-decoration:underline;text-underline-offset:4px;font:14px Tahoma,Arial,sans-serif;cursor:pointer}.booking-card:has(#booking-form[hidden]){align-self:center}
@media(max-width:900px){.booking-layout{gap:32px;grid-template-columns:minmax(210px,.7fr) minmax(0,1.3fr)}.booking-card{padding:24px}.booking-form-grid{gap:18px 12px}}
@media(max-width:760px){.booking-section{padding-block:38px}.booking-layout{grid-template-columns:1fr;gap:24px}.booking-intro{padding-top:0}.booking-intro h2{font-size:35px;margin-bottom:12px}.booking-intro>p:not(.eyebrow){font-size:15px;margin-bottom:18px}.booking-detail{font-size:13px;margin-top:12px}.booking-card{padding:24px 20px}.booking-field{font-size:14px}.booking-form-grid{gap:18px 12px}.booking-submit{font-size:16px}.booking-success h3{font-size:26px}}
@media(max-width:380px){.booking-card{padding:22px 15px}.booking-field input,.booking-field select{padding-inline:8px;font-size:16px}.booking-form-grid{column-gap:9px}.booking-receipt>div{gap:12px;font-size:13px}}
