/* Keep the supplied ZAVA mark within the booking header while retaining its immersive background. */
.booking-page .header{height:92px;min-height:92px;margin:0 6.4%;gap:32px;border-color:rgba(245,237,156,.28)}
.booking-page .wordmark{display:flex;align-items:center;flex:0 0 auto;width:150px;height:48px;overflow:hidden}
.booking-page .wordmark img{display:block;width:142px;height:42px;max-width:142px;max-height:42px;object-fit:contain;object-position:left center}
.booking-page .header nav{gap:clamp(18px,3vw,42px);font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:11px;letter-spacing:.08em;white-space:nowrap}
.booking-page .header nav a,.booking-page .footer a{color:#f5ed9c}
.booking-page .header .nav-book{border-color:#f5ed9c}
@media(max-width:850px){.booking-page .header{height:auto;min-height:84px;padding:19px 0;flex-wrap:wrap;gap:17px}.booking-page .header nav{gap:20px}}
@media(max-width:600px){.booking-page .header{align-items:center}.booking-page .wordmark{width:120px;height:40px}.booking-page .wordmark img{width:116px;height:36px;max-width:116px;max-height:36px}.booking-page .header nav{width:100%;gap:12px;justify-content:space-between;font-size:10px}}
/* The booking page now uses a quiet paper palette with no photographic backdrop. */
body.booking-page:has(.booking-layout){background:#f7f5ef!important;color:#695a4e!important}
body.booking-page:has(.booking-layout)::before{display:none!important;content:none!important}
body.booking-page:has(.booking-layout) .header,body.booking-page:has(.booking-layout) .footer{border-color:#d8d0c7!important;color:#695a4e!important}
body.booking-page:has(.booking-layout) .header nav a,body.booking-page:has(.booking-layout) .footer a{color:#695a4e!important}
body.booking-page:has(.booking-layout) .header .nav-book{border-color:#b9aa9d!important}
body.booking-page:has(.booking-layout) main{z-index:auto}
body.booking-page:has(.booking-layout) .booking-layout{max-width:1280px;grid-template-columns:minmax(240px,.72fr) minmax(0,1.28fr);gap:8%;padding:76px 0 90px}
body.booking-page:has(.booking-layout) .booking-layout aside{color:#695a4e;padding-top:8px}
body.booking-page:has(.booking-layout) .booking-layout aside .eyebrow{color:#827468}
body.booking-page:has(.booking-layout) .booking-layout aside h1{font-family:'EB Garamond',Georgia,'Times New Roman',serif!important;color:#695a4e!important;font-size:clamp(48px,5.5vw,76px)!important;font-weight:400!important;line-height:1.02;letter-spacing:.01em!important;margin:0 0 23px}
body.booking-page:has(.booking-layout) .booking-layout aside>p:not(.eyebrow):not(.note){color:#75695f!important;font-family:'EB Garamond',Georgia,'Times New Roman',serif;font-size:18px;line-height:1.65}
body.booking-page:has(.booking-layout) .booking-layout aside .note{color:#827468!important}
body.booking-page:has(.booking-layout) .booking-panel{background:#fbfaf7;color:#51483f;padding:38px 42px 42px;box-shadow:none;border:1px solid #e2dbd2}
body.booking-page:has(.booking-layout) .form-step h2,body.booking-page:has(.booking-layout) .booking-success h2{font-family:'EB Garamond',Georgia,'Times New Roman',serif;color:#695a4e;font-weight:400;letter-spacing:0}
body.booking-page:has(.booking-layout) legend,body.booking-page:has(.booking-layout) .form-step>label,body.booking-page:has(.booking-layout) .form-row>label{color:#51483f;font-weight:400}
body.booking-page:has(.booking-layout) .type-options label{background:transparent;border-color:#d8d0c7;color:#51483f;border-radius:0}
body.booking-page:has(.booking-layout) .type-options label:has(:checked){background:#eee9e1;border-color:#9b8b7c}
body.booking-page:has(.booking-layout) .set-choices{gap:8px 12px}
body.booking-page:has(.booking-layout) .set-choice{min-height:48px;justify-content:center;padding:12px 14px;background:transparent;border-color:#d8d0c7;color:#51483f}
body.booking-page:has(.booking-layout) .set-choice>img{display:none}
body.booking-page:has(.booking-layout) .set-choice:has(:checked){background:#eee9e1;border-color:#9b8b7c}
body.booking-page:has(.booking-layout) .form-step input:not([type=radio]):not([type=checkbox]),body.booking-page:has(.booking-layout) textarea{background:#fffdfa;border-color:#d1c8bd;color:#51483f}
body.booking-page:has(.booking-layout) .button.dark{background:#75685c!important;border-color:#75685c!important;color:#fff!important}
body.booking-page:has(.booking-layout) .button{border-color:#aa9b8d;color:#51483f}
body.booking-page:has(.booking-layout) .help,body.booking-page:has(.booking-layout) .note{color:#827468}
@media(max-width:850px){body.booking-page:has(.booking-layout) .booking-layout{grid-template-columns:1fr;gap:32px;padding:54px 0 65px;max-width:680px}body.booking-page:has(.booking-layout) .booking-panel{padding:30px 28px 34px}}
@media(max-width:600px){body.booking-page:has(.booking-layout) .booking-layout{padding-top:36px}.booking-page .booking-layout aside h1{font-size:52px!important}body.booking-page:has(.booking-layout) .booking-panel{padding:25px 18px 28px}}
/* A more open, direct booking form: one reading column, light section rules, no boxed panel. */
body.booking-page:has(.booking-layout) .booking-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:0;max-width:1000px;padding:62px 0 88px}
body.booking-page:has(.booking-layout) .booking-layout aside{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(280px,1.2fr);align-items:end;column-gap:8%;padding:0 0 34px;border-bottom:1px solid #d8d0c7}
body.booking-page:has(.booking-layout) .booking-layout aside .eyebrow{grid-column:1/-1;margin-bottom:14px;font-size:9px;letter-spacing:.18em}
body.booking-page:has(.booking-layout) .booking-layout aside h1{font-size:clamp(43px,5vw,62px)!important;line-height:1.02;margin:0;font-weight:400}
body.booking-page:has(.booking-layout) .booking-layout aside>p:not(.eyebrow){font-size:16px!important;line-height:1.65!important;max-width:410px;margin:0 0 4px}
body.booking-page:has(.booking-layout) .booking-panel{background:transparent;border:0;padding:32px 0 0;box-shadow:none}
body.booking-page:has(.booking-layout) .form-step{padding:0 0 30px;margin:0 0 28px;border-bottom:1px solid #e1dad1}
body.booking-page:has(.booking-layout) .form-step h2{font-size:21px;margin:0 0 22px}
body.booking-page:has(.booking-layout) fieldset{margin:0 0 23px;padding:0;border:0}
body.booking-page:has(.booking-layout) legend{font-size:13px;margin-bottom:12px}
body.booking-page:has(.booking-layout) .type-options{display:flex;flex-wrap:wrap;gap:9px}
body.booking-page:has(.booking-layout) .type-options label{width:auto;min-height:42px;padding:11px 16px;font-size:13px}
body.booking-page:has(.booking-layout) .set-choices{grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
body.booking-page:has(.booking-layout) .set-choice{min-height:42px;padding:9px 11px;font-size:12px}
body.booking-page:has(.booking-layout) .form-row{grid-template-columns:1fr 1fr;gap:18px}
body.booking-page:has(.booking-layout) .form-step>label,body.booking-page:has(.booking-layout) .form-row>label{font-size:13px;margin-bottom:18px;gap:8px}
body.booking-page:has(.booking-layout) .form-step input:not([type=radio]):not([type=checkbox]),body.booking-page:has(.booking-layout) textarea{min-height:44px;padding:10px 12px;font-size:15px}
body.booking-page:has(.booking-layout) .form-step textarea{min-height:105px}
body.booking-page:has(.booking-layout) .help{font-size:12px}
body.booking-page:has(.booking-layout) .form-actions{padding-top:8px}
body.booking-page:has(.booking-layout) .form-actions .button{min-height:44px;padding:13px 20px;font-size:10px;letter-spacing:.13em}
body.booking-page:has(.booking-layout) .booking-consent{border:0;padding-bottom:0;margin-bottom:12px}
body.booking-page:has(.booking-layout) .booking-success{max-width:700px;margin:40px auto;padding:34px 0;border-top:1px solid #d8d0c7}
@media(max-width:850px){body.booking-page:has(.booking-layout) .booking-layout{padding:48px 0 70px;max-width:720px}body.booking-page:has(.booking-layout) .booking-layout aside{grid-template-columns:1fr;gap:12px;padding-bottom:25px}body.booking-page:has(.booking-layout) .booking-layout aside .eyebrow{grid-column:auto;margin:0}body.booking-page:has(.booking-layout) .set-choices{grid-template-columns:repeat(3,minmax(0,1fr))}body.booking-page:has(.booking-layout) .booking-panel{padding-top:27px}}
@media(max-width:600px){body.booking-page:has(.booking-layout) .booking-layout{padding:34px 0 52px}body.booking-page:has(.booking-layout) .booking-layout aside h1{font-size:46px!important}body.booking-page:has(.booking-layout) .booking-layout aside>p:not(.eyebrow){font-size:15px!important}body.booking-page:has(.booking-layout) .set-choices{grid-template-columns:repeat(2,minmax(0,1fr))}body.booking-page:has(.booking-layout) .form-row{grid-template-columns:1fr;gap:0}body.booking-page:has(.booking-layout) .form-step{padding-bottom:23px;margin-bottom:23px}body.booking-page:has(.booking-layout) .form-step h2{font-size:19px}}
body.booking-page:has(.booking-layout) .type-options{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}
body.booking-page:has(.booking-layout) .type-options label{min-height:40px;padding:10px 13px;white-space:nowrap}
body.booking-page:has(.booking-layout) .set-disclosure{margin:2px 0 0;padding:14px 0 2px;border-top:1px solid #e1dad1}
body.booking-page:has(.booking-layout) .set-disclosure summary{font-size:13px;color:#695a4e;cursor:pointer;list-style-position:inside}
body.booking-page:has(.booking-layout) .set-disclosure summary span{font-size:12px;color:#827468}
body.booking-page:has(.booking-layout) .set-disclosure label{display:block;margin:15px 0 8px;font-size:13px}
body.booking-page:has(.booking-layout) .set-disclosure select{width:min(100%,460px);min-height:44px;padding:10px 12px;border:1px solid #d1c8bd;border-radius:0;background:#fffdfa;color:#51483f;font-size:15px}
body.booking-page:has(.booking-layout) .booking-layout aside h1{font-size:clamp(34px,3.4vw,46px)!important;line-height:1.12;white-space:nowrap;letter-spacing:0!important;margin-bottom:0}
@media(max-width:850px){body.booking-page:has(.booking-layout) .booking-layout aside h1{font-size:42px!important}}
@media(max-width:600px){body.booking-page:has(.booking-layout) .booking-layout aside h1{font-size:38px!important;white-space:normal}}
body.booking-page #booking-form input[name="phone"]{width:300px;max-width:100%}
/* Give each field a width that matches the information it asks for. */
body.booking-page:has(.booking-layout) .booking-layout{max-width:900px}
body.booking-page:has(.booking-layout) .form-step[data-step="1"]{max-width:720px}
body.booking-page:has(.booking-layout) .form-step[data-step="1"]>label{max-width:320px}
body.booking-page:has(.booking-layout) .form-step[data-step="2"]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px;align-items:start}
body.booking-page:has(.booking-layout) .form-step[data-step="2"] h2{grid-column:1/-1}
body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label{min-width:0}
body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label:nth-of-type(3){max-width:300px}
body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label:nth-of-type(4){grid-column:1/-1;max-width:720px}
body.booking-page:has(.booking-layout) .form-step[data-step="2"] input:not([type=radio]):not([type=checkbox]),body.booking-page:has(.booking-layout) .form-step[data-step="2"] textarea{width:100%}
@media(max-width:600px){body.booking-page:has(.booking-layout) .form-step[data-step="2"]{grid-template-columns:1fr;column-gap:0}body.booking-page:has(.booking-layout) .form-step[data-step="2"] h2,body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label:nth-of-type(4){grid-column:auto}body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label:nth-of-type(3){max-width:100%}}
body.booking-page:has(.booking-layout) .booking-layout{margin-left:auto;margin-right:auto}
/* Compact desktop booking form; mobile remains a simple single column. */
@media(min-width:851px){
 body.booking-page:has(.booking-layout) .header{height:76px;min-height:76px}
 body.booking-page:has(.booking-layout) .booking-layout{max-width:1120px;padding:24px 0 30px}
 body.booking-page:has(.booking-layout) .booking-layout aside{padding-bottom:17px;column-gap:5%}
 body.booking-page:has(.booking-layout) .booking-layout aside .eyebrow{margin-bottom:8px}
 body.booking-page:has(.booking-layout) .booking-layout aside h1{font-size:40px!important;line-height:1.05}
 body.booking-page:has(.booking-layout) .booking-layout aside>p:not(.eyebrow){font-size:14px!important;line-height:1.45!important;max-width:390px}
 body.booking-page:has(.booking-layout) .booking-panel{padding-top:18px}
 body.booking-page:has(.booking-layout) .form-step{padding-bottom:13px;margin-bottom:13px}
 body.booking-page:has(.booking-layout) .form-step h2{font-size:18px;margin-bottom:12px}
 body.booking-page:has(.booking-layout) fieldset{margin-bottom:11px}
 body.booking-page:has(.booking-layout) legend{font-size:12px;margin-bottom:7px}
 body.booking-page:has(.booking-layout) .type-options{gap:7px}
 body.booking-page:has(.booking-layout) .type-options label{min-height:34px;padding:7px 11px;font-size:12px}
 body.booking-page:has(.booking-layout) .set-disclosure{padding-top:9px}
 body.booking-page:has(.booking-layout) .set-disclosure summary{font-size:12px}
 body.booking-page:has(.booking-layout) .form-step[data-step="1"]{max-width:none;grid-template-columns:1fr 1fr .72fr;column-gap:16px;align-items:end}
 body.booking-page:has(.booking-layout) .form-step[data-step="1"] h2{grid-column:1/-1}
 body.booking-page:has(.booking-layout) .form-step[data-step="1"] .form-row{display:contents}
 body.booking-page:has(.booking-layout) .form-step[data-step="1"]>label{max-width:none;margin-bottom:0}
 body.booking-page:has(.booking-layout) .form-step[data-step="1"] .help{grid-column:1/-1;margin:7px 0 0}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"]{column-gap:16px;row-gap:0;padding-bottom:10px;margin-bottom:10px}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"] h2{font-size:18px;margin-bottom:10px}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label{font-size:12px;gap:5px;margin-bottom:10px}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"] input:not([type=radio]):not([type=checkbox]){min-height:38px;padding:7px 10px}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label:nth-of-type(3){max-width:100%}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"]>label:nth-of-type(4){grid-column:auto;max-width:none}
 body.booking-page:has(.booking-layout) .form-step[data-step="2"] textarea{min-height:38px;height:38px;resize:vertical;padding:8px 10px}
 body.booking-page:has(.booking-layout) .booking-consent{display:inline-block;vertical-align:middle;width:calc(100% - 190px);margin:0;padding:0}
 body.booking-page:has(.booking-layout) .booking-consent .consent{margin:0;font-size:11px}
 body.booking-page:has(.booking-layout) .form-actions{display:inline-flex;vertical-align:middle;width:185px;justify-content:flex-end;margin:0}
 body.booking-page:has(.booking-layout) .form-actions .button{min-height:38px;padding:10px 16px}
 body.booking-page:has(.booking-layout) .footer{padding-top:13px;padding-bottom:14px}
}
@media(max-width:850px){body.booking-page:has(.booking-layout) .booking-layout{padding-top:30px}}
@media(min-width:851px){body.booking-page:has(.booking-layout) .form-step[data-step="1"]{display:grid}}
@media(min-width:851px){body.booking-page:has(.booking-layout) .form-step[data-step="1"]{grid-template-columns:1fr 1fr}}
