.booking-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;padding:80px 0 54px}
.booking-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;opacity:.32}
.booking-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#001348d9,transparent)}
.booking-hero>.container{position:relative;z-index:1}
.booking-hero .eyebrow{color:#c6d6ec;font-size:12px;letter-spacing:.14em}
body .booking-hero h1,body .booking-hero h1 .script{color:#fff}
.booking-hero h1{font-size:clamp(40px,4.8vw,66px);line-height:1.15;letter-spacing:-.035em;margin:20px 0 22px}
.booking-hero h1 .script{font-size:1.22em;line-height:1.4;font-weight:400}
.booking-hero p{max-width:540px;color:#e2eaf5}
.booking-promises{display:flex;gap:36px;flex-wrap:wrap;border-top:1px solid #ffffff35;margin-top:38px;padding-top:24px;font-size:13px}
.booking-promises span{display:flex;align-items:center;gap:9px}.booking-promises .icon{width:15px;height:15px}
.booking-main{background:#f7f9fb;padding:64px 0 70px}
.booking-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:32px}
.booking-heading .eyebrow{font-size:12px;letter-spacing:.14em;color:#617b98}
.booking-heading h2{font-size:clamp(32px,3vw,44px);line-height:1.25;margin:14px 0 0}.booking-heading h2 .script{font-size:1.3em}
.booking-heading>p{color:#617086;font-size:13px;line-height:1.8;margin:0 0 4px}
.booking-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:32px;align-items:start}
.booking-form-card{padding:36px 38px}.booking-section-title{display:flex;gap:16px;margin:36px 0 23px;padding-top:30px;border-top:1px solid #dce3ec}.booking-section-title:first-of-type{margin-top:0;padding-top:0;border:0}
.booking-section-title>span{font:500 12px/30px var(--heading);color:#6d86a4;border:1px solid #cbd5e1;width:32px;height:32px;text-align:center;flex:none}
.booking-section-title h3{font-size:23px;line-height:1.3;margin:0 0 7px;letter-spacing:-.02em}.booking-section-title p{font-size:12px;line-height:1.7;color:#617086;margin:0}
.booking-page .contact-fields .marine-select-value{white-space:normal;overflow-wrap:anywhere;line-height:1.5;text-align:left}.booking-page .marine-select-trigger .icon{flex:none}
.booking-page .marine-select-trigger:disabled{opacity:.55;cursor:not-allowed;background:#f4f6f9}
body .booking-page .booking-field-note{font-size:11px!important;line-height:1.7;color:#617086;margin:10px 0 0}
.booking-form-card .booking-extras{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px}.booking-extras legend{font:500 12px/1.5 var(--heading);margin-bottom:12px}
.booking-extras label{display:flex;align-items:center;gap:9px;border:1px solid #cbd5e1;padding:10px 12px;font-size:12px;cursor:pointer}.booking-extras label:has(:checked){background:#eef3fa;border-color:var(--navy)}.booking-extras input{accent-color:var(--navy);width:16px;height:16px;margin:0}
.booking-summary{position:sticky;top:120px;background:#fff;border:1px solid #dce3ec}.booking-summary-photo{position:relative;background:var(--navy);aspect-ratio:1.6;overflow:hidden}.booking-summary-photo img{width:100%;height:100%;object-fit:cover}
.booking-summary-body{padding:28px}.booking-summary-body>.eyebrow{font-size:10px;letter-spacing:.12em;color:#617b98}.booking-summary h3{font-size:28px;line-height:1.3;margin:12px 0 24px}
.booking-summary dl{margin:0}.booking-summary dl>div{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;padding:13px 0;border-top:1px solid #e0e6ee}.booking-summary dt{font:500 10px/1.8 var(--heading);text-transform:uppercase;letter-spacing:.04em;color:#617b98}.booking-summary dd{font-size:13px;line-height:1.7;margin:0;overflow-wrap:anywhere}.booking-summary-body>p{font-size:12px;line-height:1.8;color:#617086;border-top:1px solid #e0e6ee;padding-top:18px;margin-top:0}
body .booking-page .booking-summary dt{font:500 10px/1.8 var(--heading)!important;letter-spacing:.04em!important}
body .booking-page .booking-summary dd{font-size:13px!important;line-height:1.7!important;letter-spacing:0!important}
.marine-select-option[aria-disabled=true]{opacity:.45;cursor:not-allowed}
.booking-summary-contact{display:flex;flex-direction:column;align-items:start;gap:8px;margin-top:22px;padding-top:20px;border-top:1px solid #cbd5e1}.booking-summary-contact>span{font-size:12px;color:#617086}.booking-summary-contact>a{display:flex;align-items:center;gap:12px;font-size:14px}.booking-summary-contact>a:last-child{font-size:12px;border-bottom:1px solid #a7b6cc;padding-bottom:4px}.booking-summary-contact .icon{width:14px;height:14px}
.booking-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid #cbd5e1;margin-top:56px;padding-top:36px}.booking-next span{font:500 12px var(--heading);color:#617b98}.booking-next h3{font-size:20px;margin:14px 0 10px}.booking-next p{font-size:13px;line-height:1.8;color:#617086;max-width:300px}.booking-reset{display:block;background:none;border:0;border-bottom:1px solid #a7b6cc;padding:10px 0 3px;margin-top:20px;color:var(--navy);font:inherit;font-size:13px;cursor:pointer}
.booking-form-card .contact-success .eyebrow{display:block;margin-bottom:16px;font-size:11px}.booking-form-card .contact-success strong{overflow-wrap:anywhere}
@media(max-width:1100px){.booking-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px}.booking-form-card{padding:28px}.booking-summary-body{padding:22px}.booking-heading>p br{display:none}.booking-heading>p{max-width:310px}}
@media(max-width:760px){.booking-hero{padding:44px 0 32px}.booking-promises{gap:14px 24px;margin-top:26px;font-size:11px}.booking-main{padding:36px 0 44px}.booking-heading{display:block}.booking-heading>p{margin-top:18px;max-width:none}.booking-layout{grid-template-columns:1fr}.booking-form-card{grid-row:auto;padding:24px 20px}.booking-summary{position:static}.booking-summary-photo{aspect-ratio:1.8}.booking-next{grid-template-columns:1fr;gap:22px;margin-top:34px;padding-top:26px}.booking-next h3{margin:8px 0}.booking-next p{max-width:none;margin:0}.booking-section-title h3{font-size:21px}.booking-extras label{flex:1 1 100%}.booking-hero>img{object-position:52% center}.booking-form-card .contact-fields{grid-template-columns:1fr}}

/* Dedicated yacht selection: generous photo rows, separate from compact selects. */
body .booking-page .contact-fields .marine-select-boat{min-height:104px;padding:12px 14px;border-top:2px solid var(--navy)}
.boat-choice{display:flex;align-items:center;gap:16px;width:100%;min-width:0;text-align:left}
.boat-choice img{width:112px;height:80px;object-fit:cover;flex:none;background:#eef3f8}
.boat-choice-copy{display:flex;flex-direction:column;gap:5px;min-width:0}
body .marine-select-boat .boat-choice strong,body .marine-select-boat-panel .boat-choice strong{font:500 21px/1.2 var(--heading)!important;color:var(--navy);letter-spacing:.01em!important}
body .marine-select-boat .boat-choice-type,body .marine-select-boat-panel .boat-choice-type{font:400 12px/1.5 var(--body)!important;color:#536b89}
body .marine-select-boat .boat-choice-specs,body .marine-select-boat-panel .boat-choice-specs{font:400 12px/1.7 var(--body)!important;color:var(--navy)}
.boat-choice-specs i{font-style:normal;padding:0 6px;color:#9aabc0}
.marine-select-boat-panel{padding:6px;border-top:2px solid var(--navy)}
body .marine-select-boat-panel .marine-select-option{padding:13px 12px;border-bottom:1px solid #e3e9f1;min-height:106px;gap:12px}
.marine-select-boat-panel .marine-select-option:last-child{border-bottom:0}.marine-select-boat-panel .marine-select-option-label{flex:1;min-width:0}
.marine-select-boat-panel .marine-select-option.is-selected{background:#edf3fa}
.boat-choice-placeholder{display:flex;flex-direction:column;gap:8px;text-align:left}
body .marine-select-boat .boat-choice-placeholder strong,body .marine-select-boat-panel .boat-choice-placeholder strong{font:500 17px/1.4 var(--heading)!important}
body .marine-select-boat .boat-choice-placeholder small,body .marine-select-boat-panel .boat-choice-placeholder small{font:400 12px/1.6 var(--body)!important;color:#617b98}
/* Theme calendar in a top-layer popover, so the form never clips it. */
.marine-date-trigger{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:50px;padding:12px 14px;border:1px solid #c4cddb;background:#fff;color:var(--navy);text-align:left;cursor:pointer}
body .booking-page .marine-date-trigger span{font:400 14px/1.7 var(--body)!important}
.marine-date-trigger svg{flex:none}.marine-date-trigger.is-open{border-color:var(--navy)}
@media(hover:hover) and (pointer:fine){.marine-date-trigger:hover{border-color:var(--navy)}}
.marine-date-trigger:focus-visible{outline:2px solid #739de0;outline-offset:3px}.marine-date-trigger[aria-invalid=true]{border-color:#a23030}
.marine-date-trigger:disabled{opacity:.55;cursor:not-allowed}
.marine-calendar{position:fixed;inset:auto;margin:0;box-sizing:border-box;overflow:auto;padding:14px;border:1px solid #b9c7d9;border-top:2px solid var(--navy);background:#fff;color:var(--navy);box-shadow:0 16px 44px #00134826;z-index:1000;overscroll-behavior:contain}
.marine-calendar::backdrop{background:transparent}
.marine-calendar-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e0e6ee;padding-bottom:10px;margin-bottom:10px}
body .marine-calendar .marine-calendar-heading span{font:500 10px/1.5 var(--heading)!important;letter-spacing:.09em!important;color:#617b98}
.marine-calendar-heading>button{width:44px;height:44px;display:grid;place-items:center;border:0;background:#f2f5f9;color:var(--navy);font-size:22px;cursor:pointer}
.marine-calendar .rdp-root{--rdp-accent-color:var(--navy);--rdp-accent-background-color:#edf3fa;--rdp-day_button-border-radius:0;--rdp-day-height:42px;--rdp-day-width:42px;--rdp-day_button-height:40px;--rdp-day_button-width:40px;--rdp-selected-border:1px solid var(--navy);--rdp-nav_button-height:40px;--rdp-nav_button-width:36px}
.marine-calendar .rdp-months,.marine-calendar .rdp-month{width:100%;max-width:none}.marine-calendar .rdp-month_grid{width:100%;table-layout:fixed}
body .marine-calendar .rdp-caption_label{font:500 18px/1.4 var(--heading)!important;letter-spacing:0!important}
body .marine-calendar .rdp-weekday{font:500 10px/1.5 var(--heading)!important;color:#617b98;padding:10px 0}
body .marine-calendar .rdp-day_button{font:400 13px/1 var(--body)!important;color:var(--navy);margin:auto;max-width:100%;cursor:pointer}
.marine-calendar .rdp-selected .rdp-day_button{background:var(--navy);color:#fff!important}
@media(hover:hover) and (pointer:fine){.marine-calendar .rdp-day_button:hover:not(:disabled){background:#edf3fa}.marine-calendar .rdp-selected .rdp-day_button:hover{background:#16366e}}
.marine-calendar button:focus-visible{outline:2px solid #739de0;outline-offset:1px}.marine-calendar .rdp-disabled{opacity:.28}.marine-calendar .rdp-disabled .rdp-day_button{cursor:not-allowed}
body .marine-calendar .marine-calendar-note{font:400 11px/1.7 var(--body)!important;border-top:1px solid #e0e6ee;padding-top:12px;margin:12px 0 0;color:#617b98}
@media(max-width:600px){.boat-choice{gap:12px}.boat-choice img{width:82px;height:74px}.marine-select-boat-panel .marine-select-option{padding:10px 6px}.boat-choice-specs i{padding:0 3px}body .marine-select-boat .boat-choice strong,body .marine-select-boat-panel .boat-choice strong{font-size:18px!important}body .marine-select-boat .boat-choice-type,body .marine-select-boat-panel .boat-choice-type,body .marine-select-boat .boat-choice-specs,body .marine-select-boat-panel .boat-choice-specs{font-size:11px!important}}

body .marine-select-boat-panel .marine-select-option:has(.boat-choice-placeholder){min-height:70px}
