*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:#f5f5f5;color:#1a1a1a;line-height:1.5}.app{max-width:960px;margin:0 auto;padding:2rem 1rem}@media(min-width:701px)and (max-width:960px){.app{padding:1.5rem 1rem}.search-form{padding:1.25rem}.form-row{gap:.75rem}.time-chips,.day-chips{gap:.3rem}.trip-length-slider,.trip-length-scale{max-width:100%}}header{text-align:center;margin-bottom:2rem}header h1{font-size:2rem;font-weight:700;margin:0}.brand{display:inline-flex;flex-direction:column;align-items:center;line-height:1}.brand-mark{display:inline-flex;align-items:flex-start;font-weight:800;font-size:3rem;line-height:1;letter-spacing:-.04em;color:#1a73e8;padding-bottom:.45em}.brand-mark-pick{display:inline-block;margin-left:.02em;transform:translateY(.18em)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}header p{color:#666;margin-top:.25rem}.header-toolbar{display:flex;justify-content:flex-end;align-items:center;margin-bottom:.4rem}.currency-picker{display:inline-flex;align-items:center;gap:.4rem}.currency-picker-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280}.currency-picker-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path fill='%239ca3af' d='M0 0l5 6 5-6z'/></svg>") no-repeat right .6rem center;background-size:9px 6px;border:1px solid #e5e7eb;border-radius:999px;padding:.35rem 1.6rem .35rem .85rem;font-size:.85rem;font-weight:600;letter-spacing:.02em;color:#1a1a1a;cursor:pointer;box-shadow:0 1px 2px #0000000d;transition:border-color .15s,box-shadow .15s}.currency-picker-select:hover{border-color:#3b82f6}.currency-picker-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.coverage-note{display:flex;flex-direction:column;gap:.4rem;background:#fff;border:1px solid #e5e7eb;color:#1a1a1a;border-radius:12px;padding:.75rem 1rem;margin-bottom:1.25rem;font-size:.88rem;line-height:1.35;box-shadow:0 1px 3px #0000000d}.coverage-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.coverage-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;min-width:9rem}.coverage-chips{display:flex;flex-wrap:wrap;gap:.4rem}.coverage-chip{display:inline-flex;align-items:center;gap:.4rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:999px;padding:.25rem .65rem;font-size:.85rem;font-weight:500;color:#1a1a1a}.coverage-flag{font-size:1.05rem;line-height:1}.coverage-airline-logo{width:18px;height:18px;border-radius:3px;object-fit:contain;background:#fff}.currency-chip{cursor:pointer;font-family:inherit;font-weight:600;letter-spacing:.02em;transition:all .15s}.currency-chip:hover{border-color:#3b82f6;color:#3b82f6}.currency-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.search-form{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:2rem}.form-section{margin-bottom:1rem}.form-section:last-child{margin-bottom:0}.form-section-label{display:block;font-size:.8rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.form-connector{font-size:.9rem;color:#888;align-self:center;padding-top:.25rem}.form-row{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}.form-row:last-child{margin-bottom:0}.form-row label{display:flex;flex-direction:column;font-size:.85rem;font-weight:500;color:#555;flex:1;min-width:100px}.form-row label.checkbox-label{flex-direction:row;min-width:auto}.form-row input{margin-top:.25rem;padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.form-row input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.airport-input-wrapper{position:relative;display:flex;flex-direction:column;font-size:.85rem;font-weight:500;color:#555;flex:1;min-width:100px}.airport-label{margin-bottom:.25rem}.airport-input-wrapper input{padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem}.airport-input-wrapper input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.airport-input-error input{border-color:#dc2626;background:#fef2f2}.airport-input-error input:focus{border-color:#dc2626;box-shadow:0 0 0 2px #dc26262e}.airport-input-error-msg{margin-top:.3rem;font-size:.78rem;font-weight:600;color:#b91c1c}.airport-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px #0000001f;margin:2px 0 0;padding:4px 0;z-index:100;max-height:360px;overflow-y:auto}.airport-dropdown .country-group{padding-bottom:.25rem}.airport-dropdown .country-group+.country-group{border-top:1px solid #f1f1f1;margin-top:.25rem;padding-top:.25rem}.airport-dropdown .country-name{padding:.4rem .75rem .25rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;display:flex;align-items:center;gap:.35rem}.airport-dropdown .country-name-button{background:#f9fafb;border:none;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;text-transform:uppercase;letter-spacing:.05em;font-weight:600;border-radius:4px;transition:background .12s,color .12s}.airport-dropdown .country-name-button:hover,.airport-dropdown .country-name-button:focus-visible{background:#dbeafe;color:#1e3a8a;outline:none}.airport-dropdown .country-name-button:hover .country-all-tag,.airport-dropdown .country-name-button:focus-visible .country-all-tag{color:#1d4ed8;opacity:1}.airport-dropdown .country-name-text{flex:1}.airport-dropdown .country-all-tag{font-size:.65rem;font-weight:500;letter-spacing:.04em;color:#6366f1;text-transform:none;opacity:.85}.airport-dropdown .country-flag{font-size:.95rem;line-height:1}.airport-dropdown .city-list{list-style:none;margin:0;padding:0}.airport-dropdown .city-section{padding:0;cursor:default}.airport-dropdown .city-row{padding:.35rem .75rem;cursor:pointer;font-size:.92rem;color:#1a1a1a;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.airport-dropdown .city-row-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.airport-dropdown .city-row:hover,.airport-dropdown .city-section.highlighted>.city-row{background:#eff6ff}.airport-dropdown .city-row strong{color:#1a1a1a}.airport-dropdown .city-section.single .airport-subname{color:#6b7280;font-weight:400;font-size:.86rem}.airport-dropdown .city-all-tag{flex:0 0 auto;font-size:.7rem;font-weight:600;letter-spacing:.02em;color:#2563eb;background:#eff6ff;border-radius:4px;padding:.1rem .4rem;text-transform:uppercase}.airport-dropdown mark.picker-match{background:#fef3c7;color:inherit;padding:0 .1rem;border-radius:2px}.airport-dropdown .airport-list{list-style:none;margin:0 0 .2rem 1.4rem;padding:.1rem 0 .1rem .75rem;border-left:2px solid #e5e7eb;font-size:.82rem;color:#444}.airport-dropdown .airport-list li{padding:.25rem .5rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;border-radius:4px}.airport-dropdown .airport-list li:before{content:"└";color:#cbd5e1;margin-right:.4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.airport-dropdown .airport-list li:not(:last-child):before{content:"├"}.airport-dropdown .airport-list li:hover,.airport-dropdown .airport-list li.highlighted{background:#eff6ff}.airport-dropdown .airport-list .airport-name{flex:1}.airport-dropdown .airport-list .iata,.airport-dropdown .city-section.single .iata{display:inline-block;margin-left:.4rem;padding:.05rem .4rem;background:#eef2f7;border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;color:#1a1a1a;flex:0 0 auto}.checkbox-label{display:flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:500;color:#555;cursor:pointer;white-space:nowrap;height:38px;flex:0}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:#3b82f6;cursor:pointer}.time-filter-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.time-filter-row:last-child{margin-bottom:0}.time-filter-label{font-size:.85rem;font-weight:500;color:#555;min-width:54px}.time-chips{display:flex;gap:.35rem;flex-wrap:wrap}.time-chip{padding:.3rem .7rem;border:1px solid #ddd;border-radius:16px;background:#fff;font-size:.8rem;font-weight:500;color:#555;cursor:pointer;white-space:nowrap;transition:all .15s}.time-chip:hover{border-color:#3b82f6;color:#3b82f6}.time-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.time-custom-range{display:flex;align-items:center;gap:.4rem}.time-custom-range input[type=time]{padding:.3rem .5rem;border:1px solid #ddd;border-radius:8px;font-size:.85rem}.time-custom-range input[type=time]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.day-chips{display:flex;gap:.35rem;flex-wrap:wrap}.form-hint{margin:.5rem 0 0;font-size:.75rem;color:#888;line-height:1.3}.form-error{margin:.5rem 0 0;font-size:.75rem;color:#d4351c;line-height:1.3}.day-chip{padding:.3rem .65rem;border:1px solid #ddd;border-radius:16px;background:#fff;font-size:.8rem;font-weight:500;color:#555;cursor:pointer;white-space:nowrap;transition:all .15s}.day-chip:hover{border-color:#3b82f6;color:#3b82f6}.day-chip.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.day-chip.shortcut{border-style:dashed;margin-left:.25rem}.day-chip.shortcut.active{border-style:solid}.day-chip-sub{font-size:.72rem;color:#888;margin-left:.25rem;font-weight:400}.day-chip.active .day-chip-sub{color:#ffffffd9}.search-mode-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.4rem;flex-wrap:wrap}.search-mode-toggles{display:inline-flex;gap:.4rem}.search-mode-hint{font-size:.8rem;color:#6b7280;margin:0 0 .85rem;line-height:1.35}.flexible-toggle-icon{margin-right:.3rem}.anywhere-destination{display:flex;flex-direction:column;gap:.3rem;flex:1 1 0;padding:.55rem .85rem;background:#eff6ff;border:1px dashed #93c5fd;border-radius:10px;min-height:3.1rem;justify-content:center}.anywhere-destination-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#1e40af}.anywhere-destination-value{font-size:.9rem;font-weight:600;color:#1e3a8a}.flexible-toggle{font-family:inherit;font-size:.78rem;font-weight:600;letter-spacing:.02em;background:#fff;color:#1a1a1a;border:1px dashed #cbd5e1;border-radius:999px;padding:.3rem .85rem;cursor:pointer;transition:all .15s}.flexible-toggle:hover{border-color:#3b82f6;color:#3b82f6}.flexible-toggle.active{background:#3b82f6;border-color:#3b82f6;border-style:solid;color:#fff}.flexible-legs{display:flex;flex-direction:column;gap:.85rem}.flexible-leg{display:flex;flex-direction:column;gap:.4rem;padding:.65rem .75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px}.flexible-leg-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}.airport-input-multi .airport-chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.4rem}.airport-chip{font-family:inherit;font-size:.78rem;font-weight:500;background:#eff6ff;color:#1d4ed8;border:1px solid #bfdbfe;border-radius:999px;padding:.2rem .6rem;cursor:pointer;transition:all .15s}.airport-chip:hover{background:#dbeafe;border-color:#93c5fd}.dr-calendar{position:relative;margin-top:.5rem}.dr-nav{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.4rem}.dr-jump{display:inline-flex;gap:.25rem}.dr-jump-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='5' viewBox='0 0 10 6'><path fill='%239ca3af' d='M0 0l5 6 5-6z'/></svg>") no-repeat right .4rem center;background-size:7px 5px;border:1px solid #e5e7eb;border-radius:999px;padding:.2rem 1.3rem .2rem .6rem;font-family:inherit;font-size:.78rem;font-weight:600;color:#1a1a1a;cursor:pointer;height:28px}.dr-jump-select:hover{border-color:#3b82f6}.dr-jump-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.dr-nav-btn{font-family:inherit;width:28px;height:28px;font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#1a1a1a;border:1px solid #e5e7eb;border-radius:999px;cursor:pointer;transition:all .15s}.dr-nav-btn:hover:not(:disabled){border-color:#3b82f6;color:#3b82f6}.dr-nav-btn:disabled{opacity:.35;cursor:not-allowed}.dr-months{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}@media(max-width:700px){.dr-months{grid-template-columns:1fr}}.dr-month{min-width:0}.dr-month-title{font-size:.85rem;font-weight:700;color:#1a1a1a;margin-bottom:.5rem;text-align:center}.dr-weekday-row,.dr-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.dr-weekday{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7280;text-align:center;padding:.3rem 0}.dr-cell{font-family:inherit;font-size:.85rem;font-weight:500;height:34px;display:inline-flex;align-items:center;justify-content:center;background:transparent;color:#1a1a1a;border:none;border-radius:8px;cursor:pointer;transition:background .1s,color .1s;padding:0}.dr-cell:hover:not(:disabled):not(.dr-from):not(.dr-to){background:#eff6ff;color:#1d4ed8}.dr-blank{cursor:default}.dr-disabled{color:#d1d5db;cursor:not-allowed}.dr-in-range{background:#dbeafe;color:#1d4ed8;border-radius:0}.dr-hover-edge{background:#bfdbfe;color:#1d4ed8}.dr-from,.dr-to{background:#3b82f6;color:#fff;font-weight:700}.dr-from{border-top-right-radius:0;border-bottom-right-radius:0}.dr-to{border-top-left-radius:0;border-bottom-left-radius:0}.dr-from.dr-to{border-radius:8px}.add-date-chip{display:inline-flex;align-items:center;gap:.35rem;border-style:dashed;border-color:#93c5fd;color:#2563eb;font-weight:600;cursor:pointer}.add-date-chip:hover{border-style:solid;border-color:#3b82f6;background:#eff6ff;color:#2563eb}.add-date-chip.active{background:#3b82f6;border-style:solid;border-color:#3b82f6;color:#fff}.add-date-icon{font-size:1rem;line-height:1;font-weight:700}.required-date-chip{cursor:pointer}.required-dates-popover-anchor{position:relative;height:0}.required-dates-calendar{position:absolute;top:.45rem;left:0;right:0;z-index:50;margin-top:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.65rem .75rem .75rem;box-shadow:0 8px 24px #0000001a}.required-dates-calendar .dr-nav-btn{width:22px;height:22px;font-size:.95rem}.required-dates-calendar .dr-months{gap:.75rem}.required-dates-calendar .dr-month-title{font-size:.78rem;margin-bottom:.3rem}.required-dates-calendar .dr-weekday{font-size:.62rem;padding:.2rem 0}.required-dates-calendar .dr-cell{height:26px;font-size:.78rem;border-radius:6px}.dr-required{background:#3b82f6;color:#fff;font-weight:700}.form-submit-row{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;margin-top:.5rem}.submit-recap{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.85rem;color:#4b5563}.submit-recap-route{font-weight:600;color:#111827}.submit-recap-dot{color:#9ca3af}.submit-btn-wide{width:100%;height:48px;font-size:1.02rem;font-weight:600;border-radius:10px}.search-skeleton{margin-top:1.25rem;padding:1.1rem 1rem;background:#fff;border-radius:12px;box-shadow:0 1px 2px #0000000a}.search-skeleton-header{display:flex;align-items:center;gap:.6rem;font-size:.92rem;color:#4b5563;margin-bottom:.9rem}.search-skeleton-spinner{width:14px;height:14px;border-radius:50%;border:2px solid #cbd5e1;border-top-color:#3b82f6;animation:search-skel-spin .8s linear infinite;flex-shrink:0}@keyframes search-skel-spin{to{transform:rotate(360deg)}}.search-skeleton-rows{display:flex;flex-direction:column;gap:.65rem}.search-skeleton-row{display:flex;gap:.6rem;padding:.7rem .8rem;border:1px solid #f3f4f6;border-radius:8px}.search-skeleton-bar{height:12px;border-radius:4px;background:linear-gradient(90deg,#f1f5f9,#e2e8f0,#f1f5f9);background-size:200% 100%;animation:search-skel-shimmer 1.4s ease-in-out infinite}.search-skeleton-bar.w30{width:30%}.search-skeleton-bar.w50{width:50%}.search-skeleton-bar.w60{width:60%}@keyframes search-skel-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.trip-length-heading{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.4rem}.trip-length-heading .form-section-label{margin-bottom:0}.trip-length-summary{font-size:.95rem;font-weight:700;color:#1a1a1a}.trip-length-presets{margin-bottom:.25rem}.trip-length-manual-toggle{background:transparent;border:none;padding:.2rem 0;margin-top:.4rem;font-size:.8rem;color:#3b82f6;cursor:pointer;text-align:left}.trip-length-manual-toggle:hover{text-decoration:underline}.trip-length-manual{display:flex;align-items:flex-end;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.trip-length-manual-field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;font-weight:500;color:#555}.trip-length-manual-label{font-size:.72rem;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.04em}.trip-length-manual-sep{font-size:1.05rem;color:#9ca3af;align-self:center;padding-bottom:.4rem}.trip-length-manual-unit{font-size:.8rem;color:#6b7280;align-self:center;padding-bottom:.5rem}.trip-length-manual-field input[type=number]{width:72px;padding:.5rem .75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;text-align:center;font-variant-numeric:tabular-nums}.trip-length-manual-field input[type=number]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.trip-length-slider{position:relative;height:36px;margin:.75rem 0 .25rem}.trip-length-scale{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.72rem;color:#6b7280;letter-spacing:.02em}.trip-length-slider:before{content:"";position:absolute;left:11px;right:11px;top:50%;transform:translateY(-50%);height:5px;background:#e5e7eb;border-radius:999px;z-index:0}.trip-length-slider:after{content:"";position:absolute;left:calc(11px + (100% - 22px) * var(--min-frac, 0));width:calc((100% - 22px) * (var(--max-frac, 1) - var(--min-frac, 0)));top:50%;transform:translateY(-50%);height:5px;background:#3b82f6;border-radius:999px;z-index:1;pointer-events:none}.trip-length-slider .trip-range{position:absolute;left:0;right:0;width:100%;top:50%;transform:translateY(-50%);margin:0;padding:0;border:0;background:transparent;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:22px;z-index:2}.trip-length-slider .trip-range::-webkit-slider-runnable-track{background:transparent;height:22px}.trip-length-slider .trip-range::-moz-range-track{background:transparent;height:22px}.trip-length-slider .trip-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;pointer-events:auto;width:22px;height:22px;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 3px #0000002e;border-radius:50%;cursor:grab;position:relative;z-index:3;transition:transform .1s,box-shadow .1s}.trip-length-slider .trip-range::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.1);box-shadow:0 2px 6px #3b82f666}.trip-length-slider .trip-range::-moz-range-thumb{pointer-events:auto;width:22px;height:22px;background:#fff;border:2px solid #3b82f6;box-shadow:0 1px 3px #0000002e;border-radius:50%;cursor:grab;transition:transform .1s,box-shadow .1s}.trip-length-slider .trip-range::-moz-range-thumb:active{cursor:grabbing;transform:scale(1.1);box-shadow:0 2px 6px #3b82f666}button[type=submit]{padding:.5rem 1.5rem;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;white-space:nowrap;height:38px}button[type=submit]:hover{background:#2563eb}button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.no-results{text-align:center;color:#666;padding:2rem 1rem}.no-results p{font-size:1.1rem;margin-bottom:.75rem}.hints{list-style:none;padding:0}.hints li{background:#fffbeb;color:#92400e;border:1px solid #fde68a;border-radius:8px;padding:.6rem 1rem;margin-bottom:.5rem;font-size:.9rem;text-align:left;max-width:600px;margin-left:auto;margin-right:auto}.price-overview{background:#fff;border:1px solid #dbe3ee;border-left:3px solid #3b82f6;border-radius:10px;padding:.85rem 1.25rem;margin-bottom:1.5rem;box-shadow:0 1px 2px #0f172a0a}.price-overview-title{font-size:.75rem;font-weight:700;color:#475569;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.price-overview-items{display:flex;gap:1.5rem;margin-bottom:.6rem}.price-overview-item{display:flex;flex-direction:column}.price-overview-label{font-size:.75rem;color:#888}.price-overview-value{font-size:1rem;font-weight:600;color:#555}.price-overview-total .price-overview-value{color:#1a1a1a}.price-overview-cta{font-size:.85rem;color:#555;font-style:italic}.duration-group{margin-bottom:2rem}.duration-group.collapsed{margin-bottom:.5rem}.duration-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;background:transparent;border:none;border-bottom:1px solid #e5e7eb;padding:0 0 .4rem;margin-bottom:.75rem;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s}.duration-group.collapsed .duration-group-header{margin-bottom:0}.duration-group-header:hover,.duration-group-header:focus-visible{border-bottom-color:#3b82f6;outline:none}.duration-group-header h2{font-size:1.15rem;font-weight:600;color:#333;margin:0;border:none;padding:0;display:inline-flex;align-items:baseline;gap:.5rem}.duration-group-count{font-size:.78rem;font-weight:500;color:#9ca3af;letter-spacing:.02em}.duration-group-meta{display:inline-flex;align-items:baseline;gap:.5rem;flex-shrink:0}.duration-group-price{display:inline-flex;align-items:baseline;gap:.25rem}.duration-group-price-prefix{font-size:.7rem;font-weight:500;color:#6b7280;text-transform:lowercase}.duration-group-price-amount{font-size:1.05rem;font-weight:700;color:#16a34a}.duration-group-chevron{font-size:.72rem;color:#3b82f6}.country-group{margin-bottom:2.25rem}.country-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;padding:0 0 .35rem;margin-bottom:1rem;border-bottom:2px solid #d1d5db}.country-group-title{font-size:1.35rem;font-weight:700;color:#1f2937;margin:0;padding:0;border:none;display:inline-flex;align-items:baseline;gap:.6rem}.country-group-count{font-size:.78rem;font-weight:500;color:#9ca3af;letter-spacing:.02em}.country-group-meta{display:inline-flex;align-items:baseline;gap:.35rem;flex-shrink:0;color:#16a34a}.country-group-price-prefix{font-size:.7rem;font-weight:500;color:#6b7280;text-transform:lowercase}.country-group-price-amount{font-size:1.05rem;font-weight:700;color:#16a34a}.country-group-cities{display:flex;flex-direction:column;gap:1.1rem;padding-left:.6rem;border-left:2px solid #e5e7eb}.city-group.nested{margin-bottom:0}.city-group.nested .city-group-header h2{font-size:1rem;font-weight:600;color:#374151}.city-group{margin-bottom:2rem}.city-group.collapsed{margin-bottom:.5rem}.city-group-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;width:100%;background:transparent;border:none;border-bottom:1px solid #e5e7eb;padding:0 0 .4rem;margin-bottom:.75rem;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s}.city-group.collapsed .city-group-header{margin-bottom:0}.city-group-header:hover,.city-group-header:focus-visible{border-bottom-color:#3b82f6;outline:none}.city-group-header h2{font-size:1.15rem;font-weight:600;color:#333;margin:0;border:none;padding:0;display:inline-flex;align-items:baseline;gap:.5rem}.city-group-count{font-size:.78rem;font-weight:500;color:#9ca3af;letter-spacing:.02em}.city-group-airports{font-size:.72rem;font-weight:500;color:#9ca3af;letter-spacing:.02em}.city-group-meta{display:inline-flex;align-items:baseline;gap:.5rem;flex-shrink:0}.city-group-price{display:inline-flex;align-items:baseline;gap:.25rem}.city-group-price-prefix{font-size:.7rem;font-weight:500;color:#6b7280;text-transform:lowercase}.city-group-price-amount{font-size:1.05rem;font-weight:700;color:#16a34a}.city-group-chevron{font-size:.72rem;color:#3b82f6}.trips-list{display:flex;flex-direction:column;gap:.75rem}.trip-card{background:#fff;border-radius:12px;padding:.9rem 1.1rem;box-shadow:0 1px 3px #00000014;animation:trip-card-enter .28s ease-out;will-change:transform}@keyframes trip-card-enter{0%{opacity:0}to{opacity:1}}.trip-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;margin-bottom:.5rem}.trip-header-left{display:flex;flex-direction:column;gap:.1rem;min-width:0}.trip-header-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.trip-dates{font-size:.9rem;font-weight:600;color:#1a1a1a;line-height:1.2}.trip-destination{margin-left:.5rem;font-size:.85rem;font-weight:500;color:#2563eb}.trip-from{font-size:.72rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-weight:500}.trip-total{display:inline-flex;align-items:baseline;gap:.25rem;color:#16a34a}.trip-total-prefix,.trip-total-suffix{font-size:.7rem;font-weight:500;color:#6b7280;text-transform:lowercase;letter-spacing:0}.trip-total-amount{font-size:1.15rem;font-weight:700;color:#16a34a;line-height:1.1}.trip-total--flash .trip-total-amount,.duration-group-price--flash .duration-group-price-amount,.city-group-price--flash .city-group-price-amount,.flight-price--flash .flight-price-amount{animation:price-flash .9s ease-out}@keyframes price-flash{0%{color:#f59e0b}60%{color:#f59e0b}to{color:inherit}}.trip-flights{display:flex;flex-direction:column;gap:.5rem}.flight-row{display:grid;grid-template-columns:28px 1fr auto auto;align-items:center;gap:.6rem;padding:.6rem .75rem;background:#f9fafb;border-radius:8px}.flight-label{font-weight:700;font-size:.68rem;text-transform:uppercase;color:#9ca3af;letter-spacing:.04em}.flight-ep-date{font-size:.7rem;color:#9ca3af;margin-top:1px}.flight-body{display:flex;align-items:center;gap:.5rem}.flight-endpoint{display:flex;flex-direction:column;align-items:center;min-width:44px}.flight-time{font-size:1.1rem;font-weight:700;color:#1a1a1a;line-height:1.2}.flight-code{font-size:.75rem;color:#888;font-weight:500}.flight-center{display:flex;flex-direction:column;align-items:center;flex:1;min-width:100px}.flight-duration{font-size:.75rem;color:#555;font-weight:500;margin-bottom:2px}.flight-line{display:flex;align-items:center;width:100%;gap:4px}.flight-line .line{flex:1;height:1px;background:#ccc}.flight-airline-badge{display:flex;align-items:center;gap:4px;flex-shrink:0}.airline-logo{width:24px;height:24px;border-radius:3px;object-fit:contain;flex-shrink:0;background:#fff}.flight-airline-name{font-size:.7rem;color:#555;font-weight:500;white-space:nowrap}.flight-stops{font-size:.72rem;color:#777;margin-top:1px}.flight-right{display:flex;flex-direction:column;align-items:flex-end;min-width:60px}.flight-price{display:inline-flex;align-items:baseline;gap:.25rem;white-space:nowrap}.flight-price-prefix{font-size:.7rem;font-weight:500;color:#6b7280}.flight-price-amount{font-size:1rem;font-weight:700;color:#1a1a1a}.flight-book{font-size:.8rem;color:#fff;background:#16a34a;text-decoration:none;padding:.35rem .75rem;border-radius:6px;font-weight:500;white-space:nowrap}.flight-book:hover{background:#15803d}.flight-book--hidden{background:transparent;pointer-events:none}.trip-book-row{display:flex;justify-content:flex-end;margin-top:.6rem}.trip-book{font-size:.9rem;font-weight:600;color:#fff;background:#16a34a;text-decoration:none;padding:.55rem 1.1rem;border-radius:8px;white-space:nowrap;transition:background .15s}.trip-book:hover{background:#15803d}.app-footer{margin-top:2rem;padding-top:1rem;text-align:center;font-size:.75rem;color:#999;border-top:1px solid #eee}@media(max-width:700px){.app{padding:1rem .75rem}header{margin-bottom:1rem}header h1{font-size:1.6rem}.currency-picker{top:.6rem;right:.6rem}.currency-picker-label{display:none}.search-form{padding:1rem;border-radius:10px}.form-section{margin-bottom:.75rem}.form-row{gap:.5rem;margin-bottom:.5rem}.form-row label{min-width:0;flex-basis:calc(50% - .25rem)}.form-row input[type=date]{font-size:.95rem;padding:.45rem .5rem;min-width:0;width:100%}.form-connector{display:none}.coverage-note{padding:.6rem .75rem}.coverage-row{gap:.4rem}.coverage-label{min-width:0;flex-basis:100%;margin-bottom:.1rem}.time-filter-row{flex-direction:column;align-items:stretch;gap:.35rem;margin-bottom:.4rem}.time-filter-label{min-width:0}.time-chip,.day-chip{padding:.4rem .7rem;font-size:.82rem}.trip-length-slider{height:44px;margin-top:.5rem}.trip-length-slider:after,.trip-length-slider:before{left:14px;right:14px}.trip-length-slider:after{left:calc(14px + (100% - 28px) * var(--min-pct, 0%) / 100);width:calc((100% - 28px) * (var(--max-pct, 100%) - var(--min-pct, 0%)) / 100);right:auto}.trip-length-slider .trip-range::-webkit-slider-thumb{width:28px;height:28px}.trip-length-slider .trip-range::-moz-range-thumb{width:28px;height:28px}.form-submit-row{justify-content:stretch}.form-submit-row button[type=submit]{width:100%;height:44px;font-size:1.05rem}.flight-row{grid-template-columns:28px 1fr auto;grid-template-areas:"label body price" "book  book  book";gap:.4rem .4rem}.flight-label{grid-area:label}.flight-body{grid-area:body}.flight-right{grid-area:price}.flight-book{grid-area:book;justify-self:stretch;text-align:center;margin-top:.4rem;padding:.55rem .75rem;font-size:.9rem}.flight-ep-date{display:none}.trip-card{padding:.85rem .9rem}.trip-header-right{flex-direction:column;align-items:flex-end;gap:.25rem}.trip-total{font-size:1.05rem}.trip-dates{font-size:.9rem}.duration-group-header h2,.duration-group-price-amount{font-size:1rem}.price-overview{padding:.7rem .9rem}.price-overview-items{gap:1rem;flex-wrap:wrap}}
