/* =========================================================
   Fly Indo Airways - Custom Styles & Overrides
   ========================================================= */

/* Section Title Centering */
.view-the-latest-offers-departing-from2 {
  left: 0 !important;
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  text-align: center !important;
}

/* Offers Carousel / Slider on Homepage */
.offers-cards-wrapper {
  position: absolute;
  left: 48px;
  top: 98px;
  width: 1140px;
  height: 170px;
  padding-top: 4px;
  box-sizing: border-box;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
  z-index: 5;
}

.offers-cards-wrapper::-webkit-scrollbar {
  display: none; /* Chrome/Safari */
  width: 0;
  height: 0;
}

.offers-cards-track {
  display: flex;
  flex-direction: row;
  gap: 24px;
  width: max-content;
  padding: 0;
  margin: 0;
}

.offer-flight-card,
.offer-flight-card:focus,
.offer-flight-card:hover,
.offer-flight-card:active {
  position: relative;
  flex: 0 0 364px;
  width: 364px;
  height: 160px;
  background: #ffffff;
  border-radius: 4px;
  box-shadow: none !important;
  border: none !important;
  outline: none !important;
  overflow: hidden;
  display: block;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.25s ease;
}

.offer-flight-card:hover {
  transform: translateY(-3px);
}



.offer-flight-card .offer-card-bg {
  position: absolute;
  inset: 0;
  background: #ffffff;
  border-radius: 4px;
  z-index: 1;
}

.offer-flight-card .offer-card-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 160px;
  height: 160px;
  object-fit: cover;
  border-radius: 4px 0 0 4px;
  z-index: 2;
  background: #cbd5e1;
}

.offer-flight-card .offer-card-route {
  position: absolute;
  left: 174px;
  right: 12px;
  top: 14px;
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  color: #2649aa;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  z-index: 3;
}

.offer-flight-card .offer-card-type {
  position: absolute;
  left: 174px;
  top: 72px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 3;
}

.offer-flight-card .offer-card-plane-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  object-fit: contain;
}

.offer-flight-card .offer-card-type-text {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.55);
}

.offer-flight-card .offer-card-price {
  position: absolute;
  right: 14px;
  bottom: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 3;
}

.offer-flight-card .offer-card-tag-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  object-fit: contain;
}

.offer-flight-card .offer-card-price-value {
  display: flex;
  align-items: baseline;
  gap: 4px;
  color: #eb453c;
}

.offer-flight-card .usd-currency {
  font-family: 'Roboto', sans-serif;
  font-size: 14px;
  font-weight: 500;
}

.offer-flight-card .usd-amount {
  font-family: 'Roboto', sans-serif;
  font-size: 16px;
  font-weight: 700;
}

/* Offer slider controls */
.mdi-arrow-back-circle-outline,
.mdi-arrow-forward-circle {
  cursor: pointer;
  z-index: 20 !important;
  pointer-events: auto !important;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.mdi-arrow-back-circle-outline:hover,
.mdi-arrow-forward-circle:hover {
  opacity: 0.85;
  transform: scale(1.12);
}

.view-more,
.mdi-chevron-down-outline {
  z-index: 15 !important;
  pointer-events: auto !important;
  cursor: pointer;
}

/* =========================================================
   About Us Page (Figma Spec & Design System)
   ========================================================= */
.about-us-page {
  background: #ffffff;
  min-height: 1638px;
  width: 1920px;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  transform-origin: top center;
}

.about-us-page .header {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 64px;
  z-index: 100;
}

.about-us-page .about-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 500;
  position: absolute;
  left: 390px;
  top: 96px;
  margin: 0;
}

.about-us-page .about-tabs {
  position: absolute;
  left: 390px;
  top: 162px;
  display: flex;
  align-items: center;
  gap: 32px;
  z-index: 5;
}

.about-us-page .about-tab-item {
  color: var(--neutral-color-45, rgba(0, 0, 0, 0.45));
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  text-decoration: none !important;
  padding: 0 12px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  white-space: nowrap;
}

.about-us-page .about-tab-item:hover {
  color: #2649aa;
}

.about-us-page .about-tab-item.active {
  background: var(--yellow-malay-p-800, #f5aa14);
  color: #ffffff !important;
}

.about-us-page .about-img-top-left {
  border-radius: 4px;
  width: 364px;
  height: 228px;
  position: absolute;
  left: 390px;
  top: 232px;
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.about-us-page .about-img-bottom-left {
  border-radius: 4px;
  width: 364px;
  height: 228px;
  position: absolute;
  left: 390px;
  top: 484px;
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.about-us-page .about-img-right {
  border-radius: 4px;
  width: 752px;
  height: 480px;
  position: absolute;
  left: 778px;
  top: 232px;
  object-fit: cover;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.about-us-page .about-content-body {
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85));
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 400;
  position: absolute;
  left: 390px;
  top: 760px;
  width: 1140px;
  box-sizing: border-box;
}

.about-us-page .about-content-body p {
  margin-top: 0;
  margin-bottom: 16px;
}

.about-us-page .about-content-body a {
  color: #2649aa;
  text-decoration: underline;
}

.about-us-page .about-content-body strong {
  color: #1a3675;
  font-weight: 600;
}

.about-us-page .footer {
  width: 1920px;
  height: 533px;
  position: absolute;
  left: 0px;
  top: 1105px;
}

/* =========================================================
   Contact Us Page (Clean Responsive & Dynamic Layout)
   ========================================================= */
.contact-page-container {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 60px 0;
  box-sizing: border-box;
}

.contact-page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 32px 0;
}

/* Tabs */
.contact-page-container .about-tabs {
  display: flex;
  align-items: center;
  gap: 20px;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 6px;
  margin-bottom: 35px;
  scrollbar-width: thin;
}

.contact-page-container .about-tab-item {
  color: var(--neutral-color-45, rgba(0, 0, 0, 0.45));
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  text-decoration: none !important;
  padding: 0 8px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.contact-page-container .about-tab-item:hover {
  color: #2649aa;
}

.contact-page-container .about-tab-item.active {
  background: var(--yellow-malay-p-800, #f5aa14);
  color: #ffffff !important;
  padding: 0 14px;
}

/* Hero Banner */
.contact-hero-banner {
  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 40px;
}

.contact-hero-banner .hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.contact-hero-banner .hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--transparent-blue-48, rgba(14, 97, 215, 0.48));
  border-radius: 4px;
  pointer-events: none;
}

.contact-hero-banner .hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-align: center;
  pointer-events: none;
  z-index: 2;
}

.contact-hero-banner .hero-title {
  font-family: "Roboto", sans-serif;
  font-size: 64px;
  line-height: 1.2;
  font-weight: 400;
  margin: 0;
  color: #ffffff;
}

.contact-hero-banner .hero-question-mark {
  font-family: "Roboto", sans-serif;
  font-size: 64px;
  line-height: 1.2;
  font-weight: 400;
  margin: 4px 0 0 0;
  color: #ffffff;
}

/* Contact Form Wrapper - 752px Centered Flat Layout */
.contact-form-wrapper {
  max-width: 752px;
  width: 100%;
  margin: 0 auto;
}

.contact-form-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140%;
  font-weight: 500;
  margin: 0 0 24px 0;
}

.contact-form-wrapper .contact-alert {
  width: 100%;
  border-radius: 4px;
  padding: 12px 16px;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  margin-bottom: 20px;
}

.contact-form-wrapper .contact-alert.success {
  background: #f6ffed;
  border: 1px solid #b7eb8f;
  color: #389e0d;
}

.contact-form-wrapper .contact-alert.error {
  background: #fff2f0;
  border: 1px solid #ffccc7;
  color: #cf1322;
}

.contact-form-wrapper .form-group-wrap {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
  width: 100%;
}

.contact-form-wrapper .form-label {
  text-align: left;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 400;
  margin: 0 0 8px 0;
  display: block;
}

.contact-form-wrapper .form-label .label-text {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
}

.contact-form-wrapper .form-label .required-star {
  color: var(--red-malya-p500, #eb453c);
  margin-left: 2px;
}

.contact-form-wrapper .contact-input {
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid var(--black-15, rgba(0, 0, 0, 0.15));
  width: 100%;
  height: 40px;
  padding: 0 16px;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.contact-form-wrapper .contact-input::placeholder {
  color: var(--black-35, rgba(0, 0, 0, 0.35));
}

.contact-form-wrapper .select-wrapper {
  position: relative;
  width: 100%;
  height: 40px;
}

.contact-form-wrapper .contact-select {
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid var(--black-15, rgba(0, 0, 0, 0.15));
  width: 100%;
  height: 100%;
  padding: 0 36px 0 16px;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  cursor: pointer;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.contact-form-wrapper .select-wrapper .mdi-caret-down-outline {
  width: 16px;
  height: 16px;
  position: absolute;
  right: 16px;
  top: 12px;
  pointer-events: none;
}

.contact-form-wrapper .contact-textarea {
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid var(--black-15, rgba(0, 0, 0, 0.15));
  width: 100%;
  height: 120px;
  padding: 12px 16px;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  color: rgba(0, 0, 0, 0.85);
  outline: none;
  resize: vertical;
  line-height: 1.5;
  box-sizing: border-box;
  transition: border-color 0.2s ease;
}

.contact-form-wrapper .contact-textarea::placeholder {
  color: var(--black-35, rgba(0, 0, 0, 0.35));
}

.contact-form-wrapper .contact-input:focus,
.contact-form-wrapper .contact-select:focus,
.contact-form-wrapper .contact-textarea:focus {
  border-color: #2649aa;
}

.contact-form-wrapper .form-action-wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.contact-form-wrapper .btn-send-message {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 189px;
  height: 40px;
  background: var(--red-malya-p500, #eb453c);
  color: #ffffff;
  border: none;
  border-radius: 4px;
  font-family: var(--roboto-medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 500;
  letter-spacing: 0.5px;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.1s ease;
}

.contact-form-wrapper .btn-send-message:hover {
  background: #d8352c;
}

.contact-form-wrapper .btn-send-message:active {
  transform: scale(0.98);
}

@media (max-width: 768px) {
  .contact-page-container {
    padding: 0 15px 40px;
  }
  .contact-page-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .contact-page-container .about-tabs {
    gap: 12px;
    margin-bottom: 24px;
  }
  .contact-hero-banner {
    height: 180px;
    margin-bottom: 24px;
  }
  .contact-hero-banner .hero-title {
    font-size: 28px;
  }
  .contact-hero-banner .hero-question-mark {
    font-size: 28px;
  }
  .contact-form-wrapper {
    max-width: 100%;
  }
  .contact-form-wrapper .btn-send-message {
    width: 100%;
  }
}

/* =========================================================
   Privacy Policy & Terms of Use Pages (Clean Responsive & Dynamic Layout)
   ========================================================= */
.privacy-policy-page,
.terms-of-use-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 40px 0;
  box-sizing: border-box;
}

.privacy-policy-page .page-title,
.terms-of-use-page .page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 32px 0;
}

.privacy-policy-page .about-tabs,
.terms-of-use-page .about-tabs {
  display: flex;
  align-items: center;
  gap: 20px;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 6px;
  margin-bottom: 35px;
  scrollbar-width: thin;
}

.privacy-policy-page .about-tab-item,
.terms-of-use-page .about-tab-item {
  color: var(--neutral-color-45, rgba(0, 0, 0, 0.45));
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  text-decoration: none !important;
  padding: 0 8px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.privacy-policy-page .about-tab-item:hover,
.terms-of-use-page .about-tab-item:hover {
  color: #2649aa;
}

.privacy-policy-page .about-tab-item.active,
.terms-of-use-page .about-tab-item.active {
  background: var(--yellow-malay-p-800, #f5aa14);
  color: #ffffff !important;
  padding: 0 14px;
}

.privacy-policy-page .privacy-hero-banner,
.terms-of-use-page .terms-hero-banner {
  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 32px;
}

.privacy-policy-page .privacy-hero-banner .hero-bg-img,
.terms-of-use-page .terms-hero-banner .hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.privacy-policy-page .privacy-hero-banner .hero-overlay,
.terms-of-use-page .terms-hero-banner .hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--transparent-blue-48, rgba(14, 97, 215, 0.48));
  border-radius: 4px;
  pointer-events: none;
}

.privacy-policy-page .privacy-hero-banner .hero-content,
.terms-of-use-page .terms-hero-banner .hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-align: center;
  pointer-events: none;
  z-index: 2;
}

.privacy-policy-page .privacy-hero-banner .hero-title,
.terms-of-use-page .terms-hero-banner .hero-title {
  font-family: "Roboto", sans-serif;
  font-size: 64px;
  line-height: 140.63%;
  font-weight: 400;
  margin: 0;
  color: #ffffff;
}

.privacy-policy-page .privacy-policy-subtitle,
.terms-of-use-page .terms-of-use-subtitle {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-16px-font-family, "Roboto", sans-serif);
  font-size: 16px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 14px 0;
}

.privacy-policy-page .privacy-policy-body,
.terms-of-use-page .terms-of-use-body {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  text-align: left;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 400;
  width: 100%;
}

.privacy-policy-page .privacy-policy-body p,
.terms-of-use-page .terms-of-use-body p {
  margin-top: 0;
  margin-bottom: 14px;
}

.privacy-policy-page .privacy-policy-body strong,
.privacy-policy-page .privacy-policy-body b,
.terms-of-use-page .terms-of-use-body strong,
.terms-of-use-page .terms-of-use-body b {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  font-family: var(--roboto-medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: inherit;
  font-weight: 600;
}

.privacy-policy-page .privacy-policy-body a,
.terms-of-use-page .terms-of-use-body a {
  color: #2649aa;
  text-decoration: underline;
}

@media (max-width: 991px) {
  .privacy-policy-page .privacy-hero-banner,
  .terms-of-use-page .terms-hero-banner {
    height: 260px;
  }
  .privacy-policy-page .privacy-hero-banner .hero-title,
  .terms-of-use-page .terms-hero-banner .hero-title {
    font-size: 42px;
  }
}

@media (max-width: 768px) {
  .privacy-policy-page,
  .terms-of-use-page {
    padding: 20px 15px 40px;
  }
  .privacy-policy-page .page-title,
  .terms-of-use-page .page-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .privacy-policy-page .about-tabs,
  .terms-of-use-page .about-tabs {
    gap: 12px;
    margin-bottom: 24px;
  }
  .privacy-policy-page .privacy-hero-banner,
  .terms-of-use-page .terms-hero-banner {
    height: 180px;
    margin-bottom: 24px;
  }
  .privacy-policy-page .privacy-hero-banner .hero-title,
  .terms-of-use-page .terms-hero-banner .hero-title {
    font-size: 28px;
  }
}

/* =========================================================
   FAQ Page (Figma Spec & Design System)
   ========================================================= */
.about-us-faq {
  background: #ffffff;
  min-height: 1930px;
  width: 1920px;
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  transform-origin: top center;
  box-sizing: border-box;
}

.about-us-faq * {
  box-sizing: border-box;
}

.about-us-faq .header {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 64px;
  z-index: 100;
}

.about-us-faq .faq-heading {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 500;
  position: absolute;
  left: 390px;
  top: 96px;
  margin: 0;
}

.about-us-faq .about-tabs {
  position: absolute;
  left: 390px;
  top: 162px;
  display: flex;
  align-items: center;
  gap: 32px;
  z-index: 5;
}

.about-us-faq .about-tab-item {
  color: var(--neutral-color-45, rgba(0, 0, 0, 0.45));
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 24px;
  font-weight: 500;
  text-decoration: none !important;
  padding: 0 12px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  white-space: nowrap;
}

.about-us-faq .about-tab-item:hover {
  color: #2649aa;
}

.about-us-faq .about-tab-item.active {
  background: var(--yellow-malay-p-800, #f5aa14);
  color: #ffffff !important;
}

.about-us-faq .rectangle-222 {
  border-radius: 4px;
  width: 1140px;
  height: 360px;
  position: absolute;
  left: 390px;
  top: 237px;
  object-fit: cover;
}

.about-us-faq .rectangle-223 {
  background: var(--transparent-blue-48, rgba(14, 97, 215, 0.48));
  border-radius: 4px;
  width: 1140px;
  height: 360px;
  position: absolute;
  left: 390px;
  top: 237px;
  pointer-events: none;
}

.about-us-faq .faq3 {
  color: #ffffff;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 64px;
  line-height: 1.4;
  font-weight: 400;
  position: absolute;
  left: 390px;
  width: 1140px;
  top: 321px;
  pointer-events: none;
  z-index: 2;
  margin: 0;
}

.about-us-faq .div {
  color: #ffffff;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 80px;
  line-height: 1;
  font-weight: 400;
  position: absolute;
  left: 390px;
  width: 1140px;
  top: 410px;
  pointer-events: none;
  z-index: 2;
  margin: 0;
}

.about-us-faq .faq-list {
  position: absolute;
  left: 390px;
  top: 629px;
  width: 1140px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  z-index: 10;
}

.about-us-faq .faq-accordion-item {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  transition: box-shadow 0.2s ease;
  overflow: hidden;
  user-select: none;
}

.about-us-faq .faq-accordion-item:hover {
  box-shadow: 0px 4px 35px 0px rgba(0, 0, 0, 0.2);
}

.about-us-faq .faq-item-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 12px 16px;
  min-height: 48px;
  gap: 16px;
  position: relative;
}

.about-us-faq .faq-item-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-16px-font-family, "Roboto", sans-serif);
  font-size: 16px;
  line-height: 140.63%;
  font-weight: 500;
  margin: 0;
  flex: 1;
}

.about-us-faq .faq-item-header .mdi-chevron-down-outline,
.about-us-faq .faq-item-header .faq-chevron-icon {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;
  min-height: 24px !important;
  flex-shrink: 0 !important;
  transition: transform 0.25s ease !important;
  margin-top: 0px !important;
  display: block !important;
  cursor: pointer !important;
  z-index: 2 !important;
}

.about-us-faq .faq-accordion-item.is-open .mdi-chevron-down-outline,
.about-us-faq .faq-accordion-item.is-open .faq-chevron-icon {
  transform: rotate(180deg) !important;
}

.about-us-faq .faq-item-content {
  display: none;
}

.about-us-faq .faq-accordion-item.is-open .faq-item-content {
  display: block;
}

.about-us-faq .faq-item-divider,
.about-us-faq .line-120 {
  border-style: solid;
  border-color: var(--neutral-color-15, rgba(0, 0, 0, 0.15));
  border-width: 1px 0 0 0;
  margin: 0 16px;
  height: 0px;
}

.about-us-faq .faq-item-body {
  color: var(--black-55, rgba(0, 0, 0, 0.55));
  text-align: left;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 400;
  padding: 12px 16px 16px 16px;
}

.about-us-faq .faq-item-body p {
  margin: 0 0 10px 0;
}

.about-us-faq .faq-item-body p:last-child {
  margin-bottom: 0;
}

.about-us-faq .faq-item-body a {
  color: #2649aa;
  text-decoration: underline;
}

.about-us-faq .footer {
  width: 1920px;
  height: 533px;
  position: absolute;
  left: 0px;
  top: 1397px;
}

/* =========================================================
   Fare Rules Page & Modern Table Styling
   ========================================================= */
.page-fare-rules-container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 36px 20px 60px;
  box-sizing: border-box;
}

.fare-rules-header {
  margin-bottom: 28px;
}

.fare-rules-header .page-title {
  color: var(--blue-malay-p600, #2649aa);
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
  margin: 0 0 8px 0;
  letter-spacing: -0.3px;
}

.fare-rules-header .page-subtitle {
  color: #64748b;
  font-family: "Roboto", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  margin: 0;
}

.fare-rules-card {
  background: #ffffff;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
  padding: 36px 40px;
  box-sizing: border-box;
}

.fare-rules-content {
  color: #334155;
  font-family: "Roboto", -apple-system, BlinkMacSystemFont, sans-serif;
  font-size: 14px;
  line-height: 1.7;
}

.fare-rules-content p {
  margin-top: 0;
  margin-bottom: 14px;
}

.fare-rules-content p em {
  display: block;
  background: #f8fafc;
  border-left: 4px solid #2563eb;
  padding: 14px 18px;
  border-radius: 0 8px 8px 0;
  font-style: normal;
  color: #334155;
  font-size: 14px;
  margin-bottom: 14px;
  line-height: 1.6;
}

.fare-rules-content p:has(strong u),
.fare-rules-content p em:has(strong u) {
  background: #fffbeb !important;
  border-left-color: #f59e0b !important;
  color: #92400e !important;
}

.fare-rules-content h2,
.fare-rules-content h3,
.fare-rules-content > p strong {
  color: #1a3675;
  font-size: 16px;
  font-weight: 700;
}

.fare-rules-content ul {
  padding-left: 20px;
  margin: 12px 0 20px 0;
}

.fare-rules-content li {
  color: #475569;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 8px;
}

.fare-rules-content a {
  color: #2649aa;
  font-weight: 500;
  text-decoration: underline;
}

/* =========================================================
   Unified Global Airline Table Styling (Figma Standard)
   Applied to ALL tables across the website:
   - Deep solid navy (#00247d) headers, white centered text, 1px solid white dividers
   - Pure white background (#ffffff), no zebra, no hover color shift
   - Left-aligned body cells, generous 16px 20px padding, subtle 1px rgba(0,0,0,0.1) borders
   - Bold first column / class labels
   - Responsive box-shadow outer card
   - No badges, no gradients, no colorful icons
   ========================================================= */

/* Table Responsive Outer Container with Soft Shadow */
.fare-table-responsive,
.table-responsive,
.tableGroup-responsive,
.flight-details-table-scroll {
  width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  margin: 24px 0 !important;
  border-radius: 4px !important;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15) !important;
  background: #ffffff !important;
  border: none !important;
}

/* Universal Table Base */
.fare-matrix-table,
.airline-data-table,
.fare-table-responsive table,
.table-responsive table,
.tableGroup-responsive table,
.content-body table:not(.no-custom-table),
.fare-rules-content table,
.terms-of-use-body table,
.privacy-policy-body table,
.page-baggage-policy-container table,
.page-fare-rules-container table,
.faq-list table {
  width: 100% !important;
  min-width: 800px;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  font-family: var(--regular-14px-font-family, "Roboto", -apple-system, BlinkMacSystemFont, sans-serif) !important;
  font-size: 14px !important;
  background: #ffffff !important;
  margin: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
}

/* Headers: Solid Navy, White Text, Centered, White Dividers */
.fare-matrix-table thead th,
.fare-matrix-table thead td,
.airline-data-table thead th,
.airline-data-table thead td,
.fare-table-responsive table thead th,
.fare-table-responsive table thead td,
.table-responsive table thead th,
.tableGroup-responsive table thead th,
.content-body table thead th,
.fare-rules-content table thead th,
.terms-of-use-body table thead th,
.page-baggage-policy-container table thead th,
.fare-rules-content table tr.tr-flight-category th,
.fare-rules-content table tr.tr-flight-category td,
.fare-rules-content table tr.tr-international th,
.fare-rules-content table tr.tr-international td,
.fare-rules-content table tr.tr-domestic th,
.fare-rules-content table tr.tr-domestic td,
.fare-table-responsive table tr.tr-flight-category th,
.fare-table-responsive table tr.tr-flight-category td,
.fare-table-responsive table tr.tr-category-header th,
.fare-table-responsive table tr.tr-category-header td {
  background: var(--blue-malay-900, #00247d) !important;
  color: #ffffff !important;
  padding: 16px 14px !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  text-align: center !important;
  vertical-align: middle !important;
  border: 1px solid #ffffff !important;
  line-height: 1.4 !important;
  letter-spacing: 0.2px !important;
  text-transform: none !important;
}

/* All text & elements inside header rows stay white */
.fare-matrix-table thead th *,
.airline-data-table thead th *,
.fare-table-responsive table thead th *,
.content-body table thead th *,
.terms-of-use-body table thead th *,
.page-baggage-policy-container table thead th *,
.fare-table-responsive table tr.tr-flight-category *,
.fare-table-responsive table tr.tr-category-header *,
.fare-rules-content table tr.tr-flight-category *,
.fare-rules-content table tr.tr-international *,
.fare-rules-content table tr.tr-domestic * {
  color: #ffffff !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Sub-headers row (e.g. CLASS, FARE BASIS, BEFORE DEPARTURE, etc.) */
.fare-matrix-table thead tr:nth-child(2) th,
.airline-data-table thead tr:nth-child(2) th,
.fare-table-responsive table thead tr:nth-child(2) th,
.fare-table-responsive table tr.tr-subheader th,
.fare-table-responsive table tr.tr-subheader td,
.fare-rules-content table tr.tr-subheader th,
.fare-rules-content table tr.tr-subheader td {
  background: var(--blue-malay-900, #00247d) !important;
  color: #ffffff !important;
  padding: 12px 14px !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 140% !important;
  text-align: center !important;
  vertical-align: middle !important;
  border: 1px solid #ffffff !important;
}

/* Table Body Rows */
.fare-matrix-table tbody tr,
.airline-data-table tbody tr,
.fare-table-responsive table tbody tr,
.table-responsive table tbody tr,
.content-body table tbody tr,
.terms-of-use-body table tbody tr,
.page-baggage-policy-container table tbody tr,
.faq-list table tbody tr {
  border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
  background: #ffffff !important;
}

/* Body Cells: Pure White Background, Subtle Gray Borders, Left-aligned, Generous Padding */
.fare-matrix-table tbody td,
.airline-data-table tbody td,
.fare-table-responsive table tbody td,
.table-responsive table tbody td,
.content-body table tbody td,
.terms-of-use-body table tbody td,
.page-baggage-policy-container table tbody td,
.faq-list table tbody td {
  padding: 16px 20px !important;
  text-align: left !important;
  vertical-align: middle !important;
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85)) !important;
  font-size: 14px !important;
  line-height: 140.63% !important;
  font-weight: 400 !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  background: #ffffff !important;
}

/* No zebra striping, no hover background shift */
.fare-matrix-table tbody tr:hover td,
.airline-data-table tbody tr:hover td,
.fare-table-responsive table tbody tr:hover td,
.table-responsive table tbody tr:hover td,
.content-body table tbody tr:hover td,
.terms-of-use-body table tbody tr:hover td,
.page-baggage-policy-container table tbody tr:hover td {
  background: #ffffff !important;
}

/* First Column / Row Labels in Body: Bold and Left-aligned */
.fare-matrix-table tbody td:first-child,
.fare-matrix-table tbody td.td-class,
.airline-data-table tbody tr:not(.tr-flight-category):not(.tr-category-header) > td:first-child,
.fare-table-responsive table tbody tr:not(.tr-flight-category):not(.tr-category-header) > td:first-child,
.table-responsive table tbody tr:not(.tr-flight-category):not(.tr-category-header) > td:first-child,
.content-body table tbody tr:not(.tr-flight-category):not(.tr-category-header) > td:first-child,
.terms-of-use-body table tbody tr:not(.tr-flight-category):not(.tr-category-header) > td:first-child,
.page-baggage-policy-container table tbody tr:not(.tr-flight-category):not(.tr-category-header) > td:first-child {
  text-align: left !important;
  padding: 16px 20px !important;
  font-weight: 700 !important;
  color: rgba(0, 0, 0, 0.85) !important;
  background: #ffffff !important;
}

.fare-matrix-table tbody td p,
.airline-data-table tbody td p,
.fare-table-responsive table tbody td p,
.content-body table tbody td p,
.terms-of-use-body table tbody td p,
.page-baggage-policy-container table tbody td p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: inherit !important;
  color: inherit !important;
}

/* ============================================================
   FLIGHT DETAILS - FARE CONDITIONS MATRIX TABLE
   Clean, balanced layout: Column 1 left-aligned, Columns 2-6 centered.
   No awkward word breaks, no misplaced alignments.
   ============================================================ */
.flight-details-conditions {
  min-width: 0;
  width: 100%;
}

.flight-details-conditions h2 {
  background: var(--blue-malay-900, #00247d) !important;
  color: #ffffff !important;
  text-align: center !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
  padding: 16px !important;
}

.flight-details-table-scroll {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  width: 100% !important;
}

.flight-details-conditions table {
  width: 100% !important;
  min-width: 820px !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  table-layout: auto !important;
  font-family: var(--regular-14px-font-family, "Roboto", -apple-system, BlinkMacSystemFont, sans-serif) !important;
  font-size: 14px !important;
  background: #ffffff !important;
  margin: 0 !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
}

/* Headers: Navy Blue, White Separators */
.flight-details-conditions thead th {
  background: var(--blue-malay-900, #00247d) !important;
  color: #ffffff !important;
  border: 1px solid #ffffff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
  letter-spacing: 0.2px !important;
}

.flight-details-conditions thead th * {
  color: #ffffff !important;
}

/* Column 1 Header ("Condition"): Left-aligned, matches row label padding */
.flight-details-conditions thead th:first-child,
.flight-details-conditions thead th.th-condition {
  width: 20% !important;
  min-width: 145px !important;
  text-align: left !important;
  padding: 14px 18px !important;
  white-space: nowrap !important;
}

/* Fare Headers (Columns 2-6): Perfectly Centered */
.flight-details-conditions thead th:not(:first-child),
.flight-details-conditions thead th.th-fare {
  width: 16% !important;
  min-width: 135px !important;
  text-align: center !important;
  padding: 12px 8px !important;
  white-space: normal !important;
}

/* Body Rows */
.flight-details-conditions tbody tr {
  border-top: 1px solid rgba(0, 0, 0, 0.1) !important;
  background: #ffffff !important;
}

/* Row Labels (Column 1): Left-aligned with 18px padding, bold, no word-split */
.flight-details-conditions tbody th,
.flight-details-conditions tbody th.td-condition {
  text-align: left !important;
  padding: 14px 18px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  color: rgba(0, 0, 0, 0.85) !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  vertical-align: middle !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}

/* Data Cells (Columns 2-6): Centered Horizontally & Vertically */
.flight-details-conditions tbody td,
.flight-details-conditions tbody td.td-fare {
  text-align: center !important;
  vertical-align: middle !important;
  padding: 12px 10px !important;
  font-size: 13.5px !important;
  font-weight: 400 !important;
  color: rgba(0, 0, 0, 0.8) !important;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  min-width: 135px !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.35 !important;
}

.flight-details-conditions tbody tr:hover td,
.flight-details-conditions tbody tr:hover th {
  background: #ffffff !important;
}

/* Category row in body (e.g. DOMESTIC FLIGHTS divider row) */
.fare-table-responsive table tbody tr.tr-flight-category td,
.fare-table-responsive table tbody tr.tr-category-header td,
.fare-rules-content table tbody tr.tr-domestic td {
  background: var(--blue-malay-900, #00247d) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  border: 1px solid #ffffff !important;
  padding: 14px 16px !important;
}

.fare-table-responsive table tbody tr.tr-flight-category td *,
.fare-table-responsive table tbody tr.tr-category-header td *,
.fare-rules-content table tbody tr.tr-domestic td * {
  color: #ffffff !important;
}

/* Badges / Fees / Pills: Strip all colorful gradients, backgrounds, borders and icons */
.fare-badge,
.fare-fee-badge,
.badge-permitted,
.badge-not-permitted {
  display: inline !important;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  font-weight: normal !important;
  font-size: inherit !important;
  line-height: inherit !important;
  white-space: normal !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.fare-badge svg,
.fare-fee-badge svg,
.badge-permitted svg,
.badge-not-permitted svg {
  display: none !important;
}

.fare-badge-note {
  display: block;
  font-size: 12px;
  color: rgba(0, 0, 0, 0.65) !important;
  margin-top: 4px;
  font-weight: 400;
}

.fare-badge-note strong {
  color: rgba(0, 0, 0, 0.75) !important;
}

@media (max-width: 991px) {
  .fare-rules-card {
    padding: 28px 24px;
  }
}

@media (max-width: 768px) {
  .page-fare-rules-container {
    padding: 20px 12px 40px;
  }
  .fare-rules-card {
    padding: 20px 16px;
    border-radius: 8px;
  }
  .fare-rules-header .page-title {
    font-size: 24px;
  }
  .fare-rules-header .page-subtitle {
    font-size: 13px;
  }
}

/* =========================================================
   Manage Booking: Booking Status, Refund Request & Fare Rules Pages (Figma Specs)
   ========================================================= */
.manage-booking-status-page,
.manage-booking-refund-request-page,
.manage-booking-fare-rules-page,
.manage-booking-booking-change-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 40px 0;
  box-sizing: border-box;
}

.manage-booking-status-page .page-title,
.manage-booking-refund-request-page .page-title,
.manage-booking-fare-rules-page .page-title,
.manage-booking-booking-change-page .page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 32px 0;
}

.manage-booking-tabs {
  display: flex;
  align-items: center;
  gap: 20px;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 6px;
  margin-bottom: 35px;
  scrollbar-width: thin;
}

.manage-tab-item {
  color: var(--neutral-color-45, rgba(0, 0, 0, 0.45));
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  text-decoration: none !important;
  padding: 0 8px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease;
  white-space: nowrap;
}

.manage-tab-item:hover {
  color: #2649aa;
}

.manage-tab-item.active {
  background: var(--yellow-malay-p-800, #f5aa14);
  color: #ffffff !important;
  padding: 0 14px;
}

.booking-hero-banner {
  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 32px;
}

.booking-hero-banner .hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.booking-hero-banner .hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--transparent-blue-48, rgba(14, 97, 215, 0.48));
  border-radius: 4px;
  pointer-events: none;
}

.booking-hero-banner .hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-align: center;
  pointer-events: none;
  z-index: 2;
}

.booking-hero-banner .hero-title {
  font-family: "Roboto", sans-serif;
  font-size: 64px;
  line-height: 140.63%;
  font-weight: 400;
  margin: 0;
  color: #ffffff;
}

.booking-status-form-wrapper,
.refund-request-form-wrapper,
.booking-change-form-wrapper {
  max-width: 752px;
  width: 100%;
  margin: 32px auto 0;
  box-sizing: border-box;
}

.booking-status-form-wrapper .form-title,
.refund-request-form-wrapper .form-title,
.booking-change-form-wrapper .form-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140.63%;
  font-weight: 500;
  margin: 0 0 16px 0;
}

.booking-status-form-wrapper .form-subtitle {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  text-align: left;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 400;
  margin: 0 0 24px 0;
}

.booking-status-form .form-group,
.refund-request-form .form-group,
.booking-change-form .form-group {
  margin-bottom: 20px;
}

.booking-status-form .form-label,
.refund-request-form .form-label,
.booking-change-form .form-label {
  display: block;
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-size: 13px;
  line-height: 140.63%;
  font-weight: 400;
  margin-bottom: 6px;
}

.refund-request-form .required-star,
.booking-change-form .required-star {
  color: var(--flight-danger-600, #db3d52);
  font-weight: 400;
}

.booking-status-form .form-input,
.refund-request-form .form-input,
.booking-change-form .form-input {
  width: 100%;
  height: 40px;
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  padding: 0 16px;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  color: rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.booking-status-form .form-input::placeholder,
.refund-request-form .form-input::placeholder,
.booking-change-form .form-input::placeholder {
  color: var(--black-35, rgba(0, 0, 0, 0.35));
}

.booking-status-form .form-input:focus,
.refund-request-form .form-input:focus,
.booking-change-form .form-input:focus {
  border-color: #2649aa !important;
  box-shadow: 0 0 0 2px rgba(38, 73, 170, 0.1);
}

.refund-request-form .select-wrapper,
.booking-change-form .select-wrapper {
  position: relative;
  width: 100%;
}

.refund-request-form .select-wrapper .form-select,
.booking-change-form .select-wrapper .form-select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 36px;
  cursor: pointer;
  background-color: #ffffff;
}

.refund-request-form .select-wrapper .select-caret,
.booking-change-form .select-wrapper .select-caret {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: rgba(0, 0, 0, 0.55);
}

.refund-request-form .form-textarea,
.booking-change-form .form-textarea {
  width: 100%;
  height: 120px;
  background: #ffffff;
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  padding: 10px 16px;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  color: rgba(0, 0, 0, 0.85);
  box-sizing: border-box;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.refund-request-form .form-textarea::placeholder,
.booking-change-form .form-textarea::placeholder {
  color: var(--black-35, rgba(0, 0, 0, 0.35));
}

.refund-request-form .form-textarea:focus,
.booking-change-form .form-textarea:focus {
  border-color: #2649aa !important;
  box-shadow: 0 0 0 2px rgba(38, 73, 170, 0.1);
}

.info-note-box {
  width: 100%;
  background: var(--daybreak-blue-blue-1, #e6f7ff);
  border-radius: 4px;
  border: 1px solid #91d5ff;
  padding: 9px 16px;
  margin: 0 0 24px 0;
  display: flex;
  align-items: center;
  gap: 10px;
  box-sizing: border-box;
}

.booking-status-form .info-note-box {
  margin: 20px 0 24px 0;
}

.refund-request-form-wrapper .info-note-box,
.booking-change-form-wrapper .info-note-box {
  margin: 0 0 24px 0;
}

.info-note-box .info-note-icon {
  flex-shrink: 0;
}

.info-note-box .info-note-text {
  color: var(--black-65, rgba(0, 0, 0, 0.65));
  text-align: left;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 400;
}

.form-action-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.btn-send-status {
  width: 133px;
  height: 40px;
  background: var(--red-malya-p500, #eb453c);
  border-radius: 4px;
  border: none;
  color: #ffffff;
  text-align: center;
  font-family: var(--roboto-medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
  letter-spacing: 0.5px;
}

.btn-send-status:hover {
  background-color: #d9362e;
}

.btn-send-status:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.refund-request-form .btn-send-message {
  width: 189px;
  height: 40px;
  background: var(--red-malya-p500, #eb453c);
  border-radius: 4px;
  border: none;
  color: #ffffff;
  text-align: center;
  font-family: var(--roboto-medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140.63%;
  font-weight: 500;
  text-transform: uppercase;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.2s ease;
  letter-spacing: 0.5px;
}

.refund-request-form .btn-send-message:hover {
  background-color: #d9362e;
}

.refund-request-form .btn-send-message:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

/* =========================================================
   Manage Booking: Fare Rules Page Specific Elements
   ========================================================= */
.fare-rules-subtitle {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140.63%;
  font-weight: 500;
  margin: 32px 0 16px 0;
}

.fare-rules-intro {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 160%;
  margin-bottom: 28px;
}

.fare-rules-list {
  margin: 0;
  padding-left: 20px;
}

.fare-rules-list > li {
  margin-bottom: 14px;
}

.fare-rules-list > li strong {
  font-weight: 500;
  color: rgba(0, 0, 0, 0.9);
}

.fare-rules-list ul {
  margin: 6px 0 0 0;
  padding-left: 20px;
  list-style-type: disc;
}

.fare-rules-list ul li {
  margin-bottom: 4px;
}

.fare-rules-list p {
  margin: 6px 0 0 0;
  line-height: 160%;
}

.fare-matrix-table thead tr:first-child th.th-class {
  width: 17.5%;
}

.fare-matrix-table thead tr:first-child th.th-no-show {
  width: 16.5%;
}

.fare-matrix-table thead tr:nth-child(2) th {
  width: 16.5%;
}

.fare-rules-details {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 160%;
  margin-top: 32px;
}

.fare-rules-details .policy-section {
  margin-bottom: 24px;
}

.fare-rules-details .policy-heading {
  font-family: var(--roboto-medium-14px-font-family, "Roboto", sans-serif);
  font-size: 15px;
  font-weight: 600;
  color: var(--blue-malay-p600, #2649aa);
  margin: 0 0 8px 0;
}

.fare-rules-details .policy-list {
  margin: 0;
  padding-left: 20px;
  list-style-type: disc;
}

.fare-rules-details .policy-list > li {
  margin-bottom: 8px;
}

.fare-rules-details .sub-policy-list {
  margin: 6px 0 6px 0;
  padding-left: 20px;
  list-style-type: circle;
}

.fare-rules-details .sub-policy-list li {
  margin-bottom: 4px;
}

.fare-rules-details .policy-link {
  color: var(--blue-malay-p600, #2649aa);
  text-decoration: underline;
  font-weight: 500;
  word-break: break-all;
}

.fare-rules-details .policy-link:hover {
  color: #eb453c;
}

@media (max-width: 768px) {
  /* Site Inner Layout Mobile Shell */
  .site-inner-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    zoom: 1 !important;
    transform: none !important;
  }

  /* Header Container on Mobile */
  .site-inner-layout .header-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 9999 !important;
    background: #2649aa !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
  }

  .site-inner-layout .header-container > .header {
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    background: transparent !important;
    zoom: 1 !important;
    transform: none !important;
  }

  .site-inner-layout .header .rectangle-228 {
    width: 100% !important;
    height: 52px !important;
    position: absolute !important;
    inset: 0 !important;
    background: #2649aa !important;
  }

  .site-inner-layout .header-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 52px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 10 !important;
  }

  .site-inner-layout .header-logo,
  .site-inner-layout .header-logo a {
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
  }

  .site-inner-layout .header-logo .group-557 {
    width: 28px !important;
    height: 28px !important;
    position: relative !important;
    object-fit: contain !important;
  }

  .site-inner-layout .header-logo .group-558 {
    width: 132px !important;
    height: auto !important;
    position: relative !important;
    object-fit: contain !important;
  }

  /* Hamburger Menu Button (Closed State) - Universal across all pages */
  .mobile-menu-toggle,
  .header .mobile-menu-toggle,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq, .flight-list-select-flight, .flight-list-passenger-page, .flight-list-review-page) .mobile-menu-toggle {
    display: flex !important;
    position: relative !important;
    width: 36px !important;
    height: 36px !important;
    padding: 8px !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    z-index: 20 !important;
    cursor: pointer !important;
    background: transparent !important;
    border: none !important;
  }

  .mobile-menu-toggle span,
  .header .mobile-menu-toggle span,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq, .flight-list-select-flight, .flight-list-passenger-page, .flight-list-review-page) .mobile-menu-toggle span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    border-radius: 2px !important;
    background: #ffffff !important;
    transition: all 0.25s ease !important;
  }

  /* Universal rule: ALWAYS hide desktop navigation menu and dropdowns on mobile unless .mobile-nav-open */
  .header:not(.mobile-nav-open) .header-nav-menu,
  .header-nav-menu:not(.open):not(.mobile-open) {
    display: none !important;
  }

  .header:not(.mobile-nav-open) .header-dropdown-menu,
  .header:not(.mobile-nav-open) .lang-dropdown-box,
  .header:not(.mobile-nav-open) .search-dropdown-box {
    display: none !important;
  }

  /* Mobile Navigation Drawer Open State: 100% Identical to Home Page */
  .header.mobile-nav-open::before {
    content: '' !important;
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.72) !important;
    z-index: 99990 !important;
  }

  .site-inner-layout .header.mobile-nav-open .header-inner-container,
  .header.mobile-nav-open .header-inner-container {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 78vw !important;
    height: 72px !important;
    padding: 0 18px !important;
    background: #2649aa !important;
    z-index: 99995 !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
  }

  .site-inner-layout .header.mobile-nav-open .header-logo,
  .site-inner-layout .header.mobile-nav-open .header-logo a,
  .header.mobile-nav-open .header-logo,
  .header.mobile-nav-open .header-logo a {
    height: 72px !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Hamburger Toggle Animation: Exact "X" Close Button matching Home */
  .site-inner-layout .header.mobile-nav-open .mobile-menu-toggle,
  .header.mobile-nav-open .mobile-menu-toggle {
    position: absolute !important;
    right: 12px !important;
    top: 16px !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    padding: 0 !important;
    transition: background-color 0.2s ease !important;
    z-index: 10000 !important;
  }

  .site-inner-layout .header.mobile-nav-open .mobile-menu-toggle:hover,
  .header.mobile-nav-open .mobile-menu-toggle:hover {
    background: rgba(255, 255, 255, 0.15) !important;
  }

  .site-inner-layout .header.mobile-nav-open .mobile-menu-toggle span,
  .header.mobile-nav-open .mobile-menu-toggle span {
    position: absolute !important;
    left: 10px !important;
    top: 19px !important;
    width: 20px !important;
    height: 2px !important;
    background: #ffffff !important;
    border-radius: 2px !important;
    transform-origin: center center !important;
    transition: transform 0.25s ease, opacity 0.25s ease !important;
  }

  .header.mobile-nav-open .mobile-menu-toggle span:nth-child(1) {
    transform: rotate(45deg) !important;
  }

  .header.mobile-nav-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  .header.mobile-nav-open .mobile-menu-toggle span:nth-child(3) {
    transform: rotate(-45deg) !important;
  }

  .site-inner-layout .header.mobile-nav-open .header-nav-menu,
  .header.mobile-nav-open .header-nav-menu {
    display: flex !important;
    position: fixed !important;
    left: 0 !important;
    top: 72px !important;
    width: 78vw !important;
    height: calc(100dvh - 72px) !important;
    padding: 4px 20px 28px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    background: #2649aa !important;
    box-shadow: none !important;
    z-index: 99995 !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
    gap: 0 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    height: 65px !important;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.22) !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-link {
    width: 100% !important;
    height: 65px !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: opacity 0.2s ease !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-link:hover {
    opacity: 0.88 !important;
  }

  /* Unified Chevron for ALL items (Manage booking, Travel Info, Favourite Destinations, and Language) */
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item:not(.nav-search):not(.nav-lang) > .header-nav-link::after,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .lang-trigger::after {
    content: '' !important;
    display: block !important;
    width: 8px !important;
    height: 8px !important;
    margin-left: auto !important;
    border-right: 2.5px solid #ffffff !important;
    border-bottom: 2.5px solid #ffffff !important;
    border-top: none !important;
    border-left: none !important;
    transform: rotate(45deg) !important;
    margin-top: -2px !important;
    transition: transform 0.25s ease, margin-top 0.25s ease !important;
    flex-shrink: 0 !important;
    transform-origin: center center !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-divider {
    display: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu {
    display: none !important;
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    box-shadow: none !important;
    border: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: none !important;
    background: transparent !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu::before,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu::after {
    display: none !important;
    content: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item.open {
    display: block !important;
    height: auto !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item.open > .header-nav-link {
    height: 65px !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item.open:not(.nav-search):not(.nav-lang) > .header-nav-link::after,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang.open .lang-trigger::after {
    transform: rotate(225deg) !important;
    margin-top: 3px !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item.open > .header-dropdown-menu:not(.search-dropdown-box) {
    display: flex !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 0 8px 14px !important;
    flex-direction: column !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu:not(.search-dropdown-box) a {
    display: flex !important;
    min-height: 38px !important;
    padding: 8px 0 !important;
    align-items: center !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    border-bottom: none !important;
    background: transparent !important;
    white-space: normal !important;
    transition: opacity 0.15s ease !important;
  }

  /* Fix hover misalignment: override desktop padding-left shift & colors */
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu:not(.search-dropdown-box) a:hover,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu:not(.search-dropdown-box) a:focus,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu:not(.search-dropdown-box) .dropdown-item:hover,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu:not(.search-dropdown-box) .dropdown-item:focus {
    background: transparent !important;
    background-color: transparent !important;
    color: #ffffff !important;
    padding-left: 0 !important;
    opacity: 0.78 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-dropdown-menu:not(.search-dropdown-box) .dropdown-item {
    display: flex !important;
    min-height: 38px !important;
    padding: 8px 0 !important;
    align-items: center !important;
    color: #ffffff !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    border-bottom: none !important;
    background: transparent !important;
    white-space: normal !important;
    transition: opacity 0.15s ease !important;
    font-weight: 500 !important;
  }

  /* Search Item: Exact 100% Match to Home Page */
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-search {
    height: 66px !important;
    border-bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-search > .header-nav-link {
    display: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .search-dropdown-box {
    display: block !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 10px 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .search-dropdown-box::before,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .search-dropdown-box::after {
    display: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-form {
    height: 48px !important;
    background: transparent !important;
    border: 1.5px solid rgba(255, 255, 255, 0.85) !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-form:focus-within {
    border-color: #ffffff !important;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.25) !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-input {
    height: 100% !important;
    color: #ffffff !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    padding: 0 14px !important;
    background: transparent !important;
    border: none !important;
    outline: none !important;
    flex: 1 !important;
    min-width: 0 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-input::placeholder {
    color: rgba(255, 255, 255, 0.75) !important;
    opacity: 1 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-btn {
    width: 48px !important;
    height: 100% !important;
    border: none !important;
    border-left: 1.5px solid rgba(255, 255, 255, 0.85) !important;
    background: transparent !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
    transition: background-color 0.2s ease !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-btn:hover {
    background: rgba(255, 255, 255, 0.18) !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-search-btn img {
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    margin: auto !important;
    filter: brightness(0) invert(1) !important;
  }

  /* Language Item: Exact 100% Match to Home Page */
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang {
    height: 58px !important;
    border-bottom: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    pointer-events: auto !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang.open,
  .header.mobile-nav-open .nav-lang.open {
    height: auto !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .lang-trigger {
    display: flex !important;
    padding: 0 !important;
    height: 58px !important;
    align-items: center !important;
    cursor: pointer !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .lang-trigger::before {
    content: 'Language' !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    flex-shrink: 0 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .lang-icon-wrap,
  .header.mobile-nav-open .nav-lang .lang-icon-wrap {
    width: 32px !important;
    height: 20px !important;
    margin-left: auto !important;
    margin-right: 14px !important;
    background: var(--current-flag, url('../icons/flags/flag-us.svg')) center / cover no-repeat !important;
    border-radius: 2px !important;
    flex-shrink: 0 !important;
    display: block !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .lang-icon-wrap img,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .lang-trigger > span,
  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .nav-lang .chevron-icon,
  .header.mobile-nav-open .nav-lang .chevron-icon {
    display: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .header-nav-item.open > .lang-dropdown-box {
    display: flex !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 10px !important;
    padding: 0 0 8px 14px !important;
    flex-direction: column !important;
    gap: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .lang-dropdown-item {
    display: flex !important;
    min-height: 38px !important;
    padding: 8px 0 !important;
    align-items: center !important;
    gap: 12px !important;
    text-decoration: none !important;
    border-bottom: none !important;
    background: transparent !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .lang-dropdown-item .lang-name {
    color: #ffffff !important;
    font-size: 14px !important;
    font-weight: 500 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .lang-dropdown-item.active .lang-name {
    color: #ffffff !important;
    font-weight: 700 !important;
  }

  :where(.home-book-your-trip-round-trip, .site-inner-layout, .about-us-page, .about-us-faq) .header.mobile-nav-open .lang-dropdown-item .lang-flag {
    width: 25px !important;
    height: 18px !important;
    border-radius: 2px !important;
    object-fit: cover !important;
  }

  /* Main Content Layout */
  .site-inner-layout .site-inner-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px 16px 40px !important;
    box-sizing: border-box !important;
    flex: 1 0 auto !important;
  }

  /* Manage Booking Pages Mobile */
  .manage-booking-status-page,
  .manage-booking-refund-request-page,
  .manage-booking-fare-rules-page,
  .manage-booking-booking-change-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .manage-booking-status-page .page-title,
  .manage-booking-refund-request-page .page-title,
  .manage-booking-fare-rules-page .page-title,
  .manage-booking-booking-change-page .page-title {
    font-size: 22px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #2649aa !important;
    margin: 0 0 16px 0 !important;
    text-align: left !important;
  }

  /* Tabs Horizontal Swipe */
  .manage-booking-tabs {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 2px 2px 8px 2px !important;
    margin: 0 0 16px 0 !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
  }

  .manage-booking-tabs::-webkit-scrollbar {
    display: none !important;
  }

  .manage-tab-item {
    font-size: 13px !important;
    height: 32px !important;
    line-height: 32px !important;
    padding: 0 14px !important;
    border-radius: 4px !important;
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    color: #666666 !important;
    background: #f0f2f5 !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
  }

  .manage-tab-item.active {
    background: #f5aa14 !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    padding: 0 14px !important;
  }

  /* Hero Banner */
  .booking-hero-banner {
    width: 100% !important;
    max-width: 100% !important;
    height: 160px !important;
    min-height: 160px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    margin: 0 0 20px 0 !important;
  }

  .booking-hero-banner .hero-bg-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 6px !important;
    display: block !important;
  }

  .booking-hero-banner .hero-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(14, 97, 215, 0.48) !important;
    border-radius: 6px !important;
  }

  .booking-hero-banner .hero-content {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    z-index: 2 !important;
    padding: 0 16px !important;
  }

  .booking-hero-banner .hero-title {
    font-size: 24px !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
  }

  /* Form Wrappers: Full Width, No Offset */
  .booking-status-form-wrapper,
  .refund-request-form-wrapper,
  .booking-change-form-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .booking-status-form-wrapper .form-title,
  .refund-request-form-wrapper .form-title,
  .booking-change-form-wrapper .form-title {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2649aa !important;
    margin: 0 0 6px 0 !important;
    text-align: left !important;
  }

  .booking-status-form-wrapper .form-subtitle {
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.65) !important;
    margin: 0 0 16px 0 !important;
    text-align: left !important;
  }

  .booking-status-form .form-group,
  .refund-request-form .form-group,
  .booking-change-form .form-group {
    margin-bottom: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .booking-status-form .form-label,
  .refund-request-form .form-label,
  .booking-change-form .form-label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    margin-bottom: 6px !important;
    display: block !important;
    text-align: left !important;
  }

  .booking-status-form .form-input,
  .refund-request-form .form-input,
  .booking-change-form .form-input,
  .refund-request-form .select-wrapper .form-select,
  .booking-change-form .select-wrapper .form-select {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    padding: 0 14px !important;
    font-size: 14px !important;
    border: 1px solid rgba(0, 0, 0, 0.18) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
  }

  .refund-request-form .select-wrapper,
  .booking-change-form .select-wrapper {
    position: relative !important;
    width: 100% !important;
  }

  .refund-request-form .select-wrapper .select-caret,
  .booking-change-form .select-wrapper .select-caret {
    position: absolute !important;
    right: 12px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    pointer-events: none !important;
    color: rgba(0, 0, 0, 0.5) !important;
  }

  .refund-request-form .form-textarea,
  .booking-change-form .form-textarea {
    width: 100% !important;
    max-width: 100% !important;
    height: 110px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    border: 1px solid rgba(0, 0, 0, 0.18) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    resize: vertical !important;
  }

  .info-note-box {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    margin: 16px 0 !important;
    padding: 10px 12px !important;
    background: #f0f7ff !important;
    border: 1px solid #bae0ff !important;
    border-radius: 4px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .info-note-box .info-note-icon {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    margin-top: 2px !important;
  }

  .info-note-box .info-note-text {
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: #0050b3 !important;
    text-align: left !important;
  }

  .form-action-row {
    width: 100% !important;
    margin-top: 16px !important;
  }

  .btn-send-status,
  .refund-request-form .btn-send-message,
  .booking-change-form .btn-send-message {
    width: 100% !important;
    max-width: 100% !important;
    height: 44px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    background: #eb453c !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    box-sizing: border-box !important;
    transition: background-color 0.15s ease !important;
  }

  .btn-send-status:hover,
  .refund-request-form .btn-send-message:hover,
  .booking-change-form .btn-send-message:hover {
    background: #d9362e !important;
  }

  /* Fare Rules Mobile */
  .fare-rules-subtitle {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #2649aa !important;
    margin: 20px 0 10px !important;
    text-align: left !important;
  }

  .fare-rules-intro {
    font-size: 13px !important;
    line-height: 1.55 !important;
    margin-bottom: 16px !important;
  }

  .fare-rules-list {
    padding-left: 18px !important;
    margin: 0 !important;
  }

  .fare-rules-list > li {
    margin-bottom: 10px !important;
  }

  .fare-table-responsive {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    margin: 16px 0 24px !important;
    border-radius: 4px !important;
    border: 1px solid #e8e8e8 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08) !important;
  }

  .fare-matrix-table {
    min-width: 640px !important;
    width: 100% !important;
  }

  .fare-matrix-table th,
  .fare-matrix-table td {
    padding: 8px 10px !important;
    font-size: 12px !important;
  }

  .fare-rules-details {
    margin-top: 20px !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  .fare-rules-details .policy-section {
    margin-bottom: 18px !important;
  }

  .fare-rules-details .policy-heading {
    font-size: 15px !important;
    font-weight: 600 !important;
    margin: 0 0 6px 0 !important;
  }

  .fare-rules-details .policy-list {
    padding-left: 18px !important;
  }

  .fare-rules-details .policy-list > li {
    margin-bottom: 6px !important;
  }
}


/* Travel Information: News & Updates Page */
.travel-info-news-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 60px 0;
  box-sizing: border-box;
}

.travel-info-news-page .page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 32px 0;
}

.travel-info-tabs {
  display: flex;
  align-items: center;
  gap: 20px;
  overflow-x: auto;
  white-space: nowrap;
  padding-bottom: 6px;
  margin-bottom: 35px;
  scrollbar-width: thin;
}

.travel-tab-item {
  color: var(--neutral-color-45, rgba(0, 0, 0, 0.45));
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  text-decoration: none !important;
  padding: 0 8px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: color 0.2s ease, background-color 0.2s ease;
  white-space: nowrap;
}

.travel-tab-item:hover {
  color: #2649aa;
}

.travel-tab-item.active {
  background: var(--yellow-malay-p-800, #f5aa14);
  color: #ffffff !important;
  padding: 0 14px;
}

.travel-hero-banner {
  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 40px;
}

.travel-hero-banner .hero-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}

.travel-hero-banner .hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--transparent-blue-48, rgba(14, 97, 215, 0.48));
  border-radius: 4px;
  pointer-events: none;
}

.travel-hero-banner .hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-align: center;
  pointer-events: none;
  z-index: 2;
}

.travel-hero-banner .hero-title {
  font-family: "Roboto", sans-serif;
  font-size: 64px;
  line-height: 140.63%;
  font-weight: 400;
  margin: 0;
  color: #ffffff;
}

/* Accordion Container: 752px centered */
.news-accordion-container {
  /* max-width: 752px; */
  width: 100%;
  margin: 0 auto;
}

.news-accordion-item {
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.12);
  margin-bottom: 16px;
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  border: 1px solid rgba(0, 0, 0, 0.04);
}

.news-accordion-item:hover {
  box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.15);
}

.news-item-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  cursor: pointer;
  user-select: none;
  background: #ffffff;
  min-height: 48px;
}

.news-item-title {
  color: var(--blue-malay-p600, #2649aa);
  font-family: var(--roboto-medium-16px-font-family, "Roboto", sans-serif);
  font-size: 16px;
  line-height: 140.63%;
  font-weight: 500;
  margin: 0;
  flex: 1;
  text-align: left;
}

.news-chevron-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}

.news-accordion-item.is-open .news-chevron-icon {
  transform: rotate(180deg);
}

.news-item-divider {
  display: none;
  border-top: 1px solid var(--neutral-color-15, rgba(0, 0, 0, 0.15));
  margin: 0 16px;
}

.news-accordion-item.is-open .news-item-divider {
  display: block;
}

.news-item-content {
  display: none;
  padding: 16px;
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85));
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 150%;
  word-break: break-word;
}

.news-accordion-item.is-open .news-item-content {
  display: block;
}

.news-item-content p {
  margin-top: 0;
  margin-bottom: 12px;
}

.news-item-content p:last-child {
  margin-bottom: 0;
}

.news-item-content ul,
.news-item-content ol {
  margin: 8px 0 12px 20px;
  padding: 0;
}

.news-item-content li {
  margin-bottom: 6px;
}

.news-item-content strong,
.news-item-content b {
  font-weight: 600;
  color: rgba(0, 0, 0, 0.85);
}

.news-item-content a {
  color: #2649aa;
  text-decoration: underline;
}

.news-load-more-wrapper {
  text-align: center;
  margin-top: 32px;
}

.btn-news-load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff;
  color: var(--blue-malay-p600, #2649aa);
  border: 1px solid var(--blue-malay-p600, #2649aa);
  border-radius: 4px;
  padding: 10px 24px;
  font-family: var(--roboto-medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-news-load-more:hover {
  background: var(--blue-malay-p600, #2649aa);
  color: #ffffff;
}

.news-accordion-item.is-hidden {
  display: none !important;
}

@media (max-width: 991px) {
  .travel-hero-banner {
    height: 240px;
  }
  .travel-hero-banner .hero-title {
    font-size: 40px;
  }
}

@media (max-width: 768px) {
  .travel-info-news-page {
    padding: 0 15px 40px;
  }
  .travel-info-news-page .page-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .travel-info-tabs {
    gap: 12px;
    margin-bottom: 24px;
  }
  .travel-hero-banner {
    height: 180px;
    margin-bottom: 24px;
  }
  .travel-hero-banner .hero-title {
    font-size: 28px;
  }
  .news-accordion-container {
    max-width: 100%;
  }
  .news-item-title {
    font-size: 15px;
  }
}

/* Fleet Revitalization Page */
.fleet-revitalization-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 60px 0;
  box-sizing: border-box;
}

.fleet-revitalization-page .page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 500;
  margin: 0 0 32px 0;
}

.fleet-revitalization-page .fleet-revitalization-subtitle {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140%;
  font-weight: 500;
  margin: 28px 0 20px 0;
}

/* Fleet Sections & Modern Cards */
.fleet-sections-container {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 10px;
}

.fleet-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.fleet-section-title {
  color: #0b2e84;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 22px;
  font-weight: 700;
  line-height: 140%;
  margin: 0 0 8px 0;
  padding-bottom: 8px;
  border-bottom: 2px solid #2649aa;
  display: inline-block;
}

.fleet-cards-list {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.fleet-card-wrapper {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.fleet-card-heading {
  color: #1a2b49;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 17px;
  font-weight: 700;
  line-height: 140%;
  margin: 0;
  padding-left: 2px;
}

.fleet-card {
  display: grid;
  grid-template-columns: 310px 1fr 330px;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  transition: box-shadow 0.2s ease, border-color 0.2s ease;
  min-height: 180px;
}

.fleet-card:hover {
  box-shadow: 0 6px 20px rgba(38, 73, 170, 0.1);
  border-color: rgba(38, 73, 170, 0.3);
}

/* Image Column */
.fleet-card-col-img {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 20px;
  background: #ffffff;
  border-right: 1px solid rgba(0, 0, 0, 0.08);
}

.fleet-card-img-box {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.fleet-card-img-box img {
  max-width: 100%;
  max-height: 150px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
  transition: transform 0.3s ease;
}

.fleet-card:hover .fleet-card-img-box img {
  transform: scale(1.03);
}

/* Description Column */
.fleet-card-col-desc {
  padding: 24px 28px;
  display: flex;
  align-items: center;
  background: #ffffff;
}

.fleet-desc-text {
  color: #334155;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 170%;
  margin: 0;
  text-align: justify;
}

/* Specifications Column */
.fleet-card-col-specs {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #f8fafc;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
}

.fleet-specs-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.fleet-spec-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 13px;
  line-height: 140%;
}

.fleet-spec-label {
  font-weight: 700;
  color: #0f172a;
  font-size: 13px;
}

.fleet-spec-value {
  color: #475569;
  font-size: 13px;
}

/* Fallback table styles if CMS body is rendered directly */
.fleet-revitalization-body {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  font-family: var(--roboto-regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 160%;
  width: 100%;
}

.fleet-revitalization-body p {
  margin-top: 0;
  margin-bottom: 16px;
}

.fleet-revitalization-body p strong,
.fleet-revitalization-body strong {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  font-weight: 600;
}

.fleet-revitalization-body table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 12px 0 28px 0 !important;
  background: #ffffff !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.fleet-revitalization-body table tbody td {
  padding: 20px !important;
  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  color: #334155 !important;
  vertical-align: middle !important;
  background: #ffffff !important;
}

.fleet-revitalization-body table tbody td:first-child {
  width: 310px !important;
  min-width: 310px !important;
  text-align: center !important;
  padding: 16px !important;
  background: #ffffff !important;
}

.fleet-revitalization-body table tbody td:first-child img {
  max-width: 270px !important;
  max-height: 150px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

.fleet-revitalization-body table tbody td:nth-child(2) {
  padding: 24px 28px !important;
  font-size: 14px !important;
  line-height: 170% !important;
  color: #334155 !important;
  text-align: justify !important;
}

.fleet-revitalization-body table tbody td:nth-child(3) {
  width: 330px !important;
  min-width: 330px !important;
  background: #f8fafc !important;
  padding: 20px 24px !important;
  font-size: 13px !important;
  line-height: 150% !important;
  color: #475569 !important;
}

.fleet-revitalization-body table tbody td:nth-child(3) p {
  margin: 0 0 8px 0 !important;
}

@media (max-width: 991px) {
  .fleet-card {
    grid-template-columns: 1fr;
  }
  .fleet-card-col-img {
    border-right: none;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    padding: 24px;
  }
  .fleet-card-col-specs {
    border-left: none;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
  }
}

@media (max-width: 768px) {
  .fleet-revitalization-page {
    padding: 0 15px 40px;
  }
  .fleet-revitalization-page .page-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .fleet-section-title {
    font-size: 19px;
  }
  .fleet-card-heading {
    font-size: 16px;
  }
  .fleet-card-col-desc,
  .fleet-card-col-specs {
    padding: 16px 20px;
  }
}

/* Flight Routes Page */
.flight-routes-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 60px 0;
  box-sizing: border-box;
}

.flight-routes-page .page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 500;
  margin: 0 0 32px 0;
}

.flight-routes-page .flight-routes-subtitle {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140%;
  font-weight: 500;
  margin: 28px 0 20px 0;
}

.flight-routes-map-card {
  width: 100%;
  background: #ffffff;
  box-sizing: border-box;
  overflow: hidden;
  margin-top: 10px;
}

#chartdiv {
  width: 100%;
  height: 650px;
  background: #ffffff;
  position: relative;
  overflow: hidden;
}

.map-marker {
  position: absolute;
  margin-left: -5px;
  margin-top: -5px;
  box-sizing: border-box;
  pointer-events: auto;
  cursor: pointer;
  z-index: 5;
}

.map-marker .pulse {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #2172ba;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  box-sizing: border-box;
  box-shadow: 0 0 4px rgba(33, 114, 186, 0.6);
}

.map-marker .dot {
  border: 2px solid #2172ba;
  background: rgba(33, 114, 186, 0.2);
  border-radius: 50%;
  height: 30px;
  width: 30px;
  animation: mapPulse 2s ease-out infinite;
  position: absolute;
  top: -10px;
  left: -10px;
  z-index: 1;
  opacity: 0;
  box-sizing: border-box;
  pointer-events: none;
}

@keyframes mapPulse {
  0% {
    transform: scale(0.3);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.2);
    opacity: 0.3;
  }
  100% {
    transform: scale(1.8);
    opacity: 0;
  }
}

@media (max-width: 768px) {
  .flight-routes-page {
    padding: 0 15px 40px;
  }
  .flight-routes-page .page-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  #chartdiv {
    height: 450px;
  }
}

/* Baggage Policy Page */
.baggage-policy-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 60px 0;
  box-sizing: border-box;
}

.baggage-policy-page .page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 32px 0;
}

.baggage-policy-subtitle {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--roboto-medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140.63%;
  font-weight: 500;
  margin: 0 0 24px 0;
}

.baggage-policy-body {
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85));
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 160%;
  width: 100%;
}

.baggage-section {
  margin-bottom: 40px;
}

.baggage-section-title {
  color: var(--blue-malay-p600, #2649aa);
  font-family: "Roboto", sans-serif;
  font-size: 16px;
  line-height: 140.63%;
  font-weight: 500;
  margin: 0 0 16px 0;
}

.baggage-section-title.dark-blue {
  color: var(--info-900, #0d367a);
}

.baggage-subsection-title {
  color: var(--black-85, rgba(0, 0, 0, 0.85));
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 140%;
  font-weight: 500;
  margin: 24px 0 12px 0;
}

.baggage-note-title {
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85));
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 140%;
  font-weight: 600;
  margin: 24px 0 10px 0;
}

.baggage-lead {
  margin: 0 0 12px 0;
  line-height: 160%;
}

.baggage-bullet-list {
  margin: 0 0 16px 0;
  padding-left: 20px;
  list-style-type: disc;
}

.baggage-bullet-list li {
  margin-bottom: 8px;
  line-height: 160%;
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85));
}

.baggage-bullet-list li a,
.baggage-policy-body a {
  color: var(--blue-malay-p600, #2649aa);
  text-decoration: underline;
}

.baggage-policy-body .fare-table-responsive {
  width: 100%;
  overflow-x: auto;
  margin: 16px 0 24px 0;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.08);
  border-radius: 4px;
}

.baggage-table {
  width: 100%;
  border-collapse: collapse;
  background: #ffffff;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.15);
  font-family: "Roboto", sans-serif;
  font-size: 14px;
}

.baggage-table thead th {
  background: var(--blue-malay-900, #00247d);
  color: #ffffff;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  white-space: nowrap;
}

.baggage-table thead th:first-child {
  text-align: left;
}

.baggage-table tbody td {
  padding: 14px 16px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  color: rgba(0, 0, 0, 0.85);
  vertical-align: middle;
  text-align: center;
}

.baggage-table tbody td:first-child {
  text-align: left;
  font-weight: 500;
}

.baggage-table.text-left-cells thead th {
  text-align: left;
}

.baggage-table.text-left-cells tbody td {
  text-align: left;
}

.baggage-table.text-left-cells thead th.text-center,
.baggage-table.text-left-cells tbody td.text-center {
  text-align: center;
}

.baggage-table tbody tr:hover {
  background-color: #fafbfc;
}

@media (max-width: 768px) {
  .baggage-policy-page {
    padding: 0 15px 40px;
  }
  .baggage-policy-page .page-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  .baggage-table thead th,
  .baggage-table tbody td {
    padding: 10px 12px;
    font-size: 13px;
  }
}

/* =========================================================
   Header Navigation Bar & Dropdown Menus
   ========================================================= */
.site-inner-layout .header-container {
  width: 100% !important;
  background: #2649aa !important;
  display: block !important;
  overflow: visible !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

.site-inner-layout .header-container > .header {
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
  width: 1920px !important;
  max-width: 1920px !important;
  height: 64px !important;
  z-index: 1000 !important;
  overflow: visible !important;
  background: transparent !important;
  zoom: 1 !important;
  transform: none !important;
}

.site-inner-layout .header-container .header-inner-container {
  max-width: 1140px !important;
  width: 1140px !important;
  height: 64px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

.header {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 64px;
  z-index: 9999 !important;
  overflow: visible !important;
}

.header .rectangle-228 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--blue-malay-p600, #2649aa);
  z-index: 1;
}

.header-inner-container {
  position: relative;
  width: 1140px;
  height: 64px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
  box-sizing: border-box;
}

/* Header Logo */
.header-logo {
  display: flex;
  align-items: center;
  height: 100%;
}

.header-logo a {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}

.header-logo .group-557 {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 34px !important;
  height: 32px !important;
  object-fit: contain;
}

.header-logo .group-558 {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 151px !important;
  height: 19px !important;
  object-fit: contain;
  margin-left: 2px;
}

/* =========================================================
   Navigation Menu & Dropdowns (Desktop Only: min-width: 769px)
   ========================================================= */
@media (min-width: 769px) {
  /* Navigation Menu */
  .header-nav-menu {
    display: flex;
    align-items: center;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .header-nav-item {
    position: relative;
    height: 64px;
    display: flex;
    align-items: center;
  }

  .header-nav-link {
    color: #ffffff !important;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    text-decoration: none !important;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 4px;
    white-space: nowrap !important;
    cursor: pointer;
    height: 100%;
    transition: opacity 0.2s ease, color 0.2s ease;
  }

  .header-nav-link:hover {
    opacity: 0.9;
    color: #ffffff !important;
  }

  .header-nav-link span {
    white-space: nowrap !important;
  }

  /* Dashed Separators between menu items */
  .header-nav-divider {
    width: 0;
    height: 16px;
    border-left: 1px dashed rgba(255, 255, 255, 0.55);
    margin: 0 16px;
    flex-shrink: 0;
  }

  /* Nav Icons */
  .header-nav-item .nav-icon {
    display: block;
    flex-shrink: 0;
  }

  .header-nav-item .search-icon {
    width: 16px;
    height: 16px;
  }

  .header-nav-item .globe-icon {
    width: 16px;
    height: 16px;
  }

  .header-nav-item .chevron-icon {
    width: 11px;
    height: 11px;
    transition: transform 0.25s ease;
    margin-left: 2px;
    display: block;
  }

  .header-nav-item:hover .chevron-icon,
  .header-nav-item.open .chevron-icon {
    transform: rotate(180deg);
  }

  .header-dropdown-menu {
    position: absolute;
    top: calc(100% - 6px);
    left: 50%;
    transform: translateX(-50%) translateY(8px);
    min-width: 190px;
    background: #ffffff;
    border-radius: 8px;
    padding: 8px 0;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2), 0 4px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.06);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s cubic-bezier(0.16, 1, 0.3, 1), transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
    z-index: 10000;
  }

  /* Triangular notch on top of dropdown */
  .header-dropdown-menu::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    background: #ffffff;
    border-top: 1px solid rgba(0, 0, 0, 0.06);
    border-left: 1px solid rgba(0, 0, 0, 0.06);
  }

  /* Invisible hover bridge to prevent hover loss when moving mouse */
  .header-dropdown-menu::after {
    content: '';
    position: absolute;
    top: -12px;
    left: 0;
    right: 0;
    height: 12px;
  }

  .header-nav-item:hover .header-dropdown-menu,
  .header-nav-item.open .header-dropdown-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
  }

  .header-dropdown-menu .dropdown-item {
    display: block;
    padding: 9px 18px;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 13.5px;
    font-weight: 500;
    color: #1e293b !important;
    text-decoration: none !important;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease, padding-left 0.15s ease;
    line-height: 1.4;
    text-align: left;
  }

  .header-dropdown-menu .dropdown-item:hover,
  .header-dropdown-menu .dropdown-item:focus {
    background-color: #f1f5f9;
    color: #2649aa !important;
    padding-left: 21px;
  }

  .header-dropdown-menu .dropdown-item.active {
    color: #2649aa !important;
    font-weight: 700;
    background-color: #eff6ff;
  }

  /* Search Dropdown Box */
  .search-dropdown-box {
    min-width: 270px;
    padding: 10px;
    left: auto;
    right: 0;
    transform: translateY(8px);
  }

  .header-nav-item:hover .search-dropdown-box,
  .header-nav-item.open .search-dropdown-box {
    transform: translateY(0);
  }

  .search-dropdown-box::before {
    left: auto;
    right: 26px;
  }

  .header-search-form {
    display: flex;
    align-items: center;
    background: #f8fafc;
    border: 1.5px solid #cbd5e1;
    border-radius: 6px;
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }

  .header-search-form:focus-within {
    border-color: #2649aa;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(38, 73, 170, 0.15);
  }

  .header-search-input {
    flex: 1;
    height: 36px;
    padding: 0 12px;
    font-family: 'Roboto', sans-serif;
    font-size: 13px;
    color: #1e293b;
    border: none;
    background: transparent;
    outline: none;
  }

  .header-search-input::placeholder {
    color: #94a3b8;
  }

  .header-search-btn {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #2649aa;
    border: none;
    cursor: pointer;
    transition: background 0.2s ease;
    flex-shrink: 0;
    padding: 0;
  }

  .header-search-btn:hover {
    background: #1d3b94;
  }

  .header-search-btn img {
    width: 16px;
    height: 16px;
    filter: brightness(0) invert(1);
  }

  /* Language Dropdown Box (Exact match to design template) */
  .lang-dropdown-box {
    min-width: 170px;
    width: auto;
    padding: 12px 8px;
    border-radius: 14px;
    background: #ffffff;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.06);
    left: auto;
    right: -8px;
    transform: translateY(8px);
  }

  .lang-dropdown-box::before {
    display: none;
  }

  .header-nav-item:hover .lang-dropdown-box,
  .header-nav-item.open .lang-dropdown-box {
    transform: translateY(0);
  }

  .lang-dropdown-item {
    display: flex !important;
    align-items: center !important;
    gap: 16px !important;
    padding: 9px 14px !important;
    border-radius: 8px;
    text-decoration: none !important;
    transition: background-color 0.15s ease;
    cursor: pointer;
  }

  .lang-dropdown-item:hover {
    background-color: #f8fafc !important;
  }

  .lang-dropdown-item.active {
    background-color: #f1f5f9 !important;
  }

  .lang-dropdown-item .lang-flag {
    width: 25px;
    height: 18px;
    border-radius: 3px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    object-fit: cover;
    flex-shrink: 0;
    display: block;
  }

  .lang-dropdown-item .lang-name {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #1e293b !important;
    line-height: 1.2;
    white-space: nowrap;
  }

  .lang-dropdown-item.active .lang-name {
    font-weight: 600;
    color: #0f172a !important;
  }
}

/* =========================================================
   Footer Background Image & Layering
   ========================================================= */
.footer .bg-footer-img,
.footer .mask-group {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 533px;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.footer .rectangle-150 {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 533px;
  z-index: 1;
  pointer-events: none;
}

.footer > *:not(.mask-group):not(.bg-footer-img):not(.rectangle-150) {
  position: absolute;
  z-index: 2;
}

/* =========================================================
   Download App Section - Background & Hand Phone
   ========================================================= */
.app {
  overflow: hidden;
}

.app .bg2 {
  width: 960px;
  height: 452px;
  position: absolute;
  left: 959px;
  top: 0px;
  overflow: hidden;
}

.app .bg2 .app-bg-img {
  position: absolute;
  left: 0;
  top: 0;
  width: 960px;
  height: 452px;
  object-fit: cover;
  z-index: 1;
}

.app .bg2 .app-hand-phone {
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: auto;
  height: 445px;
  max-height: 100%;
  object-fit: contain;
  z-index: 2;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.12));
}

/* =========================================================
   Travel Information - Favourite Destinations Page
   ========================================================= */
.favourite-destinations-page {
  max-width: 1140px;
  width: 100%;
  margin: 0 auto;
  padding: 0 0 80px 0;
  box-sizing: border-box;
  position: relative;
}

/* Neutralize rogue style.css rules that bleed into this page */
.favourite-destinations-page .favourite-destinations,
.favourite-destinations-page .favourite-destinations2,
.favourite-destinations-page .favourite-destinations3,
.favourite-destinations-page .news-updates,
.favourite-destinations-page .flight-routes,
.favourite-destinations-page .fleet-revitalization,
.favourite-destinations-page .bagage-infomation,
.favourite-destinations-page .baggage-information,
.favourite-destinations-page .kuala-lumpur,
.favourite-destinations-page .destinations-page-title,
.favourite-destinations-page .destination-detail-heading {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
}

/* Page Title */
.favourite-destinations-page .destinations-page-title {
  color: var(--blue-malay-p600, #2649aa);
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px;
  line-height: 140%;
  font-weight: 400;
  margin: 0 0 32px 0;
}

/* Hero Banner */
.favourite-destinations-page .destinations-hero-banner {
  position: relative;
  width: 1140px;
  max-width: 100%;
  height: 360px;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 0;
}

.favourite-destinations-page .destinations-hero-banner .hero-bg-img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
  position: static !important;
}

.favourite-destinations-page .destinations-hero-banner .hero-overlay {
  position: absolute;
  inset: 0;
  background: var(--transparent-blue-48, rgba(14, 97, 215, 0.48));
  border-radius: 4px;
  pointer-events: none;
  z-index: 1;
}

.favourite-destinations-page .destinations-hero-banner .hero-content {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  text-align: center;
  pointer-events: none;
  z-index: 2;
}

.favourite-destinations-page .destinations-hero-banner .hero-title {
  color: #ffffff !important;
  text-align: center;
  font-family: "Roboto", sans-serif;
  font-size: 64px !important;
  line-height: 140.63% !important;
  font-weight: 400 !important;
  margin: 0;
  white-space: nowrap !important;
  width: auto !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
}

/* Floating Filter Pill: Domestic / International */
.favourite-destinations-page .destinations-filter-wrapper {
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  z-index: 20;
  margin-top: -24px;
  margin-bottom: 60px;
}

.favourite-destinations-page .destinations-filter-box {
  background: #ffffff;
  border-radius: 4px;
  width: 558px;
  max-width: calc(100% - 32px);
  height: 48px;
  box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  position: relative;
}

.favourite-destinations-page .filter-dropdown-wrap {
  flex: 1;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: static;
}

.favourite-destinations-page .filter-pill-trigger {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 100%;
  height: 100%;
  text-decoration: none !important;
  cursor: pointer;
  padding: 0 12px;
}

.favourite-destinations-page .filter-pill-label {
  color: var(--blue-malay-p600, #2649aa);
  text-align: center;
  font-family: var(--medium-20px-font-family, "Roboto", sans-serif);
  font-size: 20px;
  line-height: 140%;
  font-weight: 400;
  text-decoration: none !important;
  transition: color 0.2s ease;
  position: static !important;
}

.favourite-destinations-page .filter-dropdown-wrap:hover .filter-pill-label,
.favourite-destinations-page .filter-dropdown-wrap.active .filter-pill-label {
  color: #0d367a;
  font-weight: 500;
}

.favourite-destinations-page .filter-pill-arrow {
  width: 24px;
  height: 24px;
  overflow: visible;
  transition: transform 0.2s ease;
  position: static !important;
}

.favourite-destinations-page .filter-dropdown-wrap:hover .filter-pill-arrow,
.favourite-destinations-page .filter-dropdown-wrap.open .filter-pill-arrow {
  transform: rotate(180deg);
}

.favourite-destinations-page .filter-pill-divider {
  border-style: dashed;
  border-color: var(--info-900, #0d367a);
  border-width: 0 0 0 1px;
  width: 0px;
  height: 24px;
  flex-shrink: 0;
  margin: 0 8px;
  position: static !important;
}

/* Filter Mega Dropdown Table (4 Columns) */
.favourite-destinations-page .destinations-mega-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 790px;
  max-width: calc(100vw - 32px);
  background: #ffffff;
  border-radius: 4px;
  box-shadow: 0px 4px 25px 0px rgba(0, 0, 0, 0.15);
  padding: 24px 32px;
  z-index: 100;
  display: none;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.favourite-destinations-page .destinations-mega-dropdown::before {
  content: '';
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  height: 12px;
  background: transparent;
}

.favourite-destinations-page .filter-dropdown-wrap:hover .destinations-mega-dropdown,
.favourite-destinations-page .filter-dropdown-wrap.open .destinations-mega-dropdown {
  display: block;
  opacity: 1;
  pointer-events: auto;
}

.favourite-destinations-page .destinations-grid-cols {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px 24px;
  width: 100%;
}

.favourite-destinations-page .destinations-col {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.favourite-destinations-page .dest-link {
  font-family: var(--regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  color: #333333;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 0.15s ease;
  cursor: pointer;
  display: block;
  text-align: left;
  padding: 2px 0;
}

.favourite-destinations-page .dest-link:hover,
.favourite-destinations-page .dest-link.active {
  color: #2649aa;
  font-weight: 500;
}

@media (max-width: 820px) {
  .favourite-destinations-page .destinations-mega-dropdown {
    width: 95vw;
    padding: 16px 20px;
    max-height: 380px;
    overflow-y: auto;
  }
  .favourite-destinations-page .destinations-grid-cols {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 16px;
  }
}

@media (max-width: 480px) {
  .favourite-destinations-page .destinations-grid-cols {
    grid-template-columns: 1fr;
  }
}

/* Destination Heading */
.favourite-destinations-page .destination-detail-heading {
  color: var(--blue-malay-p600, #2649aa) !important;
  text-align: left;
  font-family: var(--medium-30px-font-family, "Roboto", sans-serif);
  font-size: 30px !important;
  line-height: 140% !important;
  font-weight: 400 !important;
  margin: 0 0 24px 0 !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  width: auto !important;
  display: block;
}

/* 4-Photo Collage Grid */
.favourite-destinations-page .destinations-collage-grid {
  display: grid;
  grid-template-columns: 267px 267px 558px;
  gap: 24px;
  width: 1140px;
  max-width: 100%;
  height: 460px;
  margin-bottom: 32px;
  position: static !important;
}

.favourite-destinations-page .collage-col {
  height: 460px;
  overflow: hidden;
  border-radius: 4px;
  position: static !important;
}

.favourite-destinations-page .collage-card {
  display: block;
  text-decoration: none !important;
  border-radius: 4px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.favourite-destinations-page .collage-col-left {
  display: flex;
  flex-direction: column;
  gap: 24px;
  height: 460px;
}

.favourite-destinations-page .collage-col-left .collage-card {
  height: 218px;
}

.favourite-destinations-page .collage-col-center .collage-card,
.favourite-destinations-page .collage-col-right .collage-card {
  height: 460px;
}

.favourite-destinations-page .collage-col-left .collage-img {
  width: 267px;
  height: 218px;
  border-radius: 4px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  position: static !important;
}

.favourite-destinations-page .collage-col-center .collage-img {
  width: 267px;
  height: 460px;
  border-radius: 4px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  position: static !important;
}

.favourite-destinations-page .collage-col-right .collage-img {
  width: 558px;
  height: 460px;
  border-radius: 4px;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
  position: static !important;
}

.favourite-destinations-page .collage-img:hover {
  transform: scale(1.02);
}

/* Destination Article Body */
.favourite-destinations-page .destinations-article-body {
  color: var(--neutral-color-85, rgba(0, 0, 0, 0.85));
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  width: 100%;
  max-width: 1140px;
  position: static !important;
  margin-top: 32px;
}

.favourite-destinations-page .destinations-article-body .article-section-title {
  display: block;
  font-family: var(--medium-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  font-weight: 500;
  color: rgba(0, 0, 0, 0.85);
  margin-top: 24px;
  margin-bottom: 8px;
  position: static !important;
}

.favourite-destinations-page .destinations-article-body .article-section-title:first-child {
  margin-top: 0;
}

.favourite-destinations-page .destinations-article-body .article-paragraph {
  display: block;
  font-family: var(--regular-14px-font-family, "Roboto", sans-serif);
  font-size: 14px;
  line-height: 140%;
  font-weight: 400;
  color: rgba(0, 0, 0, 0.85);
  margin-bottom: 16px;
  position: static !important;
}

/* Responsive adjustments */
@media (max-width: 1199px) {
  .favourite-destinations-page .destinations-collage-grid {
    grid-template-columns: 1fr 1fr 2fr;
    height: auto;
  }
  .favourite-destinations-page .collage-col,
  .favourite-destinations-page .collage-col-center .collage-img,
  .favourite-destinations-page .collage-col-right .collage-img {
    height: 100%;
  }
}

@media (max-width: 991px) {
  .favourite-destinations-page .destinations-hero-banner .hero-title {
    font-size: 42px !important;
    white-space: normal !important;
  }
  .favourite-destinations-page .destinations-filter-wrapper {
    margin-top: 16px;
    margin-bottom: 32px;
  }
  .favourite-destinations-page .destinations-filter-box {
    width: 100%;
  }
  .favourite-destinations-page .destinations-collage-grid {
    grid-template-columns: 1fr;
    height: auto;
    gap: 16px;
  }
  .favourite-destinations-page .collage-col,
  .favourite-destinations-page .collage-col-left {
    height: auto;
  }
  .favourite-destinations-page .collage-col-left {
    flex-direction: row;
    gap: 16px;
  }
  .favourite-destinations-page .collage-col-left .collage-img {
    width: calc(50% - 8px);
    height: 200px;
  }
  .favourite-destinations-page .collage-col-center .collage-img {
    width: 100%;
    height: 300px;
  }
  .favourite-destinations-page .collage-col-right .collage-img {
    width: 100%;
    height: 300px;
  }
}

@media (max-width: 576px) {
  .favourite-destinations-page .destinations-hero-banner {
    height: 240px;
  }
  .favourite-destinations-page .destinations-hero-banner .hero-bg-img {
    height: 240px;
  }
  .favourite-destinations-page .destinations-hero-banner .hero-title {
    font-size: 28px !important;
  }
  .favourite-destinations-page .filter-pill-label {
    font-size: 16px;
  }
  .favourite-destinations-page .collage-col-left {
    flex-direction: column;
  }
  .favourite-destinations-page .collage-col-left .collage-img {
    width: 100%;
    height: 180px;
  }
}

/* =========================================================
   Trip Summary: Traveler Row & Price Detail Accordion
   ========================================================= */
.yourSelection__traveler {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.75);
  border-top: 1px dashed rgba(0, 0, 0, 0.15);
  padding-top: 14px;
  margin-top: 14px;
}

.yourSelection__traveler p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.yourSelection__traveler .d-block {
  text-align: right;
}

.yourSelection__traveler .d-block p {
  margin: 0;
  color: rgba(0, 0, 0, 0.65);
  font-size: 14px;
  display: block;
}

.your-selection .line-selection-divider,
.yourSelection__box .line-selection-divider,
.yourSelection .line-selection-divider {
  border-top: 1px dashed rgba(0, 0, 0, 0.15) !important;
  width: 100% !important;
  margin: 14px 0 10px 0 !important;
}

.your-selection .selection-price-detail-wrap,
.your-selection .formBox__price__detail,
.yourSelection__box .selection-price-detail-wrap,
.yourSelection__box .formBox__price__detail,
.yourSelection .selection-price-detail-wrap,
.yourSelection .formBox__price__detail {
  width: 100% !important;
  margin-top: 10px !important;
}

.your-selection .selection-price-item,
.your-selection .price-detail-item,
.yourSelection__box .selection-price-item,
.yourSelection__box .price-detail-item,
.yourSelection .selection-price-item,
.yourSelection .price-detail-item {
  margin-bottom: 8px !important;
}

.your-selection .selection-price-toggle,
.your-selection .price-detail-toggle,
.your-selection .price-detail-item > .d-flex,
.yourSelection__box .selection-price-toggle,
.yourSelection__box .price-detail-toggle,
.yourSelection__box .price-detail-item > .d-flex,
.yourSelection .selection-price-toggle,
.yourSelection .price-detail-toggle,
.yourSelection .price-detail-item > .d-flex {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  user-select: none !important;
  padding: 6px 0 !important;
  width: 100% !important;
}

.your-selection .selection-toggle-left,
.your-selection .btnDetail,
.yourSelection__box .selection-toggle-left,
.yourSelection__box .btnDetail,
.yourSelection .selection-toggle-left,
.yourSelection .btnDetail {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-family: inherit !important;
  font-size: 14px !important;
  color: rgba(0, 0, 0, 0.85) !important;
  font-weight: 400 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  outline: none !important;
  text-align: left !important;
}

.your-selection .selection-toggle-left:hover,
.your-selection .btnDetail:hover,
.yourSelection__box .selection-toggle-left:hover,
.yourSelection__box .btnDetail:hover,
.yourSelection .selection-toggle-left:hover,
.yourSelection .btnDetail:hover {
  color: #2649aa !important;
}

.your-selection .selection-arrow,
.yourSelection__box .selection-arrow,
.yourSelection .selection-arrow {
  width: 10px !important;
  height: 8px !important;
  fill: #222222 !important;
  transition: transform 0.2s ease !important;
  display: inline-block !important;
  vertical-align: middle !important;
  flex-shrink: 0 !important;
}

.your-selection .selection-arrow.collapsed,
.yourSelection__box .selection-arrow.collapsed,
.yourSelection .selection-arrow.collapsed {
  transform: rotate(-90deg) !important;
}

.your-selection .selection-toggle-amount,
.your-selection .price-detail-amount,
.your-selection .price-detail-item > .d-flex > p,
.your-selection .price-detail-item > .d-flex > p.text14,
.yourSelection__box .selection-toggle-amount,
.yourSelection__box .price-detail-amount,
.yourSelection__box .price-detail-item > .d-flex > p,
.yourSelection .selection-toggle-amount,
.yourSelection .price-detail-amount,
.yourSelection .price-detail-item > .d-flex > p,
.yourSelection .price-detail-item > .d-flex > p.text14 {
  font-size: 14px !important;
  color: rgba(0, 0, 0, 0.85) !important;
  font-weight: 400 !important;
  margin: 0 !important;
  text-align: right !important;
}

.your-selection .selection-cost-box,
.your-selection .formBox__sub.costBox,
.yourSelection__box .selection-cost-box,
.yourSelection__box .formBox__sub.costBox,
.yourSelection .selection-cost-box,
.yourSelection .formBox__sub.costBox {
  background: #edf5fd !important;
  border-radius: 6px !important;
  padding: 16px 20px !important;
  margin: 8px 0 14px 0 !important;
  list-style: none !important;
  border: none !important;
}

.your-selection .cost-title,
.your-selection .costBox li:first-child,
.yourSelection__box .cost-title,
.yourSelection__box .costBox li:first-child,
.yourSelection .cost-title,
.yourSelection .costBox li:first-child {
  display: block !important;
  font-weight: 500 !important;
  margin-bottom: 8px !important;
  font-size: 14px !important;
  color: rgba(0, 0, 0, 0.85) !important;
}

.your-selection .cost-row,
.your-selection .costBox li,
.yourSelection__box .cost-row,
.yourSelection__box .costBox li,
.yourSelection .cost-row,
.yourSelection .costBox li {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 14px !important;
  line-height: 28px !important;
  color: rgba(0, 0, 0, 0.85) !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

.your-selection .cost-row span,
.your-selection .costBox li p,
.yourSelection__box .cost-row span,
.yourSelection__box .costBox li p,
.yourSelection .cost-row span,
.yourSelection .costBox li p {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 14px !important;
  color: rgba(0, 0, 0, 0.85) !important;
}

.your-selection .costBox li p.medium,
.yourSelection__box .costBox li p.medium,
.yourSelection .costBox li p.medium {
  font-weight: 500 !important;
  color: rgba(0, 0, 0, 0.85) !important;
}

/* =========================================================
   Payment Success & Payment Failed Pages
   ========================================================= */
.flightPayment {
  padding: 40px 15px 70px;
  background-color: #f4f6fb;
  min-height: calc(100vh - 420px);
  width: 100% !important;
  max-width: 1920px !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.flightPayment .container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 15px;
}

.flightPayment__box {
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
  max-width: 860px;
  margin: 0 auto 30px;
  padding: 50px 40px 40px;
  text-align: center;
  box-sizing: border-box;
}

.flightPayment__icon {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.flightPayment__icon svg {
  width: 160px;
  height: 150px;
  display: block;
}

.flightPayment__title {
  font-size: 26px;
  font-weight: 600;
  margin: 0 0 16px 0;
  line-height: 1.35;
  text-align: center;
}

.flightPayment__title.colorGreen2,
.flightPayment__title.success {
  color: #5FA82B;
}

.flightPayment__title.colorRed800,
.flightPayment__title.failed {
  color: #EB5757;
}

.flightPayment__price {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #F5A623;
  color: #ffffff;
  border-radius: 50px;
  padding: 6px 22px;
  font-size: 15px;
  font-weight: 500;
  margin: 0 auto 20px;
  box-shadow: 0 2px 8px rgba(245, 166, 35, 0.25);
}

.flightPayment__price .text16 {
  font-size: 15px;
  font-weight: 400;
  margin-right: 6px;
}

.flightPayment__price .text24 {
  font-size: 16px;
  font-weight: 700;
}

.flightPayment__text {
  max-width: 680px;
  margin: 0 auto;
  text-align: center;
}

.flightPayment__text p {
  line-height: 1.6;
  margin-bottom: 12px;
}

.flightPayment__text p.payment-lead {
  color: #4B5563;
  font-size: 14px;
}

.flightPayment__text p.payment-note {
  color: #6B7280;
  font-size: 13.5px;
  margin-bottom: 22px;
}

.flightPayment__booking {
  margin: 15px 0 24px;
  text-align: center;
}

.flightPayment__booking a.viewMore {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #2F80ED;
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.2s ease;
}

.flightPayment__booking a.viewMore:hover {
  color: #1D68CD;
  text-decoration: underline;
}

.flightPayment__booking a.viewMore svg {
  display: inline-block;
  vertical-align: middle;
}

/* Collapsible Reason Box */
.flightPayment__reason {
  margin: 12px auto 20px;
  max-width: 680px;
  text-align: center;
}

.flightPayment__reason .btnReason {
  background: none;
  border: none;
  color: #2F80ED;
  font-size: 13.5px;
  font-weight: 500;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  transition: color 0.2s ease;
}

.flightPayment__reason .btnReason:hover span {
  text-decoration: underline;
}

.flightPayment__reason .btnReason svg {
  transition: transform 0.3s ease;
  display: inline-block;
}

.flightPayment__reason .btnReason.rotate svg {
  transform: rotate(180deg);
}

.flightPayment__reason__collapse {
  display: none;
  margin-top: 14px;
  text-align: left;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-radius: 6px;
  padding: 16px 20px;
}

.flightPayment__reason__collapse ul {
  list-style: none;
  padding: 0;
  margin: 0 0 10px 0;
}

.flightPayment__reason__collapse ul li {
  font-size: 13px;
  color: #4B5563;
  line-height: 1.6;
  margin-bottom: 6px;
  position: relative;
  padding-left: 14px;
}

.flightPayment__reason__collapse ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #94A3B8;
  font-size: 14px;
}

.flightPayment__reason__collapse p.reasons-note {
  font-size: 13px;
  color: #1E293B;
  font-weight: 500;
  line-height: 1.5;
  margin: 8px 0 0 0;
  padding-top: 8px;
  border-top: 1px dashed #CBD5E1;
}

/* Footer Metadata List */
.flightPayment__list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 36px;
  list-style: none;
  padding: 24px 0 0 0;
  margin: 28px auto 0;
  border-top: 1px solid #EDF2F7;
  max-width: 720px;
  flex-wrap: wrap;
}

.flightPayment__list li {
  margin: 0;
  padding: 0;
}

.flightPayment__list li p {
  color: #6B7280;
  font-size: 13px;
  margin: 0;
  font-weight: 400;
}

@media (max-width: 767px) {
  .flightPayment {
    padding: 20px 10px 40px;
  }
  .flightPayment__box {
    padding: 35px 16px 25px;
    margin: 15px auto;
  }
  .flightPayment__title {
    font-size: 20px;
  }
  .flightPayment__price {
    font-size: 14px;
    padding: 5px 16px;
  }
  .flightPayment__list {
    flex-direction: column;
    gap: 8px;
    padding-top: 16px;
    margin-top: 20px;
  }
}

/* =========================================================
   Fullscreen Loading Screen Overlay - Ultra-Smooth & Rock-Solid
   ========================================================= */
body.body-loading-lock {
  overflow: hidden !important;
  touch-action: none !important;
}

.loadingBox,
#loadingContainer,
#homeFlightSearchLoading,
.loading-overlay {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 99999999 !important;
  zoom: 1 !important;
  transform: none !important;
  background-color: #121f3d !important;
  background-image: url('../images/loading-bg.jpg') !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  box-sizing: border-box !important;

  /* Default Hidden State: Fully non-blocking and invisible */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity;
  display: none;
}

.loadingBox__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, rgba(14, 25, 54, 0.42) 0%, rgba(14, 25, 54, 0.58) 100%);
  pointer-events: none;
}

/* Active / Shown State - Pure GPU Opacity Fade In */
.loadingBox.active,
#loadingContainer.active,
#homeFlightSearchLoading.active,
.loading-overlay.active,
.loadingBox.is-active,
#loadingContainer.is-active,
#homeFlightSearchLoading.is-active,
.loading-overlay.is-active,
.loadingBox.show:not(.d-none):not(.is-hidden),
#loadingContainer.show:not(.d-none):not(.is-hidden),
#homeFlightSearchLoading.show:not(.d-none):not(.is-hidden),
.loading-overlay.show:not(.d-none):not(.is-hidden) {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  display: flex !important;
}

/* Explicit Hidden State */
.loadingBox.d-none,
#loadingContainer.d-none,
#homeFlightSearchLoading.d-none,
.loading-overlay.d-none,
.loadingBox.is-hidden,
#loadingContainer.is-hidden,
#homeFlightSearchLoading.is-hidden,
.loading-overlay.is-hidden,
.loadingBox[style*="display: none"],
#loadingContainer[style*="display: none"],
#homeFlightSearchLoading[style*="display: none"],
.loading-overlay[style*="display: none"] {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  display: none !important;
}

.loadingBox:not(.active):not(.is-active) *,
#loadingContainer:not(.active):not(.is-active) *,
#homeFlightSearchLoading:not(.active):not(.is-active) *,
.loading-overlay:not(.active):not(.is-active) *,
.loadingBox.is-hidden *,
#loadingContainer.is-hidden *,
#homeFlightSearchLoading.is-hidden *,
.loading-overlay.is-hidden *,
.loadingBox.d-none *,
#loadingContainer.d-none *,
#homeFlightSearchLoading.d-none *,
.loading-overlay.d-none * {
  pointer-events: none !important;
}

/* Content Container - Fixed & Rock Solid (Zero Transform Scaling/Bouncing) */
.loadingBox .loadingBox__icon,
.loading-overlay .loadingBox__icon,
.loading-overlay .loading-content {
  position: relative;
  z-index: 2;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 22px !important;
  text-align: center !important;
  max-width: 620px !important;
  padding: 20px !important;
  margin: 0 auto !important;
  transform: none !important;
  transition: none !important;
}

.loadingBox.active .loadingBox__icon,
#loadingContainer.active .loadingBox__icon,
.loading-overlay.active .loadingBox__icon,
.loadingBox.is-active .loadingBox__icon,
#loadingContainer.is-active .loadingBox__icon,
.loading-overlay.is-active .loadingBox__icon,
.loadingBox[style*="display: flex"] .loadingBox__icon,
#loadingContainer[style*="display: flex"] .loadingBox__icon,
.loading-overlay[style*="display: flex"] .loadingBox__icon,
.loadingBox.active .loading-content,
.loading-overlay.active .loading-content {
  transform: none !important;
}

/* =========================================================
   Multi-Cities Dynamic Rows - Text Wrapping & Label Fixes
   ========================================================= */
.form-search--multi-city .multi-city-row [class*="from-select-place"] .text4,
.form-search--multi-city .multi-city-row [class*="from-select-place"] .text6,
.form-search--multi-city .multi-city-row .from-select-place .text4,
.form-search--multi-city .multi-city-row .from-select-place .text6 {
  position: absolute !important;
  left: 16px !important;
  right: auto !important;
  top: 22px !important;
  width: 200px !important;
  max-width: 200px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  line-height: normal !important;
}

.form-search--multi-city .multi-city-row [class*="from-select-place"] .text5,
.form-search--multi-city .multi-city-row [class*="from-select-place"] .text7,
.form-search--multi-city .multi-city-row .from-select-place .text5,
.form-search--multi-city .multi-city-row .from-select-place .text7 {
  position: absolute !important;
  left: 300px !important;
  right: auto !important;
  top: 22px !important;
  width: 200px !important;
  max-width: 200px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  line-height: normal !important;
}

.form-search--multi-city .multi-city-row [class*="depart-date"] .text,
.form-search--multi-city .multi-city-row [class*="depart-date"] .text2,
.form-search--multi-city .multi-city-row .depart-date .text,
.form-search--multi-city .multi-city-row .depart-date .text2 {
  position: absolute !important;
  left: 16px !important;
  top: 22px !important;
  width: auto !important;
  max-width: 180px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  font-size: 14px !important;
  line-height: normal !important;
}

.form-search--multi-city .multi-city-row .has-value,
.form-search--multi-city .multi-city-row [class*="from-select-place"] .has-value,
.form-search--multi-city .multi-city-row [class*="depart-date"] .has-value,
.form-search--multi-city .has-value {
  opacity: 1 !important;
  color: #222222 !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* =========================================================
   Flight Passenger Page (Step 2) - Centering & Footer Guarantees (Desktop)
   ========================================================= */
@media (min-width: 769px) {
  .flight-list-passenger-page {
    background: #f2f2f2 !important;
    min-height: 100vh !important;
    position: relative !important;
    overflow-x: hidden !important;
    width: 1920px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    transform-origin: top center !important;
  }

  .flight-passenger-wrapper {
    width: 1920px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: #f2f2f2 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container {
    width: 1140px !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 30px 0 40px 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container .trip-summary-section,
  .flight-passenger-container .trip-summary-section .your-selection,
  .flight-passenger-container .passenger-details-section,
  .flight-passenger-container .passenger-card-container,
  .flight-passenger-container .info-protection-card,
  .flight-passenger-container .page-action-row {
    width: 1140px !important;
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container .passenger-details-heading {
    color: #2649aa !important;
    font-size: 30px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    margin: 0 0 16px 0 !important;
    text-align: left !important;
    width: 100% !important;
  }

  .flight-list-passenger-page .footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 40px auto 0 auto !important;
    width: 1920px !important;
    height: 533px !important;
    z-index: 10 !important;
    display: block !important;
    overflow: hidden !important;
  }
}

/* ==========================================================================
   Favourite Destinations Interactive Cards & Links
   ========================================================================== */
.favourite-destinations-title-link {
  display: block !important;
  text-decoration: none !important;
  cursor: pointer !important;
}

.favourite-destinations-title-link .favourite-destinations2 {
  cursor: pointer !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.favourite-destinations-title-link:hover .favourite-destinations2 {
  color: #1a357f !important;
  text-shadow: 0 2px 4px rgba(38, 73, 170, 0.25) !important;
}

.dest-card-link {
  display: block !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: inherit !important;
}

.dest-card-link,
.dest-card-link * {
  cursor: pointer !important;
}

/* Gradient overlays shouldn't block pointer events */
.dest-card-link .rectangle-121,
.dest-card-link .tran-chiangmai,
.dest-card-link .rectangle-126,
.dest-card-link .tran-samui,
.dest-card-link .rectangle-127 {
  pointer-events: none !important;
  transition: opacity 0.3s ease !important;
}

/* Smooth hover for images without scaling or border overflow */
.dest-card-link .img-bangkok,
.dest-card-link .malacca,
.dest-card-link .penang,
.dest-card-link .img-samui,
.dest-card-link .perak {
  transition: filter 0.25s ease, box-shadow 0.25s ease !important;
}

.dest-card-link:hover .img-bangkok,
.dest-card-link:hover .malacca,
.dest-card-link:hover .penang,
.dest-card-link:hover .img-samui,
.dest-card-link:hover .perak {
  transform: none !important;
  filter: brightness(1.08) !important;
  box-shadow: 0px 20px 40px 0px rgba(0, 0, 0, 0.3) !important;
}

.dest-card-link:hover .rectangle-121,
.dest-card-link:hover .tran-chiangmai,
.dest-card-link:hover .rectangle-126,
.dest-card-link:hover .tran-samui,
.dest-card-link:hover .rectangle-127 {
  opacity: 0.65 !important;
}

.dest-card-link:hover .kuala-lumpur,
.dest-card-link:hover .malacca2,
.dest-card-link:hover .penang2,
.dest-card-link:hover .sabah,
.dest-card-link:hover .perak2 {
  color: #ffffff !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.7) !important;
  transition: color 0.25s ease !important;
}

/* Footer Copyright Centering & Alignment (Desktop) */
@media (min-width: 769px) {
  .footer-link-group {
    display: contents !important;
  }
  .fly-thai-airways-copyright-2020-all-rights-reserved,
  .footer .fly-thai-airways-copyright-2020-all-rights-reserved {
    color: #ffffff !important;
    text-align: center !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important;
    min-width: max-content !important;
    max-width: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: visible !important;
    bottom: 16px !important;
    top: auto !important;
    height: auto !important;
    display: block !important;
  }

  /* =========================================================
     Footer Brand Section - Robust Flex Flow (Prevents Text Overlapping)
     ========================================================= */
  .footer .footer-brand-section {
    position: absolute !important;
    left: 390px !important;
    top: 198px !important;
    width: 440px !important;
    max-width: 440px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    z-index: 5 !important;
  }

  .footer .footer-brand-section .welcome-to-fly-malindo-airways {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 10px 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: var(--roboto-medium-24px-font-family, "Roboto", sans-serif) !important;
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
  }

  .footer .footer-brand-section .lorem-ipsum-is-simply-dummy-text-of-the-printing-and-typesetting-industry-lorem-ipsum-has-been-the-industry-s-standard-dummy-text-ever-since-the-1500-s {
    position: static !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 440px !important;
    height: auto !important;
    margin: 0 0 18px 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-family: var(--regular-14px-font-family, "Roboto", sans-serif) !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    font-weight: 400 !important;
  }

  .footer .footer-brand-section .footer-social-payment-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    gap: 32px !important;
    width: 100% !important;
    margin-top: 0 !important;
  }

  .footer .footer-brand-section .follow-us {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 146px !important;
    height: 72px !important;
    flex-shrink: 0 !important;
  }

  .footer .footer-brand-section .frame-12 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 196px !important;
    height: 74px !important;
    flex-shrink: 0 !important;
  }
}

/* ==========================================================================
   Universal Page Layout Standardization (1920px Canvas & 1140px Content) (Desktop)
   ========================================================================== */
@media (min-width: 769px) {
  /* 1. Review & Payment Page */
  .flight-list-review-page {
    background: #f2f2f2 !important;
    min-height: 100vh !important;
    position: relative !important;
    overflow-x: hidden !important;
    width: 1920px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    transform-origin: top center !important;
  }

  .flight-review-wrapper {
    width: 1920px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    background: #f2f2f2 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .flight-review-container {
    width: 1140px !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    padding: 30px 0 60px 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .flight-review-container .order-code-section,
  .flight-review-container .review-section-title,
  .flight-review-container .review-card,
  .flight-review-container .payment-method-selector,
  .flight-review-container .review-bottom-actions {
    width: 1140px !important;
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }

  .flight-list-review-page .footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 40px auto 0 auto !important;
    width: 1920px !important;
    height: 533px !important;
    z-index: 10 !important;
    display: block !important;
    overflow: hidden !important;
  }

  /* 2. Flight Select Page */
  .flight-list-select-flight {
    background: #f2f2f2 !important;
    min-height: 100vh !important;
    position: relative !important;
    overflow-x: hidden !important;
    width: 1920px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-direction: column !important;
    transform-origin: top center !important;
  }

  .flight-select-main {
    width: 1920px !important;
    margin: 0 auto !important;
    position: relative !important;
    box-sizing: border-box !important;
  }

  .flight-section-block {
    width: 1140px !important;
    max-width: 1140px !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
  }

  .flight-list-select-flight .footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 40px auto 0 auto !important;
    width: 1920px !important;
    height: 533px !important;
    z-index: 10 !important;
    display: block !important;
    overflow: hidden !important;
  }

  /* 3. Site Inner Layout (All Content, Info & Account Pages) */
  .site-inner-layout {
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    background: #f4f6fa !important;
    width: 1920px !important;
    margin: 0 auto !important;
    position: relative !important;
    overflow-x: hidden !important;
    transform-origin: top center !important;
  }

  .site-inner-layout .header-container {
    width: 1920px !important;
    background: #2649aa !important;
    display: block !important;
    overflow: visible !important;
    position: relative !important;
    height: 64px !important;
    z-index: 1000 !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
  }

  .site-inner-layout .header-container > .header {
    position: relative !important;
    width: 1920px !important;
    max-width: 1920px !important;
    height: 64px !important;
    left: 0 !important;
    top: 0 !important;
    background: transparent !important;
    zoom: 1 !important;
    transform: none !important;
  }

  .site-inner-layout .header-container .header-inner-container {
    max-width: 1140px !important;
    width: 1140px !important;
    height: 64px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .site-inner-layout .site-inner-main {
    flex: 1 0 auto !important;
    max-width: 1140px !important;
    width: 1140px !important;
    margin: 40px auto 60px auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .site-inner-layout .site-inner-main.site-inner-main-full > .flight-steps-bar,
  .site-inner-layout .site-inner-main:has(.flightPayment) > .flight-steps-bar {
    width: 1920px !important;
    max-width: 1920px !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
  }

  .site-inner-layout .site-inner-main:not(.site-inner-main-full):not(:has(.flightPayment)) > .flight-steps-bar {
    width: 1920px !important;
    margin-left: -390px !important;
    margin-top: -40px !important;
    margin-bottom: 40px !important;
  }

  .site-inner-layout .footer-container {
    width: 1920px !important;
    background: #00247d !important;
    display: flex !important;
    justify-content: center !important;
    align-items: flex-start !important;
    margin-top: auto !important;
    position: relative !important;
    min-height: 533px !important;
    height: 533px !important;
  }

  .site-inner-layout .footer-container > .footer {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    width: 1920px !important;
    min-width: 1920px !important;
    height: 533px !important;
    flex-shrink: 0 !important;
    transform-origin: top center !important;
  }
}

/* 4. All Specific Inner Content Containers Enforced at 1140px Centered on Desktop */
@media (min-width: 769px) {
  .contact-page-container,
  .terms-of-use-page,
  .privacy-policy-page,
  .baggage-policy-page,
  .fleet-revitalization-page,
  .manage-booking-fare-rules-page,
  .manage-booking-status-page,
  .manage-booking-refund-request-page,
  .manage-booking-booking-change-page,
  .travel-info-news-page,
  .favourite-destinations-page,
  .flight-routes-page,
  .page-content,
  .flightPayment .container {
    width: 1140px !important;
    max-width: 1140px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
  }
}

/* ==========================================================================
   Universal Mobile Layout & Footer Guarantees (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
  html, body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  /* =========================================================
     Flight Select Page - Complete Mobile Responsive Layout
     ========================================================= */
  .flight-list-select-flight {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    zoom: 1 !important;
    transform: none !important;
    display: block !important;
    position: relative !important;
    background: #f2f2f2 !important;
    min-height: 100vh !important;
  }

  /* Header & Navigation Bar on Flight Select Page */
  .flight-list-select-flight .header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #2649aa !important;
  }

  .flight-list-select-flight .header .header-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 56px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    position: relative !important;
  }

  .flight-list-select-flight .header .header-logo a {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .flight-list-select-flight .header .header-logo .group-557 {
    width: 28px !important;
    height: 28px !important;
    object-fit: contain !important;
  }

  .flight-list-select-flight .header .header-logo .group-558 {
    width: 132px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Steps Breadcrumbs Bar (_box_heading) */
  .flight-steps-bar,
  .flight-list-select-flight .flight-steps-bar,
  .flight-list-passenger-page .flight-steps-bar,
  .flight-list-review-page .flight-steps-bar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 44px !important;
    padding: 8px 16px !important;
    margin: 0 0 10px 0 !important;
    left: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06) !important;
    border-bottom: 1px solid #edf2f9 !important;
    box-sizing: border-box !important;
    z-index: 50 !important;
  }

  .mobile-step-title {
    display: block !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
    letter-spacing: -0.2px !important;
  }

  .flight-steps-group {
    display: none !important;
  }

  .edit-search-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: transparent !important;
    color: #1648c1 !important;
    padding: 4px 0 !important;
    border-radius: 0 !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    border: none !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    height: auto !important;
    box-shadow: none !important;
  }

  .edit-search-btn svg {
    width: 16px !important;
    height: 16px !important;
    fill: none !important;
    stroke: #1648c1 !important;
    stroke-width: 2 !important;
  }

  /* Main Flight Container & Section Block */
  .flight-list-select-flight .flight-select-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 12px 16px 24px 16px !important;
    box-sizing: border-box !important;
  }

  .flight-list-select-flight .flight-section-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .flight-section-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
    margin: 4px 0 8px 0 !important;
  }

  .flight-route-subtitle {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
    font-size: 13px !important;
    color: #1648c1 !important;
  }

  .flight-route-subtitle > div:first-child {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1648c1 !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  .flight-route-subtitle .city-code {
    font-weight: 600 !important;
    color: #1648c1 !important;
  }

  .flight-route-subtitle .country {
    font-weight: 600 !important;
    color: #1648c1 !important;
  }

  .flight-route-subtitle .plane-icon,
  .flight-route-subtitle .mdi-airplane-sharp,
  .flight-route-subtitle .mdi-airplane-sharp2 {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
  }

  .flight-route-subtitle .plane-icon svg {
    width: 20px !important;
    height: 16px !important;
  }

  .flight-route-subtitle .plane-icon svg path {
    fill: #7ba2e0 !important;
  }

  .flight-route-subtitle > div:nth-child(3) {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1648c1 !important;
    text-align: right !important;
    line-height: 1.3 !important;
  }

  .flight-route-subtitle .separator-dot {
    display: none !important;
  }

  .flight-route-subtitle .flight-date-text {
    grid-column: 1 / -1 !important;
    font-size: 13px !important;
    color: #64748b !important;
    font-weight: 500 !important;
    margin-top: 4px !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  .flight-route-subtitle .flight-date-text::before {
    content: "•" !important;
    font-size: 16px !important;
    color: #94a3b8 !important;
    line-height: 1 !important;
  }

  /* Action Bar */
  .flight-action-bar {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 12px !important;
    gap: 8px !important;
  }

  .flight-action-bar .flight-action-left {
    order: 2 !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .flight-action-bar .action-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    font-size: 12px !important;
    color: #334155 !important;
    font-weight: 500 !important;
  }

  .flight-action-bar .action-item.lowest-fare svg path {
    fill: #d32f2f !important;
  }

  .flight-action-bar .action-item.selection-tag svg path {
    fill: #d32f2f !important;
  }

  .flight-action-bar .filter-btn {
    order: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 6px 12px !important;
    background: #c83226 !important;
    border: none !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    cursor: pointer !important;
    box-shadow: none !important;
  }

  .flight-action-bar .filter-btn svg {
    fill: #ffffff !important;
    color: #ffffff !important;
  }

  .flight-action-bar .filter-btn svg path {
    fill: #ffffff !important;
  }

  /* Date Strip / Carousel Bar */
  .flight-date-carousel-wrap,
  .flDate {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    margin: 0 0 14px 0 !important;
    left: 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    background: #ffffff !important;
    border: 1px solid #d5deed !important;
    border-radius: 4px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .date-nav-btn {
    width: 28px !important;
    height: 100% !important;
    min-width: 28px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    cursor: pointer !important;
  }

  .date-nav-btn svg path {
    fill: #94a3b8 !important;
  }

  .date-strip-box,
  .flDate__slide {
    flex: 1 1 0% !important;
    width: 0 !important;
    min-width: 0 !important;
    height: 100% !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    display: flex !important;
    align-items: stretch !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .date-strip-box::-webkit-scrollbar {
    display: none !important;
  }

  .date-slot-item,
  .flDate__item {
    flex: 1 0 50% !important;
    min-width: 100px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: #1e293b !important;
    padding: 0 6px !important;
    position: relative !important;
    border-right: 1px solid #edf2f7 !important;
    border-top: 3px solid transparent !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    transition: all 0.2s !important;
  }

  .date-slot-item:last-child,
  .flDate__item:last-child {
    border-right: none !important;
  }

  .date-slot-item.active,
  .flDate__item.active {
    border-top: 3px solid #f5a623 !important;
  }

  .date-slot-day {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  .date-slot-price {
    display: none !important;
  }

  /* CRITICAL: HIDE 5-column Desktop Fare Matrix Header on Mobile */
  .fare-matrix-header,
  .flight-list-select-flight .fare-matrix-header,
  .component-11 {
    display: none !important;
  }

  /* =========================================================
     Mobile Flight Cards Styling (_flight_mobile.blade.php)
     ========================================================= */
  .flTicketMobile__item,
  .flight_search_result_wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    background: #ffffff !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
    border: 1px solid #d5deed !important;
    margin-bottom: 14px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* Dark Blue Header matching Reference: "Flight Infomation" */
  .flTicketMobile__header {
    background: #00247d !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    font-size: 13px !important;
    text-align: center !important;
    padding: 8px 12px !important;
    border-radius: 4px 4px 0 0 !important;
    letter-spacing: 0.2px !important;
    margin: 0 !important;
  }

  .flTicketMobile__box {
    padding: 12px 14px 0 14px !important;
    box-sizing: border-box !important;
  }

  .flInfo {
    margin-bottom: 4px !important;
  }

  .flInfo__trip {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 6px !important;
    margin-bottom: 8px !important;
  }

  .flInfo__item {
    flex: 0 0 36% !important;
    min-width: 0 !important;
  }

  .flInfo__item.text-right {
    text-align: right !important;
  }

  .flInfo__item .flight-time-code {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #00247d !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.2 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
  }

  .flInfo__item.text-right .flight-time-code {
    justify-content: flex-end !important;
  }

  .flInfo__item .flight-time-code .ANN_timeOfDeparture,
  .flInfo__item .flight-time-code .ANN_timeOfArrival {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #00247d !important;
  }

  .flInfo__item .flight-time-code .ANN_from,
  .flInfo__item .flight-time-code .ANN_to {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #00247d !important;
  }

  .flInfo__item .flight-city-text,
  .flInfo__item .flight-country-text {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #1648c1 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  .flInfo__iviewFlighttem.flight-duration-center {
    flex: 1 1 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 2px !important;
  }

  .stopBox {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }

  .stopBox__graphic {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    gap: 4px !important;
  }

  .stopBox__dash-line {
    flex: 1 1 0% !important;
    height: 1px !important;
    border-top: 1px dashed #7ba2e0 !important;
    min-width: 10px !important;
  }

  .stopBox__icon {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
  }

  .stopBox__icon svg {
    width: 20px !important;
    height: 16px !important;
  }

  .stopBox__icon svg path {
    fill: #7ba2e0 !important;
  }

  .stopBox__text .ANN_duration {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 2px 0 0 0 !important;
    line-height: 1.2 !important;
  }

  .stopBox__text .ANN_noneStop .colorGreen {
    color: #28a745 !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .stopBox__text .ANN_multipleStop {
    color: #ea580c !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  /* Airline Info Row */
  .flInfo__flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-top: none !important;
    padding-top: 6px !important;
    margin-top: 8px !important;
  }

  .airlineInfo__logo {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: #1e293b !important;
  }

  .airlineInfo__logo img {
    height: 16px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  .airlineInfo__logo strong {
    font-weight: 700 !important;
  }

  .viewMore.viewDetail {
    background: transparent !important;
    border: none !important;
    color: #1b3f9e !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    padding: 0 !important;
  }

  /* From price row & Accordion trigger */
  .flTicketMobile__total {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    background: #edf2f9 !important;
    border-top: 1px solid #d5deed !important;
    border-bottom: none !important;
    padding: 9px 14px !important;
    margin: 8px -14px 0 -14px !important;
    cursor: pointer !important;
    user-select: none !important;
    transition: background-color 0.15s !important;
  }

  .flTicketMobile__total:hover {
    background: #e2eaf5 !important;
  }

  .flTicketMobile__from-price {
    font-size: 13px !important;
    color: #475569 !important;
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
  }

  .flTicketMobile__from-price .from-text {
    font-size: 13px !important;
    color: #475569 !important;
  }

  .flTicketMobile__from-price .from-amount,
  .flTicketMobile__from-price .ANN_min_price_mobi {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
  }

  .flTicketMobile__arrow {
    background: transparent !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 2px !important;
    cursor: pointer !important;
    transition: transform 0.2s ease !important;
  }

  .flTicketMobile__arrow svg path {
    fill: #1648c1 !important;
  }

  .flTicketMobile__item.is-open .flTicketMobile__arrow,
  .flTicketMobile__item.open .flTicketMobile__arrow {
    transform: rotate(180deg) !important;
  }

  /* Accordion Fare Prices List */
  .flTicketMobile__price {
    display: none !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 -14px !important;
    background: #ffffff !important;
    border-top: 1px solid #d5deed !important;
  }

  .flTicketMobile__item.is-open .flTicketMobile__price,
  .flTicketMobile__item.open .flTicketMobile__price {
    display: flex !important;
  }

  .priceMobile {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 12px 14px !important;
    background: #ffffff !important;
    border: none !important;
    border-bottom: 1px dashed #d5deed !important;
    border-radius: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
    transition: background 0.15s !important;
  }

  .priceMobile:last-child {
    border-bottom: none !important;
  }

  .priceMobile:hover {
    background: #f8fafc !important;
  }

  .priceMobile.selected {
    background: #eff6ff !important;
  }

  .priceMobile__label {
    display: none !important;
  }

  .priceMobile__cont {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    padding-right: 12px !important;
  }

  .priceMobile__cont .fare-name {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.3 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .priceMobile__cont .fare-seats {
    font-size: 12px !important;
    color: #64748b !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .priceMobile__btn {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }

  .priceMobile__btn .btn-royal-blue {
    background: #1b3f9e !important;
    color: #ffffff !important;
    border-radius: 4px !important;
    padding: 8px 16px !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    min-width: 120px !important;
    height: 38px !important;
    box-sizing: border-box !important;
    transition: background 0.15s ease !important;
  }

  .priceMobile__btn .btn-royal-blue:hover,
  .priceMobile__btn .btn-royal-blue:active {
    background: #14307a !important;
  }

  .priceMobile__btn .btn-royal-blue svg {
    margin-left: 2px !important;
    flex-shrink: 0 !important;
  }

  .priceMobile__btn .btn-royal-blue svg path {
    stroke: #ffffff !important;
  }

  /* CRITICAL: ONLY show 1 button at a time! */
  .priceMobile__btn .btn.selected,
  .priceMobile__btn .btn-selected-action,
  .priceMobile__btn .btn.d-none {
    display: none !important;
  }

  .priceMobile.selected .priceMobile__btn .btn:not(.selected):not(.btn-selected-action),
  .priceMobile.selected .priceMobile__btn .btn-price-action {
    display: none !important;
  }

  .priceMobile.selected .priceMobile__btn .btn.selected,
  .priceMobile.selected .priceMobile__btn .btn-selected-action {
    display: inline-flex !important;
    background: #1b3f9e !important;
    color: #ffffff !important;
  }

  /* Desktop flight card fallback on mobile (_flight_desktop.blade.php) */
  .flight-card-row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 12px !important;
    overflow: hidden !important;
    height: auto !important;
    min-height: auto !important;
  }

  .flight-card-row .flight-card-info {
    width: 100% !important;
    flex: 1 1 auto !important;
    padding: 12px !important;
    border-bottom: 1px solid #e2e8f0 !important;
  }

  .flight-card-row .flight-times-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 6px !important;
  }

  .flight-card-row .flight-fare-cell {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    flex: 1 1 auto !important;
    border-left: none !important;
    border-bottom: 1px solid #f1f5f9 !important;
    padding: 8px 12px !important;
    background: #ffffff !important;
  }

  /* Box Filter Accordion Drawer */
  .filterSimpleBox {
    padding: 14px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .boxFilter__group {
    flex-direction: column !important;
    gap: 14px !important;
  }

  .boxFilter__left {
    width: 100% !important;
    padding-right: 0 !important;
    border-right: none !important;
    border-bottom: 1px solid #eeeeee !important;
    padding-bottom: 14px !important;
  }

  .boxFilter__right {
    width: 100% !important;
  }

  .grid-3, .grid-4 {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }

  /* Selected Flight Summary on Mobile */
  #ResultShow,
  .box_after_choosing_flight {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .selected-flight-card {
    width: 100% !important;
    max-width: 100% !important;
    background: #ffffff !important;
    border: 1px solid #d5deed !important;
    border-radius: 4px !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06) !important;
    margin-bottom: 14px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .selected-flight-heading {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 10px 14px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #edf2f9 !important;
    box-sizing: border-box !important;
  }

  .selected-flight-heading h2 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  .selected-flight-change {
    background: transparent !important;
    border: none !important;
    color: #1b3f9e !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    text-decoration: underline !important;
    padding: 0 !important;
    line-height: 1.2 !important;
  }

  .selected-flight-body {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: flex-start !important;
    gap: 8px !important;
    padding: 12px 14px 0 14px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
  }

  .selected-flight-airport {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
  }

  .selected-flight-airport.departure,
  .selected-flight-airport:first-of-type {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .selected-flight-airport.arrival,
  .selected-flight-airport:nth-of-type(2) {
    align-items: flex-end !important;
    text-align: right !important;
  }

  .selected-flight-airport strong {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #00247d !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.2 !important;
  }

  .selected-flight-airport span {
    font-size: 12px !important;
    font-weight: 500 !important;
    color: #1648c1 !important;
    margin: 0 !important;
    line-height: 1.2 !important;
  }

  .selected-flight-duration {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-width: 70px !important;
    gap: 2px !important;
    padding: 0 2px !important;
  }

  .selected-flight-arrow {
    display: inline-block !important;
    color: #7ba2e0 !important;
    font-size: 18px !important;
    line-height: 1 !important;
    border-bottom: none !important;
    width: auto !important;
  }

  .selected-flight-duration span:nth-child(2) {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.2 !important;
  }

  .selected-flight-stops {
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
  }

  .selected-flight-stops.is-direct {
    color: #28a745 !important;
  }

  .selected-flight-carrier {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 10px !important;
    margin-top: 8px !important;
    border-top: none !important;
    box-sizing: border-box !important;
  }

  .selected-flight-carrier-line {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 12px !important;
    color: #1e293b !important;
    flex-shrink: 0 !important;
  }

  .selected-flight-carrier-line img {
    height: 16px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  .selected-flight-carrier-line strong,
  .selected-flight-carrier-line span {
    font-size: 12px !important;
    color: #1e293b !important;
    white-space: nowrap !important;
  }

  .selected-flight-carrier button {
    background: transparent !important;
    border: none !important;
    color: #1b3f9e !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    padding: 0 !important;
    white-space: nowrap !important;
    margin-left: auto !important;
    text-align: right !important;
  }

  .selected-flight-fare {
    grid-column: 1 / -1 !important;
    width: calc(100% + 28px) !important;
    background: #edf2f9 !important;
    margin: 8px -14px 0 -14px !important;
    padding: 10px 14px !important;
    border-top: 1px solid #d5deed !important;
    text-align: left !important;
    box-sizing: border-box !important;
  }

  .selected-flight-fare strong {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
  }

  /* =========================================================
     Flight Details Itinerary Panel on Mobile
     ========================================================= */
  .flight-details-overlay {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .flight-details-panel {
    padding: 36px 10px 16px 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .flight-details-grid {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .flight-details-grid h2 {
    font-size: 15px !important;
    height: 42px !important;
  }

  .flight-details-legs {
    padding: 14px 14px 16px 14px !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .flight-details-duration {
    font-size: 13.5px !important;
    margin-bottom: 14px !important;
  }

  .flight-details-duration strong {
    font-size: 13.5px !important;
    margin-left: 6px !important;
  }

  /* Route Grid: Left, Plane icon, Right */
  .flight-details-route {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    gap: 8px !important;
    align-items: flex-start !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .flight-details-origin,
  .flight-details-route > div:first-of-type {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    text-align: left !important;
    min-width: 0 !important;
  }

  .flight-details-destination,
  .flight-details-route > div:last-of-type {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    text-align: right !important;
    min-width: 0 !important;
  }

  .flight-details-route h3 {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #00247d !important;
    margin: 0 0 2px 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .flight-details-destination h3,
  .flight-details-route > div:last-of-type h3 {
    text-align: right !important;
  }

  .flight-details-route b {
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #1648c1 !important;
    margin: 0 0 3px 0 !important;
    line-height: 1.25 !important;
  }

  .flight-details-destination b,
  .flight-details-route > div:last-of-type b {
    text-align: right !important;
  }

  .flight-details-route p {
    font-size: 11px !important;
    color: #64748b !important;
    margin: 1px 0 !important;
    line-height: 1.3 !important;
  }

  .flight-details-destination p,
  .flight-details-route > div:last-of-type p {
    text-align: right !important;
  }

  .flight-details-plane {
    width: 26px !important;
    height: 26px !important;
    font-size: 16px !important;
    color: #7ba2e0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
  }

  .flight-details-aircraft {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    font-size: 12px !important;
    margin: 12px 0 0 0 !important;
    color: #475569 !important;
  }

  .flight-details-aircraft span {
    margin-left: 0 !important;
    color: #64748b !important;
  }

  .flight-details-airline-logo {
    height: 18px !important;
    width: auto !important;
    object-fit: contain !important;
  }

  .flight-details-connection {
    font-size: 12px !important;
    margin: 10px 0 !important;
    padding: 6px 10px !important;
    background: #f8fafc !important;
    border-radius: 4px !important;
  }

  .flight-details-note {
    font-size: 12px !important;
    padding: 10px 12px !important;
    margin: 14px 0 0 0 !important;
    line-height: 1.4 !important;
  }

  /* =========================================================
     "Your Selection" Summary Card & Continue Bar on Mobile
     ========================================================= */
  #yourSelectionBlock {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px 0 !important;
    box-sizing: border-box !important;
  }

  .your-selection {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .your-selection .your-selection2 {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
    margin: 0 0 12px 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }

  .your-selection .rectangle-211 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08) !important;
    position: relative !important;
    padding: 12px 14px 16px 14px !important;
    padding-top: 12px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  /* Flight Segment Card on Mobile */
  .your-selection .departing-flight,
  .your-selection .departing-flight3 {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 142px !important;
    background: rgba(14, 97, 215, 0.08) !important;
    border-radius: 6px !important;
    margin: 0 0 12px 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .your-selection .rectangle-212 {
    display: none !important;
  }

  .your-selection .line-182 {
    display: none !important;
  }

  /* Segment Header: Title + Dot + Date */
  .your-selection .departing-flight2,
  .your-selection .return-flight {
    position: absolute !important;
    left: 10px !important;
    top: 10px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #1648c1 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .your-selection .ellipse-3 {
    position: absolute !important;
    left: 106px !important;
    top: 16px !important;
    width: 4px !important;
    height: 4px !important;
  }

  .your-selection .ellipse-1 {
    background: rgba(0, 0, 0, 0.35) !important;
    border-radius: 50% !important;
    width: 100% !important;
    height: 100% !important;
  }

  .your-selection .wednesday-15-january-2020 {
    position: absolute !important;
    left: 116px !important;
    top: 10px !important;
    right: 10px !important;
    font-size: 12px !important;
    color: rgba(0, 0, 0, 0.65) !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Origin (Departure) */
  .your-selection ._15-35-han,
  .your-selection ._21-40-bkk {
    position: absolute !important;
    left: 10px !important;
    top: 38px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  .your-selection .hanoi-vietnam,
  .your-selection .bangkok-thailand2 {
    position: absolute !important;
    left: 10px !important;
    top: 62px !important;
    font-size: 11px !important;
    color: #555555 !important;
    line-height: 1.2 !important;
    max-width: 105px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  /* Center (Duration & Stops) */
  .your-selection .rectangle-41 {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 38px !important;
    background: rgba(0, 0, 0, 0.08) !important;
    border-radius: 12px !important;
    width: 64px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .your-selection ._2-h-05-m {
    font-size: 11px !important;
    color: rgba(0, 0, 0, 0.7) !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }

  .your-selection .none-stop,
  .your-selection .stop-info-wrap {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    top: 64px !important;
    width: auto !important;
    white-space: nowrap !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
  }

  .your-selection .none-stop {
    color: #28a745 !important;
  }

  .your-selection ._2-stop2 {
    color: #eb453c !important;
  }

  /* Destination (Arrival) */
  .your-selection ._17-40-bkk,
  .your-selection ._15-35-han2 {
    position: absolute !important;
    right: 10px !important;
    left: auto !important;
    top: 38px !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #1648c1 !important;
    line-height: 1.2 !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  .your-selection .bangkok-thailand,
  .your-selection .hanoi-vietnam2 {
    position: absolute !important;
    right: 10px !important;
    left: auto !important;
    top: 62px !important;
    font-size: 11px !important;
    color: #555555 !important;
    line-height: 1.2 !important;
    max-width: 105px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: right !important;
  }

  /* Footer: Fare Class & Baggage */
  .your-selection .economy-saver {
    position: absolute !important;
    left: 10px !important;
    top: 112px !important;
    font-size: 12.5px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.65) !important;
    line-height: 1.2 !important;
    max-width: 60% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  .your-selection .selection-baggage {
    position: absolute !important;
    right: 10px !important;
    left: auto !important;
    top: 112px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    color: #1648c1 !important;
    line-height: 1.2 !important;
    text-align: right !important;
  }

  /* Traveler Info Row on Mobile */
  .your-selection .selection-traveler-row {
    position: static !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 0 !important;
    margin: 4px 0 !important;
    box-sizing: border-box !important;
  }

  .your-selection .selection-traveler-row .traveler-left {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
  }

  .your-selection .selection-traveler-row .ic-mdi-account {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-block !important;
    flex-shrink: 0 !important;
  }

  .your-selection .selection-traveler-row .traveler-s {
    position: static !important;
    font-size: 13.5px !important;
    color: rgba(0, 0, 0, 0.75) !important;
    line-height: 1.2 !important;
  }

  .your-selection .selection-traveler-row ._2-adult {
    position: static !important;
    font-size: 13.5px !important;
    color: rgba(0, 0, 0, 0.55) !important;
    line-height: 1.2 !important;
    text-align: right !important;
  }

  .your-selection .line-53 {
    position: static !important;
    width: 100% !important;
    border-top: 1px dashed rgba(0, 0, 0, 0.15) !important;
    margin: 10px 0 12px 0 !important;
  }

  /* Price Detail Section on Mobile */
  .your-selection .selection-price-detail-wrap {
    position: static !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .your-selection .selection-price-item {
    width: 100% !important;
    margin-bottom: 8px !important;
    box-sizing: border-box !important;
  }

  .your-selection .selection-price-toggle {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 6px 0 !important;
    box-sizing: border-box !important;
    cursor: pointer !important;
  }

  .your-selection .selection-toggle-left {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.85) !important;
  }

  .your-selection .selection-toggle-left .selection-arrow {
    width: 10px !important;
    height: 8px !important;
    transition: transform 0.2s ease !important;
  }

  .your-selection .selection-toggle-left .selection-arrow.collapsed {
    transform: rotate(-90deg) !important;
  }

  .your-selection .selection-toggle-amount {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    text-align: right !important;
  }

  .your-selection .selection-cost-box {
    width: 100% !important;
    background: #edf5fd !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    margin-top: 8px !important;
    box-sizing: border-box !important;
  }

  .your-selection .selection-cost-box .cost-title {
    font-size: 13px !important;
    font-weight: 600 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    margin-bottom: 8px !important;
  }

  .your-selection .selection-cost-box .cost-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    font-size: 12.5px !important;
    line-height: 24px !important;
    color: rgba(0, 0, 0, 0.8) !important;
  }

  .your-selection .selection-cost-box .cost-row span:last-child {
    font-weight: 500 !important;
    text-align: right !important;
  }

  .your-selection .line-184 {
    position: static !important;
    width: 100% !important;
    border-top: 1px solid rgba(0, 0, 0, 0.12) !important;
    margin: 12px 0 !important;
  }

  .your-selection .selection-total-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    width: 100% !important;
    padding: 2px 0 !important;
    box-sizing: border-box !important;
  }

  .your-selection .selection-total-row .total {
    color: #1648c1 !important;
    font-size: 16px !important;
    font-weight: 700 !important;
  }

  .your-selection .selection-total-row .your-selection-total-wrap {
    display: flex !important;
    align-items: baseline !important;
    gap: 4px !important;
  }

  .your-selection .selection-total-row .usd {
    color: #eb453c !important;
    font-size: 15px !important;
    font-weight: 500 !important;
  }

  .your-selection .selection-total-row ._641-10 {
    color: #eb453c !important;
    font-size: 20px !important;
    font-weight: 700 !important;
  }

  /* Multi-City Support on Mobile */
  .yourSelection__box {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    box-sizing: border-box !important;
  }

  .yourSelection__row {
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 14px !important;
  }

  .yourSelection__col {
    width: 100% !important;
  }

  /* Bottom Continue Bar on Mobile */
  .flight-continue-bar {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 30px 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
  }

  .flight-continue-bar .btn-continue-booking,
  .btn-continue-booking {
    width: 100% !important;
    height: 44px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    text-align: center !important;
  }

  /* Footer on Flight Select Page */
  .flight-list-select-flight .footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* =========================================================
     Flight Passenger Page (Step 2) - Mobile Responsive
     ========================================================= */
  .flight-list-passenger-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    zoom: 1 !important;
    transform: none !important;
    display: block !important;
    position: relative !important;
    background: #f2f2f2 !important;
    min-height: 100vh !important;
  }

  .flight-list-passenger-page .header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #2649aa !important;
  }

  .flight-list-passenger-page .header .header-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 56px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .flight-passenger-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 12px 30px 12px !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container .trip-summary-section,
  .flight-passenger-container .trip-summary-section .your-selection,
  .flight-passenger-container .passenger-details-section,
  .flight-passenger-container .passenger-card-container,
  .flight-passenger-container .info-protection-card,
  .flight-passenger-container .page-action-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container .passenger-details-heading {
    font-size: 20px !important;
    line-height: 1.3 !important;
    margin-bottom: 12px !important;
  }

  /* Passenger Card Container on Mobile */
  .flight-passenger-container .passenger-card-container {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08) !important;
    overflow: visible !important;
    position: relative !important;
    z-index: 30 !important;
    margin: 0 0 16px 0 !important;
  }

  /* Horizontal Tabs on Top */
  .passenger-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    background: #2649aa !important;
    border-radius: 6px 6px 0 0 !important;
    display: flex !important;
    flex-direction: row !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  .passenger-sidebar::-webkit-scrollbar {
    display: none !important;
  }

  .passenger-tab-item {
    flex: 1 0 auto !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 16px !important;
    border-bottom: 3px solid transparent !important;
    border-right: 1px solid rgba(255, 255, 255, 0.15) !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    cursor: pointer !important;
  }

  .passenger-tab-item:last-child {
    border-right: none !important;
  }

  .passenger-tab-item.active {
    background: #00247d !important;
    border-bottom: 3px solid #eb453c !important;
  }

  .passenger-tab-item .tab-active-notch {
    display: none !important;
  }

  .passenger-tab-header {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    width: auto !important;
  }

  .passenger-tab-title {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  .passenger-tab-check {
    width: 16px !important;
    height: 16px !important;
  }

  .passenger-tab-passenger-name {
    display: none !important;
  }

  /* Passenger Content Area on Mobile */
  .passenger-content-area {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 16px 14px 20px 14px !important;
    box-sizing: border-box !important;
    border-radius: 0 0 6px 6px !important;
    background: #ffffff !important;
    overflow: visible !important;
  }

  .passenger-panel {
    width: 100% !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .form-col-item:focus-within,
  .custom-date-wrapper:focus-within {
    z-index: 100 !important;
  }

  .flight-passenger-container .flatpickr-calendar.static.open,
  .flight-passenger-container .flatpickr-calendar.open {
    z-index: 999999 !important;
    max-width: calc(100vw - 24px) !important;
  }

  .passenger-panel-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2649aa !important;
    margin: 0 0 6px 0 !important;
  }

  .passenger-notice-text {
    font-size: 12px !important;
    line-height: 1.45 !important;
    color: rgba(0, 0, 0, 0.55) !important;
    margin: 0 0 10px 0 !important;
  }

  .tips-name-link {
    font-size: 13px !important;
    margin-bottom: 16px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
  }

  /* Form Fields on Mobile */
  .form-field-group {
    margin-bottom: 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .form-field-label {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    margin-bottom: 6px !important;
  }

  .form-row-3col {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    width: 100% !important;
    margin-bottom: 16px !important;
    box-sizing: border-box !important;
  }

  .form-col-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex: 1 1 100% !important;
    box-sizing: border-box !important;
  }

  .form-input-custom,
  .form-select-custom {
    width: 100% !important;
    height: 42px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
  }

  /* Date of Birth: 3 Columns Side-by-Side */
  .form-row-dob {
    display: grid !important;
    grid-template-columns: 80px 1fr 90px !important;
    gap: 8px !important;
    flex-direction: row !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .form-row-dob .form-col-item {
    width: auto !important;
    max-width: none !important;
    flex: none !important;
  }

  /* Passport Checkbox */
  .checkbox-row-custom {
    margin-top: -6px !important;
    margin-bottom: 16px !important;
    align-items: flex-start !important;
    gap: 8px !important;
  }

  .checkbox-row-custom input[type="checkbox"] {
    margin-top: 2px !important;
    flex-shrink: 0 !important;
  }

  .checkbox-row-custom label {
    font-size: 12px !important;
    line-height: 1.35 !important;
  }

  /* Frequent Flyer Accordion */
  .frequent-flyer-toggle {
    margin: 8px 0 14px 0 !important;
    font-size: 13.5px !important;
  }

  .passport-details-heading {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: #2649aa !important;
    margin: 16px 0 12px 0 !important;
  }

  /* Action Buttons inside Panels */
  .panel-action-bar {
    display: flex !important;
    justify-content: center !important;
    margin-top: 20px !important;
    padding-top: 14px !important;
    border-top: 1px solid #f1f5f9 !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .btn-next-passenger {
    width: 100% !important;
    min-width: 0 !important;
    height: 44px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    text-align: center !important;
  }

  /* Information Protection Box on Mobile */
  .flight-passenger-container .info-protection-card {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 14px !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    box-sizing: border-box !important;
    border-radius: 6px !important;
    margin-bottom: 16px !important;
  }

  .flight-passenger-container .info-protection-icon {
    width: 48px !important;
    height: 34px !important;
    flex-shrink: 0 !important;
  }

  .flight-passenger-container .info-protection-icon svg {
    width: 100% !important;
    height: 100% !important;
  }

  .flight-passenger-container .info-protection-title {
    font-size: 13.5px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
  }

  .flight-passenger-container .info-protection-desc {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
  }

  /* Bottom Continue Button on Mobile */
  .flight-passenger-container .page-action-row {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    margin: 10px 0 24px 0 !important;
    box-sizing: border-box !important;
  }

  .flight-passenger-container .btn-continue-booking,
  .btn-continue-booking {
    width: 100% !important;
    height: 44px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    border-radius: 4px !important;
    text-align: center !important;
  }

  .flight-list-passenger-page .footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* =========================================================
     Flight Review & Payment Page (Step 3 & 4) - Mobile Responsive
     ========================================================= */
  .flight-list-review-page {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    zoom: 1 !important;
    transform: none !important;
    display: block !important;
    position: relative !important;
    background: #f2f2f2 !important;
    min-height: 100vh !important;
  }

  .flight-list-review-page .header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #2649aa !important;
  }

  .flight-list-review-page .header .header-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 56px !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .flight-review-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }

  .flight-review-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 14px 12px 30px 12px !important;
    box-sizing: border-box !important;
  }

  .flight-review-container .trip-summary-section,
  .flight-review-container .payment-method-section,
  .flight-review-container .page-action-row,
  .flight-review-container .review-card,
  .flight-review-container .itinerary-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 16px 0 !important;
    box-sizing: border-box !important;
  }

  .flight-review-container .itinerary-flight-title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #2649aa !important;
    margin-bottom: 6px !important;
  }

  .flight-review-container .itinerary-route-line {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin-bottom: 16px !important;
  }

  .flight-review-container .itinerary-route-cities {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #2649aa !important;
    line-height: 1.35 !important;
  }

  .flight-review-container .itinerary-route-plane {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 2px !important;
  }

  .flight-review-container .itinerary-route-plane svg {
    width: 16px !important;
    height: 16px !important;
  }

  .flight-review-container .itinerary-route-dot {
    display: none !important;
  }

  .flight-review-container .itinerary-route-date {
    display: block !important;
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.55) !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
  }

  /* Itinerary times grid: 3-column balanced times row on Mobile */
  .flight-review-container .itinerary-times-grid {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    align-items: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    margin-bottom: 14px !important;
  }

  .flight-review-container .itinerary-station {
    min-width: 0 !important;
    width: 100% !important;
  }

  .flight-review-container .itinerary-station.departure,
  .flight-review-container .itinerary-station:first-child {
    text-align: left !important;
  }

  .flight-review-container .itinerary-station.arrival,
  .flight-review-container .itinerary-station:last-child {
    text-align: right !important;
  }

  .flight-review-container .itinerary-station.arrival .itinerary-time-code,
  .flight-review-container .itinerary-station.arrival .itinerary-city,
  .flight-review-container .itinerary-station:last-child .itinerary-time-code,
  .flight-review-container .itinerary-station:last-child .itinerary-city {
    text-align: right !important;
  }

  .flight-review-container .itinerary-time-code {
    font-size: 17px !important;
    font-weight: 700 !important;
    color: #2649aa !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  .flight-review-container .itinerary-city {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: #2649aa !important;
    opacity: 0.85 !important;
    line-height: 1.3 !important;
    margin-top: 3px !important;
    word-break: break-word !important;
  }

  .flight-review-container .itinerary-middle-flight {
    min-width: 72px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding-top: 2px !important;
  }

  .flight-review-container .itinerary-duration-pill {
    background: rgba(0, 0, 0, 0.08) !important;
    color: rgba(0, 0, 0, 0.65) !important;
    border-radius: 12px !important;
    padding: 2px 10px !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  .flight-review-container .itinerary-stop-badge {
    font-size: 11px !important;
    font-weight: 600 !important;
    white-space: nowrap !important;
  }

  .flight-review-container .itinerary-stop-badge.non-stop {
    color: #81be33 !important;
  }

  .flight-review-container .itinerary-stop-badge.has-stops {
    color: #eb453c !important;
  }

  .flight-review-container .itinerary-flights-meta-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    margin-bottom: 10px !important;
  }

  .flight-review-container .itinerary-flight-meta {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 13px !important;
    color: rgba(0, 0, 0, 0.75) !important;
    margin-bottom: 0 !important;
  }

  .flight-review-container .itinerary-more-details-btn {
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #318fdb !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
  }

  /* Passenger Details on Mobile: 2-column card layout displaying ALL information */
  .flight-review-container .review-passenger-header {
    display: none !important;
  }

  .flight-review-container .review-passenger-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px 14px !important;
    padding: 14px 0 !important;
    border-bottom: none !important;
  }

  .flight-review-container .review-passenger-row + .review-passenger-row {
    border-top: 1px dashed rgba(0, 0, 0, 0.15) !important;
    margin-top: 8px !important;
    padding-top: 16px !important;
  }

  .flight-review-container .review-passenger-row .review-p-cell.col-name {
    grid-column: 1 / -1 !important;
    padding-bottom: 6px !important;
    border-bottom: 1px solid #f1f5f9 !important;
    margin-bottom: 2px !important;
  }

  .flight-review-container .review-passenger-row .review-p-cell.col-name strong,
  .flight-review-container .review-passenger-row .passenger-name-text {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #2649aa !important;
  }

  .flight-review-container .review-passenger-row .review-p-cell {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  .flight-review-container .review-passenger-row .mobile-label {
    display: block !important;
    font-size: 11.5px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.5) !important;
    margin-bottom: 2px !important;
    line-height: 1.3 !important;
  }

  .flight-review-container .review-passenger-row .col-value {
    font-size: 13.5px !important;
    font-weight: 500 !important;
    color: rgba(0, 0, 0, 0.85) !important;
    line-height: 1.35 !important;
    word-break: break-word !important;
  }

  .flight-review-container .review-passenger-row .review-p-cell.col-flyer {
    grid-column: 1 / -1 !important;
  }

  .flight-list-review-page .footer {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* 1. Universal Inner Layout Container */
  .site-inner-layout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    background: #f4f6fa !important;
    margin: 0 !important;
    position: relative !important;
    overflow-x: hidden !important;
    transform: none !important;
    zoom: 1 !important;
  }

  .site-inner-layout .header-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    background: #2649aa !important;
    position: relative !important;
    z-index: 1000 !important;
  }

  .site-inner-layout .header-container > .header {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    left: 0 !important;
    top: 0 !important;
    background: transparent !important;
    zoom: 1 !important;
    transform: none !important;
  }

  .site-inner-layout .header-container .header-inner-container {
    width: 100% !important;
    max-width: 100% !important;
    height: 56px !important;
    padding: 0 16px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .site-inner-layout .site-inner-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 16px 12px 32px 12px !important;
    box-sizing: border-box !important;
    flex: 1 0 auto !important;
  }

  /* Specific Mobile Inner Content Reset */
  .contact-page-container,
  .terms-of-use-page,
  .privacy-policy-page,
  .baggage-policy-page,
  .fleet-revitalization-page,
  .manage-booking-fare-rules-page,
  .manage-booking-status-page,
  .manage-booking-refund-request-page,
  .manage-booking-booking-change-page,
  .travel-info-news-page,
  .favourite-destinations-page,
  .flight-routes-page,
  .page-content,
  .flightPayment .container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  /* 2. Universal Footer Container on Mobile */
  .footer-container,
  .site-inner-layout .footer-container,
  .home-book-your-trip-round-trip > .footer-container {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #00247d !important;
    display: block !important;
  }

  /* 3. Universal Footer Element on Mobile */
  .footer,
  .site-inner-layout .footer-container > .footer,
  .home-book-your-trip-round-trip > .footer,
  .about-us-page > .footer,
  .about-us-faq > .footer,
  .flight-list-passenger-page .footer,
  .flight-list-review-page .footer,
  .flight-list-select-flight .footer,
  .cheap-flight .footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 32px 18px 24px 18px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: #00247d !important;
    transform: none !important;
    zoom: 1 !important;
  }

  /* Background Image & Overlay */
  .footer .mask-group,
  .footer .bg-footer-img,
  .footer .rectangle-150 {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    pointer-events: none !important;
  }

  .footer .rectangle-150 {
    background: #00247d !important;
    opacity: 0.92 !important;
  }

  .footer > *:not(.mask-group):not(.bg-footer-img):not(.rectangle-150) {
    position: relative;
    z-index: 2;
  }

  /* 4. Order 1: Newsletter Title */
  .footer .subscribe-to-our-newsletter {
    position: relative !important;
    inset: auto !important;
    order: 1 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    text-align: center !important;
    display: block !important;
    line-height: 1.3 !important;
  }

  /* 5. Order 2: Newsletter Input Form */
  .footer .frame-11 {
    position: relative !important;
    inset: auto !important;
    order: 2 !important;
    width: 100% !important;
    max-width: 440px !important;
    height: 42px !important;
    margin: 0 auto 28px auto !important;
    display: block !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    border: none !important;
  }

  .footer .frame-11 .email-address-input {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: #ffffff !important;
    border-radius: 4px !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    padding: 0 108px 0 14px !important;
    font-size: 14px !important;
    color: #1a1a1a !important;
    outline: none !important;
    box-sizing: border-box !important;
    display: block !important;
    z-index: 1 !important;
    -webkit-appearance: none !important;
    line-height: normal !important;
  }

  .footer .frame-11 .email-address-input::placeholder {
    color: rgba(0, 0, 0, 0.45) !important;
    font-size: 13px !important;
    opacity: 1 !important;
  }

  .footer .frame-11 .email-address-input:focus {
    border-color: #eb453c !important;
    box-shadow: 0 0 0 2px rgba(235, 69, 60, 0.2) !important;
  }

  .footer .frame-11 .btn-find-flights-40-px {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    left: auto !important;
    width: 100px !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 2 !important;
  }

  .footer .frame-11 .rectangle-10 {
    background: #eb453c !important;
    border-radius: 0 4px 4px 0 !important;
    width: 100% !important;
    height: 100% !important;
    transition: background 0.2s !important;
  }

  .footer .frame-11 .btn-find-flights-40-px:hover .rectangle-10,
  .footer .frame-11 .btn-find-flights-40-px:active .rectangle-10 {
    background: #d6372f !important;
  }

  .footer .frame-11 .submit {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    pointer-events: none !important;
  }

  /* Hide Desktop Horizontal Lines */
  .footer .line-107,
  .footer .line-108 {
    display: none !important;
  }

  /* 6. Order 3: Footer Brand Section */
  .footer .footer-brand-section {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .footer .footer-brand-section .welcome-to-fly-malindo-airways {
    position: static !important;
    width: 100% !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    text-align: left !important;
  }

  .footer .footer-brand-section .lorem-ipsum-is-simply-dummy-text-of-the-printing-and-typesetting-industry-lorem-ipsum-has-been-the-industry-s-standard-dummy-text-ever-since-the-1500-s {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    margin: 0 0 14px 0 !important;
    text-align: left !important;
  }

  .footer .footer-brand-section .footer-social-payment-row {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
    width: 100% !important;
  }

  .footer .footer-brand-section .follow-us {
    position: relative !important;
    width: 100% !important;
    height: 54px !important;
  }

  .footer .footer-brand-section .follow-us .follow-us2 {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
  }

  .footer .footer-brand-section .follow-us .facebook {
    position: absolute !important;
    left: 0 !important;
    top: 24px !important;
    width: 28px !important;
    height: 28px !important;
    z-index: 3 !important;
  }

  .footer .footer-brand-section .follow-us .ellipse-5 {
    position: absolute !important;
    left: 0 !important;
    top: 24px !important;
    width: 28px !important;
    height: 28px !important;
  }

  .footer .footer-brand-section .follow-us .instagram {
    position: absolute !important;
    left: 40px !important;
    top: 24px !important;
    width: 28px !important;
    height: 28px !important;
    z-index: 3 !important;
  }

  .footer .footer-brand-section .follow-us .ellipse-6 {
    position: absolute !important;
    left: 40px !important;
    top: 24px !important;
    width: 28px !important;
    height: 28px !important;
  }

  .footer .footer-brand-section .follow-us .google-plus {
    position: absolute !important;
    left: 80px !important;
    top: 24px !important;
    width: 28px !important;
    height: 28px !important;
    z-index: 3 !important;
  }

  .footer .footer-brand-section .follow-us .ellipse-7 {
    position: absolute !important;
    left: 80px !important;
    top: 24px !important;
    width: 28px !important;
    height: 28px !important;
  }

  .footer .footer-brand-section .frame-12 {
    position: relative !important;
    width: 100% !important;
    height: 54px !important;
  }

  .footer .footer-brand-section .frame-12 .payment-options {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 500 !important;
  }

  .footer .footer-brand-section .frame-12 .visa-pay-logo-1 {
    position: absolute !important;
    left: 0 !important;
    top: 24px !important;
  }

  .footer .footer-brand-section .frame-12 .rectangle-111 {
    position: absolute !important;
    left: 0 !important;
    top: 24px !important;
  }

  .footer .footer-brand-section .frame-12 .master-card-logo-1 {
    position: absolute !important;
    left: 54px !important;
    top: 24px !important;
  }

  .footer .footer-brand-section .frame-12 .rectangle-112 {
    position: absolute !important;
    left: 54px !important;
    top: 24px !important;
  }

  .footer .footer-brand-section .frame-12 .jcb {
    position: absolute !important;
    left: 108px !important;
    top: 24px !important;
  }

  /* 7. Order 4: Footer Link Groups (Vertical Clean Flow) */
  .footer .footer-link-group {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    inset: auto !important;
    order: 4 !important;
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    gap: 8px !important;
  }

  .footer .footer-link-group > div {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    display: block !important;
    text-align: left !important;
  }

  .footer .footer-link-group > div:first-child,
  .footer .fly-thai-airways,
  .footer .travel-information,
  .footer .manage-booking,
  .footer .extra-services3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #ffffff !important;
    margin-top: 14px !important;
    margin-bottom: 4px !important;
    letter-spacing: 0.3px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    padding-bottom: 6px !important;
  }

  .footer .footer-link-group a {
    color: rgba(255, 255, 255, 0.85) !important;
    display: block !important;
    padding: 4px 0 !important;
    font-size: 14px !important;
    text-decoration: none !important;
  }

  .footer .footer-link-group a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
  }

  /* 8. Order 5: Copyright Bar */
  .footer .fly-thai-airways-copyright-2020-all-rights-reserved {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    order: 5 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 20px 0 0 0 !important;
    padding: 16px 0 0 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.15) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: break-word !important;
    display: block !important;
  }

  /* Quick Actions / Booking Tabs (frame-15) - Ensure Flight Status icon is visible, properly sized, centered and tinted */
  .home-book-your-trip-round-trip .frame-15 .mdi-travel-insurance-plane-1,
  .frame-15 .mdi-travel-insurance-plane-1 {
    position: relative !important;
    inset: auto !important;
    width: 28px !important;
    height: 28px !important;
    order: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
  }

  .home-book-your-trip-round-trip .frame-15 .mdi-travel-insurance-plane-1 .frame-2,
  .frame-15 .mdi-travel-insurance-plane-1 .frame-2 {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    width: 24px !important;
    height: 24px !important;
    display: block !important;
    filter: brightness(0) saturate(100%) invert(48%) sepia(94%) saturate(1880%) hue-rotate(176deg) brightness(95%) contrast(91%) !important;
  }

  /* App Download Phone Input and Button (Mobile Alignment & Interactive Fix) */
  .home-book-your-trip-round-trip .app .phone-number {
    left: 12px !important;
    top: 224px !important;
    width: calc(62% - 16px) !important;
    height: 42px !important;
    display: flex !important;
    align-items: center !important;
    padding: 0 8px !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    border-radius: 4px !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    z-index: 2 !important;
  }

  .home-book-your-trip-round-trip .app .phone-number .phone-prefix-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 3px !important;
    flex-shrink: 0 !important;
  }

  .home-book-your-trip-round-trip .app .call-sharp,
  .app .phone-number .call-sharp {
    position: static !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0 !important;
    object-fit: contain !important;
  }

  .home-book-your-trip-round-trip .app .phone-country-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background: transparent !important;
    border: none !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: rgba(0, 0, 0, 0.75) !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    cursor: pointer !important;
  }

  .home-book-your-trip-round-trip .app .phone-number .mdi-caret-down-outline {
    position: static !important;
    inset: auto !important;
    width: 7px !important;
    height: 7px !important;
    pointer-events: none !important;
    opacity: 0.6 !important;
    flex-shrink: 0 !important;
  }

  .home-book-your-trip-round-trip .app .phone-input-field {
    flex: 1 !important;
    min-width: 0 !important;
    height: 100% !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 13px !important;
    color: #1a1a1a !important;
    padding: 0 0 0 2px !important;
    margin: 0 !important;
    -webkit-appearance: none !important;
    line-height: normal !important;
  }

  .home-book-your-trip-round-trip .app .phone-input-field::placeholder {
    color: rgba(0, 0, 0, 0.45) !important;
    font-size: 12px !important;
    opacity: 1 !important;
  }

  .home-book-your-trip-round-trip .app .btn-find-flights-48-px {
    left: calc(62% + 4px) !important;
    top: 224px !important;
    width: calc(38% - 16px) !important;
    height: 42px !important;
    border: none !important;
    background: transparent !important;
    padding: 0 !important;
    cursor: pointer !important;
    z-index: 2 !important;
  }

  .home-book-your-trip-round-trip .app .btn-find-flights-48-px .rectangle-102 {
    background: #eb453c !important;
    border-radius: 4px !important;
    width: 100% !important;
    height: 100% !important;
  }

  .home-book-your-trip-round-trip .app .btn-find-flights-48-px .send-app-link {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
    pointer-events: none !important;
  }

  /* Mobile Trip Type Radio Buttons & Labels - Precise alignment & no overlap across all forms */
  .form-search .trip-option-radio-1,
  .form-search .trip-option-radio-2,
  .form-search .trip-option-radio-3 {
    position: absolute !important;
    top: 67px !important;
    width: 18px !important;
    height: 18px !important;
    cursor: pointer !important;
    z-index: 5 !important;
    display: block !important;
  }

  .form-search .trip-option-label-1,
  .form-search .trip-option-label-2,
  .form-search .trip-option-label-3 {
    position: absolute !important;
    top: 67px !important;
    height: 18px !important;
    line-height: 18px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #111111 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    z-index: 5 !important;
    display: block !important;
  }

  /* Option 1: Round Trip */
  .form-search .trip-option-radio-1 { left: 12px !important; }
  .form-search .trip-option-label-1 { left: 34px !important; }

  /* Option 2: One Way */
  .form-search .trip-option-radio-2 { left: 116px !important; }
  .form-search .trip-option-label-2 { left: 138px !important; }

  /* Option 3: Multi-Cities */
  .form-search .trip-option-radio-3 { left: 206px !important; }
  .form-search .trip-option-label-3 { left: 228px !important; }
}

/* ==========================================================================
   FLIGHT SEARCH FORM INPUT FIELDS BACKGROUND & DISPLAY ENHANCEMENTS
   ========================================================================== */
.form-search .rectangle-9,
.rectangle-9 {
  background: #ffffff !important;
  border-radius: 4px !important;
  border: 1px solid var(--black-15, rgba(0, 0, 0, 0.15)) !important;
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0 !important;
}

/* Ensure Origin & Destination labels do not wrap */
.form-search .from-select-place .i-m-i7,
.form-search .from-select-place .i-m-i8 {
  width: auto !important;
  white-space: nowrap !important;
}

/* Origin & Destination placeholder display when not selected */
.form-search .from-select-place .text4:not(.has-value),
.form-search .from-select-place .text5:not(.has-value),
.form-search .from-select-place .text6:not(.has-value),
.form-search .from-select-place .text7:not(.has-value),
.form-search--multi-city .multi-city-place .text4:not(.has-value),
.form-search--multi-city .multi-city-place .text5:not(.has-value) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  color: var(--blue-malay-p600, #2649aa) !important;
}

/* ==========================================================================
   MOBILE RESPONSIVE EDIT SEARCH MODAL / DRAWER (max-width: 768px)
   Native touch-friendly card layout for Round Trip, One Way & Multi-Cities
   ========================================================================== */
@media (max-width: 768px) {
  .edit-search-modal-overlay,
  .edit-search-drawer {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    padding: 16px 12px 40px 12px !important;
    box-sizing: border-box !important;
    background: linear-gradient(180deg, #1d61bc 0%, #3678cc 25%, #6398df 55%, #a6caf7 85%, #dcebfc 100%) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 999999 !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
  }

  .edit-search-modal-overlay.is-open,
  .edit-search-drawer.is-open {
    display: block !important;
  }

  .edit-search-modal-close {
    position: fixed !important;
    top: 14px !important;
    right: 14px !important;
    width: 36px !important;
    height: 36px !important;
    padding: 6px !important;
    z-index: 100000 !important;
    background: rgba(0, 0, 0, 0.25) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  }

  .edit-search-modal-close svg {
    stroke: #ffffff !important;
    width: 20px !important;
    height: 20px !important;
  }

  .edit-search-modal-content {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-top: 12px !important;
    padding-bottom: 24px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .edit-search-modal-title {
    font-size: 20px !important;
    font-weight: 600 !important;
    margin: 0 0 16px 0 !important;
    color: #ffffff !important;
    text-align: center !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2) !important;
  }

  .edit-search-card-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    zoom: 1 !important;
    transform: none !important;
    margin: 0 auto !important;
    position: relative !important;
  }

  /* Slate grey card background container */
  .edit-search-modal-overlay .form-search,
  .edit-search-drawer .form-search {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    background: #8897a8 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  /* CRITICAL: Enforce strict hiding of inactive search forms on mobile */
  .edit-search-modal-overlay .form-search[style*="display: none"],
  .edit-search-drawer .form-search[style*="display: none"],
  .edit-search-modal-overlay [id^="form-search-"][style*="display: none"],
  .edit-search-drawer [id^="form-search-"][style*="display: none"],
  .form-search[style*="display: none"] {
    display: none !important;
  }

  .edit-search-modal-overlay .form-search--round-trip:not([style*="display: none"]),
  .edit-search-drawer .form-search--round-trip:not([style*="display: none"]),
  .edit-search-modal-overlay .form-search--one-way:not([style*="display: none"]),
  .edit-search-drawer .form-search--one-way:not([style*="display: none"]) {
    display: block !important;
    height: 382px !important;
  }

  /* Trip Type Radios & Labels across all trip forms */
  .edit-search-modal-overlay .form-search .trip-option-radio-1,
  .edit-search-modal-overlay .form-search .trip-option-radio-2,
  .edit-search-modal-overlay .form-search .trip-option-radio-3,
  .edit-search-drawer .form-search .trip-option-radio-1,
  .edit-search-drawer .form-search .trip-option-radio-2,
  .edit-search-drawer .form-search .trip-option-radio-3 {
    position: absolute !important;
    top: 16px !important;
    width: 18px !important;
    height: 18px !important;
    display: block !important;
    cursor: pointer !important;
    z-index: 5 !important;
  }

  .edit-search-modal-overlay .form-search .trip-option-label-1,
  .edit-search-modal-overlay .form-search .trip-option-label-2,
  .edit-search-modal-overlay .form-search .trip-option-label-3,
  .edit-search-drawer .form-search .trip-option-label-1,
  .edit-search-drawer .form-search .trip-option-label-2,
  .edit-search-drawer .form-search .trip-option-label-3 {
    position: absolute !important;
    top: 16px !important;
    height: 18px !important;
    line-height: 18px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    display: block !important;
    z-index: 5 !important;
  }

  .edit-search-modal-overlay .form-search .trip-option-radio-1,
  .edit-search-drawer .form-search .trip-option-radio-1 { left: 12px !important; }
  .edit-search-modal-overlay .form-search .trip-option-label-1,
  .edit-search-drawer .form-search .trip-option-label-1 { left: 34px !important; }

  .edit-search-modal-overlay .form-search .trip-option-radio-2,
  .edit-search-drawer .form-search .trip-option-radio-2 { left: 116px !important; }
  .edit-search-modal-overlay .form-search .trip-option-label-2,
  .edit-search-drawer .form-search .trip-option-label-2 { left: 138px !important; }

  .edit-search-modal-overlay .form-search .trip-option-radio-3,
  .edit-search-drawer .form-search .trip-option-radio-3 { left: 206px !important; }
  .edit-search-modal-overlay .form-search .trip-option-label-3,
  .edit-search-drawer .form-search .trip-option-label-3 { left: 228px !important; }

  /* ==========================================================================
     Origin & Destination Box (Round Trip / One Way & Multi-Cities)
     ========================================================================== */
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) [class*="from-select-place"],
  .edit-search-drawer .form-search:not(.form-search--multi-city) [class*="from-select-place"] {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 48px !important;
    width: calc(100% - 24px) !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }

  /* Center Vertical Divider */
  .edit-search-modal-overlay .form-search [class*="from-select-place"]::before,
  .edit-search-modal-overlay .form-search .multi-city-place::before,
  .edit-search-drawer .form-search [class*="from-select-place"]::before,
  .edit-search-drawer .form-search .multi-city-place::before {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    top: 6px !important;
    bottom: 6px !important;
    width: 1px !important;
    height: auto !important;
    background: rgba(0, 0, 0, 0.12) !important;
    z-index: 3 !important;
    pointer-events: none !important;
  }

  /* Center Airplane Icon */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-refresh-airplane,
  .edit-search-modal-overlay .form-search .multi-city-place .mdi-refresh-airplane,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-refresh-airplane,
  .edit-search-drawer .form-search .multi-city-place .mdi-refresh-airplane {
    position: absolute !important;
    left: calc(50% - 14px) !important;
    right: auto !important;
    top: 14px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15) !important;
  }

  .edit-search-modal-overlay .form-search .mdi-refresh-airplane img,
  .edit-search-drawer .form-search .mdi-refresh-airplane img {
    position: absolute !important;
    inset: 0 !important;
    margin: auto !important;
  }

  /* Left Half: Origin Label */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .i-m-i4,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .i-m-i7,
  .edit-search-modal-overlay .form-search .multi-city-place .i-m-i4,
  .edit-search-modal-overlay .form-search .multi-city-place .i-m-i7,
  .edit-search-drawer .form-search [class*="from-select-place"] .i-m-i4,
  .edit-search-drawer .form-search [class*="from-select-place"] .i-m-i7,
  .edit-search-drawer .form-search .multi-city-place .i-m-i4,
  .edit-search-drawer .form-search .multi-city-place .i-m-i7 {
    position: absolute !important;
    left: 12px !important;
    right: auto !important;
    top: 6px !important;
    width: calc(50% - 32px) !important;
    height: 16px !important;
    line-height: 16px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  /* Left Half: Origin City Text */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .text4,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .text6,
  .edit-search-modal-overlay .form-search .multi-city-place .text4,
  .edit-search-modal-overlay .form-search .multi-city-place .text6,
  .edit-search-drawer .form-search [class*="from-select-place"] .text4,
  .edit-search-drawer .form-search [class*="from-select-place"] .text6,
  .edit-search-drawer .form-search .multi-city-place .text4,
  .edit-search-drawer .form-search .multi-city-place .text6 {
    position: absolute !important;
    left: 12px !important;
    right: auto !important;
    top: 24px !important;
    width: calc(50% - 34px) !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #2649aa !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
  }

  /* Left Half: Origin Caret */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-caret-down-outline,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-caret-down-outline2,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-caret-down-outline3,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-caret-down-outline4,
  .edit-search-modal-overlay .form-search .multi-city-place .mdi-caret-down-outline,
  .edit-search-modal-overlay .form-search .multi-city-place .mdi-caret-down-outline2,
  .edit-search-modal-overlay .form-search .multi-city-place .mdi-caret-down-outline4,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-caret-down-outline,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-caret-down-outline2,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-caret-down-outline3,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-caret-down-outline4,
  .edit-search-drawer .form-search .multi-city-place .mdi-caret-down-outline,
  .edit-search-drawer .form-search .multi-city-place .mdi-caret-down-outline2,
  .edit-search-drawer .form-search .multi-city-place .mdi-caret-down-outline4 {
    position: absolute !important;
    left: calc(50% - 28px) !important;
    right: auto !important;
    top: 22px !important;
    width: 12px !important;
    height: 12px !important;
  }

  /* Right Half: Destination Label */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .i-m-i5,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .i-m-i8,
  .edit-search-modal-overlay .form-search .multi-city-place .i-m-i5,
  .edit-search-modal-overlay .form-search .multi-city-place .i-m-i8,
  .edit-search-drawer .form-search [class*="from-select-place"] .i-m-i5,
  .edit-search-drawer .form-search [class*="from-select-place"] .i-m-i8,
  .edit-search-drawer .form-search .multi-city-place .i-m-i5,
  .edit-search-drawer .form-search .multi-city-place .i-m-i8 {
    position: absolute !important;
    left: calc(50% + 18px) !important;
    right: auto !important;
    top: 6px !important;
    width: calc(50% - 32px) !important;
    height: 16px !important;
    line-height: 16px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    white-space: nowrap !important;
    text-align: left !important;
  }

  /* Right Half: Destination City Text */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .text5,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .text7,
  .edit-search-modal-overlay .form-search .multi-city-place .text5,
  .edit-search-modal-overlay .form-search .multi-city-place .text7,
  .edit-search-drawer .form-search [class*="from-select-place"] .text5,
  .edit-search-drawer .form-search [class*="from-select-place"] .text7,
  .edit-search-drawer .form-search .multi-city-place .text5,
  .edit-search-drawer .form-search .multi-city-place .text7 {
    position: absolute !important;
    left: calc(50% + 18px) !important;
    right: auto !important;
    top: 24px !important;
    width: calc(50% - 34px) !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #2649aa !important;
    opacity: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    text-align: left !important;
  }

  /* Right Half: Destination Caret */
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-caret-down-outline4,
  .edit-search-modal-overlay .form-search [class*="from-select-place"] .mdi-caret-down-outline5,
  .edit-search-modal-overlay .form-search .from-select-place .mdi-caret-down-outline4,
  .edit-search-modal-overlay .form-search .from-select-place .mdi-caret-down-outline3,
  .edit-search-modal-overlay .form-search .multi-city-place .mdi-caret-down-outline3,
  .edit-search-modal-overlay .form-search .multi-city-place .mdi-caret-down-outline5,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-caret-down-outline4,
  .edit-search-drawer .form-search [class*="from-select-place"] .mdi-caret-down-outline5,
  .edit-search-drawer .form-search .from-select-place .mdi-caret-down-outline4,
  .edit-search-drawer .form-search .from-select-place .mdi-caret-down-outline3,
  .edit-search-drawer .form-search .multi-city-place .mdi-caret-down-outline3,
  .edit-search-drawer .form-search .multi-city-place .mdi-caret-down-outline5 {
    position: absolute !important;
    left: auto !important;
    right: 12px !important;
    top: 22px !important;
    width: 12px !important;
    height: 12px !important;
  }

  /* ==========================================================================
     Round Trip & One Way: Dates, Passenger, Promo & Search Button
     ========================================================================== */
  .edit-search-modal-overlay .form-search--round-trip .depart-date,
  .edit-search-drawer .form-search--round-trip .depart-date {
    position: absolute !important;
    left: 12px !important;
    top: 114px !important;
    width: calc(50% - 18px) !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
  }

  .edit-search-modal-overlay .form-search--round-trip .return-date,
  .edit-search-drawer .form-search--round-trip .return-date {
    position: absolute !important;
    left: calc(50% + 6px) !important;
    top: 114px !important;
    width: calc(50% - 18px) !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
  }

  .edit-search-modal-overlay .form-search--one-way .depart-date,
  .edit-search-drawer .form-search--one-way .depart-date {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 114px !important;
    width: calc(100% - 24px) !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
  }

  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .depart-date .i-m-i3,
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .depart-date .i-m-i,
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .return-date .i-m-i4,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .depart-date .i-m-i3,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .depart-date .i-m-i,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .return-date .i-m-i4 {
    position: absolute !important;
    left: 12px !important;
    top: 6px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    white-space: nowrap !important;
    width: auto !important;
  }

  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .depart-date .text2,
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .depart-date .text,
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .return-date .text3,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .depart-date .text2,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .depart-date .text,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .return-date .text3 {
    position: absolute !important;
    left: 12px !important;
    top: 24px !important;
    width: calc(100% - 38px) !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #2649aa !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .depart-date .mdi-calendar-outline,
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .return-date .mdi-calendar-outline2,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .depart-date .mdi-calendar-outline,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .return-date .mdi-calendar-outline2 {
    position: absolute !important;
    left: auto !important;
    right: 10px !important;
    top: 19px !important;
    width: 18px !important;
    height: 18px !important;
  }

  /* Round Trip / One Way Passenger */
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .dropdown-passengers,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .dropdown-passengers {
    position: absolute !important;
    left: 12px !important;
    top: 180px !important;
    width: calc(100% - 24px) !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
  }

  .edit-search-modal-overlay .form-search .dropdown-passengers .i-m-i5,
  .edit-search-modal-overlay .form-search .dropdown-passengers .i-m-i2,
  .edit-search-drawer .form-search .dropdown-passengers .i-m-i5,
  .edit-search-drawer .form-search .dropdown-passengers .i-m-i2 {
    position: absolute !important;
    left: 12px !important;
    top: 6px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    white-space: nowrap !important;
  }

  .edit-search-modal-overlay .form-search .dropdown-passengers .text4,
  .edit-search-modal-overlay .form-search .dropdown-passengers .text2,
  .edit-search-drawer .form-search .dropdown-passengers .text4,
  .edit-search-drawer .form-search .dropdown-passengers .text2 {
    position: absolute !important;
    left: 12px !important;
    top: 24px !important;
    width: calc(100% - 40px) !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #2649aa !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .edit-search-modal-overlay .form-search .dropdown-passengers .mdi-caret-down-outline2,
  .edit-search-modal-overlay .form-search .dropdown-passengers .mdi-caret-down-outline,
  .edit-search-drawer .form-search .dropdown-passengers .mdi-caret-down-outline2,
  .edit-search-drawer .form-search .dropdown-passengers .mdi-caret-down-outline {
    position: absolute !important;
    left: auto !important;
    right: 12px !important;
    top: 22px !important;
    width: 12px !important;
    height: 12px !important;
  }

  /* Round Trip / One Way Promotion Code */
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .promotion-code,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .promotion-code {
    position: absolute !important;
    left: 12px !important;
    top: 246px !important;
    width: calc(100% - 24px) !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
  }

  .edit-search-modal-overlay .form-search .promotion-code .i-m-i6,
  .edit-search-modal-overlay .form-search .promotion-code .i-m-i3,
  .edit-search-drawer .form-search .promotion-code .i-m-i6,
  .edit-search-drawer .form-search .promotion-code .i-m-i3 {
    position: absolute !important;
    left: 12px !important;
    top: 6px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    white-space: nowrap !important;
  }

  .edit-search-modal-overlay .form-search .promotion-code .text5,
  .edit-search-modal-overlay .form-search .promotion-code .text3,
  .edit-search-drawer .form-search .promotion-code .text5,
  .edit-search-drawer .form-search .promotion-code .text3 {
    position: absolute !important;
    left: 12px !important;
    top: 24px !important;
    font-size: 13px !important;
    color: #8c8c8c !important;
  }

  /* Round Trip / One Way Search Button */
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .btn-find-flights-48-px2,
  .edit-search-modal-overlay .form-search:not(.form-search--multi-city) .btn-find-flights-48-px,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .btn-find-flights-48-px2,
  .edit-search-drawer .form-search:not(.form-search--multi-city) .btn-find-flights-48-px {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: 312px !important;
    width: calc(100% - 24px) !important;
    height: 50px !important;
    background: #eb453c !important;
    border-radius: 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 4px 12px rgba(235, 69, 60, 0.4) !important;
    cursor: pointer !important;
    overflow: hidden !important;
  }

  /* Always suppress the decorative inner red rectangle overlays */
  .edit-search-modal-overlay .btn-find-flights-48-px .rectangle-10,
  .edit-search-modal-overlay .btn-find-flights-48-px2 .rectangle-102,
  .edit-search-drawer .btn-find-flights-48-px .rectangle-10,
  .edit-search-drawer .btn-find-flights-48-px2 .rectangle-102,
  .edit-search-modal-overlay .btn-find-flights-48-px2 .rectangle-10,
  .edit-search-drawer .btn-find-flights-48-px2 .rectangle-10,
  .edit-search-modal-overlay .form-search .rectangle-10,
  .edit-search-modal-overlay .form-search .rectangle-102,
  .edit-search-drawer .form-search .rectangle-10,
  .edit-search-drawer .form-search .rectangle-102 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
  }

  .edit-search-modal-overlay .form-search .search,
  .edit-search-modal-overlay .form-search .serach,
  .edit-search-drawer .form-search .search,
  .edit-search-drawer .form-search .serach {
    position: static !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 10 !important;
    width: 100% !important;
    height: 100% !important;
    color: #ffffff !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    pointer-events: none !important;
    line-height: normal !important;
  }

  /* ==========================================================================
     MULTI-CITIES RESPONSIVE STACKED LAYOUT INSIDE EDIT SEARCH MODAL
     Fully encapsulates all rows, Add Flight, Passengers, Promo Code & Search button
     ========================================================================== */
  .edit-search-modal-overlay .form-search--multi-city:not([style*="display: none"]),
  .edit-search-modal-overlay .form-search--multi-city[class*="has-"]:not([style*="display: none"]),
  .edit-search-drawer .form-search--multi-city:not([style*="display: none"]),
  .edit-search-drawer .form-search--multi-city[class*="has-"]:not([style*="display: none"]) {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin: 0 auto !important;
    background: #8897a8 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2) !important;
    box-sizing: border-box !important;
    padding: 48px 12px 16px 12px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
  }

  /* Multi-Cities Rows Container */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-rows-container,
  .edit-search-drawer .form-search--multi-city .multi-city-rows-container {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
  }

  /* Multi-Cities Single Row */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row,
  .edit-search-drawer .form-search--multi-city .multi-city-row {
    display: block !important;
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 120px !important;
    flex: 0 0 120px !important;
    margin: 0 !important;
  }

  /* Origin/Destination Container inside Multi-Cities Row */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row [class*="from-select-place"],
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row .multi-city-place,
  .edit-search-drawer .form-search--multi-city .multi-city-row [class*="from-select-place"],
  .edit-search-drawer .form-search--multi-city .multi-city-row .multi-city-place {
    position: absolute !important;
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }

  /* Depart Date Box inside Multi-Cities Row */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row [class*="depart-date"],
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row .multi-city-date,
  .edit-search-drawer .form-search--multi-city .multi-city-row [class*="depart-date"],
  .edit-search-drawer .form-search--multi-city .multi-city-row .multi-city-date {
    position: absolute !important;
    left: 0 !important;
    top: 64px !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    box-sizing: border-box !important;
  }

  /* Row 0 & 1 Depart Date: full width */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row[data-row-index="0"] .multi-city-date,
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row[data-row-index="1"] .multi-city-date,
  .edit-search-drawer .form-search--multi-city .multi-city-row[data-row-index="0"] .multi-city-date,
  .edit-search-drawer .form-search--multi-city .multi-city-row[data-row-index="1"] .multi-city-date {
    width: 100% !important;
  }

  /* Row 2+ Depart Date: reduced width to leave room for trash can */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row:not([data-row-index="0"]):not([data-row-index="1"]) .multi-city-date,
  .edit-search-drawer .form-search--multi-city .multi-city-row:not([data-row-index="0"]):not([data-row-index="1"]) .multi-city-date {
    width: calc(100% - 52px) !important;
  }

  /* Trash Can button on Row 2+ */
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row .multi-city-trash-can,
  .edit-search-drawer .form-search--multi-city .multi-city-row .multi-city-trash-can {
    position: absolute !important;
    left: auto !important;
    right: 0 !important;
    top: 64px !important;
    width: 44px !important;
    height: 56px !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 5 !important;
    box-sizing: border-box !important;
  }

  .edit-search-modal-overlay .form-search--multi-city .multi-city-row .multi-city-trash-can img,
  .edit-search-modal-overlay .form-search--multi-city .multi-city-row .multi-city-trash-can .group4,
  .edit-search-drawer .form-search--multi-city .multi-city-row .multi-city-trash-can img,
  .edit-search-drawer .form-search--multi-city .multi-city-row .multi-city-trash-can .group4 {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    position: static !important;
    margin: auto !important;
  }

  .edit-search-modal-overlay .form-search--multi-city .multi-city-date .i-m-i,
  .edit-search-drawer .form-search--multi-city .multi-city-date .i-m-i {
    position: absolute !important;
    left: 12px !important;
    top: 6px !important;
    font-size: 11px !important;
    color: #8c8c8c !important;
    white-space: nowrap !important;
    width: auto !important;
    height: 16px !important;
    line-height: 16px !important;
  }

  .edit-search-modal-overlay .form-search--multi-city .multi-city-date .text,
  .edit-search-drawer .form-search--multi-city .multi-city-date .text {
    position: absolute !important;
    left: 12px !important;
    top: 24px !important;
    width: calc(100% - 38px) !important;
    height: 24px !important;
    line-height: 24px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #2649aa !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .edit-search-modal-overlay .form-search--multi-city .multi-city-date img[class*="mdi-calendar-outline"],
  .edit-search-drawer .form-search--multi-city .multi-city-date img[class*="mdi-calendar-outline"] {
    position: absolute !important;
    left: auto !important;
    right: 10px !important;
    top: 19px !important;
    width: 18px !important;
    height: 18px !important;
  }

  /* Multi-Cities ADD FLIGHT Button: Hide empty duplicate rectangle-158 and style button cleanly */
  .rectangle-158,
  .form-search .rectangle-158,
  .form-search--multi-city .rectangle-158,
  .form-search--multi-city[class*="has-"] .rectangle-158,
  .edit-search-modal-overlay .rectangle-158,
  .edit-search-drawer .rectangle-158,
  .edit-search-modal-overlay .form-search--multi-city .rectangle-158,
  .edit-search-drawer .form-search--multi-city .rectangle-158,
  .edit-search-modal-overlay .form-search--multi-city[class*="has-"] .rectangle-158,
  .edit-search-drawer .form-search--multi-city[class*="has-"] .rectangle-158 {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
  }

  .edit-search-modal-overlay .form-search--multi-city .add-flight,
  .edit-search-modal-overlay .form-search--multi-city[class*="has-"] .add-flight,
  .edit-search-drawer .form-search--multi-city .add-flight,
  .edit-search-drawer .form-search--multi-city[class*="has-"] .add-flight {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: auto !important;
    height: 38px !important;
    padding: 0 16px !important;
    margin: 0 0 12px 0 !important;
    align-self: flex-start !important;
    background: #eb453c !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
    border-radius: 4px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    box-shadow: 0 2px 6px rgba(235, 69, 60, 0.35) !important;
    z-index: 5 !important;
  }

  .edit-search-modal-overlay .form-search--multi-city .add-flight::before,
  .edit-search-drawer .form-search--multi-city .add-flight::before {
    content: "+" !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  /* Multi-Cities Passenger Field */
  .edit-search-modal-overlay .form-search--multi-city .dropdown-passengers,
  .edit-search-modal-overlay .form-search--multi-city[class*="has-"] .dropdown-passengers,
  .edit-search-drawer .form-search--multi-city .dropdown-passengers,
  .edit-search-drawer .form-search--multi-city[class*="has-"] .dropdown-passengers {
    display: block !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 56px !important;
    margin: 0 0 10px 0 !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
  }

  /* Multi-Cities Promotion Code Field */
  .edit-search-modal-overlay .form-search--multi-city .promotion-code,
  .edit-search-modal-overlay .form-search--multi-city[class*="has-"] .promotion-code,
  .edit-search-drawer .form-search--multi-city .promotion-code,
  .edit-search-drawer .form-search--multi-city[class*="has-"] .promotion-code {
    display: block !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 56px !important;
    margin: 0 0 14px 0 !important;
    background: #ffffff !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
  }

  /* Multi-Cities Search Button */
  .edit-search-modal-overlay .form-search--multi-city .btn-find-flights-48-px,
  .edit-search-modal-overlay .form-search--multi-city[class*="has-"] .btn-find-flights-48-px,
  .edit-search-drawer .form-search--multi-city .btn-find-flights-48-px,
  .edit-search-drawer .form-search--multi-city[class*="has-"] .btn-find-flights-48-px {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 50px !important;
    margin: 0 !important;
    background: #eb453c !important;
    border-radius: 6px !important;
    box-shadow: 0 4px 12px rgba(235, 69, 60, 0.4) !important;
    cursor: pointer !important;
    flex-shrink: 0 !important;
  }

  /* Popovers inside Modal on Mobile */
  .edit-search-modal-overlay .time-datepicker-popover,
  .edit-search-modal-overlay .destination-picker-popover,
  .edit-search-modal-overlay .dropdown-passenger-popover,
  .edit-search-drawer .time-datepicker-popover,
  .edit-search-drawer .destination-picker-popover,
  .edit-search-drawer .dropdown-passenger-popover,
  body > .time-datepicker-popover,
  body > .destination-picker-popover,
  body > .dropdown-passenger-popover {
    position: fixed !important;
    left: 12px !important;
    right: 12px !important;
    top: 50px !important;
    width: auto !important;
    max-width: none !important;
    max-height: calc(100dvh - 70px) !important;
    overflow-y: auto !important;
    z-index: 1000010 !important;
  }

  .edit-search-modal-overlay .time-datepicker-popover .calendar-card,
  .edit-search-modal-overlay .time-datepicker-popover .calendar-body,
  .edit-search-modal-overlay .time-datepicker-popover .calendar-month-pane-1,
  .edit-search-drawer .time-datepicker-popover .calendar-card,
  .edit-search-drawer .time-datepicker-popover .calendar-body,
  .edit-search-drawer .time-datepicker-popover .calendar-month-pane-1,
  body > .time-datepicker-popover .calendar-card,
  body > .time-datepicker-popover .calendar-body,
  body > .time-datepicker-popover .calendar-month-pane-1 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .edit-search-modal-overlay .time-datepicker-popover .calendar-header-col--left,
  .edit-search-drawer .time-datepicker-popover .calendar-header-col--left,
  body > .time-datepicker-popover .calendar-header-col--left {
    width: 100% !important;
    padding: 0 42px !important;
  }

  .edit-search-modal-overlay .time-datepicker-popover .calendar-header-col--right,
  .edit-search-drawer .time-datepicker-popover .calendar-header-col--right,
  body > .time-datepicker-popover .calendar-header-col--right {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    width: 42px !important;
    height: 100% !important;
  }

  .edit-search-modal-overlay .time-datepicker-popover .calendar-header-col--right .calendar-month-title,
  .edit-search-modal-overlay .time-datepicker-popover .calendar-header-divider,
  .edit-search-modal-overlay .time-datepicker-popover .calendar-body-divider,
  .edit-search-modal-overlay .time-datepicker-popover .calendar-month-pane-2,
  .edit-search-drawer .time-datepicker-popover .calendar-header-col--right .calendar-month-title,
  .edit-search-drawer .time-datepicker-popover .calendar-header-divider,
  .edit-search-drawer .time-datepicker-popover .calendar-body-divider,
  .edit-search-drawer .time-datepicker-popover .calendar-month-pane-2,
  body > .time-datepicker-popover .calendar-header-col--right .calendar-month-title,
  body > .time-datepicker-popover .calendar-header-divider,
  body > .time-datepicker-popover .calendar-body-divider,
  body > .time-datepicker-popover .calendar-month-pane-2 {
    display: none !important;
  }

  .edit-search-modal-overlay .dropdown-passenger-popover .dropdown-passenger-card,
  .edit-search-drawer .dropdown-passenger-popover .dropdown-passenger-card,
  body > .dropdown-passenger-popover .dropdown-passenger-card {
    width: 100% !important;
    padding: 16px !important;
    gap: 14px !important;
  }

  .edit-search-modal-overlay .dropdown-passenger-popover .btn-stepper,
  .edit-search-drawer .dropdown-passenger-popover .btn-stepper,
  body > .dropdown-passenger-popover .btn-stepper {
    width: 32px !important;
    height: 32px !important;
  }
}

/* ========================================================
   SEO & Accessibility Utilities
   ======================================================== */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

h2.favourite-destinations2,
h2.special-promotions2,
h2.extra-services2 {
  margin: 0 !important;
  padding: 0 !important;
}

/* ========================================================
   Extra Services Section - Typography & Layering Fixes
   ======================================================== */
.extra-services .extra-service-card > img {
  z-index: 1 !important;
}

.extra-services .extra-service-card > [class^="rectangle-14"],
.extra-services .extra-service-card > .rectangle-139,
.extra-services .extra-service-card > .rectangle-140 {
  z-index: 2 !important;
  pointer-events: none !important;
}

.extra-services .seat-upgrade,
.extra-services .rental-cars,
.extra-services .advance-seat-reservation,
.extra-services .dining-on-board,
.extra-services .extra-luggage,
.extra-services .airport-lounge {
  color: #ffffff !important;
  z-index: 5 !important;
  font-weight: 600 !important;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.65) !important;
}

.extra-services .we-have-wide-selection-of-hotels-and-promotions,
.extra-services .baggage-is-always-an-important-part-of-your-journey,
.extra-services .baggage-is-always-an-important-part-of-your-journey2,
.extra-services .book-sightseeing-tours-attractions-excursions-things-to-do,
.extra-services .we-provide-information-on-airport-transfer-services-and-car-rentals,
.extra-services .apply-visa-on-arrival-online-through-internet-to-make-your-trip-happen-to {
  color: #ffffff !important;
  opacity: 0.95 !important;
  z-index: 5 !important;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7) !important;
}

/* Review & Payment Page - Terms of Use Link */
.flight-list-review-page .review-agree-link,
.review-agree-link {
  color: #1648c1 !important;
  text-decoration: underline !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  display: inline !important;
  transition: color 0.2s ease !important;
}

.flight-list-review-page .review-agree-link:hover,
.review-agree-link:hover {
  color: #0d3494 !important;
  text-decoration: underline !important;
}

/* Bullet separator between flight number and aircraft model */
.price-flight-tag .bullet-sep,
.itinerary-flight-meta .bullet-sep,
.bullet-sep {
  width: 4px !important;
  height: 4px !important;
  border-radius: 50% !important;
  background: rgba(0, 0, 0, 0.35) !important;
  display: inline-block !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
  margin: 0 4px !important;
}

/* Destination search highlight - remove yellow highlight */
.dest-highlight,
mark.dest-highlight {
  background: transparent !important;
  color: inherit !important;
  font-weight: inherit !important;
  padding: 0 !important;
}




