* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    min-height: 100%;
}

body,
button,
input,
select,
textarea {
    font-family: 'Source Han Serif SC VF', "Microsoft YaHei", "PingFang SC", "Noto Serif SC", serif;
}

@view-transition {
    navigation: auto;
}

::view-transition-old(root),
::view-transition-new(root) {
    animation-duration: 0.6s;
    animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}

::view-transition-old(root) {
    animation-name: fade-out;
}

::view-transition-new(root) {
    animation-name: fade-in;
}

@keyframes fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fade-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

body {
    color: #d5b77e;
    background: #232527;
    font-size: 14px;
}

/* 图片加载过渡效果 */
img {
    opacity: 0;
    transition: opacity 0.5s ease-in-out, filter 0.5s ease-in-out;
    filter: blur(4px);
}

img.img-loaded {
    opacity: 1;
    filter: blur(0);
}

a {
    color: inherit;
    text-decoration: none;
}

.home-page {
    max-width: 900px;
    margin: 0 auto;
    padding: 28px 26px 36px;
}

.hero-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 0px !important;
    view-transition-name: hero-header;
}

.top-nav {
    display: flex;
    gap: 40px;
    align-items: center;
    font-size: 15px;
    letter-spacing: 2px;
}

    .top-nav a {
        position: relative;
        padding-right: 40px;
        font-weight: 700;
    }

        .top-nav a::before {
            content: "";
            position: absolute;
            top: -15px;
            bottom: -15px;
            left: -20px;
            right: -20px;
        }

        .top-nav a.active {
            color: #d3203d;
        }

        .top-nav a:not(:last-child)::after {
            content: "";
            position: absolute;
            top: 3px;
            right: 0;
            width: 2px;
            height: 16px;
            background: #d3203d;
        }

.brand-block {
    text-align: right;
}

.brand-logo {
    display: block;
    width: 120px;
    height: auto;
}

.home-content {
    text-align: center;
}

.hero {
    position: relative;
}

.hero-banner {
    width: 100%;
    margin: 0 auto 0;
    padding: 0 0 0;
    background: url("/images/shouye/home-slider-bg.jpg") center center / 100% auto no-repeat;
}

.hero-image {
    display: block;
    width: min(100%, 660px);
    margin: 0 auto;
    height: auto;
}

.hero-copy {
    margin: 10px auto 30px;
    font-size: 14px;
    line-height: 1.66;
    color: #dec393;
}

.product-row {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 12px;
    align-items: end;
}

.product-card {
    min-height: 210px;
    text-align: center;
}

.product-media {
    width: 100%;
    height: 170px;
    object-fit: contain;
}


.product-award {
    color: #dec393;
    transform: translateY(-20px);
}

.award-trophy {
    width: auto;
    max-width: 100%;
    height: 190px;
    margin: 0 auto 10px;
    object-fit: contain;
}

.product-award p {
    margin: 0;
    line-height: 1.35;
    font-size: 14px;
}

.home-footer {
    margin-top: 22px;
    padding-top: 14px;
    padding-bottom: 100px;
    border-top: 1px solid rgba(189, 156, 91, 0.36);
    font-size: 14px;
    font-weight: 700;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 18px;
}

@media (max-width: 1100px) {
    .hero-copy {
        font-size: clamp(16px, 2.2vw, 24px);
    }
}

@media (max-width: 900px) {
    .home-page {
        padding: 20px 16px 30px;
    }

    .hero-header {
        flex-direction: column;
        align-items: center;
    }

    .hero-banner {
        padding: 0px;
    }

    .brand-block {
        text-align: center;
    }

    .product-row {
        grid-template-columns: repeat(2, 1fr);
    }

    .product-media,
    .product-card:first-child .product-media,
    .product-card:last-child .product-media {
        height: 160px;
    }

    .award-trophy {
        height: 170px;
    }

    .brand-logo {
        width: 108px;
    }
}

/* --- 公共 Section Header 样式 --- */
.cft-section--dark {
    background-color: #d7d5d7;
}

.cft-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid #000;
    padding: 30px 10px 14px 10px;
    margin-bottom: 30px;
}

.cft-section-label {
    font-size: 20px;
    font-weight: bold;
    color: #1a1a1a;
    white-space: nowrap;
}

    .cft-section-label .product-bold {
        font-weight: bold;
    }

    .cft-section-label .separator {
        margin: 0 8px;
        color: #999;
        font-weight: normal;
    }

    .cft-section-label .sub-title {
        color: #1a1a1a;
        font-weight: bold;
    }

.cft-section-tabs {
    display: flex;
    align-items: center;
    gap: 40px;
    flex-wrap: wrap;
}

    .cft-section-tabs a {
        position: relative;
        color: #444;
        font-size: 18px;
        font-weight: 600;
        text-decoration: none;
        padding-bottom: 14px;
        margin-bottom: -15px;
        transition: color 0.2s;
    }

        .cft-section-tabs a::before {
            content: "";
            position: absolute;
            top: -15px;
            bottom: 0;
            left: -20px;
            right: -20px;
        }

        .cft-section-tabs a:hover,
        .cft-section-tabs a.active {
            /*    color: #d3203d;*/
        }

            .cft-section-tabs a.active::after {
                content: "";
                position: absolute;
                bottom: -3px;
                left: 0;
                width: 100%;
                height: 4px;
                background: #d3203d;
            }

@media (max-width: 900px) {
    .cft-section-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        padding-bottom: 0;
    }

    .cft-section-tabs {
        gap: 18px;
        width: 100%;
    }

        .cft-section-tabs a {
            margin-bottom: 0;
        }

            .cft-section-tabs a.active::after {
                bottom: 0;
            }
}

/* --- Scroll Animations --- */
.animate-on-scroll {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.animate-delay-1 { transition-delay: 0.1s; }
.animate-delay-2 { transition-delay: 0.2s; }
.animate-delay-3 { transition-delay: 0.3s; }
.animate-delay-4 { transition-delay: 0.4s; }
.animate-delay-5 { transition-delay: 0.5s; }
.animate-delay-6 { transition-delay: 0.6s; }
.animate-delay-7 { transition-delay: 0.7s; }
.animate-delay-8 { transition-delay: 0.8s; }
