.booking-guests{border:1px solid #d9e0da;border-radius:14px;padding:17px;margin:20px 0;background:linear-gradient(145deg,#f5f4ef,#fbfaf7)}.booking-guests fieldset{min-width:0;margin:14px 0;padding:17px;border:1px solid #d7ded8;border-radius:12px;display:grid;gap:15px;background:rgba(255,255,255,.88);box-shadow:0 5px 18px rgba(19,55,52,.04)}.booking-guests fieldset label{display:grid;gap:8px;font-size:12px;color:#294d49}.booking-guests fieldset label>span{font-weight:600}.booking-guests input:not([type=checkbox]),.booking-guests select{width:100%;min-height:44px;box-sizing:border-box;border:1px solid #cbd5d0;border-radius:8px;background:#fff;color:#173f3a;padding:10px 12px;font-size:14px;transition:border-color .15s ease,box-shadow .15s ease}.booking-guests input:not([type=checkbox]):focus,.booking-guests select:focus{outline:0;border-color:#a98545;box-shadow:0 0 0 3px rgba(169,133,69,.13)}.booking-guests legend{padding:0 8px;color:#173f3a;font-weight:700;font-size:14px;letter-spacing:.01em}.booking-adult-stepper{display:grid;grid-template-columns:42px minmax(48px,1fr) 42px;overflow:hidden;width:min(190px,100%);border:1px solid #cbd5d0;border-radius:999px;background:#f7f8f5}.booking-adult-stepper button{display:grid;place-items:center;min-height:44px;padding:0;border:0;background:transparent;color:#173f3a;font:500 19px/1 Inter,sans-serif;cursor:pointer}.booking-adult-stepper button:hover:not(:disabled){background:#173f3a;color:#fff}.booking-adult-stepper button:disabled{color:#adb7b3;cursor:default}.booking-guests .booking-adult-stepper input{min-height:44px;padding:0;border:0;border-inline:1px solid #d7ded9;border-radius:0;text-align:center;font-weight:700;appearance:textfield}.booking-guests .booking-adult-stepper input::-webkit-inner-spin-button,.booking-guests .booking-adult-stepper input::-webkit-outer-spin-button{margin:0;appearance:none}.booking-adult-stepper:focus-within{border-color:#a98545;box-shadow:0 0 0 3px rgba(169,133,69,.13)}.booking-adult-stepper:has(input[aria-invalid=true]){border-color:#a45a45;box-shadow:0 0 0 3px rgba(164,90,69,.1)}.transfer-rider-list{border:1px solid #d7ded8;border-radius:6px;padding:14px;min-width:0}.transfer-rider-list [data-transfer-people]{display:grid;gap:10px}.transfer-rider-list label{display:flex!important;align-items:flex-start;gap:10px;font-size:13px;line-height:1.55}.transfer-rider-list input[type=checkbox]{width:18px;min-width:18px;height:18px;margin-top:1px;accent-color:#173f3a}.transfer-rider-list legend{font-size:14px;font-weight:600}.booking-transfers input[readonly]{background:#f3f3ed}@media(min-width:800px){.booking-guests fieldset{grid-template-columns:1fr 1fr}.booking-guests fieldset label:last-child{grid-column:1/-1}}
.booking-copy-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px 0;border-bottom:1px solid #d7ded8}.booking-copy-tools small{flex-basis:100%;color:#586d68;line-height:1.6}.booking-copy-tools .wizard-link{white-space:normal;text-align:start;overflow-wrap:anywhere}.booking-copy-tools button:disabled{opacity:.5;cursor:not-allowed}.booking-copy-confirm{flex-basis:100%;padding:12px;border:1px solid #c5a75b;border-radius:8px;background:#fff}.booking-copy-confirm p{margin:0 0 8px}.booking-copy-confirm button+button{margin-inline-start:16px}.booking-guests .booking-room-error{grid-column:1/-1;margin:0;padding:9px 11px;border-left:3px solid #b45d42;border-radius:4px;background:#fff3ee;color:#8b3523;font-size:12px;line-height:1.5}.booking-guests fieldset label:has(select){grid-column:1/-1}.booking-guests [hidden]{display:none!important}.booking-guests [aria-invalid=true]:not(.booking-adult-stepper input){border-color:#a45a45;background:#fff9f7}
.booking-guests fieldset label{min-width:0}.booking-guests select{max-width:100%}@media(min-width:800px){.booking-guests fieldset{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.booking-guests .booking-room-plan{grid-column:1/-1;margin:0;color:#586d68;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.booking-field-help{display:block;margin-top:1px;color:#687b77;font-size:11px;line-height:1.55;font-weight:400}.booking-child-age-field:focus-within .booking-field-help{color:#345c56}.booking-adult-field{align-content:start}.booking-adult-field .booking-adult-stepper{align-self:start;height:44px}.booking-child-age-field{display:grid;align-content:start;gap:8px;min-width:0}.booking-child-title{color:#294d49;font-size:12px;font-weight:600}.booking-child-empty{margin:0;padding:12px;border:1px dashed #d7ded8;border-radius:8px;background:#fafbf8;color:#71817d;font-size:12px}.booking-child-age-list{display:grid;gap:8px}.booking-child-age-row{display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:end;gap:8px}.booking-child-age-row label{gap:5px!important}.booking-child-age-row button{display:grid;place-items:center;width:38px;height:44px;padding:0;border:1px solid #d7ded8;border-radius:8px;background:#fff;color:#8b4b3b;font-size:20px;cursor:pointer}.booking-child-age-row button:hover{border-color:#a45a45;background:#fff4f0}.booking-child-add{justify-self:start;padding:9px 14px;border:1px solid #9eb1aa;border-radius:999px;background:#fff;color:#173f3a;font-size:12px;font-weight:700;cursor:pointer}.booking-child-add:hover{border-color:#173f3a;background:#eef4f1}
.booking-statement{min-width:0;max-width:100%;margin-block:18px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.booking-statement details{margin-block:12px;padding:12px;border:1px solid #d7ded8;border-radius:6px}.booking-statement summary{cursor:pointer;font-weight:600;color:#173f3a}.booking-statement h4{margin:16px 0 8px}.booking-statement p{white-space:pre-wrap}.booking-statement ul{padding-inline-start:20px}.booking-statement li{margin-block:7px}.booking-statement .wizard-facts{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.booking-statement dd{white-space:nowrap}.booking-statement table{table-layout:fixed}.booking-statement table td:last-child{width:28%}

/* Compact passenger editor: keep every child on one horizontal row. */
.booking-guests fieldset{padding:14px;gap:10px}
.booking-guests .booking-adult-stepper{grid-template-columns:36px minmax(50px,1fr) 36px;width:min(160px,100%)}
.booking-guests .booking-adult-stepper button,.booking-guests .booking-adult-stepper input{min-height:40px}
.booking-guests .booking-adult-field .booking-adult-stepper{height:40px}
.booking-guests .booking-child-age-field{gap:6px}
.booking-guests .booking-child-age-list{gap:6px}
.booking-guests fieldset .booking-child-age-row{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px}
.booking-guests fieldset .booking-child-age-row>label{grid-column:auto!important;display:grid!important;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:7px!important}
.booking-guests .booking-child-age-row label>span{white-space:nowrap}
.booking-guests .booking-child-age-row select{min-height:38px;padding:7px 10px}
.booking-guests .booking-child-age-row button{width:34px;height:38px;font-size:17px}
.booking-guests .booking-child-add{padding:7px 12px;font-size:11px}
.booking-guests .booking-field-help{margin-top:0;font-size:10px;line-height:1.45}
.booking-guests .booking-child-empty{padding:9px 11px;font-size:11px}

.booking-guests .booking-adult-field>label{color:#294d49;font-size:12px;font-weight:600}
