/* pc/article/product_details.html · style block 3 */
.carousel-container {
            width: 40%;
            padding: 20px 20px;
        }
        .carousel-image {
            width: 100%;
            transition: opacity 0.5s ease-in-out;
        }
        .carousel-thumbnail {
            display: inline-block;
            width: 126px;
            height: 126px;
            margin-right: 20px;
            cursor: pointer;
        }
        .carousel-thumbnails {
            margin-top: 10px;
            overflow-x: scroll;
            display: flex;
        }
        .carousel-thumbnails::-webkit-scrollbar {
            height: 5px;
            background-color: #f1f1f1;
        }
        .carousel-thumbnails::-webkit-scrollbar-thumb {
            background-color: #888;
        }
        .carousel-thumbnail:hover {
            border: 2px solid #000; /* 当鼠标悬停在缩略图上时添加边框*/
        }
        .tjyy {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            width: auto;
            min-width: 88px;
            height: 28px;
            padding: 0 12px;
            box-sizing: border-box;
            opacity: 1;
            border-radius: 4px;
            background: rgba(255, 141, 26, 1);
            font-size: 14px;
            font-weight: 500;
            letter-spacing: 0;
            line-height: 28px;
            color: rgba(255, 255, 255, 1);
            flex-shrink: 0;
        }
        .qcj {
            margin-left: 0;
            font-size: 24px;
            font-weight: 500;
            letter-spacing: 0px;
            line-height: 34.75px;
            color: rgba(0, 0, 0, 1);
            text-align: left;
            vertical-align: top;
        }
        .desc {
            margin-top: 20px;
            font-size: 13px;
            font-weight: 400;
            letter-spacing: 0px;
            line-height: 23.17px;
            color: rgba(0, 0, 0, 1);
            text-align: left;
            vertical-align: top;
        }
        .lll {
            font-size: 16px;
            font-weight: 400;
            letter-spacing: 0px;
            line-height: 23.17px;
            color: rgba(0, 0, 0, 1);
            text-align: left;
            vertical-align: top;
            margin-right: 15px;
        }
        .fff {
            font-size: 16px;
            font-weight: 400;
            letter-spacing: 0px;
            line-height: 23.17px;
            color: rgba(255, 87, 51, 1);
            text-align: left;
            vertical-align: top;
        }
        .kyms {
            font-size: 16px;
            font-weight: 400;
            letter-spacing: 0px;
            line-height: 23.17px;
            color: rgba(0, 0, 0, 1);
            text-align: left;
            vertical-align: top;
        }
        .red {
            font-size: 28px;
            font-weight: 700;
            letter-spacing: 0px;
            line-height: 52.13px;
            color: rgba(212, 48, 48, 1);
            text-align: left;
            vertical-align: top;
            white-space: nowrap;
            flex-shrink: 0;
        }
        .product-cost-price {
            align-self: end;
            margin-left: 8px;
            white-space: nowrap;
            flex-shrink: 0;
        }
        .product-main-card {
            border-radius: 12px;
            background: #fff;
            width: 81%;
            box-shadow: 0 2px 12px rgba(15, 35, 80, 0.04);
            overflow: hidden;
            position: relative;
            min-height: 420px;
        }
        .product-main-inner {
            display: flex;
            justify-content: space-between;
            align-items: stretch;
        }
        .product-detail-body {
            opacity: 0;
            transform: translateY(8px);
            transition: opacity .35s ease, transform .35s ease;
        }
        .product-main-card.is-loaded .product-detail-body {
            opacity: 1;
            transform: translateY(0);
        }
        .product-skeleton {
            display: flex;
            padding: 24px 20px;
            gap: 24px;
            box-sizing: border-box;
        }
        .product-skeleton.hidden {
            display: none;
        }
        .skeleton-block {
            background: linear-gradient(90deg, #f2f4f7 25%, #e9edf3 37%, #f2f4f7 63%);
            background-size: 400% 100%;
            animation: product-skeleton-loading 1.4s ease infinite;
            border-radius: 8px;
        }
        @keyframes product-skeleton-loading {
            0% { background-position: 100% 0; }
            100% { background-position: 0 0; }
        }
        .product-sk-left {
            width: 40%;
            padding: 0 8px;
            box-sizing: border-box;
        }
        .product-sk-cover {
            width: 100%;
            aspect-ratio: 1 / 1;
            max-height: 360px;
            border-radius: 10px;
        }
        .product-sk-thumbs {
            display: flex;
            gap: 12px;
            margin-top: 12px;
        }
        .product-sk-thumb {
            width: 72px;
            height: 72px;
            border-radius: 8px;
            flex-shrink: 0;
        }
        .product-sk-right {
            width: 60%;
            padding-right: 20px;
            box-sizing: border-box;
        }
        .product-sk-title-row {
            display: flex;
            align-items: center;
            gap: 12px;
            margin-bottom: 16px;
        }
        .product-sk-tag {
            width: 88px;
            height: 28px;
            border-radius: 4px;
            flex-shrink: 0;
        }
        .product-sk-title {
            height: 28px;
            flex: 1;
            max-width: 320px;
        }
        .product-sk-desc {
            height: 16px;
            width: 92%;
            margin-bottom: 10px;
        }
        .product-sk-desc.short {
            width: 70%;
            margin-bottom: 20px;
        }
        .product-sk-meta {
            height: 16px;
            width: 55%;
            margin-bottom: 14px;
        }
        .product-sk-meta.w40 { width: 40%; }
        .product-sk-meta.w65 { width: 65%; }
        .product-sk-tip {
            height: 48px;
            width: 100%;
            margin: 18px 0;
            border-radius: 6px;
        }
        .product-sk-price-row {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: 8px;
            padding-top: 16px;
            border-top: 1px solid #f0f2f5;
        }
        .product-sk-price {
            height: 32px;
            width: 140px;
        }
        .product-sk-stats {
            height: 16px;
            width: 160px;
        }
        .product-sk-buy {
            height: 52px;
            width: 185px;
            margin: 16px 0 0 auto;
            border-radius: 10px;
        }
        .product-detail-tabs {
            opacity: 0;
            transform: translateY(8px);
            transition: opacity .35s ease, transform .35s ease;
        }
        .product-detail-tabs.is-loaded {
            opacity: 1;
            transform: translateY(0);
        }
        .product-tabs-skeleton {
            margin-top: 25px;
            width: 81%;
            border-radius: 10px;
            background: #fff;
            padding: 20px 24px 28px;
            box-sizing: border-box;
            min-height: 280px;
        }
        .product-tabs-skeleton.hidden {
            display: none;
        }
        .product-sk-tabs {
            display: flex;
            justify-content: space-around;
            margin-bottom: 24px;
            padding-bottom: 12px;
            border-bottom: 1px solid #f0f2f5;
        }
        .product-sk-tab {
            height: 18px;
            width: 72px;
        }
        .product-sk-content-line {
            height: 14px;
            width: 100%;
            margin-bottom: 14px;
        }
        .product-sk-content-line.w80 { width: 80%; }
        .product-sk-content-line.w60 { width: 60%; }
        .product-sk-banner {
            height: 180px;
            width: 100%;
            margin-top: 20px;
            border-radius: 8px;
        }
        .product-info {
            width: 60%;
            padding: 24px 36px 24px 8px;
            position: relative;
            display: flex;
            flex-direction: column;
        }
        .product-title-row {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .presale-banner {
            display: none;
            margin: 14px 0 2px;
            padding: 12px 14px;
            border-radius: 10px;
            background: linear-gradient(135deg, #fff4e8 0%, #ffe8d6 100%);
            border: 1px solid rgba(255, 106, 0, 0.28);
            box-shadow: 0 2px 10px rgba(255, 106, 0, 0.08);
        }
        .presale-banner.is-show {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .presale-banner-badge {
            flex-shrink: 0;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 52px;
            height: 28px;
            padding: 0 12px;
            border-radius: 999px;
            background: linear-gradient(135deg, #ff8a1a 0%, #ff4d00 100%);
            color: #fff;
            font-size: 14px;
            font-weight: 700;
            letter-spacing: 1px;
            box-shadow: 0 2px 8px rgba(255, 77, 0, 0.35);
        }
        .presale-banner-text {
            flex: 1;
            min-width: 0;
            font-size: 14px;
            line-height: 1.5;
            color: #b34700;
            font-weight: 500;
        }
        .presale-banner-text strong {
            color: #ff4d00;
            font-weight: 700;
        }
        .product-meta-row {
            display: table;
            width: 100%;
            margin-top: 16px;
            font-size: 15px;
            color: #303133;
            line-height: 1.6;
            border-collapse: collapse;
        }
        .product-meta-label {
            display: table-cell;
            width: 1%;
            color: #606266;
            font-size: 15px;
            font-weight: 400;
            letter-spacing: 0 !important;
            word-spacing: 0 !important;
            white-space: nowrap;
            text-align: left;
            line-height: 22px;
            vertical-align: middle;
            padding-right: 10px;
        }
        .product-meta-vals {
            display: table-cell;
            width: 99%;
            vertical-align: middle;
        }
        .product-meta-vals-inner {
            display: flex;
            flex-direction: row;
            align-items: center;
            flex-wrap: wrap;
            gap: 6px;
        }
        .product-tip {
            margin-top: 16px;
            padding: 10px 12px;
            background: #fff7f6;
            border: 1px solid #ffd8d2;
            border-radius: 6px;
            font-size: 13px;
            color: #e34d59;
            line-height: 1.6;
        }
        .product-price-bar {
            display: flex;
            align-items: center;
            justify-content: space-between;
            margin-top: 20px;
            padding-top: 16px;
            border-top: 1px solid #f0f2f5;
        }
        .product-buy-wrap {
            width: 100%;
            margin-top: 16px;
            display: flex;
            justify-content: flex-end;
        }
        .site-picker-trigger {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 10px 14px;
            border: 1px solid #dcdfe6;
            border-radius: 8px;
            background: #fff;
            cursor: pointer;
            transition: border-color .2s, box-shadow .2s;
            min-height: 42px;
            max-width: 420px;
            width: 100%;
            box-sizing: border-box;
            margin-left: 0;
        }
        .site-picker-trigger:hover {
            border-color: #409eff;
            box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.12);
        }
        .site-picker-trigger.has-value {
            border-color: #409eff;
            background: #f5f9ff;
        }
        .site-picker-text {
            flex: 1;
            min-width: 0;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
            font-size: 14px;
            color: #909399;
        }
        .site-picker-trigger.has-value .site-picker-text {
            color: #303133;
            font-weight: 500;
        }
        .site-picker-action {
            flex-shrink: 0;
            font-size: 13px;
            color: #409eff;
            white-space: nowrap;
        }
        .site-modal-mask {
            display: none;
            position: fixed;
            z-index: 10001;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.45);
            align-items: center;
            justify-content: center;
        }
        .site-modal-mask.show {
            display: flex;
        }
        .site-modal {
            width: 560px;
            max-width: 92vw;
            max-height: 78vh;
            background: #fff;
            border-radius: 12px;
            box-shadow: 0 12px 40px rgba(0, 0, 0, 0.18);
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        .site-modal-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 18px 20px 12px;
            border-bottom: 1px solid #f0f2f5;
        }
        .site-modal-title {
            font-size: 18px;
            font-weight: 600;
            color: #303133;
        }
        .site-modal-close {
            width: 32px;
            height: 32px;
            border: none;
            background: transparent;
            font-size: 22px;
            line-height: 1;
            color: #909399;
            cursor: pointer;
            border-radius: 6px;
        }
        .site-modal-close:hover {
            background: #f5f7fa;
            color: #303133;
        }
        .site-modal-search {
            padding: 14px 20px;
            border-bottom: 1px solid #f0f2f5;
        }
        .site-search-input {
            width: 100%;
            height: 40px;
            padding: 0 14px;
            border: 1px solid #dcdfe6;
            border-radius: 8px;
            font-size: 14px;
            outline: none;
            box-sizing: border-box;
            transition: border-color .2s, box-shadow .2s;
        }
        .site-search-input:focus {
            border-color: #409eff;
            box-shadow: 0 0 0 2px rgba(64, 158, 255, 0.15);
        }
        .site-modal-list {
            flex: 1;
            overflow-y: auto;
            padding: 12px 16px 16px;
            min-height: 240px;
            max-height: 420px;
            scrollbar-width: thin;
            scrollbar-color: #c0c4cc transparent;
        }
        .site-modal-list::-webkit-scrollbar {
            width: 6px;
        }
        .site-modal-list::-webkit-scrollbar-track {
            background: transparent;
            margin: 6px 0;
        }
        .site-modal-list::-webkit-scrollbar-thumb {
            background: #c0c4cc;
            border-radius: 6px;
        }
        .site-modal-list::-webkit-scrollbar-thumb:hover {
            background: #909399;
        }
        .site-item {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 12px;
            padding: 14px 16px;
            margin-bottom: 10px;
            border-radius: 10px;
            border: 1px solid #ebeef5;
            background: #fff;
            box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
            cursor: pointer;
            transition: background .15s, border-color .15s, box-shadow .15s;
        }
        .site-item:last-child {
            margin-bottom: 0;
        }
        .site-item:hover:not(.disabled) {
            background: #f5f9ff;
            border-color: #b3d8ff;
            box-shadow: 0 2px 8px rgba(64, 158, 255, 0.12);
        }
        .site-item.active {
            background: #ecf5ff;
            border-color: #409eff;
            box-shadow: 0 0 0 1px rgba(64, 158, 255, 0.2), 0 2px 8px rgba(64, 158, 255, 0.12);
        }
        .site-item.disabled {
            opacity: 0.6;
            cursor: not-allowed;
            background: #f7f8fa;
            box-shadow: none;
        }
        .site-item-main {
            min-width: 0;
            flex: 1;
        }
        .site-item-name {
            font-size: 15px;
            font-weight: 500;
            color: #303133;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .site-item-domain {
            margin-top: 4px;
            font-size: 13px;
            color: #909399;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        .site-item-tag {
            flex-shrink: 0;
            font-size: 12px;
            padding: 2px 8px;
            border-radius: 4px;
            background: #fef0f0;
            color: #f56c6c;
        }
        .site-item-check {
            flex-shrink: 0;
            color: #409eff;
            font-size: 16px;
            font-weight: bold;
        }
        .site-empty, .site-loading {
            padding: 48px 20px;
            text-align: center;
            color: #909399;
            font-size: 14px;
        }
        .site-modal-footer {
            padding: 12px 20px 18px;
            border-top: 1px solid #f0f2f5;
            display: flex;
            justify-content: flex-end;
            gap: 10px;
        }
        .site-btn {
            padding: 8px 18px;
            border-radius: 6px;
            font-size: 14px;
            cursor: pointer;
            border: 1px solid #dcdfe6;
            background: #fff;
            color: #606266;
        }
        .site-btn-primary {
            background: #409eff;
            border-color: #409eff;
            color: #fff;
        }
        .site-btn-primary:hover {
            background: #66b1ff;
        }
        .gm {
            width: 158px;
            height: 56px;
            opacity: 1;
            border-radius: 10px;
            background: rgba(42, 130, 228, 1);
            color: rgba(255, 255, 255, 1);
            border: none;
            margin-top: 0;
            cursor: pointer;
            transition: background .2s, transform .15s;
        }
        .gm:hover {
            background: #409eff;
        }
        .zx {
            width: 300px;
            height: 400px;
            opacity: 1;
            border-radius: 10px;
            background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(235, 243, 255, 1) 100%);
            padding: 20px;
        }
        .prices::before {
            content: "";
            position: absolute;
            top: 20%;
            left: 0;
            right: 0;
            width: 100%;
            border-top: 1px solid rgba(166, 166, 166, 1);
            transform: rotate(8deg);
            transform-origin: top left;
        }
