  .landing-stack {
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  .ls-search {
    order: 1;
    position: relative;
    z-index: 5;
  }

  .search-card {
    background: var(--bmga-surface, #fff);
    border-radius: 14px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    padding: 24px;
  }

  .travel-search--1b .search-card {
    padding: 0 !important;
    border-radius: 16px;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.05);
    border: 1.5px solid var(--bmga-border, #f0e4df);
    overflow: visible !important;
  }

  .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-link,
  .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link,
  .landing-stack:not(.travel-search--1b) #travelTabs .nav-link {
    color: #a9a6a6;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 0.5rem 0.875rem;
  }

  .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-link.active,
  .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link.active,
  .landing-stack:not(.travel-search--1b) #travelTabs .nav-link.active {
    color: var(--bmga-brand, #de2a1f);
    background: #d653461f;
    border-color: transparent;
    border-bottom-color: var(--bmga-brand, #de2a1f);
    font-weight: 600;
  }

  /* Design 1b tabs — solid brand red active state (all pages) */
  .travel-search--1b #travelSearchTabs .nav-link {
    color: #6d5e5a !important;
    background: transparent !important;
    border: none !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
  }

  .travel-search--1b #travelSearchTabs .nav-link.active,
  .travel-search--1b #travelSearchTabs button.nav-link.active,
  .travel-search--1b #travelSearchTabs .nav-link[aria-selected="true"] {
    background: var(--bmga-brand, #de2a1f) !important;
    background-color: var(--bmga-brand, #de2a1f) !important;
    color: var(--bmga-surface, #fff) !important;
    border-bottom-color: transparent !important;
    font-weight: 700 !important;
  }

  .travel-search--1b #travelSearchTabs .nav-link:not(.active):hover {
    background: var(--bmga-brand-soft, #fbedea) !important;
    color: #1c1414 !important;
  }

  .holidays-page .ls-search:not(.home-1b-search) {
    margin-top: -100px;
  }

  body.has-hero-header .holidays-page .home-1b-search {
    margin-top: -56px;
  }

  /* Design 1b search on hero landing pages (flight, hotel, holidays) */
  body.has-hero-header .landing-stack.travel-search--1b {
    position: relative;
    z-index: 5;
  }

  body.has-hero-header .home-1b-search__inner {
    max-width: 1352px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 16px;
    padding-right: 16px;
  }

  @media (min-width: 992px) {
    body.has-hero-header .home-1b-search__inner {
      padding-left: 44px;
      padding-right: 44px;
    }

  body.has-hero-header .home-1b-search {
    margin-top: -72px;
  }

  body.has-hero-header .holidays-page .home-1b-search,
  body.has-hero-header.page-holidays .home-1b-search {
    margin-top: 34px;
  }
  }

  @media (max-width: 991.98px) {
    /* Pull search sheet up over hero — removes white gap (flight, hotel, home, etc.) */
    body.has-hero-header .hero-section-four {
      margin-top: 0 !important;
    }

    body.has-hero-header .hero-section-four .hero-content {
      padding-top: calc(var(--bmga-sticky-top-height, 96px) + 0.5rem) !important;
      padding-bottom: 1.5rem !important;
    }

    body.has-hero-header .hero-section-four .banner-content h1 {
      font-size: clamp(1.25rem, 5.2vw, 1.75rem);
      line-height: 1.2;
      margin-bottom: 0.5rem;
    }

    body.has-hero-header .hero-section-four .banner-content p {
      font-size: 0.9rem;
      margin-bottom: 0;
    }

    body.has-hero-header .landing-stack {
      margin-top: -0.25rem;
      position: relative;
      z-index: 5;
    }

    body.has-hero-header .ls-search {
      margin-top: 0 !important;
    }

    body.has-hero-header .ls-search > .container {
      padding-top: 0 !important;
      padding-bottom: 0.75rem !important;
    }

    .holidays-page .ls-search:not(.home-1b-search) {
      margin-top: -72px;
    }

  body.has-hero-header .holidays-page .home-1b-search {
    margin-top: 20px;
  }
  }

  /* Mobile: 3+2 service grid — skip Design 1b home search card */
  @media (max-width: 767.98px) {
    .landing-stack:not(.travel-search--1b) .travel-service-tabs,
    .landing-stack:not(.travel-search--1b) #travelSearchTabs,
    .landing-stack:not(.travel-search--1b) #travelTabs,
    .banner-form-tab .nav {
      display: grid !important;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 0.5rem;
      width: 100%;
      max-width: 100%;
      overflow: visible !important;
      flex-wrap: wrap !important;
      white-space: normal !important;
      padding: 0;
      margin-bottom: 1rem !important;
      border-bottom: 0 !important;
      list-style: none;
    }

    .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-item,
    .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-item,
    .landing-stack:not(.travel-search--1b) #travelTabs .nav-item,
    .banner-form-tab .nav > li {
      width: 100%;
      margin: 0;
    }

    .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-item:nth-child(4),
    .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-item:nth-child(4),
    .landing-stack:not(.travel-search--1b) #travelTabs .nav-item:nth-child(4),
    .banner-form-tab .nav > li:nth-child(4) {
      grid-column: 1;
    }

    .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-item:nth-child(5),
    .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-item:nth-child(5),
    .landing-stack:not(.travel-search--1b) #travelTabs .nav-item:nth-child(5),
    .banner-form-tab .nav > li:nth-child(5) {
      grid-column: 2;
    }

    .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-link,
    .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link,
    .landing-stack:not(.travel-search--1b) #travelTabs .nav-link,
    .banner-form-tab .nav .nav-link {
      display: flex;
      align-items: center;
      justify-content: flex-start;
      gap: 0.35rem;
      width: 100%;
      min-height: 44px;
      padding: 0.5rem 0.625rem !important;
      font-size: 0.8125rem;
      line-height: 1.2;
      white-space: nowrap;
      border: none !important;
      border-radius: 8px !important;
      border-bottom: 2px solid transparent !important;
      background: transparent;
      color: #9ca3af;
      box-shadow: none;
    }

    .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-link i,
    .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link i,
    .landing-stack:not(.travel-search--1b) #travelTabs .nav-link i,
    .banner-form-tab .nav .nav-link i {
      flex-shrink: 0;
      font-size: 0.95rem;
    }

    .landing-stack:not(.travel-search--1b) .travel-service-tabs .nav-link.active,
    .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link.active,
    .landing-stack:not(.travel-search--1b) #travelTabs .nav-link.active,
    .banner-form-tab .nav .nav-link.active {
      background: #d653461f !important;
      color: var(--bmga-brand, #de2a1f) !important;
      border-bottom-color: var(--bmga-brand, #de2a1f) !important;
      font-weight: 600;
      box-shadow: none;
    }
  }

  @media (max-width: 575.98px) {
    .landing-stack:not(.travel-search--1b) #bannerForm .container {
      padding-left: 0;
      padding-right: 0;
    }

    .landing-stack:not(.travel-search--1b) #bannerForm .search-card {
      border-radius: 0;
      border-top-left-radius: 20px;
      border-top-right-radius: 20px;
      box-shadow: 0 -5px 20px rgba(0, 0, 0, 0.05);
      margin-top: 0 !important;
      padding: 1.25rem 15px 1.5rem !important;
      position: relative;
      z-index: 10;
    }

    body.has-hero-header .landing-stack:not(.travel-search--1b) #bannerForm .search-card {
      padding-top: 1.25rem !important;
    }

    .travel-search--1b .search-card.banner-form {
      padding: 0 !important;
    }
  }

  body.dark-mode .search-card,
  [data-bs-theme='dark'] .search-card {
    background-color: #181818;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.6);
    border: 1px solid #333;
  }

  body.dark-mode .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link,
  [data-bs-theme='dark'] .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link {
    color: #a0a0a0;
    border-bottom-color: transparent;
  }

  body.dark-mode .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link.active,
  [data-bs-theme='dark'] .landing-stack:not(.travel-search--1b) #travelSearchTabs .nav-link.active {
    color: #ff6b6b;
    background-color: rgba(212, 72, 59, 0.15);
    border-bottom-color: #ff6b6b;
  }

  @media (max-width: 767.98px) {
    body.dark-mode .travel-service-tabs .nav-link,
    body.dark-mode #travelSearchTabs .nav-link,
    body.dark-mode #travelTabs .nav-link,
    body.dark-mode .banner-form-tab .nav .nav-link,
    [data-bs-theme='dark'] .travel-service-tabs .nav-link,
    [data-bs-theme='dark'] #travelSearchTabs .nav-link,
    [data-bs-theme='dark'] #travelTabs .nav-link,
    [data-bs-theme='dark'] .banner-form-tab .nav .nav-link {
      background: transparent;
      border: none !important;
      color: #a0a0a0;
    }

    body.dark-mode .travel-service-tabs .nav-link.active,
    body.dark-mode #travelSearchTabs .nav-link.active,
    body.dark-mode #travelTabs .nav-link.active,
    body.dark-mode .banner-form-tab .nav .nav-link.active,
    [data-bs-theme='dark'] .travel-service-tabs .nav-link.active,
    [data-bs-theme='dark'] #travelSearchTabs .nav-link.active,
    [data-bs-theme='dark'] #travelTabs .nav-link.active,
    [data-bs-theme='dark'] .banner-form-tab .nav .nav-link.active {
      background-color: rgba(212, 72, 59, 0.15) !important;
      color: #ff6b6b !important;
      border-bottom-color: #ff6b6b !important;
    }
  }

  @media (max-width: 767.98px) {
    .hero-sec-two .banner-form-tab {
      display: block;
      max-width: 100%;
      width: 100%;
      padding: 0;
      overflow: visible;
      background: transparent;
      border-radius: 0;
    }
  }

  /* Holidays filter inside shared search card */
  .search-card .holiday-filter-form .search-title {
    font-size: 1rem;
    font-weight: 500;
    color: #111827;
    margin-bottom: 0.75rem;
  }

  @media (max-width: 991.98px) {
    .search-card .holiday-filter-form .form-label {
      font-size: 12px;
      color: #6b7280;
      margin-bottom: 4px;
    }

    .search-card .holiday-filter-form .form-control,
    .search-card .holiday-filter-form .form-select {
      border: 2px solid rgba(212, 175, 53, 0.85);
      border-radius: 12px;
      height: 48px;
      box-shadow: 0 2px 10px rgba(17, 24, 39, 0.05);
    }

    .search-card .holiday-filter-submit {
      border-radius: 12px;
      height: 48px;
      font-weight: 700;
      background: var(--bmga-brand, #de2a1f) !important;
      border-color: var(--bmga-brand, #de2a1f) !important;
    }
  }

  /* Flight swap + submit inside shared card */
  @media (max-width: 991.98px) {
    .search-card .flight-form:not(.flight-form--1b) .hs-submit,
    .search-card .flight-form:not(.flight-form--1b) .search-btn.hs-submit {
      border-radius: 12px;
      height: 48px;
      font-weight: 700;
      width: 100%;
    }
  }

  /* Travellers & cabin class picker (flight search) */
  .travellers-picker-panel {
    text-align: left;
    padding: 1rem 1rem 1.25rem;
  }

  .travellers-picker-panel .travellers-picker__title {
    font-size: 1rem;
    font-weight: 600;
    text-align: left;
  }

  .travellers-picker-panel .travellers-picker__section {
    padding: 0.875rem 1rem !important;
  }

  .travellers-picker-panel .traveller-age-hint {
    display: block;
    font-size: 0.6875rem;
    line-height: 1.2;
    margin-top: 0.125rem;
  }

  .travellers-picker-panel .travellers-picker__cabin-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem 0.75rem;
  }

  .travellers-picker-panel .travellers-picker__cabin-option {
    margin: 0 !important;
    min-height: 44px;
    display: flex;
    align-items: center;
    padding: 0.5rem 0.625rem;
    border: 1px solid #e4ebf1;
    border-radius: 10px;
    background: var(--bmga-surface, #fff);
  }

  .travellers-picker-panel .travellers-picker__cabin-option .form-check-input {
    width: 1.125rem;
    height: 1.125rem;
    margin-top: 0;
    flex-shrink: 0;
  }

  .travellers-picker-panel .travellers-picker__cabin-option .form-check-label {
    font-size: 0.75rem;
    line-height: 1.25;
    padding-left: 0.375rem;
    text-transform: capitalize;
  }

  .travellers-picker-panel .custom-increments .input-group {
    justify-content: center;
    flex-wrap: nowrap;
    width: 100%;
    max-width: 100%;
  }

  .travellers-picker-panel .custom-increments .btn-number {
    width: clamp(28px, 8vw, 36px);
    height: clamp(28px, 8vw, 36px);
    min-width: 28px;
    flex-shrink: 0;
    border-radius: 8px;
  }

  .travellers-picker-panel .custom-increments .input-number {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto;
    width: clamp(28px, 8vw, 36px) !important;
    min-width: clamp(28px, 8vw, 36px) !important;
    max-width: clamp(28px, 8vw, 36px) !important;
    height: clamp(28px, 8vw, 36px) !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 1.5px solid var(--home-1b-input-border, #e8ddd8) !important;
    border-radius: 8px !important;
    background: #fff !important;
    font-size: clamp(0.875rem, 2.5vw, 1rem) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    text-align: center;
    overflow: visible;
    appearance: none;
    -webkit-appearance: none;
  }

  .travellers-picker-panel .traveller-count-item {
    min-width: 0;
  }

  .travellers-picker-panel .travellers-picker__counts > [class*='col-'] {
    min-width: 0;
  }

  /* Hotel rooms & guests picker (tab quote form) */
  .hotel-rooms-display {
    cursor: pointer;
    background-color: #fff;
  }

  .hotel-rooms-picker-panel {
    min-width: 18rem;
  }

  .hotel-rooms-picker__counts {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
  }

  .hotel-rooms-picker__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f0f2f5;
  }

  .hotel-rooms-picker__row:last-child {
    border-bottom: 0;
  }

  .hotel-rooms-picker__label {
    min-width: 0;
  }

  .travel-search--1b .home-1b-tab-quote__field--rooms .form-item {
    margin: 0;
    padding: 0 !important;
  }

  @media (max-width: 767.98px) {
    .banner-form .form-item.dropdown .dropdown-menu.travellers-picker-panel {
      min-width: 0 !important;
      width: calc(100vw - 2rem) !important;
      max-width: calc(100vw - 2rem);
      max-height: min(85vh, 640px);
      overflow-y: auto;
      padding-bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    }

    .travellers-picker-panel .travellers-picker__counts {
      flex-direction: column;
      --bs-gutter-y: 0.5rem;
    }

    .travellers-picker-panel .travellers-picker__counts > [class*='col-'] {
      width: 100%;
      flex: 0 0 100%;
      max-width: 100%;
    }

    .travellers-picker-panel .traveller-count-item {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 0.75rem;
      margin-bottom: 0 !important;
      padding: 0.5rem 0;
      border-bottom: 1px solid #f0f2f5;
    }

    .travellers-picker-panel .travellers-picker__counts > [class*='col-']:last-child .traveller-count-item {
      border-bottom: 0;
    }

    .travellers-picker-panel .traveller-count-item__label {
      flex: 1;
      min-width: 0;
      text-align: left;
    }

    .travellers-picker-panel .traveller-count-item .custom-increments {
      flex-shrink: 0;
    }

    .travellers-picker-panel .traveller-age-hint {
      display: inline;
      margin-left: 0.25rem;
    }

    .travellers-picker-panel .travellers-picker__actions {
      position: sticky;
      bottom: 0;
      margin-top: 0.75rem !important;
      padding-top: 0.75rem !important;
      padding-bottom: 0.25rem;
      background: linear-gradient(to top, var(--bmga-surface, #fff) 85%, rgba(255, 255, 255, 0));
      z-index: 2;
    }

    .travellers-picker-panel .travellers-picker__actions .d-flex {
      gap: 0.5rem !important;
    }

    .travellers-picker-panel .travellers-picker__btn-cancel,
    .travellers-picker-panel .travellers-picker__btn-apply {
      flex: 1;
      min-height: 44px;
      font-size: 0.875rem;
      font-weight: 600;
    }

    body.travellers-picker-open .back-to-top-icon {
      bottom: 5.5rem;
    }
  }

  @media (min-width: 768px) {
    .travellers-picker-panel .travellers-picker__cabin-options {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .travellers-picker-panel .traveller-count-item {
      text-align: center;
      min-width: 0;
    }

    .travellers-picker-panel .traveller-count-item__label {
      margin-bottom: 0.5rem;
    }

    /* Stack traveller rows when three columns cannot fit */
    @media (max-width: 991.98px) {
      .travellers-picker-panel .travellers-picker__counts {
        flex-direction: column;
        --bs-gutter-y: 0.5rem;
      }

      .travellers-picker-panel .travellers-picker__counts > [class*='col-'] {
        width: 100%;
        flex: 0 0 100%;
        max-width: 100%;
      }

      .travellers-picker-panel .traveller-count-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0 !important;
        padding: 0.5rem 0;
        border-bottom: 1px solid #f0f2f5;
        text-align: left;
      }

      .travellers-picker-panel .travellers-picker__counts > [class*='col-']:last-child .traveller-count-item {
        border-bottom: 0;
      }

      .travellers-picker-panel .traveller-count-item__label {
        flex: 1;
        min-width: 0;
        margin-bottom: 0;
        text-align: left;
      }

      .travellers-picker-panel .traveller-count-item .custom-increments {
        flex-shrink: 0;
      }
    }
  }

  .home-1b-tab-quote input[type="date"],
  .quote-section--1b input[type="date"] {
    min-height: 44px;
    color-scheme: light;
  }

/* Design 1b search parity (from home-design-1b.css) */
/* ---- Mobile Design 1b: kill legacy search-sheet + banner-form pill overrides ---- */
@media (max-width: 991.98px) {
  .landing-stack.travel-search--1b {
    margin-top: 0 !important;
    position: static !important;
  }

  .travel-search--1b .search-card.banner-form {
    position: static !important;
    display: block !important;
    min-height: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border-radius: 14px !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05) !important;
    overflow: visible !important;
  }

  .travel-search--1b .search-card.banner-form::before {
    display: none !important;
    content: none !important;
  }

  .travel-search--1b .search-card.banner-form .nav li {
    margin-right: 0 !important;
  }

  .travel-search--1b .search-card.banner-form .nav-link {
    border-radius: 0 !important;
    display: flex !important;
    inline-size: auto !important;
    width: 100% !important;
  }

  .travel-search--1b .banner-form .nav li .nav-link {
    border-radius: 0 !important;
    display: flex !important;
    padding: 12px 4px !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #8a7a76 !important;
    background: transparent !important;
  }

  .travel-search--1b .banner-form .nav li .nav-link.active,
  .travel-search--1b .banner-form .nav li button.nav-link.active,
  .travel-search--1b .banner-form .nav li .nav-link[aria-selected="true"] {
    background: #de2a1f !important;
    background-color: #de2a1f !important;
    color: #fff !important;
  }

  .travel-search--1b .banner-form .nav li .nav-link:not(.active):hover {
    background: var(--home-1b-accent-bg) !important;
    color: var(--home-1b-ink) !important;
  }

  .home-1b-search {
    margin-top: 0 !important;
  }

  .travel-search--1b #travelSearchTabs {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  .travel-search--1b #travelSearchTabs .nav-item {
    flex: unset !important;
    max-width: none !important;
  }

  .travel-search--1b #travelSearchTabs .nav-item:nth-child(-n+3) {
    grid-column: span 2;
  }

  .travel-search--1b #travelSearchTabs .nav-item:nth-child(4),
  .travel-search--1b #travelSearchTabs .nav-item:nth-child(5) {
    grid-column: span 3;
  }

  .travel-search--1b .tab-content {
    display: block !important;
    position: relative !important;
    overflow: visible !important;
    padding: 16px !important;
    z-index: 2;
  }

  body.page-home .home-1b-hero__stats {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 8px !important;
    width: 100% !important;
  }

  body.page-home .home-1b-stat {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    padding: 10px 14px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
  }

  body.page-home .home-1b-hero__mobile-image.d-lg-none {
    display: block !important;
    height: 220px !important;
  }

  body.page-home #bmga-chat-widget {
    display: none !important;
  }

  body.has-hero-header.page-hotel #bmga-chat-widget,
  body.has-hero-header.page-flight #bmga-chat-widget,
  body.has-hero-header.page-car #bmga-chat-widget,
  body.has-hero-header.page-attractions #bmga-chat-widget,
  body.has-hero-header.page-holidays #bmga-chat-widget {
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    right: 12px;
    left: auto;
  }
}


/* ---- Design 1b search: global parity (all pages, all breakpoints) ---- */
.travel-search--1b .banner-form .nav-tabs {
  border-bottom: 1.5px solid var(--home-1b-border) !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}

.travel-search--1b .banner-form .nav-tabs .nav-item {
  margin-right: 0 !important;
}

.travel-search--1b .banner-form .nav-tabs .nav-link {
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
}

.travel-search--1b .tab-content {
  overflow: visible !important;
  position: relative;
  z-index: 2;
}

.travel-search--1b .home-1b-search,
.travel-search--1b .home-1b-search__inner,
.landing-stack.travel-search--1b {
  overflow: visible !important;
}

.travel-search--1b .banner-form .nav-tabs .nav-link.active,
.travel-search--1b .banner-form .nav-tabs button.nav-link.active,
.travel-search--1b .search-card.banner-form #travelSearchTabs .nav-item .nav-link.active,
.travel-search--1b .search-card.banner-form #travelSearchTabs .nav-item button.nav-link.active,
.travel-search--1b .search-card.banner-form #travelSearchTabs .nav-item .nav-link[aria-selected="true"] {
  background: #de2a1f !important;
  background-color: #de2a1f !important;
  color: #fff !important;
  border-color: transparent !important;
  border-bottom-color: transparent !important;
  font-weight: 700 !important;
}

.travel-search--1b .banner-form .nav-tabs .nav-link:not(.active):hover {
  background: var(--home-1b-accent-bg) !important;
  color: var(--home-1b-ink) !important;
}

.travel-search--1b .tab-content .home-1b-tab-quote__field span,
.travel-search--1b .tab-content .home-1b-tab-quote__submit {
  font-family: var(--home-1b-font-body);
}

/* Airport / city autocomplete dropdown */
.travel-search--1b .home-1b-airport-dropdown {
  min-width: 100% !important;
  width: 100%;
  border: 1.5px solid var(--home-1b-border) !important;
  border-radius: 10px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
  padding: 6px !important;
  margin-top: 6px !important;
  max-height: 300px;
  overflow-y: auto;
  background: #fff !important;
  z-index: 1080 !important;
}

.travel-search--1b .from-results,
.travel-search--1b .to-results {
  margin: 0;
  padding: 0;
}

.travel-search--1b .from-results > li,
.travel-search--1b .to-results > li,
.travel-search--1b .tab-city-results > li,
.travel-search--1b .tab-suggest-results > li {
  border: none !important;
  list-style: none;
}

.travel-search--1b .tab-city-option,
.travel-search--1b .tab-suggest-option {
  display: block;
  width: 100%;
  border: 0;
  background: transparent;
  text-align: left;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--home-1b-ink);
  cursor: pointer;
}

.travel-search--1b .tab-city-option:hover,
.travel-search--1b .tab-city-option:focus,
.travel-search--1b .tab-suggest-option:hover,
.travel-search--1b .tab-suggest-option:focus {
  background: var(--home-1b-accent-bg, #fff5f3);
  outline: none;
}

.travel-search--1b .home-1b-airport-option {
  display: block;
  padding: 10px 12px;
  border-radius: 8px;
  text-decoration: none;
  color: var(--home-1b-ink);
  cursor: pointer;
  transition: background 0.15s ease;
}

.travel-search--1b .home-1b-airport-option:hover,
.travel-search--1b .home-1b-airport-option.is-highlighted,
.travel-search--1b .home-1b-airport-option.is-selected {
  background: var(--home-1b-accent-bg) !important;
  color: var(--home-1b-ink) !important;
}

.travel-search--1b .home-1b-airport-option.disabled {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.travel-search--1b .home-1b-airport-option__name {
  display: block;
  font: 600 14px var(--home-1b-font-body);
  color: var(--home-1b-ink);
  line-height: 1.35;
  margin: 0;
}

.travel-search--1b .home-1b-airport-option__meta {
  display: block;
  font: 400 12px var(--home-1b-font-body);
  color: var(--home-1b-muted-3);
  margin: 2px 0 0;
}

.travel-search--1b .home-1b-airport-dropdown__status {
  display: block;
  padding: 10px 12px;
  font: 500 13px var(--home-1b-font-body);
  color: var(--home-1b-muted-3);
}

.travel-search--1b .dropdown-menu .dropdown-item:not(.active):hover,
.travel-search--1b .dropdown-menu .dropdown-item:not(.active):focus {
  background-color: var(--home-1b-accent-bg) !important;
  color: var(--home-1b-ink) !important;
  border-radius: 8px;
}

.travel-search--1b .form-item.dropdown {
  position: relative;
  z-index: 5;
}

.travel-search--1b .form-item.dropdown.show {
  z-index: 30;
}

/* Stack entire field above later rows when any dropdown inside is open (mobile overlap fix) */
.travel-search--1b .home-1b-tab-quote__field {
  position: relative;
  z-index: 1;
}

.travel-search--1b .home-1b-tab-quote__field:has(.dropdown.show),
.travel-search--1b .home-1b-tab-quote__field:has(.dropdown-menu.show) {
  z-index: 60;
}

.travel-search--1b .form-item.dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  z-index: 1080 !important;
}

/* Travellers picker: expand beyond the narrow grid column */
.travel-search--1b .travellers-dropdownhs-field .dropdown-menu.home-1b-travellers-picker-panel {
  left: auto;
  right: 0;
  width: min(420px, calc(100vw - 2rem));
  min-width: 0;
  max-width: calc(100vw - 2rem);
}

@media (max-width: 991.98px) {
  .travel-search--1b .home-1b-tab-quote__field:has(.dropdown.show) .home-1b-airport-dropdown,
  .travel-search--1b .home-1b-tab-quote__field:has(.dropdown-menu.show) .home-1b-airport-dropdown {
    max-height: min(280px, 45vh);
  }

  .travel-search--1b .travellers-dropdownhs-field .dropdown-menu.home-1b-travellers-picker-panel {
    left: 50%;
    right: auto;
    transform: translateX(-50%);
  }
}

@media (min-width: 992px) {
  body.has-hero-header .landing-stack.travel-search--1b {
    position: relative;
    z-index: 10;
  }

  body.has-hero-header .travel-search--1b .search-card {
    max-width: var(--bmga-container-wide, 1352px);
    margin-left: auto;
    margin-right: auto;
  }
}

/* Final overrides — active tab + dropdown stacking */
.travel-search--1b .search-card.banner-form .nav-tabs .nav-link.active,
.travel-search--1b .search-card.banner-form .nav-tabs button.nav-link.active,
.travel-search--1b .search-card.banner-form .nav-tabs .nav-link[aria-selected="true"] {
  background: #de2a1f !important;
  background-color: #de2a1f !important;
  color: #fff !important;
  border-color: transparent !important;
}

.travel-search--1b .search-card.banner-form .nav-tabs .nav-link:not(.active) {
  background: transparent !important;
  background-color: transparent !important;
  color: #8a7a76 !important;
}

.travel-search--1b .form-item.dropdown .dropdown-menu.show {
  display: block;
  z-index: 1080 !important;
}
