.app-footer{border-top:1px solid var(--color-border);background:var(--color-surface);margin-top:auto;padding:1.5rem 0}.footer-inner,.footer-links,.footer-link{align-items:center;display:flex}.footer-inner{text-align:center;justify-content:center}.footer-links{flex-wrap:wrap;justify-content:center;gap:1.25rem}.footer-link{color:var(--color-text-muted);gap:.4rem;font-size:.85rem;font-weight:600;text-decoration:none;transition:color .2s}.footer-link:hover{color:var(--color-primary)}.header{z-index:12000;border-bottom:1px solid #ffffff80;align-items:center;width:100%;height:72px;display:flex;position:sticky;top:0}:root[data-theme=dark] .header,:root[data-theme=midnight] .header{border-bottom-color:var(--color-border)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .header{border-bottom-color:var(--color-border)}}.header-content{z-index:12001;justify-content:space-between;align-items:center;display:flex;position:relative}.logo{align-items:center;text-decoration:none;display:flex}.logo-image{width:auto;height:46px;display:block}.logo-image--dark,:root[data-theme=dark] .logo-image:not(.logo-image--dark),:root[data-theme=midnight] .logo-image:not(.logo-image--dark){display:none}:root[data-theme=dark] .logo-image--dark,:root[data-theme=midnight] .logo-image--dark{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme]) .logo-image:not(.logo-image--dark){display:none}:root:not([data-theme]) .logo-image--dark{display:block}}@media (width<=480px){.logo-image{height:38px}}.settings-selector-wrapper{display:flex;position:relative}.settings-selector-btn{border:1px solid var(--color-border);background:var(--color-control-bg);min-width:2.5rem;min-height:2.5rem;color:var(--color-text);cursor:pointer;font:600 .85rem var(--font-sans);transition:var(--transition);border-radius:10px;justify-content:center;align-items:center;gap:.45rem;padding:.5rem .65rem;display:inline-flex}.settings-selector-btn:hover{background:var(--color-primary-bg);border-color:var(--color-primary)}.settings-dropdown{z-index:12010;border:1px solid var(--color-border);background:var(--color-surface);width:min(680px,100vw - 2rem);box-shadow:var(--shadow-lg);border-radius:14px;padding:1rem;animation:.2s ease-out langSlideDown;position:absolute;top:calc(100% + 8px);right:0}.settings-section+.settings-section{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.settings-section-title{color:var(--color-text);letter-spacing:.04em;text-transform:uppercase;margin:0 0 .55rem;font-size:.78rem;font-weight:800}.theme-options{grid-template-columns:repeat(4,1fr);gap:.45rem;display:grid}.theme-option{border:1px solid var(--color-border);background:var(--color-control-bg);color:var(--color-text);cursor:pointer;font:600 .78rem var(--font-sans);border-radius:9px;align-items:center;gap:.4rem;padding:.55rem .45rem;display:flex}.theme-option:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.theme-option.active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.theme-option input{accent-color:var(--color-primary)}.mobile-settings-selector-wrapper{flex-direction:column;gap:.45rem;padding:.4rem .2rem;display:flex}.mobile-settings-selector-btn{justify-content:flex-start;width:100%}.mobile-settings-selector-btn svg:last-child{margin-left:auto}.mobile-settings-dropdown{width:100%;box-shadow:none;position:static}.settings-language-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;max-height:300px;display:grid;overflow:auto}.settings-language-option{color:var(--color-text);cursor:pointer;font:500 .8rem var(--font-sans);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px;display:flex}.settings-language-option:hover{background:var(--color-primary-bg)}.settings-language-option.active{background:var(--color-primary);color:#fff;font-weight:700}@media (width<=560px){.theme-options{grid-template-columns:repeat(2,1fr)}}.header-actions{align-items:center;gap:1rem;margin-left:auto;display:flex}.favorites-header-button{border:1px solid var(--color-border);background:var(--color-surface);width:2.35rem;height:2.35rem;color:var(--color-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.favorites-header-button:hover{background:var(--color-primary-bg);border-color:var(--color-primary)}.public-beta-badge{color:var(--color-text-muted);white-space:nowrap;margin-left:.65rem;font-size:.8rem;font-weight:500}@media (width<=480px){.public-beta-badge{margin-left:.4rem;font-size:.72rem}}.burger-btn{cursor:pointer;color:var(--color-text);z-index:12005;background:0 0;border:1px solid #0f172a1a;border-radius:10px;justify-content:center;align-items:center;margin-left:auto;padding:.45rem;transition:all .2s;display:none;position:relative}.burger-btn:hover{background:#0596691a;border-color:#0596694d}.mobile-overlay{z-index:12002;background:#0006;animation:.2s fadeIn;position:fixed;inset:0}.mobile-menu{top:calc(env(safe-area-inset-top,0px) + 4.35rem);background:var(--color-surface,#fff);z-index:12003;transform-origin:100% 0;border:1px solid #0f172a14;border-radius:18px;flex-direction:column;gap:.4rem;width:min(320px,100vw - 1.7rem);max-height:min(70vh,420px);padding:.9rem;animation:.2s menuPopoverIn;display:flex;position:fixed;right:.85rem;overflow-y:auto;box-shadow:0 18px 42px #0f172a2e}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes menuPopoverIn{0%{opacity:0;transform:translateY(-8px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.header-desktop{display:none!important}.burger-btn{display:flex}}@keyframes langSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.header-search-time{color:var(--color-text-muted);background:var(--color-primary-bg);border-radius:var(--radius-pill);border:1px solid var(--color-primary-light);align-items:center;gap:.4rem;margin-left:1.5rem;margin-right:auto;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:flex}.search-time-pulse{background:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:1.5s infinite searchTimePulse;display:inline-block}@keyframes searchTimePulse{0%,to{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}@media (width<=768px){.header-search-time{display:none!important}}.contact-page{max-width:1000px;margin:0 auto;padding:3rem 1rem 4rem}.contact-header{text-align:center;max-width:700px;margin:0 auto 2.5rem}.contact-icon{color:var(--color-primary);background:var(--color-primary-bg);border-radius:var(--radius-lg);margin-bottom:1rem;padding:.9rem;display:inline-flex}.contact-header h1{color:var(--color-text);margin-bottom:.75rem;font-size:2.25rem;font-weight:800}.contact-header p,.contact-card p,.contact-direct{color:var(--color-text-muted);line-height:1.75}.contact-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;align-items:flex-start;padding:1.5rem;display:flex}.contact-card h2{color:var(--color-text);margin:1rem 0 .5rem;font-size:1.05rem;line-height:1.45}.contact-card p{margin-bottom:1.25rem;font-size:.92rem}.contact-card a,.contact-direct a{color:var(--color-primary-dark);font-weight:700;text-decoration:none}.contact-card a{align-items:center;gap:.4rem;margin-top:auto;display:inline-flex}.contact-card a:hover,.contact-direct a:hover{text-decoration:underline}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.contact-direct{text-align:center;margin-top:2rem}@media (width<=767px){.contact-page{padding-top:2rem}.contact-header h1{font-size:1.8rem}.contact-grid{grid-template-columns:1fr}}.route-index{padding-top:2rem;padding-bottom:2rem}.route-index__loading{min-height:10rem;color:var(--color-text-muted);justify-content:center;align-items:center;gap:.65rem;font-weight:600;display:flex}.route-index__loading span{border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:1.1rem;height:1.1rem;animation:.8s linear infinite route-index-spin}.route-index__section{border-bottom:1px solid var(--color-border);margin-bottom:2rem;padding-bottom:1.5rem}.route-index__section h1,.route-index__section h2,.route-index__heading h1{margin:0 0 1rem;font-size:1.4rem}.route-index__heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.route-index__all-link{color:var(--color-text-muted);text-underline-offset:3px;font-weight:600;text-decoration:underline}.route-index__all-link:hover{color:var(--color-primary)}.route-index__table{border-collapse:collapse;table-layout:fixed;width:100%}.route-index__table td{vertical-align:top;width:25%;padding:.45rem 1rem .45rem 0}.route-index__table ul{margin:0;padding-left:1.1rem}.route-index__table a{color:var(--color-text);text-underline-offset:2px;text-decoration:underline}.route-index__table a:hover{color:var(--color-primary)}.route-index--all .route-index__table a{text-decoration:none}@keyframes route-index-spin{to{transform:rotate(360deg)}}@media (width<=700px){.route-index__table,.route-index__table tbody,.route-index__table tr,.route-index__table td{width:100%;display:block}.route-index__table td{padding:.35rem 0}}.departure-discovery__hero{border:1px solid var(--color-border);background:var(--color-surface);border-radius:1rem;margin-bottom:2rem;padding:1.5rem;position:relative}.departure-discovery__hero h1{margin:0 0 .65rem;font-size:clamp(1.65rem,4vw,2.35rem)}.departure-discovery__hero p{max-width:52rem;color:var(--color-text-muted);margin:.35rem 0}.departure-discovery__hero .route-index__all-link{position:absolute;top:1rem;right:1rem}.departure-discovery__updated{font-size:.86rem}.departure-discovery__filters,.departure-discovery__ranking,.departure-discovery__country{margin-bottom:2rem}.departure-discovery__filters{border:1px solid var(--color-border);border-radius:1rem;padding:1.25rem}.departure-discovery__filters h2,.departure-discovery__ranking h2,.departure-discovery__country h2,.departure-discovery__country h3{margin:0 0 1rem}.departure-discovery__budget-presets{gap:.5rem;margin-bottom:1rem;display:flex}.departure-discovery__budget-presets button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;border-radius:999px;padding:.45rem .8rem}.departure-discovery__budget-presets button.is-active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.departure-discovery__controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin-bottom:1.2rem;display:grid}.departure-discovery__controls label{color:var(--color-text-muted);flex-direction:column;gap:.35rem;font-size:.88rem;font-weight:600;display:flex}.departure-discovery__controls input,.departure-discovery__controls select{border:1px solid var(--color-border);background:var(--color-background);min-height:2.5rem;color:var(--color-text);border-radius:.55rem;padding:.45rem .6rem}.departure-discovery__controls .departure-discovery__check{flex-direction:row;align-self:end;align-items:center;min-height:2.5rem}.departure-discovery__controls .departure-discovery__check input{min-height:auto}.departure-discovery__table-wrap{border:1px solid var(--color-border);border-radius:.75rem;overflow-x:auto}.departure-discovery__table{border-collapse:collapse;width:100%}.departure-discovery__table th,.departure-discovery__table td{border-bottom:1px solid var(--color-border);text-align:left;padding:.7rem .8rem}.departure-discovery__table th{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.78rem}.departure-discovery__table tr:last-child td{border-bottom:0}.departure-discovery__table a{color:var(--color-text);text-decoration:none}.departure-discovery__table a:hover{color:var(--color-primary);text-decoration:underline}.departure-discovery__table small{color:var(--color-text-muted);margin-top:.2rem;display:block}.departure-discovery__countries{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.departure-discovery__country>a{color:var(--color-primary);margin-top:.65rem;font-weight:600;display:inline-block}.departure-discovery__empty{color:var(--color-text-muted);text-align:center;padding:1rem}@media (width<=850px){.departure-discovery__controls{grid-template-columns:repeat(2,minmax(0,1fr))}.departure-discovery__countries{grid-template-columns:1fr}}@media (width<=560px){.departure-discovery__hero{padding-top:3.2rem}.departure-discovery__controls{grid-template-columns:1fr}.departure-discovery__table th,.departure-discovery__table td{padding:.6rem .5rem;font-size:.86rem}}.faq-page{max-width:900px;margin:0 auto;padding:3rem 1rem 4rem}.faq-header{text-align:center;margin-bottom:3rem}.faq-header h1{color:var(--color-text);margin-bottom:.5rem;font-size:2.25rem;font-weight:800}.faq-header p{color:var(--color-text-muted);font-size:1.05rem}.faq-section{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:16px;margin-bottom:1.5rem;padding:1.5rem 2rem}.faq-section h2{color:var(--color-text);align-items:center;gap:.7rem;margin-bottom:.5rem;font-size:1.35rem;display:flex}.faq-item{border-bottom:1px solid var(--color-border)}.faq-item:last-child{border-bottom:0}.faq-question{width:100%;color:var(--color-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;font-size:.98rem;font-weight:600;list-style:none;display:flex}.faq-question::-webkit-details-marker{display:none}.faq-question:hover{color:var(--color-primary)}.faq-chevron{transition:transform var(--transition);flex:none}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-answer{color:var(--color-text-muted);white-space:pre-line;margin:-.15rem 0 1rem;font-size:.94rem;line-height:1.7}@media (width<=600px){.faq-page{padding-top:2rem}.faq-header h1{font-size:1.85rem}.faq-section{padding:1.25rem}}.custom-datepicker{width:100%;position:relative}.datepicker-input{border:1px solid var(--color-border,#dbe2ea);background:var(--color-bg-white,#fff);width:100%;min-height:44px;color:var(--color-text,#0f172a);font:inherit;text-align:left;cursor:pointer;border-radius:11px;align-items:center;padding:10px 12px;font-weight:700;display:flex}.datepicker-input:hover,.datepicker-input.active{border-color:var(--color-primary,#15803d)}.datepicker-input:focus-visible{outline:3px solid color-mix(in srgb, var(--color-primary,#15803d) 22%, transparent);outline-offset:1px}.datepicker-input.minimal{min-height:0;box-shadow:none;font-size:inherit;background:0 0;border:0;border-radius:0;padding:0}.datepicker-value-placeholder,.datepicker-input--placeholder{color:var(--color-text-muted,#64748b)}.datepicker-popover{z-index:5000;border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-white,#fff);border-radius:16px;width:min(330px,100vw - 24px);padding:12px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 20px 55px #0f172a33}.datepicker-header{grid-template-columns:38px 1fr 38px;align-items:center;margin-bottom:9px;display:grid}.datepicker-header button{width:34px;height:34px;color:var(--color-text,#0f172a);cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;display:grid}.datepicker-header button:hover:not(:disabled){background:var(--color-bg-alt,#f1f5f9)}.datepicker-header button:disabled{opacity:.28;cursor:default}.datepicker-title{text-align:center;font-size:.9rem;font-weight:800}.datepicker-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;display:grid}.datepicker-day-name{color:var(--color-text-muted,#64748b);text-align:center;text-transform:uppercase;padding:4px 0 7px;font-size:.68rem;font-weight:800}.datepicker-day{aspect-ratio:1;color:var(--color-text,#0f172a);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;place-items:center;padding:0;font-size:.8rem;font-weight:700;display:grid}button.datepicker-day:hover:not(:disabled),button.datepicker-day:focus-visible{background:var(--color-primary-bg,#dcfce7);outline:none}.datepicker-day.today{box-shadow:inset 0 0 0 1px var(--color-primary,#15803d)}.datepicker-day.in-range{background:color-mix(in srgb, var(--color-primary,#15803d) 12%, transparent);border-radius:4px}.datepicker-day.selected,.datepicker-day.range-end{background:var(--color-primary,#15803d);color:#fff;box-shadow:none;border-radius:10px}.datepicker-day.disabled{opacity:.28;cursor:default}.datepicker-day.empty{pointer-events:none}.datepicker-day.price-low:not(.selected):not(.range-end){background:#dcfce7}.datepicker-day.price-average:not(.selected):not(.range-end){background:#fef3c7}.datepicker-day.price-high:not(.selected):not(.range-end){background:#fee2e2}.datepicker-footer{border-top:1px solid var(--color-border,#e2e8f0);margin:11px -12px -12px;padding:11px 12px}.time-picker{width:100%;display:flex;position:relative}.time-picker-input{border:1px solid var(--color-border,#dbe2ea);width:100%;color:var(--color-text,#0f172a);font:inherit;text-align:center;background:0 0;border-radius:11px;padding:12px 8px;font-weight:750}.time-picker-input:focus{border-color:var(--color-primary,#15803d);outline:3px solid color-mix(in srgb, var(--color-primary,#15803d) 18%, transparent)}.time-picker-input:disabled{opacity:.6}.time-picker--minimal .time-picker-input{border:0;border-radius:0;outline:0;padding:0}.time-picker-presets{z-index:5000;border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-white,#fff);border-radius:14px;width:max(230px,100%);padding:11px;position:absolute;top:calc(100% + 9px);left:0;box-shadow:0 18px 45px #0f172a2e}.time-picker-presets-title{color:var(--color-text-muted,#64748b);margin-bottom:8px;font-size:.72rem;font-weight:800}.time-picker-presets-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.time-picker-presets-grid button{border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-white,#fff);color:var(--color-text,#0f172a);font:inherit;cursor:pointer;border-radius:8px;padding:7px 4px;font-size:.76rem;font-weight:700}.time-picker-presets-grid button:hover,.time-picker-presets-grid button.is-selected{border-color:var(--color-primary,#15803d);background:var(--color-primary-bg,#dcfce7)}@media (width<=600px){.datepicker-popover{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}.trip-card{align-content:start;row-gap:.8rem;width:100%;display:grid}.trip-card--list-item{box-shadow:none;filter:drop-shadow(0 4px 3px #0f172a14);background:0 0;border:0;border-radius:0;padding:0;transition:none;display:table-row}@keyframes result-unblur{0%{filter:blur(40px)drop-shadow(0 4px 3px #0f172a14)}to{filter:blur()drop-shadow(0 4px 3px #0f172a14)}}.trip-card--result-entering{animation:.5s cubic-bezier(.16,1,.3,1) both result-unblur}.trip-card--list-item>td{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);box-sizing:border-box;vertical-align:middle;height:5.45rem;padding-top:.85rem;padding-bottom:.85rem}.trip-card--list-item>td:first-child{border-left:1px solid var(--color-border);border-radius:var(--radius-lg) 0 0 var(--radius-lg)}.trip-card--list-item>td:last-child{border-right:1px solid var(--color-border);border-radius:0 var(--radius-lg) var(--radius-lg) 0}.trip-card--list-item:hover>td,.trip-card--list-item.trip-card--selected>td,.trip-card--list-item.trip-card--expanded>td{border-top-color:var(--color-primary);border-bottom-color:var(--color-primary)}.trip-card--list-item:hover>td:first-child,.trip-card--list-item.trip-card--selected>td:first-child,.trip-card--list-item.trip-card--expanded>td:first-child{border-left-color:var(--color-primary)}.trip-card--list-item:hover>td:last-child,.trip-card--list-item.trip-card--selected>td:last-child,.trip-card--list-item.trip-card--expanded>td:last-child{border-right-color:var(--color-primary)}.trip-card--list-item.trip-card--selected>td{box-shadow:0 3px 0 var(--color-primary-bg), 0 -3px 0 var(--color-primary-bg);border-top-width:2px;border-bottom-width:2px}.trip-card--list-item.trip-card--selected>td:first-child{border-left-width:2px}.trip-card--list-item.trip-card--selected>td:last-child{border-right-width:2px}.trip-card--list-item.trip-card--similar-reference>td{border-top:2px solid var(--color-text);border-bottom:2px solid var(--color-text)}.trip-card--list-item.trip-card--similar-reference>td:first-child{border-left:2px solid var(--color-text)}.trip-card--list-item.trip-card--similar-reference>td:last-child{border-right:2px solid var(--color-text)}.trip-card--list-item>.trip-list-timeline-cell{padding-right:var(--trip-list-inline-padding);padding-left:var(--trip-list-inline-padding)}.trip-card--list-item>.trip-list-timeline-cell>.trip-timeline{--timeline-line-height:6px;--timeline-label-gap:.5rem;grid-template-columns:var(--trip-departure-column) minmax(0, 1fr) var(--trip-arrival-column);align-items:stretch;gap:0;padding:.25rem 0;display:grid;margin:0!important}.trip-card--list-item .time-block,.trip-card--list-item .duration-line{height:3.75rem!important}.trip-card--list-item .time-block{grid-template-rows:1fr var(--timeline-line-height) 1fr;display:grid}.trip-card--list-item .duration-line{grid-template-columns:minmax(0,1fr);grid-template-rows:1fr var(--timeline-line-height) 1fr;justify-items:stretch;min-width:0;justify-content:stretch!important;display:grid!important}.trip-card--list-item .duration-line>.line{grid-area:2/1;place-self:center stretch;width:100%!important;top:auto!important}.trip-card--list-item .trip-price{font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;box-sizing:border-box;place-self:center;width:100%;padding-left:.5rem;padding-right:.5rem;font-size:1.4rem;align-items:center!important}.trip-card--list-item>.trip-list-price-column{min-width:0;padding-left:.5rem;padding-right:.5rem}.trip-list-price-column-content{min-height:3.75rem;display:grid}.trip-list-price-column-content>.trip-price,.trip-list-price-column-content>.trip-list-similar{grid-area:1/1}.trip-list-total-secondary{color:#64748b;font-size:.72rem;font-weight:600;line-height:1.1}.trip-list-carbon-emission{color:var(--color-text);font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap;padding-left:.35rem;padding-right:.35rem;font-size:.92rem;font-weight:600;line-height:1.15}.trip-list-total-duration{border-left:1px solid var(--color-border);text-align:center;padding-left:.5rem;padding-right:.5rem;position:relative}.trip-list-total-duration-content{color:var(--color-text);white-space:nowrap;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:1.02rem;font-weight:600;display:flex}.trip-list-difference{font-size:.9rem;font-weight:700;line-height:1}.trip-list-difference--better{color:#15803d}.trip-list-difference--worse,.trip-list-difference--neutral{color:var(--color-text-muted)}.trip-list-highlight,.trip-list-similar{z-index:3;color:var(--color-primary);text-align:center;font-size:.7rem;font-weight:700;line-height:1}.trip-list-highlight{z-index:4;width:calc(var(--trip-duration-column) + var(--trip-price-column));color:#fff;box-sizing:border-box;background:#767676;border-radius:0 11px 0 0;min-height:1.05rem;margin-top:0;padding:.2rem .45rem .16rem;font-size:.75rem;position:absolute;top:0;left:0}.trip-card--show-co2 .trip-list-highlight{width:calc(var(--trip-duration-column) + var(--trip-price-column) + var(--trip-co2-column))}.trip-list-highlight--low-carbon,.trip-list-highlight--less-polluting{background:#767676}.trip-list-similar{width:max-content;color:var(--color-text);cursor:pointer;background:0 0;border:0;place-self:end center;margin:0;padding:0;font-family:inherit;font-weight:600}.trip-list-similar:hover{text-decoration:underline}@media (width<=1023px){.trip-card--list-item .time-block{width:auto;min-width:0}.trip-card--list-item>.trip-list-timeline-cell>.trip-timeline>.duration-line{width:auto;padding:0}.trip-card--list-item>.trip-list-timeline-cell>.trip-timeline>.time-block:last-child{transform:none}.trip-list-total-duration-content{font-size:.88rem}.trip-card--list-item .trip-price{padding-left:.25rem;padding-right:.25rem;font-size:1.15rem}.trip-list-carbon-emission{padding-left:.2rem;padding-right:.2rem;font-size:.76rem}.trip-list-similar{font-size:.58rem}.trip-list-difference{font-size:.8rem}.trip-list-highlight{min-height:.95rem;padding-top:.16rem;padding-bottom:.12rem;font-size:.64rem}}@media (width>=480px){.trip-card--list-item .trip-price,.trip-list-total-duration,.trip-list-carbon-emission{padding-left:.5rem;padding-right:.5rem}.trip-card{row-gap:1rem}}.trip-card-header{justify-content:space-between;align-items:center;gap:.65rem;padding-top:.25rem;display:flex}.trip-card .trip-price{font-size:1.3125rem;font-weight:700}.trip-card-icon-action{border:1px solid var(--color-border);background:var(--color-bg);width:38px;height:38px;color:var(--color-text-muted);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.trip-card-icon-action:hover{transform:translateY(-1px)}.trip-card-icon-action:disabled{cursor:wait;opacity:.65}.trip-card-favorite-action.is-active{color:#dc2626;background:#fee2e2;border-color:#fecaca}.trip-card-map-action{color:var(--color-primary);background:#e0f2fe;border-color:#0000;box-shadow:0 2px 6px #0f172a1a}.trip-timeline{grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;gap:.3rem;margin-top:.3rem;display:grid}@media (width>=480px){.trip-timeline{gap:.55rem;margin-top:.5rem}}.time-block{align-content:center;min-width:60px;display:grid}@media (width>=480px){.time-block{width:90px}}.time-block.align-right{text-align:right;justify-items:end}.duration-line{align-content:center;justify-items:center;min-width:0;padding-inline:.5rem;display:grid;position:relative}@media (width>=480px){.duration-line{padding:0}}.line{background:var(--color-border);width:100%;height:2px;margin-block:.5rem;position:relative}.dot{background:var(--color-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px}.dot:first-child{left:-4px}.dot:last-child{right:-4px}.segmented-line{position:relative;overflow:visible!important}.timeline-company-label-area{bottom:var(--timeline-label-gap,.5rem);z-index:3;height:26px;position:absolute;top:auto}.timeline-company-label{white-space:nowrap;justify-content:center;align-items:center;gap:4px;height:100%;display:flex;position:relative}.timeline-company-logo{flex:none;display:inline-flex}.timeline-company-label .trip-company-name-text{letter-spacing:.01em;color:var(--color-text);font-size:.75rem;font-weight:500}.timeline-company-name-hidden{visibility:hidden;pointer-events:none;position:absolute}.timeline-transfer-segment{z-index:3;background-image:radial-gradient(circle,#64748b 1.4px,#0000 1.6px);background-position:0;background-repeat:repeat-x;background-size:5px 4px;height:4px;position:absolute;top:1px}:root[data-theme=dark] .timeline-transfer-segment,:root[data-theme=midnight] .timeline-transfer-segment{background:0 0;height:100%;top:0;transform:none}:root[data-theme=dark] .timeline-transfer-segment:after,:root[data-theme=midnight] .timeline-transfer-segment:after{content:"";background:repeating-linear-gradient(90deg,#fff 0 5px,#0000 5px 9px);height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .timeline-transfer-segment{background:0 0;height:100%;top:0;transform:none}:root:not([data-theme]) .timeline-transfer-segment:after{content:"";background:repeating-linear-gradient(90deg,#fff 0 5px,#0000 5px 9px);height:2px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}}.timeline-transfer-dot{background:#64748b;border:2px solid #64748b;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px}.timeline-transfer-dot--start{left:-4px}.timeline-transfer-dot--end{right:-4px}.timeline-segment{z-index:1;transition:all .3s}.timeline-city-label{color:var(--color-text);letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding:0;font-size:.75rem;font-weight:400;line-height:1.25;overflow:hidden}.timeline-connection-city,.timeline-connection-duration{white-space:nowrap;position:absolute}.timeline-connection-city{text-align:center;text-overflow:clip;width:100%;max-width:100%;bottom:auto;left:0;top:var(--timeline-label-gap,.5rem);font-weight:400}.timeline-label-measure{visibility:hidden;white-space:nowrap;position:absolute}.timeline-connection-duration{top:calc(var(--timeline-label-gap,.5rem) + 1.25rem);font-size:.65rem;font-weight:700}.trip-card--list-item .timeline-endpoint-time{grid-row:1;align-self:end;transform:none!important}.trip-card--list-item .timeline-city-label--start,.trip-card--list-item .timeline-city-label--end{margin-top:calc(var(--timeline-label-gap) - var(--timeline-line-height));grid-row:3;align-self:start;position:static!important;bottom:auto!important}.trip-card--list-item .time-block--without-time .timeline-city-label--start,.trip-card--list-item .time-block--without-time .timeline-city-label--end{text-align:center;grid-row:1/-1;place-self:center;margin-top:0;padding-inline:.5rem;transform:none!important}.trip-card--list-item .timeline-city-label--start{justify-self:start}.trip-card--list-item .timeline-city-label--end{justify-self:end}.legs-details{border:1px solid var(--color-border);background:var(--color-bg);box-sizing:border-box;border-radius:12px;width:100%;max-width:none;margin-top:.5rem;padding:.75rem!important}.trip-details-wrapper{box-sizing:border-box;flex:0 0 100%;align-self:stretch;width:100%;max-width:none}.trip-card--details-only{box-shadow:none;background:0 0;gap:0;padding:0;border:0!important}.trip-card--details-only>.trip-card-header,.trip-card--details-only>.trip-timeline,.trip-card--details-only>.trip-card-comparison{display:none}.trip-card--details-only .legs-details{background:0 0!important;border:0!important;border-radius:0!important;margin-top:0!important;padding:0!important}.similar-trips-link{background:var(--color-primary-bg);width:100%;color:var(--color-primary);cursor:pointer;font:inherit;text-align:left;border:0;border-radius:.6rem;flex-wrap:wrap;align-items:center;gap:.35rem .75rem;margin-top:.65rem;padding:.55rem .7rem;display:flex}.similar-trips-link:hover{filter:brightness(.98)}.similar-trips-comparisons{color:var(--color-text-muted);flex-wrap:wrap;gap:.35rem .75rem;font-size:.8rem;display:flex}@media (width>=480px){.legs-details{padding:1rem!important}}.journey-timeline{--journey-time-width:4.5rem;--journey-rail-width:1.5rem;--journey-action-width:4.4rem;--journey-event-height:2.25rem;--journey-segment-height:3.45rem;--journey-segment-center-offset:-.575rem;--journey-departure-rail-offset:-1.125rem;box-sizing:border-box;width:100%;padding:0 .5rem 0 0;position:relative}.journey-timeline:before{top:calc(var(--journey-event-height) - .55rem);bottom:calc(var(--journey-event-height) - .55rem);left:calc(var(--journey-time-width) + ((var(--journey-rail-width) - 2px) / 2));z-index:0;content:"";background:var(--color-border);pointer-events:none;width:2px;position:absolute}.journey-timeline-event,.journey-timeline-segment,.journey-timeline-connection{box-sizing:border-box;width:100%}.journey-timeline-event{grid-template-columns:var(--journey-time-width) var(--journey-rail-width) minmax(0, 1fr);min-height:var(--journey-event-height);z-index:1;align-items:start;display:grid;position:relative}.journey-timeline-segment,.journey-timeline-connection{z-index:1}.journey-timeline-time{color:var(--color-text);text-align:right;white-space:nowrap;padding-top:.05rem;font-size:1rem;font-weight:800}.journey-timeline-rail{justify-content:center;align-self:stretch;display:flex;position:relative}.journey-timeline-rail:before{content:"";background:var(--color-border);width:2px;position:absolute;top:0;bottom:0}.journey-timeline-rail span{z-index:1;border:2px solid var(--timeline-color,var(--color-primary));background:var(--color-surface);border-radius:50%;width:.72rem;height:.72rem;margin-top:.18rem;position:relative}.journey-timeline-rail--start:before{background:var(--timeline-color,var(--color-primary));top:.55rem}.journey-timeline-rail--start span{border-color:var(--timeline-color,var(--color-primary));background:var(--timeline-color,var(--color-primary))}.journey-timeline-rail--segment:before{background:var(--timeline-color,var(--color-primary))}.journey-timeline-rail--segment span{display:none}.journey-timeline-rail--arrival:before{background:var(--timeline-color,var(--color-primary));height:.55rem;top:0;bottom:auto}.journey-timeline-rail--arrival span,.journey-timeline-rail--departure span{display:none}.journey-timeline-event--final .journey-timeline-rail--arrival span{border-color:var(--timeline-color,var(--color-primary));background:var(--timeline-color,var(--color-primary));display:block}.journey-timeline-rail--departure:before{background:var(--timeline-color,var(--color-primary));top:50%}.journey-timeline-city{min-width:0;color:var(--color-text);align-items:baseline;gap:.35rem;padding-bottom:.4rem;display:flex}.journey-timeline-city strong{flex:none;font-size:.98rem;line-height:1.25}.journey-timeline-city span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.98rem;font-weight:400;line-height:1.25;overflow:hidden}.journey-timeline-segment,.journey-timeline-connection{padding-left:calc(var(--journey-time-width) + var(--journey-rail-width));display:block;position:relative}.journey-timeline-segment>.journey-timeline-rail,.journey-timeline-connection>.journey-timeline-rail{top:0;bottom:0;left:var(--journey-time-width);width:var(--journey-rail-width);position:absolute}.journey-timeline-segment>.journey-timeline-rail{top:calc(-1 * (var(--journey-event-height) - .55rem))}.journey-timeline-segment--after-departure>.journey-timeline-rail{top:var(--journey-departure-rail-offset)}.journey-timeline-connection>.journey-timeline-rail{z-index:2}.journey-timeline-segment{min-height:var(--journey-segment-height);align-items:center;padding-right:.25rem;display:flex}.journey-timeline-segment-duration{width:var(--journey-time-width);color:var(--color-text-muted);transform:translateY(calc(-50% + var(--journey-segment-center-offset)));white-space:nowrap;justify-content:flex-end;align-items:center;gap:.2rem;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:50%;left:0}.journey-timeline-segment-card{box-sizing:border-box;width:100%;min-width:0;transform:translateY(var(--journey-segment-center-offset));grid-template-columns:minmax(0,1fr) auto;gap:.35rem .75rem;margin:0;padding:0;display:grid}.journey-timeline-ticket-bracket{right:calc((var(--journey-action-width) - 2px) / 2);border-right:2px dashed var(--color-primary);opacity:.7;pointer-events:none;z-index:2;width:1rem;position:absolute}.journey-timeline-ticket-bracket:before,.journey-timeline-ticket-bracket:after{content:"";width:1rem;position:absolute;right:0}.journey-timeline-ticket-bracket:before{border-top:2px dashed var(--color-primary);top:0}.journey-timeline-ticket-bracket:after{border-bottom:2px dashed var(--color-primary);bottom:0}.journey-timeline-ticket-bracket--top:after,.journey-timeline-ticket-bracket--bottom:before{display:none}.journey-timeline-segment--ticket-group .journey-timeline-segment-card{padding-right:var(--journey-action-width)}.journey-timeline-service-card{width:100%;min-width:0;padding-right:0!important}.journey-timeline-service-details{grid-area:1/1/auto/-1;grid-template-columns:minmax(0,1fr) auto auto auto;align-self:center;align-items:center;gap:0;width:100%;min-width:0;display:grid;position:relative}.journey-timeline-service-description{grid-column:1;align-items:center;gap:.45rem;min-width:0;padding-right:.5rem;display:flex}.journey-timeline-service-main-text{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.91rem;font-weight:400;line-height:1.2;overflow:hidden}.journey-timeline-service-secondary-text{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-size:.74rem;font-weight:600;line-height:1.2;overflow:hidden}.journey-timeline-service-price{color:var(--color-text);text-align:right;white-space:nowrap;grid-column:2;font-size:.95rem;font-weight:700}.journey-timeline-service-booking-button{grid-column:3;justify-content:flex-end;min-width:0;display:flex}.journey-timeline-service-booking-checkbox{grid-column:4;justify-content:flex-end;min-width:0;display:flex}.journey-page--dedicated .journey-timeline-service-details{min-height:2.5rem;display:block}.journey-page--dedicated .journey-timeline-service-description{box-sizing:border-box;min-height:2.5rem;padding-right:calc(var(--journey-page-price-column) + var(--journey-page-action-column) + var(--journey-page-reserved-column) + .5rem)}.journey-page--dedicated .journey-timeline-service-price,.journey-page--dedicated .journey-timeline-service-booking-button,.journey-page--dedicated .journey-timeline-service-booking-checkbox{box-sizing:border-box;justify-content:flex-end;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.journey-page--dedicated .journey-timeline-service-price{right:calc(var(--journey-page-action-column) + var(--journey-page-reserved-column));width:var(--journey-page-price-column)}.journey-page--dedicated .journey-timeline-service-booking-button{right:var(--journey-page-reserved-column);width:var(--journey-page-action-column)}.journey-page--dedicated .journey-timeline-service-booking-checkbox{width:var(--journey-page-reserved-column);right:0}.journey-page--dedicated .journey-timeline-service-booking-button .journey-timeline-dedicated-booking{justify-content:flex-end;width:100%;margin:0;display:flex;position:static;transform:none}.journey-page--dedicated .journey-timeline-service-booking-button .journey-timeline-dedicated-action{width:auto}.journey-page--dedicated .journey-timeline-service-booking-checkbox .journey-timeline-reserved-control{width:100%;margin:0;padding:0 0 0 .5rem}.journey-timeline-booking-cta{flex:0 0 var(--journey-action-width);width:var(--journey-action-width);text-align:center;margin-left:auto;text-decoration:none;padding:.32rem .35rem!important;font-size:.76rem!important}.journey-timeline-info-price{color:var(--color-text);font-size:.84rem;font-weight:700}.journey-timeline-dedicated-booking{align-items:center;gap:.75rem;margin-left:auto;display:inline-flex}.journey-timeline-dedicated-price{color:var(--color-text);white-space:nowrap;font-size:.95rem;font-weight:700}.journey-timeline-booking-cta--dedicated{justify-content:center;align-items:center;gap:.35rem;width:auto;min-width:6.5rem;font-weight:800;display:inline-flex;background:var(--color-primary)!important;color:#fff!important;background-image:none!important;border:0!important;border-radius:.55rem!important;padding:.55rem .8rem!important;font-size:.9rem!important}.journey-timeline-reserved-control{color:var(--color-text-muted);text-align:right;white-space:normal;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:.45rem;margin-bottom:.35rem;font-size:.74rem;font-weight:600;line-height:1.25;display:flex}.journey-timeline-reserved-control input{width:1rem;height:1rem;accent-color:var(--color-primary)}.journey-timeline-segment>.journey-timeline-reserved-control{z-index:3;box-sizing:border-box;width:14rem;margin:0;padding:.25rem .5rem;display:flex;position:absolute;top:50%;left:-15rem;transform:translateY(-50%)}.journey-timeline-connection{min-height:3.5rem;display:block}.journey-timeline-connection-duration{width:var(--journey-time-width);color:var(--color-text-muted);transform:translateY(calc(-50% + var(--journey-segment-center-offset)));white-space:nowrap;flex-direction:column;justify-content:flex-end;align-items:flex-end;gap:.12rem;font-size:.72rem;font-weight:700;display:flex;position:absolute;top:50%;left:0}.journey-timeline-connection--double{grid-template-columns:var(--journey-time-width) var(--journey-rail-width) minmax(0, 1fr);grid-template-rows:minmax(0,1fr) 1em minmax(0,1fr);padding-left:0;display:grid}.journey-timeline-connection--double>.journey-timeline-connection-duration--double,.journey-timeline-connection--double>.journey-timeline-connection-card--transfer{display:contents}.journey-timeline-connection--double .journey-timeline-connection-duration--double span{grid-column:1;place-self:baseline end}.journey-timeline-connection--double .journey-timeline-connection-duration--double span:first-child{grid-row:1}.journey-timeline-connection--double .journey-timeline-connection-duration--double span:last-child{grid-row:3}.journey-timeline-connection--double .journey-timeline-service-details{grid-area:1/3;align-self:baseline}.journey-timeline-connection--double .journey-timeline-connection-card--transfer>small{grid-area:3/3;align-self:baseline}.journey-timeline-rail--connection:before{top:calc(-1 * (var(--journey-event-height) - .55rem));height:calc(var(--journey-event-height) - .55rem + 50%);background:repeating-linear-gradient(#64748b 0 4px,#0000 4px 7px);bottom:auto}.journey-timeline-rail--connection span{display:none}.journey-timeline-rail--connection span,.journey-timeline-rail--connection-simple span{border-color:var(--connection-color,#64748b);background:var(--connection-color,#64748b);width:.5rem;height:.5rem;margin-top:0;position:absolute;top:50%;transform:translateY(-50%)}.journey-timeline-rail--connection-simple:before,.journey-timeline-rail--connection-simple span{display:none}.journey-timeline-connection-card{height:100%;color:var(--color-text);background:0 0;border:0;border-radius:0;align-items:center;margin:0;padding:0;font-size:.74rem;font-weight:600;display:flex}.journey-timeline-connection-card--transfer{grid-template-rows:minmax(0,1fr) 1em minmax(0,1fr);display:grid}.journey-timeline-connection-card>strong{font-weight:600}.journey-timeline-connection-card--transfer>strong{grid-row:1;align-self:end}.journey-timeline-connection-card--transfer>.journey-timeline-service-details+.journey-timeline-service-details{grid-row:3}.journey-timeline-connection-card.journey-timeline-connection-card--margin{justify-content:flex-start;align-items:center}.journey-timeline-connection-card.journey-timeline-connection-card--margin small{align-self:center}.journey-timeline-connection-card.journey-timeline-connection-card--guaranteed{color:#15803d;align-items:center}.journey-timeline-connection-card.journey-timeline-connection-card--guaranteed strong{align-self:center}.journey-unprotected-margin{min-width:0;display:block;position:relative}.journey-margin-duration{top:50%;left:calc(-1 * (var(--journey-time-width) + var(--journey-rail-width)));width:var(--journey-time-width);color:var(--color-text-muted);text-align:right;white-space:nowrap;font-size:.72rem;font-weight:700;position:absolute;transform:translateY(-50%)}.journey-margin-labels{flex-direction:column;gap:.12rem;min-width:0;display:flex}.journey-unprotected-margin--unprotected .journey-margin-labels{flex-direction:row;align-items:baseline;gap:.35rem}.journey-margin-labels strong{color:var(--color-text-muted);font-size:.74rem;font-weight:600;line-height:1.2}.journey-margin-status--protected{color:#15803d!important}.journey-timeline-connection-card--margin,.journey-timeline-connection-card--guaranteed{top:50%;bottom:auto;right:0;left:calc(var(--journey-time-width) + var(--journey-rail-width));height:auto;transform:translateY(calc(-50% + var(--journey-segment-center-offset)));position:absolute}.journey-timeline-connection-card>small{color:var(--color-text-muted);grid-row:3;align-self:start;margin:0;font-size:.68rem;display:block}.journey-timeline-ticket-booking{z-index:2;background:var(--color-surface);align-items:center;gap:.4rem;min-height:2rem;padding:.15rem 0;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.journey-timeline-ticket-booking .journey-timeline-booking-cta{margin-left:0}.journey-timeline--read-only .journey-timeline-ticket-booking{background:0 0}.journey-timeline-reserved-summary{width:14rem;color:var(--color-text-muted);text-align:right;margin:.75rem 0 0 -15rem;font-size:.78rem;font-weight:700}.journey-timeline-booking-cta--reserved{opacity:.72;color:#fff!important;background:#94a3b8!important}.journey-mobile-segment-summary{display:none}.journey-mobile-reserved-control{color:var(--color-text-muted);align-items:center;gap:.35rem;font-size:.72rem;font-weight:600;display:inline-flex}.journey-mobile-reserved-control input{width:1rem;height:1rem;accent-color:var(--color-primary)}.journey-timeline-transfer-price{border:1px solid var(--color-primary)!important;background:var(--color-primary-bg,#ecfdf5)!important;color:var(--color-primary)!important;cursor:not-allowed!important;opacity:1!important}.journey-timeline-segment.journey-timeline-segment--transfer{min-height:var(--journey-segment-height)}.journey-timeline-rail--transfer:before{background:repeating-linear-gradient(#64748b 0 4px,#0000 4px 7px)}.journey-timeline-rail--transfer span{display:none}.journey-timeline-transfer-segment-card{padding-right:calc(var(--journey-page-price-column,8rem) + var(--journey-page-action-column,var(--journey-action-width)) + var(--journey-page-reserved-column,12rem));position:relative}.journey-timeline-rail--transfer-arrival:before{background:repeating-linear-gradient(#64748b 0 4px,#0000 4px 7px);height:.55rem;top:0;bottom:auto}.journey-timeline-transfer-city span{color:var(--color-text-muted);font-weight:400}.journey-page--dedicated .journey-timeline-margin{grid-template-columns:var(--journey-time-width) var(--journey-rail-width) minmax(0, 1fr);min-height:var(--journey-segment-height);align-items:center;padding-left:0;display:grid}.journey-page--dedicated .journey-timeline-connection>.journey-timeline-margin{width:calc(100% + var(--journey-time-width) + var(--journey-rail-width));margin-left:calc(-1 * (var(--journey-time-width) + var(--journey-rail-width)))}.journey-page--dedicated .journey-timeline-margin>.journey-unprotected-margin{grid-column:1/-1;grid-template-columns:var(--journey-time-width) var(--journey-rail-width) minmax(0, 1fr);width:100%;transform:translateY(var(--journey-segment-center-offset));align-self:center;align-items:center;display:grid;position:static}.journey-page--dedicated .journey-timeline-margin .journey-margin-duration{grid-area:1/1;place-self:center stretch;width:100%;font-size:.72rem;font-weight:700;position:static;transform:none}.journey-page--dedicated .journey-timeline-margin .journey-margin-labels,.journey-page--dedicated .journey-timeline-margin .journey-unprotected-margin>.journey-timeline-service-details{grid-area:1/3;align-self:center}.journey-page--dedicated .journey-timeline-margin span{color:var(--color-text-muted);font-size:.68rem;font-weight:600}.journey-timeline-connection--hidden{min-height:2.25rem}.journey-timeline-connection--hidden .journey-timeline-connection-card{color:#15803d;padding-left:0}@media (width<=479px){.journey-timeline{--journey-time-width:2.8rem;--journey-rail-width:1.1rem;--journey-action-width:3.85rem;--journey-event-height:2.1rem;--journey-segment-height:3.15rem;--journey-segment-center-offset:-.5rem;--journey-departure-rail-offset:-1.05rem}.journey-timeline-time{font-size:1rem}.journey-timeline-city strong,.journey-timeline-city span{font-size:.88rem}.journey-timeline-segment{min-height:var(--journey-segment-height)}.journey-timeline-segment-card{gap:.25rem .4rem;padding:0}.journey-timeline-segment--ticket-group .journey-timeline-segment-card{padding-right:var(--journey-action-width)}.journey-timeline-booking-cta{padding:.3rem .2rem!important;font-size:.72rem!important}.journey-timeline-ticket-booking{gap:.28rem;right:0}.journey-timeline-connection{min-height:3.2rem}.journey-timeline-connection-card{padding:.2rem 0;font-size:.68rem}}@media (width<=767px){.journey-page--dedicated .journey-timeline-segment-card{width:100%;padding-right:0!important}.journey-page--dedicated .journey-timeline-segment{align-items:flex-start;min-height:6.25rem}.journey-page--dedicated .journey-timeline-segment-card:not(.journey-timeline-transfer-segment-card),.journey-page--dedicated .journey-timeline-segment>.journey-timeline-reserved-control{display:none}.journey-page--dedicated .journey-timeline-transfer-segment-card{grid-template-columns:minmax(0,1fr);align-content:center;align-self:center;gap:.25rem;display:grid;transform:none}.journey-page--dedicated .journey-mobile-segment-summary{grid-template-rows:auto auto;grid-template-columns:auto auto minmax(0,1fr);gap:.55rem .6rem;width:100%;padding:.35rem 0 .45rem;display:grid}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-details{display:contents}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-description{flex-wrap:wrap;grid-area:1/1/auto/-1;min-height:0;padding-right:0}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-main-text,.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-secondary-text{text-overflow:clip;white-space:normal;flex-basis:auto;overflow:visible}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-main-text{font-size:.82rem;font-weight:700}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-secondary-text{font-size:.65rem;font-weight:400}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-price,.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-booking-button,.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-booking-checkbox{justify-content:flex-start;width:auto;display:flex;position:static;top:auto;right:auto;transform:none}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-price{text-align:left;grid-area:2/1;align-self:center;font-size:1rem;font-weight:800}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-booking-button{grid-area:2/2;align-self:center}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-booking-checkbox{grid-area:2/3;justify-content:flex-end;align-self:center}.journey-page--dedicated .journey-timeline-connection-card--transfer{flex-direction:column;align-items:stretch;gap:.65rem;height:auto;padding:.45rem 0;display:flex}.journey-page--dedicated .journey-timeline-connection-card--transfer .journey-timeline-service-details{grid-template-columns:minmax(0,1fr);gap:.25rem;min-height:0;display:grid}.journey-page--dedicated .journey-timeline-connection-card--transfer .journey-timeline-service-description{grid-column:1;min-height:0;padding-right:0}.journey-page--dedicated .journey-timeline-connection-card--transfer .journey-timeline-service-main-text,.journey-page--dedicated .journey-timeline-connection-card--transfer .journey-timeline-service-secondary-text{text-overflow:clip;white-space:normal;overflow:visible}.journey-page--dedicated .journey-timeline-connection-card--transfer .journey-timeline-service-price{text-align:left;grid-column:1;width:auto;position:static;transform:none}.journey-page--dedicated .journey-timeline-transfer-segment-card .journey-timeline-service-details{grid-template-columns:minmax(0,1fr);gap:.25rem;display:grid}.journey-page--dedicated .journey-timeline-transfer-segment-card .journey-timeline-service-description{grid-area:1/1;padding-right:0}.journey-page--dedicated .journey-timeline-transfer-segment-card .journey-timeline-service-price{text-align:left;grid-area:2/1;width:auto;font-size:.88rem;font-weight:800;position:static;transform:none}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-booking-button .journey-timeline-dedicated-booking{grid-area:2/2;justify-content:flex-start;width:auto;margin:0;display:flex;position:static;transform:none}.journey-page--dedicated .journey-mobile-segment-summary .journey-timeline-service-booking-button .journey-timeline-booking-cta--dedicated{min-width:5.8rem;padding:.45rem .7rem!important;font-size:.78rem!important}.journey-page--dedicated .journey-mobile-reserved-control{text-align:right;grid-area:2/3;justify-content:flex-end;min-width:0;font-size:.65rem}.journey-page--dedicated .journey-timeline-segment--transfer{min-height:var(--journey-segment-height);align-items:center}}@media (width<=479px){.trip-card .trip-price{font-size:1.05rem!important}.trip-card--show-co2 .trip-price{font-size:.9rem!important}.trip-list-carbon-emission{white-space:normal;font-size:.68rem}.trip-card .time{font-size:1rem!important}.trip-card .duration-text{font-size:.75rem!important}.legs-details .flex.justify-between{flex-direction:column;gap:.5rem}}.location-sheet-overlay{z-index:99999;padding-bottom:env(safe-area-inset-bottom,0px);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a7a;place-items:end center;animation:.16s ease-out location-overlay-in;display:grid;position:fixed;inset:0}.location-sheet{width:100%;max-width:480px;padding:13px 13px calc(17px + env(safe-area-inset-bottom,0px));background:#f8fafcfa;border-radius:20px 20px 0 0;gap:7px;animation:.2s cubic-bezier(.2,.8,.2,1) location-sheet-in;display:grid;box-shadow:0 -18px 50px #0f172a38}.location-sheet-address{color:#64748b;text-align:center;justify-content:center;align-items:center;gap:7px;padding:5px 16px 9px;font-size:.8rem;line-height:1.35;display:flex}.location-sheet-btn{color:#1c1c1e;width:100%;font:inherit;text-align:center;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:14px 16px;font-size:.95rem;font-weight:600;transition:background .12s,transform .1s}.location-sheet-btn:hover{background:#f8fafc}.location-sheet-btn:active{transform:scale(.985)}.location-sheet-btn--cancel{background:#e2e8f0;border-color:#0000;margin-top:4px;font-weight:750}.journey-timeline-local-transfer-event .journey-timeline-city strong{color:var(--color-text)}.journey-timeline-rail--local-start:before,.journey-timeline-rail--local-end:before{background:repeating-linear-gradient(#64748b 0 4px,#0000 4px 7px)}.journey-timeline-rail--local-start:before{top:.55rem}.journey-timeline-rail--local-end:before{height:.55rem;bottom:auto}.journey-timeline-rail--local-start span,.journey-timeline-rail--local-end span{background:#64748b;border-color:#64748b}.journey-timeline-rail--local-transfer:before{background:repeating-linear-gradient(#64748b 0 4px,#0000 4px 7px)}.journey-timeline-rail--local-transfer span{display:none}.journey-timeline-local-transfer-connection .journey-timeline-connection-card{top:0;bottom:0;right:0;left:calc(var(--journey-time-width) + var(--journey-rail-width));box-sizing:border-box;width:auto;height:auto;color:var(--color-text-muted);gap:.35rem;padding-right:0;font-size:.72rem;font-weight:700;position:absolute;transform:none}.journey-timeline-local-transfer-connection .journey-timeline-connection-card strong{color:var(--color-text)}.journey-timeline-local-transfer-connection .journey-timeline-connection-duration{transform:translateY(-50%)}.journey-timeline-local-transfer-wait{z-index:1;grid-template-columns:var(--journey-time-width) var(--journey-rail-width) minmax(0, 1fr);min-height:2.25rem;color:var(--color-text-muted);text-align:right;font-size:.72rem;font-weight:700;display:grid;position:relative}.journey-timeline-local-transfer-wait-duration{grid-column:1;align-self:center}.journey-timeline-rail--local-wait{visibility:visible;grid-column:2}.journey-timeline-local-transfer-wait-service{grid-column:3;align-self:center;padding-left:0!important}.journey-timeline-local-transfer-wait-service .journey-timeline-service-description{padding-right:0}@keyframes location-overlay-in{0%{opacity:0}}@keyframes location-sheet-in{0%{transform:translateY(100%)}}.trip-company-name-text{font-size:13px!important;line-height:13px!important}.company-logo-img{max-width:85px!important;height:18px!important}@media (width<=767px){.trip-timeline .trip-company-name-text,.trip-timeline .timeline-connection-details{display:none!important}.company-logo-img{max-width:70px!important;height:15px!important}}.home-page{background:var(--color-bg);min-height:100vh;overflow:hidden}.home-hero{z-index:100;min-height:min(70vh,580px);padding-bottom:1rem;position:relative}.home-hero .hero-content{padding-top:5rem}.home-hero .hero-title{margin-bottom:.5rem}.home-subtitle{max-width:560px;color:var(--color-text-muted);text-align:center;margin:0 auto 1.5rem;font-size:1rem;line-height:1.6}.home-subtitle-note-link{color:inherit;margin-left:.15rem;text-decoration:none}.home-subtitle-note-link:hover{color:inherit;text-decoration:underline}.home-search{z-index:50;margin-top:1.5rem;position:relative}.home-value{z-index:1;padding:2.5rem 0 4rem;position:relative}.home-information{z-index:1;padding:0 0 5rem;position:relative}.home-editorial{z-index:1;padding:clamp(2.5rem,6vw,4.5rem) 0 5rem;position:relative}.home-editorial-container{max-width:900px}.home-editorial-intro{color:var(--color-text);margin:0 0 3rem;font-size:1.05rem;line-height:1.75}.home-editorial-section{margin:0 0 2.75rem}.home-editorial h2{color:var(--color-text);margin:0 0 .75rem;font-size:clamp(1.35rem,3vw,1.8rem);font-weight:800}.home-editorial p{color:var(--color-text-muted);margin:0;font-size:.98rem;line-height:1.75}.home-editorial-section p+p{margin-top:1rem}.home-editorial-section .home-editorial-intro{margin-bottom:0}.home-editorial-details{color:var(--color-text-muted);position:relative}.home-editorial-expand{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;line-height:1.75;list-style:none;display:inline}.home-editorial-expand::-webkit-details-marker{display:none}.home-editorial-expand:hover,.home-editorial-expand:focus-visible{color:var(--color-text)}.home-editorial-ellipsis{color:var(--color-primary)}.home-editorial-expand-icon{color:var(--color-primary);vertical-align:middle;margin-left:.2em;font-size:1.45em;line-height:1;display:inline-block;position:relative;top:-.18em}.home-editorial-details[open] .home-editorial-expand-icon{transform:rotate(180deg)}.home-editorial-details[open] .home-editorial-expand{position:absolute;top:0;right:0}.home-editorial-details[open] .home-editorial-preview,.home-editorial-details[open] .home-editorial-ellipsis{display:none}.home-editorial-details[open] .home-editorial-content{padding-right:1.5rem}.home-comparison-section{margin:2rem 0 3rem}.home-comparison-summary{color:var(--color-text);text-align:center;margin:.35rem 0 1.25rem;line-height:1.4}.home-comparison-example-title{color:var(--color-text);text-align:center;margin:0}.home-comparison-showcase{gap:1rem;display:grid}.home-comparison-card{grid-template-columns:6rem minmax(0,1fr);align-items:center;gap:.75rem;display:grid}.home-comparison-provider{color:var(--color-text);text-align:right;font-size:.9rem;font-weight:800}.home-comparison-table-wrap{min-width:0;overflow:hidden}.home-comparison-table{margin:0}.home-comparison-card .trip-card--list-item{pointer-events:none;animation:none}.home-comparison-caption{text-align:center;width:760px;max-width:calc(100% - 2rem);padding-inline:.5rem;display:block;color:var(--color-text-muted)!important;margin:1rem auto 0!important;font-size:.78rem!important;line-height:1.55!important}.home-section-container{max-width:1100px}.home-information-container{max-width:900px}.home-section-heading{text-align:center;margin-bottom:3rem}.home-section-heading h2{color:var(--color-text);margin:0 0 .5rem;font-size:clamp(1.5rem,4vw,1.8rem);font-weight:800}.home-section-heading p{color:var(--color-text-muted);margin:0;font-size:.98rem}.home-feature-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:2rem;display:grid}.home-feature{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:22px;align-content:start;gap:1rem;padding:2rem;display:grid}.home-feature-icon{border-radius:14px;place-items:center;width:48px;height:48px;display:grid}.home-feature-icon--blue{color:#0284c7;background:#e0f2fe}.home-feature-icon--green{color:#059669;background:#ecfdf5}.home-feature-icon--orange{color:#ea580c;background:#fff7ed}.home-feature h3{color:var(--color-text);margin:0;font-size:1.18rem}.home-feature p{color:var(--color-text-muted);margin:0;font-size:.91rem;line-height:1.65}.home-question-grid{grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:2.5rem 2rem;display:grid}.home-question h3{color:var(--color-text);align-items:flex-start;gap:.5rem;margin:0 0 .5rem;font-size:1.04rem;display:flex}.home-question h3 svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}.home-question p{color:var(--color-text-muted);margin:0;padding-left:1.65rem;font-size:.9rem;line-height:1.65}.home-editorial .home-comparison-note{width:760px;max-width:calc(100% - 2rem);color:var(--color-text-muted);text-align:center;margin:3rem auto 0;padding-inline:.5rem;scroll-margin-top:2rem;font-size:.78rem;line-height:1.55;display:block}.home-advanced-search-link{color:var(--color-primary);cursor:pointer;font:inherit;background:0 0;border:0;margin:.75rem auto 0;text-decoration:underline;display:block}@media (width>=1024px){.home-subtitle{white-space:nowrap;max-width:none}}@media (width<=767px){.home-hero .hero-content{padding-top:2rem}.home-search{margin-top:1.5rem}.home-comparison-card{grid-template-columns:1fr;gap:.35rem}.home-comparison-provider{text-align:left}}.route-page{max-width:920px;padding-top:0;padding-bottom:4rem}.route-page__hero{border-radius:var(--radius-xl);color:#0f172a;background:linear-gradient(135deg,#ecfdf5,#eff6ff);margin-bottom:2rem;padding:2rem}.route-page__hero h1{color:#0f172a;margin-bottom:1rem;font-size:clamp(2rem,5vw,3rem);line-height:1.15}.route-page h2{border-top:1px solid var(--color-border);margin:2rem 0 1rem;padding-top:1rem;font-size:1.5rem}.route-page p{color:var(--color-text-muted);margin:1rem 0;font-size:1.04rem}.route-page__hero p{color:#475569}:root[data-theme=dark] .route-page__hero,:root[data-theme=midnight] .route-page__hero{color:var(--color-text);background:0 0;border:1px solid #ffffffd9}:root[data-theme=dark] .route-page__hero h1,:root[data-theme=midnight] .route-page__hero h1{color:var(--color-text)}:root[data-theme=dark] .route-page__hero p,:root[data-theme=midnight] .route-page__hero p{color:var(--color-text-muted)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .route-page__hero{color:var(--color-text);background:0 0;border:1px solid #ffffffd9}:root:not([data-theme]) .route-page__hero h1{color:var(--color-text)}:root:not([data-theme]) .route-page__hero p{color:var(--color-text-muted)}}.route-page__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--color-primary)!important;font-size:.78rem!important}.route-page__eyebrow a{color:inherit;letter-spacing:normal;text-transform:none;text-underline-offset:3px;text-decoration:underline}.route-page__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto}.route-page .table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-md);margin:1.25rem 0;overflow-x:auto}.route-page .route-recommendations{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}.route-page .manual-search-link{text-align:center;font-weight:700}.route-page .route-related-list{margin:0;padding-left:1.1rem}.route-page .route-related-link{color:var(--color-text);text-underline-offset:2px}.route-page .route-related-link:hover{color:var(--color-primary)}.route-page nav[aria-label=Fil\ d’Ariane] ol{flex-wrap:wrap;gap:.35rem;margin:0 0 1rem;padding:0;font-size:.9rem;list-style:none;display:flex}.route-page nav[aria-label=Fil\ d’Ariane] li:not(:last-child):after{content:"›";color:var(--color-text-muted);margin-left:.35rem}.route-page table:not(.results-table){border-collapse:collapse;background:var(--color-surface);width:100%;min-width:680px}.route-page table:not(.results-table) th,.route-page table:not(.results-table) td{text-align:left;border-bottom:1px solid var(--color-border);padding:.9rem 1rem}.route-page table:not(.results-table) thead{background:var(--color-surface);color:var(--color-text)}.route-page table:not(.results-table) tbody tr:last-child th,.route-page table:not(.results-table) tbody tr:last-child td{border-bottom:0}.route-page__best-found{border-left:3px solid var(--color-primary);background:color-mix(in srgb, var(--color-primary) 7%, var(--color-surface));padding:.7rem 1rem;line-height:1.45;color:var(--color-text)!important;margin:1.25rem 0!important;font-size:.98rem!important}.route-page__notice{border-left:4px solid var(--color-secondary);padding-left:1rem}.route-page__editorial{margin-top:2.5rem}.route-page__editorial h2{scroll-margin-top:6rem}.route-page__editorial p{line-height:1.75}.route-page__manual p{white-space:pre-line}.mode-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.mode-metrics div{border:1px solid var(--color-border);border-radius:.5rem;padding:.85rem 1rem}.mode-metrics dt{color:var(--color-text);font-size:.82rem}.mode-metrics dd{margin:.25rem 0 0;font-weight:700}@media (width<=700px){.mode-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}.route-page__cta{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:2.5rem;padding:2rem}.route-page__cta .search-container{width:min(850px,100%);max-width:none;margin:1.5rem auto 0}:root{--color-primary:#078a62;--color-primary-dark:#056c4e;--color-primary-light:#15ad7b;--color-primary-bg:#eafaf3;--color-secondary:#168bc2;--color-bg:#f6f8fa;--color-surface:#fff;--color-bg-white:#fff;--color-control-bg:#ffffffc7;--color-text:#111827;--color-text-muted:#5f6b7a;--color-text-light:#8a97a8;--color-border:#dce3e9;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.4rem;--radius-pill:999px;--shadow-sm:0 1px 3px #0f172a12;--shadow-md:0 7px 20px #0f172a17;--shadow-lg:0 18px 45px #0f172a29;--shadow-blue:0 12px 28px #0ea5e93d;--shadow-green:0 12px 28px #0596693d;--transition:.18s cubic-bezier(.2, .8, .2, 1);--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}:root[data-theme=dark],:root[data-theme=midnight]{--color-bg:#111827;--color-surface:#1f2937;--color-bg-white:#1f2937;--color-control-bg:#1f2937db;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-text-light:#94a3b8;--color-border:#475569;--color-primary-bg:#063b2b;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 10px #0000004d;--shadow-lg:0 12px 30px #00000073}:root[data-theme=midnight]{--color-bg:#000;--color-surface:#050505;--color-bg-white:#050505;--color-control-bg:#0c0c0ceb;--color-border:#3f3f46;--color-primary-bg:#063b2b}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#111827;--color-surface:#1f2937;--color-bg-white:#1f2937;--color-control-bg:#1f2937db;--color-text:#f8fafc;--color-text-muted:#cbd5e1;--color-text-light:#94a3b8;--color-border:#475569;--color-primary-bg:#063b2b;--shadow-sm:0 1px 2px #00000040;--shadow-md:0 4px 10px #0000004d;--shadow-lg:0 12px 30px #00000073}}.journey-continue-button{background:var(--color-primary);color:#fff;cursor:pointer;border:0;border-radius:.45rem;width:calc(100% - 2rem);margin:1rem;padding:.8rem 1rem;font-size:1rem;font-weight:700;display:block}.journey-continue-button:hover{background:var(--color-primary-dark)}*,:before,:after{box-sizing:border-box}*{margin:0}html{background:var(--color-bg)}body{min-width:320px;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;transition:background-color var(--transition), color var(--transition);line-height:1.55}:is(input,select,textarea,.btn-secondary){background-color:var(--color-bg-white);color:var(--color-text)}:is(.journey-page,.route-page,.search-page-layout,.favorites-page) :is(.trip-card,.empty-state){color:var(--color-text)}:root[data-theme=dark] :is(.journey-page,.route-page,.search-page-layout,.favorites-page) :is([style*="backgroundColor: white"],[style*="background: white"],[style*="background: '#fff'"]){background-color:var(--color-surface)!important}#root,.app{min-height:100vh}.app{flex-direction:column;display:flex}.app>main{flex:1 0 auto}.container{width:100%;max-width:1240px;margin-inline:auto;padding-inline:clamp(1rem,3vw,2rem)}.text-primary{color:var(--color-primary)}.text-muted{color:var(--color-text-muted)}.font-bold{font-weight:700}.font-medium{font-weight:500}.text-sm{font-size:.875rem}.text-xl{font-size:1.25rem}.btn{border-radius:var(--radius-pill);min-height:44px;font:650 .95rem var(--font-sans);cursor:pointer;transition:transform var(--transition), background-color var(--transition), box-shadow var(--transition);border:0;justify-content:center;align-items:center;gap:.5rem;padding:.7rem 1.35rem;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-green)}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 14px 30px #05966945}.btn-secondary{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-sm)}.btn-secondary:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.glass{-webkit-backdrop-filter:blur(14px)saturate(130%);backdrop-filter:blur(14px)saturate(130%);background:#ffffffe0;border:1px solid #fff6}:root[data-theme=dark] .glass,:root[data-theme=midnight] .glass{background:color-mix(in srgb, var(--color-surface) 88%, transparent);border-color:var(--color-border)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .glass{background:color-mix(in srgb, var(--color-surface) 88%, transparent);border-color:var(--color-border)}}.card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);transition:border-color var(--transition), box-shadow var(--transition), transform var(--transition);padding:clamp(1.2rem,3vw,1.7rem)}.hero{padding:2.5rem 0;position:relative}.animate-delay-1{animation-fill-mode:both;animation-delay:.1s!important}.animate-delay-2{animation-fill-mode:both;animation-delay:.2s!important}.animate-delay-3{animation-fill-mode:both;animation-delay:.3s!important}.animate-delay-4{animation-fill-mode:both;animation-delay:.4s!important}.hero-content{z-index:10;margin-bottom:2rem;position:relative}@media (width>=768px){.hero-content{margin-bottom:3.5rem}}.hero-title{letter-spacing:-.025em;text-align:center;color:var(--color-text);margin-bottom:1.5rem;font-size:2rem;font-weight:800}@media (width>=480px){.hero-title{font-size:2.5rem}}@media (width>=768px){.hero{padding:3.5rem 0}.hero-title{font-size:2.7rem}}@media (width>=1024px){.hero{padding:4rem 0}.hero-title{font-size:3.1rem}}.search-container{z-index:20;width:min(850px,100%);margin-inline:auto;position:relative}.search-container.has-return{max-width:1000px}.search-box{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);transition:border-color var(--transition), box-shadow var(--transition);gap:.75rem;padding:1rem;display:grid}.search-box:focus-within{border-color:var(--color-primary-light);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 10%, transparent)}.search-group-locations{gap:.75rem;display:grid;position:relative}.search-group-datetime{grid-template-columns:minmax(0,1fr);gap:.75rem;display:grid}.search-container.has-return .search-group-datetime{grid-template-columns:repeat(2,minmax(0,1fr))}.search-group-actions{display:grid}.search-field{border-radius:var(--radius-lg);background:var(--color-bg);min-width:0;transition:background-color var(--transition), border-color var(--transition);border:1px solid #0000;align-items:center;padding:.8rem 1.1rem;display:grid;position:relative}.search-field:hover{border-color:var(--color-border)}.search-field-content{flex:1;min-width:0}.search-field-label{color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.1rem;font-size:.64rem;font-weight:800;display:block}.search-field .datepicker-input.minimal{font-weight:400}.datepicker-footer{border-top:0;margin-top:.75rem}.low-carbon-toggle.one-way-toggle{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;width:100%;margin:0;display:grid}.one-way-toggle-label--one-way{text-align:left}.one-way-toggle-label--round-trip{text-align:right}.one-way-toggle-label{opacity:1;transition:color .2s,font-weight .2s,opacity .2s}.one-way-toggle-label.is-selected{color:var(--color-text);opacity:1}.one-way-toggle-label:not(.is-selected){color:var(--color-text-muted);font-style:italic}.one-way-toggle .low-carbon-toggle-track{width:2.75rem;height:1.35rem}.one-way-toggle .low-carbon-toggle-track:after{width:1rem;height:1rem;top:.175rem;left:.175rem}.one-way-toggle input:checked~.low-carbon-toggle-track{background:var(--color-primary)}.one-way-toggle input:checked~.low-carbon-toggle-track:after{transform:translate(1.4rem)}.one-way-toggle input:focus-visible~.low-carbon-toggle-track{outline:2px solid var(--color-primary-light);outline-offset:2px}.search-field-input{width:100%;min-width:0;color:var(--color-text);font-size:1rem;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;outline:none;padding:0}.search-field-input::placeholder{color:var(--color-text-light);font-weight:500}.search-field-return-date{background:0 0;border:0;padding:0}.search-field-return-date:hover{border-color:#0000}.search-field-return-date .search-field-input{font-weight:400}.search-group-datetime:has(.search-field-date:hover) .search-field-date{background:var(--color-primary-bg);border-color:var(--color-primary-light)}.search-divider{background:var(--color-border);align-self:stretch;width:1px;margin:.75rem 0;display:none}.desktop-only{display:none!important}.swap-btn-compact{z-index:5;aspect-ratio:1;border:1.5px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-primary);box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--transition), color var(--transition), background-color var(--transition);border-radius:50%;flex:0 0 36px;place-items:center;padding:0;display:grid;position:absolute;top:50%;right:1.25rem;transform:translateY(-50%)}.swap-btn-compact:hover{background:var(--color-primary-light);color:#fff;border-color:var(--color-primary-light);transform:translateY(-50%)rotate(180deg)}.search-btn{border-radius:var(--radius-lg);color:#fff;cursor:pointer;width:100%;min-height:52px;transition:transform var(--transition), background-color var(--transition);border:none;place-items:center;padding:1.125rem;font-size:1.125rem;font-weight:700;display:grid}.search-btn.is-normal{background:var(--color-primary)}.search-btn.is-normal:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.search-btn:active{transform:translateY(0)}.search-btn.is-disabled,.search-btn:disabled{opacity:1;cursor:wait;box-shadow:none;background:#767676;transform:none}@media (width>=1024px){.search-box{border-radius:var(--radius-pill);z-index:10;flex-direction:row;align-items:center;gap:0;padding:.5rem .5rem .5rem 1rem;display:flex;position:relative}.search-group-locations,.search-group-datetime,.search-group-actions{display:contents}.desktop-only{display:block!important}.search-field{background:0 0;border:none;border-radius:0;padding:.5rem 1.25rem}.search-field-date{flex:none}.search-field-date .search-field-content,.search-field-date .custom-datepicker,.search-field-date .datepicker-input{width:max-content}.search-field-date .datepicker-input{white-space:nowrap}.search-field:hover{background:var(--color-bg);border-color:#0000}.search-divider{display:block}.search-btn{border-radius:var(--radius-pill);flex:none;width:auto;height:52px;margin-left:.5rem;padding:0 2rem}.search-field:first-child{border-top-left-radius:var(--radius-pill);border-bottom-left-radius:var(--radius-pill)}.swap-btn-compact{background:var(--color-primary-bg);border:1px solid var(--color-primary-light);width:32px;height:32px;box-shadow:none;color:var(--color-primary);flex-basis:32px;margin:0;position:static;transform:none}.swap-btn-compact:hover{background:var(--color-primary);color:#fff;transform:rotate(180deg)}}.low-carbon-toggle{cursor:pointer;justify-content:flex-start;align-items:center;gap:.4rem;margin:0 0 .4rem;display:flex}.low-carbon-toggle-label{color:var(--color-text);font-size:.75rem;font-weight:600;font-family:var(--font-sans);text-transform:none;line-height:1}.low-carbon-toggle input{opacity:0;width:1px;height:1px;position:absolute}.low-carbon-toggle-track{background:var(--color-border);border-radius:999px;width:2rem;height:1.1rem;transition:background-color .2s;position:relative}.low-carbon-toggle-track:after{content:"";background:var(--color-surface);border-radius:50%;width:.8rem;height:.8rem;transition:transform .2s;position:absolute;top:.15rem;left:.15rem;box-shadow:0 1px 2px #0f172a40}.low-carbon-toggle input:checked+.low-carbon-toggle-track{background:var(--color-primary)}.low-carbon-toggle input:checked+.low-carbon-toggle-track:after{transform:translate(.9rem)}.low-carbon-toggle input:focus-visible+.low-carbon-toggle-track{outline:2px solid var(--color-primary-light);outline-offset:2px}.carbon-filter-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.carbon-filter-row .low-carbon-toggle{min-width:0;margin-bottom:.4rem}.carbon-display-toggle{text-align:right;justify-content:flex-end}.results-section{padding:1.5rem 0}.search-page-content>.search-results-layout>.results-section{padding-top:.75rem}.technical-error-message{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-muted);text-align:center;box-shadow:var(--shadow-sm);padding:1rem 1.25rem;font-size:.95rem;line-height:1.6}@media (width>=768px){.results-section{padding:2.5rem 0}}.empty-state{text-align:center;background:var(--color-surface);border-radius:var(--radius-xl);border:1px dashed var(--color-border);padding:2.5rem 1.5rem}@media (width>=768px){.empty-state{padding:4rem 2rem}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-slide-up{animation:.5s ease-out forwards slideUp}.visualizer-page{background:var(--color-bg);overflow:hidden}.visualizer-page iframe{background:#fff;border-radius:0}.filter-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a85;place-items:center;padding:clamp(5rem,12vh,7rem) 1rem 2rem;display:grid;position:fixed;inset:0}.price-warning-overlay{z-index:10000;background:#0f172a94;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.price-warning-dialog{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:min(100%,500px);padding:2rem;animation:.22s modalIn;position:relative;box-shadow:0 24px 60px #0f172a47}.price-warning-dialog h2{margin-bottom:.85rem;font-size:1.35rem}.price-warning-dialog p{color:var(--color-text-muted)}.price-warning-dialog p a{color:var(--color-primary-dark);font-weight:700}.price-warning-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:.35rem;display:grid;position:absolute;top:.8rem;right:.8rem}.price-warning-close:hover{background:var(--color-primary-bg);color:var(--color-primary-dark)}.price-warning-checkbox{color:var(--color-text);cursor:pointer;align-items:center;gap:.7rem;margin:1.35rem 0;font-size:1.05rem;font-weight:600;display:flex}.price-warning-checkbox input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary)}.price-warning-continue{width:100%}.unavailable-booking-details{grid-template-columns:auto 1fr;gap:.45rem 1rem;margin:1.15rem 0 1.35rem;display:grid}.unavailable-booking-details dt{color:var(--color-text-muted);font-size:.9rem}.unavailable-booking-details dd{text-align:right;margin:0;font-weight:700}.unavailable-booking-company{justify-content:flex-end;align-items:center;gap:.45rem;display:inline-flex}@media (width<=480px){.price-warning-dialog{padding:1.5rem}}.filter-modal{border:1px solid var(--color-border);background:var(--color-surface);border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(520px,100vw - 2rem);max-height:88vh;animation:.18s ease-out filter-dialog-in;display:grid;overflow:hidden;box-shadow:0 28px 70px #0f172a52}:root[data-theme=dark] .filter-modal,:root[data-theme=midnight] .filter-modal{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]) .filter-modal{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@keyframes filter-dialog-in{0%{opacity:0;transform:translateY(8px)scale(.98)}}.filter-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.filter-modal-body{align-content:start;gap:1rem;padding:1.15rem 1.25rem;display:grid;overflow-y:auto}.filter-modal-footer{border-top:1px solid var(--color-border);align-items:center;gap:.7rem;padding:.9rem 1.25rem;display:flex}.results-filter-close{border:1px solid var(--color-border);background:var(--color-bg);width:32px;height:32px;color:var(--color-text);cursor:pointer;border-radius:999px;place-items:center;padding:0;display:grid}.results-filter-close:hover{border-color:var(--color-primary);background:var(--color-primary-bg)}.results-filter-group{gap:.45rem;display:grid}.filters-accordion-list{flex-direction:column;gap:0;display:flex}.filter-accordion{border:0;width:100%;margin:0}.filter-accordion--modes{order:1}.filter-accordion--hours{order:2}.filter-accordion--price{order:3}.filter-accordion--connections{order:4}.filter-accordion--advanced{order:5}.filter-accordion-trigger{width:100%;color:var(--color-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;margin:0;padding:.7rem 0;font-size:.9rem;font-weight:600;display:flex}.filter-accordion-trigger:hover,.filter-accordion-trigger:focus-visible{background:var(--color-primary-bg,#eff6ff)}.filter-accordion-trigger svg{color:var(--color-text-muted);transition:transform .15s}.filter-accordion-trigger svg.is-open{transform:rotate(180deg)}.filter-accordion-content{flex-direction:column;gap:.65rem;padding:0 0 .8rem;display:flex}.filter-accordion--modes.is-open~.filter-accordion--hours.is-open,.filter-accordion--hours.is-open~.filter-accordion--price.is-open,.filter-accordion--price.is-open~.filter-accordion--connections.is-open,.filter-accordion--connections.is-open~.filter-accordion--advanced.is-open{border-top:1px solid var(--color-border)}.filter-accordion-content .results-filter-group label,.filter-accordion-content .filter-slider-row label{text-transform:none;letter-spacing:normal;font-weight:600}.filter-slider-row{align-items:center;gap:.6rem;display:flex}.filter-slider-row label{color:var(--color-text-muted);flex:none;font-size:.78rem;font-weight:800}.filter-slider-row input[type=range]{min-width:0;accent-color:var(--color-primary);flex:1;margin:0;display:block}.filter-slider-row span{color:var(--color-primary);flex:none;font-size:.8rem;font-weight:700}.filter-hours-row{align-items:center;gap:.5rem;display:flex}.filter-hours-row>.results-filter-group{flex:1;min-width:0}.filter-hours-row label{color:var(--color-text-muted);text-align:center;font-size:.78rem;font-weight:800}.filter-hours-separator{color:var(--color-text-muted);font-weight:700}.filter-arrival-controls{gap:.3rem;min-width:0;display:flex}.filter-arrival-controls>*{flex:1;min-width:0}.filter-arrival-controls select{border:1px solid var(--color-border);background:var(--color-bg-white,#fff);min-width:0;color:var(--color-text);font:inherit;text-align:center;text-align-last:center;border-radius:8px;padding:.4rem .3rem;font-size:.78rem}.filter-option-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:8px;height:8px;animation:.8s linear infinite spin;display:inline-block}.selected-outbound-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:12px;margin-bottom:.75rem;padding:.75rem .65rem .65rem}.selected-outbound-leg{width:100%;color:var(--color-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:.55rem;padding:.55rem .65rem;display:block}.selected-outbound-leg+.selected-outbound-leg{margin-top:.35rem}.selected-outbound-leg.is-active{background:#16a34a0f;border-color:#16a34a}.selected-outbound-leg-details{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.4rem;display:grid}.selected-outbound-unselected-label{width:100%;color:var(--color-text-muted);text-align:center;font-size:.82rem;font-weight:700;display:block}.selected-outbound-selected-label{color:var(--color-text-muted);text-align:center;margin-bottom:.4rem;font-size:.78rem;font-weight:700;display:block}.selected-outbound-leg-details>span,.selected-outbound-leg-details strong,.selected-outbound-leg-details small{display:block}.selected-outbound-leg-details strong{color:var(--color-text);font-size:.83rem;line-height:1.25}.selected-outbound-leg-details small{color:var(--color-text-muted);margin-top:.2rem;font-size:.74rem;font-weight:600}.results-filter-group label{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:800}.results-filter-group input:not([type=checkbox]){border:1px solid var(--color-border);background:var(--color-bg-white,#fff);min-height:42px;color:var(--color-text);font:inherit;border-radius:10px;padding:.55rem .7rem;font-size:.9rem}@keyframes slideDownBanner{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.trips-layout-container{flex-direction:column;gap:1.5rem;width:100%;display:flex}.trips-main-content{min-width:0}.trips-sidebar{display:none}.trips-sidebar.trips-sidebar--similar{box-shadow:none;background:0 0;border:0;border-radius:0;align-self:flex-start;display:flex;position:static;overflow:visible}.mobile-filter-btn{display:flex}.similar-trips-back{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);cursor:pointer;font:inherit;border-radius:.65rem;align-items:center;gap:.4rem;margin-bottom:.75rem;padding:.55rem .8rem;font-weight:700;display:inline-flex}.results-table{--trip-duration-column:max(5rem, var(--trip-duration-content-column,0rem));--trip-price-column:max(8rem, var(--trip-price-content-column,0rem));--trip-co2-column:max(5.5rem, var(--trip-co2-content-column,0rem));--trip-departure-column:90px;--trip-arrival-column:90px;--trip-list-inline-padding:clamp(.85rem, 2vw, 1.1rem);border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.results-table--show-co2{--trip-duration-column:max(6rem, var(--trip-duration-content-column,0rem));--trip-price-column:max(7.25rem, var(--trip-price-content-column,0rem));--trip-co2-column:max(6rem, var(--trip-co2-content-column,0rem))}.results-column--departure{width:calc(var(--trip-departure-column) + var(--trip-list-inline-padding))}.results-column--timeline{width:auto}.results-column--arrival{width:calc(var(--trip-arrival-column) + var(--trip-list-inline-padding))}.results-column--duration{width:var(--trip-duration-column)}.results-column--price{width:var(--trip-price-column)}.results-column--co2{width:var(--trip-co2-column)}.results-sort-table{margin-bottom:.25rem}.results-sort-bar th{height:2rem;font-weight:inherit;vertical-align:middle;padding:0;position:relative}.results-sort-timeline-cell{padding-right:var(--trip-list-inline-padding)!important;padding-left:var(--trip-list-inline-padding)!important}.results-sort-timeline-columns{grid-template-columns:var(--trip-departure-column) minmax(0, 1fr) var(--trip-arrival-column);align-items:center;min-width:0;display:grid}.results-sort-column{min-width:0;min-height:2rem;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:1px solid #0000;justify-content:center;align-items:center;gap:.25rem;padding:0 .25rem;font-size:.78rem;font-weight:700;display:inline-flex;position:relative;overflow:hidden}.results-sort-column-label{align-self:stretch;align-items:center;min-width:0;display:inline-flex;position:relative}.results-sort-column-label-text{align-items:center;gap:.25rem;min-width:0;max-width:100%;display:inline-flex}.results-sort-column-label-content{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.results-sort-column:hover{color:var(--color-primary);border-bottom-color:#0000}.results-sort-column:hover:after{background:var(--color-primary);content:"";height:1px;position:absolute;bottom:7px;left:0;right:0}.results-sort-column--active{color:var(--color-primary);border-bottom-color:#0000}.results-sort-column--departure{grid-column:1;justify-content:flex-start;padding-inline:0}.results-sort-column--balanced{grid-column:2}.results-sort-column--arrival{grid-column:3;justify-content:flex-end;padding-inline:0}.results-sort-bar th>.results-sort-column{width:100%}.results-sort-column--active .results-sort-column-label-text{border-bottom:1px solid var(--color-primary);max-width:100%}.results-sort-column--active:hover .results-sort-column-label-text{border-bottom-color:#0000}.mobile-filter-btn{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:700;position:absolute;left:0;transform:translate(-100%)}.trip-results-with-detail{flex-direction:column;gap:.75rem;width:100%;display:flex}.trip-results-empty{border-style:solid;border-radius:12px;overflow:hidden}.trip-results-list{min-width:0}.trip-results-table{border-spacing:0 .75rem;margin-top:-.75rem}.trip-results-table td{min-width:0}.trip-results-notice-row>td,.trip-results-table>tbody>tr:only-child>td{padding:0}.trip-results-notice-row>td>*{width:100%}.search-statistics-section{margin-top:.75rem}.search-statistics-sidebar-section{width:100%}.filters-sidebar-footer{width:100%;color:var(--color-text);padding-top:1rem;font-size:.82rem;font-weight:400;line-height:1.4}.search-statistics-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-primary);font:inherit;cursor:pointer;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .75rem;font-weight:700;transition:border-color .2s,background-color .2s;display:flex}.search-statistics-toggle:hover,.search-statistics-toggle:focus-visible{border-color:var(--color-primary);background:var(--color-primary-bg)}.search-statistics-toggle.search-statistics-sidebar-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);justify-content:center;padding:.55rem .75rem;font-size:.8rem;font-weight:400}.search-statistics-toggle.search-statistics-sidebar-toggle:hover,.search-statistics-toggle.search-statistics-sidebar-toggle:focus-visible{border-color:var(--color-text-muted);background:var(--color-bg);color:var(--color-text)}.search-statistics{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);box-shadow:var(--shadow-sm);margin-top:.5rem;padding:.65rem}.search-statistics-modal-overlay{z-index:600;background:#0f172a73;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.search-statistics-modal{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);width:min(94vw,940px);max-height:min(88vh,620px);box-shadow:var(--shadow-md);overflow:auto}.search-statistics-modal-header{justify-content:space-between;align-items:center;padding:.8rem 1rem 0;display:flex}.search-statistics-modal-header h2{color:var(--color-text);margin:0;font-size:1rem}.search-statistics-modal .search-statistics{box-shadow:none;border:0;margin-top:0}.search-statistics-header h3{color:var(--color-text);margin:0;font-size:.9rem}.search-statistics-header{justify-content:center;align-items:center;gap:1rem;display:flex;position:relative}.search-statistics-heading{align-items:baseline;gap:1rem;min-width:0;display:flex}.search-statistics-header .results-filter-close{position:absolute;top:0;right:0}.search-statistics-header p{color:var(--color-text-muted);margin:0;font-size:.8rem}.search-statistics-chart-row{align-items:flex-start;gap:1rem;display:flex}.search-statistics-chart-row .search-statistics-chart-wrap{--statistics-y-axis-width:4.5rem;--statistics-x-axis-height:2.8rem;grid-template-columns:var(--statistics-y-axis-width) minmax(0, 1fr);grid-template-rows:minmax(0, 1fr) var(--statistics-x-axis-height);flex:1;min-width:0;height:360px;display:grid;position:relative;overflow:hidden}.search-statistics-hover-card{right:.5rem;bottom:calc(var(--statistics-x-axis-height) + .5rem);left:calc(var(--statistics-y-axis-width) + .5rem);z-index:2;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-sm);pointer-events:none;padding:.55rem .7rem;position:absolute}.search-statistics-hover-summary{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:.5rem;display:grid}.search-statistics-hover-summary>span{min-width:0;display:block}.search-statistics-hover-summary strong,.search-statistics-hover-summary small{display:block}.search-statistics-hover-summary strong{color:var(--color-text);font-size:.8rem;line-height:1.2}.search-statistics-hover-summary small{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:.15rem;font-size:.72rem;font-weight:600;overflow:hidden}.search-statistics-legend{color:var(--color-text-muted);flex:0 0 170px;padding-top:.45rem;font-size:.8rem}.search-statistics-legend h4{color:var(--color-text);margin:0 0 .6rem;font-size:.8rem;font-weight:700}.search-statistics-legend>div{align-items:center;gap:.45rem;margin-bottom:.7rem;display:flex}.search-statistics-legend-multimodal>span:last-child{flex-direction:column;gap:.15rem;line-height:1.25;display:flex}.search-statistics-legend-dot,.search-statistics-legend-plus{border-radius:50%;flex:0 0 10px;justify-content:center;align-items:center;width:10px;height:10px;display:inline-flex}.search-statistics-legend-plus{color:#dc2626;align-self:center;font-size:1rem;font-weight:800}.search-statistics-chart-wrap{width:100%;margin-top:.45rem}.search-statistics-y-axis{border-right:1.5px solid var(--color-text-muted);background:var(--color-surface);min-height:0;color:var(--color-text-muted);grid-area:1/1;font-size:.68rem;position:relative}.search-statistics-y-axis span{white-space:nowrap;position:absolute;right:.45rem;transform:translateY(-50%)}.search-statistics-y-axis strong{color:var(--color-text);transform-origin:0 0;font-size:.75rem;position:absolute;top:50%;left:0;transform:rotate(-90deg)translate(-50%)}.search-statistics-chart-scroll{scrollbar-width:none;direction:ltr;grid-area:1/2;width:100%;height:100%;overflow:auto}.search-statistics-chart-scroll::-webkit-scrollbar{display:none}.search-statistics-chart{width:auto;height:auto;display:block}.search-statistics-axis-corner{background:var(--color-surface);grid-area:2/1}.search-statistics-x-axis{border-top:1.5px solid var(--color-text-muted);background:var(--color-surface);color:var(--color-text-muted);grid-area:2/2;font-size:.68rem;position:relative}.search-statistics-x-axis span{white-space:nowrap;position:absolute;top:.45rem;transform:translate(-50%)}.search-statistics-x-axis strong{color:var(--color-text);text-align:center;font-size:.75rem;position:absolute;bottom:.1rem;left:0;right:0}.search-statistics-scrollbar{z-index:3;appearance:none;cursor:pointer;accent-color:var(--color-text-muted);background:0 0;margin:0;position:absolute}.search-statistics-scrollbar--x{right:0;bottom:calc(var(--statistics-x-axis-height) - 6px);left:var(--statistics-y-axis-width);cursor:ew-resize;width:auto;height:12px}.search-statistics-scrollbar--x:before{background:var(--color-border);content:"";height:1px;position:absolute;top:6px;left:0;right:0}.search-statistics-scrollbar--x>span{border:2px solid var(--color-surface);background:var(--color-text-muted);border-radius:50%;width:10px;height:10px;position:absolute;top:1px}.search-statistics-scrollbar--y{top:0;bottom:var(--statistics-x-axis-height);left:calc(var(--statistics-y-axis-width) - 6px);cursor:ns-resize;width:12px;height:auto}.search-statistics-scrollbar--y:before{background:var(--color-border);content:"";position:absolute;inset:0 5px 0 6px}.search-statistics-scrollbar--y>span{border:2px solid var(--color-surface);background:var(--color-text-muted);border-radius:50%;width:10px;height:10px;position:absolute;top:0;left:1px}.search-statistics-grid-line{stroke:var(--color-border);stroke-width:1px;opacity:.7}.search-statistics-point{fill:var(--point-color,var(--color-primary));stroke:var(--color-surface);stroke-width:2px;cursor:help;opacity:.85;transition:r .15s,opacity .15s}.search-statistics-point:hover{r:7;opacity:1}.search-statistics-multimodal-point{fill:#dc2626;cursor:help;font-size:1.2rem;font-weight:800}.search-statistics-warning{color:var(--color-text-muted);text-align:right;flex-direction:column;align-items:flex-end;margin-top:.75rem;font-size:.75rem;display:flex}.search-statistics-warning button{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.search-statistics-warning p{width:100%;max-width:none;margin:.45rem 0 0;line-height:1.45}.trip-detail-panel-header{color:var(--color-text);justify-content:center;align-items:center;margin:0;padding:.6rem .75rem;font-size:.9rem;font-weight:800;display:flex;position:relative}.trip-detail-panel-header button{border:1px solid var(--color-border);background:var(--color-surface);width:2rem;height:2rem;color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;right:.15rem}.trip-detail-panel-header button:hover{border-color:var(--color-primary);color:var(--color-primary)}.trip-detail-total-price{color:var(--color-primary);font-size:1.3125rem;font-weight:700}.trip-detail-total-duration{color:var(--color-text-muted);font-size:1rem;font-weight:600}.search-page-layout{width:100%;padding-bottom:1rem}.search-page-content,.search-results-layout{min-width:0}.search-trip-detail-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-md);padding:0}.search-trip-detail-content{min-height:0}.search-trip-detail-actions{border-top:1px solid var(--color-border);background:var(--color-surface);flex:none}.search-trip-detail-actions .journey-continue-button{width:calc(100% - 2rem);margin:.75rem 1rem}@media (width<=1199px){.app:has(.search-page-layout--detail-open){--mobile-detail-header-height:72px;--mobile-detail-footer-height:72px}.search-trip-detail-panel{top:var(--mobile-detail-header-height,72px);right:0;bottom:calc(var(--mobile-detail-footer-height,72px) + env(safe-area-inset-bottom));z-index:100;box-sizing:border-box;padding-inline:max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));background:var(--color-bg,#f8fafc);box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;position:fixed;left:0;overflow-y:auto}.search-trip-detail-content{flex:auto;overflow-y:auto}.search-results-layout--detail-open .results-section{display:none}.app:has(.search-page-layout--detail-open) .app-footer{z-index:12000;box-sizing:border-box;min-height:var(--mobile-detail-footer-height);padding:.75rem 0;position:fixed;bottom:0;left:0;right:0}}.trip-card-comparison{z-index:4;white-space:nowrap;pointer-events:none;align-items:center;gap:5px;max-width:calc(100% - 180px);font-size:.72rem;line-height:1.2;display:flex;position:absolute;top:8px;left:50%;transform:translate(-50%)}.comparison-delta--better{color:#15803d}.comparison-delta--worse{color:#dc2626}.comparison-delta--neutral{color:var(--color-text-muted)}@media (width<=767px){.trip-card-comparison{max-width:calc(100% - 32px);font-size:.68rem}.results-sort-bar th:not(.results-sort-timeline-cell){vertical-align:bottom}}@media (width<=1023px){.mobile-filter-btn{margin-bottom:.25rem;position:static;transform:none}.trips-sidebar-column>.selected-outbound-card{display:none}.results-table{--trip-duration-column:clamp(3.25rem, var(--trip-duration-content-column,3.25rem), 6rem);--trip-price-column:clamp(5.5rem, var(--trip-price-content-column,5.5rem), 9rem);--trip-co2-column:clamp(4.8rem, var(--trip-co2-content-column,4.8rem), 6rem);--trip-departure-column:76px;--trip-arrival-column:56px;--trip-list-inline-padding:.7rem}.results-table.results-table--show-co2{--trip-duration-column:clamp(4.8rem, var(--trip-duration-content-column,4.8rem), 6rem);--trip-price-column:clamp(5.5rem, var(--trip-price-content-column,5.5rem), 8rem);--trip-co2-column:clamp(4.8rem, var(--trip-co2-content-column,4.8rem), 6rem)}.results-sort-column{font-size:.75rem}}@media (width>=1024px){.search-page-layout{padding-bottom:0}.results-section.container{max-width:100%!important;padding:0!important}.trips-layout-container{grid-template-columns:320px 1fr;align-items:start;gap:2rem;padding:0;display:grid}.trips-main-content{box-sizing:border-box;padding-top:.75rem;padding-right:2rem}.trips-sidebar{background:var(--color-surface);box-sizing:border-box;min-height:0;box-shadow:none;z-index:10;border:0;border-radius:0;flex-direction:column;flex:1;display:flex;position:sticky;top:90px;padding:1rem!important}.trips-sidebar-column{box-sizing:border-box;background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;align-self:stretch;min-width:0;display:flex;position:static}.trips-sidebar-body{flex-direction:column;gap:1.25rem;display:flex}.search-statistics-sidebar-section{margin-top:auto;padding-top:1rem}.trips-sidebar>.filters-sidebar-footer{margin-top:auto}.mobile-filter-btn{display:none!important}}@media (width>=1200px){.search-results-layout--detail-open{grid-template-columns:minmax(0,2fr) minmax(360px,1fr);align-items:start;display:grid}.search-results-layout--detail-open .search-trip-detail-panel{top:var(--search-detail-top,72px);right:0;bottom:var(--search-detail-bottom,0px);box-sizing:border-box;z-index:100;width:min(33.3333vw,600px);min-width:360px;height:auto;box-shadow:none;border-top:0;border-bottom:0;border-right:0;border-radius:0;flex-direction:column;padding:0;display:flex;position:fixed}.search-results-layout--detail-open .search-trip-detail-content{flex:auto;overflow-y:auto}}@media (width<=767px){.search-page-search-bar{padding:.5rem 0!important}.search-page-search-bar>.container{padding:0 .75rem;width:100%!important}.search-page-search-bar .search-box{border-radius:var(--radius-lg);gap:.55rem;padding:.65rem}.search-page-search-bar .search-group-locations,.search-page-search-bar .search-group-datetime,.search-page-search-bar .search-group-actions{gap:.55rem}.search-page-search-bar .search-group-datetime,.search-page-search-bar .search-group-actions{grid-template-columns:minmax(0,1fr);display:grid}.search-page-search-bar .search-field{gap:.55rem;min-height:3.35rem;padding:.65rem .75rem}.search-page-search-bar .search-field-input{font-size:.95rem}.search-page-search-bar .search-btn{min-height:3.35rem;padding:.75rem 1rem;font-size:1rem}.search-page-content>.search-results-layout>.results-section{padding-bottom:1.5rem;padding-top:.75rem!important}.results-sort-table{margin-bottom:.5rem}.results-sort-timeline-columns{grid-template-columns:var(--trip-departure-column) minmax(0, 1fr) var(--trip-arrival-column);column-gap:.5rem;width:100%}.results-sort-column{min-height:2.35rem;padding-inline:0;font-size:.7rem;overflow:visible}.results-sort-column--departure{justify-content:flex-start}.results-sort-column--arrival{justify-content:flex-end}.results-sort-column-label-content{text-overflow:clip;overflow:visible}.mobile-filter-btn{min-height:2.35rem;margin:0;padding:.4rem .7rem;font-size:.72rem}.trip-results-table{border-spacing:0 .6rem;margin-top:-.6rem}.results-table{--trip-duration-column:clamp(3.45rem, var(--trip-duration-content-column,3.45rem), 6rem);--trip-price-column:clamp(5.25rem, var(--trip-price-content-column,5.25rem), 7.25rem);--trip-co2-column:clamp(4.6rem, var(--trip-co2-content-column,4.6rem), 6rem);--trip-list-inline-padding:.6rem;--trip-departure-column:4.1rem;--trip-arrival-column:3.1rem}.results-table.results-table--show-co2{--trip-duration-column:clamp(4.6rem, var(--trip-duration-content-column,4.6rem), 6rem);--trip-price-column:clamp(5.25rem, var(--trip-price-content-column,5.25rem), 7.25rem);--trip-co2-column:clamp(4.6rem, var(--trip-co2-content-column,4.6rem), 6rem)}.trip-card--list-item>td{padding-top:.75rem;padding-bottom:.75rem}.trip-card--list-item .trip-price{padding:0 .25rem;font-size:1.1rem}.trip-card--list-item .trip-list-total-duration{padding:0 .25rem;font-size:.82rem}.trip-card--list-item .timeline-city-label{text-overflow:ellipsis;white-space:nowrap;max-width:4.1rem;font-size:.7rem;overflow:hidden}.trip-card--list-item .time{font-size:.95rem!important}.trip-card-comparison{font-size:.6rem;top:.15rem}.trip-list-highlight{font-size:.6rem}.trip-list-similar{font-size:.55rem}.search-statistics-section{margin-top:.25rem}.search-statistics-chart-scroll{margin-inline:0}}@media (width<=479px){.results-table.results-table--show-co2{--trip-duration-column:clamp(2.75rem, var(--trip-duration-content-column,2.75rem), 4.5rem);--trip-price-column:clamp(4.25rem, var(--trip-price-content-column,4.25rem), 5.75rem);--trip-co2-column:clamp(4.1rem, var(--trip-co2-content-column,4.1rem), 5rem);--trip-list-inline-padding:.45rem;--trip-departure-column:54px;--trip-arrival-column:40px}.results-table--show-co2 .results-sort-column{font-size:.65rem}}.modes-selector{grid-template-columns:repeat(4,1fr);gap:4px;width:100%;margin-top:.2rem;display:grid}.mode-opt-btn{color:var(--color-text-muted);cursor:pointer;transition:var(--transition);background:0 0;border:1px solid #0000;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:.35rem;padding:.6rem .25rem;font-size:.75rem;font-weight:600;display:flex}.mode-opt-btn:not(.active){background:var(--color-bg-white,#fff);border:1px solid var(--color-border);color:var(--color-text)}.mode-opt-btn:hover{color:var(--color-text);background:var(--color-control-bg)}.mode-opt-btn.active{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-sm)}.mode-opt-btn svg{transition:transform .2s}.mode-opt-btn:hover svg{transform:scale(1.1)}.company-logo-img{border-radius:50%}.city-picker{width:100%;position:relative}.city-picker-field{align-items:center;display:grid}.city-picker-input,.city-picker-country{grid-area:1/1}.city-picker-input{box-sizing:border-box;width:100%;min-width:0}.city-picker--minimal .city-picker-input{color:inherit;font:inherit;font-weight:inherit;background:0 0;border:0;padding:0}.city-picker-country{max-width:46%;color:var(--color-text-light,#64748b);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;justify-self:end;font-size:.78em;font-weight:600;overflow:hidden}.city-picker--fixed .city-picker-field{flex-direction:column;align-items:flex-start;display:flex}.city-picker--fixed .city-picker-country{justify-self:auto;max-width:100%}.city-picker-options{z-index:5000;width:max(100%, max-content);border:1px solid var(--color-border,#e2e8f0);background:var(--color-bg-white,#fff);border-radius:12px;min-width:220px;max-width:min(420px,100vw - 32px);max-height:260px;margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 5px);left:0;overflow-y:auto;box-shadow:0 14px 36px #0f172a2b}.city-picker-options li{color:var(--color-text,#0f172a);cursor:pointer;border-radius:8px;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px 9px;display:grid}.city-picker-options li.is-active{background:var(--color-primary-bg,#dcfce7)}.city-picker-flag{font-size:1rem}.city-picker-name{text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:700;overflow:hidden}.city-picker-code{color:var(--color-text-muted,#64748b);font-size:.68rem;font-weight:700}.legal-page{max-width:900px;margin:0 auto;padding:48px 16px}.legal-card{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:18px;padding:clamp(22px,4vw,36px)}.legal-card h1{color:var(--color-text);align-items:center;gap:10px;margin:0 0 28px;font-size:clamp(1.45rem,3vw,1.9rem);display:flex}.legal-card h1 svg{color:var(--color-primary)}.legal-section+.legal-section{margin-top:22px}.legal-section h3{color:var(--color-text);margin:0 0 7px;font-size:1rem}.legal-section p{color:var(--color-text-muted);margin:0 0 8px;font-size:.94rem;line-height:1.75}.legal-section a{color:var(--color-primary);font-weight:750;text-decoration:none}.legal-section a:hover{text-decoration:underline}.back-nav-button{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:6px 11px;font-size:.8rem;font-weight:700;display:inline-flex}.back-nav-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.favorites-empty{text-align:center;color:var(--color-text-muted)}.favorites-empty p{margin:0}.favorites-date-group{margin-bottom:32px}.favorites-date-group>h2{color:var(--color-text);text-align:center;text-transform:capitalize;margin:0 0 14px;font-size:.84rem}.favorite-legacy-card{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:16px 18px;display:flex}.favorite-legacy-card>div{align-items:center;gap:10px;display:flex}.favorite-legacy-card>div:first-child{flex-direction:column;align-items:flex-start}.favorite-legacy-card strong{align-items:center;gap:6px;display:flex}.favorite-legacy-card small{color:var(--color-text-muted)}.favorite-legacy-card b{color:var(--color-primary)}
