@keyframes bgbody {
  0% {
    opacity: 0;
  }

  40% {
    opacity: 0.6;
  }

  100% {
    opacity: 1;
  }
}

body {
  -webkit-animation: bgbody 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  -o-animation: bgbody 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  animation: bgbody 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
  will-change: opacity;
  letter-spacing: -0.015em;
}

html {
  width: 100%;
  scroll-behavior: smooth;
  font-family: "arial", "microsoft yahei";
  overflow-x: hidden;
  /* min-width: 1000px; */
  font-size: 16px;
}

html .var-padding {
  padding-left: auto;
  padding-right: auto;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

html.wrapper-3600 {
  font-size: 30px;
}

html.wrapper-3400 {
  font-size: 28px;
}

html.wrapper-3200 {
  font-size: 26px;
}

html.wrapper-3000 {
  font-size: 24px;
}

html.wrapper-2800 {
  font-size: 22px;
}

html.wrapper-2600 {
  font-size: 20px;
}

html.wrapper-2400 {
  font-size: 18px;
}

html.wrapper-2200 {
  font-size: 16px;
}

html.wrapper-2000 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1900 {
  font-size: 20px;
} */

html.wrapper-1900 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1800 {
  font-size: 19px;
} */

html.wrapper-1800 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1700 {
  font-size: 18px;
} */

html.wrapper-1700 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1600 {
  font-size: 17px;
} */

html.wrapper-1600 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1500 {
  font-size: 16px;
} */

html.wrapper-1500 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1400 {
  font-size: 15px;
} */

html.wrapper-1400 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1300 {
  font-size: 14px;
} */

html.wrapper-1300 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

/* html.wrapper-1200 {
  font-size: 14px;
} */

html.wrapper-1200 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

html.wrapper-1100 .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

html.wrapper-1000 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-900 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-800 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-700 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-600 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-500 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-400 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-300 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-200 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}

html.wrapper-100 .var-padding {
  padding-left: 1rem;
  padding-right: 1rem;
}
/* 字体基准标签 */
.font-size12px {
  font-size: 0.75rem !important;
}
.font-size14px {
  font-size: 0.875rem !important;
}
.font-size16px {
  font-size: 1rem !important;
}
.font-size15px {
  font-size: 0.9375rem !important;
}
.font-size20px {
  font-size: 1.25rem !important;
}
.font-size26px {
  font-size: 1.625rem !important;
}
.font-size34px {
  font-size: 2.125rem !important;
}
.font-size46px {
  font-size: 2.875rem !important;
}
/* 字体修正相当于 GothamSSm, Helvetica, Arial, sans-serif;*/
.font-family-primary {
  font-family: Montserrat !important;
}
/* 字体修正相当于 Decimal, Helvetica, Arial, sans-serif;*/
.font-family-secondary {
  font-family: Liberation Sans !important;
}
/* font-family: Microsoft YaHei, Microsoft YaHei; */
body {
  width: 100%;
  color: #333333;
  overflow-x: clip;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  line-height: 1.4;
  font-family: Montserrat;
}

* {
  box-sizing: border-box;
  position: relative;
  margin: 0;
  padding: 0;
}

.none {
  display: none !important;
}

button {
  outline: none;
  cursor: pointer;
  font-size: inherit;
}

ul,
li {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: inherit;
}

h1 {
  font-size: 3.9rem;
}

h2 {
  font-size: 2.2rem;
}

h3 {
  font-size: 1.7rem;
}

h4 {
  font-size: 1.5rem;
}

h5 {
  font-size: 1.3rem;
}

h6 {
  font-size: 1.2rem;
}

em {
  font-style: normal;
}

img {
  width: auto;
  height: auto;
  border: 0;
  vertical-align: middle;
  object-fit: cover;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

p {
  line-height: inherit;
  word-wrap: break-word;
}

.page-scroll {
  position: fixed;
  width: 100%;
  overflow: hidden;
  left: 0;
  right: 0;
}

.page-scroll .header {
  position: fixed;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 110px;
  background-color: #fff;
  transition: transform 0.6s ease, background-color 0.6s ease;
  z-index: 100;
}

.header-hidden {
  transform: translateY(-100%);
}

/*公共顶部 */
.header .header-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 39px;
  border-bottom: 1px solid #eae8e4;
}

.menu-list {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.menu-list .list-item {
  display: flex;
  align-items: center;
  color: #3a3935;
  font-size: 0.75rem;
  gap: 0.625rem;
  cursor: pointer;
  position: relative;
}
.menu-list .list-item img {
  height: 1.2rem;
}

.cart-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cart-badge {
  position: absolute;
  top: -6px;
  right: -8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  background-color: #c00;
  color: #fff;
  font-size: 10px;
  line-height: 16px;
  text-align: center;
  border-radius: 8px;
}

.menu-list .list-item2 {
  display: flex;
  align-items: center;
  color: #333333;
  font-size: 0.75rem;
  gap: 0.625rem;
  cursor: pointer;
  position: relative;
}

.menu-list .level2::after {
  width: 0;
  height: 1px;
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  background-color: #333333;
  transition: all 0.5s;
}

.menu-list .level2 {
  font-size: 0.8125rem;
  font-weight: 700;
}

.menu-list .level2:hover::after {
  width: 100%;
}

/* 蜜罐输入框：吸引浏览器自动填充，真实搜索框不受影响 */
.search-honey {
  position: absolute;
  left: -9999px;
  top: -9999px;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
  border: 0;
  padding: 0;
}

.menu-list .list-item .search-input {
  width: 300px;
  height: 55px;
  padding: 0 12px 0 36px;
  border: none;
  background-color: #f5f5f5;
  font-size: 0.875rem;
  color: #333;
  outline: none;
  background-image: url("../images/header-icon08.png");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 16px 16px;
}

.menu-list .list-item .search-input::placeholder {
  color: #999;
}

.header .header-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 69px;
  /* border-bottom: 1px solid #eae8e4; */
}

.header .header-mask {
  position: relative;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  left: 0;
  width: 100%;
  height: calc(100vh - 108px);
  background-color: #353331;
  transition: opacity 0.6s ease, visibility 0.6s ease;
  color: #ffffff;
}

/* 头部背景色变化效果 */
/* 顶部 */
.header-show {
  background-color: #353331;
}

.header-show .header-top {
  /* padding: 0 2.5rem; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 39px;
  border-bottom: 1px solid transparent;
}

.header-show .menu-list {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}

.header-show .menu-list .list-item {
  display: flex;
  align-items: center;
  color: #ffffff;
  font-size: 0.75rem;
  gap: 0.625rem;
  cursor: pointer;
  position: relative;
}

.header-show .menu-list .level2::after {
  width: 0;
  height: 1px;
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  background-color: #ffffff;
  transition: all 0.5s;
}

.header-show .menu-list .level2 {
  font-size: 0.8125rem;
  color: #9d9c99;
}

.header-show .menu-list .active {
  color: #ffffff;
}

.header-show .menu-list .level2:hover {
  color: #ffffff;
}

.header-show .menu-list .level2:hover::after {
  width: 100%;
}

.header-show .menu-list .list-item .search-input {
  width: 300px;
  height: 55px;
  padding: 0 12px 0 36px;
  border: none;
  background-color: #3a3935;
  font-size: 0.875rem;
  color: #ffffff;
  outline: none;
  background-image: url("../images/header-icon08-1.png");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 16px 16px;
}

.header-show .menu-list .list-item .search-input::placeholder {
  color: #ffffff;
}

.header-show .header-bottom {
  /* padding: 0 2.5rem; */
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 69px;
  border-bottom: 1px solid #5c5957;
}

/* 顶部结束 */
/* 遮罩 */
.header .header-maskshow {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  background-color: #353331;
  z-index: 10;
}

.header-maskshow .headermask-close {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.header-maskshow .headermask-close:hover {
  opacity: 1;
}

/* 三级菜单样式 */
.headermask-content {
  height: 100%;
  padding: 0 0 0 40px;
}

.headermask-list {
  height: 100%;
}

.headermask-item {
  display: grid;
  height: 100%;
  grid-template-columns: 20% 30% 1fr;
  /* gap: 40px; */
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}

.headermask-item.active {
  opacity: 1;
  visibility: visible;
  position: relative;
}

/* 一级菜单 */
.headermask-level1 {
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  padding-right: 40px;
}

.level1-item {
  font-size: 0.875rem;
  color: #9d9c99;
  padding: 16px 0;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.level1-item:hover,
.level1-item.active {
  color: #ffffff;
}

.level1-item.active::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 16px;
  background-color: #ffffff;
}

/* 二级菜单 */
.headermask-level2 {
  padding-left: 20px;
}

.level2-content {
  display: none;
}

.level2-content.active {
  display: block;
}

.level2-item {
  font-size: 0.875rem;
  color: #9d9c99;
  padding: 16px 0;
  cursor: pointer;
  transition: all 0.3s ease;
  display: block;
}

.level2-item:hover {
  color: #ffffff;
}

/* 图片区域 */
.headermask-image {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  padding-left: 40px;
}

.headermask-image img {
  width: 100%;
  height: 100%;
  transition: opacity 0.3s ease;
}

/* 头部背景色变化效果结束*/
.main {
  padding-top: 110px;
  color: #000000;
}

/* 资讯列表样式 */
.headermask-item .news-section {
  width: 100%;
  /* height: calc(100vh - 200px); */
  overflow-y: auto;
  /* padding-right: 10px; */
}

.headermask-item .news-section::-webkit-scrollbar {
  width: 4px;
}

.headermask-item .news-section::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}

.headermask-item .news-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  padding: 20px 40px;
}
.headermask-item .news-morebtn {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
  cursor: pointer;
  color: #9d9c99;
  font-size: 1.2rem;
}
.headermask-item .news-morebtn:hover {
  color: #ffffff;
}
.headermask-item .news-item {
  background: #2a2927;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.headermask-item .news-image {
  width: 100%;
  height: 23.5rem;
  overflow: hidden;
}

.headermask-item .news-image img {
  width: 100%;
  height: 100%;
  object-fit: fill;
  transition: transform 0.3s ease;
}

.headermask-item .news-item:hover .news-image img {
  transform: scale(1.05);
}

.headermask-item .news-content {
  padding: 16px 20px;
}

.headermask-item .news-title {
  font-size: 0.9rem;
  color: #ffffff;
  margin-bottom: 12px;
  font-weight: normal;
}

.headermask-item .news-more {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #9d9c99;
  transition: color 0.3s ease;
}

.headermask-item .news-more::after {
  content: ">";
  margin-left: 6px;
  font-size: 0.7rem;
}

.headermask-item .news-more:hover {
  color: #ffffff;
}

/* 产品列表样式 */
.headermask-item .product-section {
  width: 100%;
  overflow-y: auto;
  padding-right: 10px;
}

.headermask-item .product-section::-webkit-scrollbar {
  width: 4px;
}

.headermask-item .product-section::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 2px;
}

.headermask-item .product-list {
  opacity: 0;
  transition: opacity 0.3s ease;
}

.headermask-item .product-list.active {
  display: grid;
  opacity: 1;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 20px 40px;
}

.headermask-item .product-item {
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}

/* .headermask-item .product-item:hover {
  transform: translateY(-4px);
} */

.headermask-item .product-item a {
  display: block;
}

.headermask-item .product-image {
  width: 100%;
  height: 35rem;
  overflow: hidden;
}

.headermask-item .product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1s ease;
}

.headermask-item .product-item:hover .product-image img {
  transform: scale(1.05);
}

.headermask-item .product-content {
  padding: 16px 0;
}

.headermask-item .product-name {
  font-size: 1rem;
  color: #ffffff;
  margin-bottom: 12px;
  font-weight: normal;
}

.headermask-item .product-more {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #9d9c99;
  transition: color 0.3s ease;
}

.headermask-item .product-more::after {
  content: ">";
  margin-left: 6px;
  font-size: 0.7rem;
}

/* 心愿单面板样式 */
.header-wish-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 200;
  transform: translateX(100%);
  transition: transform 0.4s ease;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
}

.header-wish-panel.active {
  transform: translateX(0);
}

.wish-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  padding-right: 1.25rem;
  border-bottom: 1px solid #eae8e4;
}

.wish-panel-title {
  font-size: 1rem;
  font-weight: normal;
  color: #333333;
  margin: 0;
}

.wish-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.wish-panel-close:hover {
  color: #333;
}

.wish-panel-content {
  padding: 24px;
}

.wish-empty-text {
  font-size: 0.875rem;
  color: #333333;
  padding-bottom: 1.625rem;
  border-bottom: 1px solid #eae8e4;
}

.wish-account-section {
  margin-top: 1.375rem;
}

.wish-account-title {
  font-size: 0.875rem;
  font-weight: normal;
  color: #333;
  margin-bottom: 12px;
}

.wish-account-desc {
  font-size: 0.75rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
}

.wish-account-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #333;
  color: #fff;
  border: none;
  font-size: 0.75rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.wish-account-btn:hover {
  background-color: #555;
}

/* 商品列表样式 */
.wish-panel-content .has-content {
  display: block;
}

/* 没有心愿单 */
.wish-panel-content .no-content {
  display: block;
  text-align: center;
  padding: 32px 20px 24px;
}

.wish-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
  max-height: calc(100vh - 150px);
  overflow-y: auto;
  overflow-x: hidden;
}

.wish-list::-webkit-scrollbar {
  width: 4px;
}

.wish-list::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}

.wish-item {
  display: flex;
  gap: 16px;
  padding: 12px;
  margin: -12px -12px 0;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.wish-item:hover {
  background-color: #f5f5f5;
}

.wish-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.wish-item-image {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.wish-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.wish-item:hover .wish-item-image img {
  transform: scale(1.08);
}

.wish-item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.wish-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6px;
}

.wish-item-name {
  font-size: 0.875rem;
  font-weight: normal;
  color: #333;
  margin: 0;
  line-height: 1.4;
}

.wish-item-remove {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: #999;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 8px;
}

.wish-item-remove:hover {
  color: #333;
}

.wish-item-desc {
  font-size: 0.75rem;
  color: #999;
  margin-bottom: 8px;
  line-height: 1.4;
}

.wish-item-series {
  font-size: 0.75rem;
  color: #666;
  margin-bottom: 8px;
}

.wish-item-price {
  font-size: 0.875rem;
  color: #333;
  font-weight: 500;
  margin-top: auto;
}

/* 遮罩层 */
.header-wish-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(1px);
  z-index: 199;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}

.header-wish-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* 购物袋面板样式 */
.header-shop-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 200;
  transform: translateX(100%);
  transition: transform 0.4s ease;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.header-shop-panel.active {
  transform: translateX(0);
}

.shop-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  padding-right: 1.25rem;
  border-bottom: 1px solid #eae8e4;
  flex-shrink: 0;
}

.shop-panel-title {
  font-size: 1rem;
  font-weight: normal;
  color: #333333;
  margin: 0;
}

.shop-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shop-panel-close:hover {
  color: #333;
}

.shop-panel-content {
  flex: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.shop-empty-text {
  font-size: 0.875rem;
  color: #333333;
  padding-bottom: 1.625rem;
  /* border-bottom: 1px solid #eae8e4; */
  margin: 0;
}

.shop-continue-btn {
  width: 100%;
  padding: 14px 24px;
  /* margin-top: 24px; */
  background-color: #3a3a3a;
  color: #ffffff;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.shop-continue-btn:hover {
  background-color: #555555;
}

/* 购物袋商品列表 */
.shop-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.shop-item {
  display: flex;
  gap: 16px;
  padding: 12px;
  margin: -12px -12px 0;
  cursor: pointer;
  /* border-bottom: 1px solid #eae8e4; */
}

.shop-item:hover {
  background-color: #f5f5f5;
}

/* .shop-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
} */

.shop-item-image {
  width: 100px;
  height: 100px;
  flex-shrink: 0;
  background-color: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.shop-item-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.shop-item:hover .shop-item-image img {
  transform: scale(1.08);
}

.shop-item-info {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.shop-item-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}

.shop-item-name {
  font-size: 0.875rem;
  font-weight: normal;
  color: #333;
  margin: 0;
  line-height: 1.4;
  flex: 1;
}

.shop-item-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.shop-item-wish {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: #333;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shop-item-wish:hover {
  color: #e74c3c;
}

.shop-item-wish.active svg {
  fill: #e74c3c;
  stroke: #e74c3c;
}

.shop-item-remove {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  color: #333;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.shop-item-remove:hover {
  color: #999;
}

.shop-item-subtitle {
  font-size: 0.75rem;
  color: #666;
  margin-bottom: 4px;
  line-height: 1.4;
}

.shop-item-model {
  font-size: 0.75rem;
  color: #999;
  margin-bottom: 8px;
  line-height: 1.4;
}

.shop-item-price {
  font-size: 0.875rem;
  color: #333;
  font-weight: 500;
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.shop-item-qty {
  color: #333;
  font-size: 0.75rem;
  font-weight: normal;
  margin-top: 4px;
  text-align: right;
}

.shop-item-tax {
  font-size: 0.75rem;
  color: #999;
  font-weight: normal;
}

/* 购物袋底部结算区 */
.shop-panel-footer {
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid #eae8e4;
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 20px;
}

.shop-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4px;
}

.shop-total-label {
  font-size: 0.875rem;
  color: #333;
}

.shop-total-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.shop-total-price {
  font-size: 1rem;
  color: #333;
  font-weight: 500;
}

.shop-total-tax {
  font-size: 0.75rem;
  color: #999;
}

.shop-checkout-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #3a3a3a;
  color: #ffffff;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.shop-checkout-btn:hover {
  background-color: #555555;
}

/* 继续购物按钮 - has-content 内样式 */
.has-content .shop-continue-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #f5f5f5;
  color: #333;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.has-content .shop-continue-btn:hover {
  background-color: #e8e8e8;
}

/* 用户面板样式 */
.header-user-panel {
  position: fixed;
  top: 0;
  right: 0;
  width: 380px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 200;
  transform: translateX(100%);
  transition: transform 0.4s ease;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.1);
}

.header-user-panel.active {
  transform: translateX(0);
}

.user-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  padding-right: 1.25rem;
  border-bottom: 1px solid #eae8e4;
}

.user-panel-title {
  font-size: 1rem;
  font-weight: normal;
  color: #333333;
  margin: 0;
}

.user-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.user-panel-close:hover {
  color: #333;
}

.user-panel-content {
  padding: 24px;
}

/* 登录区域 */
.user-login-section {
  margin-bottom: 32px;
}

.user-login-text {
  font-size: 0.875rem;
  color: #333;
  margin-bottom: 16px;
}

.user-login-label {
  display: block;
  font-size: 0.875rem;
  color: #333;
  margin-bottom: 12px;
}

.user-login-input {
  width: 100%;
  height: 48px;
  padding: 0 16px;
  border: 1px solid #ddd;
  background-color: #f5f5f5;
  font-size: 0.875rem;
  color: #333;
  outline: none;
  margin-bottom: 16px;
  transition: border-color 0.3s ease;
}

.user-login-input:focus {
  border-color: #999;
}

.user-password-wrap {
  position: relative;
  height: 48px;
}

.user-password-wrap .user-login-input {
  padding-right: 42px;
}

.user-password-eye {
  position: absolute;
  right: 14px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: #666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease;
}

.user-password-eye:hover {
  color: #333;
}

.user-password-eye svg {
  width: 100%;
  height: 100%;
  display: block;
}

.user-login-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #000;
  color: #fff;
  border: none;
  margin-top: 1.25rem;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.user-login-btn:hover {
  background-color: #333;
}

/* 创建账户区域 */
.user-register-section {
  padding-top: 8px;
}

.user-register-title {
  font-size: 0.875rem;
  font-weight: normal;
  color: #333;
  margin-bottom: 12px;
}

.user-register-desc {
  font-size: 0.75rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 20px;
}

.user-register-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #333;
  color: #fff;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.user-register-btn:hover {
  background-color: #555;
}

/* 已登录用户菜单 */
.has-user {
  display: block;
}

.user-menu-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.user-menu-item {
  border-bottom: 1px solid #eae8e4;
}

.user-menu-item a {
  display: flex;
  align-items: center;
  padding: 16px 0;
  color: #333;
  transition: color 0.3s ease;
}

.user-menu-item a:hover {
  color: #666;
}

.user-menu-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  margin-right: 12px;
  color: #666;
}

.user-menu-text {
  flex: 1;
  font-size: 0.875rem;
}

.user-menu-arrow {
  display: flex;
  align-items: center;
  color: #999;
}

.user-menu-item.logout {
  border-bottom: none;
}

.user-menu-item.logout a {
  justify-content: flex-start;
}

.user-menu-item.logout .user-menu-text {
  flex: none;
}

.user-menu-item.logout .logout-btn {
  width: 100%;
  margin: 8px 0 0;
  cursor: pointer;
}

/* 通用遮罩层 */
.header-panel-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(1px);
  z-index: 199;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}

.header-panel-overlay.active {
  opacity: 1;
  visibility: visible;
}

/* 底部 */
.footer {
  background-color: #100f0f;
  padding-bottom: 7.5rem;
}

.footer .footer-topcard {
  display: flex;
  gap: 1.25rem;
  padding-bottom: 1.25rem;
  padding-top: 1.25rem;
  margin-bottom: 3.125rem;
  border-bottom: 1px solid #3a3935;
}

.footer .footer-topcard .topcard-item {
  flex: 1;
  background: #201f1e;
  padding: 1.875rem;
  display: flex;
  gap: 1.875rem;
  align-items: center;
}

.footer-topcard .topcard-item .text {
  font-weight: 400;
  font-size: 12px;
  color: #cccccc;
}

.footer-logo {
  padding-bottom: 20px;
  border-bottom: 1px solid #3a3935;
  margin-bottom: 1.875rem;
}

/* Footer Bottom Card */
.footer-bottomcard {
  display: flex;
  gap: 2.5rem;
  padding-bottom: 5rem;
  border-bottom: 1px solid #3a3935;
  margin-bottom: 1.875rem;
}

.footer-bottomcard .bottomcard-col {
  flex: 1;
}

.footer-bottomcard .bottomcard-title {
  font-size: 0.875rem;
  font-weight: normal;
  color: #b7a98e;
  margin-bottom: 1.5rem;
}

.footer-bottomcard .bottomcard-brand {
  font-size: 1.5rem;
  color: #999999;
  letter-spacing: 0.1em;
}

.footer-bottomcard .bottomcard-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-bottomcard .bottomcard-list li {
  margin-bottom: 0.75rem;
}

.footer-bottomcard .bottomcard-list li:last-child {
  margin-bottom: 0;
}

.footer-bottomcard .bottomcard-list li a {
  font-size: 0.75rem;
  color: #ffffff;
  transition: color 0.3s ease;
}

.footer-bottomcard .bottomcard-list li a:hover {
  color: #b7a98e;
}

.footer-bottomcard .bottomcard-contact p {
  font-size: 0.75rem;
  color: #ffffff;
  margin-bottom: 0.75rem;
  line-height: 1.6;
}

.footer-bottomcard .bottomcard-contact .contact-label {
  color: #ffffff;
  font-weight: 500;
}

.footer-bottomcard .bottomcard-social {
  display: flex;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
  flex-wrap: wrap;
}

.footer-bottomcard .bottomcard-social .social-icon {
  width: 36px;
  height: 36px;
  background-color: #3a3935;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999999;
  transition: all 0.3s ease;
}

.footer-bottomcard .bottomcard-social .social-icon:hover {
  background-color: #4a4945;
  color: #ffffff;
}

.footer-bottomcard .bottomcard-social .social-icon svg {
  width: 16px;
  height: 16px;
}

.footer-bottomcard .bottomcard-social .social-icon img {
  height: 16px;
}

.footer-bottomcard .bottomcard-subscribe {
  font-size: 0.75rem;
  color: #ffffff;
  transition: color 0.3s ease;
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}

.footer-bottomcard .bottomcard-subscribe:hover {
  color: #999999;
}

/* Footer Clause */
.footer-clause {
  display: flex;
  flex-direction: column;
  font-size: 0.75rem;
  color: #ffffff;
  gap: 2.5rem;
}

.footer-clause .clause-links {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  font-weight: bold;
  font-size: 10px;
}

.footer-clause .clause-links a {
  color: #ffffff;
  transition: color 0.3s ease;
  font-weight: bold;
  font-size: 10px;
}

.footer-clause .clause-links a:hover {
  color: #999999;
}

.footer-clause .clause-divider {
  color: #ffffff;
}

.footer-clause .clause-copyright {
  color: #ffffff;
}

/* -----------------------------内容区域----------------------------- */
.common-banner {
  position: relative;
  /* 最高高度限制为 860px */
  max-height: 860px;
  overflow: hidden;
}
.common-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, #0000 40%, #000);
}
.common-banner .banner-img {
  display: block;
  width: 100%;
  /* 与父级一致：图片高度最高 860px，超出部分按 object-fit 裁切，不变形 */
  max-height: 860px;
  object-fit: cover;
}

.common-banner .banner-info {
  position: absolute;
  bottom: 3.43rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 2;
}

.common-banner .banner-info .banner-title {
  font-weight: 400;
  font-size: 2.875rem;
  color: #ffffff;
}

.common-banner .banner-info .mini-text {
  font-weight: 400;
  font-size: 12px;
  color: #b7a98e;
}

.repair-method {
  padding: 5rem 15rem;
}

.repair-method .method-minitext {
  font-weight: 400;
  font-size: 12px;
  color: #b7a98e;
  margin-bottom: 0.625rem;
}

.repair-method .method-title {
  font-weight: 400;
  font-size: 1.625rem;
  color: #333333;
  line-height: 2.5rem;
  margin-bottom: 3.75rem;
}

.common-manual {
  background-color: #f7f7f7;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.common-manual .manual-mini {
  font-weight: 400;
  font-size: 0.75rem;
  color: #b7a98e;
  margin-bottom: 1.25rem;
}

.common-manual .manual-title {
  font-weight: 400;
  font-size: 1.625rem;
  color: #333333;
  margin-bottom: 2.5rem;
}

/* manual-list 样式 */
.manual-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.manual-item {
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.manual-image {
  width: 100%;
  height: 31.25rem;
  overflow: hidden;
}

.manual-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.manual-item:hover .manual-image img {
  transform: scale(1.05);
}

.manual-content {
  padding: 1.5rem 0;
}

.manual-item-title {
  font-size: 0.875rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 0.5rem;
}

.manual-item-subtitle {
  font-size: 0.875rem;
  color: #333333;
  margin-bottom: 0.5rem;
}

.manual-item-more {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  font-weight: bold;
  color: #333333;
  transition: color 0.3s ease;
}

.manual-item-more::after {
  content: ">";
  margin-left: 0.375rem;
  font-size: 0.7rem;
}

.manual-item-more:hover {
  color: #333333;
}

.workshop-desc {
  padding: 5rem 20rem;
}

.workshop-desc .desc-minitext {
  font-weight: 400;
  font-size: 12px;
  color: #b7a98e;
  margin-bottom: 0.625rem;
}

.workshop-desc .desc-title {
  font-weight: 400;
  font-size: 26px;
  color: #333333;
  line-height: 2.5rem;
  margin-bottom: 1.25rem;
}
.workshop-desc .desc-title .rich img {
  margin-top: 10px;
}

.workshop-desc .desc-rich {
  margin-bottom: 1.25rem;
}
.workshop-desc .desc-rich img {
  margin-top: 1.25rem;
  margin-bottom: 1.25rem;
}
.workshop-desc .desc-btn {
  width: 6.6rem;
  height: 2.5rem;
  background: #323232;
  font-weight: 400;
  font-size: 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #ffffff;
  cursor: pointer;
}
.workshop-desc .desc-video {
  width: 100%;
  height: 50rem;
}

.desc-topimgs {
  display: flex;
  justify-content: space-between;
  gap: 1.25rem;
  padding-bottom: 4.375rem;
}

.desc-topimgs .left {
  width: 70%;
}

.desc-topimgs .right {
  width: 30%;
}

.desc-graybox {
  background-color: #f4f4f4;
}

.desc-bottomimgs {
  display: flex;
  gap: 1.25rem;
  padding-bottom: 3.125rem;
}

.desc-bottomimgs .left {
  width: 60%;
  display: flex;
  align-items: center;
}

.desc-bottomimgs .right {
  width: 40%;
}

.desc-bottomimgs .right img {
  width: 100%;
}

/*------------------------ 展会资讯---------------------- */
.exhibition-newspage {
  padding: 3.75rem 2.5rem;
}

.exhibition-newspage .exhibition-newstopbox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 3.125rem;
}

.exhibition-newspage .exhibition-newstopbox .tag {
  font-weight: 400;
  font-size: 0.75rem;
  color: #b7a98e;
}

.exhibition-newspage .exhibition-newstopbox .title {
  font-weight: 400;
  font-size: 2.875rem;
  color: #333333;
}

.exhibition-newspage .exhibition-newstopbox .content {
  font-weight: 400;
  font-size: 1rem;
  color: #333333;
}

.exhibition-newspage .exhibition-newslisttop {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.exhibition-newspage .exhibition-newslisttop .newslist-item {
  overflow: hidden;
  cursor: pointer;
}

.exhibition-newspage .exhibition-newslisttop .newslist-image {
  width: 100%;
  /* height: 46.875rem; */
  overflow: hidden;
}

.exhibition-newspage .exhibition-newslisttop .newslist-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.exhibition-newspage
  .exhibition-newslisttop
  .newslist-item:hover
  .newslist-image
  img {
  transform: scale(1.05);
}

.exhibition-newspage .exhibition-newslisttop .newslist-content {
  padding: 1.25rem 0 0;
}

.exhibition-newspage .exhibition-newslisttop .newslist-title {
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 0.5rem;
}

.exhibition-newspage .exhibition-newslisttop .newslist-date {
  font-size: 1rem;
  color: #333333;
  margin-bottom: 1rem;
}

.exhibition-newspage .exhibition-newslisttop .newslist-more {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #333333;
  font-weight: bold;
  transition: color 0.3s ease;
}

.exhibition-newspage .exhibition-newslisttop .newslist-more::after {
  content: ">";
  margin-left: 0.375rem;
  font-size: 0.7rem;
}

.exhibition-newspage .exhibition-newslisttop .newslist-more:hover {
  color: #666666;
}

.exhibition-newspage .exhibition-newslistbottom {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-item {
  overflow: hidden;
  cursor: pointer;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-image {
  width: 100%;
  /* height:31.25rem; */
  overflow: hidden;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.exhibition-newspage
  .exhibition-newslistbottom
  .newslist-item:hover
  .newslist-image
  img {
  transform: scale(1.05);
}
.exhibition-newspage .exhibition-more {
  display: flex;
  justify-content: center;
  margin-top: 24px;
  cursor: pointer;
  color: #333333;
  font-size: 1.2rem;
}
.exhibition-newspage .exhibition-newslistbottom .newslist-content {
  padding: 1.25rem 0 0;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-title {
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 0.5rem;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-date {
  font-size: 1rem;
  color: #333333;
  margin-bottom: 1rem;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-more {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #333333;
  font-weight: bold;
  transition: color 0.3s ease;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-more::after {
  content: ">";
  margin-left: 0.375rem;
  font-size: 0.7rem;
}

.exhibition-newspage .exhibition-newslistbottom .newslist-more:hover {
  color: #666666;
}

/* 联系我们 */
.contactus-formpage {
  padding: 3.75rem 0;
  background-color: #f9f9f9;
}

.contactus-formpage .contactus-form {
  max-width: 1000px;
  margin: 0 auto;
  background-color: #ffffff;
  padding: 2.5rem;
}

.contactus-form-title {
  font-size: 1.625rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 2rem;
}

.contactus-form-fields {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 2rem;
  row-gap: 1.5rem;
}

.form-field {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-field label {
  font-size: 0.875rem;
  color: #333333;
}

.form-field label .required {
  color: #e60012;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  height: 48px;
  padding: 0 1rem;
  border: 1px solid #e0e0e0;
  background-color: #ffffff;
  font-size: 0.875rem;
  color: #333333;
  outline: none;
  transition: border-color 0.3s ease;
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: #333333;
}

.form-field select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23333333' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
}

.form-field textarea {
  height: 100%;
  min-height: 120px;
  padding: 1rem;
  resize: vertical;
}

.form-field-message {
  grid-row: span 2;
}

.form-field-full {
  grid-column: 1 / -1;
}

.phone-input {
  display: flex;
  gap: 0.5rem;
}

.phone-input .phone-country {
  width: 110px;
  flex-shrink: 0;
}

.phone-input input {
  flex: 1;
}

.form-checkbox {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.75rem;
  color: #666666;
  line-height: 1.5;
  cursor: pointer;
}

.form-checkbox input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.checkbox-custom {
  width: 18px;
  height: 18px;
  border: 1px solid #cccccc;
  background-color: #ffffff;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  transition: all 0.3s ease;
}

.form-checkbox input:checked + .checkbox-custom {
  background-color: #333333;
  border-color: #333333;
}

.checkbox-custom::after {
  content: "";
  width: 5px;
  height: 9px;
  border: solid #ffffff;
  border-width: 0 1.5px 1.5px 0;
  transform: rotate(45deg);
  margin-top: -2px;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.form-checkbox input:checked + .checkbox-custom::after {
  opacity: 1;
}

.checkbox-text a {
  color: #333333;
  text-decoration: underline;
}

.form-submit {
  grid-column: 1 / -1;
  display: flex;
  justify-content: center;
  padding-top: 0.5rem;
}

.form-submit button {
  min-width: 140px;
  padding: 0.875rem 2rem;
  background-color: #333333;
  color: #ffffff;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.form-submit button:hover {
  background-color: #555555;
}

.question-page {
  padding: 3.75rem 2.5rem;
}

.question-page .question-topbox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 3.125rem;
}

.question-page .question-topbox .tag {
  font-weight: 400;
  font-size: 0.75rem;
  color: #b7a98e;
}

.question-page .question-topbox .title {
  font-weight: 400;
  font-size: 2.875rem;
  color: #333333;
}

.question-page .question-topbox .content {
  font-weight: 400;
  font-size: 1rem;
  color: #333333;
}

.question-page .question-list {
  max-width: 1000px;
  margin: 0 auto;
}

.question-page .question-item {
  border-bottom: 1px solid #e0e0e0;
}

.question-page .question-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.5rem 0;
  cursor: pointer;
}

.question-page .question-title {
  font-weight: 400;
  font-size: 1rem;
  color: #333333;
  padding-right: 1rem;
}

.question-page .question-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  color: #333333;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.question-page .question-item.active .question-icon {
  transform: rotate(180deg);
}

.question-page .question-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.question-page .question-item.active .question-body {
  max-height: 500px;
}
.question-page .question-item.active .question-header {
  border-bottom: 1px solid #e0e0e0;
}
.question-page .question-answer {
  padding-bottom: 1.5rem;
  font-size: 0.875rem;
  color: #666666;
  white-space: pre-line;
  line-height: 1.8;
}

.question-page .question-answer p:not(:last-child) {
  margin-bottom: 0.75rem;
}

/* 快速定位菜单栏 */
.fast-header {
  position: relative;
  height: 66px;
  background-color: #fff;
  border-bottom: 1px solid #eae8e4;
  border-top: 1px solid #eae8e4;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 8;
}

.fast-header-progress {
  position: absolute;
  bottom: -1px;
  left: 0;
  height: 2px;
  background: #000;
  width: 0%;
  z-index: 9;
  transition: width 0.4s ease-out;
}

.fast-header-inner {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.fast-header .title {
  font-weight: bold;
  font-size: 1rem;
  color: #333333;
}

.fast-header .menu-box {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1rem;
  color: #333333;
}

.fast-header .menu-box .menu-item {
  cursor: pointer;
  color: #3a3935;
  font-weight: 700;
}

/* 移动端汉堡按钮：PC 端隐藏，小屏才显示 */
.fast-header-toggle {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 20px;
  height: 14px;
  flex-shrink: 0;
  cursor: pointer;
  margin-left: 1rem;
}

.fast-header-toggle span {
  display: block;
  width: 100%;
  height: 2px;
  background: #3a3935;
  border-radius: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease;
}

/* 展开态：上/下两根合成叉号，中间一根淡出 */
.fast-header-toggle.is-open span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.fast-header-toggle.is-open span:nth-child(2) {
  opacity: 0;
}

.fast-header-toggle.is-open span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.fast-header .filter-menu {
  display: flex;
}

.fast-header .filter-menu .filter-item {
  padding: 0 1rem;
  font-weight: 400;
  font-size: 0.75rem;
  color: #333333;
  cursor: pointer;
  height: 66px;
  display: flex;
  align-items: center;
  gap: 1rem;
}

.fast-header .filter-menu .filter-item img {
  height: 14px;
}

.fast-header .filter-menu .filter-item:first-child {
  border-right: 1px solid #eae8e4;
  border-left: 1px solid #eae8e4;
}

.fast-header .filter-more {
  width: 12.5rem;
  height: 2.5rem;
  background: #252324;
  font-weight: bold;
  font-size: 0.75rem;
  color: #ffffff;
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
}

.fast-header.fast-header--fixed {
  position: fixed;
  left: 0;
  width: 100%;
  transition: top 0.6s ease;
}

/* 移动端 fast-header：标题独占一行 + 汉堡按钮，菜单收进横向滚动弹层 */
@media (max-width: 980px) {
  /* 高度改为自适应，避免固定 66px 被多行内容撑爆 */
  .fast-header {
    height: auto;
    min-height: 56px;
    padding: 0.75rem 0;
  }

  /* 允许换行：菜单展开时才能落到标题下面一行 */
  .fast-header-inner {
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
  }

  /* 标题：左侧独占空间，最多两行，超出省略 */
  .fast-header .title {
    flex: 1;
    min-width: 0;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
  }

  /* 汉堡按钮在小屏显示 */
  .fast-header-toggle {
    display: flex;
  }

  /* 菜单弹层：默认收起；展开时占据整行，横向可滚动 */
  .fast-header .menu-box {
    display: none;
    width: 100%;
    gap: 1.25rem;
    font-size: 0.875rem;
  }

  .fast-header .menu-box.is-open {
    display: flex;
    /* 整行铺满：flex-basis 100% + nowrap 换行，让它落到标题下面一行 */
    width: 100%;
    flex-basis: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    /* 隐藏滚动条（Firefox / IE / Webkit） */
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-top: 0.75rem;
    padding-bottom: 0.25rem;
  }

  .fast-header .menu-box.is-open::-webkit-scrollbar {
    display: none;
  }

  .fast-header .menu-box .menu-item {
    flex: 0 0 auto;
    white-space: nowrap;
    padding: 0.25rem 0;
  }
}

.fast-zixunitem {
  background: #f4f4f4;
}

.fast-zixunitem:nth-child(2n) {
  background: #ffffff;
}

.fast-zixunitem:nth-child(2n) .desc-topimgs {
  flex-direction: row-reverse;
}

.product-series {
  font-weight: 400;
  font-size: 2.875rem;
  padding: 2.5rem 0;
  color: #333333;
}

.product-seriestotal {
  font-weight: 400;
  font-size: 12px;
  color: #333333;
  height: 66px;
  display: flex;
  align-items: center;
}

.product-serieslist {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  padding-bottom: 3.75rem;
}
.product-serieslist-more {
  display: flex;
  justify-content: center;
  margin-top: 24px;
  margin-bottom: 40px;
  cursor: pointer;
  color: #333333;
  font-size: 1.2rem;
}
.serieslist-item--large {
  grid-column: span 2;
}

.serieslist-item {
  position: relative;
}

.serieslist-item a {
  display: block;
}

.serieslist-image {
  width: 100%;
  overflow: hidden;
  margin-bottom: 1rem;
}

.serieslist-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.serieslist-item:hover .serieslist-image img {
  transform: scale(1.05);
}
.serieslist-pricebox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.625rem;
}
.serieslist-pricebox .price-tagbox {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  color: #333333;
}
.serieslist-pricebox .price-tagbox .tag {
  background-color: #f0f0f0;
  border-radius: 5px;
  padding: 0.125rem 0.3125rem;
  color: #333333;
  font-size: 0.75rem;
}
.serieslist-wish {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 2;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: #333;
  cursor: pointer;
  padding: 0;
  transition: color 0.3s ease;
}

.serieslist-wish:hover {
  color: #e74c3c;
}

.serieslist-wish img {
  width: 1.125rem;
  height: 1.125rem;
}

.serieslist-content {
  padding: 0 0 1rem;
}

.serieslist-title {
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 0.5rem;
}

.serieslist-desc {
  font-size: 0.75rem;
  color: #b7a98e;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.serieslist-series {
  font-size: 0.75rem;
  color: #666666;
  margin-bottom: 0.75rem;
}

.serieslist-price {
  font-size: 1rem;
  color: #333333;
  text-align: left;
  margin-top: 0.5rem;
}

.serieslist-more {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #333333;
  transition: color 0.3s ease;
}

.serieslist-more::after {
  content: ">";
  margin-left: 0.375rem;
  font-size: 0.7rem;
}

.serieslist-more:hover {
  color: #666666;
}

.serieslist-item--large .serieslist-image {
  height: 37.5rem;
}

.product-serieslist .serieslist-image {
  height: 37.5rem;
}

@media (max-width: 1200px) {
  .serieslist-item--large {
    grid-column: span 2;
  }

  .serieslist-item--large .serieslist-image {
    height: 22rem;
  }
}

@media (max-width: 980px) {
  .product-serieslist {
    grid-template-columns: 1fr;
  }

  .serieslist-item--large {
    grid-column: span 1;
  }

  .serieslist-item--large .serieslist-image,
  .product-serieslist .serieslist-image {
    height: 18rem;
  }
}

/* 筛选面板样式 */
.main-filter-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 380px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 200;
  transform: translateX(-100%);
  transition: transform 0.4s ease;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.main-filter-panel.active {
  transform: translateX(0);
}

.filter-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #eae8e4;
  flex-shrink: 0;
}

.filter-panel-title {
  font-size: 1rem;
  font-weight: normal;
  color: #333333;
  margin: 0;
}

.filter-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.filter-panel-close:hover {
  color: #333;
}

.filter-panel-content {
  flex: 1;
  padding: 24px;
  overflow-y: auto;
  overflow-x: hidden;
}

.filter-panel-content::-webkit-scrollbar {
  width: 4px;
}

.filter-panel-content::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 2px;
}

.filter-section {
  margin-bottom: 24px;
}

.filter-section:last-child {
  margin-bottom: 0;
}

.filter-section-title {
  font-size: 0.875rem;
  font-weight: normal;
  color: #333;
  margin-bottom: 16px;
}

.filter-checkbox {
  align-items: center;
  margin-bottom: 12px;
  color: #333;
}

.filter-checkbox .checkbox-custom {
  margin-top: 0;
}

.filter-checkbox .checkbox-text {
  font-size: 0.875rem;
  color: #333;
}

.filter-info-icon {
  width: 14px;
  height: 14px;
  margin-left: 4px;
  vertical-align: middle;
  color: #999;
}

.filter-size-link {
  display: inline-flex;
  align-items: center;
  font-size: 0.75rem;
  color: #333;
  margin-top: 8px;
  transition: color 0.3s ease;
}

.filter-size-link:hover {
  color: #666;
}

.filter-panel-footer {
  padding: 16px 24px;
  border-top: 1px solid #eae8e4;
  flex-shrink: 0;
}

.filter-confirm-btn {
  width: 100%;
  padding: 14px 24px;
  background-color: #3a3a3a;
  color: #ffffff;
  border: none;
  font-size: 0.875rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.filter-confirm-btn:hover {
  background-color: #555555;
}

.main-filter-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(1px);
  z-index: 199;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s ease;
}

.main-filter-overlay.active {
  opacity: 1;
  visibility: visible;
}

.home-video {
  position: relative;
}

.home-video video {
  display: block;
  width: 100%;
  height: 60rem;
  object-fit: cover;
  position: relative;
  z-index: 0;
}

.home-video .video-content {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding-bottom: 5.625rem;
  gap: 0.5rem;
}

.home-video .video-content .tips {
  font-weight: 400;
  font-size: 0.75rem;
  color: #b7a98e;
}

.home-video .video-content .title {
  font-weight: 400;
  font-size: 2.875rem;
  color: #ffffff;
}

.home-video .video-content .btn {
  width: 100px;
  height: 51px;
  background: #323232;
  color: #ffffff;
  font-size: 0.75rem;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.home-video .video-play {
  position: absolute;
  top: 20px;
  right: 0;
  z-index: 2;
  cursor: pointer;
}

.home-video .video-play img {
  width: 24px;
  height: 24px;
}

.home-productlisttitle {
  padding: 3.75rem 0 2.5rem;
  padding-bottom: 0;
}

.home-productlisttitle .var-padding {
  text-align: center;
}

.productlisttitle-main {
  font-size: 1.625rem;
  color: #141414;
  font-weight: 400;
  margin-bottom: 0.625rem;
}

.productlisttitle-link {
  font-size: 0.75rem;
  color: #373633;
  text-decoration: none;
}

.productlisttitle-link:hover {
  color: #141414;
}

.home-productlist {
  padding: 2.5rem 0;
  overflow: hidden;
}

.home-productlist > .var-padding {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.productlist-swiper {
  overflow: hidden;
}

.productlist-swiper .swiper-slide {
  width: calc(24% - 1rem);
  margin-right: 1rem;
}
.product-detailbottom img {
  max-width: 100%;
}
.product-card {
  position: relative;
  height: 40rem;
  overflow: hidden;
  background: #141414;
}

.product-img {
  width: 100%;
  height: 100%;
}

.product-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.product-info {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.5rem;
  background: url(../images/home-productitembgc.png) no-repeat;
  background-size: 100% 100%;
}

.product-name {
  font-weight: 400;
  font-size: 1.25rem;
  color: #ffffff;
  margin-bottom: 0.25rem;
}

.product-tag {
  font-size: 1rem;
  color: #ffffff;
  font-weight: 400;
  margin-bottom: 0.25rem;
}

.product-links {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.product-links a {
  font-size: 0.75rem;
  color: #ffffff;
  text-decoration: none;
  transition: color 0.3s;
}

.product-links a:hover {
  color: #999999;
}

.um-fansbox {
  background-color: #f3f1ed;
  padding: 5rem 0;
  text-align: center;
}

.um-fansbox .fansbox-title {
  font-weight: 400;
  font-size: 2.125rem;
  color: #333333;
  margin-bottom: 0.75rem;
}

.um-fansbox .fansbox-subtitle {
  font-weight: 400;
  font-size: 0.875rem;
  color: #333333;
  margin-bottom: 2rem;
}

.um-fansbox .fansbox-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 0.875rem 2.5rem;
  background-color: #3a3a3a;
  color: #ffffff;
  font-size: 0.875rem;
  text-decoration: none;
  transition: background-color 0.3s ease;
}

.um-fansbox .fansbox-btn:hover {
  background-color: #555555;
}

.product-detailtop {
  display: flex;
  gap: 2rem;
}

.product-detailtop .detailtop-imgs {
  width: 66%;
}

.product-detailtop .detailtop-imgs .detailtop-swiper {
  width: 100%;
  margin-bottom: 1.5rem;
  min-height: 320px;
  overflow: hidden;
}

.product-detailtop .detailtop-imgs .mainimg {
  width: 100%;
  display: block;
  height: 800px;
  margin-bottom: 1rem;
}

.product-detailtop .detailtop-imgs .detailtop-swiper .swiper-pagination-bullet {
  background: #333333;
  opacity: 0.4;
}

.product-detailtop
  .detailtop-imgs
  .detailtop-swiper
  .swiper-pagination-bullet-active {
  background: #b7a98e;
  opacity: 1;
}

.product-detailtop .detailtop-imgs .detailtop-swiper .swiper-button-prev,
.product-detailtop .detailtop-imgs .detailtop-swiper .swiper-button-next {
  color: #333333;
}

.product-detailtop .detailtop-imgs .detailtop-swiper .swiper-button-prev::after,
.product-detailtop
  .detailtop-imgs
  .detailtop-swiper
  .swiper-button-next::after {
  font-size: 1.5rem;
}

.product-detailtop .detailtop-imgs .other-imgs {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 5rem;
}

.product-detailtop .detailtop-imgs .other-imgs .other-imgsitem {
  width: calc((100% - 1rem) / 2);
  flex: 0 0 calc((100% - 1rem) / 2);
}

.product-detailtop .detailtop-imgs .other-imgs .other-imgsitem img {
  width: 100%;
  height: 100%;
}

.product-detailtop .detailtop-info {
  flex: 1;
  padding: 2.5rem 0;
}

.detailtop-info-header {
  margin-bottom: 2rem;
}

.detailtop-info-title {
  font-size: 1.625rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 0.5rem;
  line-height: 1.2;
}

.detailtopprice-tagbox {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  color: #3a3935;
  margin-bottom: 0.625rem;
}
.detailtopprice-tagbox .tag {
  background-color: #f0f0f0;
  border-radius: 5px;
  padding: 0.125rem 0.3125rem;
  color: #3a3935;
  font-size: 0.75rem;
}
.detailtop-info-subtitle {
  font-weight: 400;
  font-size: 1.25rem;
  color: #3a3935;
  margin-bottom: 0.5rem;
  line-height: 1.4;
}

.detailtop-info-price {
  color: #3a3935;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.detailtop-info-price span {
  color: #3a3935;
  font-size: 1.25rem;
  margin-bottom: 0.5rem;
}

.detailtop-info-series {
  font-weight: 400;
  font-size: 0.875rem;
  color: #b7a98e;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.detailtop-info-sku {
  margin-top: 1rem;
  padding: 1rem 0;
  border-top: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

.detailtop-sku-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.detailtop-sku-keylabel {
  color: #3a3935;
  font-weight: 500;
}

.detailtop-sku-required {
  color: #e02e2e;
  margin-left: 0.25rem;
}

.detailtop-sku-options {
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
}

.detailtop-sku-option {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 1rem;
  border: 1px solid #d8d8d8;
  border-radius: 2px;
  color: #666666;
  cursor: pointer;
  user-select: none;
  transition: border-color 0.2s, color 0.2s;
}

.detailtop-sku-option input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.detailtop-sku-option:hover {
  border-color: #999999;
}

.detailtop-sku-option--active {
  border-color: #000000;
  background-color: #000000;
  color: #ffffff;
  font-weight: 500;
}

.detailtop-sku-error {
  color: #e02e2e;
  margin-top: 0.25rem;
}

.detailtop-info-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.detailtop-btn {
  width: 100%;
  height: 3.5rem;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  font-weight: bold;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.detailtop-btn-primary {
  background: #333333;
  color: #ffffff;
}

.detailtop-btn-primary:hover {
  background: #555555;
}

.detailtop-btn-secondary {
  background: #f5f5f5;
  color: #333333;
}

.detailtop-btn-secondary:hover {
  background: #e8e8e8;
}

.detailtop-info-accordion {
  border-top: 1px solid #e0e0e0;
  margin-bottom: 2rem;
}

.detailtop-accordion-item {
  border-bottom: 1px solid #e0e0e0;
}

.detailtop-accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 0;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 700;
  color: #3a3935;
  transition: color 0.3s ease;
  font-weight: 700;
}

.detailtop-accordion-header:hover {
  color: #666666;
}

.detailtop-accordion-icon {
  width: 16px;
  height: 16px;
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.detailtop-accordion-item.active .detailtop-accordion-icon {
  transform: rotate(180deg);
}

.detailtop-accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.detailtop-accordion-item.active .detailtop-accordion-body {
  max-height: 500px;
}

.detailtop-accordion-content {
  padding-bottom: 1.25rem;
  font-size: 0.75rem;
  color: #333333;
  line-height: 1.8;
  white-space: pre-line;
}

.detailtop-accordion-content p {
  margin-bottom: 0.5rem;
  color: #727975;
}

.detailtop-accordion-content p:last-child {
  margin-bottom: 0;
}

.detailtop-info-services {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  background: #f9f9f9;
  padding: 1.25rem;
  margin-bottom: 2rem;
}

.detailtop-service-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  color: #3a3935;
  border-bottom: 1px solid #e5e5e5;
  padding-bottom: 0.5rem;
  font-weight: 500;
  cursor: pointer;
}

.detailtop-service-item:last-child {
  border-bottom: none;
}

.detailtop-service-item > svg:first-child {
  width: 20px;
  height: 20px;
  color: #666666;
  flex-shrink: 0;
}

.detailtop-service-plus {
  width: 16px;
  height: 16px;
  margin-left: auto;
  color: #666666;
  flex-shrink: 0;
}

/* ---------- 服务条款全屏弹层 ---------- */
.service-popup {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service-popup-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
}

.service-popup-panel {
  position: relative;
  z-index: 1;
  width: 64rem;
  max-width: 90vw;
  max-height: 80vh;
  overflow-y: auto;
  background: #ffffff;
  padding: 2.5rem 2.5rem 3rem;
  box-sizing: border-box;
}

.service-popup-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #333333;
  cursor: pointer;
  transition: opacity 0.2s ease;
}

.service-popup-close:hover {
  opacity: 0.6;
}

.service-popup-title {
  font-weight: 400;
  font-size: 1.5rem;
  color: #141414;
  margin-bottom: 0.5rem;
}

.service-popup-content {
  color: #3a3935;
  line-height: 1.8;
  white-space: pre-line;
}

.service-popup-content p {
  margin-bottom: 0.5rem;
}

.service-popup-content p:last-child {
  margin-bottom: 0;
}

/* 弹层显隐过渡 */
.service-popup-enter-active,
.service-popup-leave-active {
  transition: opacity 0.25s ease;
}

.service-popup-enter-active .service-popup-panel,
.service-popup-leave-active .service-popup-panel {
  transition: transform 0.25s ease;
}

.service-popup-enter,
.service-popup-leave-active {
  opacity: 0;
}

.service-popup-enter .service-popup-panel,
.service-popup-leave-active .service-popup-panel {
  transform: translateY(12px);
}

@media (max-width: 980px) {
  .service-popup-panel {
    width: 92vw;
    max-height: 78vh;
    padding: 2rem 1.25rem 2.5rem;
  }

  .service-popup-title {
    font-size: 1.25rem;
  }
}

.detailtop-info-style .detailtop-style-header {
  font-weight: 400;
  font-size: 1rem;
  color: #333333;
  margin-bottom: 1rem;
}

.detailtop-info-style .detailtop-style-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
  border: 1px solid #e0e0e0;
  padding: 0.5rem 1rem;
  cursor: pointer;
}

.detailtop-style-item .styleitem-left {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.styleitem-left .styleitem-lefticon {
  width: 27px;
  height: 32px;
}

.styleitem-left .styleitem-lefticon img {
  width: 100%;
  height: 100%;
}

.styleitem-left .styleitem-leftcontent .styleitem-lefttitle {
  font-weight: 400;
  font-size: 0.875rem;
  color: #333333;
}

.styleitem-left .styleitem-leftcontent .styleitem-leftdesc {
  font-weight: 400;
  font-size: 0.75rem;
  color: #a4a4a4;
}

.detailtop-style-item .styleitem-right {
  width: 17px;
  height: 14px;
  display: flex;
  align-items: center;
}

.detailtop-style-item .styleitem-right img {
  width: 100%;
  height: 100%;
}

.detailbottom-newsbreakthrough {
  padding: 3rem 0;
  max-width: 1500px;
  margin: 0 auto;
}

.newsbreakthrough-label {
  font-weight: 400;
  font-size: 0.75rem;
  color: #b7a98e;
  margin-bottom: 1rem;
}

.newsbreakthrough-title {
  font-weight: 400;
  font-size: 2.25rem;
  color: #333333;
  line-height: 1.4;
  margin-bottom: 2rem;
}

.newsbreakthrough-features {
  margin-bottom: 3rem;
  font-size: 0.875rem;
  color: #666666;
  line-height: 1.8;
}

.newsbreakthrough-features p {
  margin-bottom: 1rem;
  color: #333333;
}

.newsbreakthrough-features ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.newsbreakthrough-features li {
  margin-bottom: 0.75rem;
  position: relative;
  padding-left: 1rem;
}

.newsbreakthrough-features li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  width: 4px;
  height: 4px;
  background: #333333;
  border-radius: 50%;
}

.newsbreakthrough-features li strong {
  color: #333333;
  font-weight: 500;
}

.newsbreakthrough-media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000000;
  overflow: hidden;
}

.newsbreakthrough-image {
  position: relative;
  width: 100%;
  height: 100%;
}

.newsbreakthrough-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.newsbreakthrough-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80px;
  height: 80px;
  border: 2px solid rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.3);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 0;
}

.newsbreakthrough-play:hover {
  background: rgba(0, 0, 0, 0.5);
  border-color: #ffffff;
}

.newsbreakthrough-play svg {
  width: 32px;
  height: 32px;
  margin-left: 4px;
}

.newsbreakthrough-vertical {
  position: absolute;
  right: 3rem;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  gap: 1.5rem;
  color: #ffffff;
  font-size: 1.25rem;
  letter-spacing: 0.3em;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.newsbreakthrough-vertical span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

@media (max-width: 980px) {
  .detailbottom-newsbreakthrough {
    padding: 2.5rem 1rem;
  }

  .newsbreakthrough-title {
    font-size: 1.5rem;
  }

  .newsbreakthrough-features {
    font-size: 0.8125rem;
  }

  .newsbreakthrough-media {
    aspect-ratio: 4 / 3;
  }

  .newsbreakthrough-play {
    width: 60px;
    height: 60px;
  }

  .newsbreakthrough-play svg {
    width: 24px;
    height: 24px;
  }

  .newsbreakthrough-vertical {
    right: 1.5rem;
    font-size: 1rem;
    gap: 1rem;
  }
}

.detailbottom-settings {
  display: flex;
  gap: 4rem;
  padding: 4rem 0;
  max-width: 1500px;
  margin: 0 auto;
  align-items: flex-start;
}

.settings-spec {
  flex: 0 0 320px;
}

.settings-label {
  font-size: 0.75rem;
  color: #b7a98e;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 1rem;
}

.settings-title {
  font-size: 2rem;
  font-weight: 400;
  color: #333333;
  margin-bottom: 2rem;
}

.settings-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.settings-item {
  display: flex;
  gap: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.6;
}

.settings-key {
  color: #333333;
  font-weight: 500;
  flex-shrink: 0;
}

.settings-value {
  color: #666666;
}

.settings-diagram {
  flex: 1;
  min-width: 0;
}

.settings-diagram img {
  width: 100%;
  height: auto;
  display: block;
}

.product-detailbuycard {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 10;
  background: #ffffff;
  border-top: 1px solid #e0e0e0;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.05);
  padding: 0.75rem 2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 9;
}

.detailbuycard-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.detailbuycard-thumb {
  width: 48px;
  height: 48px;
  border-radius: 4px;
  overflow: hidden;
  flex-shrink: 0;
}

.detailbuycard-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.detailbuycard-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.detailbuycard-title {
  font-size: 0.875rem;
  font-weight: 500;
  color: #333333;
  margin: 0;
}

.detailbuycard-subtitle {
  font-size: 0.75rem;
  color: #999999;
  margin: 0;
}

.detailbuycard-price {
  font-size: 0.875rem;
  color: #333333;
  margin: 0;
  font-weight: 500;
}

.detailbuycard-price span {
  color: #999999;
  font-weight: 400;
}

.detailbuycard-right {
  display: flex;
  align-items: center;
}

.detailbuycard-btn {
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease;
  padding: 0;
}

.detailbuycard-add {
  background: #333333;
  color: #ffffff;
  padding: 0 2rem;
  height: 44px;
  font-size: 0.875rem;
  gap: 0.5rem;
}

.detailbuycard-add:hover {
  background: #555555;
}

@media (max-width: 980px) {
  .product-detailbuycard {
    padding: 0.75rem 1rem;
  }

  .detailbuycard-subtitle {
    display: none;
  }

  .detailbuycard-add {
    padding: 0 1.25rem;
  }
}

body.has-buycard {
  padding-bottom: 76px;
}

/* 多级菜单面板 */
.header-menu-panel {
  position: fixed;
  top: 0;
  left: 0;
  width: 380px;
  height: 100vh;
  background-color: #ffffff;
  z-index: 200;
  transform: translateX(-100%);
  transition: transform 0.4s ease;
  box-shadow: 4px 0 20px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.header-menu-panel.active {
  transform: translateX(0);
}

.menu-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  padding-right: 1.25rem;
  border-bottom: 1px solid #eae8e4;
  flex-shrink: 0;
}

.menu-panel-title {
  font-size: 1rem;
  font-weight: normal;
  color: #333333;
  margin: 0;
}

.menu-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  color: #666;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.menu-panel-close:hover {
  color: #333;
}

.header-menu-panel .menu-panel-content {
  position: relative;
  flex: 1;
  overflow: hidden;
}

.menu-level {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  background: #ffffff;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.35s ease, visibility 0.35s ease;
}

.menu-level.active {
  transform: translateX(0);
  visibility: visible;
}

.menu-level.prev {
  transform: translateX(-30%);
  visibility: hidden;
}

.menu-list-nav {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-nav-item {
  border-bottom: 1px solid #f0f0f0;
}

.menu-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  color: #333333;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.menu-nav-link:hover {
  background-color: #f7f7f7;
  color: #000000;
}

.menu-nav-text {
  flex: 1;
}

.menu-nav-arrow {
  display: flex;
  align-items: center;
  color: #999999;
  flex-shrink: 0;
}

.menu-level-back {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  color: #333333;
  border-bottom: 1px solid #e0e0e0;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.menu-level-back:hover {
  background-color: #f7f7f7;
}

.menu-back-icon {
  display: flex;
  align-items: center;
  color: #333333;
}

.menu-product-link {
  justify-content: flex-start;
}

.menu-product-image {
  width: 56px;
  height: 56px;
  flex-shrink: 0;
  background-color: #f5f5f5;
  overflow: hidden;
}

.menu-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.menu-panel-extra {
  padding: 1.5rem;
  background-color: #fafafa;
}

.menu-extra-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.menu-extra-list a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.875rem;
  color: #666666;
  text-decoration: none;
  transition: color 0.3s ease;
}

.menu-extra-list a:hover {
  color: #000000;
}

.menu-extra-list img {
  width: 16px;
  height: 16px;
  object-fit: contain;
}

/* 移动端 */
@media (max-width: 980px) {
  .header-shop-panel {
    width: 100%;
  }
  .header-menu-panel {
    width: 100%;
  }
  .header-user-panel {
    width: 100%;
  }
  .header-pc {
    display: none !important;
  }

  .header-mobile {
    display: block !important;
  }

  html {
    font-size: 13px;
  }

  .header-mobile .header-mobile-top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 60px;
    border-bottom: 1px solid #e0e0e0;
  }

  .header-mobile .header-mobile-top .list-menu {
    display: flex;
    align-items: center;
    gap: 20px;
  }

  .header-mobile-top .list-menu .list-item {
    cursor: pointer;
    display: flex;
    align-items: center;
  }
  .header-mobile-top .list-menu .list-item img {
    height: 1.2rem;
  }

  .header-mobile-top .list-menu .list-item .cart-icon-wrap {
    display: inline-flex;
  }

  .header-mobile .header-mobile-bottom {
    display: flex;
    align-items: center;
    height: 50px;
  }

  .header-mobile .header-mobile-bottom .search-input {
    width: 100%;
    height: 40px;
    padding: 0 12px 0 36px;
    border: none;
    background-color: #f5f5f5;
    font-size: 0.875rem;
    color: #333;
    outline: none;
    background-image: url("../images/header-icon08.png");
    background-repeat: no-repeat;
    background-position: 12px center;
    background-size: 16px 16px;
  }

  .home-video video {
    width: 100%;
    height: auto;
  }

  .productlist-swiper .swiper-slide {
    width: calc(45% - 1rem);
    height: auto;
  }

  .product-card {
    height: auto;
  }

  .home-video .video-content {
    padding-bottom: 2rem;
  }

  .home-video .video-content .title {
    font-size: 1.5rem;
  }

  .home-video .video-content .btn {
    width: 70px;
    height: 30px;
  }

  .home-manual .manual-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .faq-manual .manual-list {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  .home-manual .manual-list .manual-image {
    height: auto !important;
  }

  .faq-manual .manual-list .manual-image {
    height: auto !important;
  }
  .footer .footer-topcard {
    flex-wrap: wrap;
  }

  .footer-bottomcard {
    flex-wrap: wrap;
  }

  .footer-bottomcard .bottomcard-col {
    flex: none;
    width: 44%;
  }

  .contactus-form-fields {
    grid-template-columns: repeat(1, 1fr);
  }

  .contact-manual .manual-image {
    height: auto !important;
  }

  .repair-method {
    padding: 1rem;
  }

  .maintenance-manual .manual-list .manual-image {
    height: auto !important;
  }
  .question-page {
    padding: 1rem;
  }
  .product-detailtop {
    flex-direction: column;
  }
  .product-detailtop .detailtop-imgs {
    width: 100% !important;
  }
  .product-detailtop .detailtop-imgs .other-imgs {
    margin-bottom: 0;
  }
  .workshop-desc {
    padding: 5rem 1rem;
  }
  .detailbottom-settings {
    flex-direction: column;
    padding: 1rem;
  }
  .desc-topimgs .right {
    width: 26%;
  }
  .common-banner .banner-info .banner-title {
    font-size: 2rem !important;
  }
  .desc-bottomimgs {
    flex-direction: column;
  }
  .desc-bottomimgs .right {
    width: 100% !important;
  }
  .desc-bottomimgs .left {
    width: 100% !important;
  }
  .exhibition-newspage .exhibition-newslisttop {
    grid-template-columns: repeat(2, 1fr);
  }
  .workshop-desc .desc-video {
    width: 100%;
    height: auto;
  }
  .product-detailtop .detailtop-imgs .mainimg {
    height: auto;
  }
  .productinfo-components .productinfo-imgrow .productinfo-imgrow-image {
    max-width: 100% !important;
  }
}

@media (min-width: 980px) {
  .header-pc {
    display: block !important;
  }

  .header-mobile {
    display: none !important;
  }

  .home-manual .manual-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .faq-manual .manual-list {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

/* 注册页 */
.signup-page {
  background: #fafafa;
  min-height: calc(100vh - 120px);
}

.signup-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: calc(100vh - 120px);
  max-width: 1500px;
  margin: 0 auto;
  padding-top: 180px;
  padding-bottom: 60px;
}

.signup-form {
  padding: 4rem 3rem 4rem 4rem;
  background: #ffffff;
}

.form-title h2 {
  font-size: 1.75rem;
  font-weight: 400;
  color: #333333;
  margin: 0 0 2.5rem;
  letter-spacing: 0.05em;
}

.form-main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.form-item {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-label {
  font-size: 0.75rem;
  color: #666666;
  letter-spacing: 0.05em;
}

.form-label .required {
  color: #333333;
}

.form-input {
  position: relative;
}

.form-input input,
.form-input select {
  width: 100%;
  height: 48px;
  padding: 0 1rem;
  border: 1px solid #e8e8e8;
  border-radius: 2px;
  background: #f7f7f7;
  font-size: 0.875rem;
  color: #333333;
  outline: none;
  transition: border-color 0.3s ease, background 0.3s ease;
  box-sizing: border-box;
}

.form-input input:focus,
.form-input select:focus {
  border-color: #b7a98e;
  background: #ffffff;
}

.form-input select {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  cursor: pointer;
}

/* Element UI 日期选择器整合样式 */
.signup-form .el-date-editor.el-input,
.signup-form .el-date-editor.el-input__inner,
.personal-form .el-date-editor.el-input,
.personal-form .el-date-editor.el-input__inner {
  width: 100%;
}

.signup-form .el-input__inner,
.signup-form .el-date-editor.el-input--prefix .el-input__inner,
.signup-form .el-date-editor.el-input--suffix .el-input__inner,
.personal-form .el-input__inner,
.personal-form .el-date-editor.el-input--prefix .el-input__inner,
.personal-form .el-date-editor.el-input--suffix .el-input__inner {
  height: 48px;
  line-height: 48px;
  padding: 0 1rem !important;
  border: 1px solid #e8e8e8;
  border-radius: 2px;
  background: #f7f7f7;
  font-size: 0.875rem;
  color: #333333;
}

.signup-form .el-input__inner:focus,
.signup-form .el-date-editor.is-active .el-input__inner,
.personal-form .el-input__inner:focus,
.personal-form .el-date-editor.is-active .el-input__inner {
  border-color: #b7a98e;
  background: #ffffff;
}

.signup-form .el-input__prefix,
.signup-form .el-input__suffix,
.personal-form .el-input__prefix,
.personal-form .el-input__suffix {
  display: none;
}

.signup-form .el-date-editor .el-input__icon,
.personal-form .el-date-editor .el-input__icon {
  line-height: 48px;
}

.personal-form {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.personal-form .form-submit {
  margin-top: 0.5rem;
}

.password-input input {
  padding-right: 2.75rem;
}

.captcha-input input {
  padding-right: 7.5rem;
}

.captcha-img {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  height: 38px;
  width: auto;
  max-width: 100px;
  border-radius: 2px;
  cursor: pointer;
  object-fit: contain;
  background: #ffffff;
  z-index: 2;
}

.captcha-loading {
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.75rem;
  color: #999999;
  cursor: pointer;
  z-index: 2;
}

.eye-icon {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  color: #666666;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.3s ease;
  z-index: 2;
}

.eye-icon:hover {
  color: #333333;
}

.eye-icon svg {
  width: 100%;
  height: 100%;
}

.form-agreement {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 0.5rem;
}

.checkbox-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  cursor: pointer;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #666666;
}

.checkbox-item input[type="checkbox"] {
  width: 16px;
  height: 16px;
  min-width: 16px;
  margin-top: 2px;
  accent-color: #333333;
  cursor: pointer;
}

.checkbox-text a {
  color: #333333;
  text-decoration: underline;
}

.agreement-hint {
  font-size: 0.75rem;
  line-height: 1.5;
  color: #999999;
  margin: -0.5rem 0 0 1.75rem;
}

.agreement-hint a {
  color: #333333;
  text-decoration: underline;
}

.agreement-hint.age-hint {
  font-size: 0.6875rem;
  color: #999999;
}

.form-submit {
  margin-top: 0.5rem;
}

.submit-btn {
  min-width: 160px;
  height: 48px;
  padding: 0 2rem;
  border: none;
  background: #333333;
  color: #ffffff;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: background 0.3s ease;
}

.submit-btn:hover {
  background: #555555;
}

.form-footer-text {
  font-size: 0.75rem;
  line-height: 1.6;
  color: #999999;
  margin: 0;
}

.form-footer-text a {
  color: #333333;
  text-decoration: underline;
}

.signup-image {
  position: relative;
  overflow: hidden;
  min-height: 100%;
}

.signup-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (max-width: 1024px) {
  .signup-form {
    padding: 3rem 2rem;
  }
}

@media (max-width: 980px) {
  .signup-content {
    grid-template-columns: 1fr;
  }

  .signup-image {
    display: none;
  }

  .signup-form {
    padding: 2rem 1rem;
  }

  .form-title h2 {
    font-size: 1.5rem;
    margin-bottom: 2rem;
  }
}

/* 个人中心页 */
.personal-page {
  background: #f5f5f5;
  min-height: calc(100vh - 120px);
  padding: 4rem 0;
}

.personal-content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.personal-title h2 {
  font-size: 1.75rem;
  font-weight: 400;
  color: #333333;
  margin: 0 0 2.5rem;
  letter-spacing: 0.05em;
}

.personal-body {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 2rem;
  align-items: flex-start;
}

.personal-sidebar {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  padding: 1.5rem;
}

.personal-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.personal-menu-item {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 0;
  border-bottom: 1px solid #f0f0f0;
  font-size: 0.875rem;
  color: #666666;
  cursor: pointer;
  transition: color 0.3s ease;
}

.personal-menu-item:last-of-type {
  border-bottom: none;
}

.personal-menu-item:hover,
.personal-menu-item.active {
  color: #b7a98e;
}

.personal-menu-item svg,
.personal-menu-item .menu-icon {
  flex-shrink: 0;
}

.personal-menu-item .menu-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.personal-logout-btn {
  width: 100%;
  height: 48px;
  margin-top: 1.5rem;
  border: none;
  background: #333333;
  color: #ffffff;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: background 0.3s ease;
}

.personal-logout-btn:hover {
  background: #555555;
}

.personal-main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.personal-card {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  padding: 1.5rem;
}

/* .personal-main .personal-card + .personal-card {
  margin-top: 1.5rem;
} */

.personal-card-title {
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
  margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #f0f0f0;
}

.personal-card-subtitle {
  margin-top: 2.5rem !important;
}

.personal-card-empty,
.personal-card-text {
  font-size: 0.875rem;
  color: #999999;
  line-height: 1.6;
  margin: 0;
  margin-bottom: 1.25rem;
}

/* 地址簿 */
.address-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.address-item {
  background: #f7f7f7;
  padding: 1.25rem;
}

.address-item.default {
  border: 1px solid #333333;
}

.address-header {
  padding-bottom: 0.75rem;
  margin-bottom: 0.75rem;
  border-bottom: 1px solid #e0e0e0;
}

.address-tag {
  font-size: 0.9375rem;
  color: #333333;
}

.address-name {
  font-weight: 500;
}

.address-default-tag {
  color: #999999;
  font-size: 0.8125rem;
  margin-left: 0.25rem;
}

.address-body {
  font-size: 0.875rem;
  color: #333333;
  line-height: 1.6;
}

.address-body p {
  margin: 0;
}

.address-phone,
.address-post {
  color: #666666;
  font-size: 0.8125rem;
}

.address-footer {
  display: flex;
  justify-content: flex-end;
  gap: 1.25rem;
  margin-top: 1rem;
  padding-top: 0.75rem;
  border-top: 1px solid #e0e0e0;
}

.address-action {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.8125rem;
  color: #333333;
  cursor: pointer;
  transition: color 0.3s ease;
}

.address-action:hover {
  color: #666666;
}

.address-action .action-icon {
  display: inline-flex;
}

.address-add .submit-btn {
  min-width: 160px;
}

/* 订单列表 */
.order-list {
  display: flex;
  flex-direction: column;
}

.order-item {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #f0f0f0;
}

/* .order-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
} */

.order-header {
  margin-bottom: 1rem;
}

.order-no {
  font-size: 1.25rem;
  font-weight: 500;
  color: #333333;
}

.order-info {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.order-info-label {
  font-size: 0.8125rem;
  color: #666666;
  margin-bottom: 0.25rem;
}

.order-info-value {
  font-size: 0.9375rem;
  color: #333333;
}

/* 订单状态颜色 */
.order-status {
  font-weight: 500;
}

.order-status--pay {
  color: #e6a23c;
}

.order-status--ship {
  color: #409eff;
}

.order-status--deliver {
  color: #8a6de9;
}

.order-status--done {
  color: #67c23a;
}

.order-status--closed {
  color: #909399;
}

.order-status--after-pending {
  color: #f56c00;
}

.order-status--after-return {
  color: #e6a23c;
}

.order-status--after-done {
  color: #67c23a;
}

.order-status--after-refused {
  color: #e02e2e;
}

.order-total {
  font-weight: 500;
}

/* 订单物流信息 */
.order-delivery {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  background: #f7f7f6;
  border-left: 2px solid #b7a98e;
  border-radius: 0 6px 6px 0;
  padding: 0.625rem 0.875rem;
  margin-bottom: 1.25rem;
  font-size: 0.8125rem;
  color: #3a3935;
}

.order-delivery-icon {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  display: block;
  color: #8a6d3b;
}

.order-delivery-company {
  font-weight: 600;
  color: #222222;
}

.order-delivery-sn {
  color: #888888;
  padding-left: 0.625rem;
  border-left: 1px solid #e0e0e0;
}

.order-delivery-time {
  margin-left: auto;
  color: #999999;
  font-size: 0.75rem;
  flex-shrink: 0;
}

.order-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.order-products {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.order-product {
  width: 120px;
  height: 120px;
  background: #f5f5f5;
  overflow: hidden;
}

.order-product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.order-view-btn {
  min-width: 140px;
  height: 44px;
  padding: 0 1.5rem;
  background: #f0f0f0;
  border: none;
  font-size: 0.875rem;
  color: #333333;
  cursor: pointer;
  transition: background 0.3s ease;
}

.order-view-btn:hover {
  background: #e0e0e0;
}

.order-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: flex-end;
  margin-top: 1rem;
}

.order-action-btn {
  min-width: 96px;
  height: 40px;
  padding: 0 1.25rem;
  border: 1px solid #d9d9d9;
  background: #ffffff;
  font-size: 0.875rem;
  color: #333333;
  cursor: pointer;
  transition: all 0.3s ease;
}

.order-action-btn:hover {
  border-color: #999999;
  color: #000000;
}

.order-pay-btn {
  background: #d4af37;
  border-color: #d4af37;
  color: #ffffff;
}

.order-pay-btn:hover {
  background: #c19b2e;
  border-color: #c19b2e;
  color: #ffffff;
}

.order-cancel-btn {
  color: #666666;
}

.order-delete-btn {
  color: #c0392b;
  border-color: #e6b0aa;
}

.order-delete-btn:hover {
  color: #ffffff;
  background: #c0392b;
  border-color: #c0392b;
}

.after-sale-upload {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.after-sale-upload-item {
  position: relative;
  width: 88px;
  height: 88px;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  overflow: hidden;
}

.after-sale-upload-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.after-sale-upload-remove {
  position: absolute;
  top: 2px;
  right: 2px;
  width: 20px;
  height: 20px;
  line-height: 18px;
  text-align: center;
  background: rgba(0, 0, 0, 0.5);
  color: #ffffff;
  border-radius: 50%;
  cursor: pointer;
  font-size: 0.875rem;
}

.after-sale-upload-trigger {
  width: 88px;
  height: 88px;
  border: 1px dashed #c0c0c0;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  color: #999999;
  cursor: pointer;
  transition: all 0.3s ease;
}

.after-sale-upload-trigger:hover {
  border-color: #2e9b4e;
  color: #2e9b4e;
}

@media (max-width: 768px) {
  .order-info {
    grid-template-columns: repeat(2, 1fr);
  }

  .order-body {
    flex-direction: column;
  }

  .order-view-btn {
    width: 100%;
  }

  .order-actions {
    flex-direction: column;
  }

  .order-action-btn {
    width: 100%;
  }
}

/* 地址弹窗 */
.address-dialog {
  max-height: 85vh;
  display: flex;
  flex-direction: column;
  margin-top: 5vh !important;
  width: 520px !important;
}

.address-dialog .el-dialog__header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #f0f0f0;
  flex-shrink: 0;
}

.address-dialog .el-dialog__title {
  font-size: 1rem;
  font-weight: 400;
  color: #333333;
}

.address-dialog .el-dialog__body {
  padding: 1.5rem;
  overflow-y: auto;
  max-height: calc(85vh - 130px);
}

.address-dialog .el-dialog__headerbtn {
  top: 1.25rem;
  right: 1.25rem;
  font-size: 1.25rem;
}

.address-dialog-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.address-dialog-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.address-dialog-form .form-item {
  margin: 0;
}

.address-dialog-form .form-label {
  display: block;
  font-size: 0.8125rem;
  color: #666666;
  margin-bottom: 0.5rem;
}

.address-dialog-form .form-input select,
.address-dialog-form .form-input input {
  width: 100%;
  height: 44px;
  padding: 0 0.75rem;
  border: none;
  background: #f7f7f7;
  font-size: 0.875rem;
  color: #333333;
  outline: none;
}

.address-dialog-form .form-item-inline {
  display: flex;
  align-items: center;
}

.address-dialog-form .checkbox-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: #333333;
  cursor: pointer;
}

.address-dialog-form .checkbox-label input[type="checkbox"] {
  width: auto;
  height: auto;
  margin: 0;
  cursor: pointer;
}

.address-dialog-footer {
  text-align: center;
  padding: 0;
}

.address-dialog-footer .submit-btn {
  min-width: 160px;
}

/* 移动端弹窗适配 */
@media (max-width: 640px) {
  .address-dialog {
    width: 92vw !important;
    max-height: 90vh;
    margin-top: 5vh !important;
  }

  .address-dialog .el-dialog__header {
    padding: 1rem 1.25rem;
  }

  .address-dialog .el-dialog__body {
    padding: 1.25rem 1rem;
    max-height: calc(90vh - 120px);
  }

  .address-dialog-form {
    gap: 0.875rem;
  }

  .address-dialog-form .form-row {
    grid-template-columns: 1fr;
    gap: 0.875rem;
  }

  .address-dialog-form .form-input select,
  .address-dialog-form .form-input input {
    height: 46px;
    font-size: 1rem;
  }

  .address-dialog-footer .submit-btn {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 980px) {
  .personal-body {
    grid-template-columns: 1fr;
  }

  .personal-page {
    padding: 2rem 0;
  }
}

/* ===== 心愿单列表（个人中心） ===== */
.wishlist-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.wishlist-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid #eee;
  border-radius: 8px;
}
.wishlist-item-img {
  width: 72px;
  height: 72px;
  flex-shrink: 0;
  cursor: pointer;
  overflow: hidden;
  border-radius: 6px;
}
.wishlist-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wishlist-item-info {
  flex: 1;
  min-width: 0;
  cursor: pointer;
}
.wishlist-item-name {
  font-size: 15px;
  color: #333;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wishlist-item-desc {
  font-size: 12px;
  color: #b7a98e;
  margin-bottom: 4px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wishlist-item-series {
  font-size: 12px;
  color: #999;
  margin-bottom: 6px;
}
.wishlist-item-price {
  font-size: 14px;
  color: #333;
}
.wishlist-item-remove {
  flex-shrink: 0;
  padding: 6px 14px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #666;
  font-size: 13px;
  cursor: pointer;
}
.wishlist-item-remove:hover {
  border-color: #e74c3c;
  color: #e74c3c;
}
