/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.trip-search-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;padding:20px;background:#f8f9fa;border-radius:12px;margin-bottom:24px;}.trip-search-form .form-field-wrapper{position:relative;flex:1 1 200px;min-width:180px;}.trip-search-form input[type="text"],.trip-search-form input[type="date"]{width:100%;padding:12px 16px;border:1px solid #dee2e6;border-radius:8px;font-size:15px;transition:border-color 0.2s;box-sizing:border-box;}.trip-search-form input[type="text"]:focus,.trip-search-form input[type="date"]:focus{outline:none;border-color:#4a90d9;box-shadow:0 0 0 3px rgba(74,144,217,0.15);}.search-submit-btn{padding:12px 32px;background:#4a90d9;color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:background 0.2s;white-space:nowrap;}.search-submit-btn:hover{background:#3a7bc8;}.autocomplete-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #dee2e6;border-top:none;border-radius:0 0 8px 8px;box-shadow:0 4px 12px rgba(0,0,0,0.1);z-index:1000;max-height:300px;overflow-y:auto;}.autocomplete-dropdown.active{display:block;}.autocomplete-item{padding:10px 16px;cursor:pointer;display:flex;flex-direction:column;gap:2px;transition:background 0.15s;}.autocomplete-item:hover,.autocomplete-item.highlighted{background:#f0f4f8;}.autocomplete-name{font-size:15px;font-weight:500;color:#212529;}.autocomplete-region{font-size:13px;color:#6c757d;}.sort-toolbar{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding:8px 0;}.sort-label{font-size:14px;color:#6c757d;}.sort-btn{padding:6px 14px;border:1px solid #dee2e6;border-radius:6px;background:#fff;font-size:14px;cursor:pointer;transition:all 0.2s;}.sort-btn.active{background:#4a90d9;color:#fff;border-color:#4a90d9;}.sort-btn:hover:not(.active){border-color:#adb5bd;}.trip-cards{display:flex;flex-direction:column;gap:12px;}.trip-card{display:flex;align-items:center;gap:20px;padding:20px;background:#fff;border:1px solid #e9ecef;border-radius:12px;transition:box-shadow 0.2s;}.trip-card:hover{box-shadow:0 2px 12px rgba(0,0,0,0.08);}.trip-route{flex:1;min-width:0;}.trip-times{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:600;color:#212529;}.trip-arrow{color:#adb5bd;font-size:16px;}.trip-dates{display:flex;justify-content:space-between;font-size:13px;color:#6c757d;margin-top:2px;max-width:200px;}.trip-stations{display:flex;justify-content:space-between;font-size:13px;color:#495057;margin-top:4px;max-width:300px;}.trip-info{display:flex;flex-direction:column;gap:4px;min-width:140px;}.trip-duration{font-size:14px;font-weight:500;color:#495057;}.trip-carrier{font-size:13px;color:#6c757d;}.trip-seats{font-size:13px;color:#6c757d;}.trip-comforts{display:flex;gap:4px;margin-top:2px;}.comfort-icon{font-size:16px;cursor:help;}.trip-price-block{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:120px;}.trip-price{font-size:22px;font-weight:700;color:#212529;}.booking-btn{display:inline-block;padding:10px 24px;background:#28a745;color:#fff;text-decoration:none;border-radius:8px;font-size:14px;font-weight:600;transition:background 0.2s;}.booking-btn:hover{background:#218838;color:#fff;}.booking-alt-toggle{display:inline-block;margin-top:6px;padding:0;border:none;background:none;color:#6c757d;font-size:12px;cursor:pointer;text-decoration:underline;text-decoration-style:dashed;text-underline-offset:2px;transition:color 0.2s;}.booking-alt-toggle:hover{color:#495057;}.booking-alt-toggle.is-open{color:#495057;}.booking-alt{margin-top:6px;}.booking-btn--alt{display:inline-block;padding:6px 14px;background:transparent;color:#28a745;border:1px solid #28a745;border-radius:6px;font-size:12px;font-weight:500;text-decoration:none;transition:background 0.2s,color 0.2s;}.booking-btn--alt:hover{background:#28a745;color:#fff;}.loading{text-align:center;padding:40px;font-size:16px;color:#6c757d;}.no-results{text-align:center;padding:40px;font-size:16px;color:#6c757d;}.error{text-align:center;padding:40px;font-size:16px;color:#dc3545;}.direction-seo-text{margin-top:32px;padding:24px;line-height:1.7;color:#495057;font-size:15px;}@media (max-width:768px){.trip-search-form{flex-direction:column;}.trip-search-form .form-field-wrapper{width:100%;flex:none;}.search-submit-btn{width:100%;}.trip-card{flex-direction:column;align-items:stretch;}.trip-price-block{flex-direction:column;align-items:stretch;padding-top:12px;border-top:1px solid #e9ecef;}.trip-price-block .trip-price{margin-bottom:8px;}.trip-price-block .booking-btn{text-align:center;}}
