.booking-page{background:#f5f4f0;color:#183040}.booking-page .wrap{width:min(1120px,calc(100% - 40px))}.booking-page .site-header{background:#132c3e}.booking-page .site-header .header{min-height:70px}.booking-page .brand-mark{background:#c4a36c;color:#152b3c;box-shadow:none}.booking-page .brand small{color:#b7c7d3}.booking-breadcrumb{display:flex;gap:9px;align-items:center;padding:22px 0 0;color:#78858b;font-size:12px}.booking-breadcrumb a{color:#28485b;text-decoration:none}.booking-page main.layout{padding-top:18px;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:30px}.booking-page .preview{border:0;border-radius:22px;box-shadow:0 8px 30px #19324906;overflow:hidden}.booking-page #propertyImage{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover;display:block}.booking-page #allianceGallery,.booking-page #orbiCGallery{gap:8px!important;padding:10px 12px!important;margin:0!important;overflow:auto;scrollbar-width:thin}.booking-page #allianceGallery img,.booking-page #orbiCGallery img{width:86px!important;height:66px!important;flex:0 0 86px;object-fit:cover;border-radius:9px!important;cursor:zoom-in}.booking-page .preview-body{padding:24px 26px 28px;display:flex;flex-direction:column}.booking-page #sampleTag{align-self:flex-start;background:#f2efe7;color:#8a7047;font-size:10px;letter-spacing:.06em;border-radius:5px;padding:5px 8px}.booking-page #propertyTitle{font-size:28px;line-height:1.2;letter-spacing:-.035em;color:#193647;margin:14px 0 10px;order:1}.booking-page #propertyArea{order:2;font-size:13px;line-height:1.6;color:#71808a}.booking-page #propertyPrice{order:3;font-size:29px;font-weight:750;margin:20px 0 0;color:#193647;letter-spacing:-.025em;line-height:1.3}.booking-page #propertyPrice .muted{font-size:13px;font-weight:400;letter-spacing:0}.booking-page .features{order:4;gap:8px;margin:16px 0 0}.booking-page .features span{background:#f4f6f7;border:0;color:#516573;border-radius:7px;font-size:12px;padding:7px 10px}.booking-page #propertyDescription{order:5;font-size:13px;line-height:1.8;color:#6c7d86}.booking-page .notice{background:none;border:0;padding:12px 4px;margin:0;font-size:12px;line-height:1.6;color:#7e898d}.booking-page .form-card{padding:26px;border:1px solid #e3e6e5;border-radius:22px;box-shadow:0 8px 30px #19324906}.booking-kicker{font-size:10px;letter-spacing:.15em;font-weight:750;color:#a08252}.booking-page .booking-form-heading h2{font-size:27px;letter-spacing:-.035em;margin:8px 0 6px;line-height:1.2;color:#193647}.booking-page .booking-form-heading p{font-size:13px;color:#839097;margin:0 0 25px}.booking-page #bookingForm{gap:18px}.booking-page .booking-section{padding:0 0 18px;margin:0;border:0;border-bottom:1px solid #edf0ef;display:grid;gap:13px}.booking-section h3{font-size:14px;line-height:1.4;display:flex;align-items:center;gap:9px;margin:0 0 3px;font-weight:650;color:#304b5d}.booking-section h3 span{display:grid;place-items:center;font-size:10px;font-weight:650;width:25px;height:25px;border:1px solid #deddd4;background:#f8f6ef;color:#9b8054;border-radius:50%;flex-shrink:0}.booking-page .booking-field{display:grid;gap:6px;min-width:0}.booking-page #bookingForm label{font-size:12px;font-weight:600;color:#5b6f7b;margin:0;line-height:1.5}.booking-page #bookingForm input:not([type=checkbox]),.booking-page #bookingForm select,.booking-page #bookingForm textarea,.booking-page #bookingForm .booking-date-button{border:1px solid #dce3e5;border-radius:10px;min-height:48px;padding:12px 13px;background:#fbfcfc;font-size:16px;font-weight:400;color:#284559;line-height:1.4;width:100%}.booking-page #bookingForm textarea{min-height:88px;resize:vertical}.booking-page #bookingForm input[type=hidden]{display:none}.booking-page #bookingForm .booking-date-button:after{content:'▦';font-size:17px;color:#9aaab3}.booking-page #bookingForm input:focus,.booking-page #bookingForm select:focus,.booking-page #bookingForm textarea:focus,.booking-page #bookingForm .booking-date-button:focus-visible{outline:2px solid #b3c7d0;outline-offset:2px}.booking-page #monthlyNote{margin:0!important;font-size:12px;line-height:1.5;background:#f6f5ef;padding:10px 12px;border-radius:8px;color:#7f806e}.booking-page .stay-options{background:#f7f8f6;border:0;border-radius:12px;padding:14px 16px;margin:0}.booking-page .stay-options legend{font-size:12px;background:#fff;padding:0 6px;color:#73827e}.booking-page .stay-options p{font-size:13px;font-weight:550;color:#395660}.booking-page .stay-options .stay-help{font-size:11px;font-weight:400;color:#82908f}.booking-page #bookingForm .stay-options label{font-size:13px;font-weight:400;margin:12px 0;color:#3e5966;gap:10px}.booking-page .stay-options input[type=checkbox]{accent-color:#203e33;border-radius:4px}.booking-page .estimate{background:#f4f1e8;border:0;padding:16px;border-radius:12px;margin:0}.booking-page #estimateLabel{font-size:11px;color:#897c63}.booking-page #estimateValue{font-size:22px;line-height:1.5;color:#304636;letter-spacing:-.02em}.booking-page #estimateSmall{font-size:11px;line-height:1.5;display:block;color:#8b8b78}.booking-page #submitButton{background:#234b40;border-radius:11px;font-size:14px;font-weight:650;padding:16px;min-height:52px;margin:0;box-shadow:none}.booking-page #submitButton:hover{background:#173e33;transform:none}.booking-page #finePrint,.booking-page #contactHelp{margin:0!important;font-size:11px;line-height:1.6;color:#88969a}.booking-page .booking-calendar{max-width:none}.booking-page .booking-date-error{font-size:12px;margin:0;line-height:1.5}.booking-page #bookingForm input[aria-invalid=true]{border-color:#b33434;background:#fffafa}.booking-page .booking-error-summary{font-size:13px;margin:0}.booking-page footer{background:#f5f4f0;border-color:#e2e5e2;color:#82908e}.booking-page .booking-section[hidden]{display:none}@media(min-width:900px){.booking-page main.layout>section:first-child{position:sticky;top:92px}}@media(max-width:850px){.booking-page main.layout{grid-template-columns:1fr;gap:16px}.booking-page .wrap{width:calc(100% - 28px);max-width:620px}.booking-breadcrumb{padding-top:16px;font-size:11px}.booking-page main.layout{padding-top:12px;padding-bottom:28px}.booking-page .site-header .header{min-height:64px}.booking-page #propertyImage{aspect-ratio:1.35}.booking-page .preview-body{padding:20px}.booking-page #propertyTitle{font-size:24px;line-height:1.25;margin-top:12px}.booking-page #propertyPrice{font-size:27px;margin-top:14px}.booking-page .form-card{padding:20px;border-radius:18px}.booking-page .booking-form-heading h2{font-size:24px}.booking-page .booking-form-heading p{margin-bottom:22px}.booking-page .preview{border-radius:18px}.booking-page .site-header .back{font-size:11px;padding:9px}.booking-page .header-right{gap:6px}.booking-page .brand small{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.booking-page #propertyTitle{max-width:none;width:auto}.booking-page .booking-section{background:transparent}.booking-page .booking-breadcrumb{background:transparent}

/* Sea-glass booking variant; catalog and general enquiry keep their own surfaces. */
.booking-page.booking-sea .form-card{
  --booking-deep:#152c49;--booking-ink:#172d46;--booking-secondary:#455f75;
  --booking-card:#f4f7fb;--booking-field:#fbfcff;--booking-outline:#697f95;
  --booking-line:#bccad9;--booking-window:#d9e8f3;--booking-estimate:#dee8f2;
  color:var(--booking-ink);background:var(--booking-card);border-color:var(--booking-line);
}
.booking-page.booking-sea{background:#e3e9f0}
.booking-page.booking-sea .site-header{background:#152c49}
.booking-page .form-card .booking-kicker,.booking-page .form-card .booking-section h3 span{color:#315676}
.booking-page .form-card .booking-section h3 span{background:var(--booking-estimate);border-color:var(--booking-line)}
.booking-page .form-card :is(.booking-form-heading h2,.booking-section h3){color:var(--booking-deep)}
.booking-page .form-card .booking-form-heading p{margin-bottom:18px;color:var(--booking-secondary)}
.booking-page .form-card #bookingForm{gap:16px}
.booking-page .form-card .booking-section{gap:10px;padding-bottom:14px;border-color:var(--booking-line)}
.booking-page .booking-field-row{display:grid;align-items:start;gap:10px;min-width:0}
.booking-page .booking-travel-fields{grid-template-columns:minmax(0,2.6fr) minmax(65px,1fr)}
.booking-page .booking-contact-fields{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}
.booking-page .form-card #bookingForm label{color:var(--booking-ink)}
.booking-page .form-card #bookingForm :is(input:not([type=checkbox]),select,textarea,.booking-date-button){
  min-height:46px;border-color:var(--booking-outline);background:var(--booking-field);color:var(--booking-ink);
  padding:10px 12px;
}
.booking-page .form-card #bookingForm :is(input,textarea)::placeholder{color:var(--booking-secondary);opacity:1}
.booking-page .form-card #bookingForm #wishes{min-height:64px;resize:vertical}
.booking-page .form-card #bookingForm button.booking-range-button{
  display:grid;grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  gap:8px;align-items:center;min-height:66px;background:var(--booking-window);padding:10px 12px;text-align:left;
}
.booking-page .form-card #bookingForm button.booking-range-button:after{content:none}
.booking-range-cell{display:grid;gap:2px;min-width:0;color:#152c49;overflow-wrap:anywhere}
.booking-range-cell>span{font-size:11px;font-weight:700;color:#455f75}
.booking-range-cell>strong{font-size:17px;line-height:1.25;font-variant-numeric:tabular-nums}
.booking-range-arrow{display:grid;place-items:center;width:24px;height:24px;border:1px solid #697f95;border-radius:50%;background:#fbfcff;color:#285479}
.booking-range-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.booking-page .form-card #bookingForm :is(input,.booking-date-button)[aria-invalid=true]{border-color:#a93232;background:#fff8f8}
.booking-page .form-card .stay-options{
  border:0;border-bottom:1px solid var(--booking-line);border-radius:0;background:transparent;min-width:0;padding:5px 0 11px;
}
.booking-page .form-card .stay-options legend{padding:0;background:none;font-size:14px;color:var(--booking-deep)}
.booking-page .form-card .stay-options p{margin:4px 0;color:var(--booking-ink)}
.booking-page .form-card .stay-options .stay-help{color:var(--booking-secondary)}
.booking-page .booking-stay-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.booking-page .form-card #bookingForm .booking-stay-choices label{display:flex;align-items:center;min-height:44px;gap:6px;margin:0}
.booking-page .booking-stay-choices input{flex:none}
.booking-page .booking-actions{display:grid;gap:8px}
.booking-page .form-card .estimate{
  display:grid;gap:4px;background:var(--booking-estimate);border:1px solid var(--booking-line);padding:12px;
}
.booking-page .form-card :is(#estimateLabel,#estimateSmall,#contactHelp){color:var(--booking-secondary)}
.booking-page .form-card #estimateLabel{font-size:12px;font-weight:700}
.booking-page .form-card #estimateValue{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;color:var(--booking-deep);font-size:17px}
.booking-page .estimate-breakdown{font-size:13px;font-weight:500}
.booking-page .estimate-total{font-size:26px;line-height:1.2;font-variant-numeric:tabular-nums}
.booking-page .form-card #submitButton{width:100%;background:var(--booking-deep)}
.booking-page .form-card #submitButton:not(:disabled):hover{background:#285479}
.booking-page .form-card .booking-calendar .calendar-days button:not(:disabled){min-height:44px}
.booking-page .form-card .calendar-days button[aria-pressed=true]{background:var(--booking-deep);color:var(--booking-field)}
.booking-page .form-card .calendar-days button.calendar-in-range{background:var(--booking-window);color:var(--booking-deep)}
.booking-page .form-card .calendar-days button.calendar-range-start:disabled{background:var(--booking-deep);color:var(--booking-field)}
@media(max-width:850px){.booking-page.booking-sea .form-card{padding:16px}}
@media(max-width:350px){.booking-page .form-card .booking-contact-fields{grid-template-columns:minmax(0,1fr)}}
