/* Presentation only: booking state, validation, totals and submissions remain Core-owned. */
.js-public-booking [hidden]{display:none!important}
.rebuild-booking-stage .js-public-booking{max-width:none;margin:0;scroll-margin-top:6rem}
.rebuild-booking-stage .js-booking-heading{display:none}
.rebuild-booking-stage .js-public-booking form,.rebuild-booking-stage .js-booking-unavailable{background:linear-gradient(135deg,rgba(18,36,53,.96),rgba(7,17,31,.98));border:1px solid rgba(214,179,106,.24);border-radius:4px;box-shadow:0 30px 90px rgba(0,0,0,.35),inset 0 1px rgba(255,255,255,.11);color:#f5f1e8;padding:clamp(1rem,3vw,2.1rem)}
.rebuild-booking-stage .js-booking-step{max-width:none}
.rebuild-booking-stage .js-booking-step legend{font:italic 400 clamp(1.5rem,3.4vw,2.3rem)/1.15 'Instrument Serif',Georgia,serif;color:#fff;margin-bottom:1rem}
.rebuild-booking-stage .js-booking-step legend span{width:1.8rem;height:1.8rem;border:1px solid rgba(214,179,106,.55);background:transparent;color:#d6b36a;font-size:.7rem}
.rebuild-booking-stage .js-date-list{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:.45rem;margin-bottom:1rem}
.rebuild-booking-stage .js-date-card,.rebuild-booking-stage .js-choice{border:1px solid rgba(245,241,232,.18);border-radius:3px;background:rgba(255,255,255,.045);padding:.7rem .8rem;color:#f5f1e8;transition:background .2s,border-color .2s,transform .2s}
.rebuild-booking-stage .js-date-card:hover,.rebuild-booking-stage .js-choice:hover{transform:translateY(-2px);background:rgba(255,255,255,.09)}
.rebuild-booking-stage .js-date-card:has(input:checked),.rebuild-booking-stage .js-choice:has(input:checked){border-color:#d6b36a;background:rgba(214,179,106,.13);box-shadow:inset 0 1px rgba(255,255,255,.13)}
.rebuild-booking-stage .js-date-card small,.rebuild-booking-stage .js-choice small{color:#b1bcc6}
.rebuild-booking-stage .js-date-card span,.rebuild-booking-stage .js-seats{color:#d6b36a}
.rebuild-booking-stage .js-guest-row{padding:.6rem 0;border-color:rgba(245,241,232,.15)}
.rebuild-booking-stage .js-counter{gap:.45rem}.rebuild-booking-stage .js-counter button{height:34px;width:34px;border-radius:3px;background:rgba(255,255,255,.08);color:#fff;border-color:rgba(245,241,232,.25);font-size:1.1rem}
.rebuild-booking-stage .js-booking-step>label:not(.js-choice){font-size:.78rem;letter-spacing:.02em}
.rebuild-booking-stage .js-booking-step input:not([type=radio]):not([type=hidden]),.rebuild-booking-stage .js-booking-step textarea{min-height:43px;border:1px solid rgba(245,241,232,.25);border-radius:3px;background:rgba(255,255,255,.08);color:#fff;padding:.65rem .8rem}
.rebuild-booking-stage .js-booking-step input::placeholder,.rebuild-booking-stage .js-booking-step textarea::placeholder{color:#b2bac2}
.rebuild-booking-stage .js-back{color:#f5f1e8}.rebuild-booking-stage .js-review{border:1px solid rgba(214,179,106,.25);border-radius:3px;background:rgba(255,255,255,.055);color:#f5f1e8}
.rebuild-booking-stage .js-review dl div{border-color:rgba(245,241,232,.15)}
.rebuild-booking-stage .js-payment-note{border-radius:3px;background:rgba(214,179,106,.09);color:#f5f1e8}
.rebuild-booking-stage .js-sticky-summary{margin:1.5rem -2.1rem -2.1rem;border-radius:0;background:rgba(0,0,0,.25);border-top:1px solid rgba(214,179,106,.2);backdrop-filter:blur(14px)}
.rebuild-booking-stage .js-sticky-summary small{color:#b1bcc6}
.rebuild-booking-stage .js-pickup-note{border-radius:2px;background:rgba(214,179,106,.12);color:#f1d7a2}
.rebuild-yacht-page .js-service-flow{max-width:none;margin:0;padding:clamp(1rem,3vw,2rem);border:1px solid rgba(214,179,106,.28);border-radius:3px;background:linear-gradient(145deg,#142639,#07111f);box-shadow:0 28px 70px rgba(0,0,0,.3);color:#f5f1e8}
.rebuild-yacht-page .js-service-flow h2{font:italic 400 clamp(1.7rem,4vw,2.7rem)/1 'Instrument Serif',Georgia,serif;color:#fff}
.rebuild-yacht-page .js-flow-step{border-color:rgba(245,241,232,.18);border-radius:3px;background:rgba(255,255,255,.04);padding:.75rem}
.rebuild-yacht-page .js-flow-step>span{height:25px;width:25px;font-size:.7rem;border:1px solid #d6b36a;border-radius:50%}
.rebuild-yacht-page .js-flow-step label{font-size:.8rem}.rebuild-yacht-page .js-flow-step input,.rebuild-yacht-page .js-flow-step select{min-height:42px;border-radius:2px;border-color:rgba(245,241,232,.3);background:#f5f1e8;color:#07111f}
.rebuild-yacht-page .js-quote,.rebuild-yacht-page .js-review{border-radius:3px;background:rgba(214,179,106,.1);border:1px solid rgba(214,179,106,.3);color:#f5f1e8}
.rebuild-yacht-page .js-payment-note{color:#c7d0d7}.rebuild-yacht-page .js-request-result{border-radius:3px}
@media(max-width:700px){.rebuild-booking-stage .js-public-booking form{padding:1rem!important}.rebuild-booking-stage .js-sticky-summary{position:sticky!important;bottom:calc(64px + env(safe-area-inset-bottom));margin:1rem -1rem -1rem!important;padding:.65rem 1rem}.rebuild-booking-stage .js-date-list{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.45rem}.rebuild-booking-stage .js-date-card{flex:0 0 125px;scroll-snap-align:start}.rebuild-booking-stage .js-step-actions{margin-top:1rem}.rebuild-booking-stage .js-booking-step legend{font-size:1.55rem!important}.rebuild-yacht-page .js-service-form{grid-template-columns:1fr}.rebuild-yacht-page .js-service-flow{padding:1rem}.rebuild-mobile-action{display:none!important}}
@media(prefers-reduced-motion:reduce){.rebuild-booking-stage .js-date-card,.rebuild-booking-stage .js-choice{transition:none}}

.rescue-date-controls{display:flex;align-items:center;gap:8px;margin:0 0 12px;color:#c4cdd5;font:500 12px/1.5 Manrope,sans-serif}
.rebuild-booking-stage :is(.rebuild-booking-stage__form,.js-public-booking,form,.js-booking-step){min-width:0;max-width:100%;box-sizing:border-box}
.rebuild-booking-stage .js-booking-step{width:100%;margin-inline:0}
.rescue-date-controls>span{margin-right:auto}
.rescue-date-controls button{width:44px;height:40px;background:#142a3d;color:#f5f1e8;border:1px solid #d6b36a55;border-radius:3px;font-size:20px;cursor:pointer}
.rescue-date-controls button:disabled{opacity:.3;cursor:default}
.rebuild-booking-stage .js-date-list{display:flex!important;overflow-x:auto;scroll-snap-type:x mandatory;gap:8px;scrollbar-width:thin;scrollbar-color:#d6b36a #142639;padding:2px 2px 12px;max-width:100%;overscroll-behavior-x:contain}
.rebuild-booking-stage .js-date-card{flex:0 0 132px;scroll-snap-align:start;min-height:100px;margin:0}
.rebuild-booking-stage .js-date-card:hover{transform:none}
.rebuild-booking-stage .js-sticky-summary{background:#0c1b2a;backdrop-filter:none}
.rebuild-yacht-page .js-service-flow{max-width:850px;margin-inline:auto;padding:28px}
.rebuild-yacht-page .js-service-flow>h2{font-size:34px;line-height:1.12;margin:8px 0 26px}
.rebuild-yacht-page .js-service-form{display:grid;grid-template-columns:1fr 1fr;gap:20px!important;align-items:start}
.rebuild-yacht-page .js-flow-step{display:block;padding:0!important;border:0;background:none;min-width:0}
.rebuild-yacht-page .js-flow-step>span[hidden]{display:none!important}
.rebuild-yacht-page .js-service-form [hidden]{display:none!important}
.rebuild-yacht-page .rescue-field-product_id,.rebuild-yacht-page .rescue-field-service_date,.rebuild-yacht-page .rescue-field-customer_name{grid-column:1/-1}
.rebuild-yacht-page .rescue-field-service_date{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px}
.rebuild-yacht-page .rescue-field-service_date>.rescue-form-heading{grid-column:1/-1}
.rebuild-yacht-page .rescue-form-heading{font:600 11px/1.5 Manrope,sans-serif!important;letter-spacing:.1em;text-transform:uppercase;color:#d6b36a;margin:0 0 8px!important}
.rebuild-yacht-page .js-flow-step label{display:grid;gap:7px;font:500 12px/1.5 Manrope,sans-serif;color:#dce2e7;margin:0 0 12px;min-width:0}
.rebuild-yacht-page .js-flow-step :is(input,select){box-sizing:border-box;width:100%;max-width:100%;height:46px;min-height:46px!important;padding:10px 12px;border:1px solid #ffffff30!important;background:#0b1928!important;color:#f5f1e8!important;font:400 16px Manrope,sans-serif;color-scheme:dark;border-radius:3px!important}
.rebuild-yacht-page .rescue-field-customer_name{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-top:1px solid #ffffff20;padding-top:20px!important}
.rebuild-yacht-page .rescue-field-customer_name>.rescue-form-heading,.rebuild-yacht-page .rescue-field-customer_name>label:first-of-type{grid-column:1/-1}
.rebuild-yacht-page .rescue-field-customer_name>h3{display:none}
.rebuild-yacht-page .js-service-form>:is(.js-quote,.js-review,.js-error,.js-payment-note,.js-request-result,button){grid-column:1/-1}
.rebuild-yacht-page :is(.js-quote,.js-review,.js-request-result){background:#102438;color:#f5f1e8;padding:16px;line-height:1.6}
.rebuild-yacht-page .js-service-form>button{min-height:46px;font-size:13px;margin:0}
@media(max-width:700px){
 .rebuild-booking-stage .js-date-card{flex-basis:128px}
 .rescue-date-controls{font-size:11px;gap:5px}
 .rescue-date-controls button{flex:0 0 38px;width:38px}
 .rebuild-booking-stage .js-sticky-summary{position:static!important;margin-top:20px!important}
 .rebuild-booking-stage .js-booking-step legend{font-size:26px!important}
 .rebuild-yacht-page .js-service-flow{padding:20px 16px;margin-bottom:28px}
 .rebuild-yacht-page .js-service-flow>h2{font-size:28px;margin-bottom:22px}
 .rebuild-yacht-page .js-service-form{grid-template-columns:1fr 1fr;gap:16px!important}
 .rebuild-yacht-page .rescue-field-customer_name{grid-template-columns:1fr}
 .rebuild-yacht-page .rescue-field-customer_name>label{grid-column:1/-1}
 .rebuild-yacht-page .js-payment-note{font-size:12px;line-height:1.6}
 .rebuild-booking-stage,.rebuild-yacht-page #booking{scroll-margin-top:88px;padding-bottom:80px}
}
