/* Product Details — Technical Specification HTML / Tables (Kehua 风格) */

/* Product Details — 各板块内容区统一宽度 */
.product-details-page .product-section-body {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

.product-details-page .product-hero-gallery {
    width: 100%;
    max-width: 100%;
}

/* 区块标题字体（与 Technical Specification 一致） */
.product-details-page .product-details-section-heading {
    font-family: 'MontserratMedium', sans-serif;
    font-weight: 700;
    color: #1e293b;
    line-height: 1.2;
    text-align: center;
}

.product-details-page h2.product-details-section-heading {
    font-size: 1.5rem;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    .product-details-page h2.product-details-section-heading {
        font-size: 2.25rem;
    }
}

.product-details-page h3.product-details-section-heading--card {
    font-size: 1.5rem;
    line-height: 1.33;
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 768px) {
    .product-details-page h3.product-details-section-heading--card {
        font-size: 1.875rem;
        line-height: 1.33;
    }
}

.product-details-page .product-overview-card__description {
    width: 100%;
    align-self: stretch;
    text-align: left;
}

.product-details-page .product-overview-card__desc-line {
    margin: 0;
    font-size: 0.75rem;
    line-height: 1.55;
    color: #64748b;
    text-align: left;
}

.product-details-page .product-overview-card__desc-line + .product-overview-card__desc-line {
    margin-top: 0.35rem;
}

@media (min-width: 768px) {
    .product-details-page .product-overview-card__desc-line {
        font-size: 0.8125rem;
        line-height: 1.5;
    }
}

.product-details-page .product-tech-spec-section .product-tech-spec,
.product-details-page .product-tech-spec-section .product-tech-panels,
.product-details-page .product-download-section .product-download-tabs-wrap,
.product-details-page .product-download-section .product-download-panels {
    width: 100%;
    max-width: 100%;
}

.product-details-page .product-related-section .product-related-section__grid {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

@media (min-width: 768px) {
    .product-details-page .product-related-section .product-related-section__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.25rem;
    }
}

.product-details-page .product-related-section .product-related-card {
    min-width: 0;
    width: 100%;
}

.product-details-page .product-spec-html {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
}

.product-details-page .product-spec-html table,
.product-details-page .product-spec-html .product-spec-table {
    width: 100%;
    min-width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border: 1px solid #1a1a1a;
    margin: 0;
    background: transparent;
    table-layout: auto;
}

.product-details-page .product-spec-html table th,
.product-details-page .product-spec-html table td {
    padding: 0.55rem 0.85rem;
    border: 1px solid #1a1a1a;
    vertical-align: middle;
    background: transparent;
    color: #1a1a1a;
    font-size: 0.9375rem;
    line-height: 1.45;
    text-align: left;
}

/* 第一行表头：红底白字 */
.product-details-page .product-spec-html table thead th,
.product-details-page .product-spec-html table tbody tr.spec-header th,
.product-details-page .product-spec-html table tbody tr.spec-header td,
.product-details-page .product-spec-html table:not(:has(thead)) > tbody > tr:first-child:not(.spec-section):not(:has([colspan="2"])) > th,
.product-details-page .product-spec-html table:not(:has(thead)) > tbody > tr:first-child:not(.spec-section):not(:has([colspan="2"])) > td {
    background: #a51212;
    color: #fff;
    font-weight: 700;
    text-align: center;
}

/* 分类行（Configuration 等）：无灰底，左对齐顶头 */
.product-details-page .product-spec-html tbody tr.spec-section th,
.product-details-page .product-spec-html tbody tr.spec-section td,
.product-details-page .product-spec-html tbody tr:has(> th[colspan="2"]:only-child),
.product-details-page .product-spec-html tbody tr:has(> td[colspan="2"]:only-child) {
    background: transparent;
    font-weight: 700;
    text-align: left !important;
}

/* 数据行：无背景，两列均左对齐 */
.product-details-page .product-spec-html tbody tr:not(.spec-section):not(.spec-header) th[scope="row"],
.product-details-page .product-spec-html tbody tr:not(.spec-section):not(.spec-header) th:first-child:not([colspan]) {
    font-weight: 700;
    text-align: left;
    width: 42%;
}

.product-details-page .product-spec-html tbody tr:not(.spec-section):not(.spec-header) td {
    font-weight: 400;
    text-align: left;
}

/* 脚注 */
.product-details-page .product-spec-html .spec-footnote,
.product-details-page .product-spec-html p.spec-footnote {
    margin: 0.65rem 0 0;
    font-size: 0.8125rem;
    line-height: 1.5;
    color: #1a1a1a;
    text-align: left;
}

@media (min-width: 768px) {
    .product-details-page .product-spec-html table th,
    .product-details-page .product-spec-html table td {
        padding: 0.65rem 1rem;
        font-size: 1rem;
    }
}

/* 非表格结构（兼容旧 div 列表） */
.product-details-page .product-spec-html > div {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid #1a1a1a;
}

@media (min-width: 640px) {
    .product-details-page .product-spec-html > div {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 1rem;
    }
}

.product-details-page .product-spec-html > div:last-child {
    border-bottom: 0;
}

.product-details-page .product-spec-html p:not(.spec-footnote) {
    margin: 0 0 1rem;
}

.product-details-page .product-spec-html p:not(.spec-footnote):last-child {
    margin-bottom: 0;
}

/* 中间自由排版区（Tech Spec 与 Download 之间，Text Block） */
.product-details-page .product-wpb-content {
    width: 100%;
}

.product-details-page .product-wpb-content .vc_row,
.product-details-page .product-wpb-content .wpb_row {
    margin-left: 0;
    margin-right: 0;
}

.product-details-page .product-middle-content-section .product-middle-content {
    width: 100%;
}

.product-details-page .product-middle-content > :first-child {
    margin-top: 0;
}

.product-details-page .product-middle-content > :last-child {
    margin-bottom: 0;
}

.product-details-page .product-middle-content h1,
.product-details-page .product-middle-content h2,
.product-details-page .product-wpb-content h1,
.product-details-page .product-wpb-content h2,
.product-details-page .product-wpb-content .vc_custom_heading,
.product-details-page .product-wpb-content .vc_custom_heading h2,
.product-details-page .product-wpb-content .wpb_text_column > h2:first-child {
    font-family: 'MontserratMedium', sans-serif !important;
    font-weight: 700 !important;
    color: #1e293b !important;
    line-height: 1.2 !important;
    text-align: center !important;
    font-size: 1.5rem !important;
    margin: 0 0 2.5rem !important;
}

@media (min-width: 768px) {
    .product-details-page .product-middle-content h1,
    .product-details-page .product-middle-content h2,
    .product-details-page .product-wpb-content h1,
    .product-details-page .product-wpb-content h2,
    .product-details-page .product-wpb-content .vc_custom_heading,
    .product-details-page .product-wpb-content .vc_custom_heading h2,
    .product-details-page .product-wpb-content .wpb_text_column > h2:first-child {
        font-size: 2.25rem !important;
        margin-bottom: 3rem !important;
    }
}

.product-details-page .product-middle-content img {
    max-width: 100%;
    height: auto;
}

.product-details-page .product-middle-content iframe,
.product-details-page .product-middle-content video {
    max-width: 100%;
}

.product-details-page .product-middle-content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.product-details-page .product-middle-content .alignright {
    float: right;
    margin: 0 0 1rem 1.5rem;
}

.product-details-page .product-middle-content .alignleft {
    float: left;
    margin: 0 1.5rem 1rem 0;
}
