/*
 * /dso-cooled-cameras 底部技术亮点模块
 * ------------------------------------------------------------
 * 设计目标：
 * 1. 彻底替换旧的海报式内联布局，改为可维护的卡片结构。
 * 2. 仅复用 root.css 中已有的颜色、圆角、阴影、间距和字体 token。
 * 3. 保证英文页和多语言页共享同一套结构与样式，不再出现结构漂移。
 */

.dso-overview-section {
    margin-top: var(--v2-gap-module-v-md);
    padding: var(--v2-spacing-xl);
    background: var(--v2-bg-functional);
    border-radius: 8px;
    box-shadow: var(--v2-shadow-card);
}

.dso-overview-header {
    margin-bottom: var(--v2-spacing-xl);
}

.dso-overview-kicker {
    margin: 0 0 var(--v2-spacing-sm);
    color: var(--v2-text-link);
    font-size: var(--v2-font-size-sm);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dso-overview-title {
    margin: 0 0 var(--v2-spacing-md);
    color: var(--v2-text-heading);
    font-size: var(--v2-h1-font-size);
    line-height: var(--v2-h1-line-height);
    font-weight: 500;
}

.dso-overview-intro {
    max-width: 880px;
    margin: 0;
    color: var(--v2-text-body);
    font-size: var(--v2-font-size-base);
    line-height: 24px;
}

.dso-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--v2-gap-card);
}

.dso-overview-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    overflow: hidden;
    background: var(--v2-bg-primary);
    border-radius: 8px;
    box-shadow: var(--v2-shadow-card);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.dso-overview-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--v2-shadow-card-hover);
}

/*
 * 图片区统一占满卡片宽度。
 * 这里采用固定横向比例来稳定三列卡片的节奏，
 * 同时让不同来源的横向技术图拥有统一承载面。
 */
.dso-overview-card-media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: var(--v2-bg-content);
}

.dso-overview-card-media picture,
.dso-overview-card-media img {
    display: block;
    width: 100%;
    height: 100%;
}

.dso-overview-card-media img {
    object-fit: cover;
}

.dso-overview-card-body {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: var(--v2-spacing-md);
    padding: var(--v2-spacing-lg);
}

.dso-overview-card-title {
    margin: 0;
    color: var(--v2-text-heading);
    font-size: 24px;
    line-height: 32px;
    font-weight: 500;
}

.dso-overview-card-text {
    margin: 0;
    color: var(--v2-text-body);
    font-size: var(--v2-font-size-base);
    line-height: 24px;
}

@media (max-width: 1199px) {
    .dso-overview-section {
        padding: var(--v2-spacing-lg);
    }

    .dso-overview-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .dso-overview-section {
        margin-top: var(--v2-gap-module-v-md);
        padding: var(--v2-spacing-md);
        border-radius: 8px;
    }

    .dso-overview-header {
        margin-bottom: var(--v2-spacing-lg);
    }

    .dso-overview-title {
        font-size: 24px;
        line-height: 32px;
    }

    .dso-overview-intro {
        font-size: var(--v2-font-size-base);
    }

    .dso-overview-grid {
        grid-template-columns: 1fr;
    }

    .dso-overview-card-body {
        padding: var(--v2-spacing-md);
    }

    .dso-overview-card-title {
        font-size: 20px;
        line-height: 28px;
    }
}
