.rail-location { grid-column:span 2; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr); gap:12px; min-width:0; }
.rail-passenger-field { min-width:0; display:flex; flex-direction:column; gap:7px; color:#64748b; font-size:12px; font-weight:600; }
.rail-passengers { position:relative; margin:0 !important; padding:0 !important; border:0; background:none !important; }
.rail-passengers > summary { display:flex; align-items:center; gap:10px; list-style:none; height:52px; border:1px solid #dce5ef; background:#f8fafc; border-radius:10px; padding:10px 12px; font-size:13px; color:#20354b; cursor:pointer; }
.rail-passengers > summary::-webkit-details-marker { display:none; }
.rail-passengers[open] > summary { border-color:#4f8bc0; box-shadow:inset 0 0 0 1px #4f8bc0; }
.rail-passenger-popover { position:absolute; top:calc(100% + 8px); right:0; z-index:950; width:290px; max-width:calc(100vw - 48px); max-height:360px; overflow:auto; padding:18px; background:white; border:1px solid #dce5ef; border-radius:14px; box-shadow:0 14px 40px #0b437826; }
.rail-passenger-popover label { margin-bottom:12px; }
.rail-passenger-popover p { font-size:11px; color:#738499; line-height:1.7; margin:12px 0; }
.rail-passenger-popover button { border:0; background:#0b4378; color:#fff; border-radius:8px; padding:9px 16px; font-family:inherit; font-size:12px; cursor:pointer; }
.rail-return.is-inactive { color:#94a3b8; }
.rail-return.is-inactive .calendar-trigger { color:#a3afbc; background:#f1f5f9; cursor:default; }
.rail-search-note { grid-column:1 / -1; color:#7c8b9c; font-size:11px; line-height:1.7; margin:0; }
.rail-validation-message { grid-column:1 / -1; color:#b45309; font-size:12px; margin:0; }
@media(max-width:760px) {
 .rail-location { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
 .rail-passengers > summary { height:46px; font-size:12px; }
 .rail-search-note { font-size:10px; }
}
