/* ===== Banner 轮播 ===== */

.banner.swiper {

  position: relative;

  width: 100%;

  height: 33vw;

  overflow: hidden;

}



.banner.swiper .swiper-slide {

  width: 100%;

  height: 100%;

  display: flex;

  align-items: center;

  justify-content: center;

}



.banner.swiper .swiper-slide img {

  width: 100%;

  height: 100%;

  object-fit: cover;

}
.product-more{
  display: none;
}


/* 分页器圆点 */

.banner.swiper .swiper-pagination {

  position: absolute;

  bottom: 2vw;

  left: 0;

  right: 0;

  z-index: 10;

}



.banner.swiper .swiper-pagination-bullet {

  width: 0.75vw;

  height: 0.75vw;

  border-radius: 50%;

  background: rgba(255, 255, 255, 0.5);

  opacity: 1;

  transition: all 0.3s ease;

}



.banner.swiper .swiper-pagination-bullet-active {

  background: var(--gold);

  width: 2vw;

  border-radius: 0.375vw;

}



/* ===== 案例展示 ===== */

.case-showcase {

  background-color: #fff;

}



.case-grid {

  display: grid;

  grid-template-columns: repeat(4, 1fr);

  gap: 0.9vw;

}



.case-item {

  position: relative;

  overflow: hidden;

  transition: transform 0.4s ease, box-shadow 0.4s ease;

  cursor: pointer;

}



.case-item:hover {

  transform: translateY(-0.5vw);

  box-shadow: 0 0.5vw 1.5625vw rgba(0, 0, 0, 0.15);

}



.case-img {

  width: 100%;

  height: 30vw;

  overflow: hidden;

}



.case-img img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  transition: transform 0.6s ease;

}



.case-item:hover .case-img img {

  transform: scale(1.05);

}



.case-info {

  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  padding: 0.8vw 1vw;

  text-align: left;

  background: rgba(0, 0, 0, 0.6);

}



.case-tag {

  font-size: 1.2vw;

  color: #fff;

  font-weight: 500;

}



/* ===== 产品展示 ===== */

.product-showcase {

  padding-top: 0 !important;

  background-color: #fff;

}



.product-grid {

  padding-bottom: 2vw;

  display: flex;

  overflow-x: auto;

  gap: 1.5vw;

  scroll-snap-type: x mandatory;

  cursor: grab;

  user-select: none;

  -webkit-user-select: none;

}



.product-grid.dragging {

  cursor: grabbing;

  scroll-snap-type: none;

}



.product-item {

  flex: 0 0 22%;

  scroll-snap-align: start;

  text-align: center;

  transition: transform 0.4s ease;

  cursor: pointer;

}



.product-item:hover {

  transform: translateY(-0.375vw);

}



.product-img {

  width: 100%;

  aspect-ratio: 1 / 1;

  overflow: hidden;

  border-radius: 0.375vw;

  background-color: #f2ece7;

  box-shadow: 0 0.25vw 0.9375vw rgba(0, 0, 0, 0.08);

  margin-bottom: 0.75vw;

  display: flex;

  align-items: center;

  justify-content: center;

}



.product-img img {

  width: 15.2vw;

  height: 12.4vw;

  object-fit: contain;

  transition: transform 0.6s ease;

}



.product-item:hover .product-img img {

  transform: scale(1.03);

}



.product-name {

  font-size: 0.875vw;

  color: var(--text-dark);

  font-weight: 500;

}



/* ===== 品牌介绍 ===== */

section.brand-intro {

  background-color: #fff;

  padding: 0 !important;

  line-height: 0;

}



section.brand-intro .container {

  padding-top: 3vw;

  padding-bottom: 3vw;

  max-width: 100%;

}



section.brand-intro img {

  width: 100%;

  height: auto;

  display: block;

}



/* ===== 在线预定 ===== */

.booking-section {

  width: 100%;

  height: 33vw;

  position: relative;

  overflow: hidden;

}



.booking-section .booking-bg {

  position: absolute;

  inset: 0;

  width: 100%;

  height: 100%;

  object-fit: cover;

}



.booking-wrapper {

  position: relative;

  width: 100%;

  height: 100%;

  z-index: 1;

}



.booking-left {

  position: absolute;

  left: 8vw;

  top: 6vw;

  width: max-content;

}



.booking-left h2 {

  font-size: 2.5vw;

  font-weight: 550;

  line-height: 1.4;

  background: linear-gradient(to bottom, #6d4e2f, #563124);

  -webkit-background-clip: text;

  background-clip: text;

  color: transparent;

}



.booking-subtitle {

  font-size: 2.5vw;

  color: #55341e;

  font-weight: 500;

  line-height: 1.4;

}



.booking-desc {

  font-size: 0.8375vw;

  color: #532d13;

  line-height: 1.4;

  margin-bottom: 2vw;

}



.booking-btn {

  display: inline-block;

  background-color: var(--primary-color);

  color: #fff;

  padding: 1vw 2.5vw;

  border-radius: 0.375vw;

  font-size: 1vw;

  font-weight: 500;

  text-decoration: none;

  transition: all 0.3s ease;

}



.booking-btn:hover {

  background-color: var(--primary-dark);

  transform: translateY(-0.125vw);

}



.booking-right {

  position: absolute;

  right: 26vw;

  top: 3vw;

  transform: translateY(-50%);

  display: flex;

  justify-content: center;

}



.qr-wrapper {

  text-align: center;

  background: #f4f2ee;

  border-radius: 0.75vw;

  box-shadow: 0 0.5vw 1.5625vw rgba(0, 0, 0, 0.1);

  padding: 1.5vw 2vw;

  position: relative;

}



.qr-img {

  margin: 1.5vw 0;

  width: 13vw;

  height: 10vw;

  border-radius: 0.375vw;

  display: block;

  margin-left: auto;

  margin-right: auto;

  object-fit: scale-down;

}



.qr-hint {

  padding: 0.3vw 1vw;

  font-size: 0.875vw;

  color: #fff;

  margin-bottom: 1.5vw;

  background: #725640;

  border-radius: 888.3750vw;

  -webkit-border-radius: 888.3750vw;

  -moz-border-radius: 888.3750vw;

  -ms-border-radius: 888.3750vw;

  -o-border-radius: 888.3750vw;

}



.qr-deco-icon {

  width: auto;

  height: 2vw;

  max-width: 100%;

  display: block;

  margin: 0 auto 0.5vw;

}



.qr-deco-text {

  font-size: 1vw;

  color: #513726;

  font-weight: 600;

}



.qr-service {

  font-size: 0.875vw;

  color: #624228;

  font-weight: 500;

  text-align: center;

  background: url('../../../images/home-img/group-2-1.png') center center / 12vw auto no-repeat;

}



.curst {

  color: #51361e;

}



/* ===== 图片弹窗 ===== */

.modal-overlay {

  display: none;

  position: fixed;

  inset: 0;

  background: rgba(0, 0, 0, 0.6);

  z-index: 10000;

  justify-content: center;

  align-items: center;

  padding: 2vw;

}



.modal-overlay.open {

  display: flex;

}



.modal-box {

  background: #fff;

  border-radius: 0.75vw;

  overflow: hidden;

  display: flex;

  flex-direction: column;

  max-width: 60vw;

  max-height: 85vh;

}



.modal-top {

  text-align: center;

  padding: 1.5vw;

  border-bottom: 0.0625vw solid #eee;

}



.modal-caption {

  font-size: 1.25vw;

  color: var(--text-dark);

  font-weight: 600;

}



.modal-middle {

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 1.5vw;

  padding: 2vw;

  flex: 1;

  min-height: 0;

}



.modal-middle img {

  max-width: 42vw;

  max-height: 55vh;

  object-fit: contain;

  border-radius: 0.375vw;

}



.modal-middle .modal-video {

  max-width: 42vw;

  max-height: 55vh;

  object-fit: contain;

  border-radius: 0.375vw;

  background: #000;

}

.modal-nav {

  flex-shrink: 0;

  width: 2.5vw;

  height: 2.5vw;

  border-radius: 50%;

  background: #f2ece7;

  border: none;

  color: var(--text-dark);

  font-size: 1.5vw;

  cursor: pointer;

  display: flex;

  align-items: center;

  justify-content: center;

  transition: background 0.3s ease;

}



.modal-nav:hover {

  background: var(--primary-color);

  color: #fff;

}



.modal-bottom {

  text-align: center;

  padding: 1vw;

  border-top: 0.0625vw solid #eee;

}



.modal-close {

  background: none;

  border: none;

  color: var(--text-gray);

  font-size: 1vw;

  cursor: pointer;

  padding: 0.5vw 2vw;

  transition: color 0.3s ease;

}



.modal-close:hover {

  color: var(--text-dark);

}