/* 商盾码 — 悬停进出动画 */

.ucodePage .ucodeNavBtn,
.scodeMod1IconItem,
.scodeMod2Media img,
.scodeMod2Content,
.scodeMod3Item,
.scodeMod3Item img,
.scodeMod4Img,
.scodeMod5Tab,
.scodeMod5Card,
.scodeMod5Card img,
.scodeMod6Item,
.scodeMod6Item > img,
.scodeMod7Gallery img,
.scodeMod8NavBtn,
.scodeMod8Banner,
.ucodeMod12Grid > img {
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease, opacity 0.35s ease, color 0.25s ease, background-color 0.35s ease, filter 0.35s ease;
}

.ucodePage .ucodeNavBtn:hover {
    transform: scale(1.08);
    opacity: 0.92;
}

.ucodePage .ucodeNavBtn:active {
    transform: scale(0.96);
}

.scodeMod1IconItem:hover {
    transform: translateY(-8px);
}

.scodeMod1IconItem:hover img {
    transform: scale(1.06);
    filter: drop-shadow(0 10px 18px rgba(15, 35, 95, 0.14));
}

.scodeMod1IconItem img {
    transition: transform 0.35s ease, filter 0.35s ease;
}

.scodeMod2Media:hover img {
    transform: scale(1.03);
    filter: drop-shadow(0 12px 24px rgba(15, 35, 95, 0.12));
}

.scodeMod2Content:hover .scodeMod2ItemTitle {
    color: #2F6BFF;
}

.scodeMod2ItemTitle {
    transition: color 0.25s ease;
}

.scodeMod3Item {
    cursor: default;
}

.scodeMod3Item:hover {
    transform: translateY(-10px);
    box-shadow: 0 16px 32px rgba(15, 35, 95, 0.12);
}

.scodeMod3Item:hover img {
    transform: scale(1.06);
}

.scodeMod4Img:hover {
    transform: scale(1.01);
    filter: drop-shadow(0 12px 24px rgba(15, 35, 95, 0.1));
}

.scodeMod5Tab:hover {
    transform: translateY(-2px);
    opacity: 0.92;
}

.scodeMod5Card:hover {
    transform: translateY(-8px);
    box-shadow: 0 14px 28px rgba(47, 107, 255, 0.12);
}

.scodeMod5Card:hover img {
    transform: scale(1.04);
}

.scodeMod5Card:hover .scodeMod5CardTitle {
    color: #2F6BFF;
}

.scodeMod5CardTitle {
    transition: color 0.25s ease;
}

.scodeMod6Item:hover {
    transform: translateY(-10px);
    box-shadow: 0 16px 32px rgba(15, 35, 95, 0.12);
}

.scodeMod6Item:hover > img {
    transform: scale(1.05);
}

.scodeMod6Item:hover .scodeMod6ItemTitle {
    color: #2F6BFF;
}

.scodeMod6ItemTitle {
    transition: color 0.25s ease;
}

.scodeMod7Gallery img:hover {
    transform: scale(1.03);
    filter: drop-shadow(0 10px 20px rgba(15, 35, 95, 0.14));
    z-index: 2;
}

.scodeMod8NavBtn:hover {
    transform: scale(1.08);
    opacity: 0.92;
}

.scodeMod8NavBtn:active {
    transform: scale(0.96);
}

.scodeMod8Banner:hover {
    transform: scale(1.02);
}

.ucodePage .ucodeMod12Grid > img:hover {
    transform: scale(1.06);
    filter: drop-shadow(0 8px 16px rgba(15, 35, 95, 0.14));
    z-index: 2;
}

@media (prefers-reduced-motion: reduce) {
    .ucodePage .ucodeNavBtn,
    .scodeMod1IconItem,
    .scodeMod1IconItem img,
    .scodeMod2Media img,
    .scodeMod2Content,
    .scodeMod2ItemTitle,
    .scodeMod3Item,
    .scodeMod3Item img,
    .scodeMod4Img,
    .scodeMod5Tab,
    .scodeMod5Card,
    .scodeMod5Card img,
    .scodeMod5CardTitle,
    .scodeMod6Item,
    .scodeMod6Item > img,
    .scodeMod6ItemTitle,
    .scodeMod7Gallery img,
    .scodeMod8NavBtn,
    .scodeMod8Banner,
    .ucodeMod12Grid > img {
        transition: none !important;
    }

    .ucodePage .ucodeNavBtn:hover,
    .scodeMod1IconItem:hover,
    .scodeMod1IconItem:hover img,
    .scodeMod2Media:hover img,
    .scodeMod3Item:hover,
    .scodeMod3Item:hover img,
    .scodeMod4Img:hover,
    .scodeMod5Tab:hover,
    .scodeMod5Card:hover,
    .scodeMod5Card:hover img,
    .scodeMod6Item:hover,
    .scodeMod6Item:hover > img,
    .scodeMod7Gallery img:hover,
    .scodeMod8NavBtn:hover,
    .scodeMod8Banner:hover,
    .ucodePage .ucodeMod12Grid > img:hover {
        transform: none !important;
        filter: none !important;
    }
}
