/* Triton-inspired booking controls. Triton remains the pricing and checkout authority. */
.booking-card{background:#f4f6f8;border:1px solid #dce2e7;border-radius:16px;padding:22px;box-shadow:0 16px 38px #0d1f3c10}
.booking-card>.trip-summary{background:transparent;border:0;padding:0;margin-bottom:22px}
.booking-card>.trip-summary .trip-summary-label{color:#5b6b7d;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.booking-card>.trip-summary>strong{font-size:24px}
.widget-selector-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.widget-guests{border:0;padding:0;margin:0}
.widget-guests>summary{padding:0 0 6px 10px;color:#526273;font-size:12px;font-weight:850;cursor:pointer;list-style:none}
.widget-guests>summary::-webkit-details-marker{display:none}
.widget-guests>summary::after{content:'+';float:right;margin-right:8px;font-size:18px;line-height:12px}
.widget-guests[open]>summary::after{content:'−'}
.widget-chip-field{min-width:0}
.widget-chip-field>label{display:block;font-size:12px;font-weight:850;color:#526273;margin:0 0 6px 10px}
.widget-input-shell,.widget-stepper{display:flex;align-items:center;min-height:54px;background:#e2e6ea;border:1px solid #d4dae0;border-radius:999px;padding:4px 8px;transition:border-color .2s,box-shadow .2s}
.widget-input-shell:focus-within,.widget-stepper:focus-within{border-color:#1769d1;box-shadow:0 0 0 3px #1769d133}
.widget-icon{display:grid;place-items:center;width:25px;height:25px;margin:0 3px 0 7px;color:#536273;font-size:18px;line-height:1}
.widget-input-shell input,.widget-input-shell select{height:42px;flex:1;min-width:0;background:transparent;border:0;padding:5px 10px;color:#142743;font-size:15px;font-weight:750}
.widget-input-shell input[type=date]{min-width:155px}
.widget-input-shell input:focus,.widget-input-shell select:focus{outline:0}
.widget-input-shell input::-webkit-calendar-picker-indicator{opacity:.65;cursor:pointer}
.widget-stepper{justify-content:space-between;padding:4px 7px}
.widget-stepper input{flex:1 1 auto;width:auto;min-width:0;height:42px;border:0;background:transparent;color:#142743;text-align:center;font-size:17px;font-weight:850}
.widget-stepper input:focus{outline:0}
.widget-stepper input::-webkit-inner-spin-button,.widget-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.stepper-button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#142743;font-size:25px;line-height:1;box-shadow:0 1px 3px #1427431c}
.stepper-button:hover{background:#d7e4f3}.stepper-button:disabled{background:#edf0f2}
/* Busy and at-limit controls use aria-disabled so they keep keyboard focus. */
.stepper-button[aria-disabled=true]{background:#edf0f2;opacity:.65;cursor:not-allowed}
.guide-field{margin-top:2px}
.booking-pricing{display:grid;gap:5px;margin-top:2px;padding:14px 16px;background:#fff;border:1px solid #d6e2e5;border-radius:10px;color:#142743}
.booking-pricing-lines{display:grid;gap:3px;font-size:14px;color:#526273}
.booking-pricing-lines span[hidden]{display:none}
.booking-pricing [data-price-total]{font-size:22px;line-height:1.2}
.booking-pricing>[data-price-note]{margin-top:3px}
.guide-field .widget-input-shell select{appearance:auto;cursor:pointer}
.booking-card #check,.booking-card #continue,.booking-card #checkout-link{width:100%;margin-top:4px;background:#0b6edb;border-radius:9px;border:0;box-shadow:0 6px 14px #0b6edb2e}
.booking-card #check:hover,.booking-card #continue:hover,.booking-card #checkout-link:hover{background:#095bb5;transform:translateY(-1px)}
.booking-card #continue[aria-disabled=true]{background:#0b6edb;opacity:.65;cursor:wait;transform:none}
#booking-status:focus{outline:0}#booking-status:focus-visible{outline:3px solid #0071eb;outline-offset:4px}
#slots{margin-top:8px;padding:0;border:0}
#slots legend{margin-bottom:9px;color:#526273;font-size:13px;font-weight:850}
#slot-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:9px}
#slot-options .slot{min-height:62px;border:1px solid #cbd4dd;border-radius:10px;background:#fff;padding:9px 12px;color:#142743;box-shadow:0 2px 5px #14274308}
#slot-options .slot:hover{border-color:#1769d1;background:#f4f8fd}
#slot-options .slot[aria-pressed=true]{border:2px solid #1769d1;background:#eaf3ff;padding:8px 11px;box-shadow:0 0 0 2px #1769d11a}
#slot-options .slot strong{font-size:16px}.booking-card>.small{font-size:13px}
@media(max-width:620px){.booking-card{padding:18px 16px;border-radius:14px}.booking-card>.trip-summary>strong{font-size:20px}.widget-selector-row{gap:8px}.widget-selector-row.full{grid-template-columns:minmax(0,1fr)}.widget-guests>.widget-selector-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,156px),1fr))}.widget-input-shell,.widget-stepper{min-height:52px}.widget-input-shell input,.widget-input-shell select{font-size:14px}.widget-input-shell input[type=date]{min-width:150px}.booking-card #check,.booking-card #continue,.booking-card #checkout-link{min-height:52px}}
@media(max-width:380px){.widget-guests>summary{min-height:44px;display:flex;align-items:center;justify-content:space-between}.widget-guests>summary::after{float:none;margin-right:4px}}
