@charset "UTF-8";
/* ========================
  🎨 Design Tokens - Variables
======================== */
/* Color */
/* Footer */
/* Breakpoints（對齊 Bootstrap） */
/* Font Family */
/* Section Spacing */
/*
  content-edge：內容版心與瀏覽器邊界的預設距離
  section-py：section 上下留白
  如果不需要上下 padding，可用 .section-py--mobile-0 等類別局部去除。
*/
/* Section Spacing - Mobile */
/* Section Spacing - Desktop */
/* Text Block Padding */
/* Layout Pattern */
/* ========================
  預約賞屋表單
======================== */
.booking {
  --content-edge: calc(0 * var(--vw-base));
}
@media (max-width: 991px) {
  .booking {
    --content-edge: calc(36 * var(--vw-base));
  }
}
.booking {
  background: url(../images/img/form-bg.png) center/cover no-repeat;
}
.booking .booking-inner {
  max-width: calc(1170 * var(--vw-base));
  margin-inline: auto;
}
@media (max-width: 991px) {
  .booking .booking-inner {
    max-width: none;
  }
}
.booking .page-zh-title {
  font-weight: 500;
  color: #214692;
  font-family: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;
  font-size: calc(45 * var(--vw-base));
}
.booking .booking-form {
  margin-top: calc(40 * var(--vw-base));
}
.booking .booking-row {
  display: flex;
  align-items: stretch;
  margin-bottom: calc(18 * var(--vw-base));
  background: #ebebeb;
  border-radius: calc(4 * var(--vw-base));
}
@media (max-width: 991px) {
  .booking .booking-row {
    margin-bottom: calc(12 * var(--vw-base));
  }
}
.booking .booking-label {
  flex: 0 0 calc(110 * var(--vw-base));
  padding: calc(10 * var(--vw-base)) 0 calc(10 * var(--vw-base)) calc(16 * var(--vw-base));
  font-weight: 500;
  letter-spacing: 0.2em;
  white-space: nowrap;
  color: #1b2d4a;
}
@media (max-width: 991px) {
  .booking .booking-label {
    flex-basis: calc(130 * var(--vw-base));
    padding-block: calc(16 * var(--vw-base));
    font-size: calc(21 * var(--vw-base));
  }
}
.booking .booking-field {
  flex: 1;
  display: flex;
  align-items: center;
  min-width: 0;
  font-size: calc(16 * var(--vw-base));
  font-weight: 500;
  color: #1b2d4a;
}
@media (max-width: 991px) {
  .booking .booking-field {
    font-size: calc(21 * var(--vw-base));
  }
}
.booking .booking-field--full {
  padding-left: calc(16 * var(--vw-base));
  height: calc(45 * var(--vw-base));
}
.booking .booking-field .form-control {
  background: transparent;
  border: 0;
  height: 100%;
}
@media (max-width: 991px) {
  .booking .booking-field .form-control {
    font-size: calc(21 * var(--vw-base));
  }
}
.booking .booking-field .form-check {
  margin-bottom: 0;
}
.booking .booking-row--note .booking-field {
  align-items: stretch;
}
.booking .booking-agree {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--vw-base));
  margin-block: calc(24 * var(--vw-base));
}
@media (min-width: 992px) {
  .booking .booking-agree {
    flex-direction: row;
    justify-content: space-between;
    gap: calc(40 * var(--vw-base));
  }
}
.booking .booking-agree p {
  margin-bottom: calc(8 * var(--vw-base));
  text-align: left;
}
.booking .booking-submit {
  border-radius: calc(40 * var(--vw-base));
  padding-block: calc(14 * var(--vw-base));
  font-weight: 300;
  letter-spacing: -0.05em;
  font-size: calc(16 * var(--vw-base));
}

.booking-row--note {
  height: calc(140 * var(--vw-base));
}
.booking-row--note .booking-field textarea.form-control {
  height: calc(140 * var(--vw-base));
}

.booking-agree .booking-agree-txt {
  font-size: calc(21 * var(--vw-base));
}

/* 隱私保護條款彈窗 */
.privacy .privacy-title {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #004695;
  text-align: center;
  font-weight: 700;
  color: #004695;
}
.privacy .privacy-sec {
  margin-top: 1.5rem;
  font-size: 1.25rem;
  width: -moz-fit-content;
  width: fit-content;
  background: linear-gradient(180deg, #f18d03 0%, #ea5f36 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.privacy .privacy-note {
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid #ffa249;
  font-size: 0.875rem;
}

.form-check-input {
  margin-top: calc(12 * var(--vw-base));
}
@media (min-width: 992px) {
  .form-check-input {
    margin-top: calc(4 * var(--vw-base));
  }
}

footer {
  padding-bottom: 1rem !important;
  padding-top: 1rem !important;
}
@media (max-width: 991px) {
  footer {
    padding-top: 1rem !important;
    padding-bottom: calc(100 * var(--vw-base)) !important;
  }
}/*# sourceMappingURL=style.css.map */