/* =========================================================
   store-page.css — 商城购物车/商品详情页自定义样式
   基于 Servixa(niankang) 主题变量，仅作用于商城 cart / show 页
   ========================================================= */

/* ---------- 顶部栏会员入口 ---------- */
.nk-member-topbar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: 25px;
}

.nk-member-topbar .nk-member-hi {
  color: var(--servixa-gray);
  font-size: 14px;
  font-weight: 500;
}

.nk-member-topbar .nk-member-link {
  color: var(--servixa-gray);
  font-size: 14px;
  font-weight: 500;
  transition: color 200ms linear;
}

.nk-member-topbar .nk-member-link:hover {
  color: var(--servixa-base);
}

.nk-member-topbar .nk-member-link--out {
  color: var(--servixa-base);
}

.nk-member-topbar .nk-member-sep {
  color: rgba(var(--servixa-black-rgb), .20);
}

/* ---------- 购物车页 ---------- */
.cart-page {
  position: relative;
  display: block;
  background: var(--servixa-white);
  padding: 112px 0px 112px;
}

.cart-page .table-responsive {
  position: relative;
  display: block;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 1199px) {
  .cart-table {
    min-width: 960px;
  }
}

.cart-table {
  margin-bottom: 0px;
}

.cart-table thead th {
  color: var(--servixa-black);
  font-size: 18px;
  line-height: 30px;
  font-weight: 700;
  padding: 0;
  border: none;
  padding-bottom: 22px;
  vertical-align: middle;
}

.cart-table thead th:last-child {
  text-align: right;
}

.cart-table tbody tr {
  vertical-align: middle;
}

.cart-table tbody td {
  font-size: 17px;
  color: var(--servixa-gray);
  vertical-align: middle;
  border-top: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .10);
  padding-top: 26px;
  padding-bottom: 26px;
  padding-left: 0;
  padding-right: 0;
}

.cart-table tbody td:last-child {
  text-align: right;
}

.cart-table .product-box {
  display: flex;
  align-items: center;
}

.cart-table .product-box .img-box {
  position: relative;
  display: block;
  width: 110px;
  flex-shrink: 0;
  overflow: hidden;
  margin-right: 25px;
}

.cart-table .product-box .img-box img {
  width: 100%;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: 10px;
}

.cart-table h3 {
  color: var(--servixa-black);
  font-size: 19px;
  font-weight: 600;
  margin: 0;
  line-height: 1.4;
}

.cart-table h3 a {
  color: var(--servixa-black);
  transition: all 200ms linear;
}

.cart-table h3 a:hover {
  color: var(--servixa-base);
}

.store-product-info .store-product-sku {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--servixa-gray);
  opacity: .8;
}

.store-price-cell {
  white-space: nowrap;
  color: var(--servixa-base);
  font-weight: 600;
}

.store-price-cell strong {
  color: var(--servixa-base);
  font-weight: 700;
  font-size: 18px;
}

.store-price-original {
  display: block;
  color: var(--servixa-gray);
  opacity: .6;
  font-size: 14px;
  font-weight: 400;
  margin-top: 4px;
}

.store-price-info {
  margin: 6px 0 0;
  font-size: 13px;
  color: var(--servixa-base);
}

.store-remove-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  color: var(--servixa-black);
  font-size: 14px;
  transition: all 200ms linear;
}

.store-remove-btn:hover {
  background-color: var(--servixa-base);
  border-color: var(--servixa-base);
  color: var(--servixa-white);
}

/* 复选框 */
.store-check {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  margin: 0;
}

.store-check input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.store-check span {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(var(--servixa-black-rgb), .25);
  border-radius: 4px;
  background-color: var(--servixa-white);
  transition: all 200ms linear;
}

.store-check input:checked+span {
  background-color: var(--servixa-base);
  border-color: var(--servixa-base);
}

.store-check input:checked+span:after {
  content: "\f00c";
  font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--servixa-white);
  font-size: 11px;
}

.store-col-check {
  width: 56px;
}

/* 数量框（TouchSpin） */
.store-qty .bootstrap-touchspin {
  display: inline-flex !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  align-items: center;
}

.store-qty .bootstrap-touchspin .input-group-btn {
  margin: 0;
  display: inline-flex;
  flex: 0 0 auto;
  width: auto;
}

.store-qty .bootstrap-touchspin input {
  width: 60px;
  height: 50px;
  text-align: center;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-left: none;
  border-right: none;
  border-radius: 0;
  box-shadow: none;
  outline: none;
  font-family: var(--servixa-font);
  font-size: 16px;
  font-weight: 700;
  color: var(--servixa-black);
  background-color: var(--servixa-white);
  -moz-appearance: textfield;
}

.store-qty .bootstrap-touchspin input::-webkit-outer-spin-button,
.store-qty .bootstrap-touchspin input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.store-qty .bootstrap-touchspin .input-group-addon {
  display: none;
}

.store-qty .bootstrap-touchspin button {
  width: 42px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--servixa-primary);
  color: var(--servixa-black);
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  outline: none;
  box-shadow: none;
  font-size: 14px;
  transition: all 200ms linear;
  border-radius: 0;
  padding: 0;
}

.store-qty .bootstrap-touchspin .input-group-btn:first-child button {
  border-radius: 10px 0 0 10px;
}

.store-qty .bootstrap-touchspin .input-group-btn:last-child button {
  border-radius: 0 10px 10px 0;
}

.store-qty .bootstrap-touchspin button:hover {
  background-color: var(--servixa-base);
  border-color: var(--servixa-base);
  color: var(--servixa-white);
}

/* 空购物车 */
.store-cart-empty {
  position: relative;
  display: block;
  text-align: center;
  padding: 70px 20px 30px;
}

.store-cart-empty > i {
  font-size: 64px;
  color: rgba(var(--servixa-black-rgb), .15);
  margin-bottom: 25px;
  display: inline-block;
}

.store-cart-empty .thm-btn i {
  font-size: inherit;
  color: inherit;
}

.store-cart-empty p {
  font-size: 18px;
  color: var(--servixa-gray);
  margin-bottom: 30px;
}

/* 结算侧栏 */
.cart-page__right {
  position: relative;
  display: block;
  margin-left: 20px;
}

.cart-page__sidebar {
  position: relative;
  display: block;
  padding: 30px 25px 35px;
  background-color: var(--servixa-white);
  box-shadow: 0px 10px 60px 0px rgb(0 0 0 / 7%);
  border-radius: var(--servixa-bdr-radius);
}

.cart-page__shipping-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 24px;
  margin-bottom: 25px;
  color: var(--servixa-black);
}

.cart-total {
  position: relative;
  display: block;
  margin-bottom: 25px;
}

.cart-total li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: var(--servixa-gray);
  font-size: 16px;
  font-weight: 500;
}

.cart-total li+li {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px dashed rgba(var(--servixa-black-rgb), .10);
}

.cart-total li span:first-child {
  display: block;
  color: var(--servixa-black);
  font-size: 16px;
  font-weight: 700;
}

.cart-total li em {
  font-style: normal;
  color: var(--servixa-base);
  font-weight: 700;
}

.cart-total-amount {
  color: var(--servixa-base);
  font-size: 24px;
  font-weight: 700;
}

.store-cart-actions {
  position: relative;
  display: block;
}

.store-cart-actions .thm-btn {
  width: 100%;
  justify-content: center;
}

.store-btn-checkout {
  font-size: 17px;
}

/* 未登录时的提示（商城下单需会员登录） */
.store-cart-login-tip {
  margin: 12px 0 0;
  color: var(--servixa-gray);
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}

.store-cart-sub-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 15px;
}

.store-btn-plain {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  flex: 1;
  height: 44px;
  padding: 0 16px;
  border-radius: 10px;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  background-color: var(--servixa-white);
  color: var(--servixa-gray);
  font-family: var(--servixa-font);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  outline: none;
  transition: all 200ms linear;
}

.store-btn-plain:hover {
  border-color: var(--servixa-base);
  color: var(--servixa-base);
}

/* ---------- 商品详情页 ---------- */
.store-gallery {
  position: relative;
  display: block;
}

.store-gallery__main {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: 10px;
  overflow: hidden;
  background-color: var(--servixa-white);
}

.store-gallery__main img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
}

.store-gallery__thumbs {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
}

.store-gallery__thumb {
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  cursor: pointer;
  transition: all 200ms linear;
}

.store-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.store-gallery__thumb.active,
.store-gallery__thumb:hover {
  border-color: var(--servixa-base);
}

.store-product__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 15px;
}

.store-rating i {
  color: #f5a623;
  font-size: 15px;
  margin-right: 2px;
}

.store-meta-links {
  display: flex;
  align-items: center;
  gap: 10px;
}

.store-meta-link {
  color: var(--servixa-gray);
  font-size: 14px;
  text-decoration: none;
}

.store-meta-link i {
  margin-right: 4px;
  color: var(--servixa-gray);
}

a.store-meta-link:hover {
  color: var(--servixa-base);
}

.store-meta-sep {
  color: rgba(var(--servixa-black-rgb), .15);
}

.store-product__stats {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 25px;
  margin-top: 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
}

.store-product__stats .store-stat-item {
  margin: 0;
  color: var(--servixa-gray);
  font-size: 14px;
}

.store-product__stats .store-stat-value {
  color: var(--servixa-black);
  font-weight: 600;
}

.store-product__desc {
  position: relative;
  margin-top: 18px;
  color: var(--servixa-gray);
  font-size: 15px;
  line-height: 26px;
}

.store-product__price {
  position: relative;
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
  padding: 22px 25px;
  background-color: var(--servixa-primary);
  border-radius: 10px;
}

.store-price-label {
  color: var(--servixa-gray);
  font-size: 16px;
  font-weight: 500;
}

.store-price-current {
  color: var(--store-accent);
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}

.store-tag-free {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  background-color: var(--store-accent);
  color: var(--servixa-white);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
}

.store-price-promotion {
  width: 100%;
  margin-top: 4px;
}

.store-promotion-text {
  color: var(--servixa-base);
  font-size: 14px;
  font-weight: 600;
}

.store-product__sku {
  position: relative;
  display: block;
  margin-top: 25px;
}

.store-sku-row {
  position: relative;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 10px;
}

.store-sku-row+.store-sku-row {
  margin-top: 16px;
}

.store-sku-label {
  flex-shrink: 0;
  width: 90px;
  color: var(--servixa-gray);
  font-size: 14px;
  line-height: 42px;
}

.store-sku-value,
.store-sku-stock {
  color: var(--servixa-black);
  font-size: 14px;
  line-height: 42px;
}

.store-sku-stock em {
  font-style: normal;
  font-weight: 700;
  color: var(--store-accent);
}

.store-sku-options {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.store-sku-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 22px;
  border-radius: 10px;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  background-color: var(--servixa-white);
  color: var(--servixa-gray);
  font-family: var(--servixa-font);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  outline: none;
  transition: all 200ms linear;
}

.store-sku-btn:hover {
  border-color: var(--store-accent);
  color: var(--store-accent);
}

.store-sku-btn.red,
.store-sku-btn.active {
  background-color: var(--servixa-white);
  border-color: var(--store-accent);
  color: var(--store-accent);
  font-weight: 600;
}

.store-product__actions {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 30px;
}

/* ---------- 商品详情页（强调色统一走主题色青蓝，用深浅做色差） ---------- */
:root {
  --store-accent: var(--servixa-base);
  /* 主题色 #0089A6 */
  --store-accent-dark: #006C84;
  /* 深一档 */
  --store-accent-light: #00A9CC;
  /* 浅一档 */
}

.store-product__actions .store-btn-cart {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 190px;
  min-height: 54px;
  padding: 0 30px;
  border-radius: var(--servixa-bdr-radius);
  border: 1px solid var(--store-accent-light);
  overflow: visible;
  background-color: var(--store-accent-light);
  color: var(--servixa-white);
  font-size: 15px;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 200ms linear;
}

.store-product__actions .store-btn-cart::before,
.store-product__actions .store-btn-cart::after {
  display: none;
}

.store-product__actions .store-btn-cart:hover {
  background-color: var(--store-accent-dark);
  border-color: var(--store-accent-dark);
  color: var(--servixa-white);
}

.store-btn-buy {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 190px;
  min-height: 54px;
  padding: 0 30px;
  border-radius: var(--servixa-bdr-radius);
  border: 1px solid var(--store-accent);
  background-color: var(--store-accent);
  color: var(--servixa-white);
  font-family: var(--servixa-font);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 200ms linear;
}

.store-btn-buy:hover {
  background-color: var(--store-accent-dark);
  border-color: var(--store-accent-dark);
  color: var(--servixa-white);
}

/* ---------- 商品评论（筛选/列表） ---------- */
/* 星级图标：dr_store_star_level 输出 FA4 类名(fa-star-o / fa-star-half-o)，
   主题字体为 FA5 Pro，需补齐别名映射，否则星星不显示 */
.fa-star-o:before {
  content: "\f005";
  font-weight: 400;
}

.fa-star-half-o:before {
  content: "\f5c0";
  font-weight: 900;
}
.product-details__tab-content-inner .fc-mall-comment-head,
.fc-mall-comment-head {
  position: relative;
  display: block;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.fc-mall-comment-head .fc-mall-comment-fen {
  color: var(--store-accent);
  font-size: 40px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}

/* 分数与星级均左对齐（原模板列上带 text-center） */
.fc-mall-comment-head .fc-mall-comment-fen,
.fc-mall-comment-head .fc-mall-comment-xin {
  text-align: left;
}

.fc-mall-comment-head .fc-mall-comment-xin {
  line-height: 1;
}

.fc-mall-comment-head .fc-mall-comment-xin i {
  color: #f5a623;
  font-size: 18px;
  margin: 0 1px;
}

.fc-mall-comment-head .ds-review ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.fc-mall-comment-head .ds-review .opname {
  color: var(--servixa-black);
  font-weight: 600;
}

.fc-mall-comment-head .ds-review li {
  color: var(--servixa-gray);
  font-size: 14px;
  line-height: 2;
}

/* 评论排序筛选项：白底胶囊，选中红底白字 */
.fc-mall-comment-list-params {
  margin: 20px 0 0;
  padding: 18px 0 22px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
}

/* 筛选行容器：整行右对齐（text-right 在 BS5 下已失效，这里显式控制） */
.fc-mall-comment-list-params .text-right,
.fc-mall-comment-list-params .text-end {
  display: flex;
  justify-content: flex-end;
  text-align: right;
}

.fc-mall-comment-list-params .nav-tabs {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  margin: 0;
  border-bottom: none;
}

.fc-mall-comment-list-params .nav-tabs,
.fc-mall-comment-list-params .nav-tabs:before,
.fc-mall-comment-list-params .nav-tabs:after {
  border: none;
}

.fc-mall-comment-list-params .nav-tabs li {
  float: none;
  margin: 0;
  margin-bottom: 0;
}

.fc-mall-comment-list-params .nav-tabs li a {
  display: inline-block;
  padding: 7px 18px;
  margin: 0;
  border: 1px solid rgba(var(--servixa-black-rgb), .12);
  border-radius: 6px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .12);
  background-color: var(--servixa-white);
  color: var(--servixa-gray);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
  cursor: pointer;
  transition: all 200ms linear;
}

.fc-mall-comment-list-params .nav-tabs li a:hover,
.fc-mall-comment-list-params .nav-tabs li a:focus {
  border-color: var(--store-accent);
  color: var(--store-accent);
  background-color: var(--servixa-white);
}

.fc-mall-comment-list-params .nav-tabs li.active a,
.fc-mall-comment-list-params .nav-tabs li.active a:hover,
.fc-mall-comment-list-params .nav-tabs li.active a:focus {
  background-color: var(--store-accent);
  border-color: var(--store-accent);
  color: var(--servixa-white);
  font-weight: 600;
}

/* 评论列表条目间距 */
.fc-mall-comments-list {
  position: relative;
  display: block;
}

.fc-mall-comments-list .comment {
  margin: 0 0 25px;
  padding: 25px 0;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
}

.fc-mall-comments-list .comment:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.fc-mall-comments-list .comment .ds-avatar {
  width: 56px;
  height: 56px;
  margin: 0 auto 10px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
}

.fc-mall-comments-list .comment .ds-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fc-mall-comments-list .comment .commnet-dettail {
  color: var(--servixa-gray);
  font-size: 15px;
  line-height: 26px;
}

.fc-mall-comments-list .comment .info-time {
  color: rgba(var(--servixa-black-rgb), .40);
  font-size: 13px;
  margin-bottom: 10px;
}

.fc-mall-comments-list .comment .grade p {
  color: var(--store-accent);
  font-weight: 700;
  font-size: 14px;
  margin: 6px 0 0;
}

.fc-mall-comments-list .fc-mall-comment-image .thumbnail {
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: 8px;
  overflow: hidden;
}

/* 评论分页 */
.fc-comment-list-page {
  margin-top: 15px;
}

.fc-comment-list-page .pagination li a {
  color: var(--servixa-gray);
}

.fc-comment-list-page .pagination li.active a {
  background-color: var(--store-accent);
  border-color: var(--store-accent);
  color: var(--servixa-white);
}

/* 属性表 */
.store-attr-table {
  width: 100%;
  border-collapse: collapse;
}

.store-attr-table tr {
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
}

.store-attr-name {
  width: 220px;
  padding: 14px 18px;
  background-color: var(--servixa-primary);
  color: var(--servixa-black);
  font-weight: 600;
  font-size: 14px;
}

.store-attr-value {
  padding: 14px 18px;
  color: var(--servixa-gray);
  font-size: 14px;
}

/* ---------- 结算页 ---------- */
.checkout-page {
  position: relative;
  display: block;
  background: var(--servixa-white);
  padding: 112px 0px 112px;
}

.checkout-page__left {
  position: relative;
  display: block;
}

.checkout-page__right {
  position: relative;
  display: block;
}

.checkout-card {
  position: relative;
  display: block;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: var(--servixa-bdr-radius);
  padding: 32px 35px 38px;
  margin-bottom: 30px;
}

.checkout-card__head {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 25px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
}

.checkout-card__title {
  position: relative;
  display: inline-block;
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: var(--servixa-black);
  margin: 0;
  padding-left: 16px;
}

.checkout-card__title::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background-color: var(--store-accent);
  content: "";
}

.checkout-card__body {
  position: relative;
  display: block;
}

.store-address-add,
.store-checkout-edit-cart {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: var(--store-accent);
  transition: all 200ms linear;
}

.store-address-add:hover,
.store-checkout-edit-cart:hover {
  color: var(--store-accent-dark);
}

/* 收货地址 */
.store-address-list {
  position: relative;
  display: grid;
  gap: 15px;
}

.store-address-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin: 0;
  cursor: pointer;
}

.store-address-item input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 18px 0 0;
  border: 1px solid rgba(var(--servixa-black-rgb), .25);
  border-radius: 50%;
  background-color: var(--servixa-white);
  outline: none;
  cursor: pointer;
  transition: all 200ms linear;
}

.store-address-item input[type="radio"]:checked {
  border-color: var(--store-accent);
}

.store-address-item input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--store-accent);
}

.store-address-body {
  position: relative;
  display: block;
  flex: 1;
  padding: 16px 20px;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: var(--servixa-bdr-radius);
  transition: all 200ms linear;
}

.store-address-item:hover .store-address-body {
  border-color: rgba(0, 137, 166, .45);
}

.store-address-item input[type="radio"]:checked+.store-address-body {
  border-color: var(--store-accent);
  background-color: rgba(0, 137, 166, .04);
}

.store-address-top {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 6px;
}

.store-address-name {
  font-style: normal;
  font-size: 16px;
  font-weight: 700;
  color: var(--servixa-black);
}

.store-address-phone {
  font-style: normal;
  font-size: 15px;
  color: var(--servixa-gray);
}

.store-address-cname {
  font-style: normal;
  font-size: 13px;
  color: var(--servixa-gray);
}

.store-address-tag {
  font-style: normal;
  display: inline-block;
  padding: 1px 8px;
  border-radius: 4px;
  background-color: var(--store-accent);
  color: var(--servixa-white);
  font-size: 12px;
  line-height: 1.6;
}

.store-address-detail {
  display: block;
  font-size: 15px;
  line-height: 24px;
  color: var(--servixa-gray);
}

.store-address-edit {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  margin-top: 10px;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: 50%;
  color: var(--servixa-gray);
  font-size: 14px;
  transition: all 200ms linear;
}

.store-address-edit:hover {
  background-color: var(--store-accent);
  border-color: var(--store-accent);
  color: var(--servixa-white);
}

.store-address-empty {
  position: relative;
  display: block;
  text-align: center;
  padding: 10px 0 5px;
}

.store-address-empty p {
  color: var(--servixa-gray);
  font-size: 15px;
  margin-bottom: 18px;
}

/* 收货地址：卡片头提示 + 录入表单 */
.store-address-head-tip {
  font-size: 13px;
  color: var(--servixa-gray);
}

.store-address-entry {
  position: relative;
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px dashed rgba(var(--servixa-black-rgb), .14);
}

.store-address-entry__title {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--servixa-black);
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 18px;
}

.store-address-entry__title i {
  color: var(--store-accent);
  font-size: 18px;
}

.store-address-form {
  position: relative;
}

.store-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 20px;
}

.store-form-field > label {
  display: block;
  color: var(--servixa-black);
  font-size: 14px;
  font-weight: 600;
  margin: 0 0 8px;
}

.store-form-field > label em {
  color: var(--store-accent);
  font-style: normal;
}

.store-form-field input[type="text"] {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 16px;
  border: 1px solid var(--servixa-bdr-color);
  border-radius: var(--servixa-bdr-radius);
  background-color: var(--servixa-white);
  color: var(--servixa-black);
  font-size: 14px;
  outline: none;
  transition: border-color 200ms linear;
}

.store-form-field input[type="text"]::placeholder {
  color: #a9adbd;
}

.store-form-field input[type="text"]:focus {
  border-color: var(--store-accent);
}

.store-form-field--full {
  grid-column: 1 / -1;
}

/* 所在国家下拉（自定义 select，替代原城市联动控件） */
.store-form-select {
  display: block;
  width: 100%;
  height: 50px;
  padding: 0 40px 0 16px;
  border: 1px solid var(--servixa-bdr-color);
  border-radius: var(--servixa-bdr-radius);
  background-color: var(--servixa-white);
  color: var(--servixa-black);
  font-family: var(--servixa-font);
  font-size: 14px;
  line-height: 48px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23585b6b' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
  transition: border-color 200ms linear;
}

.store-form-select:focus {
  border-color: var(--store-accent);
}

.store-form-select.placeholder {
  color: #a9adbd;
}

.store-address-default {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 18px 0 0;
  color: var(--servixa-gray);
  font-size: 14px;
  cursor: pointer;
}

.store-btn-entry {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 200px;
  min-height: 52px;
  margin-top: 20px;
  padding: 0 32px;
  border: 2px solid var(--store-accent);
  border-radius: var(--servixa-bdr-radius);
  background-color: var(--store-accent);
  color: var(--servixa-white);
  font-family: var(--servixa-font);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
  transition: all 200ms linear;
}

.store-btn-entry:hover {
  background-color: var(--store-accent-dark);
  border-color: var(--store-accent-dark);
  color: var(--servixa-white);
}

/* 付款方式 */
.store-pay-list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.store-pay-item {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  cursor: pointer;
}

.store-pay-item input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(var(--servixa-black-rgb), .25);
  border-radius: 50%;
  background-color: var(--servixa-white);
  outline: none;
  cursor: pointer;
  transition: all 200ms linear;
}

.store-pay-item input[type="radio"]:checked {
  border-color: var(--store-accent);
}

.store-pay-item input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background-color: var(--store-accent);
}

.store-pay-name {
  display: inline-block;
  padding: 12px 22px;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: var(--servixa-bdr-radius);
  color: var(--servixa-gray);
  font-size: 15px;
  font-weight: 500;
  transition: all 200ms linear;
}

.store-pay-item:hover .store-pay-name {
  border-color: rgba(0, 137, 166, .45);
}

.store-pay-item input[type="radio"]:checked+.store-pay-name {
  border-color: var(--store-accent);
  color: var(--store-accent);
  background-color: rgba(0, 137, 166, .04);
  font-weight: 600;
}

/* 商品清单表 */
.store-checkout-table {
  width: 100%;
  border-collapse: collapse;
}

.store-checkout-table thead th {
  padding: 0 10px 16px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .10);
  color: var(--servixa-gray);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .5px;
  text-align: left;
  white-space: nowrap;
}

.store-checkout-table thead th:first-child {
  padding-left: 0;
}

.store-checkout-table thead th:last-child,
.store-checkout-table tbody td:last-child {
  padding-right: 0;
  text-align: right;
}

.store-checkout-table tbody td {
  padding: 20px 10px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
  vertical-align: middle;
  font-size: 15px;
  color: var(--servixa-gray);
}

.store-checkout-table tbody td:first-child {
  padding-left: 0;
}

.store-checkout-table tbody tr:last-child td {
  border-bottom: none;
}

.store-checkout-thumb {
  width: 90px;
}

.store-checkout-thumb img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: 8px;
}

.store-checkout-name {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  margin: 0 0 6px;
}

.store-checkout-name a {
  color: var(--servixa-black);
  transition: all 200ms linear;
}

.store-checkout-name a:hover {
  color: var(--store-accent);
}

.store-checkout-sku {
  margin: 0;
  font-size: 13px;
  color: var(--servixa-gray);
  opacity: .85;
  line-height: 20px;
}

.store-checkout-promo-name {
  margin: 0;
  color: var(--store-accent);
  font-size: 14px;
  font-weight: 600;
}

.store-checkout-promo-info {
  margin: 4px 0 0;
  color: var(--servixa-gray);
  font-size: 13px;
}

.store-checkout-empty {
  color: rgba(var(--servixa-black-rgb), .25);
}

.store-checkout-unit {
  margin: 0;
  color: var(--store-accent);
  font-size: 16px;
  font-weight: 700;
  white-space: nowrap;
}

.store-checkout-original {
  display: block;
  margin-top: 4px;
  color: var(--servixa-gray);
  opacity: .6;
  font-size: 13px;
}

.store-checkout-qty {
  white-space: nowrap;
}

.store-checkout-total {
  color: var(--servixa-black) !important;
  font-size: 16px !important;
  font-weight: 700;
  white-space: nowrap;
}

/* 买家留言 */
.store-checkout-note textarea {
  display: block;
  width: 100%;
  height: 120px;
  padding: 16px 20px;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: var(--servixa-bdr-radius);
  background-color: var(--servixa-white);
  color: var(--servixa-gray);
  font-family: var(--servixa-font);
  font-size: 15px;
  line-height: 24px;
  outline: none;
  resize: none;
  transition: all 200ms linear;
}

.store-checkout-note textarea:focus {
  border-color: rgba(0, 137, 166, .45);
}

/* 订单汇总（右侧） */
.sidebar-order-summary {
  position: relative;
  display: block;
  border: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-radius: var(--servixa-bdr-radius);
  padding: 34px 30px 20px;
}

.sidebar-order-summary .title-box {
  position: relative;
  display: block;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(var(--servixa-black-rgb), .08);
}

.sidebar-order-summary .title-box h3 {
  position: relative;
  display: inline-block;
  font-size: 22px;
  line-height: 30px;
  font-weight: 700;
  color: var(--servixa-black);
  margin: 0;
  padding-left: 16px;
}

.sidebar-order-summary .title-box h3::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  border-radius: 2px;
  background-color: var(--store-accent);
  content: "";
}

.sidebar-order-summary__list {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
}

.sidebar-order-summary__list>li {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 0;
  border-bottom: 1px dashed rgba(var(--servixa-black-rgb), .10);
}

.sidebar-order-summary__list>li:last-child {
  border-bottom: none;
}

.sidebar-order-summary__list .left-text p,
.sidebar-order-summary__list .right-text p {
  margin: 0;
  font-size: 15px;
  line-height: 24px;
  color: var(--servixa-gray);
}

.sidebar-order-summary__list .right-text {
  text-align: right;
}

.sidebar-order-summary__list>li.store-summary-total {
  margin-top: 6px;
  padding-top: 18px;
  border-top: 1px solid rgba(var(--servixa-black-rgb), .10);
  border-bottom: none;
}

.sidebar-order-summary__list>li.store-summary-total .left-text p {
  color: var(--servixa-black);
  font-size: 16px;
  font-weight: 700;
}

.sidebar-order-summary__list>li.store-summary-total .right-text p {
  color: var(--store-accent);
  font-size: 26px;
  font-weight: 700;
  line-height: 1.2;
}

.store-checkout-actions {
  position: relative;
  display: block;
  margin-top: 25px;
}

.store-checkout-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 58px;
  padding: 0 30px;
  border: 1px solid var(--store-accent);
  border-radius: var(--servixa-bdr-radius);
  background-color: var(--store-accent);
  color: var(--servixa-white);
  font-family: var(--servixa-font);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 1px;
  cursor: pointer;
  outline: none;
  transition: all 200ms linear;
}

.store-checkout-submit:hover {
  background-color: var(--store-accent-dark);
  border-color: var(--store-accent-dark);
  color: var(--servixa-white);
}

.store-checkout-back {
  display: block;
  margin-top: 16px;
  text-align: center;
  color: var(--servixa-gray);
  font-size: 15px;
  transition: all 200ms linear;
}

.store-checkout-back:hover {
  color: var(--store-accent);
}

@media (max-width: 991px) {
  .checkout-page {
    padding: 80px 0;
  }

  .checkout-card {
    padding: 26px 22px 30px;
  }

  .checkout-page__right {
    margin-top: 40px;
  }
}

@media (max-width: 575px) {
  .checkout-card__head {
    align-items: flex-start;
  }

  .store-checkout-table {
    min-width: 720px;
  }

  .store-form-grid {
    grid-template-columns: 1fr;
  }

  .store-address-head-tip {
    display: none;
  }
}

/* ---------- 响应式 ---------- */
@media (max-width: 1199px) {
  /* 商品详情：窄屏/平板/壳浏览器宽视口下统一单列居中，避免左右错位 */
  .product-details .col-lg-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .store-gallery {
    max-width: 520px;
    margin: 0 auto;
  }

  .product-details__right {
    max-width: 520px;
    margin: 36px auto 0;
  }
}

@media (max-width: 991px) {
  .cart-page {
    padding: 80px 0;
  }

  .store-price-current {
    font-size: 28px;
  }

  .cart-page__right {
    margin-left: 0;
    margin-top: 40px;
  }

  .store-sku-label {
    width: 100%;
    line-height: 1.4;
  }

  .store-gallery__thumbs {
    justify-content: center;
    gap: 10px;
  }
}

@media (max-width: 575px) {
  .store-product__actions .thm-btn,
  .store-btn-buy {
    width: 100%;
  }

  .cart-table .product-box .img-box {
    width: 80px;
    margin-right: 15px;
  }

  .store-gallery {
    max-width: 100%;
  }

  .store-gallery__thumb {
    width: 68px;
    height: 68px;
    border-radius: 8px;
  }

  .store-gallery__thumbs {
    gap: 8px;
    margin-top: 14px;
  }

  .product-details__right {
    margin-top: 28px;
  }
}

/* ---------------- 顶部用户菜单（PC 平铺直排） ---------------- */
.nk-user-menu {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 2px;
}

.nk-user-who {
  display: inline-flex;
  align-items: center;
  margin-right: 14px;
  color: rgba(255, 255, 255, .85);
  font-size: 16px;
  line-height: 30px;
  font-weight:700;
}

.nk-user-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .14);
  color: var(--servixa-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  flex-shrink: 0;
  transition: all 300ms linear;
}

.nk-user-who:hover .nk-user-avatar {
  background-color: var(--store-accent);
}

.nk-user-name {
  color: var(--servixa-white);
  font-size: 16px;
  font-weight: 700;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nk-user-who .nk-user-name {
  margin-left: 5px;
}

.nk-user-flat-link {
  position: relative;
  color: rgba(255, 255, 255, .88);
  font-size: 16px;
  line-height: 30px;
  text-decoration: none;
  transition: color 300ms linear;
  font-weight:700;
}

.nk-user-flat-link:hover {
  color: #fff;
  text-decoration: none;
}

.nk-user-flat-link--out {
  color: rgba(0, 137, 166, .95);
}

.nk-user-flat-link--out:hover {
  color: #ff9a8c;
}

.nk-user-flat-sep {
  color: rgba(255, 255, 255, .35);
  font-size: 13px;
  margin: 0 12px;
}

/* ---------------- 用户下拉（仅移动端使用） ---------------- */
.nk-user-dropdown {
  position: absolute;
  top: calc(100% + 14px);
  left: -14px;
  min-width: 172px;
  background-color: var(--servixa-white);
  border-radius: 10px;
  box-shadow: 0px 12px 40px 0px rgba(0, 0, 0, .18);
  padding: 8px 0;
  margin: 0;
  list-style: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 300ms ease;
  z-index: 120;
}

.nk-user-dropdown li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  color: var(--servixa-gray);
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
  transition: all 200ms linear;
}

.nk-user-dropdown li a i {
  width: 16px;
  font-size: 14px;
  color: var(--store-accent);
  text-align: center;
}

.nk-user-dropdown li a:hover {
  color: var(--store-accent);
  background-color: #f5f8f9;
}

.nk-user-dropdown li.nk-user-drop-logout {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid var(--servixa-bdr-color);
}

.nk-user-dropdown li.nk-user-drop-logout a i {
  color: #d9534f;
}

/* ---------------- 移动端：用户图标 + 基础语言切换 ---------------- */
.main-menu .nk-mobile-user {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.main-menu .nk-mobile-user-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, .14);
  color: var(--servixa-white);
  font-size: 14px;
  transition: all 300ms linear;
}

.main-menu .nk-mobile-user-btn:hover {
  background-color: var(--store-accent);
  color: var(--servixa-white);
}

.main-menu .nk-mobile-user .nk-user-dropdown {
  top: calc(100% + 14px);
  left: auto;
  right: -60px;
}

.main-menu .nk-mobile-user.open .nk-user-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (min-width: 1200px) {
  .main-menu .nk-mobile-user {
    display: none;
  }
}
