.article-card {
    background-color: #fff !important;
    padding: 2.5rem 2rem;
    border-radius: 8px;
}

.img-layout-section-title {
    text-align: center;
    margin-top: 4.5rem;
    margin-bottom: 2.5rem;
}
.img-layout-section-title h1,
.img-layout-section-title h2, 
.img-layout-section-title h3 {
    font-size: 1.75rem;
    font-weight: 700;
    color: #111;
    display: inline-block;
    position: relative;
    padding-bottom: 0.85rem;
    margin: 0;
}
.img-layout-section-title h1::after,
.img-layout-section-title h2::after, 
.img-layout-section-title h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 35%;
    width: 30%;
    height: 4px;
    background-color: #007bff;
}

/* 顶部段落 */
.vibration-intro-text {
    color: #4a4a4a;
    line-height: 1.8;
    font-size: 1.05rem;
    text-align: justify;
}

/* 行业痛点分析卡片 */
.pain-point-card {
    background-color: #f8fafd;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 2.5rem 1.5rem;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03), 0 1px 3px rgba(0, 0, 0, 0.02);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.pain-point-icon-wrapper {
    position: relative;
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pain-point-icon-circle {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background-color: #ebf5ff;
    color: #007bff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.85rem;
    z-index: 2;
}
.pain-point-icon-wrapper::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 80px;
    height: 80px;
    border: 1.5px dashed #007bff;
    border-radius: 50%;
    animation: rotateDashed 20s linear infinite;
}
@keyframes rotateDashed {
    100% { transform: rotate(360deg); }
}
.pain-point-card h4 {
    font-size: 1.25rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 1rem;
    text-align: center;
}
.pain-point-card .desc-text {
    font-size: 0.95rem;
    color: #666;
    text-align: center;
    line-height: 1.6;
    min-height: 50px;
}
.pain-point-divider {
    border-top: 1px dotted #ccc;
    margin: 2rem 0;
}
.pain-point-card .solution-title {
    font-size: 1.1rem;
    font-weight: 700;
    color: #007bff;
    text-align: center;
    margin-bottom: 1.25rem;
}
.solution-pill {
    background-color: #ebf5ff;
    color: #0056b3;
    border-radius: 4px;
    padding: 0.55rem 1rem;
    margin-bottom: 0.75rem;
    font-size: 0.88rem;
    text-align: center;
    font-weight: 500;
}

/* 经典案例单项样式 */
.case-item-link {
    text-decoration: none;
    color: inherit;
    display: block;
    margin-bottom: 1.5rem;
}
.case-item-row {
    background-color: #f8fafd;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 1.5rem;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02), 0 1px 3px rgba(0, 0, 0, 0.01);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.case-item-link:hover .case-item-row {
    transform: translateY(-4px);
    background-color: #fff;
    border-color: #007bff;
    box-shadow: 0 12px 25px rgba(0, 123, 255, 0.08), 0 4px 10px rgba(0, 0, 0, 0.02);
}
.case-item-link:hover .hover-primary-title {
    color: #007bff !important;
}
.case-img-wrap {
    background-color: #f1f5f9;
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 16/10;
}
.case-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* 1. 按钮外层容器：负责居中和上下间距 */
.toggle-btn-wrapper {
    text-align: center;
    margin: 40px 0;
}

/* 2. 按钮基础样式 */
#btnToggleCases {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 10px 28px;
    font-size: 1.1rem;
    font-weight: 500;
    color: #4a4a4a;            /* 默认文字颜色 */
    background-color: #ffffff; /* 默认背景色 */
    border: 1px solid #e0e0e0; /* 浅灰色边框 */
    border-radius: 50px;       /* 胶囊圆角 */
    cursor: pointer;
    outline: none;
    transition: all 0.3s ease; /* 平滑过渡动画 */
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05); /* 淡淡的阴影 */
}

/* 3. 鼠标悬停时的样式 */
#btnToggleCases:hover {
    color: #ffffff;            /* 悬停时文字变白 */
    background-color: #0056b3; /* 悬停时背景变蓝色（可替换为您的主题色） */
    border-color: #0056b3;     /* 边框同步变蓝 */
    box-shadow: 0 4px 12px rgba(0, 86, 179, 0.15); /* 悬停阴影加深 */
    transform: translateY(-1px); /* 微微上移，增加点击反馈感 */
}

/* 4. 按钮活动（点击按下）时的状态 */
#btnToggleCases:active {
    transform: translateY(1px); /* 点击时微按下沉 */
}

/* 5. 图标样式微调 */
#btnToggleCases i {
    font-size: 1rem;
    display: inline-block;
    transition: transform 0.3s ease;
}
/* 关联系列产品卡 */
.product-series-link {
    text-decoration: none;
    color: inherit;
    display: block;
    height: 100%;
}
.product-series-card {
    background-color: #f8fafd;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    height: 100%;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.product-series-link:hover .product-series-card {
    transform: translateY(-4px);
    background-color: #fff;
    border-color: #007bff;
    box-shadow: 0 12px 25px rgba(0, 123, 255, 0.1);
}
.product-series-img-col {
    width: 40%;
    background: linear-gradient(180deg, #f1f5f9 0%, #e2e8f0 100%);
    padding: 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 1px solid #e2e8f0;
}
.product-series-img-col img {
    max-width: 95%;
    max-height: 160px;
    height: auto;
    object-fit: contain;
}
.product-series-info-col {
    width: 60%;
    padding: 2rem 1.5rem;
}
.product-series-info-col h4 {
    font-size: 1.35rem;
    font-weight: 700;
    color: #222;
    margin-bottom: 1.25rem;
    transition: color 0.3s ease;
}
.product-series-link:hover h4 {
    color: #007bff;
}