/* ===================== Product Detail Page - 与分类页协调一致 ===================== */
:root {
  --pd-primary: #3b82f6;
  --pd-primary-dark: #2563eb;
  --pd-success: #10b981;
  --pd-warning: #f59e0b;
  --pd-danger: #ef4444;
  --pd-gray-50: #f9fafb;
  --pd-gray-100: #f3f4f6;
  --pd-gray-200: #e5e7eb;
  --pd-gray-300: #d1d5db;
  --pd-gray-500: #6b7280;
  --pd-gray-600: #4b5563;
  --pd-gray-700: #374151;
  --pd-gray-900: #111827;
  --pd-radius: 12px;
  --pd-radius-sm: 10px;
  --pd-border: #e2e8f0;
  --pd-shadow: 0 4px 12px rgba(15,23,42,0.08);
  --pd-shadow-lg: 0 4px 12px rgba(59,130,246,0.12);
  --buybar-h: 0px;
}

/* 与分类页 category-products-page 一致：浅蓝背景 */
.product-detail-page { background: #f5faff !important; min-height: 100vh; padding: 16px 0 24px !important; }
.product-detail-page .section-bg { background: transparent; padding: 0 !important; margin: 0 !important; }
/* 框架宽度与分类页 category-products-main 一致 */
.product-detail-page .pd-container { width: 100%;}
.product-detail-page .pd-main-wrap {
  width: 66.66666667%;
  max-width: 66.66666667%;
  margin: 0 auto;
}
@media (max-width: 991.98px) {
  .product-detail-page .pd-main-wrap { width: 100%; max-width: 100%; }
}
@media (max-width: 576px) {
  .product-detail-page .pd-container { padding: 0 16px; }
}

/* 主卡片：与 catalog-item / sort-filter-wrapper 风格一致 */
.product-detail-page .pd-main-card {
  background: #fff; border-radius: var(--pd-radius); box-shadow: var(--pd-shadow);
  border: 1px solid var(--pd-border); overflow: hidden; transition: all 0.25s ease;
}

.product-detail-page .pd-header {
  background: #fff; padding: 16px 20px; border-bottom: 1px solid var(--pd-border);
}
.product-detail-page .pd-header .pd-title {
  font-size: 1.25rem; font-weight: 700; color: var(--pd-gray-900); margin: 0; line-height: 1.4;
}
@media (max-width: 576px) {
  .product-detail-page .pd-header { padding: 12px 16px; }
  .product-detail-page .pd-header .pd-title { font-size: 1rem; line-height: 1.35; }
  .product-detail-page .pd-content { padding: 16px; }
  .product-detail-page .pd-desc-wrap { padding: 16px; margin: 20px 0; }
  .product-detail-page .pd-related { padding: 16px; margin-top: 24px; }
}

.product-detail-page .pd-meta-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 6px; font-size: .8rem;
}
.product-detail-page .pd-cat-inline { color: var(--pd-gray-500); }
.product-detail-page .pd-cat-inline a { color: var(--pd-gray-600); text-decoration: none; }
.product-detail-page .pd-cat-inline a:hover { color: var(--pd-primary); text-decoration: underline; }
.product-detail-page .pd-id-inline { color: var(--pd-gray-400); }
.product-detail-page .pd-badge {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 2px 8px; border-radius: 4px; font-size: .7rem; font-weight: 600;
}
.product-detail-page .pd-badge.sponsored { background: #fef3c7; color: #92400e; }
@media (max-width: 576px) {
  .product-detail-page .pd-meta-row { font-size: .75rem; gap: 6px; margin-top: 4px; }
}

.product-detail-page .pd-content { padding: 20px 20px 24px; }

.product-detail-page .pd-img-wrap {
  position: relative; background: #fff; border-radius: var(--pd-radius-sm);
  overflow: hidden; border: 1px solid var(--pd-border); cursor: pointer; transition: all 0.25s ease;
}
.product-detail-page .pd-img-wrap:hover {
  border-color: var(--pd-primary); box-shadow: var(--pd-shadow-lg);
}
.product-detail-page .pd-img-wrap img {
  width: 100%; max-height: 380px; object-fit: contain; display: block;
  background: #fff;
}
.product-detail-page .pd-img-zoom {
  position: absolute; bottom: 12px; right: 12px;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(0,0,0,.6); color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 16px; opacity: 0; transition: .2s;
}
.product-detail-page .pd-img-wrap:hover .pd-img-zoom { opacity: 1; }

/* 缩略图列表 */
.product-detail-page .item-image-list {
  margin-top: 12px; padding: 8px 0;
  display: flex; gap: 8px; flex-wrap: nowrap; overflow-x: auto;
  background: transparent; border-radius: var(--pd-radius-sm);
}
.product-detail-page .item-image-list .item-image-sku-mini {
  flex-shrink: 0; width: 56px; height: 56px;
  border-radius: 8px; overflow: hidden; border: 2px solid transparent;
  cursor: pointer; transition: border-color .2s, box-shadow .2s;
}
.product-detail-page .item-image-list .item-image-sku-mini:hover,
.product-detail-page .item-image-list .item-image-sku-mini.image-active {
  border-color: var(--pd-primary); box-shadow: 0 2px 8px rgba(59,130,246,.3);
}
.product-detail-page .item-image-list .item-image-sku-mini img {
  width: 100%; height: 100%; object-fit: cover;
}

/* 卖家区：与分类页 seller-pill 协调 */
.product-detail-page .pd-seller {
  background: #f8fafc; border: 1px solid var(--pd-border); border-radius: var(--pd-radius-sm);
  padding: 14px 16px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
.product-detail-page .pd-seller.self { background: #fff7ed; border-color: #fed7aa; }
.product-detail-page .pd-seller-inner { display: flex; align-items: center; gap: 12px; }
.product-detail-page .pd-seller-avatar {
  width: 40px; height: 40px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 0.95rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, #4f46e5, #2563eb); flex-shrink: 0;
}
.product-detail-page .pd-seller.self .pd-seller-avatar {
  background: linear-gradient(135deg, #ffb347, #ff6b6b);
}
.product-detail-page .pd-seller-info { flex: 1; min-width: 0; }
.product-detail-page .pd-seller-name {
  font-size: .95rem; font-weight: 600; color: var(--pd-gray-900);
  display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.product-detail-page .pd-seller-badge {
  font-size: .65rem; font-weight: 600; padding: 2px 8px; border-radius: 4px; color: #fff;
}
.product-detail-page .pd-seller-badge.self {
  background: linear-gradient(135deg, #f97316, #fb923c); color: #fff;
}
.product-detail-page .pd-seller-badge.seller {
  background: linear-gradient(135deg, #4f46e5, #6366f1); color: #fff;
}
.product-detail-page .pd-seller-meta { font-size: .8rem; color: var(--pd-gray-500); margin-top: 2px; }
.product-detail-page .pd-seller-actions { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }

.product-detail-page .pd-info-row {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px;
}
.product-detail-page .pd-price { font-size: 1.5rem; font-weight: 800; color: #dc2626; line-height: 1; }
/* 信息标签：与分类页 catalog-item__stock / delivery-badge 一致 */
.product-detail-page .pd-info-tag {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 3px 10px; border-radius: 999px; font-size: .8rem; font-weight: 500;
  background: #f8fafc; color: var(--pd-gray-600); border: 1px solid var(--pd-border);
}
.product-detail-page .pd-info-tag .val { font-weight: 600; }
.product-detail-page .pd-info-tag.stock-ok {
  color: #15803d; background: rgba(34, 197, 94, 0.12); border-color: transparent;
}
.product-detail-page .pd-info-tag.stock-ok .val { color: #15803d; }
.product-detail-page .pd-info-tag.stock-low {
  color: #d97706; background: rgba(245, 158, 11, 0.12); border-color: transparent;
}
.product-detail-page .pd-info-tag.stock-low .val { color: #d97706; }
.product-detail-page .pd-info-tag.stock-out {
  color: #dc2626; background: rgba(239, 68, 68, 0.1); border-color: transparent;
}
.product-detail-page .pd-info-tag.stock-out .val { color: #dc2626; }
.product-detail-page .pd-info-tag--manual {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  color: #92400e; border: 1px solid #fcd34d; font-weight: 600;
}
.product-detail-page .pd-info-tag--manual i { margin-right: 2px; }
.product-detail-page .pd-info-tag--auto {
  background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
  color: #15803d; border: 1px solid #86efac; font-weight: 600;
}
.product-detail-page .pd-info-tag--auto i { margin-right: 2px; }

.product-detail-page .pd-manual-notice {
  display: flex; gap: 12px; align-items: flex-start;
  background: #fffbeb; border: 1px solid #fcd34d; border-radius: var(--pd-radius-sm);
  padding: 14px 16px; margin: 16px 0;
}
.product-detail-page .pd-manual-notice__icon {
  flex-shrink: 0; width: 28px; height: 28px; border-radius: 50%;
  background: #f59e0b; color: #fff;
  display: flex; align-items: center; justify-content: center; font-size: 14px;
}
.product-detail-page .pd-manual-notice__content { font-size: .85rem; color: #92400e; }
.product-detail-page .pd-manual-notice__content strong { display: block; margin-bottom: 6px; font-size: .9rem; }
.product-detail-page .pd-manual-notice__content ul { margin: 0; padding-left: 18px; }
.product-detail-page .pd-manual-notice__content li { margin-bottom: 4px; line-height: 1.4; }

/* 商品介绍：与分类页卡片风格一致 */
.product-detail-page .pd-desc-wrap {
  margin: 24px 0 20px; padding: 20px; background: #fff;
  border-radius: var(--pd-radius); border: 1px solid var(--pd-border);
  box-shadow: var(--pd-shadow);
}
.product-detail-page .pd-desc-title {
  font-size: 1.1rem; font-weight: 700; color: var(--pd-gray-900); margin: 0 0 12px 0;
}
.product-detail-page .pd-desc {
  background: #f8fafc; border: 1px solid var(--pd-border);
  border-radius: var(--pd-radius-sm); padding: 16px; margin-bottom: 0;
  line-height: 1.8; color: var(--pd-gray-700); font-size: .95rem;
}
.product-detail-page .pd-desc:empty { display: none; }

/* 商品属性表格：与分类页卡片协调 */
.product-detail-page .pd-attr-wrap {
  background: #fff; border-radius: var(--pd-radius); border: 1px solid var(--pd-border);
  box-shadow: var(--pd-shadow); overflow: hidden;
}
.product-detail-page .pd-attr-table {
  margin: 0; width: 100%; border-collapse: collapse; font-size: .9rem;
}
.product-detail-page .pd-attr-table td {
  padding: 12px 16px; border-bottom: 1px solid var(--pd-border);
  color: var(--pd-gray-700);
}
.product-detail-page .pd-attr-table td:first-child {
  font-weight: 600; color: var(--pd-gray-500); width: 25%;
  background: #f8fafc;
}
.product-detail-page .pd-attr-table tr:last-child td { border-bottom: none; }

.product-detail-page .pd-buy-section {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
  padding-top: 14px; border-top: 1px solid var(--pd-gray-200);
}
/* 购买按钮：与分类页 btn--base 一致 */
.product-detail-page .pd-buy-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  padding: 10px 20px; border-radius: 10px; font-size: .9rem; font-weight: 600;
  color: #fff; border: none; cursor: pointer;
  background: var(--pd-primary); box-shadow: 0 2px 8px rgba(59,130,246,.25);
  transition: all 0.25s ease;
}
.product-detail-page .pd-buy-btn:hover {
  background: var(--pd-primary-dark); transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59,130,246,.35);
}
.product-detail-page .pd-buy-btn:active { transform: scale(.98); }
.product-detail-page .pd-buy-btn:disabled {
  background: #94a3b8; cursor: not-allowed; box-shadow: none; transform: none;
}
.product-detail-page .pd-buy-btn i { font-size: 1rem; }

.product-detail-page .pd-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 999px; font-size: .85rem; font-weight: 600;
  border: 1px solid var(--pd-border); background: #fff;
  color: var(--pd-gray-700); cursor: pointer; transition: all 0.25s ease; text-decoration: none;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
}
.product-detail-page .pd-chip:hover {
  background: #f8fafc; border-color: var(--pd-primary);
}
.product-detail-page .pd-chip-icon {
  width: 22px; height: 22px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 12px;
}
.product-detail-page .pd-chip.contact .pd-chip-icon { background: var(--pd-primary); color: #fff; }
.product-detail-page .pd-chip.fav .pd-chip-icon { background: #fecaca; color: #dc2626; }
.product-detail-page .pd-chip.fav.active { background: #fef2f2; border-color: #fca5a5; }
.product-detail-page .pd-chip.fav.active .pd-chip-icon { background: #dc2626; color: #fff; }

.product-detail-page .pd-share { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.product-detail-page .pd-share-label { font-size: .85rem; color: var(--pd-gray-500); }
.product-detail-page .pd-share-btn {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--pd-gray-100); color: var(--pd-gray-600);
  border: 1px solid var(--pd-gray-200); transition: .2s; text-decoration: none;
}
.product-detail-page .pd-share-btn:hover { background: var(--pd-primary); color: #fff; border-color: var(--pd-primary); }

.product-detail-page .pd-tutorial {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border: 1px solid #fbbf24; border-radius: var(--pd-radius-sm);
  padding: 20px; margin-top: 24px;
}
.product-detail-page .pd-tutorial-header { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.product-detail-page .pd-tutorial-header i { font-size: 1.5rem; color: #d97706; }
.product-detail-page .pd-tutorial-header h6 { font-weight: 800; color: #92400e; margin: 0; }
.product-detail-page .pd-tutorial-body { color: #78350f; line-height: 1.7; }

.product-detail-page .pd-related {
  margin-top: 28px; padding: 20px; background: #fff;
  border-radius: var(--pd-radius); border: 1px solid var(--pd-border);
  box-shadow: var(--pd-shadow);
}
.product-detail-page .pd-related-header {
  display: flex; align-items: center; gap: 10px; margin-bottom: 20px;
}
.product-detail-page .pd-related-header h5 { font-size: 1.1rem; font-weight: 700; color: var(--pd-gray-900); margin: 0; }
.product-detail-page .pd-related-header .line { flex: 1; height: 2px; background: var(--pd-border); border-radius: 1px; }
.product-detail-page .pd-related-header .pd-related-sub { font-size: .85rem; color: var(--pd-gray-500); font-weight: 400; }

.product-detail-page .pd-buybar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000;
  background: #fff; border-top: 1px solid var(--pd-border);
  box-shadow: 0 -4px 12px rgba(0,0,0,.08);
}
.product-detail-page .pd-buybar-inner {
  display: flex; align-items: center; gap: 12px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0)); max-width: 1200px; margin: 0 auto;
}
.product-detail-page .pd-buybar-info { flex: 1; min-width: 0; }
.product-detail-page .pd-buybar-name {
  font-size: .9rem; font-weight: 600; color: var(--pd-gray-900);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.product-detail-page .pd-buybar-meta {
  display: flex; align-items: center; gap: 8px; font-size: .82rem; margin-top: 2px;
}
.product-detail-page .pd-buybar-price { font-weight: 700; color: #dc2626; }
.product-detail-page .pd-buybar-stock { color: var(--pd-gray-500); }
.product-detail-page .pd-buybar-btn {
  padding: 10px 20px; border-radius: 10px; font-weight: 600; font-size: .9rem;
  color: #fff; border: none; cursor: pointer; white-space: nowrap;
  background: var(--pd-primary); box-shadow: 0 2px 8px rgba(59,130,246,.25);
  transition: all 0.25s ease;
}
.product-detail-page .pd-buybar-btn:hover {
  background: var(--pd-primary-dark);
  box-shadow: 0 4px 12px rgba(59,130,246,.35);
}
.product-detail-page .pd-buybar-btn:disabled {
  background: #94a3b8; box-shadow: none;
}

.product-detail-page .pd-mobile-thumb {
  width: 48px; height: 48px; border-radius: 10px; object-fit: cover;
  border: 1px solid var(--pd-gray-200); cursor: pointer; flex-shrink: 0;
}

@media (max-width: 768px) { .d-md-block { display: none !important; } }

/* 375px 小屏适配 */
@media (max-width: 375px) {
  .product-detail-page { padding-bottom: 80px !important; }
  .product-detail-page .pd-header { padding: 10px 0; }
  .product-detail-page .pd-title { font-size: .92rem; line-height: 1.3; }
  .product-detail-page .pd-meta-row { font-size: .68rem; gap: 4px; }
  .product-detail-page .pd-badge { font-size: .62rem; padding: 1px 5px; }
  .product-detail-page .pd-mobile-thumb { width: 40px; height: 40px; border-radius: 8px; }
  .product-detail-page .pd-content { padding: 14px 16px 18px; }
  .product-detail-page .pd-seller { padding: 10px; margin-bottom: 12px; }
  .product-detail-page .pd-seller-inner { gap: 10px; }
  .product-detail-page .pd-seller-avatar { width: 36px; height: 36px; font-size: .85rem; }
  .product-detail-page .pd-seller-name { font-size: .85rem; }
  .product-detail-page .pd-seller-badge { font-size: .58rem; padding: 1px 6px; }
  .product-detail-page .pd-seller-meta { font-size: .72rem; }
  .product-detail-page .pd-price { font-size: 1.25rem; }
  .product-detail-page .pd-info-row { gap: 6px; margin-bottom: 10px; }
  .product-detail-page .pd-info-tag { padding: 3px 8px; font-size: .72rem; }
  .product-detail-page .pd-desc { padding: 12px; font-size: .88rem; line-height: 1.7; margin-bottom: 14px; }
  .product-detail-page .pd-buy-section { padding-top: 10px; gap: 8px; }
  .product-detail-page .pd-buy-btn { padding: 8px 16px; font-size: .85rem; border-radius: 6px; }
  .product-detail-page .pd-chip { padding: 6px 10px; font-size: .78rem; }
  .product-detail-page .pd-chip-icon { width: 18px; height: 18px; font-size: 10px; }
  .product-detail-page .pd-share { gap: 6px; }
  .product-detail-page .pd-share-label { font-size: .75rem; }
  .product-detail-page .pd-share-btn { width: 30px; height: 30px; font-size: .85rem; }
  .product-detail-page .pd-tutorial { padding: 14px; margin-top: 18px; }
  .product-detail-page .pd-related { margin-top: 20px; }
  .product-detail-page .pd-related-header h5 { font-size: 1rem; }
  .product-detail-page .pd-buybar-inner { padding: 10px 12px calc(10px + env(safe-area-inset-bottom, 0)); }
  .product-detail-page .pd-buybar-name { font-size: .82rem; }
  .product-detail-page .pd-buybar-meta { font-size: .75rem; }
  .product-detail-page .pd-buybar-btn { padding: 8px 14px; font-size: .82rem; border-radius: 6px; }
}

@media (max-width: 767.98px) {
  .product-detail-page { padding-bottom: 80px !important; }
}

/* SKU/数量 - 适配多规格商品 */
.product-detail-page .pd-sku-row { margin-bottom: 16px; }
.product-detail-page .pd-sku-label { font-size: .9rem; font-weight: 600; color: var(--pd-gray-700); margin-bottom: 8px; }
.product-detail-page .pd-sku-wrapper { display: flex; flex-wrap: wrap; gap: 8px; }
.product-detail-page .pd-sku-item {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px; border-radius: 8px; border: 1px solid var(--pd-border);
  background: #fff; cursor: pointer; transition: all 0.25s ease; font-size: .88rem;
}
.product-detail-page .pd-sku-item:hover {
  border-color: var(--pd-primary); background: rgba(59,130,246,.05);
  box-shadow: 0 0 0 2px rgba(59,130,246,.12);
}
.product-detail-page .pd-sku-item.sku-current {
  border-color: var(--pd-primary); background: rgba(59,130,246,.1); color: var(--pd-primary);
  box-shadow: 0 0 0 2px rgba(59,130,246,.2);
}
.product-detail-page .pd-sku-item img { width: 24px; height: 24px; object-fit: contain; border-radius: 6px; }
.product-detail-page .pd-qty-row { margin-bottom: 16px; }
.product-detail-page .pd-qty-label { font-size: .9rem; font-weight: 600; color: var(--pd-gray-700); margin-bottom: 8px; }
.product-detail-page .pd-qty-input {
  width: 100px; padding: 8px 12px; border: 1px solid var(--pd-border);
  border-radius: 8px; font-size: .95rem;
  transition: all 0.25s ease;
}
.product-detail-page .pd-qty-input:focus {
  border-color: var(--pd-primary); outline: none;
  box-shadow: 0 0 0 3px rgba(59,130,246,.12);
}

/* 相关产品：与分类页 catalog-item 一致 */
.product-detail-page .pd-related .catalog-item.improved.horizontal-layout.fixed-two-rows.responsive-card {
  display: flex; flex-direction: row; align-items: center;
  border: 1px solid var(--pd-border); border-radius: var(--pd-radius);
  padding: 12px 16px; background: #fff;
  box-shadow: 0 1px 2px rgba(15,23,42,0.04);
  transition: all 0.25s ease; margin-bottom: 12px;
  gap: 12px; flex-wrap: nowrap; width: 100%; max-width: 100%;
  position: relative; overflow: hidden;
}
.product-detail-page .pd-related .catalog-item.improved.horizontal-layout.fixed-two-rows.responsive-card:hover {
  border-color: var(--pd-primary);
  box-shadow: 0 4px 12px rgba(59,130,246,0.12);
}
.product-detail-page .pd-related .catalog-item__thumb.single-row {
  flex: 0 0 80px; display: flex; align-items: center; justify-content: center;
  height: 80px; margin-right: 0; border-radius: 8px; overflow: hidden; background: #f8fafc;
}
.product-detail-page .pd-related .catalog-item__image.fixed-position {
  width: 100%; height: 100%; object-fit: contain; border-radius: 8px;
  transition: transform 0.25s ease;
}
.product-detail-page .pd-related .catalog-item__content.compact-layout {
  flex: 1; display: flex; flex-direction: column; justify-content: space-between; min-width: 0;
}
.product-detail-page .pd-related .catalog-item__title { font-weight: 600; font-size: .95rem; margin: 0; }
.product-detail-page .pd-related .catalog-item__link {
  color: #1e293b; text-decoration: none; transition: color 0.25s ease;
}
.product-detail-page .pd-related .catalog-item__link:hover { color: var(--pd-primary); }
.product-detail-page .pd-related .catalog-item__details { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.product-detail-page .pd-related .catalog-item__details .fw-bold.text-danger { color: var(--pd-danger) !important; }
.product-detail-page .pd-related .catalog-item__details .text-success { color: var(--pd-success) !important; }
.product-detail-page .pd-related .btn--base {
  background: var(--pd-primary); color: #fff; border: none; border-radius: 10px;
  padding: 8px 16px; font-weight: 600; font-size: .88rem;
  box-shadow: 0 2px 8px rgba(59,130,246,.25);
  transition: all 0.25s ease; display: inline-flex; align-items: center; gap: 6px;
}
.product-detail-page .pd-related .btn--base:hover {
  background: var(--pd-primary-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59,130,246,.35);
}
.product-detail-page .pd-related .btn--sm { font-size: .8rem; }

/* ===== 购买弹窗 p-sheet（与参考一致） ===== */
.p-sheet__overlay {
  display: none; position: fixed; inset: 0; z-index: 11000;
  background: rgba(17,24,39,.45); opacity: 0; transition: .25s;
}
.p-sheet__overlay.active { display: block; opacity: 1; }
.p-sheet {
  position: fixed; left: 50%; bottom: 0; z-index: 11010;
  transform: translateX(-50%) translateY(100%);
  width: 100%; max-width: 760px; max-height: calc(100% - 1rem);
  background: #fff; color: #1f2937; border: 1px solid #e9eef4;
  border-radius: 16px 16px 0 0; box-shadow: 0 -8px 20px rgba(0,0,0,.14);
  display: flex; flex-direction: column; opacity: 0; visibility: hidden; pointer-events: none;
  transition: transform .35s cubic-bezier(.2,.7,.2,1), opacity .2s ease, visibility 0s .2s;
}
.p-sheet.active {
  transform: translateX(-50%) translateY(0); opacity: 1; visibility: visible; pointer-events: auto;
}
.p-sheet__handle {
  width: 40px; height: 4px; border-radius: 99px; background: #d1d5db; margin: 8px auto 6px;
}
.p-sheet__header {
  display: flex; align-items: center; justify-content: space-between; padding: 0 .9rem .4rem;
}
.p-sheet__title { font-weight: 700; font-size: 1rem; }
.p-sheet__close {
  appearance: none; -webkit-appearance: none;
  background: transparent; border: 0; outline: 0; box-shadow: none;
  width: 32px; height: 32px; line-height: 32px; border-radius: 8px;
  color: #111827; font-size: 22px; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.p-sheet__close:hover { background: #f3f4f6; }
.p-sheet__body {
  padding: .5rem .9rem .9rem; overflow: auto; -webkit-overflow-scrolling: touch; flex: 1; min-height: 0;
}
.p-sheet__footer { border-top: 1px solid #eef1f4; padding: .75rem .9rem; }

/* pmc 购买弹窗内容样式（与参考一致） */
.pmc__product-name { margin: .3rem 0 .6rem 0; color: #2563eb; font-weight: 700; line-height: 1.4; font-size: 1rem; word-break: break-word; }
.pmc__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 8px; }
.pmc__stat { background: #f7f9fc; border: 1px solid #e9eef5; border-radius: 10px; padding: 10px 10px 8px; }
.pmc__stat .label { font-size: .8rem; color: #6b7280; margin-bottom: 4px; }
.pmc__stat .value { font-weight: 800; color: #111827; }
.pmc__stat .sub { font-size: .75rem; color: #9ca3af; margin-top: 3px; }
.pmc__stat--em .value { color: #e11d48; }
.pmc__note { margin: 8px 0 10px; background: #fff7e6; border: 1px solid #ffe2b3; color: #8a5a00; border-radius: 8px; padding: 8px 10px; font-size: .85rem; }
.pmc__note .link { color: #b45309; text-decoration: underline; }
.pmc__form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pmc__field .form--label { margin-bottom: 6px; font-size: .9rem; }
.pmc__drawer { border: 1px solid #e8eef5; border-radius: 12px; overflow: hidden; background: #fcfdff; position: relative; }
.pmc__drawer-hd { width: 100%; display: flex; align-items: center; justify-content: space-between; background: #fff; border: 0; padding: .8rem .9rem; cursor: pointer; }
.pmc__drawer-hd .left { display: flex; align-items: center; gap: .4rem; }
.pmc__drawer .la-chevron-down { transition: transform .2s; }
.pmc__drawer.open .la-chevron-down { transform: rotate(180deg); }
.pmc__drawer-bd { max-height: 0; overflow: hidden; border-top: 1px dashed #e5ecf6; background: #fff; transition: max-height .28s ease; }
.pmc__drawer.open .pmc__drawer-bd { max-height: 320px; overflow-y: auto; }
.pmc__alert { margin: .5rem .9rem 0; color: #b91c1c; font-size: .85rem; }
.pmc__alert.pmc--shake { animation: pmcShake .18s linear 0s 2; }
@keyframes pmcShake { 0%{transform:translateX(0)} 25%{transform:translateX(-3px)} 50%{transform:translateX(3px)} 75%{transform:translateX(-2px)} 100%{transform:translateX(0)} }
.pmc__paygrid { display: grid; grid-template-columns: 1fr; gap: .5rem; padding: .65rem; }
.pmc__payopt {
  width: 100%; text-align: left; border: 1px solid #e4ebf5; border-radius: 10px; background: #f9fbff;
  padding: .75rem; position: relative; transition: .15s; min-height: 44px; display: flex; align-items: center; gap: .5rem;
  cursor: pointer; background: transparent; font-size: inherit;
}
.pmc__payopt:hover { background: #f1f6ff; border-color: #d8e6ff; }
.pmc__payopt.active { background: #1756ff; border-color: #1756ff; color: #fff; }
.pmc__payopt .gw-logo { width: 22px; height: 22px; object-fit: contain; border-radius: 5px; flex-shrink: 0; }
.pmc__payopt .title { font-weight: 600; font-size: .95rem; line-height: 1.25; word-break: break-word; flex: 1; }
.pmc__payopt .tick { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 20px; height: 20px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .75rem; color: #fff; background: #22c55e; opacity: 0; transition: .15s; }
.pmc__payopt.active .tick { opacity: 1; }
.pmc__payopt.active .title { color: #fff; }
.form--control { width: 100%; padding: .5rem .75rem; border: 1px solid #e5e7eb; border-radius: 8px; font-size: .95rem; }
.pmc__btn {
  width: 100%; height: 54px; border: none; border-radius: 12px;
  background: linear-gradient(135deg, #2e7bff 0%, #1158f1 100%); color: #fff; font-weight: 800; font-size: 1.05rem;
  box-shadow: 0 8px 18px rgba(17,88,241,.28); transition: transform .06s ease, box-shadow .2s ease; position: relative; overflow: hidden;
  cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
}
.pmc__btn:hover:not(:disabled) { box-shadow: 0 12px 22px rgba(17,88,241,.33); filter: brightness(1.02); }
.pmc__btn:disabled { opacity: .55; cursor: not-allowed; }
.pmc__btn:active { transform: scale(.985); }
.pmc__shine { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
@media (max-width: 575.98px) { .pmc__form { grid-template-columns: 1fr; gap: 10px; } }
