@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/Montserrat-Light.ttf') format('truetype');
  font-weight: 300;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/Montserrat-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/Montserrat-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/Montserrat-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Montserrat';
  src: url('./fonts/Montserrat-ExtraBold.ttf') format('truetype');
  font-weight: 800;
  font-style: normal;
}

@font-face {
  font-family: 'OpenSans';
  src: url('./fonts/OpenSans-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Poppins';
  src: url('./fonts/Poppins-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

/* 统一响应式两侧间距：连续 gutter 令牌，替代 bootstrap max-width 分档 */
:root {
  --page-gutter: 15px;
}

@media screen and (min-width: 576px) {
  :root {
    --page-gutter: 16px;
  }
}

@media screen and (min-width: 768px) {
  :root {
    --page-gutter: 24px;
  }
}

@media screen and (min-width: 1200px) {
  :root {
    --page-gutter: 32px;
  }
}

.container {
  width: 100%;
  max-width: calc(1440px + var(--page-gutter) * 2);
  margin-right: auto;
  margin-left: auto;
  padding-left: var(--page-gutter);
  padding-right: var(--page-gutter);
}

.primaryBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 15px calc(var(--gap-50) + 6px);
  border-radius: 54.667px;
  border: 1px solid #FFEFDA;
  background: linear-gradient(260deg, rgba(183, 124, 68, 0.90) 9.31%, rgba(254, 229, 187, 0.90) 118.82%, rgba(191, 133, 74, 0.90) 123.81%, rgba(252, 223, 179, 0.90) 137.45%, rgba(192, 134, 75, 0.90) 155.45%, rgba(251, 232, 212, 0.90) 193.89%), #FFF;
  box-shadow: -0.667px 5.333px 6.667px 0 rgba(0, 0, 0, 0.05);
  color: #fff;
  font-family: var(--font-family);
  font-size: var(--font-20);
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: transform 0.3s ease, filter 0.3s ease;
  cursor: pointer;
  width: fit-content;
}

.primaryBtn:hover {
  border: 1px solid #E5D7C4;
  background: linear-gradient(260deg, rgba(166, 112, 62, 0.90) 9.31%, rgba(240, 216, 176, 0.90) 118.82%, rgba(191, 133, 74, 0.90) 123.81%, rgba(252, 223, 179, 0.90) 137.45%, rgba(192, 134, 75, 0.90) 155.45%, rgba(251, 232, 212, 0.90) 193.89%), #FFF;
}

.navBtn {
  width: 60px;
  height: 60px;
  border: 0;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #C4A365;
  color: #fff;
  cursor: pointer;
  transition: transform 0.25s ease, opacity 0.25s ease, background-color 0.25s ease;
}

.navBtn:hover {
  background: #B0935B;
}

.navBtn:disabled {
  background: rgba(0, 0, 0, 0.08);
  cursor: not-allowed;
}

.no-position.swiper-button-prev,
.no-position.swiper-button-next {
  position: unset !important;
  margin: 0 !important;
  transform: none !important;
}

.swiper-button-prev,
.swiper-button-next {
  width: 54px !important;
  height: 54px !important;
  border: 2px solid #D7D6D6 !important;
  background: #FFF !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease;
}

.swiper-button-prev:after,
.swiper-button-next:after {
  font-size: 23px !important;
  font-weight: 700 !important;
  color: rgba(17, 17, 17, 0.50) !important;
  transition: all 0.3s ease;
}

.swiper-button-prev:hover,
.swiper-button-next:hover,
.swiper-button-prev.active,
.swiper-button-next.active {
  border-color: #F01F0E !important;
}

.swiper-button-prev:hover:after,
.swiper-button-next:hover:after,
.swiper-button-prev.active:after,
.swiper-button-next.active:after {
  color: #F01F0E !important;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 1 !important;
}

.swiper-button-prev.swiper-button-disabled:after,
.swiper-button-next.swiper-button-disabled:after {
  color: #D9D9D9 !important;
}

.swiper-button-prev.swiper-button-disabled:hover,
.swiper-button-next.swiper-button-disabled:hover {
  cursor: not-allowed !important;
  background: #fff !important;
}



.bootstrap-select .dropdown-toggle:focus,
.bootstrap-select>select.mobile-device:focus+.dropdown-toggle {
  outline-offset: -30px !important;
}

:root {
  --title-font-family: 'Montserrat', sans-serif;
  --font-family: 'Montserrat', sans-serif;
  --font-family-poppins: 'Poppins', sans-serif;
  --anbo-gold-gradient: linear-gradient(125deg, #b77c44 0%, #fee5bb 59.33%, #bf854a 62.03%, #fcdfb3 69.42%, #c0864b 79.17%, #fbe8d4 100%);
  --font-family-open-sans: 'OpenSans', sans-serif;
  --font-270: 260px;
  --font-100: 100px;
  --font-80: 80px;
  --font-70: 70px;
  --font-76: 76px;
  --font-72: 72px;
  --font-64: 64px;
  --font-60: 60px;
  --font-56: 56px;
  --font-50: 50px;
  --font-48: 48px;
  --font-46: 46px;
  --font-42: 42px;
  --font-40: 40px;
  --font-38: 38px;
  --font-36: 36px;
  --font-30: 30px;
  --font-32: 32px;
  --font-28: 28px;
  --font-26: 26px;
  --font-24: 24px;
  --font-22: 22px;
  --font-20: 20px;
  --font-18: 18px;
  --font-16: 16px;
  --font-14: 14px;
  --font-12: 12px;


  --component-gap: 120px;
  --component-gap-lg: 80px;
  --component-gap-sm: 50px;
  --gap-175: 175px;
  --gap-150: 150px;
  --gap-100: 100px;
  --gap-90: 90px;
  --gap-80: 80px;
  --gap-72: 72px;
  --gap-70: 70px;
  --gap-60: 60px;
  --gap-50: 50px;
  --gap-40: 40px;
  --gap-35: 35px;
  --gap-340: 30px;
  --gap-30: 30px;
  --gap-25: 25px;
  --gap-24: 24px;
  --gap-22: 22px;
  --gap-20: 20px;
  --gap-14: 14px;
  --gap-12: 12px;
  --gap-10: 10px;

  --page-padding: max(15px, calc((100vw - 1600px) / 2));
}

@media (max-width: 1800px) {
  :root {
    --font-270: 220px;
  }
}

@media (max-width: 1500px) {

  .primaryBtn,
  .whiteBtn {
    padding: 12px 20px;
  }

  :root {
    --font-270: 180px;
    --font-100: 90px;
    --font-80: 72px;
    --font-76: 68px;
    --font-70: 65px;
    --font-64: 60px;
    --font-60: 56px;
    --font-56: 52px;
    --font-50: 46px;
    --font-48: 44px;
    --font-46: 42px;
    --font-42: 40px;
    --font-40: 38px;
    --font-36: 34px;
    --font-32: 30px;
    --font-30: 28px;
    --font-28: 26px;
    --font-26: 24px;
    --font-24: 22px;
    --font-22: 20px;
    --font-20: 16px;
    --font-18: 18px;
    --font-16: 16px;
    --font-14: 14px;
    --font-12: 12px;

    --component-gap: 100px;
    --gap-175: 150px;
    --gap-150: 120px;
    --gap-100: 90px;
    --gap-90: 80px;
    --gap-80: 70px;
    --gap-72: 65px;
    --gap-70: 60px;
    --gap-60: 50px;
    --gap-50: 44px;
    --gap-40: 34px;
    --gap-35: 35px;
    --gap-30: 28px;
    --gap-25: 24px;
    --gap-24: 24px;
    --gap-22: 22px;
    --gap-20: 20px;
    --gap-10: 10px;
    --gap-14: 12px;
    --gap-12: 10px;

    --page-padding: max(15px, calc((100vw - 1200px) / 2));
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 50px !important;
    height: 50px !important;
  }
}

@media (max-width: 1280px) {

  .primaryBtn,
  .whiteBtn {
    padding: 16px 24px;
  }

  :root {
    --font-270: 170px;
    --font-100: 80px;
    --font-80: 70px;
    --font-76: 64px;
    --font-70: 60px;
    --font-64: 56px;
    --font-60: 52px;
    --font-56: 48px;
    --font-50: 44px;
    --font-48: 40px;
    --font-46: 40px;
    --font-42: 38px;
    --font-40: 36px;
    --font-38: 34px;
    --font-36: 26px;
    --font-32: 26px;
    --font-30: 26px;
    --font-28: 24px;
    --font-26: 22px;
    --font-24: 22px;
    --font-22: 20px;
    --font-20: 14px;
    --font-18: 18px;
    --font-16: 15px;
    --font-14: 14px;
    --font-12: 12px;

    --component-gap: 80px;
    --component-gap-lg: 60px;
    --component-gap-sm: 30px;
    --gap-175: 120px;
    --gap-150: 100px;
    --gap-100: 80px;
    --gap-90: 75px;
    --gap-80: 65px;
    --gap-72: 55px;
    --gap-70: 50px;
    --gap-60: 45px;
    --gap-50: 40px;
    --gap-40: 30px;
    --gap-35: 25px;
    --gap-30: 25px;
    --gap-25: 24px;
    --gap-24: 24px;
    --gap-22: 22px;
    --gap-14: 10px;
    --gap-12: 8px;

    --page-padding: max(15px, calc((100vw - 1100px) / 2));
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 42px !important;
    height: 42px !important;
  }

  .swiper-button-prev:after,
  .swiper-button-next:after {
    font-size: 18px !important;
  }

}

@media (max-width: 1200px) {
  :root {
    --font-270: 148px;
    --page-padding: max(15px, calc((100vw - 930px) / 2));
    --component-gap: 60px;
    --component-gap-lg: 50px;
    --component-gap-sm: 30px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 40px !important;
    height: 40px !important;
  }

  .swiper-button-prev:after,
  .swiper-button-next:after {
    font-size: 16px !important;
  }

  .yingfang-button-prev,
  .yingfang-button-next {
    width: 45px;
    height: 45px;
  }
}

@media (max-width: 992px) {

  .primaryBtn,
  .whiteBtn {
    padding: 14px 30px;
  }

  :root {
    --font-270: 110px;
    --font-100: 60px;
    --font-80: 60px;
    --font-76: 52px;
    --font-70: 50px;
    --font-64: 48px;
    --font-60: 44px;
    --font-56: 40px;
    --font-50: 36px;
    --font-48: 34px;
    --font-46: 34px;
    --font-42: 32px;
    --font-40: 32px;
    --font-38: 30px;
    --font-36: 18px;
    --font-32: 24px;
    --font-30: 24px;
    --font-28: 22px;
    --font-26: 20px;
    --font-24: 20px;
    --font-22: 18px;
    --font-20: 14px;
    --font-18: 16px;
    --font-16: 14px;
    --font-14: 13px;
    --font-12: 12px;

    --component-gap: 90px;
    --component-gap-lg: 40px;
    --component-gap-sm: 20px;
    --gap-175: 100px;
    --gap-150: 80px;
    --gap-100: 70px;
    --gap-90: 60px;
    --gap-80: 50px;
    --gap-72: 55px;
    --gap-70: 40px;
    --gap-60: 35px;
    --gap-50: 30px;
    --gap-40: 20px;
    --gap-35: 20px;
    --gap-30: 20px;
    --gap-25: 20px;
    --gap-24: 20px;
    --gap-22: 20px;
    --gap-20: 15px;
    --gap-10: 8px;
    --gap-14: 8px;
    --gap-12: 6px;
    --page-padding: max(15px, calc((100vw - 720px) / 2) + 15px);
  }

}

@media (max-width: 768px) {

  .primaryBtn,
  .whiteBtn {
    padding: 12px 24px;
  }

  :root {
    --font-270: 82px;
    --font-100: 46px;
    --font-80: 50px;
    --font-76: 48px;
    --font-70: 42px;
    --font-64: 40px;
    --font-60: 36px;
    --font-56: 28px;
    --font-50: 28px;
    --font-48: 26px;
    --font-46: 24px;
    --font-42: 22px;
    --font-40: 22px;
    --font-38: 24px;
    --font-36: 20px;
    --font-32: 20px;
    --font-30: 19px;
    --font-28: 18px;
    --font-26: 18px;
    --font-24: 18px;
    --font-22: 16px;
    --font-20: 14px;
    --font-18: 14px;
    --font-16: 13px;
    --font-14: 12px;
    --font-12: 12px;

    --component-gap: 20px;
    --component-gap-lg: 30px;
    --component-gap-sm: 16px;
    --gap-175: 70px;
    --gap-150: 60px;
    --gap-100: 60px;
    --gap-90: 35px;
    --gap-80: 30px;
    --gap-70: 30px;
    --gap-72: 35px;
    --gap-60: 25px;
    --gap-50: 20px;
    --gap-40: 18px;
    --gap-35: 26px;
    --gap-30: 15px;
    --gap-25: 18px;
    --gap-24: 18px;
    --gap-22: 18px;
    --gap-20: 12px;
    --gap-14: 6px;
    --gap-12: 4px;

    --page-padding: max(15px, calc((100vw - 540px) / 2) + 15px);
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 32px !important;
    height: 32px !important;
  }

  .swiper-button-prev:after,
  .swiper-button-next:after {
    font-size: 14px !important;
  }
}

@media (max-width: 576px) {
  :root {
    --font-270: 54px;
    --font-100: 32px;
    --font-80: 40px;
    --font-76: 36px;
    --font-70: 34px;
    --font-64: 32px;
    --font-60: 28px;
    --font-56: 26px;
    --font-50: 24px;
    --font-48: 22px;
    --font-46: 22px;
    --font-42: 20px;
    --font-40: 20px;
    --font-36: 18px;
    --font-30: 17px;
    --font-28: 16px;
    --font-26: 16px;
    --font-24: 16px;
    --font-22: 14px;
    --font-20: 12px;
    --font-18: 13px;
    --font-16: 12px;
    --font-14: 12px;
    --font-12: 10px;

    --component-gap: 25px;
    --component-gap-lg: 20px;
    --component-gap-sm: 10px;
    --gap-175: 60px;
    --gap-150: 50px;
    --gap-100: 40px;
    --gap-90: 20px;
    --gap-80: 18px;
    --gap-72: 25px;
    --gap-70: 14px;
    --gap-60: 16px;
    --gap-50: 15px;
    --gap-40: 12px;
    --gap-35: 10px;
    --gap-30: 10px;
    --gap-25: 12px;
    --gap-24: 12px;
    --gap-22: 12px;
    --gap-20: 8px;
    --gap-10: 6px;
    --gap-14: 4px;
    --gap-12: 3px;

    --page-padding: max(15px, calc((100vw - 450px) / 2));
  }

  .primaryBtn,
  .whiteBtn {
    padding: 8px 16px;
  }

  .primaryBtn:hover svg,
  .whiteBtn:hover svg {
    width: 13px;
  }

  .navBtn {
    width: 44px;
    height: 44px;
  }

  .swiper-button-prev,
  .swiper-button-next {
    width: 28px !important;
    height: 28px !important;
  }

  .swiper-button-prev:after,
  .swiper-button-next:after {
    font-size: 11px !important;
  }
}

@media screen and (max-width: 480px) {
  :root {
    --page-padding: calc((100vw - 360px) / 2 + 15px);
  }
}