.profile-address-page.profile-page .profile-address-field-extra:not(.is-expanded) .profile-address-field-head label,
.profile-address-page.profile-page .profile-address-field-extra:not(.is-expanded) > input {
  display: none;
}

/* 个人中心地址簿start：保留多地址与弹窗结构，展示沿用静态项目的直角和平面样式。 */
.profile-address-page .profile-address-panel {
  min-height: 6rem;
}

.profile-address-page .profile-address-heading,
.profile-address-page .profile-address-card-head,
.profile-address-page .profile-address-card-actions,
.profile-address-page .profile-address-form-actions,
.profile-address-page .profile-address-modal-head {
  display: flex;
  align-items: center;
}

.profile-address-page .profile-address-heading,
.profile-address-page .profile-address-card-head,
.profile-address-page .profile-address-modal-head {
  justify-content: space-between;
}

.profile-address-page .profile-address-heading {
  gap: 0.3rem;
}

.profile-address-page .profile-address-create {
  width: auto;
  min-width: 1.78rem;
  height: 0.5rem;
  padding: 0 0.24rem;
  border: 0;
  border-radius: 0;
  background: #fdd000;
  color: #020e23;
  cursor: pointer;
}

.profile-address-page .profile-address-create .default____btn__txt {
  font-size: 0.16rem;
  line-height: 0.22rem;
}

.profile-address-page .profile-address-book-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.24rem;
  margin-top: 0.4rem;
}

.profile-address-page .profile-address-book-grid[hidden],
.profile-address-page .profile-address-empty[hidden] {
  display: none;
}

.profile-address-page .profile-address-card {
  display: flex;
  min-width: 0;
  min-height: 2.7rem;
  padding: 0.28rem;
  border: 0.01rem solid #dedede;
  border-radius: 0;
  box-sizing: border-box;
  flex-direction: column;
  background: #ffffff;
  transition: border-color 0.2s ease;
}

.profile-address-page .profile-address-card:hover,
.profile-address-page .profile-address-card.is-default {
  border-color: #f2c300;
}

.profile-address-page .profile-address-card-head {
  align-items: flex-start;
  gap: 0.16rem;
}

.profile-address-page .profile-address-card-name {
  min-width: 0;
  margin: 0;
  color: #020e23;
  font-size: 0.22rem;
  font-family: var(--sk-font-Bold);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.profile-address-page .profile-address-default-badge {
  flex: 0 0 auto;
  padding: 0.04rem 0.1rem;
  border-radius: 0;
  background: #fdd000;
  color: #333333;
  font-size: 0.12rem;
  font-family: var(--sk-font-Medium);
  line-height: 0.18rem;
}

.profile-address-page .profile-address-card-company,
.profile-address-page .profile-address-card-phone,
.profile-address-page .profile-address-card-location p {
  margin: 0;
  overflow-wrap: anywhere;
}

.profile-address-page .profile-address-card-company,
.profile-address-page .profile-address-card-phone {
  margin-top: 0.12rem;
  color: #555555;
  font-size: 0.15rem;
  line-height: 0.22rem;
}

.profile-address-page .profile-address-card-location {
  margin-top: 0.18rem;
  color: #333333;
  font-size: 0.16rem;
  line-height: 1.55;
}

.profile-address-page .profile-address-card-region span:not(:last-child)::after {
  content: ", ";
}

.profile-address-page .profile-address-card-actions {
  gap: 0.12rem;
  margin-top: auto;
  padding-top: 0.24rem;
}

.profile-address-page .profile-address-card-action,
.profile-address-page .profile-address-cancel,
.profile-address-page .profile-address-modal-close {
  min-height: 44px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.profile-address-page .profile-address-card-action {
  padding: 0 0.12rem;
  color: #020e23;
  font-size: 0.14rem;
  text-decoration: underline;
  text-underline-offset: 0.04rem;
}

.profile-address-page .profile-address-delete {
  color: #a32626;
}

.profile-address-page .profile-address-empty {
  margin-top: 0.32rem;
}

.profile-address-page .profile-address-modal[hidden] {
  display: none;
}

.profile-address-page .profile-address-modal {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem;
  box-sizing: border-box;
}

.profile-address-page .profile-address-modal-mask {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(2, 14, 35, 0.58);
  cursor: pointer;
}

.profile-address-page .profile-address-modal-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(16rem, calc(100vw - 0.8rem));
  max-height: calc(100dvh - 0.8rem);
  padding: 0.38rem 0.46rem 0.46rem;
  overflow: hidden;
  border-radius: 0;
  box-sizing: border-box;
  background: #ffffff;
}

.profile-address-page .profile-address-modal-head {
  position: relative;
  top: auto;
  z-index: 4;
  margin: 0;
  padding: 0 0 0.2rem;
  flex: 0 0 auto;
  border-bottom: 0.01rem solid #e5e5e5;
  background: #ffffff;
}

.profile-address-page .profile-address-modal-head h2 {
  margin: 0;
  color: #020e23;
  font-size: 0.28rem;
  font-family: var(--sk-font-Bold);
  line-height: 1.3;
}

.profile-address-page .profile-address-modal-close {
  width: 44px;
  padding: 0;
  color: #020e23;
  font-size: 0.36rem;
  line-height: 1;
}

.profile-address-page .profile-address-modal .profile-address-form {
  width: 100%;
  min-height: 0;
  margin-top: 0;
  padding: 0.28rem 0.12rem 0 0;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1 1 auto;
}

.profile-address-page .profile-address-modal .profile-address-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.32rem 0.34rem;
}

.profile-address-page .profile-address-modal .profile-address-field {
  width: 100%;
}
/* 个人中心地址簿end */

/* CMS 富文本可能保存空段落；展示时只保留有效段落的稳定间距。 */
.faq-page .faq-answer p,
.accessibility-page .accessibility-content p {
  margin: 0;
}

.faq-page .faq-answer p:empty,
.faq-page .faq-answer p:has(> br:only-child),
.accessibility-page .accessibility-content p:empty,
.accessibility-page .accessibility-content p:has(> br:only-child) {
  display: none;
}

.faq-page .faq-answer p + p {
  margin-top: 0.08rem;
}

.accessibility-page .accessibility-content p:first-child {
  margin-bottom: 0;
}

.accessibility-page .accessibility-content p + p {
  margin-top: 0.28rem;
}

@media screen and (max-width: 800px) {
  .faq-page .faq-answer p + p {
    margin-top: 0.06rem;
  }

  .accessibility-page .accessibility-content p:first-child {
    margin-bottom: 0;
  }

  .accessibility-page .accessibility-content p + p {
    margin-top: 0.24rem;
  }
}

/* 首页户外照明配件区块：同步 dist 五槽布局 */
.index-page .outdoor-lighting-accessories-section .card-wrap {
  display: flex;
  gap: 0.2rem;
  height: 9.2rem;
  margin: 0.56rem 0 0;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}

.index-page .outdoor-lighting-accessories-section .card-wrap::-webkit-scrollbar {
  display: none;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list {
  display: flex;
  flex: 0 0 10.53rem;
  flex-direction: column;
  gap: 0.2rem;
  width: 10.53rem;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row {
  display: flex;
  gap: 0.2rem;
  width: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-top {
  height: 4.96rem;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-led {
  width: 6.53rem;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-led .card-con {
  justify-content: flex-start;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-led .card-con .icon {
  right: auto;
  left: 0.23rem;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-other {
  width: 3.8rem;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-other .card-con {
  justify-content: flex-start;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-bottom {
  height: 4.04rem;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-bottom .accessory-card-mounting {
  width: 5.16rem;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-card-list .accessory-card-row-bottom .accessory-card-cables {
  width: 5.17rem;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-featured-list {
  flex: 0 0 5.27rem;
  width: 5.27rem;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .accessory-featured-list .accessory-card-transformers {
  display: block;
  width: 100%;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box {
  position: relative;
  display: block;
  overflow: hidden;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box .accessory-card-picture {
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box .accessory-card-picture .bg-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 1.1s cubic-bezier(0.19, 1, 0.22, 1);
  will-change: transform;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box .accessory-card-picture .accessory-card-mobile-img {
  display: none;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box .card-con {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  padding: 0.3rem 0.24rem;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box .card-con .card-title {
  color: var(--fcolor-default);
  font-size: 0.3rem;
  font-family: var(--sk-font-SemiBold);
  line-height: 0.36rem;
}

.index-page .outdoor-lighting-accessories-section .card-wrap .card-box .card-con .icon {
  position: absolute;
  right: 0.23rem;
  bottom: 0.24rem;
  width: 0.44rem;
  height: 0.44rem;
  opacity: 0;
  transform: translate3d(0, 0.16rem, 0) scale(0.72);
  transform-origin: center center;
  transition: opacity 0.7s ease 0.08s, transform 1s cubic-bezier(0.19, 1, 0.22, 1) 0.08s;
  will-change: opacity, transform;
}

@media screen and (min-width: 800px) {
  .index-page .outdoor-lighting-accessories-section .card-wrap .card-box:hover .accessory-card-picture .bg-img {
    transform: scale(1.05);
  }

  .index-page .outdoor-lighting-accessories-section .card-wrap .card-box:hover .card-con .icon {
    opacity: 1;
    transform: translate3d(0, 0, 0) scale(1);
  }
}

@media screen and (max-width: 800px) {
  .index-page .outdoor-lighting-accessories-section {
    margin-top: 1.2rem;
    margin-bottom: 0.8rem;
  }

  .index-page .outdoor-lighting-accessories-section .wal {
    padding-right: 0.24rem;
    padding-left: 0.24rem;
  }

  .index-page .outdoor-lighting-accessories-section .wal .h2 {
    font-size: 0.4rem;
    font-family: var(--sk-font-Bold);
    line-height: 0.48rem;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap {
    flex-direction: column;
    gap: 0.1rem;
    width: 100%;
    height: auto;
    margin: 0.34rem 0 0;
    overflow: visible;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list {
    display: contents;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row {
    gap: 0.1rem;
    width: 100%;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-top {
    order: 1;
    height: auto;
    aspect-ratio: 345 / 163;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-led {
    flex: 642 1 0;
    width: auto;
    height: 100%;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-led .card-con,
  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-other .card-con {
    justify-content: flex-end;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-top .accessory-card-other {
    flex: 374 1 0;
    width: auto;
    height: 100%;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-bottom {
    order: 3;
    height: auto;
    aspect-ratio: 345 / 132;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-bottom .accessory-card-mounting {
    flex: 508 1 0;
    width: auto;
    height: 100%;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-card-list .accessory-card-row-bottom .accessory-card-cables {
    flex: 509 1 0;
    width: auto;
    height: 100%;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-featured-list {
    order: 2;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1035 / 1366;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .accessory-featured-list .accessory-card-transformers {
    width: 100%;
    height: 100%;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .card-box {
    margin: 0;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .card-box .accessory-card-picture .accessory-card-pc-img {
    display: none;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .card-box .accessory-card-picture .accessory-card-mobile-img {
    display: block;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .card-box .card-con {
    padding: 0.2rem 0.14rem;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .card-box .card-con .card-title {
    font-size: 0.22rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.26rem;
  }

  .index-page .outdoor-lighting-accessories-section .wal .card-wrap .card-box .card-con .icon {
    display: none;
  }
}

.profile-address-page .profile-address-modal #profile-address-country,
.profile-address-page .profile-address-modal #profile-address-state {
  width: 100%;
  max-width: 100%;
  height: 0.54rem;
  min-width: 0;
  padding: 0 0.23rem;
  border: 0.01rem solid #cccccc;
  border-radius: 0;
  box-sizing: border-box;
  background: #ffffff;
  color: #333333;
  font-size: 0.18rem;
  font-family: var(--sk-font-Medium);
  line-height: 0.24rem;
}

.profile-address-page .profile-address-modal #profile-address-country:focus,
.profile-address-page .profile-address-modal #profile-address-state:focus {
  border-color: #020e23;
  outline: 0.02rem solid rgba(253, 208, 0, 0.45);
  outline-offset: 0;
}

.profile-address-page .profile-address-form-actions {
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.16rem;
  margin-top: 0.44rem;
}

.profile-address-page .profile-address-default-control {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  margin-top: 0.28rem;
  color: #020e23;
  font-size: 0.16rem;
  line-height: 1.4;
  cursor: pointer;
}

.profile-address-page .profile-address-default-control input {
  position: absolute;
  width: 0.01rem;
  height: 0.01rem;
  overflow: hidden;
  opacity: 0;
}

.profile-address-page .profile-address-default-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.2rem;
  height: 0.2rem;
  flex: 0 0 0.2rem;
}

.profile-address-page .profile-address-default-check img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-address-page .profile-address-default-check img.profile-address-default-check-on {
  display: none;
}

.profile-address-page .profile-address-default-control input:checked + .profile-address-default-check .profile-address-default-check-off {
  display: none;
}

.profile-address-page .profile-address-default-control input:checked + .profile-address-default-check .profile-address-default-check-on {
  display: block;
}

.profile-address-page .profile-address-default-control input:focus-visible + .profile-address-default-check {
  outline: 0.02rem solid #333333;
  outline-offset: 0.03rem;
}

.profile-address-page .profile-address-cancel {
  border: 0.01rem solid #020e23;
  background: #ffffff;
  color: #020e23;
}

.profile-address-page .profile-address-form-actions .profile-address-cancel,
.profile-address-page .profile-address-form-actions .profile-address-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 2.4rem;
  width: 2.4rem;
  min-width: 0;
  height: 0.7rem;
  min-height: 0.7rem;
  margin: 0;
  padding: 0 0.24rem;
  box-sizing: border-box;
  font-size: 0.2rem;
  font-family: var(--sk-font-Bold);
}

.profile-address-page .profile-address-cancel .btn__content {
  display: flex;
  align-items: center;
  justify-content: center;
}

.profile-address-page .profile-address-cancel .default____btn__txt {
  margin: 0;
  color: #020e23;
  font-size: 0.2rem;
  font-family: var(--sk-font-Bold);
  line-height: 0.26rem;
}

.profile-address-page .profile-address-cancel:hover {
  background: #020e23;
}

.profile-address-page .profile-address-cancel:hover .default____btn__txt {
  color: #ffffff;
}

html.profile-address-modal-open,
body.profile-address-modal-open {
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  .profile-address-page .profile-address-panel {
    min-height: 4rem;
  }

  .profile-address-page .profile-address-heading {
    align-items: flex-start;
  }

  .profile-address-page .profile-address-create {
    min-width: 2.5rem;
    height: auto;
    min-height: 44px;
    padding: 0 0.24rem;
  }

  .profile-address-page .profile-address-create .default____btn__txt {
    font-size: 0.24rem;
    line-height: 0.32rem;
  }

  .profile-address-page .profile-address-book-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.24rem;
    margin-top: 0.36rem;
  }

  .profile-address-page .profile-address-card {
    min-height: 3.6rem;
    padding: 0.3rem;
    border-radius: 0;
  }

  .profile-address-page .profile-address-card-name {
    font-size: 0.3rem;
  }

  .profile-address-page .profile-address-default-badge {
    padding: 0.06rem 0.14rem;
    border-radius: 0;
    font-size: 0.2rem;
    line-height: 0.26rem;
  }

  .profile-address-page .profile-address-card-company,
  .profile-address-page .profile-address-card-phone,
  .profile-address-page .profile-address-card-location {
    font-size: 0.24rem;
    line-height: 1.55;
  }

  .profile-address-page .profile-address-card-actions {
    gap: 0.18rem;
    padding-top: 0.28rem;
  }

  .profile-address-page .profile-address-card-action {
    min-height: 44px;
    padding: 0 0.16rem;
    font-size: 0.22rem;
  }

  .profile-address-page .profile-address-modal {
    align-items: stretch;
    padding: 0;
  }

  .profile-address-page .profile-address-modal-panel {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    padding: 0;
    border: 0;
    border-radius: 0;
  }

  .profile-address-page .profile-address-modal-head {
    top: auto;
    margin: 0;
    min-height: 1.28rem;
    padding: 0.28rem 0.32rem 0.22rem;
    box-sizing: border-box;
  }

  .profile-address-page .profile-address-modal .profile-address-form {
    display: flex;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    flex-direction: column;
  }

  .profile-address-page .profile-address-form-scroll {
    display: flex;
    min-height: 0;
    padding: 0.36rem 0.24rem 0.7rem;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.36rem;
    overscroll-behavior: contain;
  }

  .profile-address-page .profile-address-modal .profile-address-field {
    margin-bottom: 0;
  }

  .profile-address-page .profile-address-modal #profile-address-country,
  .profile-address-page .profile-address-modal #profile-address-state {
    height: 1.08rem;
    min-height: 1.08rem;
    padding: 0 0.23rem;
    font-size: 0.18rem;
    line-height: 0.24rem;
  }

  .profile-address-page .profile-address-modal-head h2 {
    font-size: 0.36rem;
  }

  .profile-address-page .profile-address-modal .profile-address-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.36rem;
    margin-bottom: 0;
  }

  .profile-address-page .profile-address-form-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.2rem;
    margin-top: 0;
    padding: 0.24rem 0.24rem calc(0.24rem + env(safe-area-inset-bottom));
    border-top: 0.01rem solid #e5e5e5;
    box-sizing: border-box;
    flex: 0 0 auto;
    background: #ffffff;
    box-shadow: none;
  }

  .profile-address-page .profile-address-default-control {
    gap: 0.16rem;
    margin-top: 0;
    font-size: 0.24rem;
  }

  .profile-address-page .profile-address-default-check {
    width: 0.36rem;
    height: 0.36rem;
    flex-basis: 0.36rem;
  }

  .profile-address-page .profile-address-form-actions .profile-address-cancel,
  .profile-address-page .profile-address-form-actions .profile-address-submit {
    flex: none;
    width: 100%;
    height: 0.96rem;
    min-height: 0.96rem;
    margin: 0;
    font-size: 0.26rem;
  }

  .profile-address-page .profile-address-cancel .default____btn__txt {
    font-size: 0.26rem;
    line-height: 0.34rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-address-page .profile-address-card {
    transition: none;
  }

  .profile-address-page .profile-address-card:hover {
    transform: none;
  }
}

/* 认证与个人密码页：验证码倒计时、密码规则和显隐按钮。 */
.sign-up-page [data-registration-code-field][hidden] {
    display: none !important;
}

.sign-auth-page .sign-auth-field.is-invalid,
.sign-auth-page .sign-auth-field.is-invalid:hover,
.sign-auth-page .sign-auth-field.is-invalid:focus-within,
.sign-auth-page .sign-auth-field.is-password-mismatch,
.sign-auth-page .sign-auth-field.is-password-mismatch:hover,
.sign-auth-page .sign-auth-field.is-password-mismatch:focus-within {
    border-color: #d92d20;
    box-shadow: 0 0 0 0.01rem rgba(217, 45, 32, 0.18);
}

.sign-up-page .sign-auth-agree.is-invalid .sign-auth-check {
    border-color: #d92d20;
    box-shadow: 0 0 0 0.01rem rgba(217, 45, 32, 0.18);
}

.sign-auth-page .sign-auth-code-action.is-counting {
    min-width: 2.8em;
    text-align: right;
    text-decoration: none;
    pointer-events: none;
}

.sign-in-page .sign-auth-login-captcha[hidden] {
    display: none;
}

@media screen and (min-width: 801px) {
    .sign-in-page .sign-auth-page.has-login-captcha {
        height: 100vh;
        min-height: 100vh;
        overflow-x: hidden;
        overflow-y: auto;
    }

    .sign-in-page .sign-auth-page.has-login-captcha .sign-auth-bg {
        position: fixed;
    }

    .sign-in-page .sign-auth-page.has-login-captcha .sign-auth-main {
        padding-top: 0.3rem;
        padding-bottom: 0.3rem;
    }

    .sign-in-page .sign-auth-page.has-login-captcha .sign-auth-footer {
        position: relative;
        left: auto;
        bottom: auto;
        flex: 0 0 auto;
        margin: 0 auto 0.32rem;
        transform: none;
    }
}

.sign-in-page .sign-auth-login-captcha input {
    min-width: 0;
    padding-right: 0.08rem;
}

.sign-in-page .sign-auth-login-captcha-image {
    flex: 0 0 1.18rem;
    width: 1.18rem;
    height: 0.48rem;
    margin-right: 0.1rem;
    border: 0.01rem solid #e0e0e0;
    object-fit: contain;
    cursor: pointer;
    transition: opacity 0.2s ease;
}

.sign-in-page .sign-auth-login-captcha-image.is-loading {
    opacity: 0.45;
}

.sign-in-page .sign-auth-login-captcha-image:focus-visible {
    outline: 0.02rem solid #333333;
    outline-offset: 0.02rem;
}

.profile-password-page .profile-password-input-wrap {
    position: relative;
    flex: 0 0 7.4rem;
    width: 7.4rem;
}

.profile-password-page .profile-password-input-wrap input {
    width: 100%;
    padding-right: 0.64rem;
    box-sizing: border-box;
}

.profile-password-page .profile-password-toggle {
    position: absolute;
    top: 50%;
    right: 0.08rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    transform: translateY(-50%);
    cursor: pointer;
}

.profile-password-page .profile-password-toggle img {
    position: absolute;
    width: 0.24rem;
    height: 0.24rem;
    object-fit: contain;
    transition: opacity 0.2s ease;
}

.profile-password-page .profile-password-toggle .sign-auth-eye-on {
    opacity: 0;
}

.profile-password-page .profile-password-toggle.on .sign-auth-eye-off {
    opacity: 0;
}

.profile-password-page .profile-password-toggle.on .sign-auth-eye-on {
    opacity: 1;
}

@media screen and (max-width: 800px) {
    .sign-auth-page .sign-auth-code-action {
        flex-shrink: 0;
        max-width: 38%;
        white-space: nowrap;
    }

    .sign-in-page .sign-auth-login-captcha-image {
        flex-basis: 1.6rem;
        width: 1.6rem;
        height: 0.62rem;
        margin-right: 0.16rem;
    }

    .profile-password-page .profile-password-input-wrap {
        flex: 0 0 100%;
        width: 100%;
    }

    .profile-password-page .profile-password-toggle {
        right: 0.04rem;
    }

}

/* 全局搜索层推荐规格商品：桌面双图切换，移动端只保留主图。 */
.site-search-product-img .recommended-spec-primary,
.site-search-product-img .recommended-spec-secondary {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  mix-blend-mode: multiply;
  transition: opacity 0.25s ease;
}

.site-search-product-img .recommended-spec-primary {
  opacity: 1;
}

.site-search-product-img .recommended-spec-secondary {
  opacity: 0;
}

.site-search-product-card:hover .recommended-spec-primary {
  opacity: 0;
}

.site-search-product-card:hover .recommended-spec-secondary {
  opacity: 1;
}

.site-search-product-tag,
.site-header-mobile-search-product-tag {
  max-width: calc(100% - 0.3rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 800px) {
  .site-header-mobile-search-product-img .recommended-spec-primary {
    display: block;
    mix-blend-mode: multiply;
    opacity: 1;
  }

  .site-header-mobile-search-product-img .recommended-spec-secondary {
    display: none;
  }
}

/* 搜索结果页仅在提交有效关键词后显示动态内容。 */
.search-product-page .search-product-results-shell[hidden] {
  display: none;
}

.search-product-page .search-product-panel[hidden] {
  display: none;
}

/* 详情页入口上下文到达分页边界时，覆盖旧样式的 flex 显示。 */
.learn-details-page .learn-details-post-link[hidden] {
  display: none !important;
}

.search-product-page .search-product-search-btn {
  display: block;
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  cursor: pointer;
}

.search-product-page .search-product-hot-item,
.search-product-page .search-product-tab,
.search-product-page .search-product-check,
.search-product-page .search-product-screening,
.search-product-page .search-product-filter-toggle,
.search-product-page .pagination-item {
  border: 0;
  font: inherit;
}

.search-product-page .search-product-keyword-error {
  width: 8.6rem;
  margin: 0.08rem auto 0;
  color: #b42318;
  font-size: 0.14rem;
  line-height: 0.2rem;
}

/* 搜索结果 Tab：与学习中心分类导航保持一致。 */
.search-product-page .search-product-tabs {
  display: block;
  width: 100%;
  height: 0.36rem;
  margin: 0.53rem auto 0;
  padding: 0 0.9rem;
  box-sizing: border-box;
  border-bottom: 0.01rem solid #e6e6e6;
  overflow: visible;
  scrollbar-width: none;
}

.search-product-page .search-product-tabs-track {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: .81rem;
  width: 100%;
}

.search-product-page .search-product-tab {
  position: relative;
  flex: 0 0 auto;
  min-width: 0.86rem;
  height: 0.36rem;
  padding: 0;
  color: #999999;
  background: transparent;
  font-size: 0.2rem;
  font-family: var(--sk-font-Medium);
  line-height: 0.36rem;
  text-align: center;
  cursor: pointer;
  transition: color 0.25s ease;
}

.search-product-page .search-product-tab::after {
  left: 0;
  bottom: -0.01rem;
  width: 100%;
  height: 0.02rem;
  background-color: var(--sk-global-color);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.search-product-page .search-product-tab:hover,
.search-product-page .search-product-tab.active {
  color: #333333;
  font-family: var(--sk-font-Medium);
}

.search-product-page .search-product-tab.active::after {
  transform: scaleX(1);
}

/* 搜索商品筛选栏：复用商品列表的桌面比例和移动端入口。 */
.search-product-page .search-product-panel[data-search-panel="products"] .search-product-filters {
  width: 3.77rem;
  flex-shrink: 0;
}

.search-product-page .search-product-results.product-list-products {
  flex: 0 0 11.3rem;
  width: 11.3rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-filter-head {
  margin-bottom: 0.56rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-reset {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.72rem;
  height: 0.5rem;
  padding: 0;
  background: #ffffff;
  font-size: 0.16rem;
  line-height: 0.18rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-reset .default____btn__txt {
  font-size: 0.16rem;
  line-height: 0.18rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-filter-group {
  margin-top: 0.58rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-filter-group:first-child {
  margin-top: 0;
}

/* 搜索商品桌面筛选项：与商品列表保持相同的 rem 尺寸。 */
.search-product-page .search-product-panel[data-search-panel="products"] .search-product-filter-title {
  margin-bottom: 0.3rem;
  line-height: 0.3rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-check {
  min-height: 0.26rem;
  margin-bottom: 0.24rem;
  font-size: 0.18rem;
  font-family: var(--sk-font-Regular);
  line-height: 0.18rem;
}

.search-product-page .search-product-panel[data-search-panel="products"] .search-product-check .common-filter-box {
  width: 0.26rem;
  height: 0.26rem;
  margin-right: 0.15rem;
}

.search-product-page .search-product-learn-category-list .search-product-check {
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.18rem;
  font-family: var(--sk-font-Regular);
  line-height: 0.18rem;
  text-align: left;
  -webkit-appearance: none;
  appearance: none;
}

.search-product-page .search-product-learn-category-list .filter-text {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.06rem;
  min-width: 0;
  background: transparent;
}

.search-product-page .search-product-learn-category-list .filter-count {
  color: #999999;
  white-space: nowrap;
}

.search-product-page .search-product-product-list.catalog-loading {
  min-height: 4rem;
  opacity: 0.55;
  pointer-events: none;
}

.search-product-page .catalog-empty,
.search-product-page .catalog-error,
.search-product-page .search-product-learn-status {
  width: 100%;
  padding: 0.8rem 0.3rem;
  color: #666666;
  background: #ffffff;
  text-align: center;
  box-sizing: border-box;
}

.search-product-page .catalog-error,
.search-product-page .search-product-learn-status.is-error {
  color: #b42318;
}

.search-product-page .search-product-learn-status[hidden] {
  display: none;
}

.search-product-page .catalog-new-badge {
  position: absolute;
  top: 0.26rem;
  left: 0.21rem;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 0.3rem;
  padding: 0 0.1rem;
  background-color: var(--sk-global-color);
  font-size: 0.16rem;
  font-family: var(--sk-font-Medium);
}

.search-product-page .catalog-color-option {
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background: #ffffff;
  border: 2px solid transparent;
  border-radius: 50%;
}

.search-product-page .catalog-color-option img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.search-product-page .catalog-color-option.active {
  border-color: #e7bc00;
  box-shadow: 0 0 0 2px #ffffff, 0 0 0 3px #06152d;
}

.search-product-page .catalog-add-cart {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.search-product-page .search-product-card.active .search-product-detail-dropdown {
  height: auto;
  overflow: visible;
}

@media screen and (max-width: 800px) {
  .search-product-page .search-product-search {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 0.84rem;
    background: #f5f5f5;
  }

  .search-product-page .search-product-search .search-product-input {
    flex: 1 1 auto;
    min-width: 0;
    height: 100%;
    padding: 0 0.2rem 0 0.68rem;
  }

  .search-product-page .search-product-input-icon {
    position: absolute;
    left: 0.26rem;
    top: 50%;
    z-index: 1;
    width: 0.3rem;
    height: 0.3rem;
    transform: translateY(-50%);
    pointer-events: none;
  }

  .search-product-page .search-product-input-icon img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .search-product-page .search-product-search-btn,
  .search-product-page .search-product-search-btn:hover {
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 1.88rem;
    width: 1.88rem;
    height: 100%;
    padding: 0;
    border: 0;
    background: #fdd000;
    color: #ffffff;
    font-size: 0.26rem;
    line-height: 0.34rem;
    transform: none;
    pointer-events: auto;
  }

  .search-product-page .search-product-hot-item {
    flex: 0 0 calc((100% - 0.4rem) / 2);
  }

  .search-product-page .search-product-keyword-error {
    width: 100%;
    margin-top: 0.12rem;
    padding: 0 0.3rem;
    font-size: 0.22rem;
    line-height: 0.3rem;
    box-sizing: border-box;
  }

  .search-product-page .search-product-tabs {
    width: 100%;
    height: 0.72rem;
    margin: 0.42rem 0 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    background: transparent;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .search-product-page .search-product-tabs-track {
    justify-content: flex-start;
    width: max-content;
    gap: 0.55rem;
  }

  .search-product-page .search-product-tabs::-webkit-scrollbar {
    display: none;
  }

  .search-product-page .search-product-tab {
    flex: 0 0 auto;
    min-width: 1rem;
    height: 0.36rem;
    font-size: 0.28rem;
    line-height: 0.42rem;
  }

  .search-product-page .search-product-tab.active::after {
    width: 0.9rem;
    bottom: -96%;
  }

  /* Search 移动端筛选统一跟随实时公共页头高度，兼容优惠条动态收起。 */
  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-filters {
    position: sticky;
    top: var(--site-header-mobile-height, 2.36rem);
    z-index: 6;
    justify-content: space-between;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .search-product-page .search-product-filter-toggle {
    position: relative;
    gap: 0.1rem;
    font-size: 0.24rem;
    line-height: 0.32rem;
  }

  .search-product-page .search-product-filter-toggle::before {
    content: none;
  }

  .search-product-page .search-product-filter-toggle::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0.84rem;
    z-index: 5;
    width: 0;
    height: 0;
    margin: 0;
    border: 0;
    border-left: 0.13rem solid transparent;
    border-right: 0.13rem solid transparent;
    border-bottom: 0.15rem solid #ffffff;
    visibility: hidden;
    opacity: 0;
    transform: translateX(-50%);
  }

  .search-product-page .product-list-filter-toggle-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 0.48rem;
    height: 0.48rem;
  }

  .search-product-page .product-list-filter-toggle-icon img,
  .search-product-page .product-list-filter-toggle-arrow img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0);
  }

  .search-product-page .product-list-filter-toggle-text {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
  }

  .search-product-page .product-list-filter-toggle-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 0.1rem;
    height: 0.16rem;
  }

  .search-product-page .search-product-results.product-list-products {
    flex: none;
    width: 100%;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-filters.on.mode-screening {
    position: fixed;
    top: var(--site-header-mobile-height, 2.36rem);
    left: 0;
    z-index: 112;
    width: 100vw;
    margin-left: 0;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-filters.drawer-ready.mode-screening .search-product-filter-head {
    position: fixed;
    top: calc(var(--site-header-mobile-height, 2.36rem) + 1.2rem);
    left: 0;
    z-index: 111;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100vw;
    height: 1.3rem;
    margin: 0;
    padding: 0.18rem 0.6rem 0;
    box-sizing: border-box;
    background: #f5f5f5;
    visibility: hidden;
    pointer-events: none;
    clip-path: inset(0 0 0 100%);
    transition: clip-path 0.4s ease, visibility 0s linear 0.4s;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-filters.drawer-ready.mode-screening .search-product-filter-panel {
    top: calc(var(--site-header-mobile-height, 2.36rem) + 2.5rem);
    height: calc(100dvh - var(--site-header-mobile-height, 2.36rem) - 2.5rem);
  }

  /* 800px 同时命中公共 PC/移动断点时，保留筛选抽屉的明确关闭入口。 */
  .search-product-page .search-product-filter-close.phone-show {
    display: flex !important;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-filters.on.mode-screening .search-product-filter-head {
    visibility: visible;
    pointer-events: auto;
    clip-path: inset(0 0 0 0);
    transition: clip-path 0.4s ease, visibility 0s linear 0s;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-page-title {
    flex-shrink: 0;
    font-size: 0.48rem;
    line-height: 0.48rem;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-filter-title {
    margin-bottom: 0.32rem;
    font-size: 0.32rem;
    line-height: 0.44rem;
  }


  .search-product-page .search-product-main {
    background-color: #ffffff;
  }

  .search-product-page .search-product-screening {
    background-color: #F5F5F5;
  }




  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-check {
    min-height: 0.44rem;
    margin-bottom: 0.28rem;
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.34rem;
  }

  .search-product-page .search-product-learn-category-list .search-product-check {
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.34rem;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-check .common-filter-box {
    width: 0.52rem;
    height: 0.52rem;
    margin-right: 0.36rem;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-reset {
    width: auto;
    min-width: 2.97rem;
    max-width: 2.97rem;
    height: 0.94rem;
    margin-left: 0.2rem;
    padding: 0 0.22rem;
    background: transparent;
  }

  .search-product-page .search-product-panel[data-search-panel="products"] .search-product-reset .default____btn__txt {
    font-size: 0.24rem;
    line-height: 0.3rem;
    white-space: nowrap;
  }

  .search-product-page .search-product-learn-filters {
    justify-content: flex-end;
  }

  .search-product-page .catalog-new-badge {
    top: 0.22rem;
    left: 0.26rem;
    height: 0.28rem;
    padding: 0 0.08rem;
    font-size: 0.22rem;
    line-height: 0.23rem;
  }
}

/* Products 导航：分类悬浮后再展示推荐商品和分类场景。 */
.site-header-products[data-header-category-panel] {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.site-header-products[data-header-category-panel].active {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.site-header-panel-content {
  display: flex;
  align-items: flex-start;
  width: 100%;
  justify-content: space-between;
}

.site-header-panel-columns {
  display: flex;
  align-items: flex-start;
  flex: 1 1 auto;
  min-width: 0;
}

.site-header-panel-uses {
  min-width: 0;
}

.site-header-panel-scene {
  position: relative;
  background: #f2f4f7;
}

.site-header-panel-scene-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  object-fit: cover;
  transition: opacity 0.45s ease, transform 0.9s ease;
}

.site-header-panel-scene-slide.active {
  opacity: 1;
}

.site-header-product-img {
  position: relative;
  background: transparent;
}

.site-header-product-tag {
  position: absolute;
  top: 0.12rem;
  left: 0.12rem;
  z-index: 2;
  display: block;
  max-width: calc(100% - 0.24rem);
  height: 0.24rem;
  padding: 0 0.09rem;
  overflow: hidden;
  box-sizing: border-box;
  background-color: var(--sk-global-color);
  color: #333333;
  font-family: var(--sk-font-Medium);
  font-size: 0.12rem;
  line-height: 0.24rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media screen and (max-width: 800px) {
  .site-header-products[data-header-category-panel] {
    display: none !important;
  }
}

.forum-page .forum-empty,
.forum-detail-page .forum-empty {
  margin: 0;
  padding: 28px 20px;
  color: #777777;
  text-align: center;
}

.forum-page .forum-empty[hidden] {
  display: none;
}

.forum-page [data-forum-profile][hidden] {
  display: none;
}

.forum-page .forum-category-detail-text {
  white-space: pre-line;
}

/* New Post modal visual refresh. */
.forum-page .forum-detail-post-panel,
.forum-detail-page .forum-detail-post-panel {
  width: min(12.28rem, calc(100vw - 0.64rem));
  max-width: 12.28rem;
  max-height: calc(100dvh - 0.64rem);
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  box-sizing: border-box;
}

.forum-page .forum-detail-post-header,
.forum-detail-page .forum-detail-post-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 0.9rem;
  padding: 0.24rem 0.54rem;
  border-bottom: 1px solid #e2e8f0;
  background: #ffffff;
  box-sizing: border-box;
}

.forum-page .forum-detail-post-header .forum-detail-post-title,
.forum-detail-page .forum-detail-post-header .forum-detail-post-title {
  margin: 0;
  color: #1e293b;
  font-family: var(--sk-font-SemiBold);
  font-size: 0.4rem;
  font-weight: 700;
  line-height: 1.2;
}

.forum-page .forum-detail-post-close,
.forum-detail-page .forum-detail-post-close {
  position: relative;
  display: inline-flex;
  flex: 0 0 0.42rem;
  align-items: center;
  justify-content: center;
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  color: #64748b;
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.forum-page .forum-detail-post-close:hover,
.forum-detail-page .forum-detail-post-close:hover {
  color: #0f172a;
  background: #f1f5f9;
  transform: rotate(4deg);
}

.forum-page .forum-detail-post-close span::before,
.forum-page .forum-detail-post-close span::after,
.forum-detail-page .forum-detail-post-close span::before,
.forum-detail-page .forum-detail-post-close span::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.18rem;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  content: "";
}

.forum-page .forum-detail-post-close span::before,
.forum-detail-page .forum-detail-post-close span::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.forum-page .forum-detail-post-close span::after,
.forum-detail-page .forum-detail-post-close span::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.forum-page .forum-detail-post-body,
.forum-detail-page .forum-detail-post-body {
  display: flex;
  flex-direction: column;
  gap: 0.24rem;
  padding: 0.3rem 0.54rem 0;
}

/* 论坛发帖必填字段仅覆盖新增样式，保留 main.css 中的既有弹窗布局。 */
.forum-page .forum-detail-post-title-field,
.forum-detail-page .forum-detail-post-title-field,
.forum-page .forum-detail-post-category-field,
.forum-detail-page .forum-detail-post-category-field {
  display: flex;
  flex-direction: column;
  gap: 0.08rem;
  color: #333333;
  font-size: 0.16rem;
}

.forum-page .forum-detail-post-title-field,
.forum-detail-page .forum-detail-post-title-field {
  margin: 0;
}

.forum-page .forum-detail-post-category-field,
.forum-detail-page .forum-detail-post-category-field {
  margin: 0;
}

.forum-page .forum-detail-post-title-field em,
.forum-page .forum-detail-post-category-field em,
.forum-detail-page .forum-detail-post-title-field em,
.forum-detail-page .forum-detail-post-category-field em {
  color: #e1251b;
  font-style: normal;
}

.forum-page .forum-detail-post-title-field .forum-detail-post-input,
.forum-detail-page .forum-detail-post-title-field .forum-detail-post-input {
  width: 100%;
  height: 0.54rem;
  margin: 0;
  padding: 0 0.16rem;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #ffffff;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.forum-page .forum-detail-post-category,
.forum-detail-page .forum-detail-post-category {
  width: 100%;
  height: 0.54rem;
  padding: 0 0.16rem;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #ffffff;
  color: #222222;
  font: inherit;
}

.forum-page .forum-detail-post-category:focus,
.forum-detail-page .forum-detail-post-category:focus {
  border-color: var(--sk-global-color);
  box-shadow: 0 0 0 3px rgba(251, 201, 0, 0.16);
  outline: none;
}

.forum-page .forum-detail-post-input:focus,
.forum-detail-page .forum-detail-post-input:focus,
.forum-page .forum-detail-post-input.forum-field-invalid,
.forum-detail-page .forum-detail-post-input.forum-field-invalid,
.forum-page .forum-detail-post-category.forum-field-invalid,
.forum-detail-page .forum-detail-post-category.forum-field-invalid {
  border-color: var(--sk-global-color);
  box-shadow: 0 0 0 3px rgba(251, 201, 0, 0.16);
  outline: none;
}

.forum-page .forum-detail-post-vditor,
.forum-detail-page .forum-detail-post-vditor {
  min-height: 3.1rem;
  margin: 0;
  overflow: hidden;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.forum-page .forum-detail-post-vditor .vditor,
.forum-detail-page .forum-detail-post-vditor .vditor {
  min-height: 3.1rem;
  border: 0;
  border-radius: inherit;
}

.forum-page .forum-detail-post-vditor .vditor-toolbar,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar {
  gap: 0.03rem;
  padding: 0.06rem 0.1rem;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
}

.forum-page .forum-detail-post-vditor .vditor-toolbar__item button,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item button {
  border-radius: 4px;
  transition: background-color 0.18s ease, color 0.18s ease;
}

.forum-page .forum-detail-post-vditor .vditor-toolbar__item button:hover,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item button:hover {
  color: #0f172a;
  background: #e9eef5;
}

.forum-page .forum-detail-post-bottom,
.forum-detail-page .forum-detail-post-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.24rem;
  margin: 0;
  padding: 0.28rem 0.54rem 0.42rem;
  border-top: 1px solid #eef2f7;
  background: #ffffff;
  box-sizing: border-box;
}

.forum-page .forum-detail-post-code,
.forum-detail-page .forum-detail-post-code {
  width: 3.84rem;
  margin: 0;
}

.forum-page .forum-detail-post-code input,
.forum-detail-page .forum-detail-post-code input {
  width: 100%;
  height: 0.54rem;
  padding: 0 1.34rem 0 0.18rem;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.forum-page .forum-detail-post-code input:focus,
.forum-detail-page .forum-detail-post-code input:focus {
  border-color: var(--sk-global-color);
  box-shadow: 0 0 0 3px rgba(251, 201, 0, 0.16);
  outline: none;
}

.forum-page .forum-detail-post-btn,
.forum-detail-page .forum-detail-post-btn {
  min-width: 1.95rem;
  height: 0.54rem;
  margin: 0;
  overflow: hidden;
  border-radius: 6px;
  background: var(--sk-global-color);
  box-shadow: 0 5px 12px rgba(185, 143, 0, 0.2);
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.forum-page .forum-detail-post-btn:hover,
.forum-detail-page .forum-detail-post-btn:hover {
  background: #e7b900;
  box-shadow: 0 7px 16px rgba(185, 143, 0, 0.26);
  transform: translateY(-1px);
}

.forum-page .forum-detail-post-btn .btn__content,
.forum-detail-page .forum-detail-post-btn .btn__content {
  height: 100%;
  border-radius: inherit;
}

/* New Post floating fields and captcha correction. */
.forum-page .forum-detail-post-title-field,
.forum-detail-page .forum-detail-post-title-field,
.forum-page .forum-detail-post-category-field,
.forum-detail-page .forum-detail-post-category-field,
.forum-page .forum-detail-post-content-field,
.forum-detail-page .forum-detail-post-content-field {
  position: relative;
  gap: 0;
  padding-top: 0.08rem;
}

.forum-page .forum-detail-post-title-label,
.forum-detail-page .forum-detail-post-title-label,
.forum-page .forum-detail-post-category-field > span,
.forum-detail-page .forum-detail-post-category-field > span,
.forum-page .forum-detail-post-content-label,
.forum-detail-page .forum-detail-post-content-label {
  position: absolute;
  top: 0.08rem;
  left: 0.14rem;
  z-index: 2;
  padding: 0 0.06rem;
  color: #64748b;
  font-size: 0.12rem;
  font-family: var(--sk-font-Medium);
  line-height: 0.16rem;
  letter-spacing: 0.02em;
  background: #ffffff;
  transform: translateY(-50%);
  pointer-events: none;
}

.forum-page .forum-detail-post-title-field em,
.forum-page .forum-detail-post-category-field em,
.forum-page .forum-detail-post-content-field em,
.forum-detail-page .forum-detail-post-title-field em,
.forum-detail-page .forum-detail-post-category-field em,
.forum-detail-page .forum-detail-post-content-field em {
  margin-right: 0.02rem;
  color: #d97706;
}

.forum-page .forum-detail-post-content-field.forum-field-invalid .forum-detail-post-vditor,
.forum-detail-page .forum-detail-post-content-field.forum-field-invalid .forum-detail-post-vditor,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor.forum-field-invalid {
  border-color: var(--sk-global-color);
  box-shadow: 0 0 0 3px rgba(251, 201, 0, 0.16);
}

.forum-page .forum-detail-post-title-field .forum-detail-post-input,
.forum-detail-page .forum-detail-post-title-field .forum-detail-post-input,
.forum-page .forum-detail-post-category,
.forum-detail-page .forum-detail-post-category {
  height: 0.56rem;
  padding-right: 0.18rem;
  padding-left: 0.18rem;
  color: #1e293b;
}

.forum-page .forum-detail-post-code,
.forum-detail-page .forum-detail-post-code {
  position: relative;
  display: block;
  flex: 0 0 3.84rem;
  width: 3.84rem;
  height: 0.54rem;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}

.forum-page .forum-detail-post-code::before,
.forum-detail-page .forum-detail-post-code::before {
  position: absolute;
  top: 50%;
  left: 0.16rem;
  z-index: 2;
  margin: 0;
  color: #d97706;
  line-height: 1;
  transform: translateY(-50%);
  pointer-events: none;
}

.forum-page .forum-detail-post-code input,
.forum-detail-page .forum-detail-post-code input {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 1.42rem 0 0.38rem;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #ffffff;
}

.forum-page .forum-detail-post-code .common-contact-code-img,
.forum-detail-page .forum-detail-post-code .common-contact-code-img {
  position: absolute;
  top: 50%;
  right: 0.08rem;
  bottom: auto;
  z-index: 2;
  width: 1.14rem;
  height: 0.36rem;
  object-fit: contain;
  background: #ffffff;
  transform: translateY(-50%);
}

/* Forum 与 Contractor 共用的图形验证码外观和刷新状态。 */
.forum-page .forum-detail-post-code [data-refresh-captcha],
.forum-detail-page .forum-detail-post-code [data-refresh-captcha],
.forum-detail-page .forum-detail-reply-editor .forum-detail-code [data-refresh-captcha],
.contractor-page .common-contact-code [data-refresh-captcha] {
  position: absolute;
  top: 50%;
  right: 0.08rem;
  bottom: auto;
  width: 1.14rem;
  height: 0.36rem;
  border: 1px solid #e2e8f0;
  border-radius: 4px;
  box-sizing: border-box;
  background: #ffffff;
  object-fit: contain;
  cursor: pointer;
  transform: translateY(-50%);
  transition: border-color 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

/* Contractor 的四位验证码在桌面端保持紧凑宽度。 */


/* 隐私政策链接与复选框标签分离，链接跳转时不切换勾选状态。 */
.contractor-page .common-contact-consent {
  cursor: default;
}

.about-page .common-contact-consent-control,
.contractor-page .common-contact-consent-control {
  display: inline-flex;
  flex-shrink: 0;
  cursor: pointer;
}

.about-page .common-contact-consent-link,
.contractor-page .common-contact-consent-link {
  color: inherit;
  text-decoration: underline;
  cursor: pointer;
}

.forum-page .forum-detail-post-code [data-refresh-captcha]:hover,
.forum-detail-page .forum-detail-post-code [data-refresh-captcha]:hover,
.forum-detail-page .forum-detail-reply-editor .forum-detail-code [data-refresh-captcha]:hover,
.about-page .common-contact-code [data-refresh-captcha]:hover,
.contractor-page .common-contact-code [data-refresh-captcha]:hover {
  border-color: #94a3b8;
}

.forum-page .forum-detail-post-code [data-refresh-captcha]:focus-visible,
.forum-detail-page .forum-detail-post-code [data-refresh-captcha]:focus-visible,
.forum-detail-page .forum-detail-reply-editor .forum-detail-code [data-refresh-captcha]:focus-visible,
.about-page .common-contact-code [data-refresh-captcha]:focus-visible,
.contractor-page .common-contact-code [data-refresh-captcha]:focus-visible {
  outline: 2px solid #f2c94c;
  outline-offset: 2px;
  box-shadow: 0 0 0 3px rgba(242, 201, 76, 0.18);
}

.forum-page .forum-detail-post-code [data-refresh-captcha].is-loading,
.forum-detail-page .forum-detail-post-code [data-refresh-captcha].is-loading,
.forum-detail-page .forum-detail-reply-editor .forum-detail-code [data-refresh-captcha].is-loading,
.about-page .common-contact-code [data-refresh-captcha].is-loading,
.contractor-page .common-contact-code [data-refresh-captcha].is-loading {
  opacity: 0.55;
  pointer-events: none;
}

/* Forum desktop New Post modal start */
@media (min-width: 801px) {
  .forum-page .forum-detail-post-panel,
  .forum-detail-page .forum-detail-post-panel {
    width: 12.3rem;
    max-width: calc(100vw - 0.8rem);
    min-height: 7.38rem;
    max-height: calc(100vh - 0.8rem);
    padding: 0.56rem 0.54rem 0.88rem;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .forum-page .forum-detail-post-header,
  .forum-detail-page .forum-detail-post-header {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .forum-page .forum-detail-post-header .forum-detail-post-title,
  .forum-detail-page .forum-detail-post-header .forum-detail-post-title {
    margin: 0;
    color: #333333;
    font-family: var(--sk-font-SemiBold);
    font-size: 0.48rem;
    font-weight: normal;
    line-height: 0.56rem;
  }

  .forum-page .forum-detail-post-close,
  .forum-detail-page .forum-detail-post-close {
    position: absolute;
    top: 0.07rem;
    right: 0;
    width: 0.42rem;
    height: 0.42rem;
    border-radius: 0;
    color: #333333;
  }

  .forum-page .forum-detail-post-close:hover,
  .forum-detail-page .forum-detail-post-close:hover {
    color: #333333;
    background: transparent;
    transform: none;
  }

  .forum-page .forum-detail-post-body,
  .forum-detail-page .forum-detail-post-body {
    display: block;
    padding: 0;
  }

  .forum-page .forum-detail-post-title-field,
  .forum-detail-page .forum-detail-post-title-field,
  .forum-page .forum-detail-post-category-field,
  .forum-detail-page .forum-detail-post-category-field,
  .forum-page .forum-detail-post-content-field,
  .forum-detail-page .forum-detail-post-content-field {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
  }

  .forum-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-detail-page .forum-detail-post-title-field .forum-detail-post-input {
    width: 6.28rem;
    height: 0.54rem;
    margin-top: 0.28rem;
    padding: 0 0.16rem;
    border: 0.01rem solid #e6e6e6;
    border-radius: 0;
    color: #333333;
    font-family: var(--sk-font-Medium);
    font-size: 0.18rem;
    line-height: 0.24rem;
    box-shadow: none;
  }

  .forum-page .forum-detail-post-vditor,
  .forum-detail-page .forum-detail-post-vditor {
    min-height: 3.44rem;
    margin-top: 0.26rem;
    overflow: visible;
    border: 0.01rem solid #e6e6e6;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .forum-page .forum-detail-post-vditor .vditor,
  .forum-detail-page .forum-detail-post-vditor .vditor {
    min-height: 3.44rem;
    border: 0;
    border-radius: 0;
  }

  .forum-page .forum-detail-post-vditor .vditor-toolbar,
  .forum-detail-page .forum-detail-post-vditor .vditor-toolbar {
    gap: 0 0.02rem;
    min-height: 0.34rem;
    padding: 0 0.08rem !important;
    border-bottom: 0.01rem solid #e6e6e6;
    background: #f7f7f7;
  }

  .forum-page .forum-detail-post-vditor .vditor-toolbar__item button,
  .forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item button {
    border-radius: 0;
  }

  .forum-page .forum-detail-post-category-field,
  .forum-detail-page .forum-detail-post-category-field {
    width: 6.28rem;
    margin-top: 0.26rem;
  }

  .forum-page .forum-detail-post-category,
  .forum-detail-page .forum-detail-post-category {
    width: 100%;
    height: 0.54rem;
    padding: 0 0.16rem;
    border: 0.01rem solid #e6e6e6;
    border-radius: 0;
    color: #333333;
    font-family: var(--sk-font-Medium);
    font-size: 0.18rem;
    line-height: 0.24rem;
    box-shadow: none;
  }

  .forum-page .forum-detail-post-bottom,
  .forum-detail-page .forum-detail-post-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0;
    margin-top: 0.22rem;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .forum-page .forum-detail-post-code,
  .forum-detail-page .forum-detail-post-code {
    position: relative;
    display: flex;
    align-items: center;
    width: 3.85rem;
    height: 0.4rem;
    padding: 0 1.28rem 0 0.12rem;
    border: 0.01rem solid #d7e4f9;
    box-sizing: border-box;
    flex: 0 0 3.85rem;
  }

  .forum-page .forum-detail-post-code::before,
  .forum-detail-page .forum-detail-post-code::before {
    position: static;
    margin-right: 0.02rem;
    padding-top: 0.02rem;
    color: #e50012;
    line-height: 0.16rem;
    transform: none;
  }

  .forum-page .forum-detail-post-code input,
  .forum-detail-page .forum-detail-post-code input {
    width: 100%;
    height: 0.36rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: var(--sk-font-Medium);
    font-size: 0.16rem;
    line-height: 0.2rem;
    box-shadow: none;
    flex: 1 1 auto;
  }

  .forum-page .forum-detail-post-code [data-refresh-captcha],
  .forum-detail-page .forum-detail-post-code [data-refresh-captcha] {
    top: auto;
    right: 0;
    bottom: 0;
    width: 1.14rem;
    height: 0.3rem;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    transform: none;
  }

  .forum-page .forum-detail-post-btn,
  .forum-detail-page .forum-detail-post-btn {
    min-width: 1.95rem;
    height: 0.4rem;
    margin: 0;
    padding-right: 0.65rem;
    padding-left: 0.65rem;
    border-radius: 0;
    background: var(--sk-global-color);
    box-shadow: none;
  }

  .forum-page .forum-detail-post-btn:hover,
  .forum-detail-page .forum-detail-post-btn:hover {
    background: var(--sk-global-color);
    box-shadow: none;
    transform: none;
  }

  .forum-page .forum-detail-post-btn .btn__content,
  .forum-detail-page .forum-detail-post-btn .btn__content {
    border-radius: 0;
  }
}
/* Forum desktop New Post modal end */

@media (max-width: 800px) {
  .forum-page .forum-detail-post-panel,
  .forum-detail-page .forum-detail-post-panel {
    width: calc(100vw - 0.32rem);
    max-height: calc(100dvh - 0.32rem);
    border-radius: 10px;
  }

  .forum-page .forum-detail-post-header,
  .forum-detail-page .forum-detail-post-header {
    min-height: 0.76rem;
    padding: 0.18rem 0.24rem;
  }

  .forum-page .forum-detail-post-header .forum-detail-post-title,
  .forum-detail-page .forum-detail-post-header .forum-detail-post-title {
    font-size: 0.32rem;
  }

  .forum-page .forum-detail-post-body,
  .forum-detail-page .forum-detail-post-body {
    gap: 0.22rem;
    padding: 0.24rem 0.24rem 0;
  }

  .forum-page .forum-detail-post-title-field,
  .forum-detail-page .forum-detail-post-title-field,
  .forum-page .forum-detail-post-category-field,
  .forum-detail-page .forum-detail-post-category-field,
  .forum-page .forum-detail-post-content-field,
  .forum-detail-page .forum-detail-post-content-field {
    gap: 0.12rem;
    font-size: 0.24rem;
  }

  .forum-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-detail-page .forum-detail-post-title-field .forum-detail-post-input {
    height: 0.72rem;
    padding: 0 0.2rem;
    font-size: 0.24rem;
  }

  .forum-page .forum-detail-post-category,
  .forum-detail-page .forum-detail-post-category {
    height: 0.64rem;
    padding: 0 0.2rem;
  }

  .forum-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-detail-page .forum-detail-post-title-field .forum-detail-post-input {
    height: 0.64rem;
  }

  .forum-page .forum-detail-post-bottom,
  .forum-detail-page .forum-detail-post-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 0.18rem;
    padding: 0.24rem;
  }

  .forum-page .forum-detail-post-code,
  .forum-detail-page .forum-detail-post-code,
  .forum-page .forum-detail-post-btn,
  .forum-detail-page .forum-detail-post-btn {
    width: 100%;
  }

  .forum-page .forum-detail-post-code,
  .forum-detail-page .forum-detail-post-code {
    flex-basis: 0.64rem;
    height: 0.64rem;
  }

  .forum-page .forum-detail-post-title-label,
  .forum-detail-page .forum-detail-post-title-label,
  .forum-page .forum-detail-post-category-field > span,
  .forum-detail-page .forum-detail-post-category-field > span,
  .forum-page .forum-detail-post-content-label,
  .forum-detail-page .forum-detail-post-content-label {
    font-size: 0.18rem;
    line-height: 0.22rem;
  }

  .forum-page .forum-detail-post-code input,
  .forum-detail-page .forum-detail-post-code input,
  .forum-page .forum-detail-post-btn,
  .forum-detail-page .forum-detail-post-btn {
    height: 0.64rem;
  }

  .forum-page .forum-detail-post-code [data-refresh-captcha],
  .forum-detail-page .forum-detail-post-code [data-refresh-captcha],
  .forum-detail-page .forum-detail-reply-editor .forum-detail-code [data-refresh-captcha],
  .contractor-page .common-contact-code [data-refresh-captcha] {
    right: 0.12rem;
    width: 1.9rem;
    height: 0.6rem;
  }

  .forum-page .forum-detail-post-code input,
  .forum-detail-page .forum-detail-post-code input,
  .contractor-page .common-contact-code input {
    padding-right: 2.18rem;
  }

  .contractor-page .contractor-program .common-contact-code {
    padding-right: 0;
  }

  .contractor-page .contractor-program .wal1604 .common-contact-form .common-contact-bottom .common-contact-code {
    width: 100%;
  }
}

/* Forum navigation and member-center activity page. */
.forum-page .forum-profile-stats > a,
.forum-detail-page .forum-detail-profile-stats > a {
  color: inherit;
  text-decoration: none;
}

.forum-page .forum-profile-stats > a:hover,
.forum-detail-page .forum-detail-profile-stats > a:hover {
  color: #e9b900;
}

.forum-page .forum-category-back {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  margin: 0 0 0.28rem;
  padding: 0;
  border: 0;
  color: #18273f;
  font: 0.17rem/1.4 var(--sk-font-Medium);
  background: transparent;
  cursor: pointer;
}

.forum-page .forum-category-back-icon,
.forum-detail-page .forum-detail-return-icon {
  width: 0.11rem;
  height: 0.11rem;
  border-bottom: 0.02rem solid currentColor;
  border-left: 0.02rem solid currentColor;
  transform: rotate(45deg);
}

.forum-page .forum-category-back:hover,
.forum-detail-page .forum-detail-return:hover {
  color: var(--sk-global-color);
  transition: color 0.3s ease;
}

.forum-detail-page .forum-detail-return {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  width: auto;
  margin: 0.22rem max(calc((100% - 16.04rem) / 2), 0.32rem) 0;
  color: #18273f;
  font: 0.17rem/1.4 var(--sk-font-Medium);
}

.my-forum-page .my-forum-panel {
  padding: 0;
  overflow: hidden;
}

.my-forum-page .my-forum-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.36rem 0.4rem 0.28rem;
}

.my-forum-page .my-forum-new-post {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.42rem;
  height: 0.5rem;
  padding: 0 0.24rem;
  color: #06162f;
  font: 0.17rem/1 var(--sk-font-Medium);
  background: var(--sk-global-color);
}

.my-forum-page .my-forum-tabs {
  display: flex;
  gap: 0.44rem;
  padding: 0 0.4rem;
  border-bottom: 1px solid #e5e5e5;
}

.my-forum-page .my-forum-tab {
  position: relative;
  padding: 0 0 0.2rem;
  border: 0;
  color: #8c8c8c;
  font: 0.19rem/1.3 var(--sk-font-Medium);
  background: transparent;
  cursor: pointer;
}

.my-forum-page .my-forum-tab::after {
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 0.04rem;
  background: var(--sk-global-color);
  content: "";
  opacity: 0;
}

.my-forum-page .my-forum-tab.active {
  color: #18273f;
}

.my-forum-page .my-forum-tab.active::after {
  opacity: 1;
}

.my-forum-page .my-forum-tab-panel[hidden] {
  display: none;
}

.my-forum-page .my-forum-list {
  min-height: 2rem;
}

.my-forum-page.is-empty .my-forum-panel {
  min-height: 0;
}

.my-forum-page.is-empty .my-forum-list {
  min-height: 0;
}

.my-forum-page .my-forum-item {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  min-height: 1.36rem;
  padding: 0.24rem 0.4rem;
  border-bottom: 1px solid #e8e8e8;
}

.my-forum-page .my-forum-item-main {
  flex: 1;
  min-width: 0;
}

.my-forum-page .my-forum-item-meta {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  margin-bottom: 0.08rem;
  color: #929292;
  font-size: 0.14rem;
}

.my-forum-page .my-forum-item-category {
  padding: 0.04rem 0.1rem;
  color: #18273f;
  background: #fff3bf;
}

.my-forum-page .my-forum-item-title {
  display: block;
  overflow: hidden;
  color: #18273f;
  font: 0.2rem/1.35 var(--sk-font-Medium);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.my-forum-page .my-forum-item-summary {
  display: -webkit-box;
  margin: 0.08rem 0 0;
  overflow: hidden;
  color: #777;
  font-size: 0.15rem;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.my-forum-page .my-forum-item-view {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.86rem;
  height: 0.42rem;
  color: #06162f;
  font-size: 0.15rem;
  background: var(--sk-global-color);
}

.my-forum-page .my-forum-state {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2rem;
  margin: 0;
  color: #8c8c8c;
  font-size: 0.17rem;
}

.my-forum-page .my-forum-state[hidden] {
  display: none;
}

.my-forum-page .my-forum-pagination {
  margin-top: 0.47rem;
  padding: 0;
}

.my-forum-page .my-forum-pagination[hidden] {
  display: none;
}

@media (max-width: 800px) {
  .forum-page .forum-category-back,
  .forum-detail-page .forum-detail-return {
    font-size: 0.24rem;
  }

  .forum-detail-page .forum-detail-return {
    margin: 0.28rem 0.32rem 0;
  }

  .my-forum-page .my-forum-head {
    padding: 0.32rem;
  }

  .my-forum-page .my-forum-new-post {
    min-width: 1.5rem;
    height: 0.62rem;
    font-size: 0.22rem;
  }

  .my-forum-page .my-forum-tabs {
    gap: 0.48rem;
    padding: 0 0.32rem;
  }

  .my-forum-page .my-forum-tab {
    padding-bottom: 0.24rem;
    font-size: 0.25rem;
  }

  .my-forum-page .my-forum-item {
    align-items: flex-end;
    min-height: 1.7rem;
    padding: 0.28rem 0.32rem;
  }

  .my-forum-page .my-forum-item-meta {
    font-size: 0.2rem;
  }

  .my-forum-page .my-forum-item-title {
    font-size: 0.26rem;
  }

  .my-forum-page .my-forum-item-summary {
    font-size: 0.21rem;
  }

  .my-forum-page .my-forum-item-view {
    width: 1.08rem;
    height: 0.58rem;
    font-size: 0.21rem;
  }

  .my-forum-page.is-empty .my-forum-pagination {
    display: none;
  }
}

.product-list-page .catalog-new-badge,
.special-offers-page .catalog-new-badge {
  position: absolute;
  top: 0.26rem;
  left: 0.21rem;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 0.3rem;
  padding: 0 0.1rem;
  background-color: var(--sk-global-color);
  font-size: 0.16rem;
  font-family: var(--sk-font-Medium);
}

@media screen and (max-width: 800px) {
  .product-list-page .catalog-new-badge,
  .special-offers-page .catalog-new-badge {
    top: 0.22rem;
    left: 0.26rem;
    height: 0.28rem;
    padding: 0 0.08rem;
    font-size: 0.22rem;
    line-height: 0.23rem;
  }
}

/* Contractor 推荐区与搜索结果保持一致：区域白底，仅图片框保留浅蓝底。 */
.contractor-page .contractor-recommend {
  background: #ffffff;
}

.contractor-page .contractor-product-card {
  background: transparent;
}

.contractor-page .contractor-product-card .img-box {
  background: #f2f8ff;
}

/* 推荐规格商品统一采用规格主图，桌面端悬停后切换到规格商品封面图。 */
.contractor-product-card .img-box,
.learn-center-product-img,
.learn-details-product-box {
  position: relative;
}

.contractor-product-card .recommended-spec-primary,
.contractor-product-card .recommended-spec-secondary,
.learn-center-product-img .recommended-spec-primary,
.learn-center-product-img .recommended-spec-secondary,
.learn-details-product-box .recommended-spec-primary,
.learn-details-product-box .recommended-spec-secondary {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 0.25s ease;
}

.contractor-product-card .recommended-spec-primary,
.contractor-product-card .recommended-spec-secondary {
  mix-blend-mode: multiply;
}

.contractor-page .contractor-product-card .img-box .recommended-spec-primary,
.learn-center-page .learn-center-product .recommended-spec-primary,
.learn-details-page .learn-details-product .recommended-spec-primary {
  opacity: 1 !important;
}

.contractor-page .contractor-product-card .img-box .recommended-spec-secondary,
.learn-center-page .learn-center-product .recommended-spec-secondary,
.learn-details-page .learn-details-product .recommended-spec-secondary {
  opacity: 0 !important;
}

.contractor-product-card:hover .recommended-spec-primary,
.learn-center-product:hover .recommended-spec-primary,
.learn-details-product:hover .recommended-spec-primary {
  opacity: 0 !important;
}

.contractor-product-card:hover .recommended-spec-secondary,
.learn-center-product:hover .recommended-spec-secondary,
.learn-details-product:hover .recommended-spec-secondary {
  opacity: 1 !important;
}

/* 推荐规格商品使用当前规格商品的 product_tag 字典名称。 */
.contractor-page .contractor-product-card .contractor-product-badge {
  position: absolute;
  top: 0.15rem;
  left: 0.12rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 0.24rem;
  padding: 0 0.09rem;
  color: #333333;
  background-color: var(--sk-global-color);
  font-size: 0.12rem;
  line-height: 0.18rem;
  font-family: var(--sk-font-Medium);
}

.learn-center-page .learn-center-product-badge,
.learn-details-page .learn-details-product-badge {
  opacity: 1 !important;
  transform: none !important;
}

.index-page .new-tag,
.contractor-page .contractor-product-card .contractor-product-badge,
.learn-center-page .learn-center-product-badge,
.learn-details-page .learn-details-product-badge,
.profile-favorites-page .profile-favorite-badge {
  max-width: calc(100% - 0.24rem);
  overflow: hidden;
  box-sizing: border-box;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 800px) {
  .contractor-page .contractor-product-card .img-box .img.recommended-spec-primary:first-child,
  .learn-center-page .learn-center-product .recommended-spec-primary,
  .learn-details-page .learn-details-product .recommended-spec-primary {
    display: block !important;
    opacity: 1 !important;
  }

  .contractor-page .contractor-product-card .img-box .img.recommended-spec-secondary:nth-child(2),
  .learn-center-page .learn-center-product .recommended-spec-secondary,
  .learn-details-page .learn-details-product .recommended-spec-secondary {
    display: none !important;
    opacity: 0 !important;
  }

  .contractor-page .contractor-product-card .contractor-product-badge {
    top: 0.12rem;
    left: 0.12rem;
    height: 0.28rem;
    padding: 0 0.08rem;
    font-size: 0.2rem;
    line-height: 0.24rem;
  }

}

/* 商品列表与特价页动态目录 */
.product-list-page .product-list-check .product-list-swatch {
  width: 0.42rem;
  height: 0.42rem;
  flex-basis: 0.42rem;
  margin-right: 0.18rem;
  border-radius: 50%;
  overflow: hidden;
}

.product-list-page [data-catalog-filter-swatch] img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

@media screen and (max-width: 800px) {
  .product-list-page .product-list-check .product-list-swatch {
    width: 0.84rem !important;
    height: 0.84rem !important;
    flex-basis: 0.84rem;
    margin-right: 0.18rem;
  }
}

.product-list-page .catalog-loading,
.special-offers-page .catalog-loading {
  min-height: 4rem;
  opacity: 0.55;
  pointer-events: none;
}

.product-list-page .catalog-empty,
.product-list-page .catalog-error,
.special-offers-page .catalog-empty,
.special-offers-page .catalog-error {
  grid-column: 1 / -1;
  width: 100%;
  padding: 0.8rem 0.3rem;
  text-align: center;
  color: #666;
  background: #fff;
}

.product-list-page .catalog-error,
.special-offers-page .catalog-error {
  color: #b42318;
}

.product-list-page .catalog-color-option,
.special-offers-page .catalog-color-option {
  padding: 0;
  overflow: hidden;
  cursor: pointer;
  background: #fff;
  border: 2px solid transparent;
  border-radius: 50%;
}

.product-list-page .catalog-color-option img,
.special-offers-page .catalog-color-option img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

.product-list-page .catalog-color-option.active,
.special-offers-page .catalog-color-option.active {
  border-color: #e7bc00;
}

/* 分类图标只在当前项选中时保留高亮色，PC 与移动端共用。 */
.product-list-page .product-list-category-icon {
  position: relative;
}

.product-list-page .product-list-category-icon img {
  position: absolute;
  inset: 0;
  transition: opacity 0.2s ease;
}

.product-list-page .product-list-category-icon [data-catalog-category-icon-active] {
  opacity: 0;
}

.product-list-page .product-list-category-item.active .product-list-category-icon [data-catalog-category-icon-default] {
  opacity: 0;
}

.product-list-page .product-list-category-item.active .product-list-category-icon [data-catalog-category-icon-active] {
  opacity: 1;
}

.product-list-page .product-list-category-item:not(.active) .product-list-category-icon img {
  filter: grayscale(1);
}

.product-list-page .catalog-add-cart,
.special-offers-page .catalog-add-cart {
  width: 100%;
  border: 0;
  cursor: pointer;
}

.product-list-page .catalog-add-cart.is-loading,
.special-offers-page .catalog-add-cart.is-loading {
  cursor: wait;
  opacity: 0.6;
  pointer-events: none;
}

/* Dynamic checkout and order states. */
.pay-orders-page [hidden],
.pay-success-page [hidden],
.profile-order-pend-page [hidden] { display: none !important; }

/* 付款成功页使用通栏背景带和柔化的桌面信息网格。 */
.pay-success-page,
.pay-success-page .pay-success-main {
  background: #ffffff;
}

.pay-success-page .pay-success-container {
  width: 100%;
  padding: 0.31rem 0 0;
  box-sizing: border-box;
}

.pay-success-page .pay-success-container > .common-crumb {
  width: min(12rem, calc(100% - 0.6rem));
  margin: 0 auto 0.32rem;
}

.pay-success-page .pay-success-panel {
  display: block;
  width: 100%;
  min-height: 0;
  padding: 0.48rem 0 0.62rem;
  box-sizing: border-box;
  background: #f6f7f8;
}

.pay-success-page .pay-success-status,
.pay-success-page .pay-success-content-grid {
  width: min(12rem, calc(100% - 0.6rem));
  margin-right: auto;
  margin-left: auto;
}

.pay-success-page .pay-success-status {
  display: flex;
  align-items: center;
  gap: 0.24rem;
}

.pay-success-page .pay-success-icon {
  display: flex;
  width: 0.86rem;
  height: 0.86rem;
  padding: 0.1rem;
  flex: 0 0 0.86rem;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  border-radius: 50%;
  background: #fff4be;
  box-shadow: 0 0.08rem 0.24rem rgba(185, 143, 0, 0.1);
}

.pay-success-page .pay-success-icon img {
  width: 100%;
  height: 100%;
}

.pay-success-page .pay-success-status-copy {
  min-width: 0;
}

.pay-success-page .pay-success-title {
  margin: 0;
  font-size: 0.36rem;
  line-height: 0.45rem;
  text-align: left;
}

.pay-success-page .pay-success-desc {
  width: auto;
  margin: 0.08rem 0 0;
  text-align: left;
}

.pay-success-page .pay-success-content-grid {
  display: grid;
  margin-top: 0.34rem;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 0.24rem;
  align-items: stretch;
}

.pay-success-page .pay-summary,
.pay-success-page .pay-success-installers {
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.36rem 0.4rem 0.38rem;
  box-sizing: border-box;
  border: 0;
  background: #ffffff;
  box-shadow: 0 8px 32px rgba(2, 14, 35, 0.06);
}

.pay-success-page .pay-summary .pay-summary-heading {
  display: flex;
  margin: 0;
  align-items: center;
  justify-content: space-between;
  gap: 0.16rem;
}

.pay-success-page .pay-summary h2,
.pay-success-page .pay-success-installers h2 {
  margin: 0;
  color: #222222;
  font-family: var(--sk-font-SemiBold);
  font-size: 0.24rem;
  line-height: 0.32rem;
  text-align: left;
}

.pay-success-page .pay-summary h2::after {
  display: block;
  width: 0.36rem;
  height: 0.03rem;
  margin-top: 0.1rem;
  background: #f1c600;
  content: "";
}

.pay-success-page .pay-summary-status {
  padding: 0.05rem 0.1rem;
  flex: 0 0 auto;
  background: #f1f7ed;
  color: #547148;
  font-family: var(--sk-font-Medium);
  font-size: 0.12rem;
  line-height: 0.18rem;
}

.pay-success-page .pay-summary dl {
  display: grid;
  margin: 0.28rem 0 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 0.34rem;
  row-gap: 0.22rem;
}

.pay-success-page .pay-summary dl > div {
  display: block;
  min-width: 0;
  margin: 0;
}

.pay-success-page .pay-summary dt {
  color: #999999;
  font-size: 0.13rem;
  line-height: 0.18rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.pay-success-page .pay-summary dd {
  max-width: none;
  margin-top: 0.07rem;
  color: #333333;
  font-size: 0.16rem;
  line-height: 0.22rem;
  text-align: left;
  overflow-wrap: anywhere;
}

.pay-success-page .pay-summary dl > .pay-summary-total {
  display: flex;
  margin-top: 0.04rem;
  padding-top: 0.2rem;
  grid-column: 1 / -1;
  align-items: center;
  justify-content: space-between;
  border-top: 0.01rem solid #eeeeee;
}

.pay-success-page .pay-summary-total dt,
.pay-success-page .pay-summary-total dd {
  margin: 0;
  color: #333333;
  text-transform: none;
  letter-spacing: normal;
}

.pay-success-page .pay-summary-total dd {
  font-size: 0.24rem;
  line-height: 0.3rem;
}

.pay-success-page .pay-summary .pay-success-order-action {
  margin-top: 0.26rem;
}

.pay-success-page .pay-success-actions {
  width: min(12rem, calc(100% - 0.6rem));
  margin: 0.36rem auto 0;
  justify-content: flex-start;
}

.pay-success-page .pay-success-action {
  width: 2.5rem;
  height: 0.58rem;
  border: 0;
  box-shadow: 0 0.07rem 0.18rem rgba(185, 143, 0, 0.16);
}

.pay-success-page .pay-success-action .btn__content .default____btn__txt {
  color: #111111;
  font-size: 0.17rem;
  line-height: 0.24rem;
}

.pay-success-page .pay-success-installers {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
}

.pay-success-page .pay-success-installers > p {
  margin: 0.1rem 0 0;
  color: #777777;
  font-family: var(--sk-font-Medium);
  font-size: 0.15rem;
  line-height: 0.24rem;
}

.pay-success-page .pay-success-installer-links {
  display: flex;
  margin-top: 0.24rem;
  flex-direction: column;
  gap: 0.12rem;
}

.pay-success-page .pay-success-installer-links a {
  display: flex;
  min-height: 0.72rem;
  padding: 0.13rem 0.16rem;
  align-items: center;
  gap: 0.13rem;
  box-sizing: border-box;
  background: #f8f9fa;
  color: #222222;
  text-decoration: none;
  transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.pay-success-page .pay-success-installer-links a > img {
  display: block;
  width: 0.32rem;
  height: 0.32rem;
  flex: 0 0 0.32rem;
  object-fit: contain;
}

.pay-success-page .pay-success-installer-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.pay-success-page .pay-success-installer-copy strong {
  font-family: var(--sk-font-SemiBold);
  font-size: 0.16rem;
  line-height: 0.22rem;
}

.pay-success-page .pay-success-installer-copy small {
  margin-top: 0.02rem;
  color: #888888;
  font-family: var(--sk-font-Regular);
  font-size: 0.12rem;
  line-height: 0.18rem;
}

.pay-success-page .pay-success-external-arrow {
  flex: 0 0 auto;
  color: #888888;
  font-size: 0.2rem;
  line-height: 1;
  transition: transform 0.2s ease;
}

.pay-success-page .pay-success-installer-links a:hover {
  background: #fff8d8;
  box-shadow: 0 0.08rem 0.22rem rgba(9, 38, 71, 0.07);
  transform: translateY(-0.02rem);
}

.pay-success-page .pay-success-installer-links a:hover .pay-success-external-arrow {
  transform: translate(0.02rem, -0.02rem);
}

.pay-success-page .pay-success-installer-links a:focus-visible {
  outline: 0.02rem solid rgba(253, 208, 0, 0.85);
  outline-offset: 0.03rem;
}

.pay-success-page .pay-success-installers > .pay-success-installer-note {
  margin-top: auto;
  padding-top: 0.22rem;
  color: #999999;
  font-size: 0.12rem;
  line-height: 0.18rem;
}

.pay-success-page .pay-success-panel-failed .pay-success-content-grid {
  display: none;
}

@media screen and (max-width: 800px) {
  .pay-success-page,
  .pay-success-page .pay-success-main {
    background: #ffffff;
  }

  .pay-success-page .pay-success-container {
    padding: 0;
  }

  .pay-success-page .pay-success-panel,
  .pay-success-page .pay-success-panel-failed {
    width: 100%;
    min-height: 0;
    padding: 0.56rem 0.32rem 0.72rem;
    box-sizing: border-box;
    background: #f6f7f8;
  }

  .pay-success-page .pay-success-status,
  .pay-success-page .pay-success-content-grid,
  .pay-success-page .pay-success-actions {
    width: 100%;
  }

  .pay-success-page .pay-success-status {
    flex-direction: column;
    gap: 0.22rem;
    text-align: center;
  }

  .pay-success-page .pay-success-icon {
    width: 1.46rem;
    height: 1.46rem;
    padding: 0.18rem;
    flex-basis: 1.46rem;
  }

  .pay-success-page .pay-success-title {
    margin: 0;
    font-size: 0.46rem;
    line-height: 0.62rem;
    text-align: center;
  }

  .pay-success-page .pay-success-desc {
    width: 100%;
    margin-top: 0.12rem;
    font-size: 0.24rem;
    line-height: 0.36rem;
    text-align: center;
  }

  .pay-success-page .pay-success-content-grid {
    margin-top: 0.48rem;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.28rem;
  }

  .pay-success-page .pay-summary,
  .pay-success-page .pay-success-installers {
    width: 100%;
    margin: 0;
    padding: 0.4rem 0.34rem 0.42rem;
    box-shadow: 0 8px 28px rgba(2, 14, 35, 0.06);
  }

  .pay-success-page .pay-summary .pay-summary-heading {
    margin: 0;
  }

  .pay-success-page .pay-summary h2,
  .pay-success-page .pay-success-installers h2 {
    margin: 0;
    font-size: 0.32rem;
    line-height: 0.44rem;
  }

  .pay-success-page .pay-summary-status {
    padding: 0.06rem 0.12rem;
    font-size: 0.18rem;
    line-height: 0.26rem;
  }

  .pay-success-page .pay-summary dl {
    margin-top: 0.36rem;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.26rem;
  }

  .pay-success-page .pay-summary dl > div {
    display: flex;
    margin: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.24rem;
  }

  .pay-success-page .pay-summary dt,
  .pay-success-page .pay-summary dd {
    margin: 0;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .pay-success-page .pay-summary dt {
    flex: 0 0 auto;
  }

  .pay-success-page .pay-summary dd {
    max-width: 62%;
    text-align: right;
  }

  .pay-success-page .pay-summary dl > .pay-summary-total {
    margin-top: 0.04rem;
    padding-top: 0.28rem;
  }

  .pay-success-page .pay-summary-total dd {
    font-size: 0.32rem;
    line-height: 0.4rem;
  }

  .pay-success-page .pay-summary .pay-success-order-action {
    margin-top: 0.36rem;
  }

  .pay-success-page .pay-success-actions {
    gap: 0.24rem;
    margin-top: 0.48rem;
  }

  .pay-success-page .pay-success-action {
    width: 100%;
    height: 0.88rem;
  }

  .pay-success-page .pay-success-action .btn__content .default____btn__txt {
    font-size: 0.27rem;
    line-height: 0.36rem;
  }

  .pay-success-page .pay-success-installers > p {
    margin-top: 0.14rem;
    font-size: 0.23rem;
    line-height: 0.34rem;
  }

  .pay-success-page .pay-success-installer-links {
    margin-top: 0.3rem;
    gap: 0.18rem;
  }

  .pay-success-page .pay-success-installer-links a {
    min-height: 1rem;
    padding: 0.17rem 0.2rem;
    gap: 0.18rem;
  }

  .pay-success-page .pay-success-installer-links a > img {
    width: 0.42rem;
    height: 0.42rem;
    flex-basis: 0.42rem;
  }

  .pay-success-page .pay-success-installer-copy strong {
    font-size: 0.26rem;
    line-height: 0.34rem;
  }

  .pay-success-page .pay-success-installer-copy small,
  .pay-success-page .pay-success-installers > .pay-success-installer-note {
    font-size: 0.2rem;
    line-height: 0.28rem;
  }

  .pay-success-page .pay-success-external-arrow {
    font-size: 0.3rem;
  }

  .pay-success-page .pay-success-installers > .pay-success-installer-note {
    padding-top: 0.28rem;
  }
}

.pay-orders-page .pay-orders-alert,
.profile-order-pend-page [data-order-detail-error] { margin: 20px 0; padding: 14px; background: #fff3f3; color: #a51f1f; }
.pay-orders-page .pay-orders-lock { margin: 18px 0; padding: 12px 18px; background: #fff8d8; text-align: center; }
.pay-orders-page .pay-orders-safe-note,
.profile-return-page .pay-orders-safe-note { color: #666; font-size: 14px; }
.pay-orders-page.is-loading [data-checkout-form] { opacity: .55; pointer-events: none; }

.pay-orders-page .pay-orders-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(14.6rem, 100%);
  margin: 0.38rem auto 0.44rem;
  padding: 0.08rem 0;
  box-sizing: border-box;
  list-style: none;
}

/* 订单列表和详情统一展示订单、支付、物流、安装四类状态。 */
.profile-order-page .profile-order-status-stack,
.profile-order-pend-page .profile-order-four-status {
  display: grid;
  gap: 0.06rem;
  margin: 0;
}

.profile-order-page .profile-order-status-stack > div,
.profile-order-pend-page .profile-order-four-status > div {
  display: grid;
  grid-template-columns: minmax(0.72rem, auto) minmax(0, 1fr);
  gap: 0.08rem;
  align-items: baseline;
}

.profile-order-page .profile-order-status-stack dt,
.profile-order-pend-page .profile-order-four-status dt {
  color: #777777;
  font-size: 0.12rem;
}

.profile-order-page .profile-order-status-stack dd,
.profile-order-pend-page .profile-order-four-status dd {
  min-width: 0;
  margin: 0;
  color: #020e23;
  overflow-wrap: anywhere;
}

@media screen and (max-width: 800px) {
  .profile-order-page .profile-order-status-stack,
  .profile-order-pend-page .profile-order-four-status {
    gap: 0.08rem;
  }

  .profile-order-page .profile-order-status-stack > div,
  .profile-order-pend-page .profile-order-four-status > div {
    grid-template-columns: minmax(1.2rem, auto) minmax(0, 1fr);
    gap: 0.12rem;
  }

  .profile-order-page .profile-order-status-stack dt,
  .profile-order-pend-page .profile-order-four-status dt {
    font-size: 0.18rem;
  }
}

.pay-orders-page .pay-orders-progress li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0.12rem;
  color: #8a8a8a;
  font-size: 0.14rem;
  font-family: var(--sk-font-Medium);
  line-height: 1.35;
  text-align: center;
}

.pay-orders-page .pay-orders-progress li::before {
  position: absolute;
  top: 0.2rem;
  right: 50%;
  left: -50%;
  height: 0.02rem;
  background: #dedede;
  content: "";
}

.pay-orders-page .pay-orders-progress li:first-child::before { display: none; }

.pay-orders-page .pay-orders-progress span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 0.4rem;
  height: 0.4rem;
  place-items: center;
  border-radius: 50%;
  background: #dedede;
  color: #555555;
}

.pay-orders-page .pay-orders-progress .is-complete,
.pay-orders-page .pay-orders-progress .is-active { color: #020e23; }
.pay-orders-page .pay-orders-progress .is-complete::before,
.pay-orders-page .pay-orders-progress .is-active::before { background: #fdd000; }
.pay-orders-page .pay-orders-progress .is-complete span,
.pay-orders-page .pay-orders-progress .is-active span {
  background: #fdd000;
  color: #020e23;
}
.pay-orders-page .pay-orders-progress .is-active span {
  box-shadow: 0 0 0 0.07rem rgba(253, 208, 0, 0.24);
}

/* 结算三个阶段共用品牌卡片和标题语言。 */

.pay-orders-page .pay-orders-content > .pay-orders-panel > .pay-orders-title,
.pay-orders-page .pay-orders-address-heading .pay-orders-title,
.pay-orders-page [data-ups-shipping] > .pay-orders-title,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment > span {
  display: flex;
  align-items: center;
  gap: 0.14rem;
}

.pay-orders-page .pay-orders-content > .pay-orders-panel > .pay-orders-title::before,
.pay-orders-page .pay-orders-address-heading .pay-orders-title::before,
.pay-orders-page [data-ups-shipping] > .pay-orders-title::before,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment > span::before {
  width: 0.05rem;
  height: 0.3rem;
  background: #fdd000;
  content: "";
  flex: 0 0 auto;
}

/* 结算页收货/账单地址簿与共享弹窗。 */
.pay-orders-page .pay-orders-address-heading,
.pay-orders-page .pay-orders-address-card-actions,
.pay-orders-page .pay-orders-address-modal-head,
.pay-orders-page .pay-orders-address-default {
  display: flex;
  align-items: center;
}

.pay-orders-page .pay-orders-address-heading,
.pay-orders-page .pay-orders-address-modal-head {
  justify-content: space-between;
  gap: 0.24rem;
}

.pay-orders-page .pay-orders-address-add {
  min-height: 44px;
  padding: 0 0.22rem;
  border: 0;
  background: #fdd000;
  color: #020e23;
  font-family: var(--sk-font-Medium);
  cursor: pointer;
}

.pay-orders-page .pay-orders-address-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.2rem;
  margin-top: 0.28rem;
}

.pay-orders-page .pay-orders-address-more {
  min-height: 44px;
  margin-top: 0.18rem;
  padding: 0 0.18rem;
  border: 0.01rem solid #020e23;
  background: #ffffff;
  color: #020e23;
  cursor: pointer;
}

.pay-orders-page .pay-orders-shipping-list {
  display: grid;
  gap: 0.14rem;
  margin-top: 0.2rem;
}

.pay-orders-page .pay-orders-shipping-list .pay-orders-radio {
  display: flex;
  min-height: 0.64rem;
  padding: 0.14rem 0.18rem;
  align-items: center;
  gap: 0.12rem;
  border: 0.01rem solid #dddddd;
  cursor: pointer;
}

@media screen and (min-width: 801px) {
  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-layout {
    align-items: flex-start;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-sidebar {
    align-self: flex-start;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-summary {
    flex: 0 0 auto;
    min-height: 0;
  }
}

/* 页脚订阅隐私政策链接保持原文案颜色，并提供明确的可点击反馈。 */
.site-footer .site-footer-consent-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.03rem;
}

.site-footer .site-footer-consent-link:focus-visible {
  outline: 0.02rem solid var(--sk-global-color);
  outline-offset: 0.03rem;
}

@media screen and (max-width: 800px) {
  /* 移动端 Policies 以当前项作为选择器，展开时显示其余 CMS 子栏目。 */
  .policies-page .policies-tabs {
    display: flex;
    flex-direction: column;
    max-height: 0.68rem;
    overflow: hidden;
    transition: max-height 0.32s ease;
  }

  .policies-page .policies-tab,
  .policies-page .policies-tab.active {
    display: flex;
    flex: 0 0 0.68rem;
  }

  .policies-page .policies-tab.active {
    order: -1;
  }

  .policies-page .policies-tab span {
    flex: 0 0 auto;
    margin-right: 0.03rem;
    transition: transform 0.32s ease;
  }

  .policies-page .policies-tab:not(.active) span {
    visibility: hidden;
  }

  .policies-page .policies-tabs.is-open {
    max-height: 6rem;
  }

  .policies-page .policies-tabs.is-open .policies-tab.active span {
    transform: rotate(-45deg);
  }

  .site-footer-mobile-group.has-panel.on .site-footer-mobile-panel {
    max-height: 6rem;
  }
}

.pay-orders-page .pay-orders-radio .pay-orders-radio-dot::after {
  background: #020e23;
}

.pay-orders-page .pay-orders-payment-choice.is-unavailable {
  opacity: 0.62;
}

.pay-orders-page .pay-orders-payment-choice-copy {
  display: grid;
  gap: 0.05rem;
}

.pay-orders-page .pay-orders-billing-panel [data-billing-address-choices] {
  margin-top: 0.26rem;
}

.pay-orders-page .pay-orders-billing-panel > .pay-orders-radio {
  display: inline-flex;
  align-items: center;
  gap: 0.12rem;
  margin-top: 0.2rem;
  cursor: pointer;
}

.pay-orders-page .pay-orders-billing-same-note {
  margin: 0.12rem 0 0;
  color: #666666;
  font-size: 0.15rem;
  line-height: 1.45;
}

.pay-orders-page .pay-orders-address-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 2.2rem;
  padding: 0.22rem;
  border: 0.01rem solid #d8d8d8;
  box-sizing: border-box;
  flex-direction: column;
  background: #ffffff;
}

.pay-orders-page .pay-orders-address-card.is-selected {
  border-color: #f2c300;
  background: #fffbed;
  box-shadow: 0 0.06rem 0.18rem rgba(2, 14, 35, 0.08);
}

.pay-orders-page .pay-orders-address-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.14rem;
  cursor: pointer;
}

.pay-orders-page .pay-orders-address-choice input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto;
  width: 0.2rem;
  height: 0.2rem;
  margin: 0.03rem 0 0;
  border: 0.02rem solid #cccccc;
  border-radius: 50%;
  box-sizing: border-box;
  background: #ffffff;
  cursor: pointer;
}

.pay-orders-page .pay-orders-address-choice input[type="radio"]:checked {
  border-color: #f4ca0a;
  background: radial-gradient(circle, #020e23 0 0.05rem, #ffffff 0.055rem);
}

.pay-orders-page .pay-orders-address-choice input[type="radio"]:focus-visible {
  outline: 0.02rem solid rgba(253, 208, 0, 0.7);
  outline-offset: 0.03rem;
}

.pay-orders-page .pay-orders-address-content {
  display: grid;
  min-width: 0;
  gap: 0.06rem;
  color: #333333;
  font-size: 0.15rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.pay-orders-page .pay-orders-address-content strong {
  padding-right: 0.7rem;
  color: #020e23;
  font-size: 0.19rem;
  font-family: var(--sk-font-Bold);
}

.pay-orders-page .pay-orders-address-badge {
  position: absolute;
  top: 0.18rem;
  right: 0.18rem;
  padding: 0.03rem 0.09rem;
  background: #fff5bd;
  color: #7a6200;
  font-size: 0.12rem;
}

.pay-orders-page .pay-orders-address-card-actions {
  gap: 0.14rem;
  margin-top: auto;
  padding-top: 0.18rem;
}

.pay-orders-page .pay-orders-address-card-actions button {
  min-height: 44px;
  padding: 0 0.1rem;
  border: 0;
  background: transparent;
  color: #020e23;
  text-decoration: underline;
  text-underline-offset: 0.03rem;
  cursor: pointer;
}

/* Confirm Order uses compact, content-driven panels. */
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-content > .pay-orders-panel[data-stage-only="CONFIRM_ORDER"] {
  box-sizing: border-box;
  min-height: auto;
  margin-top: 0.18rem;
  padding: 0.48rem 0.35rem 0.38rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-panel,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-billing-panel {
  display: block;
  height: auto;
  min-height: auto;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-grid {
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: max-content;
  align-items: start;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-self: start;
  align-items: center;
  gap: 0.24rem;
  width: 100%;
  height: auto;
  min-height: auto;
  padding: 0.18rem 0.22rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-content {
  grid-template-columns:
    minmax(1.2rem, 0.65fr)
    minmax(1.4rem, 0.75fr)
    minmax(2.6rem, 2fr)
    minmax(1.2rem, 0.7fr);
  align-items: center;
  gap: 0.12rem 0.24rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-content strong {
  padding-right: 0;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-badge {
  position: static;
  align-self: center;
  white-space: nowrap;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-card-actions {
  flex-wrap: nowrap;
  margin-top: 0;
  padding-top: 0;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-list,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] [data-shipping-methods] {
  display: flex;
  flex-direction: column;
  gap: 0.29rem;
  margin-top: 0.34rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-list .pay-orders-radio,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] [data-shipping-methods] .pay-orders-radio {
  position: relative;
  min-height: auto;
  padding: 0;
  align-items: flex-start;
  gap: 0;
  border: 0;
  font-size: 0.16rem;
  line-height: 0.26rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-list input[type="radio"],
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] [data-shipping-methods] input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-list input[type="radio"]:checked + .pay-orders-radio-dot,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] [data-shipping-methods] input[type="radio"]:checked + .pay-orders-radio-dot {
  border-color: #f4ca0a;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-list input[type="radio"]:checked + .pay-orders-radio-dot::after,
.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] [data-shipping-methods] input[type="radio"]:checked + .pay-orders-radio-dot::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

/* UPS 配送沿用结算页标题和单选样式，两端均与订单备注保留独立间距。 */
.pay-orders-page [data-ups-shipping] {
  margin-bottom: 0.32rem;
}

.pay-orders-page [data-shipping-methods] [data-method-copy] {
  min-width: 0;
  overflow-wrap: anywhere;
}

.pay-orders-page [data-shipping-methods] input[type="radio"]:not(:checked) + .pay-orders-radio-dot {
  border-color: #cccccc;
}

.pay-orders-page [data-shipping-methods] input[type="radio"]:not(:checked) + .pay-orders-radio-dot::after {
  opacity: 0;
}

.pay-orders-page [data-shipping-methods] input[type="radio"]:focus-visible + .pay-orders-radio-dot {
  outline: 2px solid #020e23;
  outline-offset: 3px;
}

.pay-orders-page [data-shipping-quote-countdown],
.pay-orders-page [data-shipping-quote-error] {
  margin: 0.16rem 0 0;
  font-size: 0.14rem;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.pay-orders-page [data-shipping-quote-countdown] {
  color: #666666;
}

.pay-orders-page [data-shipping-quote-error] {
  color: #b42318;
}

.pay-orders-page [data-shipping-quote-retry] {
  display: block;
  box-sizing: border-box;
  max-width: 100%;
  margin-top: 0.16rem;
  padding: 0.12rem 0.2rem;
  border: 1px solid #fdd000;
  background: #fdd000;
  color: #020e23;
  font: inherit;
  font-size: 0.14rem;
  line-height: 1.5;
  cursor: pointer;
}

.pay-orders-page [data-shipping-quote-retry]:focus-visible {
  outline: 2px solid #020e23;
  outline-offset: 3px;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  margin: 0;
  font-size: 0.2rem;
  line-height: 0.54rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment > span {
  margin-bottom: 0.24rem;
  color: #333333;
  font-family: var(--sk-font-Bold);
  line-height: 0.4rem;
}

.pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 1.54rem;
  margin: 0;
  padding: 0.16rem 0.18rem;
  border: 1px solid #e6e6e6;
  resize: none;
  font-size: 0.16rem;
}

/* Order Payment follows the approved single-surface summary card pattern. */
.pay-orders-page[data-checkout-stage="ORDER_PAYMENT"] .pay-orders-snapshot-panel {
  box-sizing: border-box;
  min-height: auto;
  margin-top: 0.18rem;
  padding: 0.3rem 0.35rem 0.32rem;
  background: #f5f5f5;
}

.pay-orders-page[data-checkout-stage="ORDER_PAYMENT"] .pay-orders-snapshot-panel > .pay-orders-title {
  font-size: 0.28rem;
  line-height: 0.36rem;
}

.pay-orders-page .pay-orders-snapshot-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.16rem;
  align-items: start;
  margin-top: 0.2rem;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  background: transparent;
  color: #020e23;
}

.pay-orders-page .pay-orders-snapshot-icon {
  display: grid;
  width: 0.4rem;
  height: 0.4rem;
  place-items: center;
  border-radius: 50%;
  background: #fff5bd;
  color: #020e23;
  flex: 0 0 auto;
}

.pay-orders-page .pay-orders-snapshot-icon svg {
  width: 0.2rem;
  height: 0.2rem;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pay-orders-page .pay-orders-snapshot-copy {
  display: grid;
  min-width: 0;
  gap: 0.1rem;
}

.pay-orders-page .pay-orders-snapshot-contact {
  display: flex;
  flex-wrap: wrap;
  gap: 0.08rem 0.24rem;
  align-items: baseline;
}

.pay-orders-page .pay-orders-snapshot-copy strong,
.pay-orders-page .pay-orders-snapshot-meta strong,
.pay-orders-page .pay-orders-snapshot-copy p,
.pay-orders-page .pay-orders-snapshot-contact span,
.pay-orders-page .pay-orders-snapshot-meta,
.pay-orders-page .pay-orders-snapshot-meta dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.pay-orders-page .pay-orders-snapshot-copy strong,
.pay-orders-page .pay-orders-snapshot-meta strong {
  color: #020e23;
  font-size: 0.18rem;
  font-family: var(--sk-font-Bold);
  line-height: 1.4;
}

.pay-orders-page .pay-orders-snapshot-contact span,
.pay-orders-page .pay-orders-snapshot-copy p {
  color: #666666;
  font-size: 0.15rem;
  line-height: 1.55;
}

.pay-orders-page .pay-orders-address-snapshot .pay-orders-snapshot-copy > p {
  color: #333333;
}

.pay-orders-page .pay-orders-snapshot-meta {
  display: grid;
  grid-template-columns: minmax(1.45rem, 0.34fr) minmax(0, 1fr);
  gap: 0.1rem 0.2rem;
  align-items: start;
  color: #666666;
  font-size: 0.15rem;
  line-height: 1.55;
}

.pay-orders-page .pay-orders-snapshot-meta dt {
  color: #777777;
}

.pay-orders-page .pay-orders-comment-snapshot {
  align-items: center;
}

.pay-orders-page [data-order-shipping-phone]:empty,
.pay-orders-page [data-order-billing-phone]:empty,
.pay-orders-page [data-order-delivery-description]:empty {
  display: none;
}

.pay-orders-page .pay-orders-address-error,
.pay-orders-page .pay-orders-address-modal-error {
  margin-top: 0.16rem;
  color: #a32626;
}

.pay-orders-page .pay-orders-address-empty {
  margin-top: 0.24rem;
  padding: 0.24rem;
  background: #f7f7f7;
  color: #666666;
}

.pay-orders-page .pay-orders-address-modal {
  position: fixed;
  inset: 0;
  z-index: 140;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.4rem;
  box-sizing: border-box;
}

.pay-orders-page .pay-orders-address-modal-mask {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(2, 14, 35, 0.58);
  cursor: pointer;
}

.pay-orders-page .pay-orders-address-modal-panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: min(16rem, calc(100vw - 0.8rem));
  max-height: calc(100dvh - 0.8rem);
  padding: 0.38rem 0.46rem 0.46rem;
  overflow: hidden;
  box-sizing: border-box;
  background: #ffffff;
  box-shadow: 0 0.18rem 0.6rem rgba(2, 14, 35, 0.24);
}

.pay-orders-page .pay-orders-address-modal-head {
  position: relative;
  flex: 0 0 auto;
  padding-bottom: 0.2rem;
  border-bottom: 0.01rem solid #e5e5e5;
  background: #ffffff;
}

.pay-orders-page .pay-orders-address-modal-head h2 {
  margin: 0;
  color: #020e23;
  font-size: 0.28rem;
  font-family: var(--sk-font-Bold);
}

.pay-orders-page .pay-orders-address-modal-close {
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #020e23;
  font-size: 0.36rem;
  cursor: pointer;
}

.pay-orders-page .pay-orders-address-modal-form {
  display: flex;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  flex: 1 1 auto;
  flex-direction: column;
}

.pay-orders-page .pay-orders-address-modal-body {
  min-height: 0;
  padding: 0.28rem 0 0 0;
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  flex: 1 1 auto;
}

.pay-orders-page .pay-orders-address-modal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.3rem 0.34rem;
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field {
  display: flex;
  min-width: 0;
  margin: 0;
  align-items: stretch;
  flex-direction: column;
  gap: 0.1rem;
  color: #333333;
  font-size: 0.16rem;
  line-height: 1.4;
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field > span {
  display: block;
  min-width: 0;
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field input,
.pay-orders-page .pay-orders-address-modal-form .common-form-field select {
  width: 100%;
  max-width: 100%;
  height: 0.54rem;
  min-width: 0;
  padding: 0 0.16rem;
  border: 0.01rem solid #cccccc;
  box-sizing: border-box;
  background: #ffffff;
  color: #333333;
  font-size: 0.16rem;
  line-height: 0.24rem;
}

/* 地址查看态沿用编辑态表单外观，仅保留控件不可编辑的功能差异。 */
.pay-orders-page .pay-orders-address-modal-form .common-form-field input:disabled,
.pay-orders-page .pay-orders-address-modal-form .common-form-field select:disabled {
  border-color: #cccccc;
  background: #ffffff;
  color: #333333;
  opacity: 1;
  -webkit-text-fill-color: #333333;
}

.pay-orders-page .pay-orders-address-modal-form .pay-orders-address-default input:disabled + .pay-orders-address-default-check {
  opacity: 1;
}

/* 结算地址弹窗下拉外观start */
.pay-orders-page .pay-orders-address-modal-form .pay-orders-address-select {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field select {
  display: flex;
  align-items: center;
  padding: 0 0.42rem 0 0.18rem;
  border-radius: 0;
  background: #ffffff;
  cursor: pointer;
  font-family: var(--sk-font-Medium);
  text-align: left;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
  -webkit-appearance: none;
  appearance: none;
}

.pay-orders-page .pay-orders-address-modal-form .pay-orders-address-select-arrow {
  position: absolute;
  top: 50%;
  right: 0.18rem;
  z-index: 1;
  display: block;
  width: 0.19rem;
  height: 0.17rem;
  object-fit: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field select:hover {
  box-shadow: 0 0 0 0.02rem rgba(253, 208, 0, 0.18);
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field select option {
  display: flex;
  align-items: center;
  padding: 0.1rem 0.18rem;
  margin: 0;
  background: #ffffff;
  color: #666666;
  font-size: 0.16rem;
  line-height: 0.22rem;
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field select option:checked {
  background: #f5f5f5;
  color: #333333;
}
/* 结算地址弹窗下拉外观end */

.pay-orders-page .pay-orders-address-modal-form .common-form-field input:focus,
.pay-orders-page .pay-orders-address-modal-form .common-form-field select:focus {
  border-color: #020e23;
  outline: 0.02rem solid rgba(253, 208, 0, 0.45);
  outline-offset: 0;
}

.pay-orders-page .pay-orders-address-modal-form .common-form-field select:focus {
  border-color: #cccccc;
  outline: 0;
  box-shadow: 0 0 0 0.02rem rgba(253, 208, 0, 0.25);
}

/* 支持可定制原生下拉的浏览器，复用静态站的选项浮层表现。 */
@supports (appearance: base-select) {
  .pay-orders-page .pay-orders-address-modal-form .common-form-field select,
  .pay-orders-page .pay-orders-address-modal-form .common-form-field select::picker(select) {
    -webkit-appearance: base-select;
    appearance: base-select;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select::picker-icon {
    display: none;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select::picker(select) {
    width: anchor-size(width);
    max-height: 3.8rem;
    margin-top: 0.06rem;
    padding: 0.08rem 0;
    overflow-y: auto;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: 0 0.12rem 0.28rem rgba(0, 0, 0, 0.08);
    scrollbar-color: #999999 transparent;
    scrollbar-width: thin;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select option {
    min-height: 0.42rem;
    padding: 0.1rem 0.18rem;
    border: 0;
    background: #ffffff;
    color: #666666;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select option:hover,
  .pay-orders-page .pay-orders-address-modal-form .common-form-field select option:focus,
  .pay-orders-page .pay-orders-address-modal-form .common-form-field select option:checked {
    background: #f5f5f5;
    color: #333333;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select option::checkmark {
    display: none;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select:open {
    box-shadow: 0 0 0 0.02rem rgba(253, 208, 0, 0.25);
  }
}

.pay-orders-page .pay-orders-address-modal-full {
  grid-column: 1 / -1;
}

.pay-orders-page .pay-orders-address-default {
  gap: 0.16rem;
  margin-top: 0.28rem;
  cursor: pointer;
}

.pay-orders-page .pay-orders-address-default input {
  width: 0.2rem;
  height: 0.2rem;
  margin: 0;
  accent-color: #fdd000;
}

/* 结算地址弹窗默认地址勾选项：复用静态站公共表单样式。 */
.pay-orders-page .pay-orders-address-default input[type="checkbox"] {
  position: absolute;
  width: 0.01rem;
  height: 0.01rem;
  overflow: hidden;
  opacity: 0;
}

.pay-orders-page .pay-orders-address-default-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.18rem;
  height: 0.18rem;
  flex: 0 0 0.18rem;
}

.pay-orders-page .pay-orders-address-default-check img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pay-orders-page .pay-orders-address-default-check img.pay-orders-address-default-check-on {
  display: none;
}

.pay-orders-page .pay-orders-address-default input[type="checkbox"]:checked + .pay-orders-address-default-check .pay-orders-address-default-check-off {
  display: none;
}

.pay-orders-page .pay-orders-address-default input[type="checkbox"]:checked + .pay-orders-address-default-check .pay-orders-address-default-check-on {
  display: block;
}

.pay-orders-page .pay-orders-address-default input[type="checkbox"]:focus-visible + .pay-orders-address-default-check {
  outline: 0.02rem solid #333333;
  outline-offset: 0.03rem;
}

.pay-orders-page .pay-orders-address-modal-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(5rem, 100%);
  gap: 0.16rem;
  max-width: 5rem;
  margin: 0.42rem 0 0 auto;
  overflow: visible;
  flex: 0 0 auto;
}

.pay-orders-page .pay-orders-address-modal-actions .default____btn {
  width: 100%;
  min-width: 0;
  height: 0.7rem;
  min-height: 0.7rem;
  margin: 0;
  box-sizing: border-box;
  cursor: pointer;
}

/* 地址弹窗的操作按钮不继承全局按钮的内容最小宽度，避免查看态文字被裁切。 */
.pay-orders-page .pay-orders-address-modal-actions .default____btn .btn__content {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.pay-orders-page .pay-orders-address-modal-actions .default____btn__txt {
  display: block;
  max-width: 100%;
  overflow: visible;
  line-height: 1.2;
  white-space: nowrap;
}

.pay-orders-page .pay-orders-address-modal-cancel .default____btn__txt,
.pay-orders-page .pay-orders-address-modal-edit .default____btn__txt {
  margin-right: 0;
}

.pay-orders-page .pay-orders-address-modal-cancel {
  border: 0.01rem solid #020e23;
  background: #ffffff;
}

.pay-orders-page .pay-orders-address-modal-cancel .default____btn__txt {
  color: #020e23;
}

html.pay-orders-address-modal-open,
body.pay-orders-address-modal-open {
  overflow: hidden;
}

@media screen and (min-width: 801px) {
  .pay-orders-page .pay-orders-billing-panel {
    padding-right: 0.26rem;
  }
}

@media screen and (max-width: 800px) {
  /* VST-001：移动端与 PC 一致展示完整收货地址簿。 */
  .pay-orders-page .pay-orders-shipping-panel {
    display: block;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-content > .pay-orders-panel[data-stage-only="CONFIRM_ORDER"] {
    min-height: auto;
    padding: 0.36rem 0.28rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-panel,
  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-billing-panel {
    height: auto;
    min-height: auto;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: max-content;
    align-items: start;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-card {
    display: flex;
    align-items: stretch;
    gap: 0;
    height: auto;
    min-height: auto;
    padding: 0.24rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-choice {
    display: flex;
    align-items: flex-start;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-content {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.06rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-badge {
    position: absolute;
    top: 0.18rem;
    right: 0.18rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-address-card-actions {
    margin-top: 0.14rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-shipping-list .pay-orders-radio,
  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] [data-shipping-methods] .pay-orders-radio {
    font-size: 0.22rem;
    line-height: 0.32rem;
  }

  .pay-orders-page [data-shipping-quote-countdown],
  .pay-orders-page [data-shipping-quote-error],
  .pay-orders-page [data-shipping-quote-retry] {
    font-size: 0.24rem;
  }

  .pay-orders-page [data-shipping-quote-retry] {
    min-height: 44px;
    padding: 0.16rem 0.24rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment {
    width: 100%;
    margin: 0;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .pay-orders-page[data-checkout-stage="CONFIRM_ORDER"] .pay-orders-comment textarea {
    height: 1.6rem;
    margin-top: 0.14rem;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .pay-orders-page[data-checkout-stage="ORDER_PAYMENT"] .pay-orders-snapshot-panel {
    min-height: auto;
    margin-top: 0.24rem;
    padding: 0.3rem 0.28rem 0.32rem;
  }

  .pay-orders-page[data-checkout-stage="ORDER_PAYMENT"] .pay-orders-snapshot-panel > .pay-orders-title {
    font-size: 0.3rem;
    line-height: 0.38rem;
  }

  .pay-orders-page .pay-orders-snapshot-card {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.2rem;
    margin-top: 0.2rem;
    padding: 0;
  }

  .pay-orders-page .pay-orders-snapshot-icon {
    width: 0.44rem;
    height: 0.44rem;
  }

  .pay-orders-page .pay-orders-snapshot-icon svg {
    width: 0.22rem;
    height: 0.22rem;
  }

  .pay-orders-page .pay-orders-snapshot-contact {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.06rem;
  }

  .pay-orders-page .pay-orders-snapshot-copy strong {
    font-size: 0.26rem;
    line-height: 1.4;
  }

  .pay-orders-page .pay-orders-snapshot-contact span,
  .pay-orders-page .pay-orders-snapshot-copy p {
    font-size: 0.22rem;
    line-height: 1.55;
  }

  .pay-orders-page .pay-orders-snapshot-meta {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.04rem;
    font-size: 0.22rem;
  }

  .pay-orders-page .pay-orders-snapshot-meta dd + dt {
    margin-top: 0.08rem;
  }

  .pay-orders-page .pay-orders-progress {
    width: 100%;
    margin: 0.32rem auto 0.4rem;
    padding-right: 0.12rem;
    padding-left: 0.12rem;
  }

  .pay-orders-page .pay-orders-progress li {
    gap: 0.12rem;
    font-size: 0.2rem;
  }

  .pay-orders-page .pay-orders-progress li::before {
    top: 0.24rem;
  }

  .pay-orders-page .pay-orders-progress span {
    width: 0.48rem;
    height: 0.48rem;
    font-size: 0.2rem;
  }

  .pay-orders-page .pay-orders-address-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .pay-orders-page .pay-orders-address-heading {
    align-items: flex-start;
  }

  .pay-orders-page .pay-orders-address-modal {
    align-items: flex-end;
    padding: 0.16rem;
  }

  .pay-orders-page .pay-orders-address-modal-panel {
    width: 100%;
    height: calc(100dvh - 0.32rem);
    max-height: calc(100dvh - 0.32rem);
    padding: 0.3rem 0.28rem calc(0.28rem + env(safe-area-inset-bottom));
  }

  .pay-orders-page .pay-orders-address-modal-body {
    padding: 0.28rem 0.08rem 0 0;
  }

  .pay-orders-page .pay-orders-address-modal-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.28rem;
  }

  .pay-orders-page .pay-orders-address-modal-full {
    grid-column: auto;
  }

  .pay-orders-page .pay-orders-address-modal-actions {
    width: 100%;
    max-width: none;
    gap: 0.2rem;
    margin-top: 0.32rem;
    padding: 0.01rem;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field {
    font-size: 0.22rem;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field input,
  .pay-orders-page .pay-orders-address-modal-form .common-form-field select {
    height: 0.72rem;
    padding: 0 0.2rem;
    font-size: 0.22rem;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select {
    padding: 0 0.64rem 0 0.22rem;
  }

  .pay-orders-page .pay-orders-address-modal-form .pay-orders-address-select-arrow {
    right: 0.24rem;
    width: 0.22rem;
    height: 0.2rem;
  }

  .pay-orders-page .pay-orders-address-modal-form .common-form-field select option {
    padding: 0.18rem 0.22rem;
    font-size: 0.22rem;
    line-height: 0.3rem;
  }

  .pay-orders-page .pay-orders-address-default {
    align-items: flex-start;
    gap: 0.14rem;
    font-size: 0.22rem;
    line-height: 0.3rem;
  }

  .pay-orders-page .pay-orders-address-default-check {
    width: 0.4rem;
    height: 0.4rem;
    flex-basis: 0.4rem;
  }

  @supports (appearance: base-select) {
    .pay-orders-page .pay-orders-address-modal-form .common-form-field select::picker(select) {
      max-height: min(5.4rem, calc(100dvh - 0.8rem));
      padding: 0.12rem 0;
    }

    .pay-orders-page .pay-orders-address-modal-form .common-form-field select option {
      min-height: 0.62rem;
    }
  }
}

.profile-address-page.profile-page .profile-address-field-extra.is-expanded .profile-address-add {
  display: none;
}

.site-header .site-account-drawer-wrap {
  left: auto;
  width: min(3.27rem, 100vw);
}

.site-header.promo-hidden .site-account-drawer-wrap {
  left: auto;
  right: 0;
}



.site-header:has(.site-search-overlay.active) {
  z-index: var(--sk-zIndex-1000);
}

/* 购物车真实数据控件：保留原页面类的视觉规则。 */
.cart-summary-page [hidden] {
  display: none !important;
}

.cart-summary-page .cart-summary-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 12rem;
  margin: 0.32rem auto;
  padding: 0;
  list-style: none;
}

.cart-summary-page .cart-summary-progress li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0.1rem;
  color: #8a8a8a;
  text-align: center;
}

.cart-summary-page .cart-summary-progress li::before {
  position: absolute;
  top: 0.18rem;
  right: 50%;
  left: -50%;
  height: 0.02rem;
  background: #dedede;
  content: "";
}

.cart-summary-page .cart-summary-progress li:first-child::before { display: none; }
.cart-summary-page .cart-summary-progress span {
  z-index: 1;
  display: grid;
  width: 0.38rem;
  height: 0.38rem;
  place-items: center;
  border-radius: 50%;
  background: #dedede;
}
.cart-summary-page .cart-summary-progress .is-active { color: #020e23; }
.cart-summary-page .cart-summary-progress .is-active span { background: #fdd000; }

.search-cart-bottom[hidden] {
  display: none !important;
}

.search-cart-checkout[hidden] {
  display: none !important;
}

.cart-summary-page .cart-summary-alert {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 20px;
  padding: 12px 14px;
  color: #c62828;
  background: #fff1f0;
  border: 1px solid #ffcdd2;
  font-size: 14px;
  line-height: 1.5;
}

.site-header .cart-tool-panel {
  position: relative;
}

.site-header .site-header-cart-count {
  position: absolute;
  top: -0.08rem;
  right: -0.1rem;
  min-width: 0.18rem;
  height: 0.18rem;
  padding: 0 0.04rem;
  border-radius: 0.09rem;
  font-size: 0.11rem;
  line-height: 0.18rem;
  text-align: center;
  color: #ffffff;
  background: #e53935;
}

.vesta-cart-error-dialog {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.24rem;
  background: rgba(2, 14, 35, 0.56);
}

.vesta-cart-error-dialog[hidden] {
  display: none;
}

.vesta-cart-error-dialog-panel {
  position: relative;
  width: min(4.4rem, 100%);
  padding: 0.42rem 0.36rem 0.34rem;
  text-align: center;
  background: #fff;
  box-shadow: 0 0.18rem 0.5rem rgba(2, 14, 35, 0.2);
}

.vesta-cart-error-dialog-x {
  position: absolute;
  top: 0.1rem;
  right: 0.14rem;
  border: 0;
  padding: 0;
  font-size: 0.3rem;
  line-height: 1;
  color: #020e23;
  background: transparent;
  cursor: pointer;
}

.vesta-cart-error-dialog-title {
  margin: 0 0 0.18rem;
  font-size: 0.24rem;
  line-height: 1.35;
  color: #020e23;
}

.vesta-cart-error-dialog-message {
  margin: 0 0 0.28rem;
  font-size: 0.16rem;
  line-height: 1.55;
  color: #4b5563;
  overflow-wrap: anywhere;
}

.vesta-cart-error-dialog-reference {
  margin: -0.14rem 0 0.28rem;
  font-size: 0.14rem;
  line-height: 1.5;
  color: #6b7280;
  overflow-wrap: anywhere;
}

.vesta-cart-error-dialog-reference[hidden],
.vesta-cart-error-dialog-action[hidden] {
  display: none;
}

.vesta-cart-error-dialog-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.12rem;
}

.vesta-cart-error-dialog-confirm,
.vesta-cart-error-dialog-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.5rem;
  height: 0.46rem;
  box-sizing: border-box;
  padding: 0 0.24rem;
  font-size: 0.15rem;
  line-height: 1;
  text-decoration: none;
  color: #020e23;
  cursor: pointer;
}

.vesta-cart-error-dialog-confirm {
  border: 0;
  background: #ffcf00;
}

.vesta-cart-error-dialog-action {
  border: 1px solid #020e23;
  background: #fff;
}

.vesta-cart-error-dialog-x:focus-visible,
.vesta-cart-error-dialog-confirm:focus-visible,
.vesta-cart-error-dialog-action:focus-visible {
  outline: 2px solid #020e23;
  outline-offset: 3px;
}

.cart-summary-loading .cart-summary-product {
    visibility: hidden;
}

/* 首页场景图切换统一使用静态项目的淡入淡出节奏。 */
.index-page {
  --home-scene-opacity-duration: 0.85s;
  --home-scene-transform-duration: 1.1s;
  --home-scene-transition-ease: cubic-bezier(0.19, 1, 0.22, 1);
}

/* home-best-sellers-image-blend: merge opaque white product canvases into the card background. */
.index-page .best-sellers-section .card-swiper .swiper-slide {
  isolation: isolate;
}

@media screen and (min-width: 801px) {
  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide:not(:last-child) {
    margin-right: 50px;
  }
}

.index-page .best-sellers-section .card-swiper .swiper-slide .img-box .img {
  mix-blend-mode: multiply;
}

.index-page .best-sellers-section .card-swiper .swiper-slide .img-box .new-tag,
.index-page .best-sellers-section .card-swiper .swiper-slide .img-box .car {
  z-index: 2;
  mix-blend-mode: normal;
}

/* home-best-sellers-image-stack: keep Java's generic image classes aligned with the static scene-card transition. */
.index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: scale(1);
  transition:
    opacity var(--home-scene-opacity-duration) ease,
    transform var(--home-scene-transform-duration) var(--home-scene-transition-ease);
  will-change: opacity, transform;
}

.index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .img:first-child {
  opacity: 1;
  transform: scale(1);
  object-fit: contain;
}

.index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .img:nth-child(2) {
  opacity: 0;
  transform: scale(1);
  object-fit: cover;
}

.index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide:hover .img-box.has-secondary-image .img:first-child {
  opacity: 0;
  transform: scale(1);
}

.index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide:hover .img-box.has-secondary-image .img:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

/* home-best-sellers-mobile-polish: retain four visible products with clearer card spacing. */
@media (max-width: 800px) {
  .index-page .best-sellers-section .card-swiper {
    --height: 10.4rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide {
    overflow: hidden;
    border: 0.01rem solid rgba(9, 38, 71, 0.07);
    border-radius: 0.16rem;
    background: #f2f8ff;
    box-shadow: 0 0.08rem 0.22rem rgba(9, 38, 71, 0.07);
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .img-box {
    position: relative;
    height: 2.88rem;
    box-sizing: border-box;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .img-box .img {
    inset: 0.12rem;
    width: calc(100% - 0.24rem);
    height: calc(100% - 0.24rem);
    mix-blend-mode: multiply;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .img-box .img:first-child,
  .index-page .best-sellers-section .card-swiper .swiper-slide:hover .img-box .img:first-child {
    opacity: 1;
    transform: scale(1);
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .img-box .img:nth-child(2),
  .index-page .best-sellers-section .card-swiper .swiper-slide:hover .img-box .img:nth-child(2) {
    opacity: 0;
    transform: scale(1);
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .con-box {
    box-sizing: border-box;
    padding: 0.22rem 0.22rem 0.26rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .card-title {
    display: -webkit-box;
    min-height: 0.68rem;
    flex: 0 0 auto;
    overflow: hidden;
    font-size: 0.25rem;
    line-height: 0.34rem;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .card-title p {
    margin: 0;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .price {
    margin-top: 0.14rem;
    font-size: 0.28rem;
    line-height: 0.32rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .new-tag {
    top: 0.16rem;
    left: 0.16rem;
    height: 0.3rem;
    border-radius: 0.15rem;
    font-size: 0.18rem;
    line-height: 0.3rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide .car {
    right: 0.18rem;
    bottom: 0.2rem;
    width: 0.72rem;
    height: 0.72rem;
    box-shadow: 0 0.08rem 0.18rem rgba(9, 38, 71, 0.16);
  }

  /* Match main.css specificity so the mobile dimensions above win without !important. */
  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box {
    position: relative;
    height: 2.88rem;
    box-sizing: border-box;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .img {
    inset: 0.12rem;
    width: calc(100% - 0.24rem);
    height: calc(100% - 0.24rem);
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box {
    box-sizing: border-box;
    padding: 0.22rem 0.22rem 0.26rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box .card-title {
    min-height: 0.68rem;
    flex: 0 0 auto;
    font-size: 0.25rem;
    line-height: 0.34rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box .price {
    margin-top: 0.14rem;
    font-size: 0.28rem;
    line-height: 0.32rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .new-tag {
    top: 0.16rem;
    left: 0.16rem;
    height: 0.3rem;
    border-radius: 0.15rem;
    font-size: 0.18rem;
    line-height: 0.3rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .car {
    right: 0.18rem;
    bottom: 0.2rem;
    width: 0.72rem;
    height: 0.72rem;
    box-shadow: 0 0.08rem 0.18rem rgba(9, 38, 71, 0.16);
  }
}

/* 学习中心栏目文案保留后台换行，推荐商品使用蓝底并在桌面端切换场景图。 */
.learn-center-page .learn-center-intro-text {
  white-space: pre-line;
}

.learn-center-page .learn-center-product-img,
.learn-details-page .learn-details-product-img {
  background-color: #f2f8ff;
}

.learn-center-page .learn-center-product .recommended-spec-primary,
.learn-center-page .learn-center-product .recommended-spec-secondary,
.learn-details-page .learn-details-product .recommended-spec-primary,
.learn-details-page .learn-details-product .recommended-spec-secondary {
  object-fit: contain;
  mix-blend-mode: multiply;
}

@media (max-width: 800px) {
  .learn-center-page .learn-center-product .recommended-spec-primary,
  .learn-details-page .learn-details-product .recommended-spec-primary {
    display: block !important;
    opacity: 1 !important;
    object-fit: contain;
  }

  .learn-center-page .learn-center-product .recommended-spec-secondary,
  .learn-details-page .learn-details-product .recommended-spec-secondary {
    display: none !important;
    opacity: 0 !important;
  }

  .learn-center-page .learn-center-product-img,
  .learn-details-page .learn-details-product-img {
    background-color: #f2f8ff;
  }
}

/* Keep the hover background behind the card, and blend opaque white image canvases into it. */
.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide {
  isolation: isolate;
}

.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .new-tag {
  position: absolute;
  z-index: 2;
  top: 0.26rem;
  left: 0.21rem;
  display: flex;
  align-items: center;
  height: 0.3rem;
  padding: 0 0.1rem;
  font-family: var(--sk-font-Medium);
  font-size: 0.16rem;
  background-color: var(--sk-global-color);
}

.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide:hover .img-box .img {
  mix-blend-mode: multiply;
}

/* Home banner cards keep the Java image order while matching the static scene-card fade. */
.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .img {
  transition:
    opacity var(--home-scene-opacity-duration) ease,
    transform var(--home-scene-transform-duration) var(--home-scene-transition-ease);
  will-change: opacity, transform;
}

.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .img:first-child {
  opacity: 1;
  transform: scale(1);
  object-fit: contain;
}

.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .img:nth-child(2) {
  opacity: 0;
  transform: scale(1);
  object-fit: cover;
}

.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide:hover .img-box.has-secondary-image .img:first-child {
  opacity: 0;
  transform: scale(1);
}

.index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide:hover .img-box.has-secondary-image .img:nth-child(2) {
  opacity: 1;
  transform: scale(1);
}

@media (max-width: 800px) {
  /* home-banner-card-mobile-native-scroll: match Best Sellers cards and use native touch scrolling. */
  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper {
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.18rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper::-webkit-scrollbar {
    display: none;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper {
    display: flex;
    width: max-content;
    gap: 0.28rem;
    transform: none !important;
    transition: none !important;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide {
    flex: 0 0 3.08rem;
    width: 3.08rem;
    min-height: 5.36rem;
    overflow: hidden;
    border: 0.01rem solid rgba(9, 38, 71, 0.07);
    border-radius: 0.16rem;
    box-sizing: border-box;
    background: #f2f8ff;
    box-shadow: 0 0.08rem 0.22rem rgba(9, 38, 71, 0.07);
    scroll-snap-align: start;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide::before {
    display: none;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box {
    position: relative;
    height: 2.88rem;
    overflow: hidden;
    box-sizing: border-box;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .img {
    inset: 0.12rem;
    width: calc(100% - 0.24rem);
    height: calc(100% - 0.24rem);
    object-fit: contain;
    mix-blend-mode: multiply;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .con-box {
    box-sizing: border-box;
    padding: 0.22rem 0.22rem 0.26rem;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .con-box .card-title {
    display: -webkit-box;
    min-height: 0.68rem;
    overflow: hidden;
    flex: 0 0 auto;
    font-size: 0.25rem;
    line-height: 0.34rem;
    text-align: left;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .con-box .card-title p {
    margin: 0;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .con-box .price {
    margin-top: 0.14rem;
    font-size: 0.28rem;
    line-height: 0.32rem;
    text-align: left;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .new-tag {
    top: 0.16rem;
    left: 0.16rem;
    height: 0.3rem;
    padding: 0 0.08rem;
    border-radius: 0.15rem;
    font-size: 0.18rem;
    line-height: 0.3rem;
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .car {
    right: 0.18rem;
    bottom: 0.2rem;
    width: 0.72rem;
    height: 0.72rem;
    box-shadow: 0 0.08rem 0.18rem rgba(9, 38, 71, 0.16);
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .img:first-child,
  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide:hover .img-box .img:first-child {
    opacity: 1;
    transform: scale(1);
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide .img-box .img:nth-child(2),
  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide:hover .img-box .img:nth-child(2) {
    opacity: 0;
    transform: scale(1);
  }

  .index-page .banner-card-section .card-list-wrap .card-swiper-wrapper .card-swiper .swiper-wrapper .swiper-slide:hover .img-box .img {
    mix-blend-mode: normal;
  }

}

.cart-summary-product.unavailable {
  opacity: 0.58;
}

.cart-summary-product.updating {
  pointer-events: none;
  opacity: 0.72;
}

.cart-summary-checkout.disabled,
.cart-summary-mobile-checkout.disabled {
  pointer-events: none;
  opacity: 0.5;
}

.profile-order-pend-page .profile-order-pend-customizations {
  margin: 0.08rem 0 0;
  font-size: 0.14rem;
  line-height: 0.2rem;
  color: #777777;
}

.profile-order-pend-page .profile-order-pend-customizations > div {
  display: flex;
  gap: 0.06rem;
  min-width: 0;
}

.profile-order-pend-page .profile-order-pend-customizations dt {
  flex: 0 0 auto;
}

.profile-order-pend-page .profile-order-pend-customizations dt::after {
  content: ":";
}

.profile-order-pend-page .profile-order-pend-customizations dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 801px) {
  .site-footer .site-footer-column-experts .site-footer-list {
    margin-top: 0.34rem;
  }

  .site-footer .site-footer-column-experts .site-footer-list span {
    font-size: 0.18rem;
    line-height: 0.36rem;
    color: #f5f5f5;
  }
}

@media (max-width: 768px) {
  .vesta-cart-error-dialog {
    padding: 0.32rem;
  }

  .vesta-cart-error-dialog-panel {
    width: min(5.8rem, 100%);
    padding: 0.56rem 0.4rem 0.4rem;
  }

  .vesta-cart-error-dialog-title {
    font-size: 0.3rem;
  }

  .vesta-cart-error-dialog-message {
    font-size: 0.24rem;
  }

  .vesta-cart-error-dialog-reference {
    font-size: 0.2rem;
  }

  .vesta-cart-error-dialog-actions {
    flex-direction: column;
  }

  .vesta-cart-error-dialog-confirm,
  .vesta-cart-error-dialog-action {
    width: 100%;
    height: 0.68rem;
    font-size: 0.24rem;
  }

  .profile-order-pend-page .profile-order-pend-customizations {
    font-size: 0.16rem;
    line-height: 0.24rem;
  }

}

/* Forum detail page visual refresh. */
.forum-detail-page {
  --forum-detail-border: #e2e8f0;
  --forum-detail-toolbar: #f8fafc;
  --forum-detail-brand: #f2c94c;
  --forum-detail-ink: #0f172a;
  --forum-detail-muted: #64748b;
  background: #f8fafc;
}

.forum-detail-page .forum-detail-main {
  background: #f8fafc;
}

.forum-detail-page .forum-detail-mobile-return {
  display: none;
}

.forum-detail-page .forum-detail-card {
  overflow: hidden;
  border: 1px solid var(--forum-detail-border);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.035);
}

.forum-detail-page .forum-detail-topic {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0.4rem 0.42rem 0.46rem;
}

.forum-detail-page .forum-detail-topic-meta,
.forum-detail-page .forum-detail-author {
  display: flex;
  align-items: center;
}

.forum-detail-page .forum-detail-topic-meta {
  justify-content: space-between;
  gap: 0.24rem;
}

.forum-detail-page .forum-detail-author {
  min-width: 0;
  text-align: left;
}

.forum-detail-page .forum-detail-author-avatar {
  flex: 0 0 auto;
  width: 0.52rem;
  height: 0.52rem;
  margin: 0 0.14rem 0 0;
  border: 1px solid var(--forum-detail-border);
}

.forum-detail-page .forum-detail-author-name {
  min-width: 0;
  margin-top: 0;
  overflow: hidden;
  color: #1e293b;
  font-size: 0.18rem;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.forum-detail-page .forum-detail-topic-date {
  flex: 0 0 auto;
  margin-top: 0;
  color: var(--forum-detail-muted);
  font-size: 0.15rem;
  line-height: 1.4;
}

.forum-detail-page .forum-detail-topic-body {
  min-width: 0;
  margin-left: 0;
  padding-top: 0.28rem;
}

.forum-detail-page .forum-detail-topic-title {
  color: var(--forum-detail-ink);
  font-size: clamp(0.3rem, 2.1vw, 0.4rem);
  font-family: var(--sk-font-Bold);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.forum-detail-page .forum-detail-topic-text {
  margin-top: 0.22rem;
  color: #475569;
  font-size: 0.18rem;
  line-height: 1.75;
}

.forum-detail-page .forum-detail-topic-text > :first-child,
.forum-detail-page .forum-detail-reply-text > :first-child {
  margin-top: 0;
}

.forum-detail-page .forum-detail-topic-text > :last-child,
.forum-detail-page .forum-detail-reply-text > :last-child {
  margin-bottom: 0;
}

.forum-detail-page .forum-detail-reply-editor {
  display: flex;
  flex-direction: column;
  min-height: 0;
  margin-top: 0.32rem;
  padding: 0.34rem 0.4rem 0.36rem;
}

.forum-detail-page .forum-detail-reply-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.24rem;
  margin-bottom: 0.24rem;
}

.forum-detail-page .forum-detail-reply-title {
  margin: 0;
  color: var(--forum-detail-ink);
  font-size: 0.26rem;
  font-family: var(--sk-font-Bold);
  line-height: 1.35;
}

.forum-detail-page .forum-detail-reply-user {
  flex: 0 1 auto;
}

.forum-detail-page .forum-detail-reply-user .forum-detail-author-avatar {
  width: 0.38rem;
  height: 0.38rem;
  margin-right: 0.1rem;
}

.forum-detail-page .forum-detail-reply-user .forum-detail-author-name {
  color: var(--forum-detail-muted);
  font-size: 0.15rem;
}

.forum-detail-page .forum-detail-editor-body {
  min-width: 0;
  margin-left: 0;
}

.forum-detail-page .forum-detail-vditor {
  padding: 1px;
  overflow: hidden;
  border: 1px solid var(--forum-detail-border);
  border-radius: 10px;
  background: #ffffff;
  transition: box-shadow 0.25s ease, background 0.25s ease;
}

.forum-detail-page .forum-detail-vditor:focus-within {
  border-color: transparent;
  background: linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, #f2c94c, #f59e0b) border-box;
  box-shadow: 0 0 0 3px rgba(242, 201, 76, 0.16);
}

.forum-detail-page .forum-detail-vditor .vditor {
  overflow: hidden;
  border-radius: 8px;
}

.forum-detail-page .forum-detail-vditor .vditor-toolbar {
  gap: 0.04rem;
  min-height: 0.46rem;
  padding: 0.05rem 0.1rem !important;
  border-bottom: 1px solid var(--forum-detail-border);
  background: var(--forum-detail-toolbar);
}

.forum-detail-page .forum-detail-vditor .vditor-toolbar__item,
.forum-detail-page .forum-detail-vditor .vditor-toolbar__item button {
  height: 0.36rem;
}

.forum-detail-page .forum-detail-vditor .vditor-toolbar__item button {
  width: 0.3rem;
  border-radius: 6px;
}

.forum-detail-page .forum-detail-vditor .vditor-toolbar__item button:hover {
  background: #e2e8f0;
}

.forum-detail-page .forum-detail-vditor .vditor-reset {
  border: 0;
  color: #334155;
  line-height: 1.65;
}

.forum-detail-page .forum-detail-reply-bottom {
  gap: 0.2rem;
}

.forum-detail-page .forum-detail-replies {
  margin-top: 0.32rem;
  padding: 0.08rem 0.4rem 0.46rem;
}

.forum-detail-page .forum-detail-reply-item {
  gap: 0.2rem;
  padding: 0.3rem 0;
  border-bottom: 1px solid var(--forum-detail-border);
}

.forum-detail-page .forum-detail-reply-item:last-child {
  border-bottom: 0;
}

.forum-detail-page .forum-detail-reply-body {
  margin-left: 0;
  padding: 0.02rem 0 0;
}

.forum-detail-page .forum-detail-reply-text {
  color: #475569;
  line-height: 1.65;
}

.forum-detail-page .forum-detail-reply-date {
  margin-top: 0.16rem;
  color: var(--forum-detail-muted);
  font-size: 0.14rem;
}

.forum-detail-page .forum-detail-profile,
.forum-detail-page .forum-detail-active {
  border-radius: 12px;
}

.forum-detail-page .forum-detail-profile {
  min-height: 0;
  padding: 0.34rem 0.42rem 0.4rem;
  background: linear-gradient(180deg, #fffaf0 0%, #ffffff 72%);
}

.forum-detail-page .forum-detail-profile-stats {
  gap: 0.18rem;
  margin-top: 0.34rem;
  padding: 0;
}

.forum-detail-page .forum-detail-profile-stats > a {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  gap: 0.04rem;
  color: #64748b;
}

.forum-detail-page .forum-detail-profile-stat-num,
.forum-detail-page .forum-detail-profile-stats span {
  display: block;
}

.forum-detail-page .forum-detail-profile-stat-num {
  margin-right: 0;
  color: #172033;
  font-size: 0.36rem;
  font-family: var(--sk-font-Bold);
  line-height: 1.1;
}

.forum-detail-page .forum-detail-profile-stats > a:hover .forum-detail-profile-stat-num {
  color: #a97900;
}

.forum-detail-page .forum-detail-new-post {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 0.42rem;
  min-width: 0;
  margin-top: 0.32rem;
  padding: 0 0.28rem;
  border-radius: 20px;
  background: var(--forum-detail-brand);
  box-shadow: 0 3px 8px rgba(180, 131, 0, 0.12);
  transition: transform 0.22s ease, box-shadow 0.22s ease, background-color 0.22s ease;
}

.forum-detail-page .forum-detail-new-post:hover {
  background: #f5cf59;
  box-shadow: 0 8px 18px rgba(180, 131, 0, 0.2);
  transform: translateY(-2px) scale(1.02);
}

.forum-detail-page .forum-detail-new-post .btn__content {
  height: 100%;
}

.forum-detail-page .forum-detail-active {
  min-height: 0;
  margin-top: 0.32rem;
}

@media (max-width: 800px) {
  .forum-detail-page .common-crumb,
  .forum-detail-page .forum-detail-sidebar,
  .forum-detail-page .forum-detail-reply-editor {
    display: none;
  }

  .forum-detail-page .forum-detail-mobile-return {
    display: inline-flex;
    width: auto;
    height: 0.64rem;
    min-height: 0;
    margin: 0.24rem 0.32rem 0;
    padding: 0 0.18rem;
    border: 1px solid var(--forum-detail-border);
    border-radius: 20px;
    background: #ffffff;
  }

  .forum-detail-page .forum-detail-content {
    padding-top: 0.24rem;
  }

  .forum-detail-page .forum-detail-card {
    border-radius: 12px;
  }

  .forum-detail-page .forum-detail-topic {
    padding: 0.32rem;
  }

  .forum-detail-page .forum-detail-topic-meta {
    align-items: flex-start;
    flex-wrap: nowrap;
  }

  .forum-detail-page .forum-detail-topic-meta > .forum-detail-author {
    flex: 1 1 auto;
    width: auto;
  }

  .forum-detail-page .forum-detail-topic-date {
    margin-bottom: 0;
  }

  .forum-detail-page .forum-detail-author-avatar {
    width: 0.64rem;
    height: 0.64rem;
  }

  .forum-detail-page .forum-detail-topic-body {
    padding-top: 0.3rem;
  }

  .forum-detail-page .forum-detail-topic-title {
    font-size: 0.4rem;
    line-height: 1.4;
  }

  .forum-detail-page .forum-detail-topic-text {
    font-size: 0.24rem;
    line-height: 1.7;
  }

  .forum-detail-page .forum-detail-replies {
    margin-top: 0.28rem;
    padding: 0.04rem 0.28rem 0.32rem;
  }

  .forum-detail-page .forum-detail-reply-item {
    display: flex;
    flex-direction: column;
    gap: 0.16rem;
    padding: 0.28rem 0;
  }

  .forum-detail-page .forum-detail-reply-item .forum-detail-author {
    margin-top: 0;
  }

  .forum-detail-page .forum-detail-reply-text {
    font-size: 0.24rem;
    line-height: 1.65;
  }

  .forum-detail-page .forum-detail-reply-date {
    font-size: 0.2rem;
  }

  .forum-detail-page .forum-detail-vditor .vditor-toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .forum-detail-page .forum-detail-new-post {
    transition: none;
  }

  .forum-detail-page .forum-detail-new-post:hover {
    transform: none;
  }
}

/* Preserve CMS-authored line breaks without enabling HTML in plain text fields. */
.cms-text-lines {
  white-space: pre-line;
}


/* PC 离开页面顶部时只隐藏黄色促销横幅，白色主导航继续吸顶。 */
@media screen and (min-width: 801px) {
    .site-header.promo-hidden .site-header-promo {
        display: none;
    }
}

@media screen and (max-width: 800px) {
    button.site-header-mobile-promo-close {
        padding: 0;
        border: 0;
        cursor: pointer;
    }
}

/* 全站移动端快捷导航：尺寸、间距和颜色与 dist 保持一致。 */
.home-mobile-footer {
    display: none;
}

@media screen and (max-width: 800px) {
    .site-footer {
        margin-bottom: calc(0.92rem + env(safe-area-inset-bottom));
    }

    .profile-mobile-page .site-footer {
        margin-bottom: calc(0.92rem + env(safe-area-inset-bottom));
    }

    .home-mobile-footer {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 98;
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
        height: calc(0.92rem + env(safe-area-inset-bottom));
        padding: 0.08rem 0.3rem calc(0.08rem + env(safe-area-inset-bottom));
        box-sizing: border-box;
        background: #020e23;
        box-shadow: 0 -0.06rem 0.18rem rgba(0, 0, 0, 0.18);
    }

    .home-mobile-footer-link {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -webkit-flex: 1 1 25%;
        -ms-flex: 1 1 25%;
        flex: 1 1 25%;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        -ms-flex-direction: column;
        flex-direction: column;
        min-width: 0;
        color: #FFFFFF;
        text-align: center;
    }

    .home-mobile-footer-link.active {
        color: #F4CA0A;
    }

    .home-mobile-footer-link.active .home-mobile-footer-img.normal {
        display: none;
    }

    .home-mobile-footer-link.active .home-mobile-footer-img.current {
        display: block;
    }

    .home-mobile-footer-icon {
        display: -webkit-inline-box;
        display: -webkit-inline-flex;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 0.34rem;
        height: 0.34rem;
        -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-bottom: 0.02rem;
    }

    .home-mobile-footer-img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .home-mobile-footer-img.current {
        display: none;
    }

    .home-mobile-footer-text {
        display: block;
        max-width: 100%;
        overflow: hidden;
        font-size: 0.18rem;
        line-height: 0.22rem;
        color: #ffffff;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-family: var(--sk-font-Regular);
    }

    .home-mobile-footer-link.active .home-mobile-footer-text {
      color: #F4CA0A;
    }
}
.empty-state {
  display: flex;
  min-height: 3.2rem;
  padding: 0.48rem 0.24rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  color: #06162f;
  text-align: center;
}

.empty-state[hidden] {
  display: none !important;
}

.empty-state-host[hidden] {
  display: none !important;
}

/* 收藏页面动态空状态start：沿用静态页面布局，仅衔接接口控制的 hidden 状态。 */
.profile-favorites-page .profile-favorites-empty:not([hidden]) {
  display: flex;
}

.profile-favorites-page .profile-favorites-empty[hidden],
.profile-favorites-page.is-empty .profile-favorites-pagination {
  display: none;
}
/* 收藏页面动态空状态end */

.empty-state__media {
  width: 1.8rem;
  margin-bottom: 0.18rem;
}

.empty-state__media img {
  display: block;
  width: 100%;
  height: auto;
}

.empty-state__title {
  margin: 0;
  color: #06162f;
  font-size: 0.22rem;
  font-weight: 600;
  line-height: 1.35;
}

.empty-state__description {
  max-width: 4.6rem;
  margin: 0.08rem 0 0;
  color: #7b8491;
  font-size: 0.15rem;
  line-height: 1.55;
}

.empty-state--compact {
  min-height: 1.8rem;
  padding: 0.26rem 0.18rem;
}

.empty-state--compact .empty-state__media {
  width: 1.05rem;
  margin-bottom: 0.1rem;
}

.empty-state--compact .empty-state__title {
  font-size: 0.18rem;
}

.empty-state--compact .empty-state__description {
  max-width: 3.5rem;
  margin-top: 0.05rem;
  font-size: 0.13rem;
}

@media (max-width: 800px) {
  .empty-state {
    min-height: 2.6rem;
    padding: 0.36rem 0.2rem;
  }

  .empty-state__media {
    width: 1.35rem;
    margin-bottom: 0.14rem;
  }

  .empty-state__title {
    font-size: 0.2rem;
  }

  .empty-state__description {
    max-width: 3.1rem;
    font-size: 0.14rem;
  }

  .empty-state--compact {
    min-height: 1.55rem;
    padding: 0.22rem 0.14rem;
  }

  .empty-state--compact .empty-state__media {
    width: 0.88rem;
  }
}
/* Thumbtack 官方完整标识：白底、原色、等比显示，并保留标识四周留白。 */
:is(.profile-order-pend-page, .pay-success-page) a.thumbtack-service-link {
  display: flex;
  min-width: 0;
  padding: 20px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: 1px solid #d3d4d5;
  background: #ffffff;
  color: #2f3033;
  text-decoration: none;
  box-sizing: border-box;
}

:is(.profile-order-pend-page, .pay-success-page) a.thumbtack-service-link > img.thumbtack-service-logo {
  display: block;
  width: 180px;
  max-width: 100%;
  height: auto;
  flex: 0 0 auto;
  object-fit: contain;
}

:is(.profile-order-pend-page, .pay-success-page) .thumbtack-service-cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: var(--sk-font-SemiBold);
  font-size: 16px;
  line-height: 24px;
}

:is(.profile-order-pend-page, .pay-success-page) a.thumbtack-service-link:hover {
  border-color: #009fd9;
  background: #ffffff;
  box-shadow: none;
  transform: none;
}

:is(.profile-order-pend-page, .pay-success-page) a.thumbtack-service-link:focus-visible {
  outline: 2px solid #009fd9;
  outline-offset: 3px;
}

.profile-order-pend-page .order-thumbtack {
  display: flex;
  margin-top: 0.4rem;
  padding: 0.32rem;
  align-items: center;
  justify-content: space-between;
  gap: 0.32rem;
  background: #ffffff;
}

.profile-order-pend-page .order-thumbtack[hidden] {
  display: none;
}

.profile-order-pend-page .order-thumbtack-copy {
  min-width: 0;
  flex: 1;
}

.profile-order-pend-page .order-thumbtack h2 {
  margin: 0;
  color: #333333;
  font-family: var(--sk-font-SemiBold);
  font-size: 0.24rem;
  line-height: 1.4;
}

.profile-order-pend-page .order-thumbtack p {
  margin: 0.12rem 0 0;
  color: #676d73;
  font-size: 0.18rem;
  line-height: 1.6;
}

.profile-order-pend-page .order-thumbtack .order-thumbtack-note {
  font-size: 0.14rem;
}

.profile-order-pend-page .order-thumbtack .thumbtack-service-link {
  flex: 0 0 240px;
}

@media screen and (max-width: 800px) {
  .profile-order-pend-page .order-thumbtack {
    padding: 0.4rem 0.24rem;
    flex-direction: column;
    align-items: stretch;
  }

  .profile-order-pend-page .order-thumbtack h2 {
    font-size: 0.32rem;
  }

  .profile-order-pend-page .order-thumbtack p {
    font-size: 0.28rem;
  }

  .profile-order-pend-page .order-thumbtack .order-thumbtack-note {
    font-size: 0.24rem;
  }

  .profile-order-pend-page .order-thumbtack .thumbtack-service-link {
    flex-basis: auto;
  }
}

/* Shared request overlay for user-triggered actions on desktop and mobile. */
.request-loading-view {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100dvh;
  min-height: 100vh;
  background: rgba(255, 255, 255, 0.68);
  touch-action: none;
}

.request-loading-view .loading {
  width: 32px;
  height: 32px;
  box-sizing: border-box;
  border: 3px solid rgba(6, 30, 67, 0.14);
  border-top-color: #061e43;
  border-right-color: #f5c400;
  border-radius: 50%;
  animation: vesta-request-loading-spin 0.75s linear infinite;
}

/* 个人中心账户栏目统一渲染：栏目可滚动，桌面退出入口始终固定在右侧。 */
.profile-account-tabs {
  position: static;
  top: auto;
  padding-right: 0;
  overflow: hidden;
}

.profile-account-tabs-items {
  display: flex;
  align-items: center;
  min-width: 0;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  flex: 1 1 auto;
  scrollbar-width: none;
}

.profile-account-tabs-items::-webkit-scrollbar {
  display: none;
}

.profile-account-tabs-signout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.1rem;
  height: 100%;
  margin-left: auto;
  padding: 0 0.34rem;
  border-left: 0.01rem solid rgba(255, 255, 255, 0.24);
  box-sizing: border-box;
  flex: 0 0 auto;
  color: #fdd000;
  font-size: 0.18rem;
  font-family: var(--sk-font-Bold);
  line-height: 0.24rem;
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.profile-page .profile-account-tabs-signout {
  color: #fdd000;
}

.profile-account-tabs-signout img {
  width: 0.14rem;
  height: 0.14rem;
  filter: brightness(0) saturate(100%) invert(78%) sepia(98%) saturate(1025%) hue-rotate(357deg) brightness(101%) contrast(104%);
}

.profile-account-tabs-signout:hover,
.profile-account-tabs-signout:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.profile-account-tabs-signout:hover img,
.profile-account-tabs-signout:focus-visible img {
  filter: brightness(0) invert(1);
}

.profile-account-tabs-signout.is-loading {
  opacity: 0.6;
  pointer-events: none;
}

@media screen and (max-width: 800px) {
  .profile-account-tabs-signout {
    display: none;
  }

  .profile-mobile-page .profile-mobile-menu {
    width: 100%;
  }
}

@keyframes vesta-request-loading-spin {
  to {
    transform: rotate(360deg);
  }
}
@media screen and (max-width: 800px) {
  /* 动态订单使用 article，首条也会命中 main.css 的 :first-of-type。 */
  .profile-order-page article.profile-order-row:first-of-type {
    display: flex;
  }

  .profile-order-page .profile-order-row-head {
    display: none;
  }
}

/* 订单页 Stripe Payment Element：仅覆盖安全支付区域及其交互状态。 */


.pay-orders-page .pay-orders-payment-choice {
  position: relative;
  width: 100%;
  align-items: flex-start;
  padding: 0.18rem;
  border: 0.01rem solid #d9dde5;
  box-sizing: border-box;
  background: #ffffff;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.pay-orders-page .pay-orders-summary {
  min-height: 6.2rem;
}

.pay-orders-page .pay-orders-payment-methods > .pay-orders-payment-choice:not(:first-child) {
  margin-top: 0.18rem;
}

.pay-orders-page .pay-orders-payment-choice.on {
  border-color: #f4ca0a;
  background: #fffdf4;
}

.pay-orders-page .pay-orders-payment-input {
  position: absolute;
  width: 0.01rem;
  height: 0.01rem;
  opacity: 0;
  pointer-events: none;
}

.pay-orders-page .pay-orders-payment-choice:focus-within {
  outline: 0.03rem solid rgba(244, 202, 10, 0.32);
  outline-offset: 0.02rem;
}

.pay-orders-page .pay-orders-payment-choice-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
}

.pay-orders-page .pay-orders-stripe-heading,
.profile-return-page .pay-orders-stripe-heading {
  display: flex;
  align-items: center;
  gap: 0.12rem;
  color: #020e23;
  font-size: 0.18rem;
  font-family: var(--sk-font-Bold);
  line-height: 1.4;
}

.pay-orders-page .pay-orders-stripe-mark,
.profile-return-page .pay-orders-stripe-mark {
  display: inline-flex;
  align-items: center;
  min-height: 0.32rem;
  padding: 0.02rem 0.12rem;
  background: #635bff;
  color: #ffffff;
  font-size: 0.14rem;
  letter-spacing: 0.01em;
}

.pay-orders-page .pay-orders-safe-note,
.profile-return-page .pay-orders-safe-note {
  margin: 0.12rem 0 0;
  color: #5d6673;
  font-size: 0.14rem;
  line-height: 1.55;
}

.pay-orders-page .pay-orders-payment-element-shell,
.profile-return-page .pay-orders-payment-element-shell {
  margin-top: 0.2rem;
  padding: 0.2rem;
  border: 0.01rem solid #d9dde5;
  box-sizing: border-box;
  background: #ffffff;
  transition: border-color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
}

.pay-orders-page .pay-orders-payment-element-shell[hidden],
.pay-orders-page .pay-orders-payment-loading[hidden],
.pay-orders-page .pay-orders-payment-error[hidden] {
  display: none;
}

.pay-orders-page .pay-orders-payment-element,
.profile-return-page .pay-orders-payment-element {
  width: 100%;
  min-height: 1.68rem;
}

.pay-orders-page .pay-orders-payment-loading {
  display: flex;
  min-height: 1.68rem;
  align-items: center;
  justify-content: center;
  gap: 0.14rem;
  color: #5d6673;
  font-size: 0.14rem;
  line-height: 1.4;
}

.pay-orders-page .pay-orders-payment-skeleton {
  width: 0.24rem;
  height: 0.24rem;
  border: 0.03rem solid rgba(99, 91, 255, 0.18);
  border-top-color: #635bff;
  border-radius: 50%;
  animation: pay-orders-payment-spin 0.75s linear infinite;
}

.pay-orders-page .pay-orders-payment-error {
  margin-top: 0.16rem;
  padding: 0.12rem 0.14rem;
  border-left: 0.04rem solid #b42318;
  background: #fff1f0;
  color: #8b1a12;
  font-size: 0.14rem;
  line-height: 1.45;
}

.pay-orders-page.is-payment-confirming .pay-orders-payment-element-shell,
.pay-orders-page.is-payment-polling .pay-orders-payment-element-shell {
  border-color: #8f89ff;
  box-shadow: 0 0 0 0.03rem rgba(99, 91, 255, 0.12);
}

.pay-orders-page .pay-orders-submit:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  pointer-events: none;
}

.pay-orders-page.is-payment-confirming .pay-orders-submit,
.pay-orders-page.is-payment-polling .pay-orders-submit {
  cursor: progress;
}

@keyframes pay-orders-payment-spin {
  to {
    transform: rotate(360deg);
  }
}

@media screen and (max-width: 800px) {
  .pay-orders-page .pay-orders-payment-methods {
    margin-top: 0.32rem;
  }

  .pay-orders-page .pay-orders-payment-choice {
    padding: 0.24rem;
  }

  .pay-orders-page .pay-orders-stripe-heading,
.profile-return-page .pay-orders-stripe-heading {
    gap: 0.16rem;
    font-size: 0.26rem;
  }

  .pay-orders-page .pay-orders-stripe-mark,
.profile-return-page .pay-orders-stripe-mark {
    min-height: 0.44rem;
    padding: 0.04rem 0.16rem;
    font-size: 0.2rem;
  }

  .pay-orders-page .pay-orders-safe-note,
.profile-return-page .pay-orders-safe-note {
    margin-top: 0.18rem;
    font-size: 0.22rem;
    line-height: 1.5;
  }

  .pay-orders-page .pay-orders-payment-element-shell,
.profile-return-page .pay-orders-payment-element-shell {
    margin-top: 0.28rem;
    padding: 0.24rem;
  }

  .pay-orders-page .pay-orders-payment-element,
  .pay-orders-page .pay-orders-payment-loading {
    min-height: 2.2rem;
  }

  .pay-orders-page .pay-orders-payment-loading,
  .pay-orders-page .pay-orders-payment-error {
    font-size: 0.22rem;
  }

  .pay-orders-page .pay-orders-payment-error {
    margin-top: 0.22rem;
    padding: 0.16rem 0.18rem;
  }

  .pay-orders-page .pay-orders-submit:disabled {
    min-height: 44px;
  }
}
.pay-orders-page .pay-orders-payment-feedback {
  margin: 0.24rem 0;
  padding: 0.18rem;
  border-left: 0.04rem solid #b42318;
  background: #fff1f0;
  color: #8b1a12;
}

.pay-orders-page .pay-orders-payment-feedback[hidden],
.pay-orders-page .pay-orders-payment-error-action[hidden] {
  display: none;
}

.pay-orders-page .pay-orders-payment-feedback p {
  margin: 0.08rem 0 0;
}

.pay-orders-page .pay-orders-payment-reference {
  color: #6f332e;
  font-size: 0.13rem;
  overflow-wrap: anywhere;
}

.pay-orders-page .pay-orders-payment-error-action {
  display: inline-flex;
  margin-top: 0.14rem;
  min-height: 0.4rem;
  align-items: center;
  padding: 0 0.18rem;
  background: #020e23;
  color: #fff;
}

@media screen and (max-width: 800px) {
  .pay-orders-page .pay-orders-payment-feedback {
    margin: 0.32rem 0;
    padding: 0.24rem;
    font-size: 0.22rem;
  }

  .pay-orders-page .pay-orders-payment-reference {
    font-size: 0.2rem;
  }

  .pay-orders-page .pay-orders-payment-error-action {
    width: 100%;
    min-height: 0.72rem;
    justify-content: center;
  }
}

/* 订单取消确认弹窗对齐静态站start */
:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.24rem;
  box-sizing: border-box;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog[hidden] {
  display: none;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-mask {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: rgba(0, 0, 0, 0.74);
  cursor: pointer;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-panel {
  position: relative;
  z-index: 1;
  width: min(4.8rem, 100%);
  max-height: calc(100dvh - 0.48rem);
  padding: 0.42rem 0.36rem 0.34rem;
  box-sizing: border-box;
  overflow-y: auto;
  border: 0;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  text-align: center;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-x {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0.1rem;
  right: 0.14rem;
  width: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #020e23;
  font-size: 0.3rem;
  line-height: 1;
  cursor: pointer;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-x img {
  display: block;
  width: 0.24rem;
  height: 0.24rem;
  object-fit: contain;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-panel h2 {
  margin: 0 0 0.18rem;
  padding: 0 0.3rem;
  color: #333333;
  font-family: var(--sk-font-SemiBold);
  font-size: 0.24rem;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-panel p {
  margin: 0 0 0.3rem;
  color: #666666;
  font-family: var(--sk-font-Medium);
  font-size: 0.16rem;
  line-height: 1.55;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.16rem;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn {
  width: 100%;
  min-width: 0;
  height: 0.5rem;
  min-height: 0.5rem;
  margin: 0;
  box-sizing: border-box;
  border-radius: 0;
  box-shadow: none;
}

/* 沿用静态站无箭头弹窗按钮的内容容器，文字翻转交由公共按钮脚本处理。 */
:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .btn__content {
  justify-content: center;
  width: 100%;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn {
  cursor: pointer;
}

/* 与个人中心操作按钮一致：按压轻微缩放，提交禁用时停止动作反馈。 */
:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn:active:not(:disabled) {
  transform: scale(0.98);
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn:disabled {
  transform: none;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn:disabled .default____btn__txt[data-roll-text]::before,
:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn:disabled .default____btn__txt[data-roll-text]::after {
  transform: none;
  transition: none;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn__txt {
  margin-right: 0;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-cancel {
  border: 0.01rem solid #06132a;
  background: #ffffff;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-cancel .default____btn__txt {
  color: #333333;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-confirm {
  border: 0.01rem solid var(--sk-global-color);
  background: var(--sk-global-color);
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-x:focus-visible,
:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn:focus-visible {
  outline: 2px solid #020e23;
  outline-offset: 3px;
}

:is(.profile-order-pend-page, .profile-return-page) [data-order-cancel-dialog-close]:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-mask:disabled {
  opacity: 1;
}

:is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-confirm:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

html.profile-order-cancel-dialog-open,
body.profile-order-cancel-dialog-open {
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  :is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog {
    padding: 0.24rem;
  }

  :is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-panel {
    width: 100%;
    padding: 0.48rem 0.32rem 0.36rem;
  }

  :is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-panel h2 {
    font-size: 0.3rem;
  }

  :is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-panel p {
    margin-bottom: 0.36rem;
    font-size: 0.24rem;
  }

  :is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.2rem;
  }

  :is(.profile-order-pend-page, .profile-return-page) .profile-order-cancel-dialog-actions .default____btn {
    height: 0.96rem;
    min-height: 0.96rem;
  }
}
/* 订单取消确认弹窗对齐静态站end */

/* UPS 报价倒计时：在桌面和窄屏下均保持在运输服务选项的可见范围。 */
.pay-orders-page .pay-orders-shipping-countdown {
  margin: 0.14rem 0 0;
  color: #7b4d00;
  font-size: 0.14rem;
  line-height: 1.5;
}

.pay-orders-page .pay-orders-shipping-countdown[hidden] {
  display: none;
}

@media screen and (max-width: 800px) {
  .pay-orders-page .pay-orders-shipping-countdown {
    margin-top: 0.2rem;
    font-size: 0.22rem;
    line-height: 1.45;
  }
}
.index-page .see-why-customers-love-vesta-section .star-list[data-score="1"] .star-icon:nth-child(-n+1) path,
.index-page .see-why-customers-love-vesta-section .star-list[data-score="2"] .star-icon:nth-child(-n+2) path,
.index-page .see-why-customers-love-vesta-section .star-list[data-score="3"] .star-icon:nth-child(-n+3) path,
.index-page .see-why-customers-love-vesta-section .star-list[data-score="4"] .star-icon:nth-child(-n+4) path,
.index-page .see-why-customers-love-vesta-section .star-list[data-score="5"] .star-icon:nth-child(-n+5) path {
  fill: #F4CA0A;
}

/* 首页优势标题使用 CMS 文本生成镂空，桌面和移动端随原遮罩容器等比缩放。 */
.index-page .shadow-compare-scroll .shadow-compare-title-svg {
  display: block;
  width: 100%;
  max-width: none;
  height: 100%;
  font-family: var(--sk-font-Bold);
}

.index-page .shadow-compare-scroll .shadow-compare-title-svg .shadow-compare-title-text {
  fill: #000;
  font-size: 150px;
  font-weight: 800;
  text-transform: uppercase;
}

/* 全站桌面页头收紧比例，移动端继续使用独立页头。 */


/* 桌面订单列表长编号适配start */
@media (min-width: 801px) {
  .profile-order-page .profile-order-no {
    width: 3.2rem;
  }

  .profile-order-page .profile-order-no-value {
    white-space: nowrap;
  }

  .profile-order-page .profile-order-products {
    width: 5.83rem;
  }
}
/* 桌面订单列表长编号适配end */

/* 个人中心其余页面桌面主题；订单、收藏、资料、地址簿及我的论坛沿用静态展示标准。 */
@media screen and (min-width: 801px) {
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) {
  --profile-surface: #ffffff;
  --profile-surface-soft: #f8f9fa;
  --profile-page-bg: #f6f7f8;
  --profile-border: rgba(2, 14, 35, 0.1);
  --profile-border-strong: rgba(2, 14, 35, 0.18);
  --profile-text: #2f3338;
  --profile-text-soft: #707680;
  --profile-accent: #f6c600;
  --profile-accent-hover: #ffd329;
  --profile-accent-soft: #fff9dc;
  --profile-danger: #b43a3a;
  --profile-card-radius: 16px;
  --profile-control-radius: 10px;
  --profile-card-shadow: 0 8px 32px rgba(2, 14, 35, 0.06);
  --profile-small-shadow: 0 6px 22px rgba(2, 14, 35, 0.05);
  background: var(--profile-page-bg);
  color: var(--profile-text);
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-main {
  background: var(--profile-page-bg);
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-panel {
  border: 1px solid var(--profile-border);
  border-radius: var(--profile-card-radius);
  background: var(--profile-surface);
  box-shadow: var(--profile-card-shadow);
  box-sizing: border-box;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-title {
  color: var(--profile-text);
  letter-spacing: -0.02em;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-field input,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-field .common-form-static-value,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-field .common-form-select-front,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter .-select-front,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter .-select-layer {
  border-color: var(--profile-border-strong);
  border-radius: var(--profile-control-radius);
  background: var(--profile-surface);
  box-shadow: none;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-field input:hover,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-field input:focus,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-select-front:hover,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-select.show .common-form-select-front,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter .-select-front:hover,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter.on .-select-front,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter.show .-select-front {
  border-color: rgba(185, 143, 0, 0.72);
  box-shadow: 0 0 0 3px rgba(253, 208, 0, 0.16);
  outline: none;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter .-select-layer,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-select-layer {
  border-color: var(--profile-border);
  border-radius: var(--profile-control-radius);
  box-shadow: var(--profile-small-shadow);
  overflow: hidden;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter .-select-layer dd:hover,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .profile-order-filter .-select-layer dd.on,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-select-option:hover,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form .common-form-select-option.on {
  background: var(--profile-accent-soft);
  color: var(--profile-text);
}

.profile-info-page .profile-country-select .-select-layer .-inner {
  max-height: 3.2rem;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form-submit {
  border: 0;
  border-radius: var(--profile-control-radius);
  background: var(--profile-accent);
  color: #20242b;
  box-shadow: 0 7px 18px rgba(185, 143, 0, 0.16);
  transition: background-color 0.25s ease, box-shadow 0.25s ease, transform 0.2s ease;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form-submit:hover {
  background: var(--profile-accent-hover);
  color: #20242b;
  box-shadow: 0 10px 26px rgba(184, 122, 0, 0.23);
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-info-page, .profile-address-page, .my-forum-page)) .common-form-submit:focus-visible {
  outline: 2px solid #6e4a00;
  outline-offset: 3px;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) .pagination-item {
  border-radius: 8px;
  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) .pagination-item:hover,
.profile-page:where(:not(.profile-order-page, .profile-order-pend-page, .profile-favorites-page, .profile-info-page, .profile-address-page, .my-forum-page)) .pagination-item.active {
  background: var(--profile-accent-soft);
  color: #6e4a00;
  box-shadow: inset 0 0 0 1px rgba(185, 143, 0, 0.24);
}

/* 密码表单 */
.profile-password-page .profile-password-input-wrap {
  border-radius: var(--profile-control-radius);
}

.profile-password-page .profile-password-toggle {
  border-radius: 8px;
  transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.profile-password-page .profile-password-toggle:hover,
.profile-password-page .profile-password-toggle:focus-visible {
  background: var(--profile-accent-soft);
  box-shadow: 0 0 0 2px rgba(253, 208, 0, 0.18);
  outline: none;
}
}

@media screen and (max-width: 800px) {
  .profile-info-page .profile-country-select .-select-layer .-inner {
    max-height: min(5.2rem, 55dvh);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}

/* 订单列表移动端静态项目样式对齐start */
@media screen and (max-width: 800px) {
  .profile-order-page.profile-page {
    --profile-page-bg: #f5f5f5;
    --profile-text: #333333;
    background: #f5f5f5;
    color: #333333;
  }

  .profile-order-page .profile-main {
    background: #f5f5f5;
  }

  .profile-order-page .profile-order-panel {
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .profile-order-page .profile-title {
    color: #333333;
    letter-spacing: 0;
  }

  .profile-order-page .profile-order-search,
  .profile-order-page .profile-order-head .profile-order-filter.sk_select .-select-front {
    border-color: #cccccc;
    border-radius: 0;
    background: #f5f5f5;
    box-shadow: none;
  }

  .profile-order-page .profile-order-filter .-select-front:hover,
  .profile-order-page .profile-order-filter.on .-select-front,
  .profile-order-page .profile-order-filter.show .-select-front {
    border-color: #cccccc;
    box-shadow: none;
  }

  .profile-order-page .profile-order-filter .-select-layer {
    border-color: #e6e6e6;
    border-radius: 0;
    box-shadow: 0 0.12rem 0.28rem rgba(0, 0, 0, 0.08);
  }

  .profile-order-page .profile-order-row:not(.profile-order-row-head) {
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .profile-order-page .profile-order-row:not(.profile-order-row-head):hover {
    background: #ffffff;
    box-shadow: none;
  }

  .profile-order-page .profile-order-product-img,
  .profile-order-page .profile-order-more {
    border: 0;
    border-radius: 0;
    background: #f8f8f8;
  }

  .profile-order-page .profile-order-status-value {
    color: #333333;
  }

  .profile-order-page .profile-order-mobile-pay {
    border-radius: 0;
    background: #f4ca0a;
    color: #333333;
    box-shadow: none;
  }

  .profile-order-page .profile-order-mobile-pay:hover {
    background: #f4ca0a;
    box-shadow: none;
  }
}
/* 订单列表移动端静态项目样式对齐end */

/* 订单详情移动端静态项目样式对齐start */
@media screen and (max-width: 800px) {
  .profile-order-pend-page.profile-page {
    --profile-page-bg: #f5f5f5;
    --profile-text: #333333;
    background: #f5f5f5;
    color: #333333;
  }

  .profile-order-pend-page .profile-main {
    background: #f5f5f5;
  }

  .profile-order-pend-page.profile-page .profile-order-pend-mobile-title,
  .profile-order-pend-page [data-order-status] {
    color: #333333;
    letter-spacing: 0;
  }

  .profile-order-pend-page.profile-page .profile-order-pend-panel,
  .profile-order-pend-page .profile-order-pend-card {
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .profile-order-pend-page.profile-page .profile-order-pend-panel {
    overflow: visible;
  }

  .profile-order-pend-page .profile-order-pend-row:not(.profile-order-pend-row-head):hover {
    background: transparent;
  }

  .profile-order-pend-page .profile-order-pend-product .profile-order-product-img {
    border: 0;
    border-radius: 0;
    background: #f8f8f8;
  }

  .profile-order-pend-page .profile-order-pend-card-head span {
    border-radius: 0;
    background: #fdd000;
    box-shadow: none;
  }

  .profile-order-pend-page .profile-order-pend-card:hover {
    transform: none;
    box-shadow: none;
  }
}
/* 订单详情移动端静态项目样式对齐end */

/* 商品列表描述自适应start */
.product-list-page .product-list-product-list {
  align-items: stretch;
}

.product-list-page .product-list-product-card {
  height: auto;
}

.product-list-page .product-list-desc {
  display: block;
  flex: 0 1 auto;
  height: auto;
  min-height: unset;
  max-height: none;
  overflow: visible;
  text-overflow: clip;
  -webkit-line-clamp: unset;
}
/* 商品列表描述自适应end */

/* 无场景图时，商品卡片悬停保持产品主图常显。 */
.product-list-page .product-list-product-card:hover
  .product-list-product-media:not(.catalog-product-media-has-scene) > .catalog-product-primary,
.search-product-page .search-product-card:hover
  .search-product-media:not(.catalog-product-media-has-scene) > .catalog-product-primary,
.special-offers-page .search-product-card:hover
  .search-product-media:not(.catalog-product-media-has-scene) > .catalog-product-primary {
  opacity: 1;
  transform: none;
  transition: none;
}

/* Product list, search results, and special offers use one scene-image fade contract. */
.product-list-page,
.search-product-page,
.special-offers-page {
  --catalog-scene-opacity-duration: 0.85s;
  --catalog-scene-transform-duration: 1.1s;
  --catalog-scene-transition-ease: cubic-bezier(0.19, 1, 0.22, 1);
}

.product-list-page .product-list-product-media.catalog-product-media-has-scene > .catalog-product-primary,
.product-list-page .product-list-product-media.catalog-product-media-has-scene > .catalog-product-secondary,
.search-product-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary,
.search-product-page .search-product-media.catalog-product-media-has-scene > .catalog-product-secondary,
.special-offers-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary,
.special-offers-page .search-product-media.catalog-product-media-has-scene > .catalog-product-secondary {
  position: absolute;
  display: block;
  box-sizing: border-box;
  transform: scale(1);
  transition:
    opacity var(--catalog-scene-opacity-duration) ease,
    transform var(--catalog-scene-transform-duration) var(--catalog-scene-transition-ease);
  will-change: opacity, transform;
}

.product-list-page .product-list-product-media.catalog-product-media-has-scene > .catalog-product-primary,
.search-product-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary,
.special-offers-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary {
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 2.52rem;
  height: 2.52rem;
  opacity: 1;
  object-fit: contain;
  transform: translate(-50%, -50%) scale(1);
}

.search-product-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary,
.special-offers-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary {
  width: 2.48rem;
  height: 2.48rem;
}

.product-list-page .product-list-product-media.catalog-product-media-has-scene > .catalog-product-secondary,
.search-product-page .search-product-media.catalog-product-media-has-scene > .catalog-product-secondary,
.special-offers-page .search-product-media.catalog-product-media-has-scene > .catalog-product-secondary {
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  opacity: 0;
  /* 角标占用顶部空间后仍完整显示场景图，避免裁掉图内标题和说明。 */
  object-fit: contain;
}

@media (hover: hover) and (pointer: fine) {
  .product-list-page .product-list-product-media.catalog-product-media-has-scene:hover > .catalog-product-primary,
  .search-product-page .search-product-media.catalog-product-media-has-scene:hover > .catalog-product-primary,
  .special-offers-page .search-product-media.catalog-product-media-has-scene:hover > .catalog-product-primary,
  .special-offers-page .search-product-media.catalog-product-media-has-scene.scene-hover > .catalog-product-primary {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.03);
  }

  .product-list-page .product-list-product-media.catalog-product-media-has-scene:hover > .catalog-product-secondary,
  .search-product-page .search-product-media.catalog-product-media-has-scene:hover > .catalog-product-secondary,
  .special-offers-page .search-product-media.catalog-product-media-has-scene:hover > .catalog-product-secondary,
  .special-offers-page .search-product-media.catalog-product-media-has-scene.scene-hover > .catalog-product-secondary {
    opacity: 1;
    transform: scale(1);
  }
}

@media (max-width: 800px) {
  .product-list-page .product-list-product-media.catalog-product-media-has-scene > .catalog-product-primary,
  .search-product-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary,
  .special-offers-page .search-product-media.catalog-product-media-has-scene > .catalog-product-primary {
    width: 2.34rem;
    height: 2.34rem;
  }
}

/* 订单详情的信息布局、字号和操作按钮直接沿用静态项目 main.css。 */

/* 商品详情缩略图紧凑布局start */
/* 商品详情缩略图：桌面竖向列表按实际项目数量收缩，最多保留六项高度 */
@media screen and (min-width: 801px) {
  .product-detail-page .product-detail-thumb-swiper {
    height: auto;
    max-height: 6.68rem;
  }

  .product-detail-page .product-detail-thumb-swiper .swiper-wrapper {
    height: auto;
  }
}

.product-detail-page .product-detail-thumb-wrap.compact {
  justify-content: flex-start;
}

.product-detail-page .product-detail-thumb-wrap.compact .product-detail-thumb-swiper {
  height: auto;
  flex: 0 0 auto;
}

.product-detail-page .product-detail-thumb-wrap.compact .product-detail-thumb-swiper .swiper-wrapper {
  height: auto;
}

@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-thumb-wrap.compact {
    width: max-content;
    max-width: 100%;
    margin-right: auto;
    margin-left: 0;
  }


  .product-detail-page .product-detail-spec-body > table {
    max-width: 100% !important;
    min-width: 50%;
  }

  .product-detail-page .product-detail-thumb-wrap.compact .product-detail-thumb-swiper {
    width: auto;
    max-width: calc(100% - 0.48rem);
    flex: 0 0 auto;
  }

  .product-detail-page .product-detail-thumb-wrap.compact .product-detail-thumb-swiper .swiper-wrapper {
    width: max-content;
  }
}
/* 商品详情缩略图紧凑布局end */

/* 商品详情资料卡移动端横向列表start */
@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-sheet-list {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .product-detail-page .product-detail-sheet-list::-webkit-scrollbar {
    display: none;
  }
}
/* 商品详情资料卡移动端横向列表end */

/* 商品详情：空数据模块不保留标题、背景和布局空间。 */
.product-detail-page [hidden] {
  display: none !important;
}

/* 商品详情售价与划线价保持清晰的主次层级。 */
.product-detail-page .product-detail-price-values {
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.12rem;
  min-width: 0;
}

.product-detail-page .product-detail-market-price {
  color: #999999;
  font-size: 0.18rem;
  line-height: 1.3;
  text-decoration-line: line-through;
  text-decoration-thickness: 1px;
}

@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-price-values {
    gap: 0.16rem;
  }

  .product-detail-page .product-detail-market-price {
    font-size: 0.24rem;
  }
}

.product-detail-page .product-detail-cart-message {
  margin-top: 0.12rem;
  font-size: 0.14rem;
  line-height: 1.4;
}

.product-detail-page .product-detail-cart-message.success {
  color: #257942;
}

.product-detail-page .product-detail-cart-message.error {
  color: #c62828;
}

.product-detail-page .product-detail-option-card.is-compact {
  display: flex;
  flex-direction: column;
  min-height: 0;
}



.product-detail-page .product-detail-dimension {
  display: grid;
  grid-template-columns: 1.4rem minmax(0, 1fr);
  align-items: start;
  column-gap: 0.16rem;
  margin-top: 0.14rem;
}


.product-detail-page .product-detail-dimension:first-child {
  margin-top: 0;
}

.product-detail-page .product-detail-dimension .product-detail-option-heading {
  min-width: 0;
  min-height: 0.44rem;
  margin-top: 0;
}
.product-detail-page .product-detail-dimension-long {
  align-items: flex-start;
}

.product-detail-page .product-detail-dimension .product-detail-color-list,
.product-detail-page .product-detail-dimension .product-detail-size-list {
  width: 100%;
  min-width: 0;
  margin-top: 0;
  padding-left: 0;
}

.product-detail-page .product-detail-dimension .product-detail-size-list {
  flex-wrap: wrap;
  gap: 0.12rem;
}

.product-detail-page .product-detail-dimension .product-detail-size-item {
  margin-right: 0;
}

.product-detail-page button.product-detail-share-icon {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
  appearance: none;
}

.product-detail-page button.product-detail-share-icon:focus-visible {
  outline: 2px solid #020e23;
  outline-offset: 3px;
}

.product-detail-page .product-detail-size-list.product-detail-size-list-long {
  align-items: stretch;
  width: 100%;
}

.product-detail-page .product-detail-size-item.product-detail-size-item-long {
  justify-content: flex-start;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 0.44rem;
  height: auto;
  padding: 0.08rem 0.19rem;
  background-color: #ffffff;
  text-align: left;
}

.product-detail-page .product-detail-option-current,
.product-detail-page .product-detail-size-item [data-product-option-text] {
  min-width: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-dimension {
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0.12rem;
    margin-top: 0.24rem;
  }

  .product-detail-page .product-detail-dimension .product-detail-option-heading {
    min-height: 0;
  }

  .product-detail-page .product-detail-dimension .product-detail-size-list {
    gap: 0.12rem;
  }

  .product-detail-page .product-detail-dimension .product-detail-size-item {
    min-width: 1.3rem;
    height: 0.48rem;
    order: initial;
  }

  .product-detail-page .product-detail-dimension .product-detail-size-list .product-detail-size-item:nth-child(3) {
    order: initial;
  }

  .product-detail-page .product-detail-dimension .product-detail-size-item-long {
    min-width: 0;
    height: auto;
  }
}

.product-detail-page .product-detail-docs.is-single > :not([hidden]) {
  width: 100%;
}



@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-cart-card {
    padding-right: 0.16rem;
    padding-left: 0.16rem;
  }
}

/* 论坛首页：游客状态下用排行榜填补隐藏个人卡留下的桌面端空位。 */
@media screen and (min-width: 801px) {
  .forum-page .forum-profile[hidden] + .forum-active {
    grid-row: 1;
  }
}

/* 商品详情：视频媒体始终限制在当前轮播页内。 */
.product-detail-page .product-detail-main-img,
.product-detail-page .product-detail-thumb-img {
  overflow: hidden;
}


.product-detail-page .product-detail-color-item {
  border: 0;
}

.product-detail-page .product-detail-main-img video,
.product-detail-page .product-detail-thumb-img video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* 商品详情：原生视频控件贴合画面，避免底部黑色渐变遮挡产品。 */
/*.product-detail-page .product-detail-main-img video::-webkit-media-controls-enclosure,*/
/*.product-detail-page .product-detail-main-img video::-webkit-media-controls-panel {*/
/*  background: transparent;*/
/*  background-image: none;*/
/*}*/

/* 商品详情：兼容接口返回的非固定规格富文本结构。 */
.product-detail-page .product-detail-spec-body {
  display: block;
  min-width: 0;
  overflow-x: auto;
  overflow-wrap: anywhere;
  color: #000000;
  font-size: 16px;
  line-height: 1.4;
}

.product-detail-page .product-detail-spec-body > * {
  box-sizing: border-box;
}

.product-detail-page .product-detail-spec-body img,
.product-detail-page .product-detail-spec-body video,
.product-detail-page .product-detail-spec-body iframe {
  max-width: 100%;
}

.product-detail-page .product-detail-spec-body h1,
.product-detail-page .product-detail-spec-body h2,
.product-detail-page .product-detail-spec-body h3,
.product-detail-page .product-detail-spec-body h4,
.product-detail-page .product-detail-spec-body h5,
.product-detail-page .product-detail-spec-body h6 {
  font-family: inherit;
  font-weight: bold;
}

.product-detail-page .product-detail-spec-body h1 {
  margin: 0.67em 0;
  font-size: 2em;
}

.product-detail-page .product-detail-spec-body h2 {
  margin: 0.83em 0;
  font-size: 1.5em;
}

.product-detail-page .product-detail-spec-body h3 {
  margin: 1em 0;
  font-size: 1.17em;
}

.product-detail-page .product-detail-spec-body h4 {
  margin: 1.33em 0;
  font-size: 1em;
}

.product-detail-page .product-detail-spec-body h5 {
  margin: 1.67em 0;
  font-size: 0.83em;
}

.product-detail-page .product-detail-spec-body h6 {
  margin: 2.33em 0;
  font-size: 0.67em;
}

.product-detail-page .product-detail-spec-body p {
  margin: 1em 0;
}

/* 商品详情富文本列表start */
.product-detail-page .product-detail-spec-body ul,
.product-detail-page .product-detail-spec-body ol {
  margin: 1em 0;
  padding-left: 1.25em;
}

.product-detail-page .product-detail-spec-body ul > li {
  display: list-item;
  list-style: outside disc;
}

.product-detail-page .product-detail-spec-body ol > li {
  display: list-item;
  list-style: outside decimal;
}
/* 商品详情富文本列表end */

.product-detail-page .product-detail-spec-body table {
  border-collapse: collapse;
}

/* 商品详情规格表start */
.product-detail-page .product-detail-spec-body > table {
  width: 100%;
  border: 0;
  table-layout: fixed;
}

.product-detail-page .product-detail-spec-body > table tbody tr {
  background: #ffffff;
}

.product-detail-page .product-detail-spec-body > table tbody tr:nth-child(odd) {
  background: #F5F5F5;
}

.product-detail-page .product-detail-spec-body > table tbody tr:first-child {
  background: #F5F5F5;
}

.product-detail-page .product-detail-spec-body > table tbody tr td {
  padding: 0.06rem 0.23rem;
  border: 0;
  vertical-align: middle;
  color: #333333;
  font-family: var(--sk-font-Medium);
  font-size: 0.14rem;
  line-height: 0.2rem;
}

.product-detail-page .product-detail-spec-body > table tbody tr td:first-child {
  width: 2.68rem;
  color: #666666;
}

.product-detail-page .product-detail-spec-body > table + p:last-child:has(> br:only-child) {
  display: none;
}

@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-spec-body > table tbody tr td {
    padding: 0.1rem 0.31rem;
    border-top: 0.01rem solid #E6E6E6;
    font-size: 0.24rem;
    line-height: 0.28rem;
    overflow-wrap: anywhere;
  }

  .product-detail-page .product-detail-spec-body > table tbody tr:first-child td {
    border-top: 0;
  }
}
/* 商品详情规格表end */
/* 论坛 TinyMCE Classic：编辑器框架、上传反馈及发布态富文本统一样式。 */
.forum-page .forum-editor-host,
.forum-detail-page .forum-editor-host {
  width: 100%;
  min-height: 2.4rem;
}

.forum-page .forum-detail-post-editor,
.forum-detail-page .forum-detail-post-editor {
  min-height: 3.44rem;
}

.forum-page .forum-editor-textarea,
.forum-detail-page .forum-editor-textarea {
  box-sizing: border-box;
  display: block;
  width: 100%;
  min-height: 2.4rem;
  padding: 0.16rem;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  color: #1f2937;
  font: 0.16rem/1.65 Inter, Arial, sans-serif;
  resize: vertical;
}

.forum-page .forum-detail-post-editor .forum-editor-textarea,
.forum-detail-page .forum-detail-post-editor .forum-editor-textarea {
  min-height: 3.44rem;
}

.forum-page .forum-editor-host .tox-tinymce,
.forum-detail-page .forum-editor-host .tox-tinymce {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: none;
}

.forum-page .forum-editor-host:focus-within .tox-tinymce,
.forum-detail-page .forum-editor-host:focus-within .tox-tinymce {
  border-color: #f5bd00;
  box-shadow: 0 0 0 3px rgba(245, 189, 0, 0.16);
}

.forum-page .forum-editor-host .tox .tox-editor-header,
.forum-detail-page .forum-editor-host .tox .tox-editor-header {
  border-bottom: 1px solid #e2e8f0;
  box-shadow: none;
}

.forum-page .forum-editor-host .tox .tox-toolbar-overlord,
.forum-page .forum-editor-host .tox .tox-toolbar__primary,
.forum-detail-page .forum-editor-host .tox .tox-toolbar-overlord,
.forum-detail-page .forum-editor-host .tox .tox-toolbar__primary {
  background-color: #f8fafc;
}

.forum-page .forum-editor-host .tox .tox-tbtn,
.forum-detail-page .forum-editor-host .tox .tox-tbtn {
  border-radius: 5px;
}

.forum-page .forum-editor-count,
.forum-detail-page .forum-editor-count {
  position: absolute;
  right: 0.12rem;
  bottom: 0.08rem;
  z-index: 5;
  padding: 0.02rem 0.05rem;
  border-radius: 4px;
  color: #64748b;
  background: rgba(255, 255, 255, 0.92);
  font-size: 0.12rem;
  line-height: 0.18rem;
}

.forum-page .forum-editor-error,
.forum-detail-page .forum-editor-error {
  display: block;
  margin-top: 0.08rem;
  color: #b42318;
  font-size: 0.14rem;
  line-height: 1.4;
}

.forum-page .forum-editor-error[hidden],
.forum-detail-page .forum-editor-error[hidden] {
  display: none;
}

.forum-page .forum-editor-host.forum-field-invalid .tox-tinymce,
.forum-detail-page .forum-editor-host.forum-field-invalid .tox-tinymce,
.forum-page .forum-detail-post-content-field.forum-field-invalid .forum-editor-host .tox-tinymce,
.forum-detail-page .forum-detail-post-content-field.forum-field-invalid .forum-editor-host .tox-tinymce {
  border-color: #f5bd00;
  box-shadow: 0 0 0 3px rgba(245, 189, 0, 0.16);
}



.forum-page .forum-detail-post-content-field {
  margin-top: 0.1rem;
}

.forum-page .forum-editor-shell.is-editor-fullscreen .forum-editor-upload-status,
.forum-detail-page .forum-editor-shell.is-editor-fullscreen .forum-editor-upload-status {
  position: fixed;
  inset: 0;
  z-index: 10000;
  border-radius: 0;
}

.forum-detail-page .forum-rich-text {
  max-width: 100%;
  padding: 0;
  overflow-wrap: anywhere;
  color: #475569;
  line-height: 1.65;
  white-space: normal;
}

.forum-detail-page .forum-rich-text p,
.forum-detail-page .forum-rich-text h1,
.forum-detail-page .forum-rich-text h2,
.forum-detail-page .forum-rich-text h3,
.forum-detail-page .forum-rich-text h4,
.forum-detail-page .forum-rich-text h5,
.forum-detail-page .forum-rich-text h6 {
  clear: both;
  overflow-wrap: anywhere;
}

.forum-detail-page .forum-rich-text p {
  margin: 0.12rem 0;
}

.forum-detail-page .forum-rich-text h1 { font-size: 0.28rem; }
.forum-detail-page .forum-rich-text h2 { font-size: 0.24rem; }
.forum-detail-page .forum-rich-text h3 { font-size: 0.21rem; }
.forum-detail-page .forum-rich-text h4 { font-size: 0.19rem; }
.forum-detail-page .forum-rich-text h5 { font-size: 0.17rem; }
.forum-detail-page .forum-rich-text h6 { font-size: 0.16rem; }

.forum-detail-page .forum-rich-text h1,
.forum-detail-page .forum-rich-text h2,
.forum-detail-page .forum-rich-text h3,
.forum-detail-page .forum-rich-text h4,
.forum-detail-page .forum-rich-text h5,
.forum-detail-page .forum-rich-text h6 {
  margin: 0.16rem 0 0.1rem;
  line-height: 1.3;
}

.forum-detail-page .forum-rich-text h1::before,
.forum-detail-page .forum-rich-text h2::before,
.forum-detail-page .forum-rich-text h3::before,
.forum-detail-page .forum-rich-text h4::before,
.forum-detail-page .forum-rich-text h5::before,
.forum-detail-page .forum-rich-text h6::before {
  content: none;
}

.forum-detail-page .forum-rich-text ul,
.forum-detail-page .forum-rich-text ol {
  margin: 0.12rem 0;
  padding-left: 0.32rem;
}

.forum-detail-page .forum-rich-text ul { list-style: disc outside; }
.forum-detail-page .forum-rich-text ol { list-style: decimal outside; }

.forum-detail-page .forum-rich-text li {
  display: list-item;
  margin: 0.06rem 0;
  list-style: inherit;
}

.forum-detail-page .forum-rich-text blockquote {
  margin: 0.16rem 0;
  padding: 0.08rem 0.16rem;
  border-left: 0.04rem solid var(--forum-detail-brand);
  background: #f8fafc;
}

.forum-detail-page .forum-rich-text pre {
  max-width: 100%;
  padding: 0.12rem;
  overflow-x: auto;
  background: #f3f4f6;
}

.forum-detail-page .forum-rich-text code {
  padding: 0.02rem 0.05rem;
  border-radius: 3px;
  background: #f3f4f6;
  font-family: Consolas, Monaco, monospace;
}

.forum-detail-page .forum-rich-text pre code {
  padding: 0;
  background: transparent;
}

.forum-detail-page .forum-rich-text table {
  width: 100%;
  margin: 0.16rem 0;
  border-collapse: collapse;
}

.forum-detail-page .forum-rich-text th,
.forum-detail-page .forum-rich-text td {
  padding: 0.08rem 0.1rem;
  border: 1px solid #e2e8f0;
  text-align: left;
}

.forum-detail-page .forum-rich-text a {
  color: #8a6500;
  text-decoration: underline;
}

.forum-detail-page .forum-rich-text em,
.forum-detail-page .forum-rich-text i {
  font-style: italic;
}

.forum-detail-page .forum-rich-text img {
  max-width: 100%;
  height: auto;
}

.forum-detail-page .forum-rich-text u,
.forum-detail-page .forum-rich-text mark {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
  background: transparent;
}

.forum-detail-page .forum-rich-text s,
.forum-detail-page .forum-rich-text strike,
.forum-detail-page .forum-rich-text del {
  text-decoration: line-through;
}

@media screen and (max-width: 800px) {
  .forum-page .forum-detail-post-editor,
  .forum-detail-page .forum-detail-post-editor,
  .forum-page .forum-detail-post-editor .tox-tinymce,
  .forum-detail-page .forum-detail-post-editor .tox-tinymce {
    min-height: 3.2rem;
  }

  .forum-page .forum-editor-host .tox .tox-toolbar__primary,
  .forum-detail-page .forum-editor-host .tox .tox-toolbar__primary {
    flex-wrap: wrap;
  }

  .forum-detail-page .forum-rich-text ul,
  .forum-detail-page .forum-rich-text ol {
    padding-left: 0.4rem;
  }
}

/* 论坛 Vditor：覆盖 main.css 中旧的强制尺寸，统一发帖与回复工具栏。 */
.forum-page .forum-detail-post-vditor .vditor-toolbar,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-toolbar {
  display: flex !important;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.04rem;
  min-height: 0.46rem;
  padding: 0.05rem 0.1rem !important;
  overflow: visible;
  border-bottom: 1px solid #e2e8f0;
  background: #f8fafc;
  scrollbar-width: thin;
}

/* main.css 会统一隐藏 li 标记，这里恢复 Vditor 编辑区的有序和无序列表。 */
.forum-page .vditor-reset ul > li:not(.vditor-task),
.forum-detail-page .vditor-reset ul > li:not(.vditor-task) {
  list-style-type: disc;
}

.forum-page .vditor-reset ul ul > li:not(.vditor-task),
.forum-detail-page .vditor-reset ul ul > li:not(.vditor-task) {
  list-style-type: circle;
}

.forum-page .vditor-reset ul ul ul > li:not(.vditor-task),
.forum-detail-page .vditor-reset ul ul ul > li:not(.vditor-task) {
  list-style-type: square;
}

.forum-page .vditor-reset ol > li:not(.vditor-task),
.forum-detail-page .vditor-reset ol > li:not(.vditor-task) {
  list-style-type: decimal;
}

/* Vditor 面板相对工具栏按钮定位，外层不能裁剪。 */
.forum-page .forum-detail-post-vditor,
.forum-page .forum-detail-post-vditor .vditor,
.forum-detail-page .forum-detail-post-vditor,
.forum-detail-page .forum-detail-post-vditor .vditor,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor {
  overflow: visible;
}

.forum-page .vditor-toolbar .vditor-panel,
.forum-page .vditor-toolbar .vditor-hint,
.forum-detail-page .vditor-toolbar .vditor-panel,
.forum-detail-page .vditor-toolbar .vditor-hint {
  top: 100%;
  right: auto;
  left: 0;
  z-index: 20;
  transform-origin: top left;
}

/* 隔离 main.css 的全站长文本规则，避免 Vditor 菜单被压缩至 80px。 */
.forum-page .vditor-toolbar .vditor-hint,
.forum-detail-page .vditor-toolbar .vditor-hint {
  width: 2.2rem;
  min-width: 2.2rem;
  max-width: min(2.2rem, calc(100vw - 0.64rem));
}

.forum-page .vditor-toolbar .vditor-hint button,
.forum-detail-page .vditor-toolbar .vditor-hint button {
  min-width: 100%;
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
}

.forum-page .vditor-toolbar .vditor-panel:not(.vditor-panel--none),
.forum-detail-page .vditor-toolbar .vditor-panel:not(.vditor-panel--none) {
  width: 2.6rem;
  min-width: 2.6rem;
  max-width: min(2.6rem, calc(100vw - 0.64rem));
}

.forum-page .vditor-toolbar .vditor-emojis,
.forum-detail-page .vditor-toolbar .vditor-emojis {
  width: 100%;
}

.forum-page .vditor-toolbar .vditor-emojis button,
.forum-page .vditor-toolbar .vditor-emojis span,
.forum-detail-page .vditor-toolbar .vditor-emojis button,
.forum-detail-page .vditor-toolbar .vditor-emojis span {
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
}

.forum-page .forum-detail-post-vditor .vditor-toolbar__item,
.forum-page .forum-detail-post-vditor .vditor-toolbar__item button,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item button,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-toolbar__item,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-toolbar__item button {
  flex: 0 0 auto;
  height: 0.36rem;
}

.forum-page .forum-detail-post-vditor .vditor-toolbar__item button,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item button,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-toolbar__item button {
  width: 0.3rem;
  padding: 0.06rem;
  border-radius: 6px;
}

.forum-page .forum-detail-post-vditor .vditor-toolbar__item svg,
.forum-page .forum-detail-post-vditor .vditor-icon svg,
.forum-detail-page .forum-detail-post-vditor .vditor-toolbar__item svg,
.forum-detail-page .forum-detail-post-vditor .vditor-icon svg,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-toolbar__item svg,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-icon svg {
  width: 0.16rem;
  height: 0.16rem;
}

.forum-page .forum-detail-post-vditor .vditor-counter,
.forum-detail-page .forum-detail-post-vditor .vditor-counter,
.forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-counter {
  display: block !important;
}

/* 论坛编辑器上传状态由模板提供，覆盖整个编辑器避免用户误判为未响应。 */
.forum-page .forum-editor-shell,
.forum-detail-page .forum-editor-shell {
  position: relative;
  display: flow-root;
}

.forum-page .forum-editor-upload-status,
.forum-detail-page .forum-editor-upload-status {
  position: absolute;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 8px;
  color: #334155;
  font-size: 14px;
  font-family: var(--sk-font-Medium);
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(1px);
  cursor: wait;
}

.forum-page .forum-editor-upload-status[hidden],
.forum-detail-page .forum-editor-upload-status[hidden] {
  display: none !important;
}

.forum-page .vditor--fullscreen + .forum-editor-upload-status,
.forum-detail-page .vditor--fullscreen + .forum-editor-upload-status {
  position: fixed;
  inset: 0;
  z-index: 100;
  border-radius: 0;
}

.forum-page .forum-editor-upload-spinner,
.forum-detail-page .forum-editor-upload-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid #cbd5e1;
  border-top-color: var(--sk-global-color);
  border-radius: 50%;
  animation: forum-editor-upload-spin 0.75s linear infinite;
}

@keyframes forum-editor-upload-spin {
  to {
    transform: rotate(360deg);
  }
}

/* 站点根字号为 100px，关闭 Vditor 使用 rem 绘制的 H1/H2 辅助标记，避免标题挤压后续段落。 */
.forum-page .vditor-wysiwyg > .vditor-reset > h1::before,
.forum-page .vditor-wysiwyg > .vditor-reset > h2::before,
.forum-page .vditor-wysiwyg > .vditor-reset > h3::before,
.forum-page .vditor-wysiwyg > .vditor-reset > h4::before,
.forum-page .vditor-wysiwyg > .vditor-reset > h5::before,
.forum-page .vditor-wysiwyg > .vditor-reset > h6::before,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h1::before,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h2::before,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h3::before,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h4::before,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h5::before,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h6::before {
  content: none;
}

.forum-page .vditor-wysiwyg > .vditor-reset > h1,
.forum-page .vditor-wysiwyg > .vditor-reset > h2,
.forum-page .vditor-wysiwyg > .vditor-reset > h3,
.forum-page .vditor-wysiwyg > .vditor-reset > h4,
.forum-page .vditor-wysiwyg > .vditor-reset > h5,
.forum-page .vditor-wysiwyg > .vditor-reset > h6,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h1,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h2,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h3,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h4,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h5,
.forum-detail-page .vditor-wysiwyg > .vditor-reset > h6 {
  clear: both;
  overflow-wrap: anywhere;
}

/* 显式恢复编辑态和展示态的文本装饰，避免站点基础样式覆盖语义标签。 */
.forum-page .vditor-reset s,
.forum-page .vditor-reset strike,
.forum-page .vditor-reset del,
.forum-detail-page .vditor-reset s,
.forum-detail-page .vditor-reset strike,
.forum-detail-page .vditor-reset del {
  text-decoration: line-through;
}

.forum-page .vditor-reset u,
.forum-page .vditor-reset mark,
.forum-detail-page .vditor-reset u,
.forum-detail-page .vditor-reset mark {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
  background: transparent;
}



@media screen and (max-width: 800px) {
  .forum-page .forum-detail-post-vditor,
  .forum-detail-page .forum-detail-post-vditor,
  .forum-page .forum-detail-post-vditor .vditor,
  .forum-detail-page .forum-detail-post-vditor .vditor {
    height: auto !important;
    min-height: 3.2rem;
  }

  .forum-page .forum-detail-post-vditor .vditor-toolbar,
  .forum-detail-page .forum-detail-post-vditor .vditor-toolbar,
  .forum-detail-page .forum-detail-reply-editor .forum-detail-vditor .vditor-toolbar {
    flex-wrap: wrap;
  }

  .forum-page .forum-detail-post-vditor .vditor-content,
  .forum-page .forum-detail-post-vditor .vditor-ir,
  .forum-page .forum-detail-post-vditor .vditor-wysiwyg,
  .forum-detail-page .forum-detail-post-vditor .vditor-content,
  .forum-detail-page .forum-detail-post-vditor .vditor-ir,
  .forum-detail-page .forum-detail-post-vditor .vditor-wysiwyg {
    height: 2.62rem !important;
    min-height: 2.62rem;
  }

  .forum-page .forum-detail-post-vditor .vditor-ir pre.vditor-reset,
  .forum-page .forum-detail-post-vditor .vditor-wysiwyg pre.vditor-reset,
  .forum-detail-page .forum-detail-post-vditor .vditor-ir pre.vditor-reset,
  .forum-detail-page .forum-detail-post-vditor .vditor-wysiwyg pre.vditor-reset {
    min-height: 2.62rem !important;
  }
}

/* 全局数量组件start */
.common-quantity.common-quantity .common-quantity-num.common-quantity-num {
  overflow: hidden;
  white-space: nowrap;
}
/* 全局数量组件end */

/* 商品详情加购成功后以独立遮罩层反馈，避免弹窗回流至页面底部。 */
.product-detail-page .product-detail-cart-success-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.24rem;
  background: rgba(2, 14, 35, 0.56);
}

.product-detail-page .product-detail-cart-success-modal[hidden] {
  display: none !important;
}

.product-detail-page .product-detail-cart-success-panel {
  position: relative;
  width: min(4.4rem, 100%);
  padding: 0.42rem 0.36rem 0.34rem;
  text-align: center;
  background: #ffffff;
  box-shadow: 0 0.18rem 0.5rem rgba(2, 14, 35, 0.2);
}

.product-detail-page .product-detail-cart-success-x {
  position: absolute;
  top: 0.1rem;
  right: 0.14rem;
  padding: 0;
  border: 0;
  font-size: 0.3rem;
  line-height: 1;
  color: #333333;
  background: transparent;
  cursor: pointer;
}

.product-detail-page .product-detail-cart-success-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 0.58rem;
  height: 0.58rem;
  border-radius: 50%;
  font-size: 0.3rem;
  color: #ffffff;
  background: #257942;
}

.product-detail-page .product-detail-cart-success-panel h2 {
  margin: 0.22rem 0 0.28rem;
  font-size: 0.24rem;
  line-height: 1.35;
  color: #020e23;
}

.product-detail-page .product-detail-cart-success-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.12rem;
}

.product-detail-page .product-detail-cart-success-close,
.product-detail-page .product-detail-cart-success-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 0.46rem;
  padding: 0.12rem 0.16rem;
  border: 0;
  font-size: 0.16rem;
  line-height: 1.4;
  color: #020e23;
  background: var(--sk-global-color);
  cursor: pointer;
}

.product-detail-page .product-detail-cart-success-cart {
  color: #ffffff;
  background: #020e23;
}

@media screen and (max-width: 480px) {
  .product-detail-page .product-detail-cart-success-panel {
    width: min(440px, 100%);
    padding-right: 16px;
    padding-left: 16px;
  }

  .product-detail-page .product-detail-cart-success-close,
  .product-detail-page .product-detail-cart-success-cart {
    min-height: 44px;
    padding: 8px;
    font-size: 14px;
  }
}

.product-detail-page .product-detail-add-cart.submitting {
  pointer-events: none;
  opacity: 0.65;
}











/* 公共footer部分start */
.index-page .banner-section,
.index-page .banner-section > .swiper-container {
  overflow: hidden;
}

@media screen and (max-width: 800px) {
  .site-footer-mobile-policy {
    display: grid;
    grid-template-columns: repeat(2, auto);
    justify-content: start;
  }


/* cookie弹窗部分start */
.common-cookie-preferences-agree {
  margin: 0.24rem auto 0 auto;
  padding: 0 0.6rem;
  width: auto;
  display: block;
}



.site-footer-mobile-policy a:nth-of-type(even)::after {
    content: none;
}


  .common-cookie-preferences-modal .default____btn.common-cookie-btn.common-cookie-preferences-agree {
    width: 100%;
    min-width: unset;
  }
}



.default____btn.common-cookie-btn.common-cookie-preferences-agree {
  min-width: 0.98rem;
  padding: 0 0.3rem;
  display: flex;
  width: auto;
  margin: 0.2rem auto 0 auto;
}




/* 公共footer部分end */





/* 论坛富文本展示：覆盖全局列表重置，并限制用户内容不溢出卡片。 */
.forum-detail-page .forum-detail-topic-text.vditor-reset,
.forum-detail-page .forum-detail-reply-text.vditor-reset {
  padding: 0;
  overflow: visible;
  color: #475569;
  font-family: var(--sk-font-Regular);
  white-space: normal;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset p,
.forum-detail-page .forum-detail-reply-text.vditor-reset p {
  margin: 0.12rem 0;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset ul,
.forum-detail-page .forum-detail-reply-text.vditor-reset ul {
  margin: 0.12rem 0;
  padding-left: 0.32rem;
  list-style: disc outside;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset ol,
.forum-detail-page .forum-detail-reply-text.vditor-reset ol {
  margin: 0.12rem 0;
  padding-left: 0.32rem;
  list-style: decimal outside;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset li,
.forum-detail-page .forum-detail-reply-text.vditor-reset li {
  display: list-item;
  margin: 0.06rem 0;
  list-style: inherit;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset blockquote,
.forum-detail-page .forum-detail-reply-text.vditor-reset blockquote {
  margin: 0.16rem 0;
  padding: 0.08rem 0.16rem;
  border-left: 0.04rem solid var(--forum-detail-brand);
  background: #f8fafc;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset pre,
.forum-detail-page .forum-detail-reply-text.vditor-reset pre {
  max-width: 100%;
  overflow-x: auto;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset a,
.forum-detail-page .forum-detail-reply-text.vditor-reset a {
  color: #8a6500;
  text-decoration: underline;
}

.forum-detail-page .forum-detail-topic-text.vditor-reset img,
.forum-detail-page .forum-detail-reply-text.vditor-reset img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 800px) {
  .forum-detail-page .forum-detail-topic-text.vditor-reset ul,
  .forum-detail-page .forum-detail-topic-text.vditor-reset ol,
  .forum-detail-page .forum-detail-reply-text.vditor-reset ul,
  .forum-detail-page .forum-detail-reply-text.vditor-reset ol {
    padding-left: 0.4rem;
  }
}



.common-cookie-panel .common-cookie-settings {
  border-color: #ffffff;
  background: #000000;
}

.common-cookie-panel .common-cookie-settings .default____btn__txt {
  color: #ffffff;
}

@media screen and (max-width: 800px) {
  .common-cookie-panel .common-cookie-actions {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    padding-top: 0;
  }

  .forum-detail-page .forum-detail-mobile-reply {
    flex-wrap: wrap;
  }

  .forum-detail-page .forum-detail-mobile-reply-consent {
    display: flex;
    flex: 0 0 100%;
    align-items: flex-start;
    gap: 0.12rem;
    padding: 0.16rem 0.34rem;
    box-sizing: border-box;
    font-size: 0.18rem;
    line-height: 0.28rem;
    color: #666666;
  }

  .forum-detail-page .forum-detail-mobile-reply-consent input {
    flex: 0 0 auto;
    width: 0.22rem;
    height: 0.22rem;
    margin: 0.02rem 0 0;
  }

  .forum-detail-page .forum-detail-mobile-reply-consent a {
    color: inherit;
    text-decoration: underline;
  }
}

.product-detail-page .product-detail-question-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.1rem;
  margin-top: 0.24rem;
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #ffffff;
  cursor: pointer;
}

.product-detail-page .product-detail-question-consent input {
  flex: 0 0 auto;
  width: 0.2rem;
  height: 0.2rem;
  margin: 0.02rem 0 0;
}

.product-detail-page .product-detail-question-consent a {
  color: inherit;
  text-decoration: underline;
}

.cart .search-cart-head h1 {
  margin: 0;
  font-size: 0.28rem;
  line-height: 0.34rem;
  color: #333333;
  font-family: var(--sk-font-Bold);
}

.cart .search-cart-info .search-cart-product-title {
  width: 2.86rem;
  margin: 0;
  font-size: 0.16rem;
  line-height: 0.24rem;
  color: #333333;
  font-family: var(--sk-font-Medium);
}

@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-question-consent {
    gap: 0.14rem;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .product-detail-page .product-detail-question-consent input {
    width: 0.3rem;
    height: 0.3rem;
  }

  .cart .search-cart-head h1 {
    font-size: 0.32rem;
    line-height: 0.44rem;
  }

  .cart .search-cart-info .search-cart-product-title {
    width: 100%;
    font-size: 0.24rem;
    line-height: 0.32rem;
  }
}

/* 全站移动端静态项目样式对齐start */
@media screen and (max-width: 800px) {
  /* 首页畅销商品沿用静态项目的卡片尺寸与方形外观。 */
  /* 首页少量畅销商品单行布局start */
  .index-page .best-sellers-section .card-swiper.single-row {
    --height: var(--best-sellers-mobile-card-height);
  }

  .index-page .best-sellers-section .card-swiper.single-row .swiper-wrapper {
    flex-direction: row;
    flex-wrap: nowrap;
  }

  .index-page .best-sellers-section .card-swiper.single-row .swiper-wrapper .swiper-slide {
    flex-basis: calc((100vw - 0.32rem - var(--best-sellers-mobile-gap) - var(--best-sellers-mobile-edge-offset)) / 2);
    /* 公共双行同步会写入行序和底部间距，单行在此局部恢复自然顺序。 */
    order: 0 !important;
    margin-bottom: 0 !important;
  }
  /* 首页少量畅销商品单行布局end */

  /* 首页不足一页的商品按实际容器宽度排满两列，避免视口滚动条和轮播计算造成假溢出。 */
  .index-page .best-sellers-section .card-swiper.single-page .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: var(--best-sellers-mobile-card-height);
    width: 100% !important;
    gap: var(--best-sellers-mobile-gap);
  }

  .index-page .best-sellers-section .card-swiper.single-page .swiper-wrapper .swiper-slide {
    width: 100%;
    order: 0 !important;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
  }

  .index-page .best-sellers-section:has(.card-swiper.single-page) .hint-icon {
    display: none;
  }

  .index-page .best-sellers-section .card-swiper {
    --height: calc(var(--best-sellers-mobile-card-height) + var(--best-sellers-mobile-card-height) + var(--best-sellers-mobile-gap));
  }

  .index-page .best-sellers-section .card-swiper .swiper-slide {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: #f2f8ff;
    box-shadow: none;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box {
    position: static;
    height: 2.72rem;
    flex-basis: 2.72rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .img {
    /* 移动端图片回到图片容器内，避免绝对定位按整张商品卡片计算高度。 */
    position: static;
    inset: auto;
    width: 100%;
    height: 100%;
    mix-blend-mode: normal;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .img:nth-child(2) {
    display: none;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box {
    padding: 0.22rem 0.16rem 0.4rem 0.32rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box .card-title {
    min-height: 0;
    flex: 0 1 auto;
    display: block;
    overflow: visible;
    -webkit-line-clamp: unset;
    font-size: 0.28rem;
    line-height: 0.36rem;
  }

  /* 首页商品名称完整展示start：沿用等高测量，不以固定行数撑齐名称。 */
  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box .card-title p {
    display: block;
    height: auto;
    max-height: none;
    overflow: visible;
    -webkit-line-clamp: unset;
  }

  .index-page .best-sellers-section .card-swiper.common-card-measuring .swiper-wrapper {
    height: auto;
    grid-auto-rows: auto;
  }

  .index-page .best-sellers-section .card-swiper.common-card-measuring .swiper-wrapper .swiper-slide {
    height: auto;
    flex-basis: auto;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box .price {
    margin-top: auto;
    padding-top: 0.16rem;
    font-size: 0.3rem;
    line-height: 0.32rem;
  }
  /* 首页商品名称完整展示end */

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .new-tag {
    top: 0.22rem;
    left: 0.26rem;
    height: 0.28rem;
    border-radius: 0;
    font-size: 0.22rem;
    line-height: 0.23rem;
  }

  .index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .img-box .car {
    right: 0.18rem;
    bottom: 0.22rem;
    width: 0.64rem;
    height: 0.64rem;
    box-shadow: none;
  }

  /* 付款结果保留动态数据结构，视觉尺寸回到静态项目。 */
  .pay-success-page,
  .pay-success-page .pay-success-main {
    background: #f5f5f5;
  }

  .pay-success-page .pay-success-container {
    width: 100%;
    padding: 0.78rem 0.32rem 1.4rem;
  }

  .pay-success-page .pay-success-panel,
  .pay-success-page .pay-success-panel-failed {
    display: flex;
    width: 100%;
    min-height: 0;
    padding: 0;
    flex-direction: column;
    align-items: center;
    background: transparent;
  }

  .pay-success-page .pay-success-panel-failed {
    min-height: 11.72rem;
    padding-bottom: 1.2rem;
  }

  .pay-success-page .pay-success-status,
  .pay-success-page .pay-success-status-copy,
  .pay-success-page .pay-success-content-grid {
    display: contents;
  }

  .pay-success-page .pay-success-icon {
    width: 1.96rem;
    height: 1.96rem;
    padding: 0;
    flex: 0 0 auto;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .pay-success-page .pay-success-title {
    margin-top: 0.48rem;
    font-size: 0.48rem;
    font-family: var(--sk-font-SemiBold);
    line-height: 0.72rem;
    text-align: center;
  }

  .pay-success-page .pay-success-desc {
    width: 5rem;
    max-width: 100%;
    margin-top: 0.18rem;
    color: #777777;
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.34rem;
    text-align: center;
  }

  .pay-success-page .pay-summary,
  .pay-success-page .pay-success-installers {
    width: 100%;
    height: auto;
    margin-top: 0.62rem;
    padding: 0.66rem 0.46rem 0.84rem;
    border: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .pay-success-page .pay-summary .pay-summary-heading {
    display: flex;
    margin: 0 0 0.64rem;
    align-items: center;
    justify-content: space-between;
  }

  .pay-success-page .pay-summary h2,
  .pay-success-page .pay-success-installers h2 {
    margin: 0;
    font-size: 0.32rem;
    font-family: var(--sk-font-SemiBold);
    line-height: 0.44rem;
  }

  .pay-success-page .pay-summary h2::after {
    content: none;
  }

  .pay-success-page .pay-summary-status {
    padding: 0;
    background: transparent;
    color: #777777;
    font-size: 0.2rem;
    line-height: 0.28rem;
  }

  .pay-success-page .pay-summary dl {
    display: block;
    margin: 0;
  }

  .pay-success-page .pay-summary dl > div,
  .pay-success-page .pay-summary dl > .pay-summary-total {
    display: flex;
    margin-top: 0.56rem;
    padding-top: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.24rem;
    border-top: 0;
  }

  .pay-success-page .pay-summary dl > div:first-child {
    margin-top: 0;
  }

  .pay-success-page .pay-summary dt,
  .pay-success-page .pay-summary dd,
  .pay-success-page .pay-summary-total dt,
  .pay-success-page .pay-summary-total dd {
    margin: 0;
    font-size: 0.26rem;
    font-family: var(--sk-font-SemiBold);
    line-height: 0.32rem;
  }

  .pay-success-page .pay-summary dt {
    color: #777777;
  }

  .pay-success-page .pay-summary dd {
    max-width: 4rem;
    color: #333333;
    text-align: right;
  }

  .pay-success-page .pay-summary .pay-success-order-action {
    margin-top: 0.56rem;
  }

  .pay-success-page .pay-success-actions {
    width: 100%;
    gap: 0.38rem;
    margin-top: 0.62rem;
  }

  .pay-success-page .pay-success-action {
    width: auto;
    height: 0.96rem;
    flex: 1 1 0;
    box-shadow: none;
  }

  .pay-success-page .pay-success-action .btn__content .default____btn__txt {
    font-size: 0.28rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.36rem;
  }

  .pay-success-page .pay-success-installers {
    align-items: stretch;
  }

  .pay-success-page .pay-success-installers > p {
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .pay-success-page .pay-success-installer-links a {
    border-radius: 0;
    box-shadow: none;
  }

  /* 论坛详情使用静态项目的整行返回区、方形内容卡和回复网格。 */
  .forum-detail-page,
  .forum-detail-page .forum-detail-main {
    background: #f5f5f5;
  }

  .forum-detail-page .forum-detail-main {
    padding: 0;
  }

  .forum-detail-page .forum-detail-mobile-return {
    display: flex;
    width: 100%;
    height: auto;
    min-height: 1.3rem;
    margin: 0;
    padding: 0 0.26rem;
    border: 0;
    border-radius: 0;
    background: #f5f5f5;
    box-shadow: none;
    font-size: 0.28rem;
    line-height: 0.32rem;
  }

  .forum-detail-page .forum-detail-content {
    padding: 0 0.3rem 0.42rem;
  }

  .forum-detail-page .forum-detail-card {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: #ffffff;
    box-shadow: none;
  }

  .forum-detail-page .forum-detail-topic {
    display: flex;
    padding: 0.32rem 0.28rem;
    flex-direction: column;
  }

  .forum-detail-page .forum-detail-topic-meta,
  .forum-detail-page .forum-detail-topic-body {
    display: contents;
  }

  .forum-detail-page .forum-detail-topic-meta > .forum-detail-author {
    order: 1;
    width: 100%;
  }

  .forum-detail-page .forum-detail-topic-title {
    order: 2;
    margin-top: 0.34rem;
    font-size: 0.48rem;
    font-family: var(--sk-font-Bold);
    line-height: 0.64rem;
  }

  .forum-detail-page .forum-detail-topic-date {
    order: 3;
    margin: 0.28rem 0;
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.32rem;
  }

  .forum-detail-page .forum-detail-topic-text {
    order: 4;
    margin-top: 0;
    color: #333333;
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.34rem;
  }

  .forum-detail-page .forum-detail-author-avatar {
    width: 0.84rem;
    height: 0.84rem;
    margin-right: 0.22rem;
    border: 0;
  }

  .forum-detail-page .forum-detail-author-name {
    font-size: 0.28rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.36rem;
  }

  .forum-detail-page .forum-detail-replies {
    margin-top: 0.4rem;
    padding: 0.32rem 0.28rem;
  }

  .forum-detail-page .forum-detail-reply-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "text text" "author date";
    gap: 0;
    column-gap: 0.2rem;
    padding: 0.3rem 0;
    border-bottom: 0.01rem solid #e6e6e6;
  }

  .forum-detail-page .forum-detail-reply-item:last-child {
    border-bottom: 0.01rem solid #e6e6e6;
  }

  .forum-detail-page .forum-detail-reply-item .forum-detail-author {
    grid-area: author;
    margin-top: 0.26rem;
  }

  .forum-detail-page .forum-detail-reply-item .forum-detail-author-avatar {
    margin-right: 0.18rem;
  }

  .forum-detail-page .forum-detail-reply-body {
    display: contents;
  }

  .forum-detail-page .forum-detail-reply-text {
    grid-area: text;
    color: #333333;
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.34rem;
  }

  .forum-detail-page .forum-detail-reply-date {
    grid-area: date;
    align-self: center;
    margin: 0.26rem 0 0;
    font-size: 0.24rem;
    font-family: var(--sk-font-Medium);
    line-height: 0.34rem;
  }

  /* 发帖弹窗保留 Java 必填项、验证码和编辑器能力，只还原静态视觉。 */
  .forum-page .forum-detail-post-panel,
  .forum-detail-page .forum-detail-post-panel {
    border-radius: 0;
    box-shadow: none;
  }

  .forum-page .forum-detail-post-header,
  .forum-detail-page .forum-detail-post-header {
    min-height: 0;
    border-bottom: 0;
  }

  .forum-page .forum-detail-post-title-field,
  .forum-detail-page .forum-detail-post-title-field,
  .forum-page .forum-detail-post-category-field,
  .forum-detail-page .forum-detail-post-category-field,
  .forum-page .forum-detail-post-content-field,
  .forum-detail-page .forum-detail-post-content-field {
    gap: 0;
    padding-top: 0;
  }

  .forum-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-page .forum-detail-post-category,
  .forum-detail-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-detail-page .forum-detail-post-category,
  .forum-page .forum-detail-post-vditor,
  .forum-detail-page .forum-detail-post-vditor,
  .forum-page .forum-detail-post-code input,
  .forum-detail-page .forum-detail-post-code input,
  .forum-page .forum-detail-post-btn,
  .forum-detail-page .forum-detail-post-btn {
    border-radius: 0;
    box-shadow: none;
  }

  .forum-page .forum-detail-post-panel {
    width: 100%;
    max-width: 6.9rem;
    margin-top: 0.2rem;
    padding: 0;
  }

  .forum-page .forum-detail-post-header {
    padding: 0.62rem 0.32rem 0;
  }

  .forum-page .forum-detail-post-header .forum-detail-post-title {
    font-size: 0.48rem;
    line-height: 0.48rem;
  }

  .forum-page .forum-detail-post-body {

    padding: 0.4rem 0.32rem 0;
  }

  .forum-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-page .forum-detail-post-category {
    height: 0.96rem;
    font-size: 0.24rem;
    line-height: 0.28rem;
  }

  .forum-page .forum-detail-post-vditor {
    margin-top: 0;
    border-color: #e6e6e6;
  }

  .forum-page .forum-detail-post-bottom {
    display: block;
    margin-top: 0.4rem;
    padding: 0 0.32rem 1.92rem;
    border-top: 0;
  }

  .forum-page .forum-detail-post-code {
    width: 100%;
    height: 0.96rem;
    flex-basis: 0.96rem;
    border: 0.01rem solid #e6e6e6;
  }

  .forum-page .forum-detail-post-code input {
    height: 100%;
    padding-right: 2.18rem;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .forum-page .forum-detail-post-code [data-refresh-captcha] {
    right: 0.1rem;
    width: 2.03rem;
    height: 0.58rem;
  }

  .forum-page .forum-detail-post-btn {
    width: 100%;
    min-width: 0;
    height: 0.96rem;
    margin-top: 0.4rem;
  }

  .forum-page .forum-detail-post-btn .default____btn__txt {
    font-size: 0.28rem;
    line-height: 0.24rem;
  }

  .forum-detail-page .forum-detail-post-panel {
    width: 100%;
    max-width: 6.9rem;
    min-height: 0;
    max-height: calc(100dvh - 0.72rem);
    padding: 0;
  }

  .forum-detail-page .forum-detail-post-header {
    padding: 0.28rem 0.22rem 0;
  }

  .forum-detail-page .forum-detail-post-header .forum-detail-post-title {
    font-size: 0.32rem;
    line-height: 0.4rem;
  }

  .forum-detail-page .forum-detail-post-body {
    gap: 0.22rem;
    padding: 0.22rem 0.22rem 0;
  }

  .forum-detail-page .forum-detail-post-title-field .forum-detail-post-input,
  .forum-detail-page .forum-detail-post-category {
    height: 0.58rem;
    font-size: 0.2rem;
    line-height: 0.28rem;
  }

  .forum-detail-page .forum-detail-post-vditor {
    margin-top: 0;
    border-color: #e6e6e6;
  }

  .forum-detail-page .forum-detail-post-bottom {
    display: block;
    margin-top: 0.22rem;
    padding: 0 0.22rem 0.58rem;
    border-top: 0;
  }

  .forum-detail-page .forum-detail-post-code {
    width: 100%;
    height: 0.58rem;
    flex-basis: 0.58rem;
    border: 0.01rem solid #e6e6e6;
  }

  .forum-detail-page .forum-detail-post-code input {
    height: 100%;
    padding-right: 1.42rem;
    font-size: 0.18rem;
    line-height: 0.24rem;
  }

  .forum-detail-page .forum-detail-post-code [data-refresh-captcha] {
    right: 0.1rem;
    width: 1.14rem;
    height: 0.36rem;
  }

  .forum-detail-page .forum-detail-post-btn {
    width: 100%;
    min-width: 0;
    height: 0.58rem;
    margin-top: 0.22rem;
  }

  .forum-detail-page .forum-detail-post-btn .default____btn__txt {
    font-size: 0.2rem;
    line-height: 0.24rem;
  }
}
/* 全站移动端静态项目样式对齐end */

/* 公共下拉框视觉规范start */
.common-select-shell {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
}

.common-select-shell > select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-right: 0.54rem;
  border: 0.01rem solid #cccccc;
  border-radius: 0;
  background-color: #ffffff;
  box-sizing: border-box;
  color: #333333;
  font-family: var(--sk-font-Medium);
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.sk_select.common-select-with-image .-select-front {
  background-image: none;
}

.sk_select .-select-front > .common-select-arrow,
.common-select-shell > .common-select-arrow {
  position: absolute;
  top: 50%;
  right: 0.2rem;
  z-index: 1;
  display: block;
  width: 0.19rem;
  height: 0.17rem;
  object-fit: contain;
  pointer-events: none;
  transform: translateY(-50%);
}

.profile-order-filter.sk_select .-select-front > .common-select-arrow {
  right: 0.18rem;
  width: 0.19rem;
  height: 0.17rem;
}

.product-detail-sort .profile-order-filter.sk_select .-select-front > .common-select-arrow {
  right: 0.14rem;
  width: 0.16rem;
  height: 0.14rem;
}

.common-select-shell > select option {
  padding: 0.1rem 0.18rem;
  background: #ffffff;
  color: #666666;
}

.common-select-shell > select option:checked {
  background: #f5f5f5;
  color: #333333;
}

@supports (appearance: base-select) {
  .common-select-shell > select,
  .common-select-shell > select::picker(select) {
    -webkit-appearance: base-select;
    appearance: base-select;
  }

  .common-select-shell > select::picker-icon {
    display: none;
  }

  .common-select-shell > select::picker(select) {
    width: anchor-size(width);
    max-height: 3.8rem;
    margin-top: 0.06rem;
    padding: 0.08rem 0;
    overflow-y: auto;
    border: 0;
    background: #ffffff;
    box-shadow: 0 0.12rem 0.28rem rgba(0, 0, 0, 0.08);
    scrollbar-color: #999999 transparent;
    scrollbar-width: thin;
  }

  .common-select-shell > select option {
    min-height: 0.42rem;
    padding: 0.1rem 0.18rem;
    border: 0;
    cursor: pointer;
  }

  .common-select-shell > select option:hover,
  .common-select-shell > select option:focus,
  .common-select-shell > select option:checked {
    background: #f5f5f5;
    color: #333333;
  }

  .common-select-shell > select option::checkmark {
    display: none;
  }
}

.profile-address-page .profile-address-native-select > select {
  height: 0.54rem;
  padding: 0 0.54rem 0 0.23rem;
  font-size: 0.18rem;
  line-height: 0.24rem;
}

.profile-address-page .profile-address-native-select > .profile-address-native-select-arrow {
  right: 0.18rem;
  width: 0.25rem;
  height: 0.25rem;
}

@media (max-width: 800px) {
  .profile-order-filter.sk_select .-select-front > .common-select-arrow {
    right: 0.24rem;
    width: 0.22rem;
    height: 0.2rem;
  }

  .forum-sort.profile-order-filter.sk_select .-select-front > .common-select-arrow,
  .product-detail-sort .profile-order-filter.sk_select .-select-front > .common-select-arrow {
    right: 0.18rem;
    width: 0.18rem;
    height: 0.16rem;
  }

  .profile-address-page .profile-address-native-select > select {
    height: 1.08rem;
    min-height: 1.08rem;
    padding-right: 0.64rem;
    font-size: 0.26rem;
    line-height: 0.34rem;
  }

  .profile-address-page .profile-address-native-select > .profile-address-native-select-arrow {
    right: 0.24rem;
    width: 0.34rem;
    height: 0.34rem;
  }
}
/* 公共下拉框视觉规范end */

/* Forum New Post dropdown and stable field states start */
.forum-page .forum-detail-post-category,
.forum-detail-page .forum-detail-post-category {
  padding-right: 0.54rem;
  align-items: center;
  border-color: #e6e6e6;
  border-radius: 0;
  background: #ffffff;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.forum-page .forum-detail-post-category-arrow,
.forum-detail-page .forum-detail-post-category-arrow {
  position: absolute;
  top: 50%;
  right: 0.2rem;
  z-index: 1;
  display: block;
  width: 0.19rem;
  height: 0.17rem;
  object-fit: contain;
  pointer-events: none;
  transform: translateY(-50%);
}


.forum-page .forum-detail-post-category-arrow {
  top: 60%;
}

.forum-page .forum-detail-post-category option,
.forum-detail-page .forum-detail-post-category option {
  padding: 0.1rem 0.18rem;
  background: #ffffff;
  color: #666666;
}

.forum-page .forum-detail-post-category option:checked,
.forum-detail-page .forum-detail-post-category option:checked {
  background: #f5f5f5;
  color: #333333;
}

.forum-page .forum-detail-post-input:focus,
.forum-page .forum-detail-post-input.forum-field-invalid,
.forum-page .forum-detail-post-category:focus,
.forum-page .forum-detail-post-category.forum-field-invalid,
.forum-detail-page .forum-detail-post-input:focus,
.forum-detail-page .forum-detail-post-input.forum-field-invalid,
.forum-detail-page .forum-detail-post-category:focus,
.forum-detail-page .forum-detail-post-category.forum-field-invalid {
  border-color: #e6e6e6;
  outline: none;
  box-shadow: none;
}

.forum-page .forum-detail-post-vditor:focus-within,
.forum-page .forum-detail-post-content-field.forum-field-invalid .forum-detail-post-vditor,
.forum-detail-page .forum-detail-post-vditor:focus-within,
.forum-detail-page .forum-detail-post-content-field.forum-field-invalid .forum-detail-post-vditor {
  border-color: #e6e6e6;
  outline: none;
  box-shadow: none;
}

.forum-page .forum-detail-post-code:focus-within,
.forum-detail-page .forum-detail-post-code:focus-within {
  border-color: #d7e4f9;
  outline: none;
  box-shadow: none;
}

.forum-page .forum-detail-post-code input:focus,
.forum-detail-page .forum-detail-post-code input:focus {
  border: 0;
  outline: none;
  box-shadow: none;
}

@supports (appearance: base-select) {
  .forum-page .forum-detail-post-category,
  .forum-page .forum-detail-post-category::picker(select),
  .forum-detail-page .forum-detail-post-category,
  .forum-detail-page .forum-detail-post-category::picker(select) {
    -webkit-appearance: base-select;
    appearance: base-select;
  }

  .forum-page .forum-detail-post-category::picker-icon,
  .forum-detail-page .forum-detail-post-category::picker-icon {
    display: none;
  }

  .forum-page .forum-detail-post-category::picker(select),
  .forum-detail-page .forum-detail-post-category::picker(select) {
    /* 菜单锚定选择框下沿，关闭浏览器默认的向上翻转，受可用区域约束后内部滚动。 */
    position-area: bottom span-right;
    position-try-fallbacks: none;
    inset: auto;
    justify-self: start;
    align-self: start;
    width: anchor-size(width);
    max-height: min(3.8rem, 100%);
    margin-top: 0.06rem;
    padding: 0.08rem 0;
    overflow-y: auto;
    border: 0;
    background: #ffffff;
    box-shadow: 0 0.12rem 0.28rem rgba(0, 0, 0, 0.08);
    scrollbar-color: #999999 transparent;
    scrollbar-width: thin;
  }

  .forum-page .forum-detail-post-category option,
  .forum-detail-page .forum-detail-post-category option {
    min-height: 0.42rem;
    padding: 0.1rem 0.18rem;
    border: 0;
    cursor: pointer;
  }

  .forum-page .forum-detail-post-category option:hover,
  .forum-page .forum-detail-post-category option:focus,
  .forum-page .forum-detail-post-category option:checked,
  .forum-detail-page .forum-detail-post-category option:hover,
  .forum-detail-page .forum-detail-post-category option:focus,
  .forum-detail-page .forum-detail-post-category option:checked {
    background: #f5f5f5;
    color: #333333;
  }

  .forum-page .forum-detail-post-category option::checkmark,
  .forum-detail-page .forum-detail-post-category option::checkmark {
    display: none;
  }
}

@media (max-width: 800px) {
  .forum-page .forum-detail-post-category-arrow {
    right: 0.2rem;
    width: 0.32rem;
    height: 0.28rem;
  }

  .forum-detail-page .forum-detail-post-category-arrow {
    right: 0.18rem;
  }
}
/* Forum New Post dropdown and stable field states end */

/* 个人中心论坛移动端状态对齐start */
@media screen and (max-width: 800px) {
  /* 与静态个人中心共用容器留白，业务标签和列表仍留在本页面板内。 */
  .my-forum-page .link-list-section {
    display: none;
  }

  .my-forum-page .profile-title {
    font-family: var(--sk-font-Bold);
  }

  .my-forum-page .empty-state-host > .empty-state {
    width: 100%;
    min-height: 2.4rem;
    padding: 0.18rem 0 0.08rem;
  }

  .my-forum-page .empty-state__media {
    width: 1.2rem;
    margin-bottom: 0.12rem;
  }

  .my-forum-page .empty-state__title {
    font-size: 0.2rem;
    line-height: 0.28rem;
  }

  .my-forum-page .empty-state__description {
    max-width: 3.2rem;
    margin-top: 0.04rem;
    font-size: 0.14rem;
    line-height: 0.2rem;
  }

  .my-forum-page .my-forum-panel {
    padding: 0;
    background: transparent;
    overflow: visible;
  }

  .my-forum-page .my-forum-head {
    gap: 0.2rem;
    padding: 0;
  }

  .my-forum-page .my-forum-tabs {
    gap: 0.48rem;
    margin-top: 0.28rem;
    padding: 0;
  }

  .my-forum-page .my-forum-tab-panel {
    padding: 0.18rem 0 0;
    background: transparent;
  }

  .my-forum-page .my-forum-item {
    border-bottom: 0.01rem solid #e6e6e6;
    background: #ffffff;
  }

  .my-forum-page .my-forum-state {
    min-height: 2.4rem;
    border-radius: 0;
    background: transparent;
    color: #666666;
  }
}
/* 个人中心论坛移动端状态对齐end */

.site-header-category-item.active .site-header-category-icon img:only-child,
.site-header-category-item:hover .site-header-category-icon img:only-child {
  opacity: 1;
}

/* 公共导航CMS分类图标start */
.site-header-category-item.is-current,
.site-header-mobile-category-item.is-current {
  color: var(--sk-global-color);
}

.site-header-category-item.is-current .site-header-category-icon img:first-child {
  opacity: 0;
}

.site-header-category-item.is-current .site-header-category-icon img:last-child {
  opacity: 1;
}

.site-header-mobile-category-item.is-current .site-header-mobile-category-icon {
  opacity: 1;
}

.site-header-mobile-category-icon-cms .site-header-mobile-category-icon-active {
  display: none;
}

.site-header-mobile-category-item.is-current .site-header-mobile-category-icon img:first-child {
  display: none;
}

.site-header-mobile-category-item.is-current .site-header-mobile-category-icon .site-header-mobile-category-icon-active {
  display: block;
}
/* 公共导航CMS分类图标end */

/* 商品问答使用语义按钮，清除浏览器默认按钮外观并保留后台录入换行。 */
.product-detail-page .product-detail-qa-question {
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  appearance: none;
}

.product-detail-page .product-detail-qa-question-text,
.product-detail-page .product-detail-qa-content p {
  white-space: pre-line;
  overflow-wrap: anywhere;
}

.product-detail-page .product-detail-qa-item.active .product-detail-qa-content {
  max-height: none;
  overflow: visible;
}

@media screen and (max-width: 800px) {
  .product-detail-page .product-detail-qa-question {
    width: 100%;
    min-width: 0;
    touch-action: manipulation;
  }

  .product-detail-page .product-detail-qa-question-text {
    min-width: 0;
  }
}






.policies-page .policies-sidebar {
  top: 1.2rem;
  padding: 0.32rem 0.39rem 0.55rem;
}

.user-agreement-page .user-agreement-panel .user-agreement-content.cms-text-lines a {
  color: #F4CA0A;
  text-decoration: underline;
}

.privacy-policy-page .privacy-policy-panel .privacy-policy-content.cms-text-lines a {
  color: #F4CA0A;
  text-decoration: underline;
}

/* 论坛发帖富文本对齐静态站start */
.forum-detail-post-modal .forum-detail-post-editor .tox-tinymce,
.forum-detail-post-modal .forum-detail-post-editor:focus-within .tox-tinymce,
.forum-detail-post-modal .forum-detail-post-editor .forum-editor-textarea {
  border: 1px solid #e6e6e6;
  border-radius: 0;
  box-shadow: none;
}

.forum-detail-post-modal .forum-detail-post-editor .forum-editor-textarea {
  padding: 0.18rem 0.16rem;
  color: #666666;
  font-family: var(--sk-font-Medium), Arial, sans-serif;
  font-size: 0.18rem;
  line-height: 0.28rem;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-editor-header {
  padding: 0;
  border-bottom: 1px solid #e6e6e6;
  box-shadow: none;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-toolbar-overlord,
.forum-detail-post-modal .forum-detail-post-editor .tox .tox-toolbar,
.forum-detail-post-modal .forum-detail-post-editor .tox .tox-toolbar__primary {
  background: #f7f7f7;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-toolbar__primary,
.forum-detail-post-modal .forum-detail-post-editor .tox .tox-toolbar {
  padding: 0 0.08rem;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-toolbar__group {
  gap: 0.02rem;
  padding: 0 0.04rem;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-tbtn {
  width: 0.26rem;
  height: 0.34rem;
  margin: 0;
  padding: 0.06rem;
  border-radius: 0;
  background: transparent;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-tbtn:hover,
.forum-detail-post-modal .forum-detail-post-editor .tox .tox-tbtn--enabled {
  background: #e6e6e6;
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-tbtn svg {
  /* 原生 SVG 没有 viewBox，保留坐标尺寸，整体缩放以避免裁切路径。 */
  width: 24px;
  height: 24px;
  zoom: 0.58;
  zoom: calc(0.14rem / 24px);
}

.forum-detail-post-modal .forum-detail-post-editor .tox .tox-tbtn--select {
  width: auto;
  max-width: 1.5rem;
  font-size: 0.14rem;
}

.forum-detail-post-modal .forum-editor-count {
  right: 0.05rem;
  bottom: 0.05rem;
  padding: 0;
  color: #333333;
  background: #ffffff;
  font-family: var(--sk-font-Medium);
  font-size: 0.14rem;
  line-height: 0.18rem;
}




@media screen and (max-width: 800px) {
  .forum-detail-post-modal .forum-detail-post-editor,
  .forum-detail-post-modal .forum-detail-post-editor .tox-tinymce,
  .forum-detail-post-modal .forum-detail-post-editor .forum-editor-textarea {
    height: 2.5rem !important;
    min-height: 2.5rem;
  }

  .forum-detail-post-modal .forum-detail-post-editor .forum-editor-textarea {
    padding: 0.18rem 0.14rem;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .forum-detail-post-modal .forum-detail-post-editor .tox .tox-editor-header,
  .forum-detail-post-modal .forum-editor-count {
    display: none;
  }
}

/* 论坛发帖必填字段恢复历史浮动标签样式，标签压在控件上边框。 */
.forum-page .forum-detail-post-title-field,
.forum-detail-page .forum-detail-post-title-field,
.forum-page .forum-detail-post-category-field,
.forum-detail-page .forum-detail-post-category-field,
.forum-page .forum-detail-post-content-field,
.forum-detail-page .forum-detail-post-content-field {
  position: relative;
  display: block;
  gap: 0;
  padding-top: 0.08rem;
}

.forum-page .forum-detail-post-title-label,
.forum-detail-page .forum-detail-post-title-label,
.forum-page .forum-detail-post-category-field > span,
.forum-detail-page .forum-detail-post-category-field > span,
.forum-page .forum-detail-post-content-label,
.forum-detail-page .forum-detail-post-content-label {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  top: 0.08rem;
  left: 0.14rem;
  z-index: 2;
  margin: 0;
  padding: 0 0.06rem;
  overflow: visible;
  clip-path: none;
  color: #64748b;
  background: #ffffff;
  font-size: 0.12rem;
  font-family: var(--sk-font-Medium);
  line-height: 0.16rem;
  letter-spacing: 0.02em;
  white-space: nowrap;
  transform: translateY(-50%);
  pointer-events: none;
}

.forum-page .forum-detail-post-title-field .forum-detail-post-input,
.forum-detail-page .forum-detail-post-title-field .forum-detail-post-input {
  margin-top: 0;
}

/* Align the editor border with the floating Content label so its white background covers the line. */
.forum-page .forum-detail-post-content-field > .forum-editor-shell,
.forum-detail-page .forum-detail-post-content-field > .forum-editor-shell {
  margin-top: 0.08rem;
}

@media screen and (max-width: 800px) {
  .forum-page .forum-detail-post-title-field,
  .forum-detail-page .forum-detail-post-title-field,
  .forum-page .forum-detail-post-category-field,
  .forum-detail-page .forum-detail-post-category-field,
  .forum-page .forum-detail-post-content-field,
  .forum-detail-page .forum-detail-post-content-field {
    padding-top: 0.12rem;
  }

  .forum-page .forum-detail-post-title-label,
  .forum-detail-page .forum-detail-post-title-label,
  .forum-page .forum-detail-post-category-field > span,
  .forum-detail-page .forum-detail-post-category-field > span,
  .forum-page .forum-detail-post-content-label,
  .forum-detail-page .forum-detail-post-content-label {
    top: 0.12rem;
    left: 0.2rem;
    padding: 0 0.08rem;
    font-size: 0.18rem;
    line-height: 0.22rem;
  }

  .forum-page .forum-detail-post-content-field > .forum-editor-shell,
  .forum-detail-page .forum-detail-post-content-field > .forum-editor-shell {
    margin-top: 0.12rem;
  }
}

/* 论坛发帖富文本对齐静态站end */

@media screen and (max-width: 800px) {
  .site-footer-mobile-policy a:first-child::after {
    margin: 0 0.24rem 0 0.215rem;
  }
}



/* policies页面start*/

.policies-page .policies-panel .policies-list a {
  color: #F4CA0A;
  text-decoration: underline;
}
/* policies页面end */

/* 论坛详情页与静态项目视觉对齐：保留 Java 动态字段和 TinyMCE，仅修正页面结构对应的视觉规则。 */
.forum-detail-page,
.forum-detail-page .forum-detail-main {
  background: #f5f5f5;
}

.forum-detail-page .forum-detail-card {
  overflow: visible;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.forum-detail-page .forum-detail-topic {
  display: flex;
  flex-direction: row;
  min-height: 4.74rem;
  padding: 0.37rem 0.34rem;
}

.forum-detail-page .forum-detail-author {
  display: block;
  flex-shrink: 0;
  min-width: 0;
  text-align: center;
}

.forum-detail-page .forum-detail-author-avatar {
  width: 0.76rem;
  height: 0.76rem;
  margin: 0 auto;
  border: 0;
}

.forum-detail-page .forum-detail-author-name {
  display: block;
  margin-top: 0.13rem;
  overflow: visible;
  color: #333333;
  font-size: 0.2rem;
  line-height: 0.24rem;
  text-overflow: clip;
  white-space: normal;
}

.forum-detail-page .forum-detail-topic-body {
  flex: 1;
  min-width: 0;
  padding-top: 0.28rem;
  margin-left: 0.46rem;
}

.forum-detail-page .forum-detail-topic-title {
  color: #333333;
  font-size: 0.24rem;
  line-height: 0.3rem;
  overflow-wrap: anywhere;
}

.forum-detail-page .forum-detail-topic-date {
  display: block;
  margin-top: 0.3rem;
  color: #999999;
  font-size: 0.18rem;
  line-height: 0.2rem;
}

.forum-detail-page .forum-detail-topic-text {
  margin-top: 0.12rem;
  color: #666666;
  font-size: 0.18rem;
  line-height: 0.24rem;
}

.forum-detail-page .forum-detail-reply-editor {
  display: flex;
  flex-direction: row;
  min-height: 3.45rem;
  margin-top: 0.49rem;
  padding: 0.48rem 0.34rem 0.26rem;
}

.forum-detail-page .forum-detail-editor-body {
  flex: 1;
  min-width: 0;
  margin-left: 0.46rem;
}

.forum-detail-page .forum-detail-editor {
  min-height: 2.4rem;
  border: 0.01rem solid #e6e6e6;
}

.forum-detail-page .forum-detail-editor .tox-tinymce {
  min-height: 2.4rem;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.forum-detail-page .forum-detail-editor .tox .tox-editor-header {
  border-bottom: 0.01rem solid #e6e6e6;
  box-shadow: none;
}

.forum-detail-page .forum-detail-editor .tox .tox-toolbar-overlord,
.forum-detail-page .forum-detail-editor .tox .tox-toolbar,
.forum-detail-page .forum-detail-editor .tox .tox-toolbar__primary {
  background: #f7f7f7;
}

.forum-detail-page .forum-detail-editor .tox .tox-tbtn {
  border-radius: 0;
}

.forum-detail-page .forum-detail-reply-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 0.2rem;
}

.forum-detail-page .forum-detail-replies {
  margin-top: 0.49rem;
  padding: 0.27rem 0.34rem 0.77rem;
}

.forum-detail-page .forum-detail-reply-item {
  display: flex;
  gap: 0;
  padding: 0.31rem 0 0.32rem;
  border-bottom: 0.01rem solid #e6e6e6;
}

.forum-detail-page .forum-detail-reply-item:last-child {
  border-bottom: 0.01rem solid #e6e6e6;
}

.forum-detail-page .forum-detail-reply-body {
  flex: 1;
  min-width: 0;
  padding: 0.03rem 0.2rem 0 0;
  margin-left: 0.46rem;
}

.forum-detail-page .forum-detail-reply-text {
  color: #666666;
  font-size: 0.18rem;
  line-height: 0.24rem;
}

.forum-detail-page .forum-detail-reply-date {
  display: block;
  margin-top: 0.25rem;
  color: #999999;
  font-size: 0.18rem;
  line-height: 0.2rem;
}

.forum-detail-page .forum-detail-profile {
  min-height: 3.95rem;
  padding: 0.32rem 0.54rem 0.57rem;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #FFFCF0 14.81%, #FFFFFF 100%);
}

.forum-detail-page .forum-detail-profile-stats {
  margin-top: 0.53rem;
  padding: 0 0.08rem;
}

.forum-detail-page .forum-detail-profile-stat-num {
  margin-right: 0.02rem;
  color: #333333;
  font-size: 0.32rem;
  line-height: 0.35rem;
}

.forum-detail-page .forum-detail-new-post {
  min-width: 0;
  height: auto;
  margin-top: 0.46rem;
  padding: 0 1.23rem;
  border-radius: 0;
  background: var(--sk-global-color);
  box-shadow: none;
}

.forum-detail-page .forum-detail-active {
  min-height: 4.98rem;
  margin-top: 0.4rem;
  padding: 0.35rem 0.31rem;
  border: 0;
  border-radius: 0;
}

.forum-detail-page .forum-detail-member-item {
  gap: 0;
  min-height: 0.5rem;
}

.forum-detail-page .forum-detail-member-name {
  margin-left: 0.16rem;
  color: #333333;
  font-size: 0.22rem;
  line-height: 0.26rem;
}

.forum-detail-page .forum-detail-post-panel {
  border-radius: 0;
  box-shadow: none;
}

@media screen and (max-width: 800px) {
  .forum-detail-page,
  .forum-detail-page .forum-detail-main {
    background: #f5f5f5;
  }

  .forum-detail-page .forum-detail-main {
    padding: 0;
  }

  .forum-detail-page .common-crumb,
  .forum-detail-page .forum-detail-sidebar,
  .forum-detail-page .forum-detail-reply-editor,
  .forum-detail-page .pagination {
    display: none;
  }

  .forum-detail-page .forum-detail-mobile-return {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 1.3rem;
    margin: 0;
    padding: 0 0.26rem;
    border: 0;
    border-radius: 0;
    background: #f5f5f5;
    box-shadow: none;
    font-size: 0.28rem;
    line-height: 0.32rem;
  }

  .forum-detail-page .forum-detail-content {
    padding: 0 0.3rem 0.42rem;
  }

  .forum-detail-page .forum-detail-container,
  .forum-detail-page .forum-detail-left {
    width: 100%;
  }

  .forum-detail-page .forum-detail-layout {
    display: block;
  }

  .forum-detail-page .forum-detail-card {
    width: 100%;
    box-sizing: border-box;
    background: #ffffff;
  }

  .forum-detail-page .forum-detail-topic {
    display: block;
    min-height: 0;
    padding: 0.32rem 0.28rem;
  }

  .forum-detail-page .forum-detail-author {
    display: flex;
    align-items: center;
    width: 100%;
    text-align: left;
  }

  .forum-detail-page .forum-detail-author-avatar {
    width: 0.84rem;
    height: 0.84rem;
    margin: 0 0.22rem 0 0;
  }

  .forum-detail-page .forum-detail-author-name {
    margin-top: 0;
    font-size: 0.28rem;
    line-height: 0.36rem;
  }

  .forum-detail-page .forum-detail-topic-body {
    padding-top: 0.34rem;
    margin-left: 0;
  }

  .forum-detail-page .forum-detail-topic-title {
    font-size: 0.48rem;
    line-height: 0.64rem;
  }

  .forum-detail-page .forum-detail-topic-date {
    margin: 0.28rem 0;
    font-size: 0.24rem;
    line-height: 0.32rem;
  }

  .forum-detail-page .forum-detail-topic-text {
    margin-top: 0;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .forum-detail-page .forum-detail-replies {
    margin-top: 0.4rem;
    padding: 0.32rem 0.28rem;
  }

  .forum-detail-page .forum-detail-reply-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "text text" "author date";
    column-gap: 0.2rem;
    padding: 0.3rem 0;
  }

  .forum-detail-page .forum-detail-reply-item:nth-child(n+4) {
    display: none;
  }

  .forum-detail-page .forum-detail-reply-item:first-child {
    padding-top: 0;
  }

  .forum-detail-page .forum-detail-reply-item .forum-detail-author {
    grid-area: author;
    margin-top: 0.26rem;
  }

  .forum-detail-page .forum-detail-reply-item .forum-detail-author-avatar {
    margin-right: 0.18rem;
  }

  .forum-detail-page .forum-detail-reply-body {
    display: contents;
    padding: 0;
    margin: 0;
  }

  .forum-detail-page .forum-detail-reply-text {
    grid-area: text;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .forum-detail-page .forum-detail-reply-date {
    grid-area: date;
    align-self: center;
    margin: 0.26rem 0 0;
    font-size: 0.24rem;
    line-height: 0.34rem;
  }

  .forum-detail-page .forum-detail-editor .tox-tinymce {
    min-height: 2.4rem;
  }
}


.profile-order-page .profile-order-filter {
  width: max-content;
}

/* 商品详情规格富文本：保留后台内联宽度，只限制超出内容容器的尺寸。 */
.product-detail-page .product-detail-spec-body > * {
  max-width: 100%;
}

.product-detail-page .product-detail-spec-body table {
  max-width: 100% !important;
  min-width: 50%;
  box-sizing: border-box;
}

.product-detail-page .product-detail-spec-body > table tbody tr td {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* 收藏页场景图沿用列表页的淡入淡出节奏；移动端保持单图展示，避免触摸态误切换。 */
.profile-favorites-page {
  --catalog-scene-opacity-duration: 0.85s;
  --catalog-scene-transform-duration: 1.1s;
  --catalog-scene-transition-ease: cubic-bezier(0.19, 1, 0.22, 1);
}

.profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img {
  position: relative;
  overflow: hidden;
}

.profile-favorites-page .profile-favorite-card:not(.scene-card) .profile-favorite-image-secondary {
  display: none;
}

.profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img > .scene-product-image,
.profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img > .scene-image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  transform: scale(1);
  transition:
    opacity var(--catalog-scene-opacity-duration) ease,
    transform var(--catalog-scene-transform-duration) var(--catalog-scene-transition-ease);
  will-change: opacity, transform;
}

.profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img > .scene-product-image {
  opacity: 1;
  object-fit: contain;
}

.profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img > .scene-image {
  opacity: 0;
  object-fit: cover;
}

@media (hover: hover) and (pointer: fine) {
  .profile-favorites-page .profile-favorite-card.scene-card:hover .profile-favorite-img > .scene-product-image {
    opacity: 0;
    transform: scale(1);
  }

  .profile-favorites-page .profile-favorite-card.scene-card:hover .profile-favorite-img > .scene-image {
    opacity: 1;
    transform: scale(1);
  }
}


@media screen and (max-width: 800px) {
  .profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img {
    position: static;
    overflow: visible;
  }

  .profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img > .scene-product-image,
  .profile-favorites-page .profile-favorite-card.scene-card:hover .profile-favorite-img > .scene-product-image,
  .profile-favorites-page .profile-favorite-card.scene-card:active .profile-favorite-img > .scene-product-image,
  .profile-favorites-page .profile-favorite-card.scene-card:focus .profile-favorite-img > .scene-product-image,
  .profile-favorites-page .profile-favorite-card.scene-card:focus-visible .profile-favorite-img > .scene-product-image {
    position: static;
    opacity: 1 !important;
    transform: none !important;
  }

  .profile-favorites-page .profile-favorite-card.scene-card .profile-favorite-img > .scene-image,
  .profile-favorites-page .profile-favorite-card.scene-card:hover .profile-favorite-img > .scene-image,
  .profile-favorites-page .profile-favorite-card.scene-card:active .profile-favorite-img > .scene-image,
  .profile-favorites-page .profile-favorite-card.scene-card:focus .profile-favorite-img > .scene-image,
  .profile-favorites-page .profile-favorite-card.scene-card:focus-visible .profile-favorite-img > .scene-image {
    display: none !important;
    opacity: 0 !important;
    transform: none !important;
  }

  /* 收藏页移动端触摸/焦点状态保持原有颜色，避免浏览器与 hover 样式产生蓝色反馈 */
  .profile-favorites-page .profile-favorite-card,
  .profile-favorites-page .profile-favorite-card:hover,
  .profile-favorites-page .profile-favorite-card:active,
  .profile-favorites-page .profile-favorite-card:focus,
  .profile-favorites-page .profile-favorite-card:focus-visible,
  .profile-favorites-page .profile-favorite-card .profile-favorite-media,
  .profile-favorites-page .profile-favorite-card:hover .profile-favorite-media,
  .profile-favorites-page .profile-favorite-card:active .profile-favorite-media,
  .profile-favorites-page .profile-favorite-card:focus .profile-favorite-media,
  .profile-favorites-page .profile-favorite-card:focus-visible .profile-favorite-media {
    color: inherit !important;
    background: #ffffff !important;
    border-color: transparent !important;
    box-shadow: none !important;
  }
}
/* 公共筛选移动端滚动兜底：统一由抽屉面板承载超出视口的内容。 */
@media screen and (max-width: 800px) {
  .common-filter.on .common-filter-panel {
    min-height: 0;
    height: calc(100vh - var(--site-header-mobile-height, 2.36rem) - 2.5rem) !important;
    height: calc(100dvh - var(--site-header-mobile-height, 2.36rem) - 2.5rem) !important;
    max-height: calc(100dvh - var(--site-header-mobile-height, 2.36rem));
    overflow-x: hidden;
    overflow-y: auto;
    -ms-touch-action: pan-y;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
    pointer-events: auto;
  }
}
/* 商品列表折扣标识：结构和外观同步静态页面，数值由 product-pricing.js 统一计算。 */
.product-tags {
  position: absolute;
  top: 0.26rem;
  left: 0.21rem;
  z-index: 3;
  display: flex;
  max-width: calc(100% - 0.42rem);
  align-items: center;
  gap: 0.1rem;
  box-sizing: border-box;
}

.product-tags[hidden],
.product-tags > [hidden] {
  display: none !important;
}

.product-tags > .new-tag {
  position: static !important;
  top: auto !important;
  left: auto !important;
  min-width: 0;
  max-width: 100%;
  margin: 0 !important;
  opacity: 1 !important;
  transform: none !important;
}

.discount-tag {
  position: absolute;
  top: 0.26rem;
  left: auto;
  z-index: 3;
  display: flex;
  gap: 0.03rem;
  height: 0.3rem;
  flex: 0 0 auto;
  align-items: center;
  padding: 0.03rem 0.05rem;
  border: 0.01rem solid #2765bf;
  border-radius: 2px;
  box-sizing: border-box;
  color: #2765bf;
  font-size: 0.14rem;
  line-height: 0.24rem;
  font-family: var(--sk-font-Medium);
  white-space: nowrap;
  transition:
    color 0.85s ease,
    border-color 0.85s ease;
}

.product-tags > .discount-tag {
  position: static;
  top: auto;
  left: auto;
}

@media (hover: hover) and (pointer: fine) {
  .index-page .swiper-slide:hover .img-box.has-secondary-image .discount-tag,
  .product-list-product-card:hover .catalog-product-media-has-scene .discount-tag,
  .search-product-card:hover .catalog-product-media-has-scene .discount-tag,
  .site-search-product-card:hover .discount-tag,
  .contractor-product-card:hover .discount-tag,
  .learn-center-product:hover .discount-tag,
  .learn-details-product:hover .discount-tag {
    border-color: var(--sk-global-color);
    color: var(--sk-global-color);
  }
}

.contractor-page .contractor-product-card .product-tags,
.learn-center-page .learn-center-product .product-tags,
.learn-details-page .learn-details-product .product-tags {
  top: 0.15rem;
  left: 0.12rem;
  max-width: calc(100% - 0.24rem);
}

.profile-favorites-page .profile-favorite-card .product-tags {
  top: 0.26rem;
  left: 0.2rem;
  max-width: calc(100% - 0.4rem);
}

.product-detail-page .product-detail-product-card .product-tags {
  top: 0.29rem;
  left: 0.3rem;
  max-width: calc(100% - 0.6rem);
}

.site-search-product-card .product-tags {
  top: 0.17rem;
  left: 0.15rem;
  max-width: calc(100% - 0.3rem);
  gap: 0.05rem;
}

.site-header-product-card .product-tags {
  top: 0.12rem;
  left: 0.12rem;
  max-width: calc(100% - 0.24rem);
  gap: 0.05rem;
}

.site-search-product-card .discount-tag,
.site-header-product-card .discount-tag {
  height: 0.22rem;
  padding: 0.01rem 0.04rem;
  font-size: 0.1rem;
  line-height: 0.18rem;
}

@media screen and (max-width: 800px) {
  .discount-tag {
    height: 0.3rem;
    padding: 0.04rem 0.06rem;
    font-size: 0.22rem;
    line-height: 0.23rem;
  }

  .index-page .product-tags {
    top: 4%;
    left: 0.26rem;
    max-width: calc(100% - 0.52rem);
  }

  .product-list-page .product-tags,
  .special-offers-page .product-tags,
  .search-product-page .product-tags {
    top: 0.22rem;
    left: 0.26rem;
    max-width: calc(100% - 0.52rem);
  }

  .contractor-page .contractor-product-card .product-tags,
  .learn-center-page .learn-center-product .product-tags,
  .learn-details-page .learn-details-product .product-tags {
    top: 0.12rem;
    left: 0.12rem;
    max-width: calc(100% - 0.24rem);
  }

  .profile-favorites-page .profile-favorite-card .product-tags {
    top: 0.16rem;
    left: 0.14rem;
    max-width: calc(100% - 0.28rem);
  }

  .product-detail-page .product-detail-product-card .product-tags {
    top: 0.06rem;
    left: 0.06rem;
    max-width: calc(100% - 0.12rem);
    gap: 0.04rem;
  }

  .site-header-mobile-search-product-card .product-tags {
    top: 0;
    left: 0;
    max-width: 100%;
    gap: 0.04rem;
  }

  .site-header-mobile-search-product-card .discount-tag,
  .product-detail-page .product-detail-product-card .discount-tag {
    height: 0.28rem;
    padding: 0.03rem 0.05rem;
    font-size: 0.18rem;
    line-height: 0.22rem;
  }
}

/* 商品卡片划线原价：与静态站保持同一主次层级。 */
[data-product-market-price] {
  display: inline-block;
  margin-left: 0.08rem;
  color: #666666;
  font-size: 0.2rem;
  line-height: 0.2rem;
  font-family: var(--sk-font-Regular);
}

[data-product-market-price][hidden] {
  display: none !important;
}

.site-search-product-card [data-product-market-price] {
  font-size: 0.14rem;
}

.learn-center-page .learn-center-product-price del {
  font-size: 0.14rem;
}

.learn-details-page .learn-details-product-price [data-product-market-price] {
  font-size: 0.14rem;
}

.product-detail-page .product-detail-product-price .product-detail-price-original {
  display: block;
}

@media screen and (max-width: 800px) {
  [data-product-market-price] {
    margin-left: 0.06rem;
    font-size: 0.26rem;
    line-height: 0.26rem;
  }

  .profile-favorites-page .profile-favorite-price [data-product-market-price] {
    font-size: 0.2rem;
    line-height: 0.2rem;
  }

  .learn-center-page .learn-center-product-price del {
    font-size: 0.18rem;
    line-height: 0.22rem;
  }

  .learn-details-page .learn-details-product-price [data-product-market-price] {
    font-size: 0.18rem;
    line-height: 0.22rem;
  }

  .site-header-mobile-search-product-card [data-product-market-price] {
    font-size: 0.22rem;
    line-height: 0.26rem;
  }

  .product-detail-page .product-detail-product-price {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.04rem;
  }

  .product-detail-page .product-detail-product-price .product-detail-price-original {
    margin-left: 0;
    font-size: 0.24rem;
    line-height: 0.28rem;
  }
}

/* 首页畅销商品标题两行截断start */
.index-page .best-sellers-section .card-swiper .swiper-wrapper .swiper-slide .con-box .card-title p {
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}
/* 首页畅销商品标题两行截断end */

/* 整单退货：沿用会员中心的白底分区，桌面双栏，移动端单栏。 */
.profile-return-page [hidden], .profile-return-order-entry [hidden] { display: none !important; }
.profile-return-page .profile-panel {
  padding: 32px 40px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  color: #303030;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0;
}
.profile-return-page .profile-title { font-size: 32px; line-height: 1.25; margin: 12px 0 28px; }
.profile-return-page .profile-return-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  color: #303030;
  text-decoration: none;
}
.profile-return-page .profile-return-back::before { content: "\2190"; font-size: 20px; }
.profile-return-page .profile-return-back:hover { color: #907400; }
.profile-return-page .profile-return-back:focus-visible { outline: 2px solid #907400; outline-offset: 3px; }
.profile-return-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(300px, 1fr); gap: 40px; }
.profile-return-layout > div, .profile-return-layout > aside { min-width: 0; }
.profile-return-layout > aside { padding-left: 32px; border-left: 1px solid #e6e6e6; }
.profile-return-card { padding: 0 0 28px; margin-bottom: 28px; border: 0; border-bottom: 1px solid #e6e6e6; border-radius: 0; overflow-wrap: anywhere; }
.profile-return-card h2 { font-size: 20px; line-height: 1.4; margin-bottom: 20px; }
.profile-return-card h3 { font-size: 16px; line-height: 1.5; margin: 12px 0; }
.profile-return-card p { font-size: 16px; line-height: 1.6; margin: 10px 0; }
.profile-return-card dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 16px 0; }
.profile-return-card dt { flex: 1; }
.profile-return-card dd { flex-shrink: 0; margin: 0; font-weight: 600; }
.profile-return-card label { display: block; margin: 20px 0; font-size: 16px; line-height: 1.6; }
.profile-return-card label a { color: #303030; font-size: inherit; text-decoration: underline; }
.profile-return-card input:not([type=checkbox]), .profile-return-card select, .profile-return-card textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  margin-top: 8px;
  padding: 10px 12px;
  border: 1px solid #bdbdbd;
  border-radius: 0;
  background: #fff;
  color: #303030;
  font: inherit;
}
.profile-return-card textarea { min-height: 144px; resize: vertical; }
.profile-return-card input:focus-visible, .profile-return-card select:focus-visible, .profile-return-card textarea:focus-visible,
.profile-return-card button:focus-visible, .profile-return-order-entry a:focus-visible { outline: 2px solid #907400; outline-offset: 3px; }
.profile-return-card input[type=checkbox] { width: 18px; height: 18px; margin: 0 8px 0 0; vertical-align: middle; accent-color: #d7b000; }
.profile-return-card .profile-return-required { color: #d93025; }
.profile-return-evidence { margin: 20px 0; }
.profile-return-upload-list { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 8px; }
.profile-return-card .profile-return-upload {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-sizing: border-box;
  width: 80px;
  height: 80px;
  margin: 0;
  border: 1px solid #bdbdbd;
  background: #fff;
  color: #666;
  font-size: 32px;
  line-height: 1;
  cursor: pointer;
}
.profile-return-card .profile-return-upload:hover { border-color: #666; color: #303030; }
.profile-return-card .profile-return-upload:focus-within { outline: 2px solid #907400; outline-offset: 3px; }
.profile-return-card .profile-return-upload input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  cursor: pointer;
}
.profile-return-card .profile-return-consent { display: flex; align-items: flex-start; gap: 10px; }
.profile-return-card .profile-return-consent input[type=checkbox] { flex-shrink: 0; margin: 4px 0 0; }
.profile-return-card .profile-return-consent > span { min-width: 0; }
.profile-return-card button {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid #aaa;
  border-radius: 0;
  background: #fff;
  color: #303030;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 600;
  margin: 6px 8px 6px 0;
  white-space: normal;
  cursor: pointer;
}
.profile-return-card button[type=submit], .profile-return-card [data-return-pay] { background: #ffd000; border-color: #ffd000; }
.profile-return-card button:disabled { background: #ededed; border-color: #ddd; color: #777; cursor: not-allowed; }
.profile-return-item { display: flex; gap: 20px; padding: 16px 0; border-bottom: 1px solid #eee; }
.profile-return-page [data-return-items] > .profile-return-item:last-child { border-bottom: 0; }
.profile-return-item > div { min-width: 0; }
.profile-return-item img { flex-shrink: 0; width: 88px; height: 88px; object-fit: contain; }
.profile-return-page [data-return-images] { display: flex; flex-wrap: wrap; gap: 12px; }
.profile-return-page [data-return-images] img { width: 80px; height: 80px; object-fit: cover; }
.profile-return-card .profile-return-request-info > div { display: block; margin: 20px 0; }
.profile-return-request-info dt { font-weight: 600; }
.profile-return-card .profile-return-request-info dd { margin: 6px 0 0; font-weight: 400; white-space: pre-line; }
.profile-return-attachments h3 { margin: 20px 0 12px; font-weight: 600; }
.profile-return-attachment { display: flex; flex-direction: column; align-items: center; gap: 6px; color: #303030; font-size: 14px; text-decoration: none; }
.profile-return-attachment:hover span { text-decoration: underline; }
.profile-return-attachment:focus-visible { outline: 2px solid #907400; outline-offset: 3px; }
.profile-return-shipment { border-top: 1px solid #ddd; margin-top: 16px; padding-top: 12px; }
.profile-return-shipment ol { margin: 14px 0; padding-left: 22px; }
.profile-return-shipment li { margin-bottom: 14px; }
.profile-return-shipment time { display: block; color: #666; }
.profile-order-pend-page .profile-return-order-entry { padding: 0 48px 24px; display: flex; justify-content: flex-end; flex-wrap: wrap; align-items: center; gap: 16px; }
.profile-return-order-entry a { display: inline-block; max-width: 100%; padding: 12px 20px; background: #ffd000; color: #303030; font-size: 16px; line-height: 1.5; font-weight: 600; text-align: center; overflow-wrap: anywhere; }
.profile-return-order-entry p { font-size: 14px; line-height: 1.5; }
.profile-return-order-entry p:empty { display: none; }
.profile-after-sales-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px; }
.profile-after-sales-head p { margin: 0; overflow-wrap: anywhere; }
.profile-after-sales-apply, .profile-after-sales-detail { display: inline-block; padding: 12px 20px; background: #ffd000; color: #303030; font-size: 16px; font-weight: 600; text-align: center; text-decoration: none; }
.profile-after-sales-guidance { margin: 20px 0 28px; color: #666; font-size: 14px; }
.profile-after-sales-title { font-size: 20px; margin-bottom: 20px; }
.profile-after-sales-record { padding: 24px; margin-bottom: 20px; border: 1px solid #e6e6e6; overflow-wrap: anywhere; }
.profile-after-sales-record-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.profile-after-sales-record h3 { margin: 0; font-size: 16px; line-height: 1.6; font-weight: 600; }
.profile-after-sales-status { padding: 4px 12px; background: #fff6cc; color: #755f00; font-size: 14px; }
.profile-after-sales-status[data-status="REFUSED"] { color: #b4232b; background: #fff0f0; }
.profile-after-sales-status[data-status="CANCEL"] { color: #666; background: #f2f2f2; }
.profile-after-sales-status[data-status="REFUNDED"] { color: #23753d; background: #edf8f0; }
.profile-after-sales-record dl { margin: 20px 0; }
.profile-after-sales-record dl > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; margin: 12px 0; }
.profile-after-sales-record dt { color: #666; }
.profile-after-sales-record dd { margin: 0; white-space: pre-line; }
.profile-after-sales-detail:hover { background: #e8c200; }
.profile-after-sales-record-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
.profile-after-sales-next-step { margin: 16px 0 0; font-size: 14px; color: #666; }
.profile-return-page #return-pickup { scroll-margin-top: 150px; }
.profile-return-page #return-pickup:focus { outline: none; }
.profile-return-payment-form { margin-top: 24px; }
.profile-return-card .profile-return-payment-form h3 { margin: 0 0 16px; font-size: 18px; font-weight: 600; }
.profile-return-express-checkout { max-height: 0; overflow: hidden; visibility: hidden; pointer-events: none; }
.profile-return-express-checkout.is-available { max-height: none; overflow: visible; visibility: visible; pointer-events: auto; }
.profile-return-express-checkout.is-available[inert] { opacity: .58; pointer-events: none; }
.profile-return-payment-divider { display: flex; align-items: center; gap: 14px; margin: 24px 0; color: #68717d; font-size: 14px; line-height: 1.5; }
.profile-return-payment-divider::before, .profile-return-payment-divider::after { content: ''; flex: 1; height: 1px; background: #e3e6eb; }
.profile-return-page .profile-return-payment-form .pay-orders-payment-element-shell { margin-top: 0; padding: 0; border: 0; }
.profile-return-page .profile-return-payment-form .pay-orders-payment-element:empty { min-height: 0; }
.profile-return-payment-loading { display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 120px; color: #5d6673; font-size: 14px; line-height: 1.5; }
.profile-return-payment-spinner { flex: 0 0 24px; width: 24px; height: 24px; box-sizing: border-box; border: 3px solid rgba(99, 91, 255, .18); border-top-color: #635bff; border-radius: 50%; animation: pay-orders-payment-spin .75s linear infinite; }
.profile-return-card .profile-return-payment-message { margin: 16px 0; color: #b4232b; font-size: 14px; }
.profile-return-payment-message:empty { display: none; }
.profile-return-card [data-return-pay], .profile-return-card .profile-return-payment-confirm { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 48px; margin: 20px 0 0; }
.profile-return-card [data-return-pay][aria-busy=true]::before, .profile-return-card .profile-return-payment-confirm[aria-busy=true]::before { content: ''; flex: 0 0 18px; width: 18px; height: 18px; box-sizing: border-box; border: 2px solid rgba(48, 48, 48, .2); border-top-color: #303030; border-radius: 50%; animation: pay-orders-payment-spin .75s linear infinite; }
.profile-return-card [data-return-pay][aria-busy=true], .profile-return-card .profile-return-payment-confirm[aria-busy=true] { background: #ffd000; border-color: #ffd000; color: #303030; cursor: progress; }
.profile-return-card .profile-return-payment-confirm:disabled { opacity: .55; cursor: wait; }
.profile-return-card .profile-return-payment-security { display: flex; align-items: center; justify-content: center; gap: 8px; margin: 16px 0 0; color: #68717d; font-size: 13px; line-height: 1.5; text-align: center; }
.profile-return-payment-security svg { flex: 0 0 16px; width: 16px; height: 16px; }
.profile-return-page [data-payment-form][hidden], .profile-return-page [data-return-pay][hidden], .profile-return-page [data-payment-loading][hidden] { display: none; }
.profile-return-card .profile-pickup-test-note { padding: 12px 16px; margin: 0 0 16px; border-left: 3px solid #ffd000; background: #fff9df; font-size: 14px; }
.profile-pickup-form { margin-top: 24px; }
.profile-pickup-field { position: relative; min-width: 0; margin-bottom: 20px; }
.profile-return-card .profile-pickup-field > label { margin: 0 0 8px; font-size: 14px; font-weight: 600; }
.profile-pickup-time-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.profile-return-card .profile-pickup-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px; box-sizing: border-box; padding: 10px 14px; margin: 0; border: 1px solid #d6d6d6; background: #fff; color: #888; font-size: 15px; font-weight: 400; text-align: left; cursor: pointer; }
.profile-return-card .profile-pickup-trigger.has-value { color: #303030; }
.profile-return-card .profile-pickup-trigger:hover, .profile-return-card .profile-pickup-trigger[aria-expanded="true"] { border-color: #b39300; }
.profile-pickup-calendar-icon, .profile-pickup-clock-icon { position: relative; flex: 0 0 16px; height: 16px; box-sizing: border-box; color: #666; }
.profile-pickup-calendar-icon { border: 1.5px solid currentColor; border-radius: 2px; }
.profile-pickup-calendar-icon::before { content: ''; position: absolute; top: 3px; left: 0; right: 0; border-top: 1.5px solid currentColor; }
.profile-pickup-calendar-icon::after { content: ''; position: absolute; top: -3px; left: 3px; width: 5px; height: 4px; border-left: 1.5px solid currentColor; border-right: 1.5px solid currentColor; }
.profile-pickup-clock-icon { border: 1.5px solid currentColor; border-radius: 50%; }
.profile-pickup-clock-icon::before { content: ''; position: absolute; top: 3px; left: 6px; width: 4px; height: 5px; border-left: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; }
.profile-pickup-popover { position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; width: 100%; box-sizing: border-box; padding: 16px; background: #fff; border: 1px solid #e0e0e0; box-shadow: 0 8px 28px rgba(4, 18, 39, .12); }
.profile-return-card .profile-pickup-popover button { min-height: 0; padding: 0; margin: 0; border: 0; background: transparent; color: #303030; font-size: 14px; font-weight: 400; cursor: pointer; }
.profile-pickup-calendar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; font-size: 16px; font-weight: 600; color: #041227; }
.profile-return-card .profile-pickup-calendar-head button { width: 32px; height: 32px; font-size: 26px; line-height: 1; }
.profile-pickup-weekdays, .profile-pickup-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.profile-pickup-weekdays { margin-bottom: 8px; text-align: center; font-size: 12px; color: #888; }
.profile-return-card .profile-pickup-days .profile-pickup-day { width: 100%; height: 36px; border-radius: 2px; }
.profile-return-card .profile-pickup-popover button:disabled { color: #bbb; cursor: default; opacity: 1; }
.profile-return-card .profile-pickup-popover button:not(:disabled):hover { background: #fff5c7; }
.profile-return-card .profile-pickup-days .profile-pickup-day.is-selected { background: #ffd000; color: #041227; font-weight: 600; }
.profile-return-card .profile-pickup-calendar-hint { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid #eee; font-size: 12px; color: #888; }
.profile-pickup-time-options { max-height: 240px; overflow-y: auto; padding: 6px; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #ccc #fff; }
.profile-return-card .profile-pickup-time-options .profile-pickup-time-option { display: block; width: 100%; min-height: 40px; padding: 8px 12px; text-align: left; font-variant-numeric: tabular-nums; }
.profile-return-card .profile-pickup-time-option[aria-selected="true"] { background: #ffd000; font-weight: 600; }
.profile-return-card .profile-pickup-window-hint { margin: -4px 0 20px; font-size: 12px; color: #888; }
.profile-return-card .profile-pickup-quote-button { width: 100%; min-height: 44px; }
.profile-after-sales-apply:focus-visible, .profile-after-sales-detail:focus-visible { outline: 2px solid #907400; outline-offset: 3px; }
.profile-after-sales-page [data-after-sales-message]:empty { display: none; }
.profile-after-sales-page [data-after-sales-message]:not(:empty) { margin-bottom: 20px; color: #b4232b; }
.profile-order-pend-page .profile-order-tracking { padding: 32px 48px; margin: 0; font-size: 16px; }
.profile-return-page [data-return-message]:empty { display: none; }
.profile-return-page [data-return-message]:not(:empty) { padding: 12px 16px; margin-bottom: 24px; border-left: 3px solid #d7b000; background: #f5f5f5; }
@media (max-width: 1024px) {
  .profile-return-layout { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .profile-return-layout > aside { padding-left: 0; border-left: 0; }
}
@media (max-width: 767px) {
  .profile-return-page .profile-panel { padding: 24px 20px; }
  .profile-return-page .profile-title { font-size: 26px; margin: 12px 0 24px; }
  .profile-return-card { padding-bottom: 24px; margin-bottom: 24px; }
  .profile-return-card dl > div { flex-wrap: wrap; }
  .profile-return-item { gap: 12px; }
  .profile-return-item img { width: 64px; height: 64px; }
  .profile-return-card [data-submit-return] { width: 100%; margin-right: 0; }
  .profile-order-pend-page .profile-return-order-entry { padding: 20px; justify-content: flex-start; }
  .profile-after-sales-record { padding: 16px; }
  .profile-return-page #return-pickup { scroll-margin-top: 110px; }
  .profile-pickup-time-row { gap: 12px; }
  .profile-pickup-popover { padding: 12px; }
  .profile-pickup-time-options { padding: 6px; }
  .profile-after-sales-record dl > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  .profile-order-pend-page .profile-order-tracking { padding: 24px 20px; }
}

/* 订单付款区：原生快捷钱包在上，银行卡表单在下，避免重复选择。 */
.pay-orders-page .pay-orders-payment-panel {
  min-height: 0;
  padding: 0.32rem 0.36rem 0.36rem;
}
.pay-orders-page .pay-orders-payment-panel h2 {
  margin-bottom: 0.26rem;
}
.pay-orders-page .pay-orders-payment-methods {
  min-width: 0;
  margin-top: 0;
  gap: 0;
}
/* 保留容器宽度，Stripe 挂载时才能正确计算按钮布局。 */
.pay-orders-page .pay-orders-express-checkout {
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
}
.pay-orders-page .pay-orders-express-checkout.is-available {
  max-height: none;
  overflow: visible;
  visibility: visible;
  pointer-events: auto;
}
.pay-orders-page .pay-orders-express-checkout.is-available[inert] {
  opacity: 0.58;
  pointer-events: none;
}
.pay-orders-page .pay-orders-payment-divider {
  display: flex;
  align-items: center;
  gap: 0.14rem;
  margin: 0.24rem 0;
  color: #68717d;
  font-size: 0.14rem;
  line-height: 1.5;
}
.pay-orders-page .pay-orders-payment-divider::before,
.pay-orders-page .pay-orders-payment-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e3e6eb;
}
.pay-orders-page .pay-orders-payment-element-shell {
  margin-top: 0;
  padding: 0;
  border: 0;
}
.pay-orders-page .pay-orders-payment-element:empty {
  min-height: 0;
}
.pay-orders-page .pay-orders-payment-retry {
  width: 100%;
  min-height: 44px;
  padding: 0.12rem 0.16rem;
  border: 1px solid #d9dde5;
  background: #fffdf4;
  color: #303030;
  font-size: 0.14rem;
  line-height: 1.5;
  cursor: pointer;
}
.pay-orders-page .pay-orders-payment-retry:hover {
  border-color: #b39300;
}
.pay-orders-page .pay-orders-payment-retry:focus-visible {
  outline: 2px solid #907400;
  outline-offset: 3px;
}
.pay-orders-page .pay-orders-payment-retry[hidden],
.pay-orders-page .pay-orders-payment-security[hidden] {
  display: none;
}
.pay-orders-page .pay-orders-summary {
  min-height: 0;
}
.pay-orders-page .pay-orders-payment-security {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.08rem;
  margin-top: 0.16rem;
  color: #68717d;
  font-size: 0.13rem;
  line-height: 1.5;
  text-align: center;
}
.pay-orders-page .pay-orders-payment-security svg {
  flex: 0 0 0.16rem;
  width: 0.16rem;
  height: 0.16rem;
}
@media screen and (max-width: 800px) {
  .pay-orders-page .pay-orders-payment-panel {
    padding: 0.32rem 0.24rem;
  }
  .pay-orders-page .pay-orders-payment-panel h2 {
    margin-bottom: 0.32rem;
  }
  .pay-orders-page .pay-orders-payment-divider {
    gap: 0.2rem;
    margin: 0.32rem 0;
    font-size: 0.24rem;
  }
  .pay-orders-page .pay-orders-payment-retry {
    padding: 0.2rem;
    font-size: 0.24rem;
  }
  .pay-orders-page .pay-orders-payment-security {
    gap: 0.12rem;
    margin-top: 0.24rem;
    font-size: 0.22rem;
  }
  .pay-orders-page .pay-orders-payment-security svg {
    flex-basis: 0.28rem;
    width: 0.28rem;
    height: 0.28rem;
  }
}

/* 政策富文本表格：四类政策共用清晰边框与表头，窄屏仅内容区横向滚动。 */
.policies-page .policies-item-body {
  flex: 1 1 auto;
  min-width: 0;
}

.policies-page .policies-item-content {
  max-width: 100%;
  padding-bottom: 0.04rem;
  overflow-x: auto;
  overflow-y: hidden;
  color: #444444;
  font-size: 0.18rem;
  line-height: 1.65;
  overscroll-behavior-x: contain;
}

.policies-page .policies-item-content table {
  width: 100% !important;
  max-width: 100%;
  margin: 0.2rem 0;
  border: 1px solid #cbd1d8;
  border-collapse: collapse;
  table-layout: auto;
  background: #ffffff;
  color: #333333;
  font-size: inherit;
  line-height: 1.6;
  white-space: normal;
}

.policies-page .policies-item-content :is(th, td) {
  min-width: 1.1rem;
  height: auto !important;
  padding: 0.12rem 0.16rem !important;
  border: 1px solid #cbd1d8 !important;
  vertical-align: top;
  text-align: left;
  overflow-wrap: anywhere;
}

.policies-page .policies-item-content th,
.policies-page .policies-item-content table > tbody > tr:first-child > td {
  background: #f0f3f6;
  color: #202b3b;
  font-family: var(--sk-font-Medium);
  font-weight: 600;
}

.policies-page .policies-item-content :is(th, td) p {
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.policies-page .policies-item-content :is(th, td) p + p {
  margin-top: 0.08rem;
}

/* 商品角标独立占用顶部条带，主图和场景图同步避让，保留原来的切图与加购交互。 */
:is(
  .index-page .swiper-slide .img-box,
  .product-list-page .product-list-product-media,
  .search-product-page .search-product-media,
  .special-offers-page .search-product-media,
  .product-detail-page .product-detail-product-img,
  .contractor-page .contractor-product-card .img-box,
  .learn-center-page .learn-center-product-img,
  .learn-details-page .learn-details-product-img,
  .profile-favorites-page .profile-favorite-card,
  .site-search-product-img,
  .site-header-mobile-search-product-img,
  .site-header-product-img
):has(> .product-tags[data-product-tags]:not([hidden])) {
  --product-tag-space: 0.5rem;
  position: relative !important;
  padding-top: var(--product-tag-space);
  box-sizing: border-box;
}

.product-tags[data-product-tags]:not([hidden]) {
  top: 0 !important;
  left: 0 !important;
  width: 100%;
  max-width: 100% !important;
  height: var(--product-tag-space, 0.5rem);
  padding: 0.08rem 0.12rem;
  gap: 0.08rem;
  overflow: hidden;
  background: #ffffff;
  mix-blend-mode: normal;
}

.product-tags[data-product-tags] > :is(.new-tag, .discount-tag) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 0.3rem !important;
  padding: 0.03rem 0.08rem !important;
  border: 0 !important;
  border-radius: 2px !important;
  box-sizing: border-box;
  background: var(--sk-global-color, #ffcf00) !important;
  color: #202b3b !important;
  font-family: var(--sk-font-Medium);
  font-size: 0.15rem !important;
  font-weight: 600;
  line-height: 0.24rem !important;
  white-space: nowrap;
}

.product-tags[data-product-tags] > .new-tag {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

:is(
  .index-page .swiper-slide .img-box,
  .product-list-page .product-list-product-media,
  .search-product-page .search-product-media,
  .special-offers-page .search-product-media,
  .product-detail-page .product-detail-product-img,
  .contractor-page .contractor-product-card .img-box,
  .learn-center-page .learn-center-product-img,
  .site-search-product-img,
  .site-header-mobile-search-product-img,
  .site-header-product-img
):has(> .product-tags[data-product-tags]:not([hidden])) > img {
  position: absolute !important;
  inset: var(--product-tag-space) 0 0 !important;
  width: 100% !important;
  height: calc(100% - var(--product-tag-space)) !important;
  box-sizing: border-box;
}

/* 首页角标压缩了图片区域；场景图等比完整显示，避免 cover 裁掉图内标题。 */
.index-page .swiper-slide .img-box:has(> .product-tags[data-product-tags]:not([hidden])) > img.img {
  object-fit: contain !important;
  object-position: center;
}

/* 学习详情的双图容器与角标同级，两张图在下方容器内切换并裁切悬停缩放。 */
.learn-details-page .learn-details-product-img:has(> .product-tags:not([hidden])) > .learn-details-product-box {
  position: absolute;
  inset: var(--product-tag-space) 0 0;
  width: 100%;
  height: calc(100% - var(--product-tag-space));
  overflow: hidden;
}

/* 收藏角标属于卡片；缩短媒体区抵消顶部留白，维持卡片原有整体高度。 */
.profile-favorites-page .profile-favorite-card:has(> .product-tags:not([hidden])) {
  padding-top: calc(0.14rem + var(--product-tag-space)) !important;
}

.profile-favorites-page .profile-favorite-card:has(> .product-tags:not([hidden])) > .profile-favorite-media {
  position: relative;
  height: calc(3.98rem - var(--product-tag-space));
}

.profile-favorites-page .profile-favorite-card:has(> .product-tags:not([hidden])) .profile-favorite-img {
  position: relative !important;
  overflow: hidden;
}

/* 列表主图继续使用居中缩略图；悬停场景图完整显示并保留原有淡入淡出。 */
:is(.product-list-page, .search-product-page, .special-offers-page)
  :is(.product-list-product-media, .search-product-media).catalog-product-media-has-scene:has(> .product-tags:not([hidden])) > img.catalog-product-primary {
  inset: auto !important;
  top: calc((100% + var(--product-tag-space)) / 2) !important;
  left: 50% !important;
  width: 2.48rem !important;
  height: min(2.48rem, calc(100% - var(--product-tag-space))) !important;
  object-fit: contain;
}

@media screen and (max-width: 800px) {
  .policies-page .policies-item-content {
    font-size: 0.24rem;
  }

  .policies-page .policies-item-content :is(th, td) {
    min-width: 1.5rem;
    padding: 0.16rem !important;
  }

  :is(.product-tags[data-product-tags]:not([hidden])) {
    height: 0.58rem;
    padding: 0.1rem 0.12rem;
  }

  :is(
    .index-page .swiper-slide .img-box,
    .product-list-page .product-list-product-media,
    .search-product-page .search-product-media,
    .special-offers-page .search-product-media,
    .product-detail-page .product-detail-product-img,
    .contractor-page .contractor-product-card .img-box,
    .learn-center-page .learn-center-product-img,
    .learn-details-page .learn-details-product-img,
    .profile-favorites-page .profile-favorite-card,
    .site-search-product-img,
    .site-header-mobile-search-product-img,
    .site-header-product-img
  ):has(> .product-tags[data-product-tags]:not([hidden])) {
    --product-tag-space: 0.58rem;
  }

  .product-tags[data-product-tags] > :is(.new-tag, .discount-tag) {
    height: 0.34rem !important;
    font-size: 0.2rem !important;
    line-height: 0.26rem !important;
  }

  .profile-favorites-page .profile-favorite-card:has(> .product-tags:not([hidden])) > .profile-favorite-media {
    height: calc(3rem - var(--product-tag-space));
  }

  .profile-favorites-page .profile-favorite-card:has(> .product-tags:not([hidden])) {
    padding-top: calc(0.18rem + var(--product-tag-space)) !important;
  }

  :is(.product-list-page, .search-product-page, .special-offers-page)
    :is(.product-list-product-media, .search-product-media).catalog-product-media-has-scene:has(> .product-tags:not([hidden])) > img.catalog-product-primary {
    width: 2.34rem !important;
    height: min(2.34rem, calc(100% - var(--product-tag-space))) !important;
  }
}

/* 游客确认页：桌面三列、平板两列、手机按联系/地址/配送/账单/支付/摘要顺序排列。 */
.guest-checkout-page { background: #f5f5f5; color: #303030; }
.guest-checkout-page [hidden] { display: none !important; }
.guest-checkout-main { padding: 32px 24px 64px; }
.guest-checkout-container { max-width: 1440px; margin: 0 auto; font-size: 16px; line-height: 1.5; }
.guest-checkout-title { font-size: 28px; margin: 24px 0 16px; }
.guest-checkout-layout { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) minmax(0,1fr); gap: 20px; align-items: start; }
.guest-checkout-panel { background: #fff; padding: 24px; margin-bottom: 20px; min-width: 0; }
.guest-checkout-panel h2, .guest-address-fields legend { font-size: 20px; font-weight: 600; margin: 0 0 20px; border-left: 4px solid #fbcf30; padding-left: 12px; }
.guest-checkout-panel p { margin: 12px 0; overflow-wrap: anywhere; }
.guest-checkout-panel a { text-decoration: underline; }
.guest-address-fields { border: 0; margin: 0; padding: 0; min-width: 0; }
.guest-field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.guest-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 12px; min-width: 0; font-size: 14px; }
.guest-field input, .guest-field select, .guest-field textarea { box-sizing: border-box; width: 100%; min-width: 0; border: 1px solid #e2e5e9; background: #fff; color: #303030; border-radius: 8px; padding: 12px 14px; min-height: 48px; font-size: 16px; font-family: inherit; }
.guest-field textarea { resize: vertical; }
.guest-field input:focus, .guest-field select:focus, .guest-field textarea:focus { border-color: #d9ad10; outline: 2px solid rgba(217, 173, 16, .2); outline-offset: 1px; }
/* 必填提示跟随表单约束，停用的账单字段不显示星号。 */
.guest-checkout-page .guest-field:has(> :required:not(:disabled)) > span::after,
.guest-checkout-page .guest-checkout-checkbox:has(> :required:not(:disabled)) > span::after { content: "*"; color: #d93025; margin-left: 4px; }
.guest-checkout-checkbox { display: flex; align-items: flex-start; gap: 10px; margin: 16px 0; font-size: 14px; }
.guest-checkout-checkbox input { width: 18px; height: 18px; flex: 0 0 auto; margin: 3px 0; accent-color: #dfb019; }
.guest-checkout-hint, .guest-checkout-status { color: #656565; font-size: 14px; }
.guest-checkout-error { background: #fff0ed; border: 1px solid #d19b92; color: #a32b1d; padding: 12px; margin: 12px 0; }
.guest-checkout-item { display: flex; gap: 14px; padding: 18px 0; border-bottom: 1px solid #eee; }
.guest-checkout-item > img { width: 72px; height: 72px; object-fit: contain; flex: 0 0 auto; }
.guest-checkout-item > div { min-width: 0; }
.guest-checkout-item h3 { font-size: 16px; margin: 0 0 6px; overflow-wrap: anywhere; }
.guest-checkout-item p, .guest-checkout-item dl { font-size: 13px; margin: 6px 0; }
.guest-checkout-item dt { font-weight: 600; }
.guest-checkout-item dd { margin: 0; }
.guest-checkout-totals, .guest-order-details { margin: 20px 0; }
.guest-checkout-totals > div, .guest-order-details > div { display: flex; justify-content: space-between; gap: 12px; margin: 12px 0; }
.guest-checkout-totals dd, .guest-order-details dd { margin: 0; text-align: right; overflow-wrap: anywhere; }
.guest-checkout-grand-total { border-top: 1px solid #ddd; padding-top: 16px; font-weight: 600; font-size: 20px; }
.guest-checkout-primary { display: block; width: 100%; border: 0; background: #fbcf30; color: #222; font-size: 16px; font-weight: 600; padding: 14px 18px; cursor: pointer; }
.guest-checkout-primary:disabled { opacity: .55; cursor: default; }
.guest-checkout-secondary { border: 1px solid #bbb; background: #fff; color: #333; padding: 10px 14px; font-size: 14px; cursor: pointer; margin-top: 10px; }
.guest-checkout-back { display: block; text-align: center; margin: 16px 0 0; font-size: 14px; }
.guest-address-snapshot { white-space: pre-line; }
@media (min-width: 1200px) and (min-height: 850px) { .guest-checkout-summary { position: sticky; top: 24px; } }
@media (min-width: 801px) and (max-width: 1199px) {
    .guest-checkout-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); }
    .guest-checkout-contact { grid-column: 1; grid-row: 1; }
    .guest-checkout-options { grid-column: 1; grid-row: 2; }
    .guest-checkout-summary { grid-column: 2; grid-row: 1 / span 2; }
}
@media (max-width: 800px) {
    .guest-checkout-main { padding: 24px 14px 40px; }
    .guest-checkout-title { font-size: 24px; }
    .guest-checkout-layout { display: flex; flex-direction: column; gap: 0; }
    .guest-checkout-contact, .guest-checkout-options, .guest-checkout-summary { width: 100%; box-sizing: border-box; }
    .guest-checkout-panel { padding: 20px 16px; margin-bottom: 14px; }
    .guest-checkout-panel h2, .guest-address-fields legend { font-size: 18px; }
    .guest-checkout-item > img { width: 64px; height: 64px; }
}
@media (max-width: 380px) { .guest-field-grid { grid-template-columns: 1fr; } }

/* 手机头部直接进入购物车，保留商品选择步骤。 */
.site-header-mobile-cart { position: relative; display: flex; align-items: center; justify-content: center; }
.site-header-mobile-cart img { width: 24px; height: 24px; }
.site-header-mobile-cart-count { position: absolute; top: -8px; right: -8px; min-width: 16px; padding: 0 3px; background: #fbcf30; color: #222; text-align: center; font-size: 10px; line-height: 16px; border-radius: 50%; }

/* 游客页独立声明进度条，避免依赖仅作用于会员购物车页的范围规则。 */
.guest-checkout-page .cart-summary-progress { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 720px; list-style: none; padding: 0; margin: 8px auto 32px; font-size: 16px; }
.guest-checkout-page .cart-summary-progress li { position: relative; display: grid; justify-items: center; align-content: start; gap: 10px; text-align: center; color: #888; }
.guest-checkout-page .cart-summary-progress li::before { position: absolute; top: 17px; right: 50%; left: -50%; height: 2px; background: #dedede; content: ""; }
.guest-checkout-page .cart-summary-progress li:first-child::before { display: none; }
.guest-checkout-page .cart-summary-progress span { position: relative; z-index: 1; display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: #dedede; }
.guest-checkout-page .cart-summary-progress .is-active, .guest-checkout-page .cart-summary-progress .is-complete { color: #222; }
.guest-checkout-page .cart-summary-progress .is-active span, .guest-checkout-page .cart-summary-progress .is-complete span { background: #fbcf30; }
.guest-checkout-page [data-guest-wallet] { max-height: 0; overflow: hidden; visibility: hidden; pointer-events: none; }
.guest-checkout-page [data-guest-wallet].is-available { max-height: none; overflow: visible; visibility: visible; pointer-events: auto; margin-bottom: 16px; }
.guest-checkout-page [data-guest-wallet].is-available[inert] { opacity: .58; pointer-events: none; }
.guest-order-access-main { max-width: 680px; margin-inline: auto; }
@media (max-width: 800px) {
    .guest-checkout-page .cart-summary-progress { font-size: 12px; margin: 4px auto 24px; }
    .guest-checkout-page .cart-summary-progress li { gap: 8px; padding: 0 4px; }
    .guest-checkout-page .cart-summary-progress span { width: 28px; height: 28px; font-size: 13px; }
    .guest-checkout-page .cart-summary-progress li::before { top: 13px; }
}

/* 头部工具交互：搜索沿用原通栏顶部抽屉，账户和购物车采用无背景遮罩的侧抽屉。 */
.site-header .site-search-backdrop { top: 0; }
.site-header .site-search-panel { height: auto !important; max-height: calc(100dvh - var(--site-search-top, 0px)); overflow-y: auto; }
.site-header .site-account-drawer-wrap,
.site-header.promo-hidden .site-account-drawer-wrap { top: var(--site-tools-top, 130px); right: 0; bottom: 0; left: auto; width: min(360px, 92vw); pointer-events: none; transition: visibility 0s linear .24s; }
.site-header .site-account-drawer-wrap.show { visibility: visible; transition-delay: 0s; }
.site-header .site-account-drawer { display: flex; flex-direction: column; justify-content: flex-start; width: 100%; padding: 0; clip-path: none; transform: translateX(100%); opacity: 0; transition: transform .24s ease, opacity .18s; }
.site-header .site-account-drawer-wrap.show .site-account-drawer { clip-path: none; transform: translateX(0); opacity: 1; box-shadow: -6px 0 24px rgba(0,0,0,.08); transition: transform .24s ease, opacity .18s; }
.site-header .site-account-drawer-body { display: flex; flex-direction: column; flex: 1; min-height: 0; }
.site-header .site-account-drawer-nav { flex: 1; min-height: 0; padding: 12px 0; overflow-y: auto; }
.site-header .site-account-drawer-link { flex: 0 0 auto; width: 100%; min-height: .6rem; padding: 0 20px; color: #666; }
.site-header .site-account-drawer-link:hover,
.site-header .site-account-drawer-link.active { color: #262626; background: #f5f5f5; }
.site-header .site-account-text { color: inherit; }
.site-header .site-account-guest { padding: 20px; }
.site-header .site-account-guest p { font-size: 14px; line-height: 1.6; color: #737373; }
.site-header .site-tool-panel-head,
.site-header-cart-drawer-wrap .search-cart-head { display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; height: 56px; padding: 0 20px; border-bottom: 1px solid rgba(5,5,5,.06); background: #fff; }
.site-header .site-tool-panel-title,
.site-header-cart-drawer-wrap .search-cart-head h2 { margin: 0; font-size: 16px; line-height: 24px; color: #262626; font-family: var(--sk-font-Bold); font-weight: 700; }
.site-header .site-tool-close,
.site-header-cart-drawer-wrap .site-tool-close { display: flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 4px; color: #737373; background: transparent; font: 22px/1 var(--sk-font-Regular); cursor: pointer; }
.site-header .site-tool-close:hover,
.site-header-cart-drawer-wrap .site-tool-close:hover { color: #262626; background: #f5f5f5; }
.site-header-cart-drawer-wrap { top: var(--site-tools-top, 130px); z-index: 1001; pointer-events: none; }
.site-header-cart-drawer-wrap.show { pointer-events: none; }
.site-header-cart-drawer-wrap .search-cart-mask { display: none; }
.site-header-cart-drawer-wrap .search-cart-drawer { width: min(360px, 92vw); height: 100%; clip-path: none; transform: translateX(100%); opacity: 0; box-shadow: -6px 0 24px rgba(0,0,0,.08); pointer-events: auto; transition: transform .24s ease, opacity .18s; }
.site-header-cart-drawer-wrap.show .search-cart-drawer { clip-path: none; transform: translateX(0); opacity: 1; transition: transform .24s ease, opacity .18s; }
.site-header-cart-drawer-wrap .search-cart-content { min-height: 0; padding: 16px 20px; }
.site-header-cart-drawer-wrap .search-cart-product { gap: 12px; }
.site-header-cart-drawer-wrap .search-cart-img { flex: 0 0 64px; width: 64px; height: 72px; }
.site-header-cart-drawer-wrap .search-cart-img img { max-width: 100%; max-height: 100%; }
.site-header-cart-drawer-wrap .search-cart-info { flex: 1; width: auto; min-width: 0; }
.site-header-cart-drawer-wrap .search-cart-info h3 { width: auto; font-size: 14px; line-height: 20px; }
.site-header-cart-drawer-wrap .search-cart-info p { font-size: 12px; line-height: 18px; }
.site-header-cart-drawer-wrap .search-cart-info .search-cart-price { font-size: 14px; line-height: 20px; }
.site-header-cart-drawer-wrap .search-cart-actions { gap: 8px; }
.site-header .site-account-drawer-footer,
.site-header-cart-drawer-wrap .search-cart-bottom { flex-shrink: 0; gap: 8px; padding: 16px 20px; border-top: 1px solid rgba(5,5,5,.06); background: #fff; }
/* 尺寸和文字规则覆盖旧的多层按钮规则，退出按钮与购物车按钮统一高度。 */
.site-header .site-account-drawer .default____btn,
.site-header-cart-drawer-wrap .search-cart-bottom .search-cart-btn { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 32px; height: 32px; padding: 0 12px; border: 0; border-radius: 6px; font: 500 14px/20px var(--sk-font-Medium); letter-spacing: normal; color: #333; }
.site-header-cart-drawer-wrap .search-cart-bottom .search-cart-btn { flex: 1; width: 0; }
.site-header .site-account-drawer .site-account-signout { flex-shrink: 0; width: 100%; margin: 0; background: var(--sk-global-color); }
.site-header .site-account-guest .default____btn { width: 100%; margin-top: 16px; background: var(--sk-global-color); }
.site-header-cart-drawer-wrap .search-cart-view { background: #f5f5f5; }
.site-header-cart-drawer-wrap .search-cart-checkout { background: var(--sk-global-color); }
.site-header .site-account-drawer .default____btn .btn__content,
.site-header-cart-drawer-wrap .search-cart-bottom .search-cart-btn .btn__content { display: flex; align-items: center; justify-content: center; gap: 8px; width: auto; min-width: 0; font: inherit; transform: none; }
.site-header .site-account-drawer .default____btn .btn__content .default____btn__txt,
.site-header-cart-drawer-wrap .search-cart-bottom .search-cart-btn .btn__content .default____btn__txt { display: inline; margin: 0; color: inherit; font: inherit; line-height: 20px; white-space: nowrap; visibility: visible; transform: none; }
.site-header .site-account-drawer .default____btn .default____btn__txt::before,
.site-header .site-account-drawer .default____btn .default____btn__txt::after,
.site-header-cart-drawer-wrap .search-cart-bottom .search-cart-btn .default____btn__txt::before,
.site-header-cart-drawer-wrap .search-cart-bottom .search-cart-btn .default____btn__txt::after { display: none; }
.site-header .site-account-drawer .site-account-signout .site-account-signout-arrow { display: block; flex-shrink: 0; width: 6px; height: 10px; filter: brightness(0); }
.site-header-cart-drawer-wrap .search-cart-btn-arrow { flex-shrink: 0; width: 6px; height: 10px; }
.site-header .site-tool-close:focus-visible,
.site-header .site-header-tool:focus-visible,
.site-header .site-account-drawer a:focus-visible,
.site-header-cart-drawer-wrap :is(a, button):focus-visible { outline: 2px solid #a68a00; outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  .site-header .site-account-drawer,
  .site-header-cart-drawer-wrap .search-cart-drawer { transition: none !important; }
}

.site-header-cart-drawer-wrap .search-cart-qty { flex-shrink: 0; height: 32px; border-radius: 6px; background: #f5f5f5; overflow: hidden; }
.site-header-cart-drawer-wrap .search-cart-drawer .search-cart-qty.common-quantity :is(.search-cart-qty-btn, .search-cart-num) { height: 32px; padding: 0; border: 0; background: transparent; font-size: 14px; line-height: 32px; }
.site-header-cart-drawer-wrap .search-cart-qty-btn { width: 28px; }
.site-header-cart-drawer-wrap .search-cart-num { width: 36px; }
.site-header-cart-drawer-wrap .search-cart-tools { gap: 12px; }
.site-header-cart-drawer-wrap .search-cart-tool { width: 24px; height: 24px; }
.site-header-cart-drawer-wrap .search-cart-detail-head { margin-top: 10px; font-size: 12px; line-height: 20px; }
.site-header-cart-drawer-wrap .search-cart-detail-body { padding-top: 8px; font-size: 12px; line-height: 20px; }
.site-header-cart-drawer-wrap .search-cart-subtotal { font-size: 14px; line-height: 24px; }
.site-header-cart-drawer-wrap .search-cart-subtotal-price { font-size: 20px; }

/* 加购成功复用右侧购物车；倒计时只关闭自动展开的抽屉。 */
.site-header-cart-drawer-wrap { --search-cart-reveal-duration: .32s; }
.site-header-cart-drawer-wrap .search-cart-drawer,
.site-header-cart-drawer-wrap.show .search-cart-drawer { transition: transform .32s ease, opacity .2s; }
.site-header-cart-drawer-wrap .site-cart-add-notice[hidden] { display: none !important; }
.site-header-cart-drawer-wrap .site-cart-add-notice { position: relative; display: flex; align-items: center; flex-shrink: 0; gap: 10px; padding: 16px 20px; overflow: hidden; color: #262626; background: #fffbe6; font-family: var(--sk-font-Medium); font-size: 14px; line-height: 22px; }
.site-header-cart-drawer-wrap .site-cart-add-notice-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; height: 24px; border-radius: 6px; background: #257942; color: #fff; font-size: 16px; }
.site-header-cart-drawer-wrap .site-cart-add-notice-progress { position: absolute; bottom: 0; right: 0; left: 0; height: 3px; background: var(--sk-global-color); transform-origin: left center; animation: cart-notice-countdown 5s linear forwards; }
@keyframes cart-notice-countdown { from { transform: scaleX(1); } to { transform: scaleX(0); } }
