:root {
  --bs-blue: #0d6efd;
  --bs-indigo: #6610f2;
  --bs-purple: #6f42c1;
  --bs-pink: #d63384;
  --bs-red: #dc3545;
  --bs-orange: #fd7e14;
  --bs-yellow: #ffc107;
  --bs-green: #198754;
  --bs-teal: #20c997;
  --bs-cyan: #0dcaf0;
  --bs-black: #000;
  --bs-white: #fff;
  --bs-gray: #6c757d;
  --bs-gray-dark: #343a40;
  --bs-gray-100: #f8f9fa;
  --bs-gray-200: #e9ecef;
  --bs-gray-300: #dee2e6;
  --bs-gray-400: #ced4da;
  --bs-gray-500: #adb5bd;
  --bs-gray-600: #6c757d;
  --bs-gray-700: #495057;
  --bs-gray-800: #343a40;
  --bs-gray-900: #212529;
  --bs-primary: #fd7f23;
  --bs-secondary: #6c757d;
  --bs-success: #198754;
  --bs-info: #0dcaf0;
  --bs-warning: #ffc107;
  --bs-danger: #dc3545;
  --bs-light: #f8f9fa;
  --bs-dark: #212529;
  --bs-primary-rgb: 253, 127, 35;
  --bs-secondary-rgb: 108, 117, 125;
  --bs-success-rgb: 25, 135, 84;
  --bs-info-rgb: 13, 202, 240;
  --bs-warning-rgb: 255, 193, 7;
  --bs-danger-rgb: 220, 53, 69;
  --bs-light-rgb: 248, 249, 250;
  --bs-dark-rgb: 33, 37, 41;
  --bs-white-rgb: 255, 255, 255;
  --bs-black-rgb: 0, 0, 0;
  --bs-body-color-rgb: 33, 37, 41;
  --bs-body-bg-rgb: 255, 255, 255;
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto,
    "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas,
    "Liberation Mono", "Courier New", monospace;
  --bs-gradient: linear-gradient(
    180deg,
    rgba(255, 255, 255, 0.15),
    rgba(255, 255, 255, 0)
  );
  --bs-body-font-family: var(--bs-font-sans-serif);
  --bs-body-font-size: 1rem;
  --bs-body-font-weight: 400;
  --bs-body-line-height: 1.5;
  --bs-body-color: #212529;
  --bs-body-bg: #fff;
  --bs-border-width: 1px;
  --bs-border-style: solid;
  --bs-border-color: #dee2e6;
  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);
  --bs-border-radius: 0.375rem;
  --bs-border-radius-sm: 0.25rem;
  --bs-border-radius-lg: 0.5rem;
  --bs-border-radius-xl: 1rem;
  --bs-border-radius-2xl: 2rem;
  --bs-border-radius-pill: 50rem;
  --bs-link-color: #04205f;
  --bs-link-hover-color: #eb7a1e;
  --bs-code-color: #d63384;
  --bs-highlight-bg: #fff3cd;
  --container-max-width: 1000px;
  --bs-gold: #9e6713;

  --b-row-highlight-bg: #f9ae14;
  --b-row-highlight-color: #212F33;
  --b-row-header-bg:#3d4548;
  --b-row-header-color:#ffffff;
  --b-row-subheader-bg:#b1b0ae;
  --b-row-subheader-color:#ffffff;
  --b-row-bg: #e9e8e6;
  --b-row-select-bg: #f3e7d8;
  --b-row-selected-bg: #e9c273;
  --b-selected-bg:#fd7f23;
  --bs-highlight: #f9ae14;
}
.page-payment div.bg-primary, .page-payment span.bg-primary, .page-payment i.text-primary{
  --bs-primary-rgb: 230, 156, 21;
}
.container {
  width: 100%;
}

@media (min-width: 800px) {
  .container,
  .sppb-row-container {
    max-width: var(--container-max-width) !important;
  }
}

.app-search-tabs-container {
  border-radius: var(--bs-border-radius) !important;
  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
  background-color: #ffffff;
  box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
}
.app-search-tabs-container .tab-body {
  border: none !important;
  border-top: var(--bs-border-width) var(--bs-border-style)
    var(--bs-border-color) !important;
}
.app-search-tabs-container .btn-group-tabs button.btn-outline-primary {
  background-color: transparent !important;
  border: none !important;
  padding-top: 1rem !important;
  padding-bottom: 0.5rem !important;
  font-size: 1.2rem;
}
.app-search-tabs-container .btn-group-tabs button.btn-primary {
  background-color: transparent !important;
  border: none !important;
  color: var(--bs-primary);
  padding-top: 1rem !important;
  padding-bottom: 0.5rem !important;
  font-size: 1.2rem;
}
.app-search-tabs-container .btn-group-tabs button.btn-primary::after {
  content: "";
  border-bottom: solid 2px var(--bs-primary);
  display: block;
  width: calc(100% - 4rem);
  right: 0.75rem;
  bottom: 0;
  position: absolute;
}
.mod_travel_search .btn-group-tabs .fa-solid::before,
.mod_travel_search .btn-group-tabs .fa-solid::before {
  content: "";
  display: inline-block;
  width: 26px;
  height: 26px;
  vertical-align: middle;
  margin-bottom: -0.25rem;
}
.mod_travel_search .btn-group-tabs .fa-jet-fighter::before {
  background: url("/components/com_travel/assets/images/icon/icon-1a.png")
    no-repeat center / contain;
}
.mod_travel_search .btn-group-tabs .btn-primary .fa-jet-fighter::before {
  background: url("/components/com_travel/assets/images/icon/icon-1b.png")
    no-repeat center / contain;
}
.mod_travel_search .btn-group-tabs .fa-hotel::before {
  background: url("/components/com_travel/assets/images/icon/icon-2a.png")
    no-repeat center / contain;
}
.mod_travel_search .btn-group-tabs .btn-primary .fa-hotel::before {
  background: url("/components/com_travel/assets/images/icon/icon-2b.png")
    no-repeat center / contain;
}
.mod_travel_search .btn-group-tabs .fa-bed::before {
  background: url("/components/com_travel/assets/images/icon/Flight-Hotel.svg") no-repeat center / contain;
}

.mod_travel_search .btn-group-tabs .btn-primary .fa-bed::before {
  background: url("/components/com_travel/assets/images/icon/Flight-HotelHL.svg") no-repeat center / contain;
}

/* .com-travel.view-user #sp-main-body {
  background: #fff !important;
} */
#sp-main-body {
  background-image: url("/templates/booking/images/bg.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center top;
  min-height: 400px;
  background-attachment: fixed;
}

.app-vuejs .w-60 {
  width: 60% !important;
}
.app-vuejs .w-40 {
  width: 40% !important;
}
.app-vuejs .gap-3 > .w-60 {
  width: calc(60% - 0.5rem) !important;
}
.app-vuejs .gap-3 > .w-50 {
  width: calc(50% - 0.5rem) !important;
}
.app-vuejs .gap-3 > .w-40 {
  width: calc(40% - 0.5rem) !important;
}

.fade-box {
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: all 0.5s linear;
}

.fade-box.show {
  max-height: 100%;
  opacity: 1;
  visibility: visible;
}

.booking-auth {
  padding: 2.5rem 0 4rem;
}

.booking-auth .row {
  min-height: 300px;
}

.booking-auth__panel {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(4, 32, 95, 0.08);
  border-radius: 1rem;
  box-shadow: 0 1.25rem 3rem rgba(4, 32, 95, 0.12);
  padding: 2rem;
  backdrop-filter: blur(6px);
}

.booking-auth__header {
  margin-bottom: 1rem;
}

.booking-auth__header h1 {
  margin-bottom: 0;
  color: #04205f;
  font-size: 2rem;
  font-weight: 700;
}

.booking-auth__intro {
  margin-bottom: 1.5rem;
  color: #5c667a;
}

.booking-auth__intro p {
  margin-bottom: 0;
}

.booking-auth__field {
  margin-bottom: 1rem;
}

.booking-auth__field label {
  display: block;
  margin-bottom: 0.5rem;
  color: #04205f;
  font-weight: 600;
}

.booking-auth__field .form-control,
.booking-auth__field input:not([type="hidden"]),
.booking-auth__field select,
.booking-auth__field textarea {
  width: 100%;
  min-height: 52px;
  border: 1px solid #d7dfea;
  border-radius: 0.85rem;
  background: #fff;
  box-shadow: none;
  padding: 0.8rem 1rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.booking-auth__field .form-control:focus,
.booking-auth__field input:not([type="hidden"]):focus,
.booking-auth__field select:focus,
.booking-auth__field textarea:focus {
  border-color: rgba(4, 32, 95, 0.45);
  box-shadow: 0 0 0 0.2rem rgba(4, 32, 95, 0.08);
  outline: 0;
}

.booking-auth__submit {
  margin-top: 0.5rem;
  min-height: 52px;
  border-radius: 999px;
  font-weight: 600;
}

.booking-auth__links {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(4, 32, 95, 0.08);
}

.booking-auth__links a {
  color: #04205f;
  font-weight: 600;
}

.booking-auth__links a:hover,
.booking-auth__links a:focus {
  color: #fd7f23;
}

.booking-auth__form input[name="username"],
.booking-auth__form label[for="jform_username"] {
  display: none !important;
}

@media (max-width: 991px) {
  .app-vuejs .w-60 {
    width: 100% !important;
  }
  .app-vuejs .w-40 {
    width: 100% !important;
  }
  .app-vuejs .gap-3 > .w-60 {
    width: 100% !important;
  }
  .app-vuejs .gap-3 > .w-50 {
    width: 100% !important;
  }
  .app-vuejs .gap-3 > .w-40 {
    width: 100% !important;
  }
  .input-group-flight > div {
    width: 100% !important;
  }
  .app-search-tabs-container .btn-group-tabs {
    justify-content: space-between;
    width: 100%;
  }
  .app-search-tabs-container .btn-group-tabs > button {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
  }
  .app-search-tabs-container .btn-group-tabs button.btn-primary::after {
    right: auto;
    width: 100%;
  }
  .room-guest > div {
    width: 100%;
  }
  .room-guest > div > button {
    width: 100%;
  }

  .booking-auth {
    padding: 1.5rem 0 3rem;
  }

  .booking-auth__panel {
    padding: 1.5rem;
  }
}

/* menu */
#sp-left .menu,
#sp-left-booking .menu {
  margin: 0 -1.25rem;
  padding: 0;
  list-style: none;
}
#sp-left .menu ul,
#sp-left-booking .menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
#sp-left .menu a,
#sp-left-booking .menu a {
  color: #666;
}

#sp-left .menu a:hover,
#sp-left-booking .menu a:hover {
  color: var(--bs-primary);
}
#sp-left .menu .menu-child,
#sp-left-booking .menu .menu-child {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
}
#sp-left .menu .menu-parent > a,
#sp-left-booking .menu .menu-parent > a {
  display: flex;
}
#sp-left .menu > li > a,
#sp-left-booking .menu > li > a {
  font-weight: bold;
}
#sp-left .menu a,
#sp-left-booking .menu a {
  display: flex;
  padding: 0.375rem 1.25rem;
  transition: all 0.5s;
}
#sp-left .menu ul li,
#sp-left-booking .menu ul li {
  margin-bottom: 0.1rem;
}
#sp-left .menu ul a,
#sp-left-booking .menu ul a {
  padding-left: 1.75rem;
  border-left: solid 5px transparent;
}
#sp-left .menu ul a:hover,
#sp-left .menu ul .active a,
#sp-left-booking .menu ul a:hover,
#sp-left-booking .menu ul .active a {
  border-left-color: var(--bs-primary);
  color: var(--bs-primary);
  background-color: #04205f30;
}

#sp-left .menu-toggler::before,
#sp-left-booking .menu-toggler::before {
  content: "\f0d8";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: var(--fa-display, inline-block);
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
  transition: rotate 0.5s;
  rotate: 90deg;
}
#sp-left .menu .menu-parent.open > .menu-child,
#sp-left-booking .menu .menu-parent.open > .menu-child {
  max-height: 500px;
}
#sp-left .menu .menu-parent.open .menu-toggler::before,
#sp-left-booking .menu .menu-parent.open .menu-toggler::before {
  rotate: 180deg;
}

#sp-left .menu-toggler,
#sp-left-booking .menu-toggler {
  cursor: pointer;
  font-weight: bold;
  margin-left: auto;
}
.member-icon {
  color: #a8762b;
}


@media (max-width: 767px) {

  .app-search-tabs-container .btn-search {
    width: 100%;
  }

  .app-search-tabs-container .number-of-nights {
    font-size: 0.8rem;
    padding: 0 0.5rem;
  }

  .app-search-tabs-container .tab-body {
    padding: 1rem !important;
  }
}