.booking-trip{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin-block:24px;padding-block:20px;border-block:1px solid var(--rule)}
.booking-trip label{display:grid;gap:5px;font-size:14px;color:var(--ink2)}
.booking-trip input,.booking-trip select,.checkout-form input,.checkout-form select{font:inherit;min-height:44px;padding:9px 12px;border:1px solid #9298a3;border-radius:10px;background:var(--card);color:var(--ink);max-width:100%}
.booking-trip input[type=number]{width:86px}.booking-ages{display:flex;flex-wrap:wrap;gap:12px}.booking-notice{background:var(--warn-soft);padding:16px;border-radius:12px;max-width:75ch;overflow-wrap:anywhere}
.booking-rates{display:grid;gap:0;border-block:1px solid var(--rule);margin-block:16px}.booking-rate{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);gap:20px;padding-block:20px;border-bottom:1px solid var(--rule)}
.booking-rate:last-child{border-bottom:0}.booking-rate h3{font-size:18px;margin:0 0 6px}.booking-rate p{margin:5px 0}.booking-rate .rate-price{font-size:23px;font-weight:650;font-variant-numeric:tabular-nums;margin:0 0 4px}.booking-rate .rate-action{text-align:right;align-self:center}.booking-rate form{margin-top:12px}.booking-rate .btn{min-height:44px}
.booking-secondary{margin-block:20px;font-size:14px}.checkout-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr);gap:32px;align-items:start}.checkout-layout>div{grid-column:1;grid-row:1}.checkout-summary{grid-column:2;grid-row:1;position:sticky;top:90px;background:var(--card);padding:20px;border:1px solid var(--rule);border-radius:14px;overflow-wrap:anywhere}.checkout-summary h2{margin-bottom:16px}.checkout-summary article+article{border-top:1px solid var(--rule);margin-top:16px;padding-top:16px}.checkout-total{font-size:24px;font-weight:650;font-variant-numeric:tabular-nums}.checkout-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.checkout-fields label{display:grid;gap:5px;font-size:14px}.checkout-form fieldset{border:0;margin:0 0 24px;padding:0}.checkout-form legend{font-size:18px;font-weight:650;margin:0 0 14px}.checkout-consent{display:flex;gap:10px;align-items:start;margin:20px 0;max-width:70ch}.checkout-consent input{min-height:22px;width:22px;flex-shrink:0;accent-color:var(--sea-d)}
:where(.booking-trip,.booking-rate,.checkout-form,.checkout-summary) :is(a,button,input,select):focus-visible{outline:3px solid var(--sea);outline-offset:3px}::selection{background:#c9e7f4;color:var(--ink)}
@media(max-width:680px){.booking-trip{align-items:stretch}.booking-trip>label{flex:1 1 130px}.booking-ages{width:100%}.booking-trip input,.booking-trip select,.checkout-form input,.checkout-form select{font-size:16px}.booking-rate{grid-template-columns:1fr;gap:10px}.booking-rate .rate-action{text-align:left}.booking-rate .btn{width:100%}.checkout-layout{display:flex;flex-direction:column;gap:24px}.checkout-summary{position:static;width:100%}.checkout-fields{grid-template-columns:1fr}.checkout-form{width:100%}}
.booking-trip{scroll-margin-top:120px}
