/* Shared phone surface. Desktop layout remains in design-review.css. */
html { -webkit-text-size-adjust: 100%; }
@media (max-width: 719px) {
  :root { --ty-gutter: max(20px, env(safe-area-inset-left), env(safe-area-inset-right)); }
  .ty-search-app, .ty-root { line-height: 1.5; }
  .ty-search-app :is(input, select, textarea),
  .ty-root :is(input, select, textarea) { font-size: 16px !important; min-width: 0; }
  .ty-search-app button, .ty-root button { touch-action: manipulation; }
  .ty-search-app button:active, .ty-root button:active { opacity: .8; }
  .ty-search-app :focus-visible, .ty-root :focus-visible {
    outline: 2px solid #426d5b; outline-offset: 3px;
  }
  .ty-home-header {
    padding-top: calc(16px + env(safe-area-inset-top)) !important;
    padding-bottom: 20px !important;
  }
  .ty-home-header__actions button {
    min-width: 44px; min-height: 44px !important; padding-inline: 12px !important;
  }
  .ty-home-search { gap: 16px !important; padding-bottom: 24px !important; }
  .ty-home-search [role="tablist"] {
    display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px !important; padding: 4px; border-radius: 12px; background: #f3f2ef;
  }
  .ty-home-search [role="tab"] {
    min-height: 48px !important; padding: 10px 6px !important;
    border: 0 !important; border-radius: 9px !important; gap: 6px !important;
    font-size: 14px !important; white-space: nowrap;
  }
  .ty-home-search [role="tab"][aria-selected="false"] { background: transparent !important; }
  .ty-home-search [role="tab"][aria-selected="true"] {
    background: #c7dbc0 !important; color: #214f40 !important;
    box-shadow: 0 1px 4px #17171414;
  }
  .ty-search-fields { border: 1px solid #d8d4cb !important; border-radius: 12px !important; }
  .ty-search-fields > div { min-width: 0 !important; }
  .ty-search-fields > label, .ty-search-fields > div > label,
  .ty-search-fields > div > button {
    min-height: 64px; padding: 10px 16px !important; gap: 3px !important;
    justify-content: center;
  }
  .ty-search-fields label > span:first-child,
  .ty-search-fields button > span:first-child,
  .ty-search-fields > div > span:first-child {
    font-size: 12px !important; letter-spacing: .035em !important;
  }
  .ty-search-fields > button:last-child {
    min-height: 54px !important; font-size: 16px !important; font-weight: 700 !important;
  }
  .ty-search-fields > div > div { max-width: 100%; }
  .ty-home-discover { gap: 12px !important; padding-top: 0 !important; }
  .ty-home-card {
    display: grid !important; grid-template-columns: 88px minmax(0, 1fr);
    border-radius: 12px !important; box-shadow: none !important;
  }
  .ty-home-card > span { height: 100% !important; min-height: 112px; }
  .ty-home-card > button { min-width: 0; padding: 14px !important; }
  .ty-home-card > button > span:first-child > span:first-child {
    flex-wrap: wrap; gap: 3px !important;
  }
  .ty-home-card > button > span:first-child > span:first-child > span {
    margin-inline-start: 0 !important; white-space: normal !important;
  }
  .ty-home-card > button > span:first-child > span:last-child {
    white-space: normal !important; font-size: 13px !important; margin-top: 4px;
  }
  .ty-mbar { padding-top: calc(10px + env(safe-area-inset-top)); }
  .ty-mbar__back { width: 44px; height: 44px; }
  .ty-mactions__btn { min-height: 48px; border: 1px solid #d8d4cb; }
  .ty-mpanel__head { padding-top: calc(14px + env(safe-area-inset-top)); }
  .ty-mpanel__head button, .ty-dialog-close { min-width: 44px; min-height: 44px; }
  .ty-flight-aside.is-open { padding-bottom: calc(96px + env(safe-area-inset-bottom)) !important; }
  [dir="rtl"] .ty-mpanel__foot { left: -100vw; }
  .ty-sortrow.is-open { max-height: 90dvh; overflow-y: auto; overscroll-behavior: contain; }
  .ty-date-panel:not(.ty-date-inline), .ty-flight-choice {
    padding-top: env(safe-area-inset-top); padding-inline: env(safe-area-inset-left) env(safe-area-inset-right);
  }
  .ty-dialog-close { top: calc(16px + env(safe-area-inset-top)); }
  .ty-date-panel.ty-date-inline { height: auto; }
  .ty-date-selection { flex-wrap: wrap; }
  .ty-date-footer { flex-wrap: wrap; gap: 12px !important; }
  .ty-date-footer button { flex: 1 0 100%; min-height: 52px; }
  .ty-choice-summary { flex-wrap: wrap; }
  .ty-choice-footer { padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
  .ty-booking-row { flex-wrap: wrap; gap: 12px; }
  .ty-booking-row > span { min-width: 120px; }
  .ty-booking-row button { width: 100%; }
  .ty-flight-card, .ty-hotel-card { border-radius: 12px !important; box-shadow: none !important; }
  .ty-flight-card > div, .ty-hotel-card > div { min-width: 0; }
  .ty-journey-leg { flex-wrap: wrap; }
  .ty-selected-itinerary { flex-wrap: wrap; }
  .ty-selected-itinerary > button { min-height: 48px; }
  .ty-root .ty-hero__bar { padding-top: calc(16px + env(safe-area-inset-top)); flex-wrap: wrap; }
  .ty-root .ty-hero button { min-height: 48px; }
  .ty-root .ty-topbar__nav a { min-height: 44px; display: inline-flex; align-items: center; }
  .ty-root .ty-card__name, .ty-root .ty-tour__name { overflow-wrap: anywhere; }
  .ty-root .ty-footer { padding-bottom: env(safe-area-inset-bottom); }
}
@media (max-width: 359px) {
  .ty-home-header { flex-wrap: wrap; }
  .ty-home-header__actions { margin-inline-start: auto; }
  .ty-home-search [role="tab"] { font-size: 13px !important; }
  .ty-home-search [role="tab"] svg { width: 16px; }
  .ty-home-card { grid-template-columns: 64px minmax(0, 1fr); }
  .ty-home-card > button { padding: 12px !important; }
}
