/**
 * Layout & spacing alignment — sections, search form, buttons, content
 */

/* ---- Global section rhythm ---- */
.main-wrapper .container,
.colored-navbar-brand .container {
  max-width: 1170px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.sec-padd.top-padd,
.sec-padd {
  padding: 48px 0 !important;
}

.my_section_padding.section_color {
  padding: 40px 0;
}

.airContent-Page {
  line-height: 1.75;
  max-width: 100%;
}

.airContent-Page h2,
.airContent-Page .nPageTitle {
  margin-top: 1.25em;
  margin-bottom: 0.65em;
  line-height: 1.35;
}

.airContent-Page p,
.content-flight-airline p {
  margin-bottom: 1em;
  text-align: justify;
}

.airContent-Page ul,
.content-flight-airline ul {
  margin-bottom: 1em;
  padding-left: 1.25em;
}

.nPageImgdv {
  margin: 20px 0 28px;
  text-align: center;
}

.nPageImgdv img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}

/* ---- Header call strip ---- */
.topCall--mytrips {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 8px 0;
}

.topCall--sec {
  display: flex;
  align-items: center;
  gap: 12px;
}

.callNum--sec {
  text-decoration: none;
  line-height: 1.3;
}

/* ---- Hero / banner ---- */
.home-banner.dest-banner {
  background-image: url(../bg.jpg) !important;
  background-position: center center !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

/* Wider hero + flight search bar than default 1170px container */
.home-banner.dest-banner .container {
  max-width: 1440px;
  width: 100%;
  padding-left: 24px;
  padding-right: 24px;
}

.home-banner.dest-banner .bannerformmiddle {
  padding: 0 0 24px;
  width: 100%;
  max-width: 100%;
}

.home-banner.dest-banner .home-form,
.home-banner.dest-banner .home-form .tab-content,
.home-banner.dest-banner .home-form .main-form,
.home-banner.dest-banner .home-form .main-form .s011,
.home-banner.dest-banner .home-form .tabform {
  width: 100%;
  max-width: 100%;
}

.banner-content.mb-50 {
  margin-bottom: 20px !important;
  padding: 16px 0 8px;
}

.banner-content h1 {
  line-height: 1.25 !important;
  margin-bottom: 12px !important;
}

.fs-hero-call-deal {
  margin-top: 12px !important;
  line-height: 1.55 !important;
  max-width: 900px;
}

.fs-flash-promo {
  margin: 0 0 16px !important;
  border-radius: 8px;
  line-height: 1.5;
  width: 100%;
  max-width: 100%;
}

/* ---- Flight search form ---- */
.home-form {
  padding: 8px 0 28px !important;
  margin-top: 0 !important;
}

.home-form .main-form .s011 {
  padding: 0 !important;
  border-radius: 10px;
  overflow: visible;
  box-shadow: 0 6px 24px rgba(76, 29, 149, 0.15);
  width: 100%;
  max-width: 100%;
}

.home-form .airnavtabs {
  margin: 0 0 0 0 !important;
  padding: 12px 12px 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  list-style: none;
  background: transparent;
}

.home-form .airnavtabs > li {
  margin: 0 !important;
}

.home-form .airnavtabs > li > a {
  display: inline-block;
  padding: 10px 22px !important;
  border-radius: 8px 8px 0 0;
  font-weight: 600;
  line-height: 1.2;
}

.home-form .tab-content {
  background: #fff;
  border-radius: 0 0 10px 10px;
  overflow: visible;
}

.home-form .tabform > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-left: -6px;
  margin-right: -6px;
}

.home-form .tabform > .row > [class*="col-"] {
  padding-left: 6px;
  padding-right: 6px;
}

/* From / To row */
.home-form .tabform > .row > .col-lg-6:first-child > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  height: 100%;
  margin-left: -6px;
  margin-right: -6px;
}

.home-form .tabform > .row > .col-lg-6:first-child > .row > [class*="col-"] {
  padding-left: 6px;
  padding-right: 6px;
  display: flex;
}

/* Dates / class / passengers / search row */
.home-form .fs-search-fields-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.home-form .fs-search-fields-row > .fs-field-col {
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-direction: column;
  align-self: stretch;
}

/* Hide empty spacer paragraphs under date fields */
.home-form .fs-search-fields-row #depspan,
.home-form .fs-search-fields-row #retspan,
.home-form .fs-search-fields-row #selectedDay {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}

/* Equal label + control alignment for Departure, Return, Class */
.home-form .fs-search-fields-row .fs-field-departure .form-group,
.home-form .fs-search-fields-row .fs-field-return .form-group,
.home-form .fs-search-fields-row .fs-field-class .form-group {
  flex: 1;
  width: 100%;
  min-height: 76px;
  height: 100%;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-right: 1px solid #e8eaef !important;
  border-bottom: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box;
  gap: 0;
}

.home-form .fs-search-fields-row .fs-field-departure label,
.home-form .fs-search-fields-row .fs-field-return label,
.home-form .fs-search-fields-row .fs-field-class label {
  display: block !important;
  flex: 0 0 auto;
  height: 18px;
  line-height: 18px;
  margin: 0 0 5px 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #666 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.home-form .fs-search-fields-row .fs-field-departure input[type="date"],
.home-form .fs-search-fields-row .fs-field-return input[type="date"],
.home-form .fs-search-fields-row .fs-field-departure .inputfrmn.rInpDep,
.home-form .fs-search-fields-row .fs-field-class .fs-cabin-select {
  flex: 0 0 42px;
  width: 100% !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  font-size: 15px !important;
  line-height: 1.25 !important;
  box-sizing: border-box !important;
  border: none !important;
  outline: none;
  align-self: stretch;
}

#group_flight,
#group_flight2 {
  font-size: 15px !important;
}

.home-form .fs-search-fields-row .fs-field-departure,
.home-form .fs-search-fields-row .fs-field-return {
  min-width: 140px;
}

.home-form .fs-search-fields-row .fs-field-class .fs-cabin-select {
  font-size: 13px !important;
  padding-right: 28px !important;
}

/* Passengers column — match height */
.home-form .fs-search-fields-row .fs-field-passengers {
  border-right: 1px solid #e8eaef;
}

.home-form .fs-search-fields-row .fs-field-passengers .input-wrap {
  flex: 1;
  width: 100%;
  height: 100%;
  min-height: 76px;
  display: flex;
  flex-direction: column;
}

.home-form .fs-search-fields-row .fs-field-passengers .passangermenuselect {
  flex: 1;
  width: 100%;
  min-height: 76px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border-right: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  box-sizing: border-box;
}

.home-form .fs-search-fields-row .fs-field-passengers .passangermenuselect label {
  flex: 0 0 auto;
  height: 18px;
  line-height: 18px;
  margin: 0 0 8px 0 !important;
}

.home-form .fs-search-fields-row .fs-field-passengers .passangermenuselect .airportselect.passengers {
  flex: 0 0 42px;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  display: flex;
  align-items: center;
}

.home-form .tabform > .row > .col-lg-6:last-child > .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-left: -6px;
  margin-right: -6px;
}

.home-form .tabform > .row > .col-lg-6:last-child > .row > [class*="col-"] {
  padding-left: 6px;
  padding-right: 6px;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
}

.home-form .s011 .form-group {
  flex: 1;
  width: 100%;
  margin-bottom: 0 !important;
  padding: 12px 14px !important;
  border-right: 1px solid #e8eaef !important;
  border-bottom: none !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-height: 76px;
  box-sizing: border-box;
}

.home-form .tabform > .row > .col-lg-6:first-child .form-group label {
  flex: 0 0 auto;
  height: 18px;
  line-height: 18px;
  margin: 0 0 8px 0 !important;
}

.home-form .s011 label {
  display: block !important;
  margin: 0 0 6px 0 !important;
  padding: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #666 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  line-height: 1.2;
}

.home-form .s011 .airportselect,
.home-form .s011 input[type="date"],
.home-form .s011 .fs-cabin-select,
.home-form .s011 .inputfrmn.rInpDep {
  width: 100% !important;
  min-height: 42px;
  padding: 8px 10px !important;
  font-size: 15px !important;
  line-height: 1.3;
  box-sizing: border-box;
  border: none !important;
  outline: none;
}

.home-form .fs-cabin-select {
  height: 42px;
  font-size: 13px !important;
}

.home-form .fs-cabin-field .form-group,
.home-form .fs-cabin-field {
  border-right: 1px solid #e8eaef !important;
}

.home-form .fs-airport-sub {
  display: block !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 4px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.35;
  min-height: 1.35em;
  overflow: visible !important;
}

.home-form .fs-airport-wrap {
  overflow: visible !important;
}

.home-form .passangermenuselect .airportselect.passengers {
  min-height: 42px;
  padding: 8px 10px !important;
}

.home-form .econmcabin {
  margin: 2px 0 0 !important;
  font-size: 11px !important;
}

.home-form .travelinputbox .form-group {
  cursor: pointer;
}

/* Search button column */
.home-form .searchb {
  padding: 0 6px 0 6px !important;
  display: flex !important;
  align-items: stretch;
  flex: 1;
  min-width: 100px;
}

.home-form .searchb .airportselect-btn-submit {
  width: 100% !important;
  min-height: 76px !important;
  height: auto !important;
  padding: 14px 12px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 0 8px 8px 0;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.2;
  border: none !important;
  box-sizing: border-box;
}

.home-form .searchb .airportselect-btn-submit i {
  margin-right: 0 !important;
}

.home-form .myechange {
  top: 50% !important;
  transform: translateY(-50%);
  right: -12px !important;
  z-index: 10;
  background: #fff;
}

/* From / To route row with centered swap control */
.home-form .fs-airport-route-row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  margin-left: -6px;
  margin-right: -6px;
}

.home-form .fs-airport-route-row > [class*="col-"] {
  padding-left: 6px;
  padding-right: 6px;
}

.home-form .fs-airport-swap-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 12;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.home-form .fs-airport-swap-btn {
  pointer-events: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  margin: 0;
  border: 2px solid #7c3aed;
  border-radius: 50%;
  background: #fff;
  color: #7c3aed;
  cursor: pointer;
  line-height: 1;
}

.home-form .fs-airport-swap-btn .myechange {
  position: static !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  bottom: auto !important;
  transform: none !important;
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
  font-size: 12px !important;
}

.home-form .fs-airport-from-col .form-group,
.home-form .fs-airport-to-col .form-group {
  position: relative;
  overflow: visible !important;
}

/* Passenger dropdown panel */
.home-form .pass-divs.travellerbox {
  padding: 14px !important;
  border-radius: 8px;
  margin-top: 4px;
}

.home-form .roomdonebtn,
.home-form .btn-add-room {
  width: 100%;
  margin-top: 8px;
  padding: 8px 12px;
  background: #7c3aed !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px;
  font-weight: 600;
}

/* ---- Trust / reviews row ---- */
.allourreviews .slider-allrev,
.allourreviews .row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 16px;
}

.allourreviews .col-lg-3 {
  flex: 1 1 200px;
  max-width: 280px;
}

.allreviewsbox {
  padding: 20px 16px;
  height: 100%;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #eee;
  border-radius: 8px;
  background: #fff;
}

/* ---- Flight search results ---- */
#flight-search-results .container {
  padding-left: 15px;
  padding-right: 15px;
}

/* ---- Popup sidebar buttons ---- */
.ppcluntxt .d-flex {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center !important;
  align-items: stretch;
  gap: 10px !important;
  margin-top: 14px !important;
}

.ppcluntxt .d-flex > div {
  flex: 1 1 calc(50% - 10px);
  min-width: 130px;
  max-width: 200px;
}

.ppcluntxt .btn-primary {
  display: block;
  width: 100%;
  padding: 12px 10px !important;
  font-size: 13px !important;
  font-weight: 600;
  text-align: center;
  border-radius: 8px !important;
  margin: 0 !important;
  white-space: normal;
  line-height: 1.3;
}

.ppcluntxt {
  padding: 12px 16px 16px;
  text-align: center;
}

.ppcluntxt h4,
.ppcluntxt h5 {
  margin: 8px 0;
  line-height: 1.35;
}

/* ---- FAQ / steps ---- */
.panel-group {
  margin-bottom: 24px;
}

.ban-tr.faq-banner {
  margin: 24px 0;
  padding: 14px 16px;
  border-radius: 8px;
}

/* ---- Footer columns ---- */
footer .row,
.fttr_main .row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

footer h4,
.fttr_main h4 {
  margin-bottom: 14px;
}

footer ul,
.fttr_main ul {
  padding-left: 0;
  list-style: none;
}

footer ul li,
.fttr_main ul li {
  margin-bottom: 8px;
  line-height: 1.4;
}

/* Hide duplicate class under passengers — dedicated Class field exists */
.home-form .passangermenuselect .econmcabin {
  display: none !important;
}

@media (min-width: 992px) {
  .home-form .tabform > .row {
    flex-wrap: nowrap;
  }

  /* More room for Departure / Return / Class */
  .home-form .tabform > .row > .col-lg-6:first-child {
    flex: 0 0 38%;
    max-width: 38%;
  }

  .home-form .tabform > .row > .col-lg-6:last-child {
    flex: 0 0 62%;
    max-width: 62%;
  }
}

@media (min-width: 1200px) {
  .home-form .tabform > .row > .col-lg-6:first-child {
    flex: 0 0 36%;
    max-width: 36%;
  }

  .home-form .tabform > .row > .col-lg-6:last-child {
    flex: 0 0 64%;
    max-width: 64%;
  }

  .home-form .fs-search-fields-row .fs-field-departure .form-group,
  .home-form .fs-search-fields-row .fs-field-return .form-group,
  .home-form .fs-search-fields-row .fs-field-class .form-group,
  .home-form .fs-search-fields-row .fs-field-passengers .passangermenuselect {
    padding: 14px 16px !important;
  }

  .home-form .s011 .form-group {
    padding: 14px 16px !important;
  }

  .home-form .s011 .airportselect,
  .home-form .s011 input[type="date"],
  .home-form .s011 .fs-cabin-select {
    font-size: 16px !important;
  }
}

/* Desktop grid: Departure | Return | Class | Passengers | Search (992px+) */
@media (min-width: 992px) {
  .home-form .fs-search-fields-row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    float: none !important;
  }

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) {
    display: grid !important;
    grid-template-columns: minmax(128px, 1.2fr) minmax(128px, 1.2fr) minmax(96px, 0.85fr);
    grid-template-rows: auto auto;
    grid-template-areas:
      "departure return class"
      "passengers passengers search";
    gap: 0;
  }

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) .fs-field-departure {
    grid-area: departure;
  }

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) .fs-field-return {
    grid-area: return;
  }

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) .fs-field-class {
    grid-area: class;
  }

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) .fs-field-passengers {
    grid-area: passengers;
    border-right: 1px solid #e8eaef;
  }

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) .fs-field-search {
    grid-area: search;
  }

  .home-form .fs-search-fields-row--oneway {
    display: grid !important;
    grid-template-columns: 1.2fr 1fr 1.2fr;
    grid-template-rows: auto auto;
    grid-template-areas:
      "departure class passengers"
      "search search search";
    gap: 0;
  }

  .home-form .fs-search-fields-row--oneway .fs-field-departure {
    grid-area: departure;
  }

  .home-form .fs-search-fields-row--oneway .fs-field-class {
    grid-area: class;
  }

  .home-form .fs-search-fields-row--oneway .fs-field-passengers {
    grid-area: passengers;
  }

  .home-form .fs-search-fields-row--oneway .fs-field-search {
    grid-area: search;
  }
}

@media (min-width: 992px) {
  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) {
    grid-template-columns:
      minmax(140px, 1.2fr)
      minmax(140px, 1.2fr)
      minmax(130px, 1.35fr)
      minmax(140px, 1.5fr)
      minmax(96px, 0.95fr);
    grid-template-rows: auto;
    grid-template-areas: "departure return class passengers search";
  }

  .home-form .fs-search-fields-row--oneway {
    grid-template-columns:
      minmax(120px, 1.3fr)
      minmax(130px, 1.4fr)
      minmax(140px, 1.5fr)
      minmax(96px, 0.95fr);
    grid-template-rows: auto;
    grid-template-areas: "departure class passengers search";
  }

  .home-form .fs-search-fields-row .fs-field-class .fs-cabin-select {
    font-size: 13px !important;
    padding-left: 8px !important;
    padding-right: 24px !important;
  }
}

@media (min-width: 1200px) {
  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway) {
    grid-template-columns:
      minmax(150px, 1.25fr)
      minmax(150px, 1.25fr)
      minmax(150px, 1.45fr)
      minmax(160px, 1.55fr)
      minmax(110px, 1fr);
  }

  .home-form .fs-search-fields-row--oneway {
    grid-template-columns:
      minmax(130px, 1.35fr)
      minmax(150px, 1.45fr)
      minmax(160px, 1.55fr)
      minmax(110px, 1fr);
  }

  .home-form .fs-search-fields-row .fs-field-class .fs-cabin-select {
    font-size: 14px !important;
  }

  .home-form .searchb .airportselect-btn-submit {
    font-size: 17px !important;
    padding: 14px 16px !important;
  }
}

/* ---- Tablet (768px–991px) ---- */
@media (max-width: 1199px) {
  .home-form .fs-cabin-select {
    font-size: 12px !important;
  }
}

@media (max-width: 991px) {
  .home-banner.dest-banner .container {
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .home-form .tabform > .row > .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
  }

  .home-form .tabform > .row {
    margin-left: 0;
    margin-right: 0;
  }

  /* Stack date / class / passengers / search — avoid cramped 3-col grid */
  .home-form .fs-search-fields-row,
  .home-form .fs-search-fields-row--oneway {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    width: 100%;
  }

  .home-form .fs-search-fields-row > .fs-field-col,
  .home-form .fs-search-fields-row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
  }

  .home-form .fs-search-fields-row .fs-field-departure,
  .home-form .fs-search-fields-row .fs-field-return,
  .home-form .fs-search-fields-row .fs-field-class {
    min-width: 0 !important;
  }

  .home-form .fs-search-fields-row .fs-field-departure .form-group,
  .home-form .fs-search-fields-row .fs-field-return .form-group,
  .home-form .fs-search-fields-row .fs-field-class .form-group,
  .home-form .fs-search-fields-row .fs-field-passengers .passangermenuselect {
    min-height: auto !important;
    height: auto !important;
    border-right: none !important;
    border-bottom: 1px solid #e8eaef !important;
    padding: 12px 16px !important;
  }

  .home-form .fs-search-fields-row .fs-field-passengers {
    border-right: none !important;
  }

  .home-form .fs-search-fields-row .fs-field-passengers .input-wrap {
    min-height: auto !important;
    height: auto !important;
  }

  .home-form .fs-search-fields-row .fs-field-departure input[type="date"],
  .home-form .fs-search-fields-row .fs-field-return input[type="date"],
  .home-form .fs-search-fields-row .fs-field-class .fs-cabin-select {
    flex: none !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    border: 1px solid #e8eaef !important;
    border-radius: 6px !important;
  }

  .home-form .s011 .form-group {
    min-height: auto !important;
    border-right: none !important;
    border-bottom: 1px solid #e8eaef !important;
    padding: 12px 16px !important;
  }

  .home-form .searchb,
  .home-form .fs-field-search {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    padding: 12px 16px 16px !important;
  }

  .home-form .searchb .airportselect-btn-submit {
    min-height: 52px !important;
    border-radius: 8px !important;
    width: 100% !important;
  }

  .banner-content h1 {
    font-size: 1.5rem !important;
  }

  /* Airport From/To — full names must show (overrides styleform.css mobile rules) */
  .home-form .main-form .s011,
  .home-form .tab-content,
  .home-form .tabform {
    overflow: visible !important;
  }

  .home-form .tabform > .row > .col-lg-6:first-child > .row {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .home-form .tabform > .row > .col-lg-6:first-child > .row > [class*="col-"] {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
  }

  .home-form .tabform > .row > .col-lg-6:first-child > .row > [class*="col-"]:first-child {
    position: relative;
    margin-bottom: 0 !important;
  }

  .home-form .fs-airport-route-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
  }

  .home-form .fs-airport-route-row > .fs-airport-from-col,
  .home-form .fs-airport-route-row > .fs-airport-to-col,
  .home-form .fs-airport-route-row > [class*="col-"] {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home-form .fs-airport-swap-wrap {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    display: flex !important;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 4px 0 8px;
    pointer-events: none;
  }

  .home-form .fs-airport-swap-btn {
    pointer-events: auto;
  }

  .home-form .fs-airport-swap-btn .myechange {
    transform: rotate(90deg) !important;
  }

  .home-form .fs-airport-from-col .form-group,
  .home-form .fs-airport-to-col .form-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: auto !important;
    height: auto !important;
    overflow: visible !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8eaef !important;
  }

  .home-form .fs-airport-to-col label,
  .home-form .fs-airport-from-col label,
  .home-form .fs-airport-to-col .rInpTo,
  .home-form .fs-airport-from-col .rInpFrom {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-height: 44px !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .home-form .fs-airport-to-col label,
  .home-form .fs-airport-from-col label {
    min-height: 0 !important;
    height: auto !important;
  }

  .home-form .myechange {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: rotate(90deg) !important;
    z-index: 12;
    background: #fff;
    border: 2px solid #7c3aed !important;
    border-radius: 50%;
    padding: 8px !important;
  }

  .home-form .fs-airport-wrap .myechange {
    order: unset;
  }

  .home-form .fs-airport-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
    min-height: auto !important;
    height: auto !important;
  }

  .home-form .fs-airport-wrap label {
    order: 1;
  }

  .home-form .fs-airport-wrap .rInpFrom,
  .home-form .fs-airport-wrap .rInpTo {
    order: 2;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.35 !important;
    height: auto !important;
    min-height: 44px !important;
  }

  .home-form .fs-airport-wrap input[type="hidden"] {
    order: 3;
  }

  .home-form .fs-airport-wrap img {
    display: none !important;
    order: 99;
  }

  .home-form .s011 .form-group p.fs-airport-sub,
  .home-form .s011 .form-group #fromairspan,
  .home-form .s011 .form-group #tospan,
  .home-form .s011 .form-group #fromairspanow,
  .home-form .s011 .form-group #tospanow {
    display: block !important;
    visibility: visible !important;
    order: 10;
    flex: 0 0 auto !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
    font-size: 12px !important;
    color: #5b21b6 !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }
}

/* Tablet landscape / small desktop: stack From/To so airport names fit */
@media (min-width: 992px) and (max-width: 1199px) {
  .home-form .fs-airport-route-row {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
  }

  .home-form .fs-airport-route-row > .fs-airport-from-col,
  .home-form .fs-airport-route-row > .fs-airport-to-col,
  .home-form .fs-airport-route-row > [class*="col-"] {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
  }

  .home-form .fs-airport-swap-wrap {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 4px 0 8px;
  }

  .home-form .fs-airport-sub {
    font-size: 12px !important;
  }
}

/* Tablet: stack all search fields for consistent alignment */
@media (min-width: 768px) and (max-width: 991px) {

  .home-form .fs-search-fields-row:not(.fs-search-fields-row--oneway),
  .home-form .fs-search-fields-row--oneway {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    grid-template-columns: unset !important;
    grid-template-areas: unset !important;
    width: 100% !important;
  }

  .home-form .fs-search-fields-row > .fs-field-col,
  .home-form .fs-search-fields-row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    grid-area: unset !important;
  }
}

/* ---- Mobile (≤767px) ---- */
@media (max-width: 767px) {
  .home-banner.dest-banner .container {
    padding-left: 12px;
    padding-right: 12px;
  }

  .home-form {
    padding: 12px 0 20px !important;
    margin-top: 0 !important;
  }

  .home-form .airnavtabs {
    padding: 8px 8px 0 !important;
    margin: 0 !important;
  }

  .home-form .tab-content {
    overflow: visible !important;
  }

  .home-form .main-form .s011 {
    border-radius: 12px;
    max-width: 100%;
    overflow: visible !important;
  }

  .home-form .tabform {
    max-width: 100%;
    overflow: visible !important;
  }

  .home-form .tabform > .row > .col-lg-6:first-child > .row {
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    height: auto !important;
  }

  .home-form .tabform > .row > .col-lg-6:first-child > .row > [class*="col-"] {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
    float: none !important;
  }

  /* Override styleform.css icon-over-label mobile layout */
  .home-form .s011 .form-group {
    position: relative;
    min-height: auto !important;
    padding: 12px 14px !important;
    border-bottom: 1px solid #e8eaef !important;
  }

  .home-form .s011 .form-group img {
    display: none !important;
  }

  .home-form .s011 label,
  .home-form .fs-search-fields-row label,
  .home-form .passangermenuselect label {
    display: block !important;
    position: static !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #666 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.2;
    height: auto !important;
  }

  .home-form .s011 .airportselect,
  .home-form .s011 .rInpFrom,
  .home-form .s011 .rInpTo,
  .home-form .s011 input[type="date"],
  .home-form .s011 .fs-cabin-select,
  .home-form .s011 .inputfrmn.rInpDep {
    display: block !important;
    position: static !important;
    width: 100% !important;
    padding: 11px 12px !important;
    margin: 0 !important;
    border: 1px solid #e8eaef !important;
    border-radius: 8px !important;
    font-size: 15px !important;
    box-sizing: border-box !important;
    flex: none !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
  }

  .home-form .fs-search-fields-row .fs-field-departure .form-group,
  .home-form .fs-search-fields-row .fs-field-return .form-group,
  .home-form .fs-search-fields-row .fs-field-class .form-group,
  .home-form .fs-search-fields-row .fs-field-passengers .passangermenuselect {
    padding: 12px 14px !important;
  }

  .home-form .passangermenuselect .airportselect.passengers {
    border: 1px solid #e8eaef !important;
    border-radius: 8px !important;
    min-height: 44px !important;
    height: auto !important;
    padding: 11px 12px !important;
  }

  .home-form .searchb {
    padding: 0 14px 14px !important;
  }

  .home-form .searchb .airportselect-btn-submit {
    min-height: 50px !important;
    padding: 14px 20px !important;
    border-radius: 8px !important;
    margin-top: 0 !important;
  }

  .home-form .tab-content {
    overflow: visible !important;
  }

  .home-form .fs-airport-route-row {
    display: flex !important;
    flex-direction: column !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .home-form .fs-airport-route-row > .fs-airport-from-col,
  .home-form .fs-airport-route-row > .fs-airport-to-col,
  .home-form .fs-airport-route-row > [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home-form .fs-airport-swap-wrap {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    transform: none !important;
    margin: 2px 0 6px;
  }

  .home-form .fs-airport-from-col .form-group,
  .home-form .fs-airport-to-col .form-group {
    padding: 12px 14px !important;
    border-bottom: 1px solid #e8eaef !important;
  }

  .home-form .fs-airport-to-col .rInpTo,
  .home-form .fs-airport-from-col .rInpFrom,
  .home-form .fs-airport-to-col label,
  .home-form .fs-airport-from-col label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
  }

  /* Swap icon sits between stacked From / To */
  .home-form .tabform > .row > .col-lg-6:first-child > .row > [class*="col-"]:first-child .form-group {
    padding-bottom: 12px !important;
  }

  /* Airport subtitles — full names under From & To */
  .home-form .main-form .s011,
  .home-form .tab-content,
  .home-form .tabform {
    overflow: visible !important;
  }

  .home-form .fs-airport-wrap,
  .home-form .tabform > .row > .col-lg-6:first-child .form-group {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow: visible !important;
    min-height: auto !important;
    height: auto !important;
  }

  .home-form .fs-airport-wrap .rInpFrom,
  .home-form .fs-airport-wrap .rInpTo,
  .home-form .tabform > .row > .col-lg-6:first-child .rInpFrom,
  .home-form .tabform > .row > .col-lg-6:first-child .rInpTo {
    order: 2;
    flex: 0 0 auto !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    text-overflow: unset !important;
    height: auto !important;
    min-height: 44px !important;
    max-height: none !important;
  }

  .home-form .fs-airport-wrap label,
  .home-form .tabform > .row > .col-lg-6:first-child .form-group label {
    order: 1;
  }

  .home-form .fs-airport-wrap input[type="hidden"],
  .home-form .tabform > .row > .col-lg-6:first-child .form-group input[type="hidden"] {
    order: 3;
  }

  .home-form .s011 .form-group p.fs-airport-sub,
  .home-form .s011 .form-group #fromairspan,
  .home-form .s011 .form-group #tospan,
  .home-form .s011 .form-group #fromairspanow,
  .home-form .s011 .form-group #tospanow {
    display: block !important;
    visibility: visible !important;
    order: 10;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: anywhere !important;
    line-height: 1.4 !important;
    font-size: 12px !important;
    color: #5b21b6 !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }

  .home-form .fs-airport-wrap img,
  .home-form .tabform > .row > .col-lg-6:first-child .form-group img {
    display: none !important;
  }

  .home-form .econmcabin {
    display: none !important;
    position: static !important;
  }

  .fs-flash-promo {
    font-size: 13px;
    padding: 12px;
  }

  .fs-hero-call-deal {
    font-size: 14px !important;
  }

  .sec-padd.top-padd,
  .sec-padd {
    padding: 32px 0 !important;
  }

  .ppcluntxt .d-flex > div {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .fs-results-call-banner {
    flex-direction: column;
    text-align: center;
  }

  .fs-results-call-banner .fs-call-banner-phone {
    width: 100%;
    text-align: center;
  }
}

/* ---- How to Book Cheap Flights — step cards ---- */
.fs-booking-steps-section {
  margin-top: 8px;
  padding: 0 8px;
}

.fs-booking-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 16px;
  align-items: stretch;
}

.fs-booking-step {
  margin: 0;
  padding: 0;
  min-width: 0;
  display: flex;
}

.fs-booking-steps-section .fs-booking-step .routenbestbox {
  width: 100%;
}

.fs-booking-steps-section .routeimg_bestbox::after {
  display: none;
}

.fs-booking-steps-section .routetext_bestbox a {
  color: #7c3aed;
  text-decoration: underline;
}

.fs-booking-steps-section .routetext_bestbox a:hover {
  color: #5b21b6;
}

@media (max-width: 1199px) {
  .fs-booking-steps {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .fs-booking-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  .fs-booking-steps-section .routenbestbox {
    min-height: 160px;
  }
}

@media (max-width: 479px) {
  .fs-booking-steps {
    grid-template-columns: 1fr;
  }
}

/* Mobile & tablet: stack From / swap / To — both airport fields must stay visible */
@media (max-width: 1199px) {
  .home-form .tab-content,
  .home-form .main-form,
  .home-form .main-form .s011,
  .home-form .tabform,
  .home-form .tabform > .row,
  .home-form .tabform > .row > .col-lg-6:first-child,
  .home-form .tabform > .row > .col-lg-6:first-child > .row,
  .home-form .fs-airport-route-row {
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  .home-form .tabform > .row {
    align-items: flex-start !important;
  }

  .home-form .tabform > .row > .col-lg-6:first-child {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .home-form .fs-airport-route-row {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 0 !important;
    gap: 0;
  }

  .home-form .fs-airport-route-row::before,
  .home-form .fs-airport-route-row::after {
    display: none !important;
    content: none !important;
  }

  .home-form .fs-airport-from-col,
  .home-form .fs-airport-to-col,
  .home-form .fs-airport-route-row > [class*="col-"] {
    order: 0;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 auto !important;
    min-height: auto !important;
    height: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .home-form .fs-airport-from-col {
    order: 1 !important;
  }

  .home-form .fs-airport-swap-wrap {
    order: 2 !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 4px 0 8px !important;
    flex: 0 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    pointer-events: none;
    z-index: 2;
  }

  .home-form .fs-airport-to-col {
    order: 3 !important;
  }

  .home-form .fs-airport-from-col .form-group,
  .home-form .fs-airport-to-col .form-group,
  .home-form .fs-airport-wrap {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: visible !important;
    min-height: auto !important;
    height: auto !important;
    padding: 12px 16px !important;
    border-bottom: 1px solid #e8eaef !important;
    margin: 0 !important;
  }

  .home-form .fs-airport-from-col label,
  .home-form .fs-airport-to-col label,
  .home-form .fs-airport-wrap label {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    color: #666 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    line-height: 1.2;
  }

  .home-form .fs-airport-from-col .rInpFrom,
  .home-form .fs-airport-to-col .rInpTo,
  .home-form .fs-airport-wrap .rInpFrom,
  .home-form .fs-airport-wrap .rInpTo,
  .home-form .s011 .rInpFrom,
  .home-form .s011 .rInpTo {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 11px 12px !important;
    border: 1px solid #e8eaef !important;
    border-radius: 8px !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow: visible !important;
    text-overflow: unset !important;
    line-height: 1.35 !important;
    flex: 0 0 auto !important;
  }

  .home-form .fs-airport-swap-btn {
    pointer-events: auto;
  }

  .home-form .fs-airport-swap-btn .myechange,
  .home-form .fs-airport-route-row .myechange {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: rotate(90deg) !important;
    margin: 0 !important;
  }

  .home-form .fs-airport-wrap img,
  .home-form .fs-airport-from-col .form-group img,
  .home-form .fs-airport-to-col .form-group img {
    display: none !important;
  }

  .home-form .s011 .form-group p.fs-airport-sub,
  .home-form .s011 .form-group #fromairspan,
  .home-form .s011 .form-group #tospan,
  .home-form .s011 .form-group #fromairspanow,
  .home-form .s011 .form-group #tospanow {
    display: block !important;
    visibility: visible !important;
    order: 10;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 6px 0 0 !important;
    padding: 0 !important;
  }
}
