/* @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;}}
:root{--ai-font-size-base:var(--font-size-base);--ai-font-size-s:var(--font-size-s);--ai-font-size-xs:var(--font-size-xs);--ai-font-size-xxs:var(--font-size-xxs);--ai-font-size-h1:var(--font-size-h1);--ai-font-size-h2:var(--font-size-h2);--ai-font-size-h3:var(--font-size-h3);--ai-font-size-h4:var(--font-size-h4);--ai-font-size-h5:var(--font-size-h5);--ai-font-size-h6:var(--font-size-h6);--ai-text-color-muted:var(--color-text-light);--ai-icon-size:1.25rem;--ai-icon-size-lg:2rem;}.ai-font-size-base{font-size:var(--ai-font-size-base);}.ai-font-size-s{font-size:var(--ai-font-size-s);}.ai-font-size-xs{font-size:var(--ai-font-size-xs);}.ai-font-size-xxs{font-size:var(--ai-font-size-xxs);}.ai-text-muted{color:var(--ai-text-color-muted);}.ai-description{font-size:var(--ai-font-size-xs);line-height:1.25;color:var(--ai-text-color-muted);hyphens:none;text-wrap:balance;}.ai-heading-h1{font-size:var(--ai-font-size-h1);}.ai-heading-h2{font-size:var(--ai-font-size-h2);}.ai-heading-h3{font-size:var(--ai-font-size-h3);}.ai-heading-h4{font-size:var(--ai-font-size-h4);}.ai-heading-h5{font-size:var(--ai-font-size-h5);}.ai-heading-h6{font-size:var(--ai-font-size-h6);}select.ai-select,select.ai-select--narrow,select.ai-select--wide{max-width:200px;}select.ai-select--narrow{max-width:150px;}select.ai-select--wide{max-width:300px;}.ai-icon-button{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:calc(var(--ai-icon-size) + 0.5rem);height:calc(var(--ai-icon-size) + 0.5rem);padding:0.25rem;color:var(--gin-icon-color,var(--ai-text-color-muted));text-decoration:none;background-color:transparent;background-repeat:no-repeat;background-position:center;background-size:var(--ai-icon-size) var(--ai-icon-size);border:1px solid var(--color-gray-200,rgba(0,0,0,0.08));border-radius:var(--gin-border-m,0.5rem);transition:background-color 0.15s var(--gin-easing,cubic-bezier(0.19,1,0.22,1)),border-color 0.15s var(--gin-easing,cubic-bezier(0.19,1,0.22,1));cursor:pointer;}.ai-icon-button:hover{background-color:var(--color-gray-100,rgba(0,0,0,0.06));border-color:var(--color-gray-200,rgba(0,0,0,0.08));}.ai-icon-button:focus{outline:none;}.ai-icon-button:focus-visible{background-color:var(--color-gray-100,rgba(0,0,0,0.06));outline:2px solid var(--gin-color-focus,var(--color-focus,#007dfacc));outline-offset:2px;}.ai-icon-button:active{background-color:var(--color-gray-200,rgba(0,0,0,0.12));border-color:var(--color-gray-300,rgba(0,0,0,0.15));}.ai-icon-button--lg{--ai-icon-size:var(--ai-icon-size-lg);}.ai-icon{display:inline-block;flex-shrink:0;width:var(--ai-icon-size);height:var(--ai-icon-size);background-repeat:no-repeat;background-position:center;background-size:100%;}.ai-icon--lg{--ai-icon-size:var(--ai-icon-size-lg);}.ai-icon--provider{background-image:url(/modules/contrib/ai/assets/icons/plugs.svg);}.ai-icon--model{background-image:url(/modules/contrib/ai/assets/icons/cube.svg);}.ai-icon--external{background-image:url(/modules/contrib/ai/assets/icons/external.svg);}.ai-icon--settings{background-image:url(/modules/contrib/ai/assets/icons/gear.svg);}.ai-icon--supported{background-image:url(/modules/contrib/ai/assets/icons/checkmark-circle.svg);}.ai-icon--not-supported{background-image:url(/modules/contrib/ai/assets/icons/x-circle.svg);}.ai-icon--warning{background-image:url(/modules/contrib/ai/assets/icons/warning.svg);}.ai-icon--option{background-image:url(/modules/contrib/ai/assets/icons/option.svg);}.ai-icon--arrow-left-up{background-image:url(/modules/contrib/ai/assets/icons/arrow-left-up.svg);}.ai-icon--cloud-arrow-down{background-image:url(/modules/contrib/ai/assets/icons/cloud-arrow-down.svg);}.ai-icon--file{background-image:url(/modules/contrib/ai/assets/icons/file.svg);}.ai-pill{font-size:var(--gin-font-size-xxs,.75rem);font-weight:var(--gin-font-weight-semibold,600);display:inline-block;padding:.125em .75em;vertical-align:.125em;border:1px solid transparent;border-radius:var(--gin-border-l,.75rem);color:var(--messages-fg-color);background:var(--messages-bg-color);text-transform:capitalize;}.ai-pill.light{color:var(--gin-status-text,white);background:var(--gin-status-bg,var(--color-gray-400));}.ai-pill.success{color:var(--gin-status-success-text,var(--messages-fg-color));background-color:var(--gin-status-success-bg,var(--messages--status-color));}.ai-pill.danger{color:var(--gin-status-danger-text,var(--messages-fg-color));background:var(--gin-status-danger-bg,var(--messages--error-color));}.ai-pill.warning{color:var(--gin-status-warning-text,var(--messages-fg-color));background:var(--gin-status-warning-bg,var(--messages--warning-color));}.ai-tooltip{margin:0px;inset:auto;position-area:bottom right;position-try-fallbacks:flip-inline;border:1px solid var(--gin-border-color,var(--color-gray-100,#dbdbdb));padding:var(--gin-spacing-xxs,4px) var(--gin-spacing-xs,8px);color:var(--gin-color-text-light,var(--color-gray-800,#55565b));font-size:var(--font-size-xs);border-radius:var(--gin-border-s,6px);box-shadow:2px 4px 8px var(--gin-color-primary-light,rgba(0,0,0,0.15));max-width:16rem;}
.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;}}
