/* Local design review: shared spacing, readable controls and image framing. */
:root { --ty-gutter: clamp(24px, 4vw, 56px); }
/* Text-only signature: an italic serif lead above the upright name. */
.ty-wordmark { display: inline-flex; flex: 0 0 auto; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; width: max-content; color: #171714; text-align: left; white-space: nowrap; vertical-align: middle; }
.ty-wordmark__lead { font-family: 'Instrument Serif', Georgia, serif; font-size: 15px; font-weight: 400; font-style: italic; line-height: 1.1; letter-spacing: .025em; text-transform: none; color: #426d5b; padding-left: 2px; }
.ty-wordmark__name { font-family: 'Instrument Serif', Georgia, serif; font-size: 34px; font-weight: 400; line-height: .92; letter-spacing: -.035em; }
.ty-home-header .ty-wordmark__name, .ty-footer__brand .ty-wordmark__name { font-size: 44px; }
.ty-home-header .ty-wordmark__lead, .ty-footer__brand .ty-wordmark__lead { font-size: 18px; }
.ty-wordmark-link { display: inline-flex; text-decoration: none !important; border: 0 !important; }
.ty-hero__home .ty-wordmark { color: #fff; }
.ty-hero__home .ty-wordmark__lead { color: #c7dbc0; }
.ty-hero__home .ty-wordmark__name { font-size: 40px; }
@media(max-width:719px) {
 .ty-home-header .ty-wordmark__name { font-size: 38px; }
 .ty-home-header .ty-wordmark__lead { font-size: 16px; }
}
/* Takvim sayfayi uzatmaz: sifir yukseklikli capadan asagiya, icerigin USTUNE acilir. */
.ty-date-anchor { position: relative; height: 0; z-index: 28; }
.ty-date-panel.ty-date-inline { position: absolute; inset: auto; top: 0; left: 50%; transform: translateX(-50%); display: flex; flex-direction: column; width: 100%; max-width: 1000px; height: auto; max-height: min(78dvh, 720px) !important; margin: 16px 0 0; overflow: hidden; box-shadow: 0 24px 60px #00000024; border: 1px solid #dedbd5; border-radius: 18px; background: #fff; }
.ty-date-inline .ty-date-scroll { overflow: auto; }
.ty-date-inline .ty-date-footer { position: static !important; border-radius: 0 0 18px 18px; }
.ty-calendar-explainer { flex-basis: 100%; font-size: 13px; line-height: 1.6; color: #625f59; margin-bottom: 8px; }
@media(max-width:719px) { .ty-date-panel.ty-date-inline { border: 1px solid #dedbd5; border-radius: 12px; } }
/* Native dialogs escape the horizontal screen track and its clipping ancestors. */
.ty-date-panel, .ty-flight-choice { position: fixed; inset: 0; margin: auto; width: min(1000px, calc(100vw - 48px)); max-width: none; max-height: calc(100dvh - 48px); padding: 0; color: #161514; background: #fff; border: 1px solid #dedbd5; border-radius: 18px; box-shadow: 0 24px 80px #0003; overflow: hidden; font: inherit; }
.ty-date-panel[open], .ty-flight-choice[open] { display: flex; flex-direction: column; }
.ty-date-panel::backdrop, .ty-flight-choice::backdrop { background: rgb(8 16 22 / 48%); }
.ty-date-panel > div:first-child { padding: 24px 76px 20px 28px !important; flex-shrink: 0; }
.ty-date-panel > div:first-child > b { font-size: 20px; }
.ty-date-panel > div:first-child button { font-size: 14px !important; min-height: 44px; }
.ty-dialog-close { position: absolute; top: 20px; inset-inline-end: 22px; width: 40px; height: 40px; border-radius: 50%; background: #f3f2ef; border: 0; font: inherit; font-size: 26px; cursor: pointer; z-index: 1; }
.ty-date-selection { display: flex; gap: 10px; padding: 18px 28px 0; flex-shrink: 0; }
.ty-date-selection button { display: grid; gap: 6px; min-width: 160px; text-align: start; border-radius: 8px !important; padding: 12px 18px !important; }
.ty-date-selection small { font-size: 12px; font-weight: 400; }
.ty-date-selection b { font-size: 16px; }
.ty-date-scroll, .ty-choice-scroll { overflow: auto; overscroll-behavior: contain; min-height: 0; }
.ty-calendar-months { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; padding: 4px 28px 24px; }
.ty-calendar-months > div > b { font-size: 19px !important; margin-bottom: 16px; }
.ty-calendar-months button:hover:not(:disabled) { outline: 1px solid #426d5b; outline-offset: -2px; }
.ty-month-options { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; padding: 26px 28px; }
.ty-month-options button:hover { border-color: #181818 !important; }
.ty-date-footer { flex-shrink: 0; padding: 18px 28px !important; }
.ty-date-footer button { min-height: 48px; font-size: 15px !important; }
.ty-date-panel :focus-visible, .ty-flight-choice :focus-visible { outline: 2px solid #426d5b; outline-offset: 3px; }
.ty-flight-choice { width: min(800px, calc(100vw - 48px)); }
.ty-choice-header { position: relative; padding: 32px 72px 24px 32px; border-bottom: 1px solid #e6e4e0; flex-shrink: 0; }
.ty-eyebrow { font-size: 12px; letter-spacing: .12em; font-weight: 700; color: #625f59; }
.ty-choice-header h2 { font-size: clamp(23px, 3vw, 30px); letter-spacing: -.035em; line-height: 1.2; margin: 12px 0; }
.ty-choice-header p { margin: 0; font-size: 14px; color: #625f59; }
.ty-choice-summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 32px; }
.ty-choice-summary > span { font-size: 20px; font-weight: 600; }
.ty-choice-summary strong { font-size: 26px; text-align: end; font-variant-numeric: tabular-nums; }
.ty-choice-summary small { display: block; margin-top: 8px; font-size: 12px; color: #625f59; font-weight: 400; }
.ty-choice-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 32px 28px; }
.ty-choice-path { text-align: start; padding: 24px; border: 1px solid #d9d6cf; border-radius: 12px; background: #fff; color: #161514; display: flex; flex-direction: column; gap: 18px; cursor: pointer; font: inherit; transition: border-color .15s, background .15s; }
.ty-choice-path--flight { background: #c7dbc0; border-color: #c7dbc0; }
.ty-choice-path:hover { border-color: #171717; background: #f7f5ee; }
.ty-choice-path--flight:hover { background: #153d2e; }
.ty-choice-path b { font-size: 21px; letter-spacing: -.02em; display: flex; justify-content: space-between; gap: 12px; }
.ty-choice-path > span:last-child { font-size: 14px; line-height: 1.6; }
.ty-choice-footer { padding: 18px 32px; border-top: 1px solid #e6e4e0; background: #f8f8f6; font-size: 12px; line-height: 1.6; color: #625f59; flex-shrink: 0; }
.ty-booking-offers { border-top: 1px solid #e6e4e0; padding: 24px 32px; }
.ty-booking-offers h3 { margin: 0 0 10px; font-size: 20px; }
.ty-booking-offers p { font-size: 14px; color: #625f59; line-height: 1.6; }
.ty-booking-row { display: flex; align-items: center; gap: 18px; padding: 20px 0; border-bottom: 1px solid #e6e4e0; }
.ty-booking-row > span { flex: 1; display: grid; gap: 6px; }
.ty-booking-row small { font-size: 12px; color: #625f59; }
.ty-booking-row button, .ty-booking-retry { background: #161514; color: #fff; padding: 12px 18px; border: 0; border-radius: 8px; cursor: pointer; min-height: 44px; font: inherit; font-size: 14px; }
@media(max-width: 719px) {
 .ty-date-panel, .ty-flight-choice { width: 100%; max-height: 100dvh !important; height: 100dvh; border: 0; border-radius: 0; }
 .ty-date-panel > div:first-child { padding: 20px 64px 16px 20px !important; gap: 14px !important; }
 .ty-date-panel > div:first-child > div { margin-inline-start: 0 !important; }
 .ty-dialog-close { top: 16px; inset-inline-end: 16px; }
 .ty-date-selection { padding: 16px 20px 0; }
 .ty-date-selection button { min-width: 0; flex: 1; }
 .ty-date-scroll { flex: 1; }
 .ty-calendar-months { grid-template-columns: minmax(0, 1fr); padding: 8px 20px 24px; }
 .ty-month-options { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 20px; gap: 10px; }
 .ty-date-footer { padding: 16px 20px calc(16px + env(safe-area-inset-bottom)) !important; }
 .ty-choice-header { padding: 26px 62px 20px 20px; }
 .ty-choice-summary { padding: 20px; }
 .ty-choice-summary > span { font-size: 18px; }
 .ty-choice-summary strong { font-size: 22px; }
 .ty-choice-paths { grid-template-columns: minmax(0, 1fr); padding: 0 20px 24px; gap: 12px; }
 .ty-choice-path { gap: 12px; padding: 20px; }
 .ty-choice-scroll { flex: 1; }
 .ty-choice-footer { padding: 16px 20px calc(16px + env(safe-area-inset-bottom)); }
 .ty-booking-offers { padding: 20px; }
 .ty-booking-row { flex-wrap: wrap; }
 .ty-booking-row form { width: 100%; }
 .ty-booking-row button { width: 100%; }
}
.ty-offer-heading { padding: 18px 22px; }
.ty-offer-heading p { margin: 8px 0 0; font-size: 13px; color: #66615b; }
.ty-itinerary-card { display: grid; grid-template-columns: minmax(0, 1fr) 240px; border: 1px solid #dedbd5; border-radius: 14px; background: #fff; overflow: hidden; }
.ty-itinerary-leg { padding: 20px 24px; }
.ty-itinerary-leg + .ty-itinerary-leg { border-top: 1px solid #e8e5df; }
.ty-itinerary-leg__heading { display: flex; flex-wrap: wrap; gap: 12px; font-size: 13px; color: #67625b; margin-bottom: 16px; }
.ty-itinerary-leg__heading b { color: #161514; }
.ty-itinerary-route { display: flex; align-items: center; gap: 20px; }
.ty-itinerary-route img { width: 76px; max-height: 30px; object-fit: contain; }
.ty-itinerary-route > span { display: grid; gap: 6px; }
.ty-itinerary-route b { font-size: 24px; font-variant-numeric: tabular-nums; }
.ty-itinerary-route small { font-size: 12px; color: #67625b; }
.ty-itinerary-duration { flex: 1; text-align: center; font-size: 13px; }
.ty-itinerary-duration i { height: 1px; background: #dedbd5; display: block; }
.ty-itinerary-route small:empty { display: none; }
.ty-itinerary-overnight { color: #426d5b; font-weight: 600; }
.ty-itinerary-leg details { margin-top: 15px; font-size: 13px; color: #67625b; line-height: 1.6; }
.ty-itinerary-leg summary { cursor: pointer; width: fit-content; min-height: 32px; font-weight: 600; color: #161514; }
.ty-segments[open] summary { margin-bottom: 12px; }
.ty-segments__row { display: grid; grid-template-columns: 74px minmax(0, 1fr) minmax(0, 168px); gap: 16px; padding: 14px 16px; border: 1px solid #e8e5df; border-radius: 10px; background: #fbfaf7; }
.ty-segments__row + .ty-segments__row { margin-top: 10px; }
.ty-segments__times { display: grid; justify-items: start; gap: 4px; font-variant-numeric: tabular-nums; }
.ty-segments__times b { font-size: 15px; color: #161514; }
.ty-segments__times sup { font-size: 10px; color: #426d5b; vertical-align: super; }
.ty-segments__rule { width: 1px; height: 16px; margin-inline-start: 6px; background: #cfcac1; }
.ty-segments__stops { display: grid; gap: 4px; min-width: 0; }
.ty-segments__stops p { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.ty-segments__stops b { font-size: 13px; color: #161514; font-variant-numeric: tabular-nums; }
.ty-segments__stops span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ty-segments__meta { font-size: 12px; color: #8a847c; }
.ty-segments__carrier { display: grid; align-content: start; gap: 3px; text-align: end; font-size: 12px; }
.ty-segments__carrier b { font-size: 13px; color: #161514; }
.ty-segments__carrier span:empty { display: none; }
.ty-segments__layover { margin: 10px 0; padding: 8px 12px; border-radius: 999px; background: #edf3e7; color: #426d5b; font-size: 12.5px; font-weight: 600; width: fit-content; }
.ty-segments__note { margin: 12px 0 0; font-size: 12px; color: #8a847c; }
@media(max-width: 640px) {
 .ty-segments__row { grid-template-columns: 62px minmax(0, 1fr); }
 .ty-segments__carrier { grid-column: 1 / -1; text-align: start; }
}
.ty-itinerary-price { border-inline-start: 1px solid #e8e5df; padding: 24px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 10px; background: #fdfcf9; }
.ty-itinerary-price strong { font-size: 28px; font-variant-numeric: tabular-nums; }
.ty-itinerary-price span, .ty-itinerary-price small { color: #67625b; font-size: 13px; }
.ty-itinerary-price button, .ty-selected-itinerary button { border: 0; background: #c7dbc0; border-radius: 8px; padding: 13px 18px; min-height: 46px; font-weight: 600; cursor: pointer; }
.ty-cheapest { color: #266046; font-size: 12px; margin-bottom: 4px; }
.ty-selected-itinerary { position: absolute; bottom: 0; inset-inline: 0; background: white; border-top: 1px solid #dedbd5; z-index: 10; padding: 14px var(--ty-gutter); display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.ty-selected-itinerary span { display: grid; gap: 4px; font-size: 13px; }
@media(max-width: 900px) {
 .ty-itinerary-card { grid-template-columns: minmax(0, 1fr); }
 .ty-itinerary-price { border-inline-start: 0; border-top: 1px solid #e8e5df; padding: 16px; }
 .ty-itinerary-price button { width: 100%; }
 .ty-itinerary-leg { padding: 16px; }
 .ty-itinerary-route { gap: 12px; }
 .ty-itinerary-route img { width: 48px; }
 .ty-itinerary-route b { font-size: 21px; }
 .ty-selected-itinerary { padding-bottom: calc(14px + env(safe-area-inset-bottom)); }
}
.ty-journey { margin: 20px var(--ty-gutter) 0; border: 1px solid #dedbd5; border-radius: 12px; background: #fff; overflow: hidden; }
.ty-journey-steps { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px; padding: 16px 20px; background: #f8f7f4; }
.ty-journey-steps span, .ty-journey-leg small, .ty-journey-leg span > span { color: #625f59; font-size: 13px; }
.ty-journey-leg { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; border-top: 1px solid #e6e4e0; }
.ty-journey-leg > span { display: grid; gap: 7px; }
.ty-journey button { padding: 10px 16px; min-height: 44px; border: 1px solid #d8d4cd; border-radius: 8px; background: white; cursor: pointer; }
.ty-journey-total { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; padding: 20px; border-top: 1px solid #e6e4e0; }
.ty-journey-total > span { flex: 1; }
.ty-journey-total small { display: block; color: #625f59; margin-top: 7px; font-size: 13px; }
.ty-journey-total > b { font-size: 24px; font-variant-numeric: tabular-nums; }
.ty-journey-total button { background: #c7dbc0; border-color: #c7dbc0; font-weight: 600; }
.ty-results-form--flight { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important; }
.ty-search-app :is(button, input, select, a):focus-visible { outline: 2px solid #426d5b; outline-offset: 3px; }
@media (max-width: 719px) {
  .ty-journey { margin-top: 12px; }
  .ty-journey-steps, .ty-journey-leg, .ty-journey-total { padding: 14px; }
  .ty-journey-total button { width: 100%; }
  .ty-flight-card { row-gap: 12px !important; padding: 16px !important; }
  .ty-flight-card > div:first-child { flex-direction: row !important; align-items: center !important; }
  .ty-flight-card .ty-airline-logo { max-width: 92px; height: 24px; }
  .ty-flight-card > div:last-of-type { padding-top: 12px; border-top: 1px solid #e6e4e0; }
}
.ty-search-app, .ty-root { font-size: 16px; }
/* ------------------------------------------- ucus sonuclari: telefon serisi
   Genis ekranda gizli; telefonda ustteki guncelleme formunun yerini alir. */
.ty-mbar, .ty-mactions, .ty-mscrim, .ty-mpanel__head, .ty-mpanel__foot,
.ty-mpanel__extra { display: none; }

/* Baslikta uzun/kisa etiket cifti: genis ekranda uzun, darda kisa olan gorunur. */
.ty-hdr-short { display: none; }
.ty-search-app button, .ty-root button { touch-action: manipulation; }
.ty-root .ty-facet__h, .ty-root .ty-switch__l,
.ty-root .ty-apply__clear, .ty-root .ty-count,
.ty-root .ty-back, .ty-root .ty-footer__col a { font-size: 14px; }
.ty-root .ty-facet__hint, .ty-root .ty-pill,
.ty-root .ty-footer__col b, .ty-root .ty-footer__bottom { font-size: 12px; }
.ty-root .ty-search input { font-size: 16px; }
.ty-calendar-nav { display: flex; justify-content: space-between; padding: 12px 18px 0; }
.ty-calendar-nav button { width: 44px; height: 44px; border: 1px solid #E6E4E0; border-radius: 8px; background: #FFFFFF; font-size: 24px; cursor: pointer; }
.ty-results-form { flex: 1 1 650px; min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)) auto; gap: 8px; align-items: stretch; }
.ty-results-form--flight { grid-template-columns: repeat(4, minmax(112px, 1fr)) auto; }
.ty-results-form label { min-width: 0; display: flex; flex-direction: column; gap: 3px; padding: 7px 11px; border: 1px solid #E6E4E0; background: #FFFFFF; }
.ty-results-form label > span { font-size: 12px; color: #6B6864; }
.ty-results-form select, .ty-results-form input { width: 100%; min-width: 0; padding: 0; border: 0; outline: 0; background: transparent; font-size: 14px; font-weight: 600; }
.ty-results-update { padding: 0 20px; border: 1px solid #c7dbc0; background: #c7dbc0; color: #0B0B0B; font-size: 14px; font-weight: 700; cursor: pointer; }
.ty-results-error { grid-column: 1 / -1; margin: 0; color: #B3261E; font-size: 13px; }
/* Logolar kendi murekkep sinirina kirpildi; sabit bir yukseklik hepsini ayni
   goz hizasina ve ayni sol kenara oturtur. Genis yazi markalari max-width ile
   sinirlanir. */
.ty-airline-logo { display: block; height: 30px; width: auto; max-width: min(150px, 100%);
                   object-fit: contain; object-position: left center; }
.ty-airline-fallback { display: grid; place-items: center; min-width: 58px; min-height: 34px; padding: 5px 9px; border: 1px solid #D8D4CD; background: #F7F7F5; font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 600; }
.ty-airline-filter-logo { flex: 0 0 auto; width: auto; height: 15px; max-width: 60px; object-fit: contain; object-position: left center; }
.ty-hotel-body, .ty-hotel-body > div { width: 100%; max-width: 100%; }
.ty-minimap-frame, .ty-minimap-frame .leaflet-container { max-width: 100%; }
.ty-minimap-frame .leaflet-pane, .ty-minimap-frame .leaflet-control { z-index: auto !important; }
.ty-hotel-map-frame { max-width: 100%; max-height: 100%; }

/* Restore the original full-screen kafile entrance, including its typeface. */
.ty-hero { font-family: 'Instrument Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.ty-root .ty-hero button { min-height: 0; }

@media (max-width: 900px) {
  .ty-shell:not(.ty-hero__bar):not(.ty-hero__copy) { padding-inline: var(--ty-gutter); }
  .ty-about__row { flex-wrap: wrap; gap: 8px; }
  .ty-about__k { flex-basis: 100%; }
  .ty-prof__name { overflow-wrap: anywhere; }
  .ty-results-form { flex-basis: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
  .ty-results-form--flight { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; }
}

@media (max-width: 719px) {
  :root { --ty-gutter: 20px; }
  .ty-search-app button, .ty-root button { min-height: 44px; }
  .ty-search-app input:not([type="range"]), .ty-root input:not([type="range"]) { font-size: 16px !important; }
  .ty-home-header { flex-wrap: wrap; row-gap: 12px !important; }
  .ty-home-header > div:last-child { flex-wrap: wrap; }
  .ty-search-fields > * { min-width: 0 !important; width: 100%; border-inline-end: 0 !important; border-bottom: 1px solid #E6E4E0; }
  .ty-search-fields > :last-child { border-bottom: 0; }
  .ty-search-fields > div > div { max-width: calc(100vw - 2 * var(--ty-gutter)); }
  /* Alanlar alt alta dizildigi icin her biri kisaltilir: 5 alan + Ara,
     398 px yerine ~300 px. */
  .ty-search-fields label > span:first-child,
  .ty-search-fields button > span:first-child,
  .ty-search-fields > div > span:first-child { font-size: 11.5px !important; letter-spacing: .06em !important; }
  .ty-search-fields > label, .ty-search-fields > button,
  .ty-search-fields > div > label, .ty-search-fields > div > button { padding-block: 8px !important; gap: 1px !important; }
  .ty-search-fields > div:not(:last-child) { padding-block: 0 !important; }
  .ty-search-app [role="tablist"] { gap: 6px !important; }
  .ty-search-app [role="tab"] { flex: 1 1 auto; justify-content: center; min-width: 0 !important; padding-inline: 12px !important; }
  .ty-results-form { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .ty-results-form label { padding: 8px 10px; }
  .ty-results-form--flight label:first-child { grid-column: 1 / -1; }
  .ty-results-update { min-height: 46px; }
  .ty-date-panel button { min-width: 0; }
  .ty-date-strip { flex-wrap: wrap; }
  .ty-date-strip__days { display: flex !important; overflow-x: auto; scroll-snap-type: x proximity; }
  .ty-date-strip__days > button { flex: 0 0 128px; scroll-snap-align: start; }
  .ty-date-strip__calendar { width: 100%; height: 44px !important; flex-direction: row !important; }
  /* Fiyat ve Sec dugmesi karti dolduran tek satir olsun; fiyat sag kenara,
     dugme onun yanina otursun (once ortada asili duruyordu). */
  .ty-flight-card > div:last-of-type { flex-wrap: nowrap; gap: 12px;
    justify-content: space-between !important; align-items: center; }
  .ty-flight-card > div:last-of-type > span:first-child { flex: 1 1 auto; align-items: flex-start !important; }
  .ty-flight-card > div:last-of-type > :last-child { flex: 0 0 auto; margin-inline-start: auto; }
  .ty-hotel-card > div:last-child { align-items: flex-start !important; }
  .ty-hotel-card > div:nth-child(2) > span { white-space: normal !important; flex-wrap: wrap; }
  .ty-hotel-card > div:nth-child(2) > b { white-space: normal !important; }
  .ty-hotel-body { position: relative; overflow-x: hidden !important; }
  .ty-hotel-map-search { top: 62px !important; width: calc(100% - 24px) !important; min-width: 0 !important; }
  .ty-hotel-map-notice { top: 116px !important; }
  .ty-hotel-map-legend { display: none; }
  /* Mobilde once sonuclar, sonra filtreler: kullanici uzun filtre listesini
     asmadan ucuslari/otelleri gorsun. */
  .ty-search-app [data-screen-label="02 Uçuş sonuçları"] aside { flex-basis: 100% !important; min-width: 0 !important; order: 2; }
  .ty-search-app [data-screen-label="02 Uçuş sonuçları"] aside ~ * { order: 1; }
  .ty-search-app [data-screen-label="03 Otel sonuçları"] aside { order: 2; }
  .ty-search-app [data-screen-label="03 Otel sonuçları"] aside ~ * { order: 1; }
  .ty-search-app [data-screen-label="04 Kafile sonuçları"] aside { order: 2; }
  .ty-search-app [data-screen-label="04 Kafile sonuçları"] aside ~ * { order: 1; }
  .ty-root .ty-topbar__nav { gap: 16px; flex-wrap: wrap; }
  .ty-root .ty-search { min-width: 0; flex-basis: 100%; }
  .ty-root .ty-listhead { gap: 24px; }
  .ty-root .ty-main { padding-block: 32px 64px; }
  .ty-root .ty-explorer { margin-top: 28px; }
  .ty-root .ty-card__count { flex-wrap: wrap; }
  .ty-root .ty-prof__head { gap: 24px; }
  .ty-root .ty-prof__main, .ty-root .ty-prof__aside,
  .ty-root .ty-tour__body, .ty-root .ty-tour__media,
  .ty-root .ty-tour__price { min-width: 0; max-width: 100%; }
  .ty-root .ty-footer__desc { font-size: 14px; }
  .ty-root .ty-cmp__th0 { width: 124px; padding-inline-end: 12px; }
}

/* --------------------------------------------------------------- mobil
   375-430 px araligi hedeflenir: arama seridi tek sutun, kartlar yatay
   kaydirilan serit, baslik dugmeleri kisa etiketli. */
@media (max-width: 719px) {
  .ty-hdr-long { display: none; }
  .ty-hdr-short { display: inline; }
  .ty-home-header { gap: 10px !important; padding-block: 12px !important; }
  .ty-home-header img { height: 34px !important; }
  .ty-home-header__actions { gap: 6px !important; flex-wrap: nowrap !important; }
  .ty-home-header__actions button { min-height: 40px !important; padding-inline: 13px !important; font-size: 12.5px !important; }

  .ty-search-fields { min-width: 0; max-width: 100%; }
  .ty-search-fields > * { border-inline-end: 0 !important; }
  .ty-search-fields > :last-child { min-height: 52px; border-start-end-radius: 0 !important; border-end-end-radius: 0 !important; border-end-start-radius: 12px; border-end-end-radius: 12px !important; }

  /* Giris ekrani: arama bolumu ilk ekrana otursun, kartlar alt alta dizilip
     kaydirma ile gelsin. minmax(0,1fr) satiri kartlari sikistiriyordu. */
  .ty-home-grid { grid-template-rows: auto auto auto auto auto !important; }

/* Tarih seridi ("Tarihe gore fiyat" + gun kartlari) telefonda yer kapliyor
     ve sonuclari asagi itiyordu; ayni islev arama panelindeki Esnek tarihler
     dugmesiyle veriliyor. */
  .ty-datestrip-block { display: none; }
  .ty-mpanel__extra { display: flex; padding: 12px var(--ty-gutter) 0; }
  .ty-mpanel__extra button { display: inline-flex; align-items: center; gap: 9px;
    min-height: 44px; padding: 0 16px; border: 1px solid #E6E4E0; border-radius: 999px;
    background: #FFFFFF; font-size: 14.5px; font-weight: 600; cursor: pointer; }
  .ty-mpanel__extra button:hover { border-color: #0B0B0B; }

  /* --- ucus sonuclari: rota seridi + Filtre / Sirala ------------------- */
  .ty-mbar { display: flex; align-items: center; gap: 10px;
             padding: 10px var(--ty-gutter); background: #FFFFFF;
             border-bottom: 1px solid #E6E4E0; }
  .ty-mbar__back { flex: 0 0 auto; display: grid; place-items: center; width: 42px; height: 42px;
                   padding: 0; border: 1px solid #E6E4E0; border-radius: 999px;
                   background: #FFFFFF; font-size: 22px; line-height: 1; cursor: pointer; }
  .ty-mbar__trip { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px;
                   padding: 7px 14px; border: 1px solid #E6E4E0; border-radius: 12px;
                   background: #FCFBF8; text-align: start; cursor: pointer; }
  .ty-mbar__trip b { font-size: 15.5px; font-weight: 600; letter-spacing: -.01em;
                     white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .ty-mbar__trip span { font-size: 13px; color: #6B6864; }
  .ty-mactions { display: flex; gap: 10px; padding: 10px var(--ty-gutter);
                 background: #FFFFFF; border-bottom: 1px solid #E6E4E0; }
  .ty-mactions__btn { flex: 1 1 0; display: inline-flex; align-items: center; justify-content: center;
                      gap: 8px; min-height: 46px; padding: 0 16px; border: 1.5px solid #0B0B0B;
                      border-radius: 10px; background: #FFFFFF; font-size: 15px; font-weight: 600;
                      cursor: pointer; }
  .ty-mactions__n { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px;
                    border-radius: 999px; background: #c7dbc0; font-size: 12.5px; font-weight: 700; }
  .ty-mscrim { display: block; position: fixed; top: 0; bottom: 0; z-index: 55; height: 100%;
               padding: 0; border: 0; background: rgba(11,11,11,.45); cursor: pointer; }

  /* --- panellerin ortak kabugu ---------------------------------------- */
  .ty-results-head, .ty-flight-aside, .ty-sortrow { display: none !important; }
  /* Ekranlar yatay kayan bir seritte duruyor ve serit translateX ile
     tasiniyor; donusturulmus ata `position: fixed`'in referansi oldugu icin
     paneli bir ekran genisligi sola atiyordu. Ucus sonuclari ikinci ekran
     oldugundan panel bir ekran geri itilir. */
  .ty-results-head.is-open, .ty-flight-aside.is-open, .ty-sortrow.is-open,
  .ty-mscrim { left: 100vw; right: auto; width: 100vw; }
  [dir="rtl"] .ty-results-head.is-open, [dir="rtl"] .ty-flight-aside.is-open,
  [dir="rtl"] .ty-sortrow.is-open, [dir="rtl"] .ty-mscrim { left: -100vw; }

  .ty-results-head.is-open, .ty-flight-aside.is-open {
    display: flex !important; position: fixed !important; top: 0; z-index: 80 !important;
    flex-direction: column; gap: 0 !important; margin: 0 !important;
    width: 100%; max-width: 100%;
    background: #FFFFFF; overflow-y: auto; border: 0 !important;
  }
  /* Suzgecler uzun bir liste oldugu icin tam sayfa; arama ise ustten inen
     kisa bir tabaka - altta sonuclar karartilmis olarak gorunur kalir. */
  .ty-flight-aside.is-open { bottom: 0; padding: 0 0 84px !important; }
  .ty-results-head.is-open { bottom: auto; max-height: 86dvh; padding: 0 0 20px !important;
    border-radius: 0 0 20px 20px; box-shadow: 0 16px 40px rgba(11,11,11,.24); }
  .ty-results-head.is-open > *, .ty-flight-aside.is-open > * { flex: 0 0 auto; }
  /* Panelde logo ve "Aramaya don" dugmesi gereksiz; basligin kendi kapatma
     dugmesi bir div icinde oldugu icin bu kural ona dokunmaz. */
  .ty-results-head.is-open > button { display: none !important; }
  /* Arama paneli: alanlar tam genislikte alt alta, Guncelle en altta genis
     bir dugme. Masaustundeki dar izgara telefonda sikisik duruyordu. */
  .ty-results-head.is-open .ty-results-form {
    display: flex !important; flex-direction: column; gap: 10px;
    padding: 16px var(--ty-gutter) 0; }
  .ty-results-head.is-open .ty-results-form label {
    width: 100%; min-height: 60px; justify-content: center; gap: 2px;
    padding: 10px 14px; border-radius: 12px; }
  .ty-results-head.is-open .ty-results-form label > span { font-size: 13px; }
  .ty-results-head.is-open .ty-results-form select,
  .ty-results-head.is-open .ty-results-form input { font-size: 16px; }
  .ty-results-head.is-open .ty-results-update {
    width: 100%; min-height: 54px; margin-top: 6px; border-radius: 12px; font-size: 16.5px; }
  .ty-flight-aside.is-open > div, .ty-flight-aside.is-open > .ty-facet,
  .ty-flight-aside.is-open > * { margin-inline: var(--ty-gutter); }
  .ty-flight-aside.is-open .ty-mpanel__head,
  .ty-flight-aside.is-open .ty-mpanel__foot { margin-inline: 0; }
  /* Panel basligi zaten "Filtreler" diyor; sutunun kendi kucuk basligi
     tekrar olmasin, yalnizca Temizle kalsin. */
  .ty-flight-aside.is-open > div:nth-of-type(2) h3 { display: none; }
  .ty-flight-aside.is-open > div:nth-of-type(2) { justify-content: flex-end; margin-top: 4px; }
  .ty-flight-aside.is-open > div:nth-of-type(2) button { font-size: 14.5px !important; }

  .ty-mpanel__head { display: flex; align-items: center; justify-content: space-between;
                     gap: 12px; padding: 14px var(--ty-gutter); border-bottom: 1px solid #E6E4E0;
                     position: sticky; top: 0; background: #FFFFFF; z-index: 2; }
  .ty-mpanel__head b { font-size: 19px; font-weight: 600; letter-spacing: -.02em; }
  .ty-mpanel__head button { display: grid; place-items: center; width: 40px; height: 40px;
                            padding: 0; border: 0; border-radius: 999px; background: #F4F2EE;
                            font-size: 22px; line-height: 1; cursor: pointer; }
  .ty-mpanel__foot { display: block; position: fixed; left: 100vw; width: 100vw; bottom: 0; z-index: 3;
                     padding: 12px var(--ty-gutter) calc(12px + env(safe-area-inset-bottom));
                     background: #FFFFFF; border-top: 1px solid #E6E4E0; }
  .ty-mpanel__foot button { width: 100%; min-height: 50px; padding: 0 18px; border: 0;
                            border-radius: 10px; background: #c7dbc0; font-size: 16px;
                            font-weight: 700; cursor: pointer; }

  /* --- siralama: alttan acilan sayfa ---------------------------------- */
  .ty-sortrow.is-open { display: flex !important; position: fixed !important;
    bottom: 0; top: auto; z-index: 80 !important; flex-direction: column; gap: 0 !important;
    width: 100% !important; max-width: 100%; margin: 0 !important; padding: 8px 0 calc(8px + env(safe-area-inset-bottom)) !important;
    background: #FFFFFF; border: 0 !important; overflow: hidden;
    /* satir ici stil masaustunde 999px hap yapiyor; sayfa olarak acilirken
       ustten hafif yuvarlak, altta duz olmali */
    border-radius: 18px 18px 0 0 !important;
    box-shadow: 0 -14px 40px rgba(11,11,11,.22); }
  .ty-sortrow.is-open button { width: 100%; min-height: 54px; border-radius: 0 !important;
    justify-content: flex-start; text-align: start; font-size: 16px !important;
    padding-inline: var(--ty-gutter) !important; }
  .ty-sortrow.is-open .ty-mpanel__head { width: 100%; }
  .ty-sortrow.is-open .ty-mpanel__head button { width: 40px; min-height: 40px; padding: 0 !important;
    justify-content: center; text-align: center; border-radius: 999px !important; background: #F4F2EE; }

  /* Sonuc ekranlarinda ust arama seridi sabit kalmasin, sayfayla kaysin. */
  .ty-results-head { position: static !important; }
  .ty-split-screen { display: block !important; height: 100dvh; overflow-y: auto !important; }
  .ty-split-screen > div:first-child { position: static !important; }
  .ty-hotel-body { overflow-y: visible !important; height: auto !important; }
}

@media (max-width: 719px) and (orientation: portrait) {
  /* Giris ekrani tek viewport: arama serisi ustte, kartlar altta kalsin */
  .ty-search-app [role="tab"] { min-height: 44px !important; font-size: 14px !important; }
}

/* --------------------------------------------------- kafileler / mobil punto
   Sayfanin masaustu olcegi 11-12.5 px'lik ikincil metinlere dayaniyor; telefonda
   bunlar okunmuyordu. Yalnizca <=719 px'te buyutulur, masaustu degismez. */
@media (max-width: 719px) {
  .ty-root { font-size: 17px; }
  .ty-root .ty-pill,
  .ty-root .ty-facet__h,
  .ty-root .ty-facet__hint,
  .ty-root .ty-footer__col b,
  .ty-root .ty-footer__bottom { font-size: 13px !important; }
  .ty-root .ty-facet__v,
  .ty-root .ty-facet__c,
  .ty-root .ty-switch__l,
  .ty-root .ty-apply__clear,
  .ty-root .ty-count,
  .ty-root .ty-card__range,
  .ty-root .ty-card__warn,
  .ty-root .ty-card__id span,
  .ty-root .ty-pack__id span,
  .ty-root .ty-pack__note,
  .ty-root .ty-places__eyebrow,
  .ty-root .ty-tour__hicri,
  .ty-root .ty-footer__col a,
  .ty-root .ty-back { font-size: 14.5px !important; }
  .ty-root .ty-tour__col span,
  .ty-root .ty-tour__col b { font-size: 15px !important; }
  .ty-root .ty-card__name { font-size: 20px !important; }
  .ty-root .ty-cmp__table { font-size: 15px; }
  /* dokunma alanlari */
  .ty-root .ty-switch, .ty-root .ty-facet label { min-height: 44px; }
}

/* ---------------------------------------------------------------------------
   Kompakt tarih penceresi (21 Eyl 2026): arama kutusunun altina acilan kucuk
   popover; sayfayi genisletmez, 2 ay yan yana ama dar hucrelerle. */
.ty-date-panel.ty-date-inline { max-width: 720px; max-height: min(70dvh, 560px) !important; margin: 6px 0 0; border-radius: 14px; }
.ty-date-inline > div:first-child { padding: 12px 56px 10px 18px !important; gap: 8px !important; }
.ty-date-inline > div:first-child > b { font-size: 15px; }
.ty-date-inline > div:first-child button { font-size: 12.5px !important; min-height: 34px; padding: 6px 12px !important; }
.ty-date-inline .ty-dialog-close { top: 10px; inset-inline-end: 12px; width: 32px; height: 32px; font-size: 20px; }
.ty-date-inline .ty-date-selection { padding: 10px 18px 0; gap: 8px; }
.ty-date-inline .ty-date-selection button { min-width: 130px; padding: 8px 12px !important; gap: 2px; }
.ty-date-inline .ty-date-selection small { font-size: 11px; }
.ty-date-inline .ty-date-selection b { font-size: 14px; }
.ty-date-inline .ty-calendar-nav { padding: 8px 18px 0 !important; }
.ty-date-inline .ty-calendar-months { gap: 22px; padding: 0 18px 10px; }
.ty-date-inline .ty-calendar-months > div > b { font-size: 14px !important; margin-bottom: 6px; }
.ty-date-inline .ty-calendar-months > div > div > button { min-height: 36px !important; padding: 2px 1px !important; border-radius: 6px !important; }
.ty-date-inline .ty-calendar-months > div > div > button > span:first-child { font-size: 12.5px !important; }
.ty-date-inline .ty-calendar-months > div > div > button > span:last-child { font-size: 10px !important; }
.ty-date-inline .ty-calendar-months > div > div > span { font-size: 10.5px !important; padding-bottom: 2px !important; }
.ty-date-inline .ty-calendar-explainer { font-size: 11.5px; line-height: 1.45; margin-bottom: 4px; }
.ty-date-inline .ty-date-scroll > div:last-child:not(.ty-month-options) { padding: 0 18px 10px !important; }
.ty-date-inline .ty-month-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 12px 18px; }
.ty-date-inline .ty-date-footer { padding: 10px 18px !important; }
.ty-date-inline .ty-date-footer > span { font-size: 12.5px !important; }
.ty-date-inline .ty-date-footer button { min-height: 38px; font-size: 13px !important; padding: 8px 18px !important; }
/* Kafile: ay izgarasi tarih penceresinin icinde */
.ty-k-monthwrap { padding: 10px 18px 12px; display: flex; flex-direction: column; gap: 10px; }
.ty-k-monthwrap .ty-k-flexnote { margin: 0; }
.ty-k-monthwrap .ty-k-monthgrid { max-height: 300px; }
.ty-k-monthwrap .ty-k-monthgrid button { padding: 11px 12px; gap: 5px; }
.ty-k-monthwrap .ty-k-monthgrid span { font-size: 15px; }

/* Coklu ucus satirlari (Skyscanner mantigi): kalkis | varis | tarih, altta ekle + ara */
.ty-multi { display: flex !important; flex-direction: column; flex-wrap: nowrap !important; }
.ty-multi__row { display: flex; align-items: stretch; border-bottom: 1.5px solid #E6E4E0; }
.ty-multi__field { flex: 1 1 200px; min-width: 0; display: flex; flex-direction: column; gap: 4px; padding: 11px 16px; border-inline-end: 1.5px solid #E6E4E0; }
.ty-multi__field > span, .ty-multi__date > span, .ty-multi__pax > span { font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: #6B6864; }
.ty-multi__field select { width: 100%; border: 0; padding: 0; background: transparent; font: inherit; font-size: 15px; font-weight: 500; color: #0B0B0B; cursor: pointer; }
.ty-multi__field select:invalid, .ty-multi__field select option[value=""] { color: #6B6864; }
.ty-multi__swap { flex: 0 0 44px; display: grid; place-items: center; border: 0; border-inline-end: 1.5px solid #E6E4E0; background: #FAF9F7; font-size: 16px; cursor: pointer; color: #3D3B38; }
.ty-multi__swap:hover { background: #edf3e7; }
.ty-multi__date { flex: 0 1 200px; min-width: 160px; display: flex; flex-direction: column; gap: 4px; padding: 11px 16px; border: 0; background: transparent; text-align: start; cursor: pointer; font: inherit; }
.ty-multi__date b { font-family: 'Inter', system-ui, sans-serif; font-variant-numeric: tabular-nums; font-size: 15px; font-weight: 500; }
.ty-multi__rm { flex: 0 0 40px; border: 0; border-inline-start: 1.5px solid #E6E4E0; background: transparent; font-size: 20px; color: #6B6864; cursor: pointer; }
.ty-multi__rm:hover { color: #B3261E; }
.ty-multi__foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 8px 8px 8px 16px; }
.ty-multi__add { padding: 8px 12px; border: 0; background: transparent; font: inherit; font-size: 13.5px; font-weight: 600; color: #214f40; cursor: pointer; border-radius: 8px; }
.ty-multi__add:hover { background: #edf3e7; }
.ty-multi__pax { margin-inline-start: auto; display: flex; flex-direction: column; gap: 2px; padding: 4px 12px; }
.ty-multi__pax b { font-size: 14px; font-weight: 500; }
.ty-multi__go { flex: 0 0 auto; padding: 0 clamp(22px, 3vw, 40px); min-height: 48px; border: 0; border-radius: 10px; background: #c7dbc0; color: #0B0B0B; font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; }
.ty-multi__go:hover { background: #0B0B0B; color: #FFFFFF; }
@media (max-width: 719px) {
  .ty-multi__row { flex-wrap: wrap; }
  .ty-multi__field { flex: 1 1 40%; }
  .ty-multi__date { flex: 1 1 100%; border-top: 1.5px solid #E6E4E0; }
  .ty-multi__pax { margin-inline-start: 0; }
  .ty-multi__go { flex: 1 1 100%; }
}
/* Sonuc ekrani: bacak adimlari */
.ty-legs-strip { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; flex: 1 1 100%; }
.ty-legs-strip__leg { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 6px; border: 1px solid #E6E4E0; border-radius: 999px; font-size: 12.5px; color: #6B6864; white-space: nowrap; }
.ty-legs-strip__leg b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 999px; background: #F3F1EE; font-size: 12px; color: #3D3B38; }
.ty-legs-strip__leg.is-current { border-color: #0B0B0B; color: #0B0B0B; }
.ty-legs-strip__leg.is-current b { background: #0B0B0B; color: #FFFFFF; }
.ty-legs-strip__leg.is-done { border-color: #c7dbc0; background: #f3f7ef; color: #0B0B0B; }
.ty-legs-strip__leg.is-done b { background: #c7dbc0; }
.ty-legs-strip > button { padding: 6px 12px; border: 1px solid #E6E4E0; border-radius: 999px; background: #FFFFFF; font: inherit; font-size: 12.5px; cursor: pointer; }

/* Tum tarihler modu: Skyscanner benzeri ay cipleri (tarih seridinin yerine) */
.ty-months { padding: 18px var(--ty-gutter) 0; display: flex; flex-direction: column; gap: 12px; }
.ty-months h2 { margin: 0; font-size: clamp(15px, 1.6vw, 18px); font-weight: 600; letter-spacing: -0.02em; }
.ty-months__row { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px; }
.ty-months__row::-webkit-scrollbar { display: none; }
.ty-months__chip { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 3px; min-width: 104px; padding: 9px 12px; border: 1px solid #E6E4E0; border-radius: 10px; background: #FFFFFF; font: inherit; cursor: pointer; text-align: start; }
.ty-months__chip span { font-size: 12px; color: #6B6864; }
.ty-months__chip b { font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.ty-months__chip:hover { border-color: #0B0B0B; }
.ty-months__chip.is-on { border-color: #0B0B0B; background: #f3f7ef; }
