/* One ticket-style passenger selector for trips and tickets. */
#passengerPicker.ap-passenger-picker,#tripPassengerPicker.ap-passenger-picker{position:relative;color:#1e4f6b}
#passengerPicker.ap-passenger-picker summary,#tripPassengerPicker.ap-passenger-picker summary{display:flex;align-items:center;gap:9px;list-style:none;min-height:42px;padding:10px 12px;border:1px solid #d9e5ec;border-radius:10px;background:#fff;font-size:12px;line-height:1.5;cursor:pointer}
.ap-passenger-picker summary::-webkit-details-marker{display:none}.ap-passenger-picker summary>.material-symbols-outlined{font-size:18px;color:#1e4f6b;flex:none}.ap-passenger-picker summary>span:last-child{margin-left:auto;color:#7891a0}
#passengerPicker.ap-passenger-picker>.ap-passenger-panel,#tripPassengerPicker.ap-passenger-picker>.ap-passenger-panel{position:absolute;right:auto;left:0;top:calc(100% + 6px);z-index:35;width:100%;max-width:none;min-width:0;margin:0;box-sizing:border-box;padding:14px;border:1px solid #dbe7ee;border-radius:13px;background:#fff;box-shadow:0 10px 30px #1e4f6b1a}
.ap-passenger-picker .ap-passenger-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;margin-bottom:4px}.ap-passenger-row>span{display:flex;flex-direction:column;gap:2px}.ap-passenger-picker .ap-passenger-row strong{font-size:12px;font-weight:600;color:#1e4f6b}.ap-passenger-picker .ap-passenger-row small{font-size:10px;color:#8194a0;line-height:1.6}.ap-passenger-counter{display:flex;align-items:center;gap:6px;flex:none}
#passengerPicker .ap-passenger-counter button,#tripPassengerPicker .ap-passenger-counter button{display:grid;place-items:center;flex:none;width:34px;height:34px;min-height:34px;padding:0;border:0;border-radius:50%;background:#1e4f6b;color:#fff;font-size:21px;line-height:1;cursor:pointer;box-shadow:none}#passengerPicker .ap-passenger-counter button:disabled,#tripPassengerPicker .ap-passenger-counter button:disabled{background:#e9f0f4;color:#a2b3bd;opacity:1;cursor:default}
#passengerPicker .ap-passenger-counter input,#trip-booking #tripPassengerPicker .ap-passenger-counter input[type=number]{width:28px!important;min-height:32px!important;height:32px;text-align:center;padding:4px 0;border:0;border-radius:0;box-shadow:none;background:transparent;font-size:13px;color:#1e4f6b;appearance:textfield;-moz-appearance:textfield}.ap-passenger-counter input::-webkit-inner-spin-button,.ap-passenger-counter input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.ap-passenger-panel p{color:#7a8e9a;font-size:10px;line-height:1.7;margin:10px 0}#passengerPicker .ap-passenger-done,#tripPassengerPicker .ap-passenger-done{display:block;width:100%;min-height:36px;padding:9px;border:0;border-radius:9px;background:#1e4f6b;color:white;font-size:12px;cursor:pointer}.ap-passenger-picker:not([open]) .ap-passenger-panel{display:none}.ap-passenger-picker :is(summary,button):focus-visible{outline:2px solid #1e4f6b;outline-offset:2px}@media(max-width:767px){.ap-passenger-picker .ap-passenger-panel{width:100%;max-width:none;min-width:0}}

/* Reuse the same counters inside the ticket request dialog. */
.ticket-modal-passengers{margin-top:12px;min-width:0}.ticket-modal-passengers>span{display:block;margin-bottom:6px;font-size:11px;color:#627f91}#ticketOrderForm #passengerPicker .ap-passenger-counter input{margin:0}#ticketModalPassengerPicker #passengerPicker>.ap-passenger-panel{position:static;margin-top:6px}

/* Comfortable tap targets and readable age bands on both booking flows. */
#passengerPicker.ap-passenger-picker summary,#tripPassengerPicker.ap-passenger-picker summary{min-height:48px;font-size:14px;padding:12px 14px}
.ap-passenger-picker .ap-passenger-row{padding:10px 0;gap:12px;border-bottom:1px solid #edf2f5}
.ap-passenger-picker .ap-passenger-row strong{font-size:14px;line-height:1.5}
.ap-passenger-picker .ap-passenger-row small{font-size:12px;color:#607888}
#passengerPicker .ap-passenger-counter button,#tripPassengerPicker .ap-passenger-counter button{width:44px;height:44px;min-height:44px;font-size:24px}
.ap-passenger-counter{gap:8px}
#passengerPicker .ap-passenger-counter input,#trip-booking #tripPassengerPicker .ap-passenger-counter input[type=number]{width:30px!important;font-size:16px;min-height:44px!important;height:44px}
#passengerPicker .ap-passenger-done,#tripPassengerPicker .ap-passenger-done{min-height:44px;font-size:14px}
.ap-passenger-panel p{font-size:12px;color:#607888}
@media(max-width:359px){.ap-passenger-picker .ap-passenger-row{gap:6px}.ap-passenger-counter{gap:5px}#passengerPicker.ap-passenger-picker>.ap-passenger-panel,#tripPassengerPicker.ap-passenger-picker>.ap-passenger-panel{padding:12px}}

/* Compact selector in the ticket request; trip controls keep their sizing. */
#ticketModalPassengerPicker{max-width:340px}
#ticketModal #passengerPicker.ap-passenger-picker summary{min-height:40px;padding:9px 12px;font-size:12px}
#ticketModal #passengerPicker>.ap-passenger-panel{padding:12px;border-radius:12px}
#ticketModal #passengerPicker .ap-passenger-row{padding:7px 0;gap:10px;margin:0}
#ticketModal #passengerPicker .ap-passenger-row strong{font-size:12px}
#ticketModal #passengerPicker .ap-passenger-row small{font-size:10px}
#ticketModal #passengerPicker .ap-passenger-counter{gap:6px}
#ticketModal #passengerPicker .ap-passenger-counter button{width:32px;height:32px;min-height:32px;font-size:20px}
#ticketModal #passengerPicker .ap-passenger-counter input{width:26px!important;height:32px;min-height:32px!important;font-size:13px;padding:0}
#ticketModal #passengerPicker .ap-passenger-done{min-height:34px;padding:8px;font-size:12px}
#ticketModal #passengerPicker .ap-passenger-panel p{font-size:10px;margin:9px 0}
