.travel-combined-choice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.travel-combined-choice { display: grid; grid-template-columns: 36px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 78px; border: 1px solid var(--line, #d8e0e9); border-radius: 9px; padding: 14px 16px; background: #fff; color: var(--text, #1d2838); text-align: left; cursor: pointer; }
.travel-combined-choice:hover, .travel-combined-choice:focus-visible { border-color: var(--accent, #1768e8); background: #f1f7ff; outline: none; }
.travel-combined-choice.active { border-color: var(--accent, #1768e8); background: var(--accent, #1768e8); color: #fff; }
.travel-combined-choice strong, .travel-combined-choice small { display: block; }
.travel-combined-choice small { margin-top: 4px; font-size: 12px; opacity: .82; }
.travel-combined-choice-note { min-height: 20px; color: var(--muted, #607086); font-size: 13px; }
.travel-combined-icon { position: relative; display: block; width: 34px; height: 34px; color: var(--accent, #1768e8); }
.travel-combined-choice.active .travel-combined-icon, .generator-option.active .travel-combined-icon { color: #fff; }
.travel-combined-icon svg:first-child { position: absolute; width: 26px; height: 26px; left: 0; bottom: 0; }
.travel-combined-icon svg:last-child { position: absolute; width: 21px; height: 21px; right: -2px; top: -2px; padding: 2px; border-radius: 50%; background: #fff; color: var(--accent, #1768e8); }
.travel-combined-choice.active .travel-combined-icon svg:last-child, .generator-option.active .travel-combined-icon svg:last-child { background: var(--accent, #1768e8); color: #fff; }

.travel-combined-shell { display: grid; gap: 14px; margin: 18px 0 36px; scroll-margin-top: 16px; }
.travel-combined-shell.hidden, .travel-combined-step.hidden, .travel-combined-traveler-popup.hidden, .travel-combined-complex.hidden, .travel-combined-party-confirm.hidden { display: none; }
.travel-combined-step-shell, .travel-combined-step { min-width: 0; border: 1px solid var(--line, #d8e0e9); border-radius: 10px; padding: 20px 22px; background: #fff; }

.travel-combined-step-shell { position: sticky; top: 8px; z-index: 8; box-shadow: 0 5px 16px rgb(30 58 88 / 7%); }
.travel-combined-step-shell > strong { display: block; }
.travel-combined-step-track { display: grid; grid-template-columns: repeat(var(--travel-step-count, 5), minmax(0, 1fr)); gap: 8px; list-style: none; margin: 12px 0 0; padding: 0; }
.travel-combined-step-track > li { display: flex; min-width: 0; }
.travel-combined-step-track button { display: flex; align-items: center; gap: 8px; box-sizing: border-box; width: 100%; height: 100%; min-height: 58px; border: 1px solid #d9e0ec; border-radius: 6px; padding: 7px 10px; background: #fff; color: #344258; text-align: left; cursor: pointer; }
.travel-combined-step-track button.active { border-color: #1768e8; background: #ecf3ff; color: #124ba5; }
.travel-combined-step-track button.status-complete { border-color: var(--brand-emerald-line); background: var(--brand-emerald-soft); }
.travel-combined-step-track button:disabled { cursor: not-allowed; opacity: .62; }
.travel-combined-step-track button:focus-visible { outline: 2px solid var(--accent, #1768e8); outline-offset: 2px; }
.travel-combined-step-track button > span { display: grid; flex: 0 0 24px; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: #e8edf4; font-weight: 700; }
.travel-combined-step-track button.active > span { background: #1768e8; color: #fff; }
.travel-combined-step-track button.status-complete > span { background: var(--brand-emerald-strong); color: #fff; }
.travel-combined-step-track small { min-width: 0; font-size: 13px; font-weight: 600; line-height: 1.2; overflow-wrap: break-word; }
.travel-combined-step-short { display: none; }

.travel-combined-step { display: grid; gap: 18px; }
.travel-combined-step .section-head { margin-bottom: 0; }
.travel-combined-step h3 { margin: 0 0 5px; }
.travel-combined-step h3:focus { outline: none; }
.travel-combined-step h4 { margin: 0 0 10px; }
.travel-combined-step .section-head p { margin: 0; color: var(--muted, #607086); }
.travel-combined-search-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.25fr); gap: 0; }
.travel-combined-search-grid > label { gap: 0; }
.travel-combined-search-grid > label > input, .travel-combined-search-grid .travel-combined-traveler-toggle { min-height: 58px; border-radius: 0; }
.travel-combined-search-grid > label:first-child > input { border-radius: 8px 0 0 8px; }
.travel-combined-search-grid > label:not(:first-child) > input, .travel-combined-search-grid .travel-combined-traveler-toggle { border-left: 0; }
.travel-combined-search-grid .travel-combined-traveler-toggle { border-radius: 0 8px 8px 0; }
.travel-combined-search-grid > label { display: block; color: transparent; font-size: 0; line-height: 0; }
.travel-combined-search-grid > label > input, .travel-combined-date-field > input { height: 58px; border-radius: 0; padding: 12px 14px; font-size: 15px; font-weight: 800; line-height: 1.2; }
.travel-combined-search-grid input::placeholder { color: #687486; }
.travel-combined-date-field { position: relative; min-width: 0; }
.travel-combined-date-field > input { width: 100%; border-left: 0; }
.travel-combined-date-field[data-travel-date-field="entry"] > input { padding-right: 42px; }
.travel-combined-date-field.active > input { border-color: #1768e8; box-shadow: inset 0 0 0 1px #1768e8; }
.travel-combined-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.travel-combined-date-help { position: absolute; right: 12px; top: 17px; z-index: 2; display: grid; width: 23px; height: 23px; place-items: center; border: 1px solid #9db3d2; border-radius: 50%; color: #1768e8; background: #fff; font-size: 13px; line-height: 1; cursor: help; }
.travel-combined-date-help:focus-visible { outline: 2px solid #1768e8; outline-offset: 2px; }
.travel-combined-tooltip { position: absolute; z-index: 32; top: calc(100% + 11px); left: 50%; display: none; width: min(300px, 80vw); border: 1px solid #ccd9e9; border-radius: 8px; padding: 10px 12px; color: #25344b; background: #fff; box-shadow: 0 14px 28px rgb(24 48 77 / 18%); font-size: 12px; font-weight: 500; line-height: 1.45; text-align: left; transform: translateX(-50%); }
.travel-combined-date-help:hover .travel-combined-tooltip, .travel-combined-date-help:focus-visible .travel-combined-tooltip { display: block; }
.travel-combined-calendar { position: absolute; z-index: 35; top: calc(100% + 8px); left: 0; width: min(680px, calc(100vw - 32px)); border: 1px solid #d8e0e9; border-radius: 8px; background: #fff; box-shadow: 0 18px 48px rgb(16 24 39 / 18%); color: #1d2838; font-size: 15px; line-height: 1.2; }
.travel-combined-calendar.hidden { display: none; }
.travel-combined-calendar-panels { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.travel-combined-calendar-panel { min-width: 0; padding-bottom: 12px; }
.travel-combined-calendar-panel + .travel-combined-calendar-panel { border-left: 1px solid #e0e7f0; }
.travel-combined-calendar-panel > p { margin: 12px 12px 0; color: #607086; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.travel-combined-calendar-head { display: grid; grid-template-columns: 44px 1fr 44px; align-items: center; padding: 14px 12px 8px; text-align: center; }
.travel-combined-calendar-head strong { font-size: 20px; }
.travel-combined-calendar-head button, .travel-combined-calendar-day { border: 0; background: transparent; color: inherit; font: inherit; font-weight: 800; cursor: pointer; }
.travel-combined-calendar-head button { font-size: 22px; }
.travel-combined-calendar-weekdays, .travel-combined-calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); padding: 0 12px; text-align: center; }
.travel-combined-calendar-weekdays { gap: 2px; padding-top: 8px; padding-bottom: 6px; font-weight: 900; }
.travel-combined-calendar-grid { gap: 4px; }
.travel-combined-calendar-day { height: 34px; border-radius: 6px; color: #222831; font-size: 18px; }
.travel-combined-calendar-day:hover:not(:disabled), .travel-combined-calendar-day:focus-visible { background: #eef4ff; outline: none; }
.travel-combined-calendar-day.muted { color: #607086; }
.travel-combined-calendar-day.disabled { color: #cfd3d8; cursor: not-allowed; }
.travel-combined-calendar-day.range-start, .travel-combined-calendar-day.range-end { border-radius: 0; background: #1768e8; color: #fff; }
.travel-combined-calendar-day.range-start { border-radius: 6px 0 0 6px; }
.travel-combined-calendar-day.range-end { border-radius: 0 6px 6px 0; }
.travel-combined-calendar-day.range-preview { border-radius: 0; background: #e7edff; color: #1d2838; }
.travel-combined-place { position: relative; }
.travel-combined-suggestions { position: absolute; z-index: 30; top: calc(100% + 7px); left: 0; display: block; width: min(390px, 90vw); max-height: 340px; overflow: auto; border: 1px solid #d8e0e9; border-radius: 10px; background: #fff; box-shadow: 0 18px 40px rgb(24 48 77 / 20%); color: #1d2838; font-size: 14px; line-height: 1.4; }
.travel-combined-suggestions.hidden { display: none; }
.travel-combined-suggestion-group { display: block; border-bottom: 1px solid #e3e8ef; padding: 8px 0; }
.travel-combined-suggestion-group > strong { display: block; padding: 4px 12px 8px; font-size: 13px; }
.travel-combined-suggestion-group button { display: flex; width: 100%; align-items: center; gap: 10px; border: 0; padding: 8px 12px; background: #fff; color: #1d2838; text-align: left; cursor: pointer; }
.travel-combined-suggestion-group button:hover, .travel-combined-suggestion-group button:focus-visible { background: #edf4ff; outline: none; }
.travel-combined-suggestion-group button svg { width: 20px; height: 20px; color: #1768e8; }
.travel-combined-suggestion-group button strong, .travel-combined-suggestion-group button small { display: block; }
.travel-combined-suggestion-group button small { color: #687486; }
.travel-combined-swap { min-width: 0; border: 1px solid var(--line, #d8e0e9); border-left: 0; padding: 0; background: #fff; color: var(--accent, #1768e8); font: inherit; font-size: 23px; cursor: pointer; }
.travel-combined-swap:focus-visible { outline: 2px solid var(--accent, #1768e8); outline-offset: 1px; }
.travel-combined-search-grid label, .travel-combined-traveler-grid label, .travel-combined-tools label, .travel-combined-person label { display: grid; min-width: 0; gap: 6px; font-size: 13px; font-weight: 700; }
.travel-combined-search-grid > label { display: block; font-size: 0; line-height: 0; }
.travel-combined-search-grid input, .travel-combined-traveler-grid input, .travel-combined-traveler-grid select, .travel-combined-tools input, .travel-combined-tools select, .travel-combined-person input, .travel-combined-person select { width: 100%; min-width: 0; min-height: 43px; border: 1px solid var(--line, #d8e0e9); border-radius: 7px; padding: 9px 11px; background: #fff; color: var(--text, #1d2838); font: inherit; }
.travel-combined-search-grid input:focus-visible, .travel-combined-traveler-grid input:focus-visible, .travel-combined-traveler-grid select:focus-visible, .travel-combined-tools input:focus-visible, .travel-combined-tools select:focus-visible, .travel-combined-person input:focus-visible, .travel-combined-person select:focus-visible { outline: 2px solid var(--accent, #1768e8); outline-offset: 1px; }
.travel-combined-traveler-wrap { position: static; min-width: 0; }
.travel-combined-traveler-toggle { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; min-height: 56px; border: 1px solid var(--line, #d8e0e9); border-radius: 8px; padding: 10px 15px; background: #fff; text-align: left; cursor: pointer; }
.travel-combined-traveler-toggle:hover, .travel-combined-traveler-toggle:focus-visible { border-color: var(--accent, #1768e8); outline: none; }
.travel-combined-traveler-toggle small { display: block; margin-top: 3px; color: var(--muted, #607086); }
.travel-combined-traveler-popup { position: absolute; top: calc(100% + 7px); left: 0; right: 0; z-index: 20; border: 1px solid var(--line, #d8e0e9); border-radius: 10px; padding: 0; background: #fff; box-shadow: 0 18px 40px rgb(15 35 60 / 18%); }
.travel-combined-picker-columns { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .78fr) minmax(0, 1.22fr); }
.travel-combined-picker-columns > section, .travel-combined-picker-columns > fieldset { min-width: 0; margin: 0; border: 0; border-right: 1px solid #e0e7f0; padding: 18px; }
.travel-combined-picker-columns > :last-child { border-right: 0; }
.travel-combined-picker-columns h4, .travel-combined-picker-columns legend { margin: 0 0 12px; padding: 0; color: #1d2838; font-size: 15px; font-weight: 800; }
.travel-combined-counter { display: grid; grid-template-columns: minmax(0, 1fr) 31px 34px 31px; align-items: center; gap: 4px; border-top: 1px solid #e0e7f0; padding: 14px 0; }
.travel-combined-counter strong, .travel-combined-counter small { display: block; }
.travel-combined-counter strong { font-size: 14px; }
.travel-combined-counter small { color: #687486; font-size: 11px; }
.travel-combined-counter button { width: 31px; height: 31px; border: 0; border-radius: 50%; background: #1768e8; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; }
.travel-combined-counter button:first-of-type { background: #f0f3f7; color: #607086; }
.travel-combined-counter input { min-width: 0; min-height: 31px; border: 0; padding: 0; text-align: center; font-weight: 800; appearance: textfield; }
.travel-combined-counter input::-webkit-inner-spin-button, .travel-combined-counter input::-webkit-outer-spin-button { appearance: none; }
.travel-combined-class-picker label { display: flex !important; flex-direction: row; align-items: center; justify-content: space-between; border-bottom: 1px solid #e0e7f0; padding: 10px 0; font-size: 14px; cursor: pointer; }
.travel-combined-class-picker input { width: 18px; height: 18px; accent-color: #1768e8; }
.travel-combined-type-picker > small { display: block; margin-top: 10px; color: #687486; font-size: 11px; line-height: 1.4; }
.travel-combined-picker-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #e0e7f0; padding: 12px 18px; }
.travel-combined-picker-footer small { color: #687486; font-size: 11px; }
.travel-combined-traveler-popup p { margin: 12px 0; color: var(--muted, #607086); font-size: 13px; }
.travel-combined-type-picker { grid-column: 1 / -1; min-width: 0; margin: 0; border: 0; padding: 0; }
.travel-combined-picker-columns > .travel-combined-type-picker { grid-column: auto; }
.travel-combined-type-picker legend, .travel-combined-filter-panel legend { margin-bottom: 9px; font-size: 13px; font-weight: 700; }
.travel-combined-type-picker > div, .travel-combined-filter-types { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.travel-combined-picker-columns > .travel-combined-type-picker > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.travel-combined-type-choice { display: block; position: relative; cursor: pointer; }
.travel-combined-type-choice input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.travel-combined-type-choice span { display: flex; align-items: center; gap: 8px; min-height: 43px; border: 1px solid #d8e0e9; border-radius: 7px; padding: 8px 10px; color: #25344b; background: #fff; font-size: 13px; font-weight: 700; }
.travel-combined-type-choice svg { flex: 0 0 18px; width: 18px; height: 18px; color: #1768e8; }
.travel-combined-type-choice input:checked + span { border-color: #1768e8; color: #1555ba; background: #eaf3ff; }
.travel-combined-type-choice input:focus-visible + span { outline: 2px solid #1768e8; outline-offset: 2px; }
.travel-combined-search-actions, .travel-combined-offer-foot, .travel-combined-final-actions, .travel-combined-party-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.travel-combined-search-options { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.travel-combined-search-actions { justify-content: flex-end; margin-top: 16px; }
.travel-combined-message { margin: 10px 0 0; color: #39556e; }
.travel-combined-message:empty { display: none; }
.travel-combined-date-note { margin: 12px 0 0; color: var(--muted, #607086); font-size: 13px; }
.travel-combined-message.error { color: #a72f2a; }
.travel-combined-complex, .travel-combined-party-confirm { margin-top: 12px; border: 1px solid #b4c8e0; border-radius: 7px; padding: 12px 14px; background: #f3f8ff; color: #284c70; }
.travel-combined-complex p, .travel-combined-party-confirm p { margin: 8px 0 12px; }
.travel-combined-auto-wrap { margin-top: 16px; border: 1px solid #d8e0e9; border-radius: 9px; padding: 16px; }
.travel-combined-auto-toggle { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.travel-combined-auto-toggle input, .travel-combined-check-row input { width: 18px; height: 18px; accent-color: #1768e8; }
.travel-combined-auto-toggle small { display: block; margin-top: 5px; color: #607086; }
.travel-combined-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 20px; border-top: 1px solid #d8e0e9; padding-top: 18px; }
.travel-combined-quick.hidden { display: none; }
.travel-combined-quick section { display: grid; align-content: start; gap: 12px; min-width: 0; }
.travel-combined-quick label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; }
.travel-combined-quick input:not([type="checkbox"]), .travel-combined-quick select { box-sizing: border-box; min-width: 0; width: 100%; min-height: 43px; border: 1px solid #d8e0e9; border-radius: 6px; padding: 10px; background: #fff; color: #25344b; font: inherit; }
.travel-combined-quick small { color: #607086; font-size: 12px; font-weight: 400; }
.travel-combined-quick .travel-combined-check-row { display: flex; align-items: center; gap: 8px; }
.travel-combined-route-editor, .travel-combined-route-rows { display: grid; gap: 8px; min-width: 0; }
.travel-combined-route-editor.hidden, .travel-combined-search-grid.hidden { display: none; }
.travel-combined-route-row { position: relative; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(0, .7fr) 42px; align-items: center; }
.travel-combined-route-row:focus-within { z-index: 40; }
.travel-combined-route-row > .travel-combined-place { display: block; min-width: 0; color: transparent; font-size: 0; line-height: 0; }
.travel-combined-route-row > .travel-combined-place > input { box-sizing: border-box; width: 100%; height: 58px; border-radius: 0; padding: 12px 14px; color: #25344b; font-size: 15px; font-weight: 800; line-height: 1.2; }
.travel-combined-route-row > .travel-combined-place:nth-child(2) > input { border-left: 0; }
.travel-combined-route-row > .travel-combined-place > input::placeholder, .travel-combined-route-row .travel-combined-date-field > input::placeholder { color: #687486; }
.travel-combined-route-row .travel-combined-date-field > input { box-sizing: border-box; padding-right: 42px; }
.travel-combined-route-row .travel-combined-tooltip { right: -12px; left: auto; max-width: calc(100vw - 48px); transform: none; }
.travel-combined-route-row .travel-combined-date-help:focus .travel-combined-tooltip { display: block; }
.travel-combined-remove-leg { box-sizing: border-box; width: 42px; height: 58px; border: 1px solid #d8e0e9; border-left: 0; border-radius: 0; background: #fff; color: #1768e8; font-size: 30px; cursor: pointer; }
.travel-combined-remove-leg:disabled { background: #f8fafc; color: #a2adbd; cursor: not-allowed; }
.travel-combined-route-row:first-child > .travel-combined-place:first-child > input { border-radius: 8px 0 0 0; }
.travel-combined-route-row:first-child .travel-combined-remove-leg { border-radius: 0 8px 0 0; }
.travel-combined-route-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.travel-combined-route-actions > div, .travel-combined-route-actions .travel-combined-traveler-wrap { min-width: 0; width: 100%; }
.travel-combined-add-leg { min-width: 0; min-height: 58px; border: 1px solid #d8e0e9; border-radius: 0 0 0 8px; background: #fff; color: #1768e8; font-size: 16px; font-weight: 800; cursor: pointer; }
.travel-combined-add-leg:disabled { color: #8190a4; cursor: not-allowed; }
.travel-combined-route-actions .travel-combined-traveler-toggle { min-height: 58px; border-left: 0; border-radius: 0 0 8px 0; }
.travel-combined-add-leg:focus-visible, .travel-combined-remove-leg:focus-visible { position: relative; z-index: 1; outline: 2px solid #1768e8; outline-offset: 2px; }
@media (max-width: 620px) {
  .travel-combined-route-actions { grid-template-columns: minmax(0, 1fr); }
  .travel-combined-add-leg { border-radius: 0; }
  .travel-combined-route-actions .travel-combined-traveler-toggle { border-top: 0; border-left: 1px solid #d8e0e9; border-radius: 0 0 8px 8px; }
}
.travel-combined-band-title { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.travel-combined-bottom-bar { gap: 12px; flex-wrap: wrap; }
.travel-combined-selection-reason { border-left: 3px solid #1768e8; padding: 10px 14px; background: #edf4ff; color: #284c70; }
.travel-combined-complex-line { display: flex; flex-wrap: wrap; gap: 8px; }
.travel-combined-complex-line span { border: 1px solid #c4d4e7; border-radius: 999px; padding: 5px 9px; background: #fff; font-size: 12px; }

.travel-combined-tools { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.travel-combined-route-head { border: 1px solid #d8e0e9; border-radius: 10px; padding: 16px 18px; background: #fff; }
.travel-combined-route-head h3 { font-size: clamp(22px, 2.3vw, 30px); }
.travel-combined-route-head p { margin: 4px 0 0; color: #607086; font-size: 14px; font-weight: 600; }
.travel-combined-results-column { display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 10px; min-width: 0; }
.travel-combined-results-head { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.travel-combined-results-head label, .travel-combined-filter-panel label { display: grid; gap: 5px; font-size: 13px; font-weight: 700; }
.travel-combined-results-head select, .travel-combined-filter-panel input { min-height: 40px; border: 1px solid #d8e0e9; border-radius: 6px; padding: 8px; font: inherit; }
.travel-combined-results-layout { display: grid; grid-template-columns: minmax(220px, 27%) minmax(0, 1fr); gap: 14px; align-items: start; }
.travel-combined-filter-panel { min-width: 0; border: 1px solid #d8e0e9; border-radius: 9px; padding: 16px; }
.travel-combined-filter-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.travel-combined-filter-head strong { font-size: 18px; }
.travel-combined-filter-head button { border: 0; padding: 0; background: transparent; color: #1768e8; font: inherit; font-size: 13px; font-weight: 700; text-decoration: underline; cursor: pointer; }
.travel-combined-filter-panel fieldset { min-width: 0; margin: 16px 0 0; border: 0; padding: 0; }
.travel-combined-filter-panel details { border-top: 1px solid #d8e0e9; padding: 11px 0; }
.travel-combined-filter-panel summary { cursor: pointer; color: #25344b; font-weight: 700; }
.travel-combined-filter-panel details > :not(summary) { margin-top: 10px; }
.travel-combined-filter-radio { display: flex !important; align-items: center; gap: 8px; min-height: 32px; cursor: pointer; }
.travel-combined-filter-radio input { width: 16px; min-height: 16px; accent-color: #1768e8; }
.travel-combined-price-range { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.travel-combined-filter-types { grid-template-columns: 1fr; }
.travel-combined-bottom-bar { display: flex; justify-content: flex-start; border-top: 1px solid #d8e0e9; padding-top: 14px; }
.travel-combined-offers { display: grid; grid-auto-rows: max-content; align-content: start; gap: 12px; }
.travel-combined-offer { border: 1px solid var(--line, #d8e0e9); border-radius: 9px; padding: 16px; background: #fff; }
.travel-combined-offer.selected { border-color: var(--accent, #1768e8); background: #f5f9ff; }
.travel-combined-offer-head { display: flex; justify-content: space-between; gap: 12px; }
.travel-combined-offer-head span { font-weight: 800; white-space: nowrap; }
.travel-combined-offer-head small, .travel-combined-offer-foot small { display: block; color: var(--muted, #607086); font-size: 12px; font-weight: 500; }
.travel-combined-offer-head span small { margin-top: 3px; text-align: right; }
.travel-combined-offer p { margin: 10px 0 0; line-height: 1.5; }
.travel-combined-offer-foot { justify-content: space-between; margin-top: 14px; }
#travelCombinedShell .travel-combined-flight-card { cursor: default; padding-right: 24px; }
#travelCombinedShell[data-travel-flow="manual"] [data-travel-step="2"] .travel-combined-bottom-bar { display: none; }
.travel-combined-flight-price { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.travel-combined-flight-price strong { display: block; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.1; }
.travel-combined-flight-price small { display: block; color: #607086; font-size: 12px; }
.travel-combined-flight-badge { border-radius: 999px; padding: 5px 9px; background: #1768e8; color: #fff; font-size: 11px; font-weight: 800; }
.travel-combined-flight-provider { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.travel-combined-flight-provider span { color: #607086; font-size: 12px; }
.travel-combined-flight-legs { display: grid; gap: 14px; margin-top: 15px; }
.travel-combined-flight-leg { display: grid; grid-template-columns: minmax(92px, 1fr) minmax(90px, 1.3fr) minmax(92px, 1fr); align-items: center; gap: 10px; }
.travel-combined-flight-end strong, .travel-combined-flight-end span, .travel-combined-flight-end small { display: block; overflow-wrap: anywhere; }
.travel-combined-flight-end strong { font-size: 23px; line-height: 1.1; }
.travel-combined-flight-end span { font-weight: 700; }
.travel-combined-flight-end small { color: #607086; font-size: 11px; }
.travel-combined-flight-end-last { text-align: right; }
.travel-combined-flight-line { text-align: center; color: #607086; font-size: 11px; }
.travel-combined-flight-line i { display: block; position: relative; border-top: 2px solid #b4c2d7; margin: 8px 0; }
.travel-combined-flight-line i::before, .travel-combined-flight-line i::after { position: absolute; top: -5px; width: 7px; height: 7px; border: 2px solid #b4c2d7; border-radius: 50%; background: #fff; content: ""; }
.travel-combined-flight-line i::before { left: 0; }.travel-combined-flight-line i::after { right: 0; }
.travel-combined-stay-card { display: grid; grid-template-columns: minmax(120px, 28%) minmax(0, 1fr); gap: 16px; padding: 0; overflow: hidden; }
.travel-combined-stay-photo { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 230px; background: linear-gradient(135deg, #e9f1fb, #f5f8fc); color: #6b7b94; }
.travel-combined-stay-photo svg { width: 42px; height: 42px; color: #1768e8; }
.travel-combined-stay-photo img { width: 100%; height: 100%; min-height: 230px; object-fit: cover; }
.travel-combined-stay-photo small { font-size: 11px; }
.travel-combined-stay-main { min-width: 0; padding: 16px 16px 16px 0; }
.travel-combined-stay-main .travel-combined-offer-head strong { display: block; margin: 4px 0; font-size: 18px; }
.travel-combined-rating { flex: 0 0 auto; align-self: start; border-radius: 6px; padding: 5px 8px; color: #fff; background: #1768e8; }
.travel-combined-stay-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.travel-combined-stay-tags span { border-radius: 5px; padding: 4px 7px; color: #1555ba; background: #edf4ff; font-size: 11px; font-weight: 700; }
.travel-combined-stay-main .travel-combined-offer-foot { align-items: end; }
.travel-combined-stay-main .travel-combined-offer-foot strong { display: block; margin: 3px 0; font-size: 20px; }
.travel-combined-empty { margin: 0; border: 1px dashed var(--line, #d8e0e9); border-radius: 8px; padding: 22px; }
.travel-combined-review-grid { display: grid; grid-template-columns: 1fr; gap: 22px; }
.travel-combined-journey { display: grid; gap: 8px; }
.travel-combined-journey-band { border: 1px solid #d8e0e9; border-radius: 8px; padding: 14px; background: #f5f8fc; line-height: 1.5; }
.travel-combined-journey-band > strong { display: block; margin-bottom: 10px; }
.travel-combined-journey-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(0, 1fr)); gap: 12px; }
.travel-combined-journey-grid > span { min-width: 0; overflow-wrap: anywhere; }
.travel-combined-journey-grid small { display: block; color: #607086; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.travel-combined-journey-grid b { display: block; font-size: 14px; }
.travel-combined-journey-band span { min-width: 0; overflow-wrap: anywhere; }
.travel-combined-people-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
.travel-combined-people-head h4 { margin: 0; }
.travel-combined-review-grid > div { min-width: 0; }
.travel-combined-person { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 12px; margin: 0 0 12px; border: 1px solid var(--line, #d8e0e9); border-radius: 8px; padding: 34px 14px 14px; background: #f5f8fc; }
.travel-combined-person > label, .travel-combined-person > .travel-combined-birth-wrap, .travel-combined-person > .travel-combined-country-wrap { display: grid; grid-template-rows: 32px 43px; align-content: start; gap: 6px; font-size: 13px; font-weight: 700; line-height: 16px; }
.travel-combined-person > label > input, .travel-combined-person > label > select, .travel-combined-birth-wrap > input, .travel-combined-country-wrap > input { box-sizing: border-box; height: 43px; align-self: start; }
.travel-combined-birth-wrap > label, .travel-combined-country-wrap > label { display: block; line-height: 16px; }
.travel-combined-person.birth-open { z-index: 9; }
.travel-combined-person legend { padding: 0 5px; font-weight: 700; }
.travel-combined-birth-wrap { position: relative; display: grid; min-width: 0; gap: 6px; font-size: 13px; font-weight: 700; }
.travel-combined-birth-wrap label { display: block; }
.travel-combined-birth-calendar { position: absolute; z-index: 15; top: calc(100% + 8px); left: 0; width: min(338px, calc(100vw - 32px)); border: 1px solid #d8e0e9; border-radius: 9px; padding-bottom: 12px; background: #fff; box-shadow: 0 18px 48px rgb(16 24 39 / 18%); color: #1d2838; font-size: 15px; line-height: 1.2; }
.travel-combined-birth-calendar.hidden { display: none; }
.travel-combined-birth-calendar > p { margin: 12px 12px 0; color: #607086; font-size: 12px; font-weight: 950; text-transform: uppercase; }
.travel-combined-birth-month-year { display: flex; align-items: center; gap: 5px; min-width: 0; }
.travel-combined-birth-month-year select { min-width: 0; min-height: 36px; padding: 3px 5px; font-size: 13px; font-weight: 700; }
.travel-combined-birth-month-year select:first-child { flex: 1 1 auto; }
.travel-combined-birth-month-year select:last-child { flex: 0 0 72px; }
.travel-combined-birth-calendar .travel-combined-calendar-day.range-start { border-radius: 6px; }
.travel-combined-remove-person { position: absolute; top: 8px; right: 11px; border: 0; padding: 3px 5px; background: none; color: #1768e8; font: inherit; font-size: 12px; font-weight: 700; cursor: pointer; }
.travel-combined-remove-person:disabled { display: none; }
.travel-combined-person input[aria-invalid="true"] { border-color: #ba2929; background: #fff2f2; box-shadow: 0 0 0 1px #ba2929; }
.travel-combined-field-error { display: none; color: #a32020; font-size: 12px; font-weight: 600; }
.travel-combined-person input[aria-invalid="true"] + .travel-combined-field-error { display: block; }
.travel-combined-party-actions { margin-top: 12px; }
.travel-combined-summary { margin: 0 0 22px; }
.travel-combined-summary div { display: grid; grid-template-columns: minmax(120px, 36%) 1fr; gap: 10px; border-bottom: 1px solid var(--line, #d8e0e9); padding: 9px 0; }
.travel-combined-summary dt { color: var(--muted, #607086); }
.travel-combined-summary dd { min-width: 0; margin: 0; font-weight: 700; overflow-wrap: anywhere; }
.travel-combined-template-section > p, .travel-combined-template-section > small { display: block; margin: 0 0 12px; color: var(--muted, #607086); font-size: 13px; }
.travel-combined-template-section > small { margin: 9px 0 0; }
.travel-combined-templates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.travel-combined-template-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 58px; border: 1px solid var(--line, #d8e0e9); border-radius: 8px; padding: 12px 14px; background: #fff; color: #25344b; font: inherit; cursor: pointer; }
.travel-combined-template-card > span { display: flex; align-items: center; gap: 10px; }
.travel-combined-template-card svg { width: 20px; height: 20px; }
.travel-combined-template-card.selected { border-color: #1768e8; background: #eaf3ff; color: #1555ba; }
.travel-combined-template-card:disabled { color: var(--muted, #607086); cursor: not-allowed; opacity: .7; }
.travel-combined-template-card:focus-visible { outline: 2px solid #1768e8; outline-offset: 2px; }
.travel-combined-review-issues { border-radius: 7px; padding: 10px 12px; background: #fff7e9; color: #754d15; }
.travel-combined-final-actions { justify-content: space-between; }
.travel-combined-final-actions button:disabled { opacity: .55; cursor: not-allowed; }
.travel-combined-generation-status.error { color: #a12b37; }
.travel-combined-result-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.travel-combined-pdf-frame { border: 1px solid var(--line, #d8e0e9); border-radius: 8px; overflow: hidden; background: #f3f6fa; }
.travel-combined-pdf-frame figure { margin: 14px; }
.travel-combined-pdf-frame img { display: block; width: 100%; height: auto; background: white; box-shadow: 0 2px 10px #1723331a; }
.travel-combined-pdf-frame figcaption { padding: 8px; text-align: center; color: #607086; font-size: 12px; }
.travel-combined-document-dialog { width: min(1000px, calc(100vw - 24px)); max-height: calc(100vh - 24px); border: 1px solid #d8e0e9; border-radius: 10px; padding: 12px; overflow: auto; }
.travel-combined-document-dialog::backdrop { background: #172333a6; }
.travel-combined-document-dialog > button { position: sticky; top: 0; z-index: 1; margin-bottom: 10px; }
.travel-combined-country-wrap { position: relative; min-width: 0; }
.travel-combined-country-options { position: absolute; left: 0; right: 0; z-index: 20; max-height: 260px; overflow-y: auto; padding: 6px; border: 1px solid #d8e0e9; border-radius: 8px; background: white; box-shadow: 0 12px 28px #17233326; }
.travel-combined-country-options button { display: grid; gap: 3px; width: 100%; text-align: left; padding: 10px; border: 0; border-radius: 5px; background: white; color: #172333; font: inherit; cursor: pointer; }
.travel-combined-country-options button[aria-selected="true"], .travel-combined-country-options button:hover { background: #eaf3ff; color: #1555ba; }
.travel-combined-country-options small { color: #607086; }

@media (max-width: 900px) {
  .travel-combined-quick { grid-template-columns: 1fr; }
  .travel-combined-route-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 42px; row-gap: 0; }
  .travel-combined-route-row > .travel-combined-place:nth-child(2) { grid-column: 2 / 4; }
  .travel-combined-route-row .travel-combined-date-field { grid-column: 1 / 3; }
  .travel-combined-route-row .travel-combined-date-field > input { border-top: 0; border-left: 1px solid #d8e0e9; }
  .travel-combined-route-row .travel-combined-remove-leg { border-top: 0; }
  .travel-combined-search-grid { grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); row-gap: 10px; }
  .travel-combined-date-field[data-travel-date-field="entry"] { grid-column: 1 / 3; }
  .travel-combined-date-field[data-travel-date-field="exit"] { grid-column: 3; }
  .travel-combined-traveler-wrap { grid-column: 1 / -1; }
  .travel-combined-date-field[data-travel-date-field="entry"] > input { border-left: 1px solid var(--line, #d8e0e9); border-radius: 8px 0 0 8px; }
  .travel-combined-date-field[data-travel-date-field="exit"] > input { border-radius: 0 8px 8px 0; }
  .travel-combined-search-grid .travel-combined-traveler-toggle { border-left: 1px solid var(--line, #d8e0e9); }
  .travel-combined-search-grid .travel-combined-traveler-toggle { border-radius: 8px; }
  .travel-combined-picker-columns { grid-template-columns: 1fr 1fr; }
  .travel-combined-picker-columns > .travel-combined-type-picker { grid-column: 1 / -1; border-top: 1px solid #e0e7f0; }
  .travel-combined-journey-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-combined-type-picker > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-combined-step-track { gap: 4px; }
  .travel-combined-step-track button { flex-direction: column; align-items: center; padding: 8px 4px; text-align: center; }
}

@media (max-width: 640px) {
  .travel-combined-choice-grid, .travel-combined-tools, .travel-combined-review-grid, .travel-combined-templates { grid-template-columns: 1fr; }
  .travel-combined-search-grid { grid-template-columns: minmax(0, 1fr) 36px minmax(0, 1fr); }
  .travel-combined-step-shell, .travel-combined-step { padding: 16px; }
  .travel-combined-person { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .travel-combined-traveler-popup { position: static; margin-top: 6px; box-shadow: none; }
  .travel-combined-calendar { width: min(340px, calc(100vw - 32px)); }
  .travel-combined-calendar-panels { grid-template-columns: 1fr; }
  .travel-combined-calendar-panel + .travel-combined-calendar-panel { border-left: 0; border-top: 1px solid #e0e7f0; }
  .travel-combined-picker-columns { grid-template-columns: 1fr; }
  .travel-combined-picker-columns > section, .travel-combined-picker-columns > fieldset { border-right: 0; border-bottom: 1px solid #e0e7f0; }
  .travel-combined-picker-columns > .travel-combined-type-picker { grid-column: 1; }
  .travel-combined-offer-head { flex-direction: column; gap: 5px; }
  .travel-combined-offer-head span { white-space: normal; }
  .travel-combined-results-layout { grid-template-columns: 1fr; }
  .travel-combined-flight-leg { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .travel-combined-flight-line { grid-column: 1 / -1; grid-row: 2; }
  .travel-combined-stay-card { grid-template-columns: 1fr; gap: 0; }
  .travel-combined-stay-photo { min-height: 110px; }
  .travel-combined-stay-main { padding: 14px; }
  .travel-combined-journey-grid { grid-template-columns: 1fr; gap: 7px; }
  .travel-combined-step-track small { font-size: 11px; }
  .travel-combined-step-full { display: none; }
  .travel-combined-step-short { display: inline; }
}

@media (max-width: 390px) {
  .travel-combined-person { grid-template-columns: 1fr; }
  .travel-combined-step-track button > span { flex-basis: 22px; width: 22px; height: 22px; }
}

body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell {
  --accent: var(--brand-emerald-strong);
  --accent-dark: var(--brand-emerald-pressed);
  --blue-soft: var(--brand-emerald-soft);
  --muted: #596579;
  padding: 24px;
  gap: 20px;
  border-color: #e5e7eb;
  border-radius: 12px;
  color: #111827;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  box-shadow: 0 4px 18px rgb(17 24 39 / 5%);
}
body:has(#travelCombinedShell:not(.hidden)) .app-header.intro { --service-nav-accent: var(--brand-emerald-strong); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .section-head { margin: 0; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell h1 { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.4; letter-spacing: -.2px; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell h2 { margin: 0; font-size: 16px; font-weight: 600; line-height: 1.4; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .eyebrow { margin-bottom: 4px; font-size: 11px; font-weight: 600; letter-spacing: .06em; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-documents-section { gap: 12px; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-documents { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-empty:empty { display: none; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option { min-height: 72px; grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding: 14px 16px; border-color: #d1d5db; border-radius: 8px; color: #111827; font: inherit; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option strong { font-size: 15px; font-weight: 600; line-height: 1.4; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option small { margin-top: 3px; color: var(--muted); font-size: 13px; font-weight: 400; line-height: 1.45; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option.active { border-color: var(--accent); background: var(--blue-soft); color: var(--accent-dark); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option:hover:not(:disabled) { border-color: var(--accent); background: var(--brand-emerald-soft); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option.active:hover { background: var(--brand-emerald-soft-hover); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option > svg:first-child { width: 24px; height: 24px; color: var(--accent); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .eyebrow,
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .travel-combined-icon { color: var(--brand-emerald-strong); }
body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option.active .travel-combined-icon { color: var(--accent); }
@media (max-width: 620px) {
  body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell { padding: 16px; gap: 16px; }
  body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-option { padding: 12px; }
}
@media (max-width: 760px) {
  body:has(#travelCombinedShell:not(.hidden)) #generatorCatalogShell .generator-documents { grid-template-columns: 1fr; }
}
#travelCombinedShell {
  --travel-ink: #111827;
  --travel-muted: #596579;
  --travel-line: #d1d5db;
  --travel-soft: #f3f4f6;
  --travel-accent: var(--brand-emerald-strong);
  --travel-accent-soft: var(--brand-emerald-soft);
  --travel-green: var(--brand-emerald-strong);
  --travel-green-soft: var(--brand-emerald-soft);
  --travel-danger: #b91c1c;
  --travel-shadow: 0 12px 36px rgb(17 24 39 / 12%);
  --accent: var(--travel-accent);
  --text: var(--travel-ink);
  --muted: var(--travel-muted);
  --line: var(--travel-line);
  width: 100%; max-width: 1200px; margin: 20px auto 40px; gap: 16px;
  color: var(--travel-ink); font-size: 14px; font-weight: 400; line-height: 1.5;
}
#travelCombinedShell :where(button, input, select, a) { -webkit-tap-highlight-color: transparent; }
#travelCombinedShell.hidden, #travelCombinedShell .hidden { display: none !important; }
#travelCombinedShell :where(button, a, input, select, summary):focus-visible { outline: 2px solid var(--travel-accent); outline-offset: 3px; }
#travelCombinedShell :where(input, select) { color: var(--travel-ink); font-size: 14px; font-weight: 500; accent-color: var(--travel-accent); }
#travelCombinedShell :where(input, select):disabled { background: var(--travel-soft); color: #6b7280; cursor: not-allowed; }
#travelCombinedShell :where(input[readonly]) { background: #f9fafb; color: var(--travel-muted); }
#travelCombinedShell :where(input, select)[aria-invalid="true"] { border-color: var(--travel-danger); background: #fff7f7; box-shadow: none; }
#travelCombinedShell :where(input, select)[aria-invalid="true"]:focus-visible { outline-color: var(--travel-danger); }
#travelCombinedShell :where(input, select)::placeholder { color: #737e8e; opacity: 1; font-weight: 400; }
#travelCombinedShell .button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 10px 16px; border: 1px solid var(--travel-line); border-radius: 8px; font-size: 14px; font-weight: 600; line-height: 1.35; text-align: center; transition: background-color 120ms, border-color 120ms; }
#travelCombinedShell .button.primary { border-color: var(--travel-green); background: var(--travel-green); color: #fff; }
#travelCombinedShell .button.primary:hover:not(:disabled) { border-color: var(--brand-emerald-pressed); background: var(--brand-emerald-pressed); }
#travelCombinedShell .button.primary:active:not(:disabled) { border-color: var(--brand-emerald-active); background: var(--brand-emerald-active); }
#travelCombinedShell .button.ghost { background: #fff; color: var(--travel-accent); }
#travelCombinedShell .button.ghost:hover:not(:disabled) { background: var(--travel-accent-soft); border-color: var(--brand-emerald-line); }
#travelCombinedShell .button:disabled { opacity: 1; border-color: #e5e7eb; background: #e5e7eb; color: #6b7280; cursor: not-allowed; }
#travelCombinedShell .text-action { min-height: 44px; font-size: 14px; font-weight: 600; color: var(--travel-accent); text-underline-offset: 4px; }
#travelCombinedShell :where(h3, h4, strong, b) { font-weight: 600; }
#travelCombinedShell h3 { color: var(--travel-ink); font-size: 24px; line-height: 1.3; letter-spacing: -.3px; margin-bottom: 6px; }
#travelCombinedShell h4 { font-size: 16px; line-height: 1.4; }
#travelCombinedShell .travel-combined-step-shell { top: 8px; z-index: 25; padding: 16px 20px; border-color: #e5e7eb; border-radius: 12px; box-shadow: 0 4px 18px rgb(17 24 39 / 5%); }
#travelCombinedShell .travel-combined-step-shell > strong { color: var(--travel-muted); font-size: 13px; font-weight: 500; }
#travelCombinedShell .travel-combined-step-track { gap: 8px; margin-top: 10px; }
#travelCombinedShell .travel-combined-step-track button { min-height: 58px; padding: 10px; border-color: #e5e7eb; border-radius: 8px; background: #f9fafb; color: var(--travel-muted); }
#travelCombinedShell .travel-combined-step-track button > span { flex: 0 0 28px; width: 28px; height: 28px; background: #e5e7eb; color: #4b5563; font-size: 13px; font-weight: 600; }
#travelCombinedShell .travel-combined-step-track button.active { background: var(--travel-accent-soft); border-color: var(--travel-accent); color: var(--travel-accent); }
#travelCombinedShell .travel-combined-step-track button.active > span { background: var(--travel-accent); color: #fff; }
#travelCombinedShell .travel-combined-step-track button.status-complete { background: var(--travel-green-soft); border-color: var(--brand-emerald-line); color: var(--brand-emerald-pressed); }
#travelCombinedShell .travel-combined-step-track button.status-complete > span { background: var(--travel-green); color: #fff; }
#travelCombinedShell .travel-combined-step-track button:disabled { opacity: 1; color: #687386; cursor: not-allowed; }
#travelCombinedShell .travel-combined-step-track small { font-size: 12px; font-weight: 500; line-height: 1.4; }
#travelCombinedShell .travel-combined-step { padding: 24px; gap: 24px; border-color: #e5e7eb; border-radius: 12px; scroll-margin-top: 136px; }
#travelCombinedShell .travel-combined-step :where(h3[tabindex]) { scroll-margin-top: 136px; }
#travelCombinedShell .section-head p, #travelCombinedShell .travel-combined-route-head p, #travelCombinedShell .travel-combined-help { color: var(--travel-muted); font-size: 14px; font-weight: 400; line-height: 1.6; }
#travelCombinedShell .travel-combined-route-head { border: 0; padding: 0 0 4px; }
#travelCombinedShell .travel-combined-search-grid { grid-template-columns: minmax(0, 1.1fr) 36px minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.35fr); gap: 12px; align-items: start; }
#travelCombinedShell .travel-combined-search-grid > .travel-combined-place, #travelCombinedShell .travel-combined-date-field, #travelCombinedShell .travel-combined-route-row > .travel-combined-place, #travelCombinedShell .travel-combined-traveler-wrap { display: grid; gap: 7px; min-width: 0; color: var(--travel-ink); font-size: 13px; font-weight: 500; line-height: 20px; }
#travelCombinedShell .travel-combined-field-label { display: block; color: var(--travel-ink); font-size: 13px; font-weight: 500; line-height: 20px; }
#travelCombinedShell .travel-combined-search-grid > .travel-combined-place > input, #travelCombinedShell .travel-combined-date-field > input, #travelCombinedShell .travel-combined-traveler-toggle, #travelCombinedShell .travel-combined-route-row > .travel-combined-place > input { width: 100%; height: 48px; min-height: 48px; border: 1px solid var(--travel-line); border-radius: 8px; padding: 11px 12px; font-size: 14px; font-weight: 500; line-height: 1.35; background: #fff; color: var(--travel-ink); }
#travelCombinedShell .travel-combined-search-grid > .travel-combined-place > input:hover, #travelCombinedShell .travel-combined-date-field > input:hover { border-color: #9ca3af; }
#travelCombinedShell .travel-combined-date-field.active > input { border-color: var(--travel-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-emerald-focus) 12%, transparent); }
#travelCombinedShell .travel-combined-date-field[data-travel-date-field="entry"] > input, #travelCombinedShell .travel-combined-route-row .travel-combined-date-field > input { padding-right: 37px; }
#travelCombinedShell .travel-combined-swap { align-self: start; height: 48px; margin-top: 27px; border: 0; border-radius: 8px; font-size: 22px; background: var(--travel-accent-soft); color: var(--travel-accent); }
#travelCombinedShell .travel-combined-traveler-toggle { gap: 7px; text-align: left; }
#travelCombinedShell .travel-combined-traveler-toggle strong { font-size: 13px; font-weight: 500; }
#travelCombinedShell .travel-combined-traveler-toggle svg { flex: 0 0 18px; width: 18px; height: 18px; color: var(--travel-muted); }
#travelCombinedShell .travel-combined-date-help { top: 40px; right: 10px; width: 21px; height: 21px; border-color: #cbd5e1; color: var(--travel-accent); font-size: 12px; }
#travelCombinedShell .travel-combined-input-error { display: block; margin: 0; color: var(--travel-danger); font-size: 12px; font-weight: 400; line-height: 1.45; }
#travelCombinedShell .travel-combined-input-error:empty { display: none; }
#travelCombinedShell .travel-combined-search-options { margin-top: 12px; }
#travelCombinedShell .travel-combined-search-actions { margin-top: 20px; }
#travelCombinedShell .travel-combined-auto-wrap { margin-top: 20px; padding: 20px; border-color: #d9e4f4; border-radius: 10px; background: #fbfdff; }
#travelCombinedShell .travel-combined-auto-toggle { align-items: start; gap: 12px; }
#travelCombinedShell .travel-combined-auto-toggle > input { flex: 0 0 20px; width: 20px; height: 20px; margin: 2px 0 0; }
#travelCombinedShell .travel-combined-auto-toggle strong { font-size: 15px; font-weight: 600; }
#travelCombinedShell .travel-combined-auto-toggle small { margin-top: 4px; color: var(--travel-muted); font-size: 13px; font-weight: 400; }
#travelCombinedShell .travel-combined-quick { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 20px; padding-top: 20px; border-top: 1px solid #e1e8f2; }
#travelCombinedShell .travel-combined-quick h4 { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; font-size: 14px; }
#travelCombinedShell .travel-combined-quick h4 svg { width: 18px; height: 18px; color: var(--travel-accent); }
#travelCombinedShell .travel-combined-quick label { font-size: 13px; font-weight: 500; gap: 7px; }
#travelCombinedShell .travel-combined-quick-hours { display: flex; align-items: center; gap: 8px; min-width: 0; }
#travelCombinedShell .travel-combined-quick-hours input { flex: 1; width: 0; }
#travelCombinedShell .travel-combined-quick-hours > span { flex: 0 0 auto; color: var(--travel-muted); font-size: 13px; }
#travelCombinedShell .travel-combined-quick :where(input:not([type="checkbox"]), select), #travelCombinedShell .travel-combined-person :where(input, select) { height: 44px; min-height: 44px; border-color: var(--travel-line); border-radius: 8px; padding: 10px 12px; font-size: 14px; font-weight: 500; }
#travelCombinedShell .travel-combined-quick small { font-size: 12px; line-height: 1.5; }
#travelCombinedShell .travel-combined-quick .travel-combined-check-row { min-height: 44px; align-items: center; }
#travelCombinedShell .travel-combined-quick .travel-combined-check-row input { flex: 0 0 18px; margin: 0; }
#travelCombinedShell .travel-combined-quick > section { align-content: start; }
#travelCombinedShell .travel-combined-calendar, #travelCombinedShell .travel-combined-birth-calendar, #travelCombinedShell .travel-combined-suggestions, #travelCombinedShell .travel-combined-traveler-popup, #travelCombinedShell .travel-combined-country-options, #travelCombinedShell .travel-combined-tooltip { border-color: #d7dee8; border-radius: 10px; box-shadow: var(--travel-shadow); background: #fff; color: var(--travel-ink); }
#travelCombinedShell .travel-combined-calendar-head { grid-template-columns: 36px minmax(0, 1fr) 36px; }
#travelCombinedShell .travel-combined-calendar-head strong { font-size: 17px; }
#travelCombinedShell .travel-combined-calendar-head button { min-height: 36px; border-radius: 6px; font-weight: 500; }
#travelCombinedShell .travel-combined-calendar-weekdays { font-size: 12px; font-weight: 500; color: var(--travel-muted); }
#travelCombinedShell .travel-combined-calendar-day { height: 36px; font-size: 14px; font-weight: 500; }
#travelCombinedShell .travel-combined-calendar-panel > p, #travelCombinedShell .travel-combined-birth-calendar > p { color: var(--travel-muted); font-size: 11px; font-weight: 600; letter-spacing: .5px; }
#travelCombinedShell .travel-combined-calendar-day.range-start, #travelCombinedShell .travel-combined-calendar-day.range-end { background: var(--travel-accent); color: white; }
#travelCombinedShell .travel-combined-calendar-day.range-preview { background: var(--brand-emerald-soft-hover); }
#travelCombinedShell .travel-combined-calendar-day.disabled { color: #a8b0bc; }
#travelCombinedShell .travel-combined-suggestions { width: min(var(--generator-location-menu-width, 390px), calc(100vw - 32px)); box-sizing: border-box; padding: 4px; }
#travelCombinedShell .travel-combined-location-option { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 48px; padding: 10px 8px; border: 0; border-radius: 6px; background: #fff; color: var(--travel-ink); text-align: left; font: inherit; line-height: 1.4; cursor: pointer; }
#travelCombinedShell .travel-combined-location-option:hover, #travelCombinedShell .travel-combined-location-option:focus-visible { background: var(--travel-accent-soft); }
#travelCombinedShell .travel-combined-location-option > svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--travel-accent); }
#travelCombinedShell .travel-combined-location-option > span { min-width: 0; }
#travelCombinedShell .travel-combined-location-option :where(strong, small) { display: block; overflow-wrap: anywhere; }
#travelCombinedShell .travel-combined-location-option strong { font-size: 14px; }
#travelCombinedShell .travel-combined-location-option small { margin-top: 2px; font-size: 12px; color: var(--travel-muted); }
#travelCombinedShell .travel-combined-suggestion-group > strong { padding: 8px; color: var(--travel-muted); font-size: 12px; }
#travelCombinedShell .travel-combined-country-options button { min-height: 44px; }
#travelCombinedShell .travel-combined-calendar-head button, #travelCombinedShell .travel-combined-date-help { color: var(--travel-accent); }
#travelCombinedShell .travel-combined-calendar-day:hover:not(:disabled):not(.range-start):not(.range-end), #travelCombinedShell .travel-combined-calendar-day:focus-visible:not(.range-start):not(.range-end) { background: var(--travel-accent-soft); }
#travelCombinedShell .travel-combined-traveler-popup { top: calc(100% + 12px); }
#travelCombinedShell .travel-combined-picker-columns > section { padding: 20px; }
#travelCombinedShell .travel-combined-counter strong { font-size: 14px; }
#travelCombinedShell .travel-combined-counter button { width: 36px; height: 36px; border-radius: 50%; background: var(--travel-accent-soft); color: var(--travel-accent); }
#travelCombinedShell .travel-combined-counter button:disabled { color: #9ca3af; background: var(--travel-soft); }
#travelCombinedShell .travel-combined-class-picker label { min-height: 44px; font-size: 14px; font-weight: 500; }
#travelCombinedShell .travel-combined-type-choice span { min-height: 44px; font-size: 13px; font-weight: 500; border-color: var(--travel-line); border-radius: 8px; }
#travelCombinedShell .travel-combined-type-choice svg { color: var(--travel-accent); }
#travelCombinedShell .travel-combined-type-choice input:checked + span { color: var(--travel-accent); background: var(--travel-accent-soft); border-color: var(--travel-accent); }
#travelCombinedShell .travel-combined-route-row { align-items: start; gap: 12px; padding: 16px; border: 1px solid #e5e7eb; border-radius: 10px; background: #fafbfc; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(145px, .8fr) 36px; }
#travelCombinedShell .travel-combined-route-row > .travel-combined-place:nth-child(2), #travelCombinedShell .travel-combined-route-row .travel-combined-date-field { grid-column: auto; }
#travelCombinedShell .travel-combined-route-row:focus-within { z-index: 5; }
#travelCombinedShell .travel-combined-remove-leg { margin-top: 27px; width: 36px; height: 48px; border: 0; border-radius: 8px; background: transparent; font-size: 24px; color: var(--travel-accent); }
#travelCombinedShell .travel-combined-route-actions { align-items: start; gap: 16px; grid-template-columns: minmax(0, 1fr) minmax(230px, .65fr); }
#travelCombinedShell .travel-combined-add-leg { min-height: 48px; border: 1px dashed #adc2df; border-radius: 8px; align-self: end; font-size: 14px; font-weight: 600; background: var(--travel-accent-soft); }
#travelCombinedShell .travel-combined-route-actions .travel-combined-traveler-toggle { border: 1px solid var(--travel-line); border-radius: 8px; }
#travelCombinedShell .travel-combined-results-layout { grid-template-columns: 248px minmax(0, 1fr); gap: 24px; align-items: start; }
#travelCombinedShell .travel-combined-filter-panel { padding: 16px; border-color: #e5e7eb; border-radius: 10px; background: #fafbfc; }
#travelCombinedShell .travel-combined-filter-head strong { font-size: 16px; }
#travelCombinedShell .travel-combined-filter-panel summary { padding: 3px 0; font-size: 13px; font-weight: 600; }
#travelCombinedShell .travel-combined-filter-panel details { padding: 12px 0; border-color: #e5e7eb; }
#travelCombinedShell .travel-combined-filter-panel label { font-size: 13px; font-weight: 400; }
#travelCombinedShell .travel-combined-filter-radio { min-height: 36px; }
#travelCombinedShell .travel-combined-price-range input { width: 100%; min-width: 0; height: 40px; }
#travelCombinedShell .travel-combined-layover-filter { display: grid; gap: 9px; }
#travelCombinedShell .travel-combined-layover-filter > label { color: var(--travel-muted); font-weight: 600; }
#travelCombinedShell .travel-combined-layover-number { display: flex; align-items: center; gap: 8px; }
#travelCombinedShell .travel-combined-layover-number input { width: min(112px, 100%); min-width: 0; }
#travelCombinedShell .travel-combined-layover-number span { color: var(--travel-text); font-size: 13px; }
#travelCombinedShell .travel-combined-layover-filter input[type="range"] { width: 100%; min-height: 24px; border: 0; padding: 0; background: transparent; accent-color: var(--travel-accent); }
#travelCombinedShell .travel-combined-layover-filter button { justify-self: start; border: 0; padding: 0; background: transparent; color: var(--travel-accent); font-size: 12px; font-weight: 700; text-decoration: underline; cursor: pointer; }
#travelCombinedShell .travel-combined-results-head { gap: 12px; margin-bottom: 4px; }
#travelCombinedShell .travel-combined-results-head strong { font-size: 13px; color: var(--travel-muted); }
#travelCombinedShell .travel-combined-results-head select { min-height: 40px; border-radius: 8px; border-color: var(--travel-line); font-size: 13px; }
#travelCombinedShell .travel-combined-results-scroll { height: auto; max-height: none; overflow: visible; }
#travelCombinedShell .travel-combined-offers { gap: 16px; }
#travelCombinedShell .travel-combined-offer { border-color: #dce1e8; border-radius: 12px; padding: 20px; }
#travelCombinedShell .travel-combined-offer.selected { border-color: var(--travel-accent); background: var(--brand-emerald-soft); }
#travelCombinedShell .travel-combined-flight-price strong { font-size: 28px; font-weight: 600; letter-spacing: -.5px; }
#travelCombinedShell .travel-combined-flight-price small { margin-top: 4px; color: var(--travel-muted); }
#travelCombinedShell .travel-combined-flight-badge { color: var(--travel-accent); background: var(--brand-emerald-soft-hover); font-weight: 500; }
#travelCombinedShell .travel-combined-flight-provider { margin-top: 16px; font-size: 13px; }
#travelCombinedShell .travel-combined-flight-legs { gap: 20px; padding: 16px 0; }
#travelCombinedShell .travel-combined-flight-end strong { margin: 4px 0; font-size: 25px; font-weight: 600; }
#travelCombinedShell .travel-combined-flight-end span { font-size: 14px; font-weight: 500; }
#travelCombinedShell .travel-combined-flight-line { font-size: 12px; line-height: 1.5; }
#travelCombinedShell .travel-combined-offer-foot { padding-top: 16px; margin-top: 0; border-top: 1px solid #e5e7eb; }
#travelCombinedShell .travel-combined-stay-card { grid-template-columns: minmax(145px, 27%) minmax(0, 1fr); gap: 0; padding: 0; }
#travelCombinedShell .travel-combined-stay-photo { position: relative; min-height: 245px; background: #f1f5f9; }
#travelCombinedShell .travel-combined-stay-photo img { position: absolute; inset: 0; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
#travelCombinedShell .travel-combined-stay-main { padding: 20px; }
#travelCombinedShell .travel-combined-stay-main .travel-combined-offer-head { flex-direction: row; }
#travelCombinedShell .travel-combined-stay-main .travel-combined-offer-head strong { margin: 5px 0; font-size: 18px; line-height: 1.4; }
#travelCombinedShell .travel-combined-rating { background: var(--travel-accent); font-size: 14px; font-weight: 600; }
#travelCombinedShell .travel-combined-stay-tags { gap: 6px; margin: 12px 0 16px; }
#travelCombinedShell .travel-combined-stay-tags span { color: #475569; background: var(--travel-accent-soft); font-size: 11px; font-weight: 500; }
#travelCombinedShell .travel-combined-stay-main .travel-combined-offer-foot { gap: 10px; align-items: end; }
#travelCombinedShell .travel-combined-stay-main .travel-combined-offer-foot strong { font-size: 24px; }
#travelCombinedShell .travel-combined-bottom-bar, #travelCombinedShell .travel-combined-final-actions { border-top: 1px solid #e5e7eb; padding-top: 20px; gap: 12px; }
#travelCombinedShell .travel-combined-empty { display: grid; justify-items: center; gap: 12px; padding: 36px 20px; border: 1px dashed #cbd5e1; background: #f9fafb; color: var(--travel-muted); text-align: center; }
#travelCombinedShell .travel-combined-empty > svg { width: 28px; height: 28px; color: var(--travel-accent); }
#travelCombinedShell .travel-combined-empty strong { font-size: 16px; color: var(--travel-ink); }
#travelCombinedShell .travel-combined-empty p { max-width: 360px; margin: 0; font-size: 13px; }
#travelCombinedShell .travel-combined-journey { gap: 12px; }
#travelCombinedShell .travel-combined-journey-band { padding: 18px; border-color: #e0e5ed; border-radius: 10px; background: #f9fafb; }
#travelCombinedShell .travel-combined-band-title { align-items: center; gap: 12px; margin-bottom: 12px; }
#travelCombinedShell .travel-combined-band-title > strong { font-size: 15px; }
#travelCombinedShell .travel-combined-band-title .text-action { min-height: 32px; font-size: 13px; }
#travelCombinedShell .travel-combined-journey-grid { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr) minmax(0, .6fr) minmax(0, .8fr); gap: 20px; }
#travelCombinedShell .travel-combined-journey-grid small { margin: 0 0 4px; color: var(--travel-muted); font-size: 11px; font-weight: 500; letter-spacing: .3px; text-transform: none; }
#travelCombinedShell .travel-combined-journey-grid b { font-size: 14px; line-height: 1.5; font-weight: 500; }
#travelCombinedShell .travel-combined-selection-reason { margin: 16px 0; padding: 0; border: 0; background: transparent; color: var(--travel-muted); font-size: 13px; line-height: 1.6; }
#travelCombinedShell .travel-combined-trip-total { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 12px; padding: 16px 0; margin: 0; border-bottom: 1px solid #e5e7eb; color: var(--travel-muted); font-size: 14px; }
#travelCombinedShell .travel-combined-trip-total strong { color: var(--travel-ink); font-size: 25px; font-weight: 600; }
#travelCombinedShell .travel-combined-review-grid { grid-template-columns: minmax(0, 1fr) 252px; gap: 24px; align-items: start; }
#travelCombinedShell .travel-combined-review-grid .travel-combined-help { margin: 6px 0 16px; font-size: 13px; }
#travelCombinedShell .travel-combined-person { align-items: start; gap: 16px; padding: 18px; margin-bottom: 16px; border-color: #e0e5ed; border-radius: 10px; background: #fafbfc; }
#travelCombinedShell .travel-combined-person legend { padding: 0 6px; font-size: 14px; font-weight: 600; }
#travelCombinedShell .travel-combined-person > label, #travelCombinedShell .travel-combined-person > .travel-combined-birth-wrap, #travelCombinedShell .travel-combined-person > .travel-combined-country-wrap { grid-template-rows: 36px 44px; gap: 6px; font-size: 12px; font-weight: 500; line-height: 17px; }
#travelCombinedShell .travel-combined-person :where(label, input, select) { min-width: 0; }
#travelCombinedShell .travel-combined-person :where(label) { font-size: 12px; font-weight: 500; line-height: 17px; }
#travelCombinedShell .travel-combined-field-error { font-size: 12px; font-weight: 400; line-height: 1.5; }
#travelCombinedShell .travel-combined-template-section { padding: 18px; border: 1px solid #e0e5ed; border-radius: 10px; background: #fff; }
#travelCombinedShell .travel-combined-template-section h4 { font-size: 14px; }
#travelCombinedShell .travel-combined-template-section > p { font-size: 12px; line-height: 1.6; }
#travelCombinedShell .travel-combined-templates { grid-template-columns: 1fr; }
#travelCombinedShell .travel-combined-template-card { min-height: 56px; padding: 12px; border-color: var(--travel-line); border-radius: 8px; color: var(--travel-ink); font-size: 14px; }
#travelCombinedShell .travel-combined-template-card.selected { border-color: var(--travel-accent); background: var(--travel-accent-soft); color: var(--travel-accent); }
#travelCombinedShell .travel-combined-template-card svg { color: var(--travel-accent); flex: 0 0 20px; }
#travelCombinedShell .travel-combined-message, #travelCombinedShell .travel-combined-review-issues, #travelCombinedShell .travel-combined-generation-status, #travelCombinedShell [data-travel-template-status][data-tone] { display: flex; align-items: start; gap: 10px; border: 1px solid #d1d5db; border-radius: 8px; padding: 12px 14px; background: var(--travel-accent-soft); color: #475569; font-size: 13px; font-weight: 400; line-height: 1.6; }
#travelCombinedShell :where(.travel-combined-message, .travel-combined-generation-status, [data-travel-template-status]):empty { display: none; }
#travelCombinedShell [data-travel-template-status]:empty { display: none; }
#travelCombinedShell [data-tone="error"] { background: #fef2f2; border-color: #fecaca; color: var(--travel-danger); }
#travelCombinedShell [data-tone="warning"] { background: #fffbeb; border-color: #f3d698; color: #854d0e; }
#travelCombinedShell [data-tone="success"] { background: var(--travel-green-soft); border-color: var(--brand-emerald-line); color: var(--brand-emerald-pressed); }
#travelCombinedShell .travel-combined-notice-symbol { display: grid; place-items: center; flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; border: 1px solid currentColor; border-radius: 50%; font-size: 11px; font-weight: 600; line-height: 1; }
#travelCombinedShell [data-tone="loading"] .travel-combined-notice-symbol { border-width: 2px; border-right-color: transparent; animation: travel-combined-spin 800ms linear infinite; }
#travelCombinedShell form[aria-busy="true"] [data-travel-search-button] { background: #e5e7eb; color: #4b5563; }
#travelCombinedShell .travel-combined-ready { display: inline-flex; align-items: center; gap: 7px; margin-bottom: 10px; color: var(--travel-green); font-size: 13px; font-weight: 500; }
#travelCombinedShell .travel-combined-ready svg { width: 19px; height: 19px; }
#travelCombinedShell .travel-combined-result-actions { margin: 0; gap: 10px; }
#travelCombinedShell .travel-combined-document-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 14px 18px; margin-bottom: -25px; border: 1px solid #e0e5ed; border-bottom: 0; border-radius: 10px 10px 0 0; background: #f9fafb; color: var(--travel-muted); font-size: 13px; }
#travelCombinedShell .travel-combined-pdf-frame { border-color: #e0e5ed; background: #eef0f3; border-radius: 0 0 10px 10px; }
#travelCombinedShell .travel-combined-pdf-frame figure { max-width: 800px; margin: 24px auto; padding: 0 16px; }
#travelCombinedShell .travel-combined-document-dialog { border: 1px solid #d1d5db; border-radius: 12px; padding: 0; }
#travelCombinedShell .travel-combined-document-toolbar { display: flex; position: sticky; top: 0; z-index: 1; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: #fff; border-bottom: 1px solid #e5e7eb; }
@keyframes travel-combined-spin { to { transform: rotate(360deg); } }

@media (max-width: 1080px) {
  #travelCombinedShell .travel-combined-search-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  #travelCombinedShell .travel-combined-search-grid > .travel-combined-place:first-child { grid-column: 1 / 6; }
  #travelCombinedShell .travel-combined-swap { grid-column: 6 / 7; }
  #travelCombinedShell .travel-combined-search-grid > .travel-combined-place:nth-child(3) { grid-column: 7 / 13; }
  #travelCombinedShell .travel-combined-date-field[data-travel-date-field="entry"] { grid-column: 1 / 5; }
  #travelCombinedShell .travel-combined-date-field[data-travel-date-field="exit"] { grid-column: 5 / 9; }
  #travelCombinedShell .travel-combined-traveler-wrap { grid-column: 9 / 13; }
  #travelCombinedShell .travel-combined-review-grid { grid-template-columns: 1fr; }
  #travelCombinedShell .travel-combined-templates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #travelCombinedShell .travel-combined-step-track button { flex-direction: row; text-align: left; }
  #travelCombinedShell .travel-combined-results-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 16px; }
}
@media (min-width: 761px) and (max-width: 1080px) {
  #travelCombinedShell .travel-combined-quick > section > label:not(.travel-combined-check-row) { grid-template-rows: 39px 44px; }
}
@media (max-width: 760px) {
  #travelCombinedShell { margin-top: 14px; gap: 12px; }
  #travelCombinedShell .travel-combined-step { padding: 18px; gap: 20px; }
  #travelCombinedShell .travel-combined-step-shell { padding: 12px; }
  #travelCombinedShell .travel-combined-step-track { gap: 5px; }
  #travelCombinedShell .travel-combined-step-track button { flex-direction: column; align-items: center; justify-content: start; gap: 5px; padding: 8px 4px; text-align: center; }
  #travelCombinedShell .travel-combined-step-full { display: none; }
  #travelCombinedShell .travel-combined-step-short { display: inline; }
  #travelCombinedShell .travel-combined-step-track small { font-size: 11px; line-height: 1.35; }
  #travelCombinedShell .travel-combined-quick { grid-template-columns: 1fr; gap: 20px; }
  #travelCombinedShell .travel-combined-quick > section + section { border-top: 1px solid #e5e7eb; padding-top: 16px; }
  #travelCombinedShell .travel-combined-results-layout { grid-template-columns: 1fr; }
  #travelCombinedShell .travel-combined-filter-panel { padding: 12px 16px; }
  #travelCombinedShell .travel-combined-filter-panel details { padding: 10px 0; }
  #travelCombinedShell .travel-combined-stay-card { grid-template-columns: minmax(125px, 30%) minmax(0, 1fr); }
  #travelCombinedShell .travel-combined-person { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #travelCombinedShell .travel-combined-journey-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #travelCombinedShell .travel-combined-route-row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 36px; padding: 12px; }
  #travelCombinedShell .travel-combined-route-row > .travel-combined-place:first-child { grid-column: 1 / -1; }
  #travelCombinedShell .travel-combined-route-row > .travel-combined-place:nth-child(2) { grid-column: 1 / 3; }
  #travelCombinedShell .travel-combined-route-row .travel-combined-date-field { grid-column: 1 / -1; }
  #travelCombinedShell .travel-combined-route-row .travel-combined-remove-leg { grid-column: 3; grid-row: 2; }
  #travelCombinedShell .travel-combined-route-actions { grid-template-columns: 1fr; }
  #travelCombinedShell .travel-combined-route-actions .travel-combined-traveler-wrap { grid-column: auto; }
  #travelCombinedShell .travel-combined-route-row .travel-combined-date-help { top: 40px; }
}
@media (max-width: 520px) {
  #travelCombinedShell .travel-combined-step { padding: 16px; }
  #travelCombinedShell h3 { font-size: 21px; }
  #travelCombinedShell .travel-combined-search-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 10px; }
  #travelCombinedShell .travel-combined-search-grid > .travel-combined-place:first-child, #travelCombinedShell .travel-combined-search-grid > .travel-combined-place:nth-child(3), #travelCombinedShell .travel-combined-traveler-wrap { grid-column: 1 / -1; }
  #travelCombinedShell .travel-combined-date-field[data-travel-date-field="entry"] { grid-column: 1; }
  #travelCombinedShell .travel-combined-date-field[data-travel-date-field="exit"] { grid-column: 2; }
  #travelCombinedShell .travel-combined-swap { position: absolute; z-index: 2; top: 31px; right: 5px; width: 36px; height: 36px; margin: 0; background: transparent; }
  #travelCombinedShell .travel-combined-search-grid > .travel-combined-place:first-child > input { padding-right: 49px; }
  #travelCombinedShell .travel-combined-traveler-toggle strong { font-size: 14px; }
  #travelCombinedShell .travel-combined-auto-wrap { padding: 16px; }
  #travelCombinedShell .travel-combined-person { grid-template-columns: 1fr; padding: 14px; }
  #travelCombinedShell .travel-combined-person > label, #travelCombinedShell .travel-combined-person > .travel-combined-birth-wrap, #travelCombinedShell .travel-combined-person > .travel-combined-country-wrap { grid-template-rows: auto 44px; font-size: 13px; }
  #travelCombinedShell .travel-combined-templates { grid-template-columns: 1fr; }
  #travelCombinedShell .travel-combined-stay-card { grid-template-columns: 1fr; }
  #travelCombinedShell .travel-combined-stay-photo { min-height: 150px; }
  #travelCombinedShell .travel-combined-stay-main { padding: 16px; }
  #travelCombinedShell .travel-combined-stay-main .travel-combined-offer-foot, #travelCombinedShell .travel-combined-results-head { flex-wrap: wrap; }
  #travelCombinedShell .travel-combined-stay-main .travel-combined-offer-foot .button { width: 100%; }
  #travelCombinedShell .travel-combined-flight-leg { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  #travelCombinedShell .travel-combined-flight-line { grid-column: 1 / -1; grid-row: 2; }
  #travelCombinedShell .travel-combined-flight-price strong { font-size: 25px; }
  #travelCombinedShell .travel-combined-offer { padding: 16px; }
  #travelCombinedShell .travel-combined-stay-card { padding: 0; }
  #travelCombinedShell .travel-combined-offer-foot > .button { width: 100%; }
  #travelCombinedShell .travel-combined-final-actions, #travelCombinedShell .travel-combined-result-actions { display: grid; grid-template-columns: 1fr; }
  #travelCombinedShell .travel-combined-final-actions > .button.primary { grid-row: 1; }
  #travelCombinedShell .travel-combined-journey-grid { gap: 14px; }
  #travelCombinedShell .travel-combined-calendar { width: min(340px, calc(100vw - 32px)); }
  #travelCombinedShell .travel-combined-document-meta { padding: 12px; }
  #travelCombinedShell .travel-combined-document-toolbar strong { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  #travelCombinedShell .button { transition: none; }
  #travelCombinedShell [data-tone="loading"] .travel-combined-notice-symbol { animation: none; }
}

#travelCombinedShell .travel-combined-filter-panel .accommodation-distance-select { padding: 0; border: 1px solid var(--travel-line, #d8e0e9); border-radius: 8px; }
#travelCombinedShell .travel-combined-filter-panel .accommodation-distance-select summary { display: list-item; padding: 12px; margin: 0; min-height: 44px; }

#travelCombinedShell .travel-combined-location-help { margin: 12px 0; color: var(--travel-muted); font-size: 13px; line-height: 1.5; }
#travelCombinedShell .travel-combined-location-credit { display: block; padding: 8px; color: var(--travel-muted); font-size: 12px; }
#travelCombinedShell .travel-combined-location-routing { margin: 0 0 18px; padding: 14px 16px; border: 1px solid #d8e6e0; border-radius: 8px; background: var(--brand-emerald-soft); overflow-wrap: anywhere; }
#travelCombinedShell .travel-combined-location-routing > strong { font-size: 14px; line-height: 1.5; }
#travelCombinedShell .travel-combined-location-routing ul { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,250px),1fr)); gap: 10px 20px; margin: 12px 0; padding: 0; list-style: none; }
#travelCombinedShell .travel-combined-location-routing li { display: grid; gap: 3px; min-width: 0; font-size: 13px; line-height: 1.5; }
#travelCombinedShell .travel-combined-location-routing p, #travelCombinedShell .travel-combined-location-routing small { margin: 6px 0 0; color: var(--travel-muted); font-size: 12px; line-height: 1.5; }

#travelCombinedShell [data-travel-search-recovery]:empty { display:none; }
#travelCombinedShell [data-travel-search-recovery] { margin-top:16px; min-width:0; overflow-wrap:anywhere; }
#travelCombinedShell [data-travel-search-recovery] .recovery-block-message { white-space:pre-line; line-height:1.6; }
#travelCombinedShell [data-travel-search-recovery][data-recovery-kind="empty"] { background:var(--brand-emerald-soft); border-color:#cbded5; color:var(--brand-emerald-strong); }
#travelCombinedShell [data-travel-search-recovery] .recovery-actions { flex-wrap:wrap; }
#travelCombinedShell [data-travel-search-recovery] .button { white-space:normal; text-align:center; }
@media(max-width:600px){#travelCombinedShell [data-travel-search-recovery] .recovery-actions { display:grid; grid-template-columns:1fr; width:100%; }#travelCombinedShell [data-travel-search-recovery] .button{width:100%;}}
