@charset "UTF-8";
:root {
  --ota-color-main: rgb(200, 22, 29);
  --ota-color-main_light: #f23a3a;
  --ota-color-main_deep: rgb(154, 9, 14);
  --ota-color-main_opacity12: rgba(216, 12, 29, 12%);
  --ota-color-sec: rgb(0, 0, 0);
  --ota-color-sec_opacity12: rgba(0, 0, 0, 12%);
  --ota-color-sec_light: rgb(68, 68, 68);
  --ota-color-alert: #ee130f;
  --ota-color-alert_light: #ff9292;
  --ota-color-icon-tit-des-1: rgb(255, 187, 193);
  --ota-color-icon-tit-des-2: rgb(216, 12, 29);
  --ota-color-icon-tit-des-3: rgb(234, 120, 130);
  --ota-linear-gradient-color-main: linear-gradient(
    135deg,
    rgba(151, 17, 17, 0.2) 0%,
    rgba(168, 9, 22, 0.064) 100%
  );
}

.btn_order:hover,
.btn_order:active {
  background-color: var(--ota-color-sec_light) !important;
}

.hotel-calendar__top {
  background-color: rgb(216, 12, 29);
}

.hotel-calendar__btn:hover .hotel-calendar__btn-arrow {
  border-color: #fff;
}

.hotel-calendar__td.hc-weekend,
.hotel-calendar__td span.hc-weekend {
  background-color: rgba(216, 12, 29, 0.15);
}

.hotel-calendar .hc-week {
  background-color: rgba(216, 12, 29, 0.2);
}

.hotel-calendar__tr:hover,
.hotel-calendar__td.hc-hover {
  background-color: rgba(216, 12, 29, 0.1);
}

.hotel-calendar__cell__price {
  color: rgb(216, 12, 29);
}

.hotel-calendar__cell:hover {
  color: rgb(216, 12, 29);
}

.hotel-calendar__cell.selected {
  background-color: rgb(187, 0, 16);
}

.text_disclaimer {
  background-color: #fce4e6;
  color: #bb0010;
  font-size: 13px;
  padding: 8px 0;
  line-height: 1.25;
  letter-spacing: 1px;
}

.h_logo_box h1 {
  font-size: 16px;
}

.h_logo_box span {
  display: inline-block;
  padding-left: 20px;
  margin-left: 12px;
  line-height: 1;
  border-left: 1px solid var(--ota-color-gray_2);
  letter-spacing: 1px;
}

@media (max-width: 991px) {
  .text_disclaimer {
    font-size: 12px;
    letter-spacing: 0;
  }
  .h_logo_box h1 {
    font-size: 15px;
  }
  .h_logo_box span {
    padding-left: 8px;
    margin-left: 2px;
    letter-spacing: 0;
  }
}
footer.footer_v2 .footer_area_warningText {
  padding: 14px 20px 20px 20px;
}
footer.footer_v2 .footer_area_warningText .warningText_title {
  padding: clamp(10px, 0.8vw, 12px) clamp(14px, 1.2vw, 18px);
  font-size: clamp(18px, 1.75vw, 20px);
  margin-top: 14px;
  min-width: 114px;
}
footer.footer_v2 .footer_area_warningText .warningText_list {
  font-size: 16px;
  margin: 18px 0 12px 0;
  line-height: 1.9;
}
footer.footer_v2 .footer_area_warningText .warningText_list li {
  font-size: 16px;
}

@media (max-width: 991px) {
  .table-rwd.table-style01 tr {
    border-bottom: 1px solid #dfdfdf;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .table-rwd.table-style01 th {
    width: 100%;
    border-bottom: 1px solid #dfdfdf;
  }
}
.filter_box {
  overflow: unset;
}

#region-select {
  max-width: 100%;
  height: 38px;
}

.vscomp-toggle-button {
  padding: 4px 10px !important;
  border-radius: 6px !important;
  border: 1px solid #dee2e6 !important;
  height: 38px !important;
  overflow: hidden;
  /* 隱藏溢出的標籤 */
}

.vscomp-search-container {
  display: none !important;
}

.vscomp-options-container {
  padding-top: 0 !important;
}

.vscomp-wrapper.multiple .vscomp-option.selected .checkbox-icon::after {
  border-color: #000000 !important;
  border-left-color: rgba(0, 0, 0, 0) !important;
  border-top-color: rgba(0, 0, 0, 0) !important;
}

#desTab {
  -ms-flex-pack: distribute;
      justify-content: space-around;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
@media (min-width: 576px) {
  #desTab {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
#desTab .nav-item:first-child .nav-link {
  padding-left: var(--bs-nav-link-padding-x, 1rem);
}
#desTab .nav-link {
  color: #000;
}
#desTab .nav-link.active {
  border-bottom: 2px solid;
}

.Rwd-mobile {
  display: none;
}
@media (max-width: 991px) {
  .Rwd-mobile {
    display: block;
  }
}

.tab-pane .table thead th,
.modal-dialog .table thead th {
  background: var(--ota-color-main);
  color: #fff;
}

.custom-alert-box {
  background-color: #f8e3e4;
  border-radius: 4px;
  border: none;
}

/* 提示文字中的小字級調整 */
.font-sm {
  font-size: 0.875rem;
}

/* 針對必填或紅字說明的顏色修正 (更貼近原本的紅橘色調) */
.text-danger {
  color: #c82333 !important;
}

.form_box .text-danger,
.form-group .text-danger {
  font-size: 0.9rem;
}

/* 點選查看按鈕的微調 */
.font-sm.text-danger {
  font-weight: 500;
}

/* 輸入框與選擇框的 placeholder 顏色微調 */
.form-control::-webkit-input-placeholder {
  color: #a0a0a0;
}
.form-control::-moz-placeholder {
  color: #a0a0a0;
}
.form-control:-ms-input-placeholder {
  color: #a0a0a0;
}
.form-control::-ms-input-placeholder {
  color: #a0a0a0;
}
.form-control::placeholder,
.form-control.placeholder {
  color: #a0a0a0;
}

.form-select {
  color: #000;
}

.form-select option {
  color: #000;
}

.form-select:has(option[value=""]:checked) {
  color: #a0a0a0;
}

.form-select.is-placeholder {
  color: #a0a0a0;
}

[id$=InstallmentPayment] .form-check {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
  padding-left: 0;
  margin: 0;
}

[id$=InstallmentPayment] .form-check-input {
  float: none;
  margin: 0;
}

[id$=InstallmentPayment] .form-check label {
  margin: 0;
}

.btn.style02 {
  color: white;
  background-color: var(--ota-color-main);
  border-color: var(--ota-color-main);
}

.btn.style02:hover {
  background-color: transparent;
  color: var(--ota-color-main);
  border-color: var(--ota-color-main);
}

.pay_pages .bg_notes::before {
  width: calc(100% - 16px);
}
.pay_pages .form_area_tit {
  width: auto;
  margin-left: 0;
  margin-right: 0;
}
.pay_pages div[data-radio-item=radio6],
.pay_pages div[data-radio-item=radio7],
.pay_pages #email {
  padding-left: 0 !important;
}

@media (max-width: 568px) {
  .navarea1 {
    position: relative;
  }
}

@media (max-width: 568px) {
  .navarea1-1 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-bottom: 12px;
    width: 100%;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

@media (max-width: 568px) {
  .navarea1-2 {
    position: absolute;
    top: 14px;
    right: 12px;
  }
}

@media (max-width: 568px) {
  .searchbox {
    width: 100%;
  }
}

.header {
  top: 0;
}

.ota_v2 #mainApp {
  padding-top: var(--header-h, 122px);
}
@media (max-width: 1199.98px) {
  .ota_v2 #mainApp {
    padding-top: var(--header-h, 76px);
  }
}
@media (max-width: 991.98px) {
  .ota_v2 #mainApp {
    padding-top: var(--header-h, 60px);
  }
}
@media (max-width: 575.98px) {
  .ota_v2 #mainApp {
    padding-top: var(--header-h, 110px);
  }
}

.text_disclaimer:has(.text-center:empty) {
  display: none;
}

#webText:empty {
  display: none;
}

#index_banner .swiper-button-prev,
#index_banner .swiper-button-next {
  top: 50%;
  margin-top: 0;
  transform: translateY(-50%);
}

#index_banner .swiper-button-prev {
  left: 12px;
}

#index_banner .swiper-button-next {
  right: 12px;
}

@media (max-width: 1199.98px) {
  #navbarSupportedContent {
    max-height: calc(100vh - var(--header-h, 110px));
    max-height: calc(100dvh - var(--header-h, 110px));
  }
}
@media (max-width: 991.98px) {
  #navbarSupportedContent {
    max-height: calc(100vh - var(--header-h, 110px) - 62px);
    max-height: calc(100dvh - var(--header-h, 110px) - 62px);
  }
  .secmenu__link {
    padding: 10px 0 4px;
  }
}

.check_item {
  flex-wrap: wrap;
  overflow-wrap: anywhere;
}

.list_proCard .title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 640px) {
  footer.footer_v2 .footer_area_warningText {
    padding: 12px 0;
  }
  footer.footer_v2 .footer_area_warningText .warningText_title {
    margin-top: 0;
  }
  footer.footer_v2 .footer_area_warningText .warningText_list {
    font-size: 14px;
    line-height: 1.6;
  }
  footer.footer_v2 .footer_area_warningText .warningText_list li {
    font-size: 14px;
  }
}

.input-group > .phone-code,
.input_mobile > .phone-code {
  flex: 0 0 7.5rem;
  max-width: 7.5rem;
}

#orderModal .modal-body .btn_box {
  position: sticky;
  bottom: 0;
  z-index: 2;
  background: #fff;
  padding-top: 12px;
  padding-bottom: 12px;
  box-shadow: 0 -6px 12px -8px rgba(0, 0, 0, 0.15);
}

/* 商品列表卡片：圖片固定 1:1，後台未依規格上傳時置中裁切，避免卡片高度不一 */
.list_proCard .card_pro img {
  height: auto;
  aspect-ratio: 1 / 1;
  flex-shrink: 0;
}

/* 訂單查詢手機版卡片：按鈕自成一列，品名佔滿剩餘寬度 */
@media (max-width: 767.98px) {
  .list_order .info_box {
    flex-wrap: wrap;
  }
  .list_order .info_box > .list_info {
    flex: 1 1 0;
    min-width: 0;
  }
  /* 覆蓋 Bootstrap pe-0（!important） */
  .list_order .info_box > .col-12 {
    padding-left: 10px;
    padding-right: 10px !important;
  }
}

/* 機票訂購頁手機版：外框不吃內距，讓 Sabre iframe 滿版 */
@media (max-width: 575.98px) {
  .mainContent_box .mainContent_body.air_bg {
    padding-left: 0;
    padding-right: 0;
  }
}
