#formTrayectos { font-family: Arial, Helvetica, sans-serif; }
.booking-public-notice { margin: 0 0 18px; padding: 14px 18px; border: 1px solid #e2c5d5; border-radius: 10px; background: #fff6fb; color: #8b315b; font-family: Arial, Helvetica, sans-serif; font-size: 13px; line-height: 1.8; }
.home-search-panel { position: relative; padding: 26px; border: 1px solid #e7d6e0; border-radius: 16px; background: #faf5f8; box-shadow: 0 10px 35px rgba(68, 34, 54, .06); }
.home-search-panel .form-control { min-height: 46px; font-family: Arial, Helvetica, sans-serif; font-size: 14px; border-color: #d9c9d2; border-radius: 9px; }
.home-search-panel .form-label { color: #65505f; }
.home-search-panel .form-label i { color: #96205e; margin-right: 4px; }
.home-search-panel .btn-primary { min-height: 46px; align-self: start; border-radius: 9px; }
.home-search-panel .btn-primary:hover { transform: none; box-shadow: 0 4px 12px rgba(121, 38, 82, .15); }
.home-search-panel .btn-primary:disabled { background: #bb8aa7; border-color: #bb8aa7; color: #fff; opacity: .7; }
.home-search-action { display: flex; flex-direction: column; }
.home-search-action .btn-primary { align-self: stretch; }
.seat-status { display: flex; align-items: center; gap: 10px; min-height: 46px; padding: 8px 12px; border: 1px solid #e4d8df; border-radius: 9px; background: #fff; color: #786473; }
.seat-status > i { display: grid; place-items: center; flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%; background: #f6edf2; font-size: 16px; }
.seat-status > div { min-width: 0; }
.seat-status__value { display: block; color: #4d3645; font-size: 20px; line-height: 1.1; font-weight: 600; font-variant-numeric: tabular-nums; }
.seat-status__caption { display: block; font-size: 11px; line-height: 1.5; margin-top: 3px; overflow-wrap: anywhere; }
.seat-status[data-state="available"] { background: #f6faf8; border-color: #c8ded2; color: #37634d; }
.seat-status[data-state="available"] > i { background: #e4f0e9; }
.seat-status[data-state="available"] .seat-status__value { color: #285b40; }
.seat-status[data-state="unavailable"] { background: #fcf5f7; border-color: #e8cdd5; color: #8b4157; }
.seat-status[data-state="unavailable"] > i { background: #f7e6eb; }
.seat-status[data-state="unavailable"] .seat-status__value { color: #8b4157; }
.home-benefits { padding: 28px 0 40px; background: #faf7f9; border-top: 1px solid #f0e7ed; }
.home-benefits__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.home-benefit { position: relative; isolation: isolate; overflow: hidden; padding: 20px; border: 1px solid #eadfe6; border-radius: 13px; background: #fff; font-family: Arial, Helvetica, sans-serif; }
.home-benefit__watermark { position: absolute; right: -7px; bottom: -12px; z-index: -1; color: #ad276e; opacity: .055; font-size: 90px; line-height: 1; transform: rotate(-12deg); }
.home-benefit__icon { display: inline-grid; place-items: center; width: 32px; height: 32px; background: #faf0f6; border-radius: 9px; color: #96205e; font-size: 18px; margin-bottom: 12px; }
.home-benefit h2 { margin: 0 0 7px; font-family: inherit; color: #49333f; font-size: 15px; font-weight: 600; line-height: 1.4; }
.home-benefit p { margin: 0; font-family: inherit; color: #736570; font-size: 12px; line-height: 1.7; }
#formTrayectos .form-label { font-size: 14px; }
.route-picker { position: relative; min-width: 0; }
.route-picker__button { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; min-height: 44px; padding: 12px 14px; background: #fff; color: #352b33; border: 1px solid #d9c9d2; border-radius: 9px; text-align: left; font-family: inherit; font-size: 14px; line-height: 1.5; }
.route-picker__button:hover { border-color: #96205e; }
.route-picker__button:focus-visible { outline: 3px solid #672247; outline-offset: 3px; }
.route-picker__button > span { min-width: 0; flex: 1; }
.route-picker__button > i { flex-shrink: 0; color: #96205e; transition: transform .15s; }
.route-picker__button[aria-expanded="true"] > i { transform: rotate(180deg); }
.route-picker__list { position: absolute; top: calc(100% + 8px); left: 0; z-index: 1050; width: min(640px, calc(100vw - 48px)); min-width: 100%; max-height: min(430px, 55vh); overflow-y: auto; overscroll-behavior: contain; background: #fff; border: 1px solid #e6d4df; border-radius: 12px; box-shadow: 0 15px 40px rgba(58, 25, 43, .2); padding: 6px; }
.route-picker__list[hidden] { display: none; }
.route-picker__option { padding: 13px 14px; border: 1px solid transparent; border-bottom-color: #f0e7ed; cursor: pointer; border-radius: 7px; }
.route-picker__option:last-child { border-bottom-color: transparent; }
.route-picker__option:hover, .route-picker__option.is-active { background: #faf0f6; border-color: #dba3c1; }
.route-picker__option[aria-selected="true"] { background: #f7e8f1; }
.route-picker__destination, .route-picker__origin, .route-picker__stops { display: block; white-space: normal; overflow-wrap: anywhere; }
.route-picker__destination { color: #822150; font-size: 14px; font-weight: 600; line-height: 1.6; }
.route-picker__origin, .route-picker__stops { font-size: 12px; font-weight: 400; line-height: 1.7; color: #65575f; margin-top: 5px; }
.route-picker__label { color: #796471; font-weight: 400; margin-right: 5px; }
.route-picker__destination .route-picker__label { display: block; font-size: 10px; line-height: 1.4; text-transform: uppercase; letter-spacing: .08em; margin: 0 0 3px; }
.route-summary { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) minmax(0, 1fr); align-items: center; gap: 16px; font-family: Arial, Helvetica, sans-serif; }
.route-summary > div { min-width: 0; overflow-wrap: anywhere; }
.route-summary h6 { font-size: 11px; line-height: 1.6; }
.route-summary p { font-family: inherit; font-size: 13px; line-height: 1.7; }
.pickup-summary { padding: 12px; border: 1px solid #ead0df; border-radius: 9px; background: #faf7f9; color: #65575f; font-size: 12px; line-height: 1.7; }
.pickup-summary strong { display: block; color: #822150; margin-bottom: 8px; }
.pickup-summary ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; list-style: none; padding: 0; margin: 0; }
.pickup-summary li { padding: 4px 8px; background: #fff; border: 1px solid #ead0df; border-radius: 6px; max-width: 100%; }
.route-status { font-size: 12px; line-height: 1.6; color: #432633; margin: 8px 0 0; }
.route-status[hidden] { display: none; }
#ui-datepicker-div { font-family: Arial, Helvetica, sans-serif; font-size: 14px; z-index: 1100 !important; border: 1px solid #e0c4d3; border-radius: 10px; padding: 8px; box-shadow: 0 10px 28px rgba(58, 25, 43, .15); }
#ui-datepicker-div .ui-datepicker-header { background: #f7e8f1; border: 0; color: #822150; }
@media (max-width: 767px) {
    .home-search-panel { padding: 20px; }
    .home-benefits__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .home-benefit { padding: 16px; }
    .home-benefit h2 { font-size: 14px; }
    .home-benefit__watermark { font-size: 74px; }
    .route-summary { grid-template-columns: minmax(0, 1fr); }
    .route-picker__list { width: 100%; }
    .route-picker__option { padding: 12px 10px; }
}
