/* Compact, live booking workspace. */
.booking-studio{display:block;padding:28px max(3vw,24px);min-height:100svh}
.booking-head{max-width:1500px;margin:0 auto 16px;display:flex;justify-content:space-between;align-items:end;gap:24px}.booking-head h2{margin:4px 0;font-size:clamp(34px,3vw,52px)}.booking-head p{margin:5px 0}.booking-deposit{text-align:right}.booking-deposit small{font-size:12px;color:#b9cbd5}
.booking-grid{max-width:1500px;margin:auto;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);gap:18px;background:transparent;padding:0;color:#152438}.booking-build,.booking-basket{background:#f8f9f8;padding:20px 24px;border-radius:14px;min-width:0}.booking-basket{align-self:start}
.choice-group{border:0;padding:0;margin:0 0 12px}.choice-group legend{font-size:12px;text-transform:uppercase;letter-spacing:.09em;font-weight:800;color:#283951;margin-bottom:7px}.choice-group legend small{font-size:11px;letter-spacing:0;text-transform:none;font-weight:400;color:#637488}
.booking-studio .type-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.booking-studio .type-choice{min-height:95px;padding:5px;display:grid!important;justify-items:center;align-content:center;gap:0;border-radius:8px;position:relative}.booking-studio .type-choice img{height:61px;width:100%;object-fit:contain}.booking-studio .type-choice span{font-size:11px}.booking-studio .type-choice:has(input:checked){border:2px solid #102c4d;background:#e7eef6}
.booking-studio .sailing-choice{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto;text-align:center}.booking-studio .sailing-choice img{display:block;justify-self:center;align-self:center;object-position:center;width:100%;height:62px;margin:0 auto}.booking-studio .sailing-choice span{justify-self:center;text-align:center;width:100%}
.boat-profile-options{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.boat-profile-option{min-width:0;min-height:72px;padding:5px 2px;border:1px solid #c3ccd2;border-radius:6px;background:#fff;color:#132d4b;cursor:pointer;font-size:11px;font-weight:800}.boat-profile-option img{width:100%;height:45px;object-fit:contain}.boat-profile-option span{display:block}.boat-profile-option[aria-pressed="true"]{background:#e7eef6;border:2px solid #102c4d}.boat-profile-option:focus-visible{outline:3px solid #b56d39}
.boat-preview{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin:7px 0 0;padding:3px 12px;background:#eaf0f2;border-radius:8px;min-height:118px}.boat-preview img{width:100%;height:112px;object-fit:contain}.boat-preview output{font:30px Georgia,serif}.boat-preview p{font-size:11px;color:#596978;margin:3px 0;text-align:right}
.basket-choices{display:flex;gap:6px;margin:5px 0}.basket-choices label{flex:1;margin:0;min-width:0;cursor:pointer}.basket-choices input{position:absolute;opacity:0;width:1px}.basket-choices span{min-height:42px;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid #b9c5cd;border-radius:7px;background:#fff;padding:5px;font-size:12px}.basket-choices input:checked+span{background:#123453;border-color:#123453;color:#fff}.basket-choices input:focus-visible+span{outline:3px solid #b56d39}.basket-choices input:disabled+span{opacity:.4;cursor:not-allowed}
.booking-studio .frequency-field{font-size:11px;margin:6px 0}.booking-studio .frequency-field select{padding:6px;margin-top:2px}.booking-studio .frequency-field[hidden]{display:none}
.boat-preview{min-height:200px;grid-template-columns:minmax(0,1fr) 90px;padding:8px 12px}.boat-preview img{height:185px}.boat-preview output{font-size:27px}
.boat-preview img{transition:transform .2s ease;transform-origin:center center}
#boat-length{width:100%;margin:8px 0 0;accent-color:#153d60;cursor:pointer}.boat-length-limits{display:flex;justify-content:space-between;color:#617386;font-size:11px}
.frequency-box{background:#fff;border:1px solid #c3ccd2;border-radius:8px;padding:9px 11px;margin-top:8px;color:#283951;font-size:12px;font-weight:700}.frequency-box .basket-choices{margin:5px 0 0}.frequency-box .basket-choices[hidden]{display:none}
.frequency-box .basket-choices span{gap:7px}.frequency-discount{display:inline-block;padding:3px 6px;border-radius:4px;background:#d9f2e6;color:#15553e;font-size:11px;white-space:nowrap}.frequency-box input:checked+span .frequency-discount{background:#dcf5e9;color:#15553e}
.basket-saving{color:#176b53;font-weight:700}.basket-saving[hidden]{display:none}
.basket-service-description{margin:0 0 4px;padding:0 0 8px;border-bottom:1px solid #d6dfe3;color:#566878;font-size:11px;line-height:1.45}.basket-service-description[hidden]{display:none}
.booking-basket h3{display:flex;justify-content:space-between;font:25px Georgia,serif;margin:0 0 9px}.basket-line,.basket-total{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #d6dfe3;padding:8px 0;font-size:13px}.basket-total{border:0;align-items:center}.basket-total strong{font:31px Georgia,serif}.basket-hint{font-size:11px;line-height:1.4;color:#566878;margin:2px 0 10px}.booking-details{border-top:1px solid #d6dfe3;padding-top:5px}.booking-studio .booking-details label{font-size:11px;margin:7px 0}.booking-studio .booking-details input,.booking-studio .booking-details select{padding:8px 10px;margin:2px 0}.booking-studio .booking-details .booking-find,.booking-studio .booking-details .booking-submit{width:100%;padding:10px;margin:5px 0}.booking-details .booking-status{min-height:1em;margin:3px 0;font-size:11px}.booking-details .booking-two{gap:8px}.booking-details .booking-check{display:flex;align-items:center;gap:7px}.booking-details .booking-check input{width:auto}
@media(max-width:1100px){.boat-profile-options{grid-template-columns:repeat(4,1fr)}.booking-grid{grid-template-columns:1fr 1fr}}
@media(max-width:850px){.booking-grid{grid-template-columns:1fr}.booking-studio{padding:38px 5vw}.booking-head{align-items:start}.booking-basket{position:static}}
@media(max-width:520px){.booking-head{display:block}.booking-deposit{text-align:left}.booking-studio .type-choice-grid{grid-template-columns:repeat(2,1fr)}.booking-build,.booking-basket{padding:15px}.basket-choices{flex-wrap:wrap}.basket-choices label{min-width:30%}}
