/* 全局样式重置 */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-size: 18px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* 首页：滚入「店型及选址」时整屏对齐到该区块（固定导航留白） */
html:has(body.home-page) {
    scroll-snap-type: y proximity;
    scroll-padding-top: 72px;
}

/* 数据统计 ↔ 品牌优势：与全站首页分段一致，滑动可对齐整屏 */
.home-page .products,
.home-page .brand-advantage-container {
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

/* 移动端：取消整屏吸附，保持自然连续滚动（与 initHomeWheelSnap 的 max-width:991 一致） */
@media (max-width: 991px) {
    html:has(body.home-page) {
        scroll-snap-type: none;
        scroll-padding-top: 0;
    }

    .home-page .products,
    .home-page .brand-advantage-container,
    .home-page .store-type,
    .home-page .partner-section {
        scroll-snap-align: none;
        scroll-snap-stop: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    html:has(body.home-page) {
        scroll-snap-type: none;
    }
}

body {
    font-family: 'Arial', sans-serif;
    line-height: 1.6;
    font-size: 1rem;
    overflow-x: hidden;
    width: 100%;
}

/* 首页常规文字统一为 1rem（不影响标题类） */
/* .home-page p,
.home-page li,
.home-page a,
.home-page button,
.home-page .nav-item,
.home-page .brand-subtitle,
.home-page .support-subtitle,
.home-page .about-new-subtitle-en,
.home-page .about-card-item-desc,
.home-page .stat-label,
.home-page .timeline-text,
.home-page .opening-card-title,
.home-page .store-type-subtitle,
.home-page .store-type-features li,
.home-page .partner-requirements li {
    font-size: 1rem;
} */

/* 响应式字体大小 - 中屏 */
@media (max-width: 1200px) {
    html {
        font-size: 16px;
    }

}

/* 响应式字体大小 - 小屏及移动端 */
@media (max-width: 768px) {
    html {
        font-size: 16px;
    }
}

/* 导航栏样式 - 置顶状态 */
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 18%;
    z-index: 9999;
    background: transparent;
    transition: all 0.3s ease;
}

/* 首页导航栏透明样式 */
.home-page .navbar {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
}

.navbar.scrolled {
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* 招商加盟：置顶与滚动均为白底，字色与普通/激活见下方 .other-page 规则 */
.navbar.other-page {
    background: rgba(255, 255, 255, 1);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.logo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

a.logo {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.logo img {
    height: 36px;
    width: 104px;
}

.logo-text {
    font-size: 24px;
    font-weight: bold;
    color: rgba(255, 255, 255, 0.9);
    transition: color 0.3s ease;
}



.logo-eng {
    font-size: 12px;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 2px;
    transition: color 0.3s ease;
}

.navbar.scrolled .logo-eng,
.navbar.other-page .logo-eng {
    color: #616261;
}

.nav-menu {
    display: flex;
    list-style: none;
}

.nav-item {
    margin: 0 20px;
    font-size: 16px;
    color: rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: color 0.3s ease;
    position: relative;
}

.navbar.scrolled .nav-item,
.navbar.other-page .nav-item {
    color: #616261;
}

.nav-item a {
    color: inherit;
    text-decoration: none;
}

/* 统一所有页面导航栏字号（首页与其他页面一致） */
.navbar .nav-item,
.navbar .nav-item a {
    font-size: 16px;
}

.nav-item:hover {
    color: white;
}

.navbar.scrolled .nav-item:hover,
.navbar.other-page .nav-item:hover {
    color: #4CAF50;
}

.nav-item.active {
    color: #fff;
    font-weight: bold;
}

.navbar.scrolled .nav-item.active,
.navbar.other-page .nav-item.active {
    color: #2d1f20;
    font-weight: bold;
}

.navbar.scrolled .nav-item.active::after,
.navbar.other-page .nav-item.active::after {
    content: '';
    position: absolute;
    bottom: -18px;
    left: 50%;
    width: 50%;
    height: 4px;
    transform: translateX(-50%);
    background-color: #2c8e3a;
    border-radius: 2px;
}

/* 下拉菜单样式 */
.nav-dropdown {
    position: relative;
}

.nav-dropdown .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    padding: 10px 0;
    min-width: 160px;
    opacity: 0;
    visibility: hidden;
    transform: translateX(-50%) translateY(10px);
    transition: all 0.3s ease;
    z-index: 1000;
    margin-top: 5px;
}

.nav-dropdown:hover .dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) translateY(0);
}

.dropdown-item {
    list-style: none;
}

.dropdown-item a {
    display: block;
    padding: 10px 20px;
    font-size: 0.8333rem;
    color: #616261;
    text-decoration: none;
    transition: all 0.3s ease;
}

.dropdown-item a:hover {
    background-color: #f5f5f5;
    color: #4CAF50;
}

.contact-btn {
    background-color: #2C8E3A;
    color: rgba(255, 255, 255, 1);
    border: none;
    padding: 6px 14px 8px 14px;
    border-radius: 4px;
    font-size: 15px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.contact-btn:hover {
    background-color: rgba(44, 142, 58, 0.9);
}

.mobile-header-contact-btn {
    display: none;
}

/* 主横幅样式 */
.hero {
    height: 100vh;
    position: relative;

    overflow: hidden;
}

.hero-carousel {
    display: flex;
    height: 100%;
    transition: transform 0.5s ease-in-out;
}

.hero-slide {
    position: relative;
    min-width: 100%;
    width: 100%;
    height: 100%;
    flex-shrink: 0;
    overflow: hidden;
}

/* 轮播每一屏：以幻灯片为视口，图片始终从正中心裁剪（配合 translateX 轮播逻辑） */
.hero-slide img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.hero-dots {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

/* 主横幅底部：向下滚动提示 + 品牌短语（叠在轮播之上） */
.hero-bottom-hint {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 6;
    padding: 28px 20px 52px;
    pointer-events: none;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.12) 55%, transparent 100%);
}

.hero-bottom-hint-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    max-width: 720px;
    margin: 0 auto;
}

.hero-readmore {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-height: 52px;
}

.hero-readmore-img {
    width: auto;
    height: 52px;
    max-width: 80px;
    object-fit: contain;
    display: block;
    animation: hero-readmore-drift 2s cubic-bezier(0.33, 0, 0.2, 1) infinite;
}

@keyframes hero-readmore-drift {
    0% {
        opacity: 1;
        transform: translateY(0);
    }

    58% {
        opacity: 0;
        transform: translateY(28px);
    }

    59%,
    100% {
        opacity: 0;
        transform: translateY(0);
    }
}

.hero-bottom-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 20px;
    font-size: 0.8889rem;
    letter-spacing: 0.12em;
    color: #fff;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.hero-bottom-tags-sep {
    width: 1px;
    height: 12px;
    background: rgba(255, 255, 255, 0.45);
    flex-shrink: 0;
}

.hero-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.5);
    cursor: pointer;
    transition: all 0.3s ease;
}

.hero-dot.active {
    background-color: #fff;
    width: 30px;
    border-radius: 6px;
}

.hero-dot:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    color: white;
    max-width: 800px;
}

.hero-subtitle {
    font-size: 0.8889rem;
    margin-bottom: 20px;
    letter-spacing: 1px;
}

.hero-title {
    font-size: 2.6667rem;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.2;
}

.hero-title-eng {
    font-size: 1rem;
    margin-bottom: 40px;
    letter-spacing: 1px;
    text-transform: uppercase;
}

.hero-features {
    display: flex;
    justify-content: center;
    gap: 40px;
    margin-top: 40px;
}

.feature-item {
    font-size: 0.8889rem;
    letter-spacing: 1px;
}

/* 关于我们新样式 */
.about-new {
    position: relative;
    min-height: 100vh;
    width: 100%;
    margin: 0 auto;
    padding: 8vh 0px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding-top: 12vh;
    max-height: 800px;
}

.about-new-container {
    max-width: 1200px;
    margin: 0 auto;
}



.about-new-content {
    width: 100%;
    position: relative;
    z-index: 2;
    display: flex;
    max-width: 75rem;
    justify-content: space-between;
    align-items: flex-start;
    padding-bottom: 3rem;
    margin: 0 auto;

}

.about-new-left {
    flex: 1;
    max-width: 700px;
}

.about-new-subtitle-en {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    letter-spacing: 2px;
    margin-bottom: 10px;
}

.about-new-title {
    font-size: 2.6667rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 20px;
}

.about-new-desc {
    font-size: 0.8889rem;
    line-height: 2;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 30px;
}

.about-new-btn {
    padding: 12px 30px;
    font-size: 1rem;
    background-color: #2c8e3a;
    color: #fff;
    border: none;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.about-new-btn:hover {
    background-color: #45a049;
}

.about-new-right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
    padding-right: 50px;
}

.about-art-text {
    position: relative;
    text-align: right;
}

.art-text-main {
    display: block;
    font-size: 4.4444rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.1;
    font-family: 'Ma Shan Zheng', cursive;
}

.art-text-sub {
    display: block;
    font-size: 3.3333rem;
    font-weight: bold;
    color: #fff;
    line-height: 1.1;
    font-family: 'Ma Shan Zheng', cursive;
}

.art-text-en {
    display: block;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    margin-top: 5px;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.art-text-en-sub {
    display: block;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.9);
    text-transform: uppercase;
    letter-spacing: 1px;
}

.about-new-card {
    position: absolute;
    left: 50%;
    bottom: 60px;
    transform: translateX(-50%);
    z-index: 2;
    background-color: #fff;
    border-radius: 1.25rem;
    padding: 2.5rem;
    max-width: 1200px;
    width: min(1200px, calc(100% - 40px));
    box-shadow: 0 1.25rem 3.75rem rgba(0, 0, 0, 0.1);
    margin: 0;
}

.about-card-header {
    margin-bottom: 25px;
}

.about-card-title {
    font-size: 1.3333rem;
    font-weight: bold;
    color: #131614;
}

.about-card-content {
    margin-bottom: 30px;
}

.about-card-desc {
    font-size: 0.8889rem;
    line-height: 1.8;
    color: #616261;
}

.about-card-bottom {
    display: flex;
    gap: 60px;
    padding-top: 25px;
    border-top: 1px solid #f0f0f0;
}

.about-card-item {
    flex: 1;
}

.about-card-item-title {
    font-size: 1rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 10px;
}

.about-card-item-desc {
    font-size: 0.8333rem;
    color: #616261;
}

/* 响应式 - 关于我们板块 */
@media (max-width: 1250px) {
    .case-text {
        padding: 0 12px !important;
    }

    .about-new {
        min-height: auto;
        padding-top: 72px;
        padding-bottom: 56px;
    }

    .about-new-container {
        padding: 0rem 1.25rem;
    }

    .about-new-content {
        flex-direction: column;
        padding-bottom: 28px;
    }

    .about-new-right {
        margin-top: 40px;
        justify-content: center;
        padding-right: 0;
    }

    .about-new-card {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        padding: 30px 24px;
    }

    .art-text-main {
        font-size: 3.3333rem;
    }

    .art-text-sub {
        font-size: 2.6667rem;
    }
}

/* 1280*800 等中屏：拉开按钮与下方卡片间距，避免视觉拥挤 */
@media (min-width: 1024px) and (max-width: 1366px) and (max-height: 900px) {
    .about-new {
        padding-top: 64px;
        padding-bottom: 88px;
    }

    .about-new-content {
        padding-bottom: 46px;
    }

    .about-new-btn {
        margin-bottom: 8px;
    }

    .about-new-card {
        margin-top: 16px;
    }
}

@media (max-width: 768px) {
    .about-new-container {
        padding: 3.75rem 1.25rem;
    }

    .about-new-title {
        font-size: 2rem;
    }

    .about-new-card {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: none;
        margin: 0 auto;
        padding: 30px 25px;
    }

    .about-card-bottom {
        flex-direction: column;
        gap: 30px;
    }
}

/* 公司概况样式 */
.company-content {
    display: flex;
    gap: 60px;
    align-items: center;
}

.company-left {
    flex: 1;
}

.company-left img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 16px;
}

.company-right {
    flex: 1;
}

.company-title {
    font-size: 1.5556rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 20px;
}

.company-desc {
    font-size: 0.8889rem;
    line-height: 1.8;
    color: #616261;
}

/* 发展历程：俯瞰森林公路背景 + 沿路锚点（与 about 页 JS 中 history-milestone 结构对应） */
.history-section {
    background-image: url('https://oss.mhdos.com/www/manwei/static/aboutend.png');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    padding: 3.5rem 2rem 4rem;
    position: relative;
    margin-top: 40px;
}

.history-section-media {
    display: none;
}

.history-section-media img {
    width: 100vw;
    height: auto;
    display: block;
}

.history-container {
    margin: 0 auto;
    padding: 0;
    position: relative;
    z-index: 1;
    max-width: 1400px;
}

.history-header {
    text-align: left;
    margin-bottom: 2.25rem;
    color: #fff;
}

.history-subtitle {
    font-size: 0.8125rem;
    color: rgba(255, 255, 255, 0.92);
    letter-spacing: 0.14em;
    margin-bottom: 0.4rem;
    line-height: 1.35;
    font-weight: 400;
    text-transform: none;
}

.history-title {
    font-size: 1.875rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0.08em;
    margin: 0;
}

/* 时间轴画布：沿路绝对定位锚点（上下两排需足够高度以交错排布） */


#historyMobileStack {
    display: none;
}

#historyMobileCarousel {
    display: none;
}

.history-milestone {
    --history-dot-size: 8px;
    --history-line-x: 6px;
    --history-stem-to-road: 3.25rem;
    --history-stem-below-text: 2.35rem;
    position: absolute;
    left: var(--m-left, 50%);
    top: var(--m-top, 10%);
    transform: translateX(-50%);
    width: 14rem;
    max-width: min(30vw, 280px);
    z-index: 2;
    color: #fff;
    text-align: left;
}

/* 上排：一条连续竖线 + 底端唯一路面圆点 */
.history-milestone__inner--above {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.65rem;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    padding-bottom: var(--history-stem-to-road);
}

.history-milestone__track-spacer {
    width: 12px;
    flex: 0 0 12px;
    flex-shrink: 0;
}

.history-milestone__inner--above .history-milestone__line-above {
    position: absolute;
    left: var(--history-line-x);
    top: 0;
    bottom: var(--history-dot-size);
    width: 2px;
    margin-left: -1px;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 1px;
}

.history-milestone__inner--above .history-milestone__dot-road {
    position: absolute;
    left: var(--history-line-x);
    bottom: 0;
    transform: translateX(-50%);
    width: var(--history-dot-size);
    height: var(--history-dot-size);
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
}

/* 下排：圆点在上（路面），竖线向下，线底与年份顶对齐 */
.history-milestone__inner--below {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 0.65rem;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}

.history-milestone__track-col--below {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 12px;
    flex: 0 0 12px;
    flex-shrink: 0;
    gap: 0;
}

.history-milestone__inner--below .history-milestone__dot-road {
    display: block;
    width: var(--history-dot-size);
    height: var(--history-dot-size);
    border-radius: 50%;
    background: #ffffff;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
    flex-shrink: 0;
}

.history-milestone__line-below {
    width: 2px;
    height: var(--history-stem-below-text);
    margin-top: 0;
    background: rgba(255, 255, 255, 0.94);
    border-radius: 1px;
    flex-shrink: 0;
}

.history-milestone__inner--below .history-milestone__body {
    flex: 1;
    min-width: 0;
    text-align: left;
    margin-top: calc(var(--history-dot-size) + var(--history-stem-below-text));
}

.history-milestone__body {
    flex: 1;
    min-width: 0;
    text-align: left;
}

.history-year-number {
    display: block;
    font-size: 1.625rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 0.45rem;
    line-height: 1.15;
}

.history-year-desc {
    font-size: 0.875rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.96);
    margin: 0;
    font-weight: 400;
}

@media (max-width: 992px) {


    .history-title {
        font-size: 1.625rem;
    }

    .history-year-number {
        font-size: 1.45rem;
    }

    .history-year-desc {
        font-size: 0.8125rem;
    }

    .history-timeline--road {
        min-height: 420px;
    }

    .history-milestone {
        width: 12.5rem;
        max-width: min(28vw, 240px);
        --history-stem-to-road: 2.85rem;
        --history-stem-below-text: 2rem;
    }


}

/* 企业文化样式 */
.culture-content {
    text-align: center;
}

.culture-header {
    margin-bottom: 1.5rem;
}

.culture-subtitle {
    font-size: .9rem;
    color: #616261;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-family: PingFang TC, PingFang TC;
}

.culture-title {
    font-size: 1.5rem;
    font-weight: bold;
    color: #131614;
}

.culture-cards {
    display: flex;
    justify-content: center;
    margin-bottom: 1.5rem;
    width: 100%;
    border-radius: 12px;
}

.culture-card {
    background-color: #fff;
    padding: 30px 50px;

    width: 50%;
}

.culture-card-title {
    font-size: 0.8889rem;
    color: #616261;
    margin-bottom: 10px;
}

.culture-card-desc {
    font-size: 1.1111rem;
    font-weight: bold;
    color: #131614;
}



.culture-image-item {
    flex: 1;
    position: relative;
    overflow: hidden;
    transition: flex 0.5s ease;
}

.culture-image-item:hover {
    flex: 2;
}

.culture-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.culture-image-item:hover img {
    transform: scale(1.05);
}

.culture-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 20px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    color: #fff;
}

.culture-image-title {
    font-size: 0.8889rem;
    font-weight: bold;
    margin-bottom: 8px;
}

.culture-image-text {
    font-size: 0.7222rem;
    line-height: 1.5;
    opacity: 0.9;
}

/* 数据统计样式 */
.products {
    position: relative;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    overflow: hidden;
    background-image: url('https://oss.mhdos.com/www/manwei/static/home3.png');
    background-size: cover;
    background-position: center center;
}

/* 小屏统计文案多行时：允许区块增高，避免被 overflow 与固定高度裁切 */
@media (max-width: 768px) {
    .home-page .products {
        overflow: visible;
        min-height: auto;
    }
}





.products-container {
    position: relative;
    z-index: 1;
    max-width: 1200px;
    width: 100%;
    padding: 5rem 3.125rem 3.125rem 3.125rem;
    color: #fff;
    padding-top: 11vh;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

.products-container .stats-date {
    position: relative;
    z-index: 2;
    font-size: 14px;
    color: #fff;
    font-family: PingFang SC, PingFang SC;
    text-align: center;
    max-width: 100%;
    margin-top: auto;
    padding: 1.5rem 16px 0;
    box-sizing: border-box;
    line-height: 1.45;
    word-break: break-word;
}


.stats-header {
    text-align: center;
    margin-bottom: 4.375rem;
}

.stats-title {
    font-family: PingFang TC, PingFang TC;
    font-size: 2.25rem;
    font-weight: 500;
    margin-bottom: 0rem;
}

.stats-grid {
    display: flex;
    justify-content: center;
    gap: 7.5rem;
    margin-bottom: 4rem;
}

.stat-item {
    text-align: center;
}

.stat-number {
    font-size: 4rem;
    font-weight: bold;
    line-height: 1;
    margin-bottom: .625rem;
    position: relative;
    display: inline-block;
}

.stat-arrow {
    font-size: 1.25rem;
    position: absolute;
    top: .375rem;
    right: -30px;
    color: #fff;
    font-family: PingFang SC, PingFang SC;
}

.stat-plus {
    font-size: 1.5rem;
    position: absolute;
    top: 0;
    right: -25px;
    color: #fff;
    font-family: PingFang SC, PingFang SC;
}

.stat-label {
    font-size: 1rem;
    opacity: 0.9;
}

.timeline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    margin: 0 auto;
    max-width: 1000px;
}

.timeline::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 50px;
    height: 1px;
    background: rgba(255, 255, 255, 0.3);
    transform: translateY(-50%);
}

.timeline-arrow {
    margin-top: -2px;
    color: #fff;


}

.timeline-item {
    min-width: 230px;
    position: relative;
    text-align: center;
    flex: 1;
    padding: 0 15px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 2;
}

.timeline-year {
    font-size: 1.125rem;
    font-weight: 500;
    margin-bottom: 1.5rem;
    position: relative;
    font-family: PingFang TC, PingFang TC;
    z-index: 2;
    color: #fff;
}

.timeline-dot {
    width: 14px;
    height: 14px;
    background: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    z-index: 2;
    border: 2px solid white;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.timeline-text {
    font-size: .875rem;
    opacity: 0.9;
    margin-top: 1.5rem;
    color: #fff;
    line-height: 1.6;
}

.brand-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
}

.brand-header {
    text-align: center;

}

.brand-advantage-grid {
    width: 100%;
    margin-top: 1.5rem;
}

.brand-advantage-item {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1rem 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.brand-advantage-item:last-child {
    border-bottom: none;
}

.brand-advantage-number {
    flex-shrink: 0;
    font-weight: 700;
    color: #2c8e3a;
}

.brand-advantage-body {
    flex: 1;
}

.brand-advantage-item-title {
    font-size: 1.1rem;
    margin: 0 0 0.5rem;
    color: #131614;
}

.brand-advantage-item-desc {
    margin: 0;
    font-size: 0.95rem;
    line-height: 1.6;
    color: #616261;
}

.brand-subtitle {
    font-size: .9rem;
    color: #616261;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-family: PingFang TC, PingFang TC;
}

.brand-advantage-container {
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 60px 0;
    background: linear-gradient(to bottom, #f6ffed 0%, #fffffe 50%, #ffffff 100%);
    box-sizing: border-box;
}

.brand-title {
    font-size: 2rem;
    font-weight: bold;
    color: #131614;
}

.brand-image {
    flex: 1;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
}

.brand-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* 门店展示轮播图样式 */
.store-carousel {
    padding: 70px 0 35px 0;
    overflow-x: hidden;
    width: 100%;
}

.brand-advantage-container .carousel-container {
    padding: 0;
    width: 100%;
    max-width: 100vw;
    overflow: hidden;
}

.carousel-wrapper {
    overflow: visible;
    border-radius: 16px;
    position: relative;
    margin-bottom: 60px;
    width: 100%;
}

.carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    width: 100%;
    align-items: center;
    gap: 2vw;
    will-change: transform;
}

.carousel-slide {
    flex-shrink: 0;
    transition: all 0.5s ease-in-out;
    border-radius: 16px;
    overflow: hidden;
    margin-right: 0;
    width: 72vw;
    flex: 0 0 auto;
}

/* 品牌优势轮播：底部指示器 + 左右圆形按钮 */
.carousel-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin: 0 auto;
    width: fit-content;
}

.carousel-page-btn {
    width: 44px;
    height: 44px;
    border-radius: 999px;
    background-color: #f5f5f7;
    border: 1px solid #f5f5f7;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #2D1F20;
    transition: transform 0.2s ease, background-color 0.2s ease;

}

.carousel-page-btn:hover {
    background-color: #fff;
    transform: scale(1.05);
}

/* 大中小屏适配：控制 slide 宽度 */
@media (min-width: 1200px) {
    .brand-advantage-container .carousel-slide {
        width: 46vw;
    }

    .brand-advantage-container .carousel-track {
        gap: 1.5vw;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .brand-advantage-container .carousel-slide {
        width: 56vw;
    }

    .brand-advantage-container .carousel-track {
        gap: 2vw;
    }
}

@media (max-width: 767.98px) {
    .brand-advantage-container .carousel-slide {
        width: 84vw;
    }

    .brand-advantage-container .carousel-track {
        gap: 3vw;
    }

    .carousel-page-btn {
        width: 36px;
        height: 36px;
    }
}

.carousel-slide img {
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    display: block;
}

.carousel-controls {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 20px;
    pointer-events: none;
    z-index: 10;
}

.carousel-btn {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: rgba(255, 255, 255, 0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #333;
    pointer-events: auto;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.carousel-btn:hover {
    background-color: #fff;
    transform: scale(1.1);
}

.carousel-dots {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 10px 20px;
    border-radius: 30px;
    backdrop-filter: blur(10px);
    max-width: fit-content;
    margin: 0 auto;
}

.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #bbb;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-dot.active {
    background-color: #666;
    border-radius: 10px;
}

.carousel-dot:hover {
    background-color: #888;
}

/* 产品展示样式 */
.product-showcase {
    background-image: url('https://oss.mhdos.com/www/manwei/static/productbanner.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: background-image 0.5s ease-in-out;
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;

}

.product-showcase::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
    z-index: 0;
}


.showcase-container {
    margin: 0 auto;
   
    max-width: 1200px;
    display: flex;
    gap: 60px;
    position: relative;
    z-index: 1;
}

.showcase-left {
    flex: 0 0 20%;
}

.showcase-menu {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.menu-item {
    padding: 20px 30px;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.7);
    cursor: pointer;
    transition: all 0.3s ease;
    border-left: 3px solid transparent;
    background-color: transparent;
}

.menu-item:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, 0.1);
}

.menu-item.active {
    color: #fff;
    font-weight: bold;
    position: relative;
}

.menu-item.active::before {
    content: '';
    position: absolute;
    border-radius: 100%;
    left: 10px;
    width: 8px;
    height: 8px;
    top: 50%;
    transform: translateY(-50%);
    background-color: #ffffff;

}

.showcase-right {
    flex: 1;
    display: flex;
    flex-direction: column;
    margin-top: -6.25rem;
}

.showcase-title {
    font-size: 3rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 1.25rem;
    font-family: Alimama ShuHeiTi, Alimama ShuHeiTi;
}

.showcase-desc {
    font-size: 1.5rem;
    font-family: PingFang TC, PingFang TC;
    color: #fff;
}

.showcase-preview {
    width: fit-content;
    padding: .55rem 1rem;
    background-color: rgba(0, 0, 0, 0.30);
    border-radius: 54px;
    margin-top: 2.5rem;
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: center;

}

.showcase-preview-arrow {
    width: 28px;
    height: 28px;
    margin-left: 12px;

}


/* 开店流程样式 */
.opening-process {

    padding: 40px 0;
}

.process-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 50px;

    text-align: center;
}

.opening-process-content {
    margin-top: 0rem;
}

.opening-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 60px;
}

.opening-card {
    border: 1px solid #DDDDDD;
    border-radius: 12px;
    padding: 24px;
    text-align: left;
    background: #fff;
    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease;
}

.opening-card:hover {
    background-color: #2a953a;
    border-color: #2a953a;
}

.opening-card:hover .opening-card-number,
.opening-card:hover .opening-card-title {
    color: #fff;
}

.opening-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
}

.opening-card-number {
    font-size: 42px;
    font-weight: 800;
    color: #F39939;
    letter-spacing: 0.5px;
    line-height: 1;
    font-family: OPPOSans, OPPOSans;
    transition: color 0.25s ease;
}

.opening-card-icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.opening-card-icon-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.opening-card-icon-img--white {
    opacity: 0;
    transition: opacity 0.25s ease;
    filter: brightness(0) invert(1);
}

.opening-card:hover .opening-card-icon-img--default {
    opacity: 0;
}

.opening-card:hover .opening-card-icon-img--white {
    opacity: 1;
}

.opening-card-icon-img--default {
    opacity: 1;
    transition: opacity 0.25s ease;
}

.opening-card-title {
    font-size: 1.25rem;
    font-weight: 500;
    color: #2D1F20;
    line-height: 1.4;
    margin-top: 1rem;
    transition: color 0.25s ease;
}

/* 开店流程卡片响应式适配 */
@media (max-width: 1200px) {
    .opening-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .opening-cards-panel {
        padding: 14px;
        border-radius: 14px;
    }

    .opening-cards-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .opening-card {
        padding: 12px;
    }

    .opening-card-number {
        font-size: 1.25rem;
    }

    .opening-card-title {
        font-size: 1rem;
    }

    .about-new-card {
        padding: 0px !important;
    }

    .about-card-header,
    .about-card-content {
        margin-bottom: 0 !important;
    }

}

.process-subheader {
    margin-bottom: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.process-highlight {
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    font-family: OPPOSans, OPPOSans;
}

.process-days {
    font-size: 2.8rem;
    font-weight: bold;
    color: #FFEB3B;

}

.process-steps {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 50px;
}

.process-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.process-row-second {
    gap: 40px;
}

.process-step {
    display: flex;
    align-items: center;
    gap: 8px;
    background-color: #fff;
    padding: 10px 24px;
    border-radius: 50px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.step-number {
    width: 28px;
    height: 28px;
    background: linear-gradient(135deg, #4CAF50 0%, #2E7D32 100%);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    font-weight: bold;
    color: #fff;
}

.step-text {
    font-size: 1rem;
    color: #333;
    font-weight: 500;
}

.process-dots-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 900px;
    padding: 0 60px;
    position: relative;
}

.process-dots-line::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 60px;
    right: 60px;
    height: 2px;
    border-top: 2px dashed rgba(255, 255, 255, 0.6);
    transform: translateY(-50%);
}

.process-dots-line-second {
    max-width: 720px;
    padding: 0 80px;
}

.process-dots-line-second::before {
    left: 80px;
    right: 80px;
}

.process-dot {
    width: 12px;
    height: 12px;
    background-color: #FFEB3B;
    border-radius: 50%;
    border: 2px solid #fff;
    position: relative;
    z-index: 1;
}

.process-image {
    width: 100%;
    border-radius: 16px 16px 0 0;
    overflow: hidden;
}

.process-image img {
    width: 100%;
    height: auto;
    display: block;
}

/* 加盟优势样式 */
.franchise-advantage {
    background-color: #fff;
    padding: 80px 0;
    overflow: hidden;
}

.advantage-container {
    max-width: 1640px;
    margin: 0 auto;
    padding: 0 50px;
}

.advantage-header {
    text-align: center;
    margin-bottom: 60px;
}

.advantage-subtitle {
    font-size: 2rem;
    color: #131614;
    letter-spacing: 2px;
    margin-bottom: 10px;
    font-weight: 600;
}

.advantage-title {
    font-size: 20px;

    color: #2c8e3a;
}

.advantage-marquee-container {
    overflow: hidden;
    position: relative;
}

.advantage-marquee-track {
    display: flex;
    gap: 30px;
    width: fit-content;
}

.advantage-marquee-item {
    flex-shrink: 0;
    width: 360px;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
    background-color: #fff;
}

.advantage-marquee-image {
    border-radius: 16px;
    overflow: hidden;
    height: 400px;
}

.advantage-marquee-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.advantage-marquee-content {
    padding: 20px 10px 0;
}

.advantage-marquee-title {
    font-size: 1.1rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 10px;
}

.advantage-marquee-desc {
    font-size: 0.8889rem;
    color: #666;
    line-height: 1.6;
}

.advantage-marquee-item:hover .advantage-marquee-image img {
    transform: scale(1.1);
    z-index: 10;
    position: relative;

}

.advantage-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;

}

.advantage-grid-item {
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.3s ease;
    background-color: #fff;
}

.advantage-grid-item:hover {
    transform: translateY(-5px);
}

.advantage-grid-image {
    border-radius: 16px;
    overflow: hidden;
    height: auto;
}

.advantage-grid-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.advantage-grid-item:hover .advantage-grid-image img {
    transform: scale(1.05);
}

.advantage-grid-content {
    padding: 20px 15px 25px;
}

.advantage-grid-title {
    font-size: 1.1rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 10px;
}

.advantage-grid-desc {
    font-size: 0.8889rem;
    color: #666;
    line-height: 1.6;
}



@media (max-width: 768px) {
    .advantage-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    /* .advantage-grid-image {
        height: 280px;
    } */
}

/* 加盟展示样式 */
.franchise-showcase {
    background-color: #f6f6f6;
    padding: 9.375rem 0;
}

.showcase-franchise-container {
    max-width: 1350px;
    margin: 0 auto;
    padding: 0 50px;
    display: flex;
    gap: 80px;
    align-items: center;
}

.showcase-franchise-left {
    flex: 1;
}

.showcase-franchise-subtitle {
    font-size: 2rem;
    font-weight: bold;
    color: #2D1F20;
    margin-bottom: 3.75rem;
}

.showcase-franchise-content {
    min-height: 120px;
    margin-bottom: 40px;
}

.showcase-franchise-title {
    font-size: 1.65rem;
    font-weight: bold;
    color: #2D1F20;
    margin-bottom: 0.8rem;
}

.showcase-franchise-desc {
    font-size: 1rem;
    line-height: 1.8;
    color: #666;
}

.showcase-franchise-right {
    flex: 2;
    border-radius: 12px;
    overflow: hidden;
}

.showcase-franchise-image {

    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
    position: relative;
}

.showcase-franchise-image img {
    width: 100%;
    height: 407px;
    object-fit: cover;
    display: block;
    transition: opacity 0.5s ease;
}

.showcase-franchise-buttons {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 0;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));

}

.franchise-btn {
    flex: 1;
    padding: 12px 0px;
    font-size: 1.1rem;
    border: none;
    background-color: rgba(0, 0, 0, 0.5);
    color: rgba(255, 255, 255, 0.8);
    cursor: pointer;
    transition: all 0.3s ease;
    text-align: center;
    border-radius: 0;
}



.franchise-btn:hover {
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
}

.franchise-btn.active {
    background-color: #2c8e3a;
    color: #fff;
}

/* 加盟支持样式 */
.franchise-support {
    background-color: #f6f6f6;
    padding: 2.5rem 0;
}

.support-container {
    max-width: 1300px;
    margin: 0 auto;
    padding: 0 50px;
}

.support-header {
    text-align: center;
    margin-bottom: 60px;
}

.support-subtitle {
    font-size: .9rem;
    color: #616261;
    letter-spacing: 1px;
    margin-bottom: 10px;
    font-family: PingFang TC, PingFang TC;
}

.support-title {
    font-size: 2rem;
    font-weight: bold;
    color: #131614;
}

.support-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
}

.support-card {
    background-color: #fff;
    border-radius: 1rem;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.support-card:hover {
    transform: translateY(-5px);
}

.support-card-image {
    width: 100%;
    height: auto;

}

.support-card-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.support-card:hover .support-card-image img {
    transform: scale(1.05);
}

.support-card-content {
    padding: 30px;
}

.support-card-title {
    font-size: 1.1111rem;
    font-weight: bold;
    color: #2D1F20;
    margin-bottom: 12px;
}

.support-card-desc {
    font-size: 1rem;
    line-height: 1.6;
    color: #616261;
}

/* 店型及选址要求样式：高度 100vh，滚入时整屏吸附 */
.store-type {
    background-color: #2a2523;
    box-sizing: border-box;
    height: 100vh;
    min-height: 100vh;
    max-height: 100vh;
    padding: 2.5rem 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.store-type-container {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 60px;
    width: 100%;
    flex: 0 0 auto;
}

.store-type-title {
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    margin-bottom: 3.2rem;
    font-family: OPPO Sans, OPPO Sans;
}

.store-type-content {
    display: flex;
    gap: 60px;
    background-color: #fff;
    border-radius: 16px;
    padding: 2.2rem;
    margin-bottom: 30px;
}

.store-type-left {
    flex: 1;
}

.store-type-image-wrapper {

    border-radius: 12px;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.store-type-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px;
}

.store-type-right {
    flex: 1;
    display: flex;
    align-items: center;
}

.store-type-name {
    font-size: 1.5556rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 10px;
}

.store-type-subtitle {
    font-size: 0.8889rem;
    color: #2D1F20;
    margin-bottom: 30px;
}

.store-type-features {
    list-style: none;
    padding-left: 0;
}

.store-type-features li {
    font-size: 0.8333rem;
    color: #666;
    margin-bottom: 15px;
    padding-left: 20px;
    position: relative;
}

.store-type-features li::before {
    content: '•';
    position: absolute;
    left: 0;
    color: #616261;
}

.store-type-buttons {
    display: flex;
    justify-content: center;
    gap: 0;
    width: fit-content;
    border-bottom: 1px solid rgba(235, 237, 236, 0.30);
    margin: auto;
}

.store-type-btn {
    padding: 1rem 1.5rem;
    font-size: 0.8889rem;
    border: none;
    background-color: transparent;
    color: rgba(255, 255, 255, 0.6);
    cursor: pointer;
    transition: all 0.3s ease;
    border-bottom: 2px solid transparent;

}

.store-type-btn:not(:last-child) {
    margin-right: 3rem;
}

.store-type-btn:hover {
    color: #fff;
}

.store-type-btn.active {
    color: #fff;
    font-weight: bold;
    position: relative;
}

.store-type-btn.active::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    width: 1.8125rem;
    height: 4px;
    background-color: #fff;
    border-radius: 0.1rem;
}

/* 合作伙伴样式 */
.partner-section {
    height: 100vh;
    background-image: url('https://oss.mhdos.com/www/manwei/static/storebg.jpg');
    background-size: 100% 100%;
    background-position: center center;
    background-repeat: no-repeat;
}

.partner-container {
    margin: 0 auto;
    display: flex;
    align-items: center;

}

.partner-preview-arrow {
    width: 12px;
    height: 12px;
    margin-left: 4px;
}

.partner-left {
    height: 100vh;
    width: 45%;
    position: relative;
}

.partner-left-mr-40 {
    width: fit-content;
    position: absolute;
    top: 50%;
    right: 15%;
    transform: translateY(-50%);

}

.partner-title {
    font-size: 1.7778rem;
    font-weight: bold;
    color: #2D1F20;
    margin-bottom: 40px;
}

.partner-requirements {
    list-style: none;
    padding-left: 0;
    margin-bottom: 40px;
}

.partner-requirements li {
    font-size: 0.8889rem;
    color: #616261;
    margin-bottom: 20px;
    padding-left: 1rem;
    position: relative;
    line-height: 1.6;
}

.partner-requirements li::before {
    content: '•';
    position: absolute;
    left: 0;
    top: -0.25rem;
    color: #616261;
    font-size: 1.1111rem;
}

.partner-btn {
    background-color: #2c8e3a;
    color: #fff;
    border: none;
    padding: .5rem 1rem;
    border-radius: 20px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

.partner-btn:hover {
    background-color: #45a049;
}

.partner-right {

    width: 55%;
}

.partner-right img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;

}

/* 页脚样式 */
.footer {
    background-color: #1a1a1a;
    color: #999;
    padding: 60px 0 30px;
    position: relative;
    z-index: 20;
    overflow: visible;
}

.footer-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
    gap: 60px;
    overflow: visible;
}

.footer-left {
    flex: 0 0 200px;
}

.footer-logo {
    margin-bottom: 20px;
}

.footer-logo img {
    height: 41px !important;
    width: 106px !important;
}

.footer-logo .logo-text {
    font-size: 1rem;
    font-weight: bold;
    color: #fff;
}

.footer-logo .logo-eng {
    font-size: 0.6667rem;
    color: #999;
    margin-top: 4px;
}

.footer-menu {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

.footer-menu li {
    font-size: 1rem;
    cursor: pointer;
    transition: color 0.3s ease;
}

.footer-menu li:hover {
    color: #2c8e3a;
}

.footer-menu li a {
    color: inherit;
    text-decoration: none;
}

.footer-center {
    flex: 1;
}

.footer-section {
    display: inline-block;
    margin-right: 60px;
    vertical-align: top;
}

.footer-section h4 {
    font-size: 1rem;
    color: #fff;
    margin-bottom: 16px;
    font-weight: 500;
}

.footer-section ul {
    list-style: none;
}

.footer-section ul li {
    font-size: 1rem;
    color: #999;
    margin-bottom: 10px;
    cursor: pointer;
    transition: color 0.3s ease;
}


.footer-section ul li:hover {
    color: #fff;
}

.footer-section ul li a {
    color: inherit;
    text-decoration: none;
}

.footer-info {
    margin-top: 16px;
}

.footer-info p {
    font-size: 1rem;
    margin-bottom: 10px;
    line-height: 1.6;
    color: #999;
}

.footer-right {
    flex: 0 0 200px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.footer-social {
    display: flex;
    gap: 20px;
    margin-bottom: 16px;
    overflow: visible;
}

.social-item {
    position: relative;
    cursor: pointer;
    z-index: 2;
}

.social-icon {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: #333;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.6667rem;
    color: #999;
    transition: all 0.3s ease;
    opacity: 0.4;
}

.social-item:hover .social-icon {
    opacity: 1;
}

.qr-popup {
    position: absolute;
    top: 50px;
    bottom: auto;
    left: 50%;
    transform: translateX(-50%) scale(0.8);
    background: #fff;
    padding: 6px 6px 0 6px;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 9999 !important;
}

.qr-popup::after {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-top: 0;
}

@media (max-width: 768px) {
    .qr-popup {
        top: auto;
        bottom: 50px;
    }

    .qr-popup::after {
        top: auto;
        bottom: -5px;
        border-top: 6px solid #fff;
        border-bottom: 0;
    }
}

.social-item:hover .qr-popup {
    opacity: 1;
    visibility: visible;
    transform: translateX(-50%) scale(1);
}

.qr-popup img {
    width: 106px;
    height: 106px;
    object-fit: cover;
}

.qr-popup .qr-text {
    text-align: center;
    font-size: 0.6667rem;
    color: #333;
    margin-top: 6px;
}

/* 小屏：二维码弹层底部提示（页脚社交图标） */
.qr-popup-hint {
    display: none;
    margin: 0;
    padding: 6px 4px 2px;
    font-size: 11px;
    line-height: 1.35;
    color: #333;
    text-align: center;
    letter-spacing: 0.02em;
}

@media (max-width: 576px) {
    .qr-popup-hint {
        display: block;
    }

    .footer-social .qr-popup {
        padding: 6px 6px 4px;
    }
}

.footer-qr {
    width: 100px;
    height: 100px;
    margin-top: 10px;
}

.footer-qr .qr-code {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.footer-bottom {
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid #333;
    text-align: center;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.60);
}

/* 版权行：竖线与文字用 flex 对齐，避免 | 与汉字基线不一致导致错位 */
.footer-bottom .footer-legal-line {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.35em 0.45em;
    margin: 0;
    line-height: 1.5;
}

.footer-legal-line .footer-sep {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    opacity: 0.9;
    user-select: none;
}

.footer-sep {
    margin-top: -4px;
}

.footer-legal-line .footer-legal-text {
    display: inline-block;
}

/* 响应式设计 - 中屏 */
@media (max-width: 1200px) {
    .about-page .history-section .history-container {
        padding-top: 20px !important;
    }

    .history-title {
        font-size: 20px;
    }

    .navbar {
        padding: 10px 5%;
    }

    .about-new-container {
        padding: 0 40px;
    }

    .about-new-content {
        padding-top: 3rem;
        padding-bottom: 2.5rem;
    }

    .about-new-left {
        max-width: 450px;
    }

    .about-new-title {
        font-size: 2.2222rem;
    }

    .about-new-desc {
        font-size: 0.8333rem;
    }

    .about-new-right {
        padding-right: 30px;
    }

    .products-container {
        padding: 60px 40px;
    }

    .process-container {
        padding: 0 40px;
    }

    .process-row {
        gap: 20px;
    }

    .process-step {
        padding: 8px 18px;
    }

    .step-text {
        font-size: 0.9444rem;
    }

    .advantage-container {
        padding: 0 40px;
    }

    .timeline {
        max-width: 800px;
    }

    .timeline::before {
        right: 40px;
    }

    .timeline-year {
        font-size: 1rem;
    }

    .timeline-text {
        font-size: 0.8333rem;
    }

    .franchise-support-container {
        padding: 0 40px;
    }

    .store-carousel-container {
        padding: 0 40px;
    }

    .showcase-container {
        padding-left: 40px;
        padding-right: 40px;
    }



    .footer-center {
        flex: 2;
    }
}

/* 页脚：769px–1200px 首行 logo 单独一行且左对齐；次行「快速链接 | 联系我们 | 关注我们」三列同排 */
@media (min-width: 769px) and (max-width: 1200px) {
    .footer-container {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 24px 28px;
        align-items: start;
        justify-items: stretch;
        padding: 0 40px;
    }

    .footer-left {
        grid-column: 1 / -1;
        justify-self: start;
        text-align: left;
        flex: unset;
        max-width: 100%;
    }

    .footer-logo {
        margin-bottom: 8px;
    }

    /* 中间两栏与右侧「关注我们」作为同一行的三个网格子项 */
    .footer-center {
        display: contents;
    }

    .footer-center .footer-section,
    .footer-center .footer-section-contact {
        margin-right: 0;
        display: block;
        width: 100%;
        min-width: 0;
    }

    .footer-center .footer-section-contact .footer-info {
        margin-top: 16px;
    }

    .footer-right {
        flex: unset;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        width: auto;
        max-width: 100%;
        min-width: 0;
    }

    .footer-right .footer-section {
        margin-right: 0;
        display: block;
        width: 100%;
    }

    .footer-social {
        justify-content: flex-start;
    }
}

/* 响应式设计 - 小屏 */
@media (max-width: 768px) {
    .navbar {
        padding: 15px 20px;
        background: rgba(255, 255, 255, 0.95) !important;
    }

    .nav-menu {
        display: none;
    }

    .hero {
        height: 100vh;
        padding-top: 60px;
    }

    .hero-bottom-hint {
        padding: 18px 14px 44px;
    }

    .hero-readmore-img {
        height: 44px;
    }

    .hero-bottom-tags {
        font-size: 0.75rem;
        gap: 8px 12px;
        letter-spacing: 0.08em;
    }

    .about-new {
        min-height: auto;
        padding: 40px 0;
    }

    .about-new-container {
        padding: 0 15px;
    }

    .about-new-content {
        flex-direction: column;
        padding-top: 0;
        padding-bottom: 30px;
        gap: 20px;
    }

    .about-new-left {
        max-width: 100%;
        text-align: center;
    }

    .about-new-subtitle-en {
        font-size: 0.7222rem;
        margin-bottom: 8px;
    }

    .about-new-title {
        font-size: 1.5556rem;
        margin-bottom: 15px;
    }

    .about-new-desc {
        font-size: 1rem;
        line-height: 1.8;
        margin-bottom: 20px;
        text-align: left;
    }

    .about-new-btn {
        width: 100%;
        max-width: 200px;
        margin: 0 auto;
    }

    .about-new-right {
        display: none;
    }

    .about-new-card {
        margin-top: 0;
        border-radius: 16px;
        overflow: hidden;
    }

    .about-card-header {
        padding: 20px;
    }

    .about-card-title {
        font-size: 1.1111rem;
    }

    .about-card-content {
        padding: 0 20px 20px;
    }

    .about-card-desc {
        font-size: 1rem;
        line-height: 1.8;
    }

    .about-card-bottom {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
    }

    .about-card-item {
        text-align: center;
    }

    .about-card-item-title {
        font-size: 0.9444rem;
        margin-bottom: 5px;
    }

    .about-card-item-desc {
        font-size: 1rem;
    }

    .products {

        background: url('https://oss.mhdos.com/www/manwei/static/home3.png');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        padding: 56px 0 36px;

    }

    .products-container {
        padding: 0 20px 30px;
    }

    .stats-header {
        margin-bottom: 54px;
    }

    .stats-title {
        font-size: 1.6rem;
        font-weight: 700;
        line-height: 1.2;
    }

    .stats-grid {
        flex-direction: row;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 46px;
    }

    .stat-item {
        text-align: center;
    }

    .stat-number {
        font-size: 2.2rem;
        font-weight: 700;
        line-height: 1;
        margin-bottom: 8px;
    }

    .stat-arrow {
        font-size: 1rem;
        top: 0.2rem;
        right: -20px;
    }

    .stat-plus {
        font-size: 1.2rem;
        top: -0.2rem;
        right: -18px;
    }

    .stat-label {
        font-size: 1rem;
        opacity: 0.9;
    }

    .products-container .stats-date {
        position: static;
        left: auto;
        bottom: auto;
        transform: none;
        text-align: center;
        font-size: 13px;
        color: #fff;
        opacity: 0.92;
        margin-top: auto;
        margin-bottom: 0;
        padding: 18px 10px 0;
    }

    .timeline {
        flex-direction: column;
        gap: 0;
        padding: 0;
        background-color: #fff;
        border-radius: 14px;
        padding: 18px 16px;
        position: relative;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.14);
    }

    .timeline::before {
        top: 0;
        bottom: 0;
        left: 112px;
        right: auto;
        width: 1px;
        height: auto;
        background: #ececec;
        transform: none;
        border-left: 1px dashed #d8d8d8;
    }

    .timeline::after {
        display: none;
    }

    .timeline-item {
        width: 100%;
        flex-direction: row;
        align-items: center;
        padding: 18px 0;
        text-align: left;
        position: relative;
    }

    .timeline-year {
        font-size: 13px;
        font-weight: 500;
        color: #8e8e8e;
        width: 96px;
        flex-shrink: 0;
        margin-bottom: 0;
        padding-left: 4px;
    }

    .timeline-dot {
        width: 11px;
        height: 11px;
        background: #fff;
        border: 2px solid #4a4a4a;
        position: absolute;
        left: 106px;
        top: 50%;
        transform: none;
        margin-top: -5px;
    }

    .timeline-text {
        font-size: 1rem;
        color: #333;
        margin-top: 0;
        flex: 1;
        line-height: 1.45;
        padding-left: 28px;
        font-weight: 600;
    }

    .opening-process {
        padding: 30px 0;
    }

    .process-container {
        padding: 0 15px;
    }

    .process-subheader {
        flex-direction: column;
        gap: 8px;
        margin-bottom: 1.5rem;
    }

    .process-days {
        font-size: 1.7778rem;
    }

    .process-highlight {
        font-size: 1rem;
    }

    .process-steps {
        gap: 15px;
    }

    .process-row {
        flex-direction: column;
        gap: 15px;
    }

    .process-step {
        width: 100%;
        max-width: 260px;
        justify-content: center;
        padding: 8px 16px;
    }

    .step-text {
        font-size: 0.8889rem;
    }

    .process-dots-line {
        display: none;
    }

    .franchise-advantage {
        padding: 40px 0;
    }

    .advantage-container {
        padding: 0 15px;
    }

    .advantage-header {
        margin-bottom: 25px;
    }

    .advantage-subtitle {
        font-size: 20px;
    }

    .advantage-title {
        font-size: 16px;
    }

    .advantage-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .advantage-grid-item {
        padding: 0px;
    }

    .advantage-grid-title {
        font-size: 1rem;
    }

    .advantage-grid-desc {
        font-size: 1rem;
    }

    .franchise-support {
        padding: 40px 0;
    }

    .franchise-support-container {
        padding: 0 15px;
    }

    .support-header {
        margin-bottom: 25px;
    }


    .support-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .support-card {
        padding: 20px;
    }

    .support-card-title {
        font-size: 1rem;
    }

    .support-card-desc {
        font-size: 1rem;
    }

    .store-carousel {
        padding: 40px 0;
    }

    .store-carousel-container {
        padding: 0 15px;
    }

    .carousel-slide {
        min-width: 100%;
        width: 100%;
    }

    .showcase {
        padding: 40px 0;
    }

    .showcase-container {
        padding-left: 15px;
        padding-right: 15px;
    }

    .partner-section {
        padding: 40px 0;
    }

    .partner-container {
        padding: 0 15px;
        flex-direction: column;
        gap: 30px;
    }

    .partner-requirements {
        margin-top: 30px;
    }

    .partner-left,
    .partner-right {
        max-width: 100%;
    }

    .partner-title {
        font-size: 1.3333rem;
    }

    .partner-requirements {
        font-size: 1rem;
    }

    .partner-btn {
        float: left;
        margin-top: 20px;
    }

    .footer {
        padding: 20px 12px;
    }

    .footer-left {
        flex: 0;
    }

    .footer-logo .logo-text {
        font-size: 1.3333rem;
    }

    .footer-section h4 {
        font-size: 1.1111rem;
    }

    .footer-right {
        width: 100%;
    }

    .footer-section ul li {
        font-size: 14px;
    }

    .footer-social {
        width: 100%;
        justify-content: center;
    }

    .footer-info p {
        font-size: 14px;
    }

    .footer-container {

        flex-direction: column;
        padding: 0 15px;
        gap: 5px;
    }

    .social-icon {
        width: 33px;
        height: 33px;
    }

    .footer-right {
        align-items: flex-start;
        flex: 0;
        margin-top: 12px;
    }

    .footer-bottom {
        padding: 12px 15px;
        margin-top: 12px;
        font-size: 12px;

    }

    .breadcrumb-item {
        font-size: 14px;
    }
}





.brand-container {
    padding: 0 20px;
}



.brand-items {
    gap: 60px;
}

.brand-item,
.brand-item-reverse {
    flex-direction: column;
    gap: 30px;
}

.brand-number {
    position: relative;
    top: 0;
    left: 0;
}

.brand-item-reverse .brand-number {
    right: 0;
}




.carousel-container {
    padding: 0 15px;
    width: 100%;
    overflow: hidden;
}



.carousel-slide img {
    height: auto;

}

.carousel-controls {
    padding: 0 10px;
}

.carousel-btn {
    width: 36px;
    height: 36px;
}

.carousel-btn svg {
    width: 16px;
    height: 16px;
}

.carousel-dots {
    padding: 18px 24px;
    gap: 16px;
    background-color: #f5f5f7;
}

.carousel-dot {
    width: 12px;
    height: 12px;
    background-color: #DDDDDD;
}

.carousel-dot.active {
    width: 70px;
}




/* 公司概况样式 */
.company-overview-section {
    background-color: #f6f6f6;
    padding: 0px 0 2.5rem 0;
    margin-top: -52px;
    position: relative;
    z-index: 3;
}

.company-overview-container {
    margin: 0 auto;
    padding: 0 12px;
}

/* 面包屑导航 */
.breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 24px !important;

}

.breadcrumb-item {
    font-size: 14px;
    color: #616261;
    text-decoration: none;
}

.breadcrumb-item:hover {
    color: #4CAF50;
}

.breadcrumb-item.active {
    color: #2D1F20;
    font-weight: bold;
}

.breadcrumb-separator {
    color: #666;
    font-size: 1rem;
}

/* 关于我们标签页 */
.about-tabs {
    display: flex;
    justify-content: center;
    gap: 0;
    margin: 0 auto 18px;
    background-color: #fff;
    border-radius: .75rem;
    padding: 10px 16px;
    width: 100%;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
}

.about-tab-btn {
    padding: 0.55rem 1.45rem;
    font-size: 0.8889rem;
    border: none;
    background-color: transparent;
    color: #616261;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 4px;
}

.about-tab-btn:not(:last-child) {
    margin-right: 10%;
}

.about-tab-btn:hover {
    color: #2c8e3a;
}

.about-tab-btn.active {
    background-color: #2c8e3a;
    color: #fff;
}

.about-tab-content {
    display: none;
}

.about-tab-content.active {
    display: block;
}

.company-overview-content {
    display: flex;

    align-items: center;
}

.my-width-max {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    position: relative;
    top: -35px;
}
.my-width-max2 {
    width: 100%;
    max-width: 1200px;
    margin: auto;
    position: relative;
    margin-bottom: 0!important;
  
}
.company-overview-left {
    flex: 1;
}

.company-image-wrapper {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
}

.company-image-wrapper img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 12px;
}

.company-logo-overlay {
    position: absolute;
    top: 20px;
    left: 20px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.company-logo-text {
    font-size: 2rem;
}

.company-logo-name {
    font-size: 1.1111rem;
    font-weight: bold;
    color: #fff;
}

.company-logo-eng {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.8);
}

.company-overview-right {
    padding-left: 2.875rem;
    flex: 1;
}

.company-overview-subtitle {
    font-size: 1.5rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 20px;
}

.company-overview-desc {
    font-size: 0.8889rem;
    line-height: 1.8;
    color: #616261;
    margin-bottom: 20px;
}

/* 荣誉资质样式 */
.honor-content {
    padding: 20px 0;
    display: flex;
    align-items: center;
    gap: 20px;
    position: relative;
    max-width: 1400px;
    margin: auto;
    margin-top: -55px;
}

.honor-carousel-btn {
    width: 4rem;
    height: 4rem;
    border-radius: 16px;
    background-color: rgba(255, 255, 255, 0.9);
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    color: #2D1F20;

    flex-shrink: 0;
}

.honor-carousel-btn:hover {
    background-color: #fff;
    border: 1px solid #2C8E3A;
    color: #2C8E3A;
}

.honor-carousel-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.honor-carousel-wrapper {
    flex: 1;
    overflow: hidden;
}

.honor-carousel-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.honor-page {
    flex-shrink: 0;
    display: flex;
    gap: 20px;
}

.honor-item {
    text-align: center;

    padding: 1.875rem .9375rem;
    border-radius: 12px;
    transition: all 0.3s ease;
    flex-shrink: 0;
    width: calc(20% - 16px);
}

.honor-item:hover {
    transform: scale(1.05);

    z-index: 1;
}

.honor-item img {
    width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 15px;
    transition: transform 0.3s ease;
}

.honor-item:hover img {
    transform: scale(1.1);
}

.honor-text,
.honor-item-text {
    font-size: 0.8889rem;
    color: #666;
    font-weight: 500;
    line-height: 1.6;
}

@media (max-width: 1200px) {
    .honor-item {
        width: calc(25% - 15px);
    }
}

@media (max-width: 992px) {
    .honor-item {
        width: calc(33.333% - 13px);
    }
}

@media (max-width: 768px) {
    .honor-item {
        width: calc(50% - 10px);
    }

    .honor-carousel-btn {
        width: 40px;
        height: 40px;
    }
}

@media (min-width: 769px) and (max-width: 1000px) {
    .honor-item {
        width: calc(50% - 10px);
    }
}

@media (max-width: 576px) {

    .honor-content,
    .honor-content.honor-stack-mode {
        display: block;
        padding: 0;
        gap: 0;
    }

    .honor-content {
        margin-top: -25px;
    }

    .honor-content.honor-stack-mode .honor-carousel-btn {
        display: none;
    }

    .honor-content.honor-stack-mode .honor-carousel-wrapper {
        overflow: visible;
    }

    .honor-content.honor-stack-mode .honor-carousel-track {
        display: flex;
        flex-direction: column;
        gap: 16px;
        width: 100% !important;
        transform: none !important;
    }

    .honor-content.honor-stack-mode .honor-item {
        width: 100% !important;
        padding: 0;
    }

    .honor-content.honor-stack-mode .honor-item img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 12px;
        margin-bottom: 0;
    }

    .honor-item-text {
        margin-top: 20px;
        font-weight: bold;
    }

    .showcase-franchise-content {
        margin-bottom: 0px !important;
    }

}

/* 联系我们标签页样式 */
.contact-tab-content {
    padding: 20px 0;
}

.contact-tab-info {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.contact-tab-item {
    display: flex;
    gap: 20px;
    align-items: flex-start;
}

.contact-tab-icon {
    font-size: 1.7778rem;
    flex-shrink: 0;
}

.contact-tab-text h4 {
    font-size: 1rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 8px;
}

.contact-tab-text p {
    font-size: 0.8889rem;
    color: #666;
}

/* 新联系我们样式 */
.contact-new-content {
    background-color: #fff;
    border-radius: 16px;
    padding: 1.5rem 2.5rem;
}

.contact-header {
    text-align: center;
    margin-bottom: 40px;
}

.contact-title {
    font-size: 1.3333rem;
    font-weight: bold;
    color: #131614;
}

.contact-info-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.contact-info-left,
.contact-info-center {
    flex: 1;
    min-width: 200px;
}

.contact-info-right {
    flex: 0 0 auto;
}

.contact-info-item {
    margin-bottom: 2.25rem;
}

.contact-info-label {
    font-size: 0.8333rem;
    color: #666;
}

.contact-info-value {
    font-size: 0.8889rem;
    color: #131614;
    font-weight: 500;
}

.qr-code-wrapper {
    display: flex;
    gap: 30px;
}

.qr-code-item {
    text-align: center;

}

.qr-code-img {
    width: 8rem;
    height: 8rem;
    object-fit: cover;
    border-radius: 8px;
    margin-bottom: 10px;
    border: 1px solid #EBEDEC;
    padding: 0px;
    border-radius: 8px;
}

.qr-code-text {
    font-size: 1rem;
    color: #666;
}

.contact-map-wrapper {
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
}

.amap-container {
    width: 100%;
    height: 65vh;
}

/* 联系我们地图信息窗：固定尺寸，拖动地图时不被挤压变形 */
.contact-map-infowindow {
    box-sizing: border-box;
    width: 220px;
    min-width: 220px;
    max-width: 220px;
    height: 88px;
    min-height: 88px;
    max-height: 88px;
    padding: 10px 12px;
    overflow: hidden;
    writing-mode: horizontal-tb;
}

.contact-map-infowindow__title {
    margin: 0 0 6px 0;
    font-size: 16px;
    line-height: 1.2;
    color: #2d1f20;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.contact-map-infowindow__address {
    margin: 0;
    font-size: 14px;
    line-height: 1.4;
    color: #444;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    writing-mode: horizontal-tb;
}

/* 企业文化样式 */
.culture-section {
    background-color: #f6f6f6;
    padding: 2.5rem 0 2.8125rem 0;
}

.culture-container {
    max-width: 1200px;
    margin: 0 auto;

}

.culture-header {
    text-align: center;
    margin-bottom: 1rem;
}

.culture-cards {
    display: flex;
    justify-content: center;
    border-radius: 12px;
    margin-bottom: 1.5rem;
}

.culture-card {
    background-color: #fff;
    padding: 2.5rem 3.75rem;
}

.culture-card:nth-child(1) {
    position: relative;
}

.culture-card:nth-child(1)::after {
    content: '';
    position: absolute;
    top: 16%;
    right: 0;
    height: 68%;
    border-right: 1px solid #EFEFEF;

}

.culture-card-title {
    font-size: 0.8889rem;
    color: #616261;
    margin-bottom: 10px;
}

.culture-card-desc {
    font-size: 1.1111rem;
    font-weight: bold;
    color: #131614;
}

.culture-images {
    display: flex;
    justify-content: center;
    gap: 16px;
    height: 500px;
    overflow: hidden;

}

.culture-image-item {
    flex: 1;
    position: relative;
    overflow: hidden;
    transition: flex 0.5s ease;
    border-radius: 12px;
}

.culture-image-item:hover {
    flex: 2;
}

.culture-image-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.culture-image-item:hover img {
    transform: scale(1.05);
}

.culture-image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 30px 20px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.8));
    color: #fff;
}

.culture-image-title {
    font-size: 0.8889rem;
    font-weight: bold;
    margin-bottom: 8px;
}

.culture-image-text {
    font-size: 0.7222rem;
    line-height: 1.5;
    opacity: 0.9;
}

.about-banner {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.about-scene-tip {
    font-size: 12px;
    line-height: 1;
    padding: 6px 10px;
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.6);
    user-select: none;
    pointer-events: none;
}

/* ≥768px：显示在 about-tabs 左上方 */
.about-scene-tip--tabs {
    position: absolute;
    left: 0;
    top: -28px;
    z-index: 2;
    display: block;
}

/* ≥768px：banner 内隐藏 */
.about-scene-tip--banner {
    position: absolute;
    left: 14px;
    bottom: 8px;
    z-index: 2;
    display: none;
}

.about-banner img {
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
}

.about-banner-overlay {
    position: absolute;
    inset: 0;

    pointer-events: none;
}

.about-banner-text {
    position: absolute;
    left: 50%;
    top: 52%;
    transform: translate(-50%, -50%);
    z-index: 1;
    color: #fff;
    text-align: left;
}

.about-banner-title {
    margin: 0;
    font-size: clamp(2rem, 3.2vw, 3rem);
    line-height: 1.2;
    font-weight: 700;
}

.about-banner-subtitle {
    margin: 14px 0 0;
    font-size: clamp(0.95rem, 1.1vw, 1.2rem);
    line-height: 1.4;
    opacity: 0.95;
}

@media (max-width: 1200px) {

    .about-banner-text {
        padding-left: 15% !important;
        top: 40%;
    }

    .about-banner {
        min-height: 300px;
    }
}

/* 关于我们页面响应式设计 */
@media (max-width: 768px) {
    .about-banner {
        min-height: 260px;
    }

    .about-banner img {
        min-height: 260px;
        height: 100%;
        object-fit: cover;
    }

    .company-overview-section {
        padding: 60px 0;
        margin-top: 0;
    }

    .about-banner-text {
        top: 50%;
        padding: 0 14px;
    }

    .about-banner-title {
        font-size: 1.8rem;
    }

    .about-banner-subtitle {
        font-size: 0.95rem;
        margin-top: 10px;
    }

    /* <768px：banner 左下角显示；tabs 上方隐藏 */
    .about-scene-tip--tabs {
        display: none!important;
    }
    .about-scene-tip--banner {
        display: block!important;
        left: 0px;
        bottom: 5px;
        font-size: 11px;
        padding: 6px 10px;
    }

    .company-overview-container {
        padding: 0 12px;
    }

    .company-overview-title {
        font-size: 1.7778rem;
    }

    .company-overview-content {
        flex-direction: column;
        gap: 40px;
    }

    .company-overview-left img {
        height: 250px;
    }

    .company-stats {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .company-stat-number {
        font-size: 2.2222rem;
    }

    .history-section {
        padding: 40px 0 48px;
        background-image: url('https://oss.mhdos.com/www/manwei/static/aboutend.png');
        background-size: cover;
        background-position: center;
        min-height: auto;
    }

    .history-container {
        padding: 0 16px;
    }

    .history-title {
        font-size: 1.5rem;
    }

    .history-timeline--road {
        position: relative;
        min-height: 0;
        padding-left: 1.25rem;
        border-left: 2px solid rgba(255, 255, 255, 0.35);
        margin-left: 0.5rem;
    }

    .history-milestone {
        position: relative;
        left: auto;
        top: auto;
        transform: none;
        width: 100%;
        max-width: none;
        margin-bottom: 1.75rem;
    }

    .history-milestone:last-child {
        margin-bottom: 0;
    }

    .history-year-number {
        font-size: 1.35rem;
        margin-bottom: 0.35rem;
    }

    .history-year-desc {
        font-size: 0.9375rem;
        line-height: 1.5;
    }

    .culture-section {
        padding: 30px 0;
    }

    .culture-container {
        padding: 0 20px;
    }

    .culture-title {
        font-size: 1.7778rem;
    }



    .culture-card {
        padding: 20px 30px;
    }

    .culture-images {
        flex-direction: column;
        gap: 0;
        height: auto;
    }

    .culture-image-item {
        flex: none;
        height: auto;
    }

    .culture-image-item:hover {
        flex: none;
    }

    .culture-image-item img {
        height: auto;
    }
}

/* 发展历程：≤768px 页内仅入口，全屏预览在 #historyPreviewModal */
@media (max-width: 768px) {
    .about-page .history-section {
        padding: 0;
        margin-top: 0;
        min-height: auto;
        height: auto;
        max-height: none;
        overflow: visible;
        background-color: #1a1f1c;
        background-image: url('./img/lunbo2.png') !important;
        background-size: cover;
        background-position: center center;
    }

    .about-page .history-container {
        padding: 0 0 28px;
        max-width: 100%;
        min-height: 100vh;
        position: relative;
    }

    .about-page .history-header {
        position: relative;
        top: auto;
        left: auto;
        z-index: 2;
        text-align: left;
        margin-bottom: 0;
        padding: 44px 20px 20px;
        background: transparent;
    }

    .about-page .history-subtitle {
        color: rgba(255, 255, 255, 0.86);
        letter-spacing: 0.04em;
        margin-bottom: 0.2rem;
        font-size: 14px;
        line-height: 1.2;
        font-weight: 300;
        font-family: PingFang TC, PingFang TC;
    }

    .about-page .history-title {
        color: #fff;
        font-size: 20px;
        letter-spacing: 0.01em;
        line-height: 1.15;
        font-weight: 600;
        margin-top: 12px;
    }

    #historyTimeline.history-timeline--road {
        display: none !important;
    }

    #historyMobileStack.history-mobile-stack {
        display: none !important;
    }

    #historyMobileCarousel.history-mobile-carousel {
        display: block !important;
        position: relative;
        z-index: 2;
        width: 100%;
        padding: 6px 20px 0;
        box-sizing: border-box;
    }

    #historyMobileCarouselTrack.history-mobile-carousel-track {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-top: 60px;
    }

    .history-mobile-carousel-image {
        display: block;
        width: min(100%, 280px);
        height: auto;
        object-fit: contain;
        filter: drop-shadow(0 8px 20px rgba(0, 0, 0, 0.28));
    }

    .history-preview-trigger {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 14px;
        padding: 8px 20px 20px;
        text-align: center;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 14px;
        z-index: 2;
    }

    .history-preview-trigger__text {
        margin: 0;
        font-size: 13px;
        line-height: 1.5;
        color: rgba(255, 255, 255, 0.78);
        max-width: 320px;
    }

    .history-preview-trigger__btn {
        appearance: none;
        border: none;
        border-radius: 999px;
        padding: 12px 28px;
        font-size: 15px;
        font-weight: 600;
        color: #1a1f1c;
        background: #fff;
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
        cursor: pointer;
    }

    .history-preview-trigger__btn:active {
        transform: scale(0.98);
    }

    .history-preview-trigger__guide {
        font-size: 14px;
        font-weight: 600;
        color: rgba(255, 255, 255, 0.86);
        letter-spacing: 0.02em;
        pointer-events: auto;
        cursor: pointer;
        display: inline-block;
        animation: historyPreviewGuideDownFade 1.8s ease-in-out infinite;
    }



    .history-mobile-panel {
        position: relative;
        width: 100%;
        min-height: 100vh;
        min-height: 100dvh;
        box-sizing: border-box;
    }

    @keyframes historyPreviewGuideDownFade {
        0% {
            transform: translateY(0);
            opacity: 1;
        }

        70% {
            transform: translateY(14px);
            opacity: 0.25;
        }

        100% {
            transform: translateY(14px);
            opacity: 0;
        }
    }

    .history-mobile-bg {
        position: absolute;
        inset: 0;
        background-image: url('./img/aboutbg1.png');
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }

    .history-mobile-layer {
        position: relative;
        z-index: 1;
        height: 100%;
        min-height: 100vh;
        min-height: 100dvh;
        overflow: hidden;
    }

    .history-mobile-slot {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        pointer-events: none;
    }

    .history-mobile-slot--b:empty {
        display: none;
    }

    .history-mobile-stack .history-mobile-milestone {
        position: absolute;
        z-index: 2;
        width: 11rem;
        max-width: 46vw;
        --history-stem-to-road: 2.5rem;
        --history-stem-below-text: 1.85rem;
    }

    .history-mobile-stack .history-year-number {
        font-size: 1.35rem;
    }

    .history-mobile-stack .history-year-desc {
        font-size: 0.8125rem;
        line-height: 1.5;
    }
}

/* 品牌发展历程：全屏预览弹层（由 JS 在 ≤768px 打开） */
.history-preview-modal[hidden] {
    display: none !important;
}

.history-preview-modal {
    position: fixed;
    inset: 0;
    z-index: 10060;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
    overscroll-behavior: none;
}

.history-preview-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.86);
    z-index: 0;
}

.history-preview-modal__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: min(100dvh, 100vh);
    width: 100%;
    max-width: 100%;
    margin: 0 auto;

    background-image: url('./img/lunbo2.png');
    background-size: cover, cover;
    background-position: center center, center center;
    background-repeat: no-repeat, no-repeat;
    border-radius: 18px 18px 0 0;
    overflow: hidden;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.45);
}

.history-preview-modal__toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    padding: 14px 16px 10px;
    padding-top: max(14px, env(safe-area-inset-top));
}

.history-preview-modal__title {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.02em;
}

.history-preview-modal__title_eng {

    font-size: 14px;
    font-weight: 400;
    color: #fff;
    letter-spacing: 0.02em;
    margin-bottom: 6px;
}

.history-preview-modal__close {
    width: 40px;
    height: 40px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.history-preview-modal__close:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.history-preview-modal__viewport {
    flex: 1;
    min-height: 0;
    overflow: hidden;
    position: relative;
    /* 轮播靠 transform，非原生滚动；pan-y 会让浏览器抢手势导致“滑不动” */
    touch-action: none;
}

@media (max-width: 768px) {
    .history-preview-modal__panel .history-preview-modal__viewport {
        min-height: min(52vh, 420px);
    }
}

.history-preview-modal__track {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    transition: transform 0.38s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

.history-preview-modal__slide {
    flex: 0 0 100%;
    height: 100%;
    min-height: 0;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 12px 16px;

}

.history-preview-modal__slide img {
    max-width: 100%;
    width: auto;
    max-height: min(72dvh, 520px);
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: 8px;
    touch-action: none;
    -webkit-user-drag: none;
    user-select: none;
}

.history-preview-modal__footer {
    flex-shrink: 0;
    padding: 12px 16px 20px;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
    text-align: center;
}

.history-preview-modal__dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 10px;
}

.history-preview-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background: rgba(255, 255, 255, 0.28);
    cursor: pointer;
}

.history-preview-dot.is-active {
    background: #fff;
    transform: scale(1.15);
}

.history-preview-modal__hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: #fff;
}

@media (min-width: 769px) {
    #historyMobileStack.history-mobile-stack {
        display: none !important;
    }

    #historyMobileCarousel.history-mobile-carousel {
        display: none !important;
    }

    .about-page .history-preview-trigger {
        display: none !important;
    }
}

/* 首页产品展示小屏最终还原（放在文件末尾，避免被前面媒体查询覆盖） */
@media (max-width: 768px) {
    .home-page #productShowcase {
        padding: 28px 0 18px;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        display: flex;
        align-items: stretch;
    }

    .home-page #productShowcase .showcase-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 0;
        padding: 18px 18px 12px;
    }

    .home-page #productShowcase .showcase-right {
        order: 1;
        width: 100%;
        margin-top: 0;
    }

    .home-page #productShowcase .showcase-content {
        max-width: 92%;
    }

    .home-page #productShowcase .showcase-title {
        font-size: 24px;
        margin-bottom: 0.9rem;
        line-height: 1.15;
    }

    .home-page #productShowcase .showcase-desc {
        font-size: 16px;
        line-height: 1.65;
        color: rgba(255, 255, 255, 0.92);
    }

    .home-page #productShowcase .showcase-preview-arrow {
        width: 20px;
        height: 20px;
    }

    .home-page #productShowcase .showcase-preview {
        margin-top: 1.4rem;
        padding: 6px 12px;
        font-size: 14px;
        border-radius: 28px;
        background-color: rgba(0, 0, 0, 0.42);
    }

    .home-page #productShowcase .showcase-left {
        order: 2;
        width: 100%;
        margin-top: auto;
    }

    .home-page #productShowcase .showcase-menu {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        padding: 6px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.6);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
        overflow: hidden;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .home-page #productShowcase .showcase-menu::-webkit-scrollbar {
        display: none;
    }

    .home-page #productShowcase .menu-item {
        flex: 1 0 auto;
        margin: 0;
        padding: 10px 14px;
        text-align: center;
        white-space: nowrap;
        font-size: 1rem;
        color: #616261;
        border: none;
        border-radius: 999px;
        background: transparent;
    }

    .home-page #productShowcase .menu-item.active {
        color: #2D1F20;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .home-page #productShowcase .menu-item.active::before {
        display: none;
    }
}

/* 首页加盟优势小屏横向滚动（最终覆盖） */
@media (max-width: 768px) {
    .home-page .franchise-advantage .advantage-grid {
        display: flex;
        flex-wrap: nowrap;
        gap: 12px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 6px;
        scroll-snap-type: x mandatory;
    }

    .home-page .franchise-advantage .advantage-grid::-webkit-scrollbar {
        height: 6px;
    }

    .home-page .franchise-advantage .advantage-grid-item {
        flex: 0 0 72%;
        min-width: 72%;
        scroll-snap-align: start;
    }
}

/* 首页三大发展战略小屏样式（最终覆盖） */
@media (max-width: 768px) {
    .home-page #franchiseShowcase {
        padding: 30px 0;
        background-color: #f6f6f6;
    }

    .home-page #franchiseShowcase .showcase-franchise-container {
        display: flex;
        flex-direction: column;
        gap: 22px;
        padding: 0 16px;
    }

    .home-page #franchiseShowcase .showcase-franchise-left,
    .home-page #franchiseShowcase .showcase-franchise-right {
        width: 100%;
        flex: none;
    }

    .home-page #franchiseShowcase .showcase-franchise-subtitle {
        font-size: 1.35rem;
        line-height: 1.35;
        margin-bottom: 14px;
    }

    .home-page #franchiseShowcase .showcase-franchise-title {
        font-size: 1.25rem;
        margin-bottom: 0.55rem;
    }

    .home-page #franchiseShowcase .showcase-franchise-desc {
        font-size: 1rem;
        line-height: 1.6;
    }

    .home-page #franchiseShowcase .showcase-franchise-image img {
        height: 260px;
        object-fit: cover;
    }

    .home-page #franchiseShowcase .showcase-franchise-buttons {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-page #franchiseShowcase .franchise-btn {
        padding: 10px 8px;
        font-size: 0.95rem;
    }
}

/* 招商加盟：勿再用固定 max-height 做 4 行截断，易与 line-clamp 冲突导致半行被裁切 */
@media (max-width: 576px) {
    .timeline {
        width: 100% !important;
        min-width: 100% !important;
     
    }
    .home-page .products .timeline-text{
        width: 100% !important;
        
    }
    .case-expand-btn {
        display: inline-block;
        background: none;
        border: none;
        color: #3a73e5;
        font-size: 1rem;
        padding: 0;
        cursor: pointer;
    }

    .home-page #productShowcase {
        min-height: 60vh !important;
        padding-top: 50px !important;
    }

    .brand-advantage-container {
        padding: 40px 0 0px 0 !important;
    }

    .carousel-pagination {
        margin-top: 30px;
    }

    .support-header {
        margin-bottom: 30px !important;
    }
}

/* 首页数据统计时间轴小屏还原（左时间-中轴线-右描述） */
@media (max-width: 768px) {
    .home-page .products .timeline {
        position: relative;
        display: flex;
        flex-direction: column;
        gap: 0;
        background: #fff;
        border-radius: 16px;
        padding: 14px 14px;
        top: 0;
        margin-bottom: 8px;
    }

    .home-page .products .timeline::before {
        content: '';
        position: absolute;
        top: 20px;
        bottom: 20px;
        left: 118px;
        width: 1px;
        border-left: 1px dashed #d8d8d8;
        background: transparent;
        transform: none;
    }

    .home-page .products .timeline-item {
        display: grid;
        grid-template-columns: 100px 24px 1fr;
        align-items: center;
        padding: 16px 0;
        position: relative;
    }

    .home-page .products .timeline-year {

        width: 23% !important;
        margin: 0;
        padding: 0;
        text-align: right;
        font-size: 14px;
        color: #8f8f8f;
        line-height: 1;
        white-space: nowrap;
    }

    .home-page .products .timeline-dot {
        position: static;
        transform: none;
        justify-self: center;
        width: 10px;
        height: 10px;
        background: #fff;
        border: 2px solid #4a4a4a;
        margin-left: -16px;
    }

    .home-page .products .timeline-text {
        margin: 0;
        padding: 0;
        font-size: 14px;
        line-height: 1.45;
        color: #2D1F20;
        font-weight: 400;
    }

    .home-page .products .timeline-arrow {
        display: none;
    }
}



@media (min-width: 1201px) {
    .home-page .partner-section {
        padding: 0;
    }

    .home-page .partner-container {
        max-width: none;
        width: 100%;
        padding: 0;
        gap: 0;
        align-items: stretch;
        padding-left: 20px;
    }

    .home-page .partner-left,
    .home-page .partner-right {
        width: 50%;
    }

    .home-page .partner-left {

        justify-content: center;
    }

    .home-page .partner-left-mr-40 {
        margin: 0;
        max-width: 560px;
    }

    .home-page .partner-right img {
        width: 100%;
        height: 100%;
        min-height: 520px;
        border-radius: 0;
    }
}

.home-page .partner-container {
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 56px;

}




.home-page .partner-title {
    margin-bottom: 40px;
    line-height: 1.25;
}

.home-page .partner-requirements {
    margin-bottom: 60px;
}

.home-page .partner-requirements li {
    margin-bottom: 14px;
    line-height: 1.7;
}

.home-page .partner-right {
    width: 54%;
}

.home-page .partner-right img {
    width: 100%;
}

@media (max-width: 1200px) {
    .home-page .partner-container {
        gap: 34px;
        padding-left: 40px;
    }

    .home-page .partner-title {
        margin-bottom: 22px;
        font-size: 1.55rem;
    }

    .home-page .partner-requirements li {
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    .home-page .partner-container {
        flex-direction: column;
        align-items: stretch;
        gap: 20px;
        padding: 0 16px;
    }

    .home-page .partner-left,
    .home-page .partner-right {
        width: 100%;
    }

    .home-page .partner-left {
        justify-content: center;
    }

    .home-page .partner-title {
        text-align: center;
        font-size: 1.95rem;
        margin-bottom: 16px;
    }

    .home-page .partner-requirements {
        margin-bottom: 14px;
    }

    .home-page .partner-requirements li {
        font-size: 1.05rem;
        line-height: 1.65;
        margin-bottom: 8px;
    }

    .home-page .partner-btn {
        margin: 0 auto;
    }
}

@media (max-width: 576px) {
    .home-page .partner-section {
        padding: 36px 0;
    }

    .home-page .partner-container {
        gap: 14px;
        padding: 0 14px;
    }

    .home-page .partner-title {
        font-size: 1.9rem;
        margin-bottom: 12px;
    }

    .home-page .partner-requirements {
        margin-bottom: 10px;
    }

    .home-page .partner-requirements li {
        font-size: 1rem;
        margin-bottom: 6px;
        padding-left: 0.9rem;
    }

    .home-page .partner-btn {
        margin-bottom: 20px;
    }

    .home-page .partner-right img {
        border-radius: 8px;
    }

    .home-page .store-type {
        min-height: 80vh !important;
    }
}

/* 首页店型及选址要求响应式（最终覆盖） */
.home-page .store-type {
    height: auto;
    max-height: none;
    min-height: 100vh;
    min-height: 100dvh;
    padding: 56px 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.home-page .partner-section {
    min-height: 100vh;
    min-height: 100dvh;
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.home-page .store-type-container {
    width: min(100%, 1320px);
    padding: 0 clamp(24px, 4vw, 56px);
}

.home-page .store-type-title {

    margin-bottom: clamp(22px, 3vw, 36px);
    line-height: 1.2;
}

.home-page .store-type-content {
    display: flex;
    align-items: center;
    gap: 42px;
    background: #fff;
    border-radius: 14px;
    padding: 34px;
    margin-bottom: 20px;
    min-height: 60vh;
    min-height: 60dvh;
}

.home-page .store-type-left,
.home-page .store-type-right {
    flex: 1 1 50%;
    min-width: 0;
}

.home-page .store-type-image-wrapper {
    height: 100%;

    border-radius: 12px;
    padding: 0;
    overflow: hidden;
}

.home-page .store-type-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 12px;
}

.home-page .store-type-right {
    display: flex;
    align-items: center;
}

.home-page .store-type-name {
    color: #2D1F20;
}

.home-page .store-type-subtitle {
    color: #4e4e4e;
    margin-bottom: 16px;
}

.home-page .store-type-features li {
    color: #616261;
    line-height: 1.7;
}

.home-page .store-type-buttons {
    width: auto;
    max-width: 100%;
    margin: 0 auto;
    flex-wrap: wrap;
    row-gap: 6px;
}

@media (max-width: 1200px) {
    .home-page .store-type {
        padding: 48px 0;
    }

    .home-page .store-type-container {
        padding: 0 22px;
    }

    .home-page .store-type-content {
        gap: 24px;
        padding: 22px;
    }

    .home-page .store-type-image-wrapper img {
        height: auto;
    }

    .home-page .store-type-btn {
        padding: 10px 16px;
    }

    .home-page .store-type-btn:not(:last-child) {
        margin-right: 1.6rem;
    }
}

@media (max-width: 992px) {
    .home-page .store-type {
        min-height: auto;
        padding: 42px 0;
    }

    .home-page .store-type-content {
        gap: 18px;
        padding: 18px;
    }

    .home-page .store-type-title {
        margin-bottom: 20px;
    }

    .home-page .store-type-name {
        font-size: 1.25rem;
        margin-bottom: 8px;
    }

    .home-page .store-type-subtitle {
        font-size: 0.95rem;
        margin-bottom: 10px;
    }

    .home-page .store-type-features li {
        font-size: 0.9rem;
        margin-bottom: 10px;
    }
}

@media (max-width: 768px) {
    .home-page .store-type {
        min-height: 100vh;
        min-height: 100dvh;
        padding: 28px 0 34px;
        background: #eeeeee;
    }

    .home-page .store-type-container {
        padding: 0 12px;
        display: flex;
        flex-direction: column;
    }

    .home-page .store-type-title {
        margin-bottom: 12px;
        text-align: center;
        font-size: 20px !important;
        font-weight: 700;
        color: #2D1F20;
    }

    .home-page .store-type-buttons {
        order: 1;
        width: 100%;
        border-bottom: 1px solid #e3e3e3;
        margin-bottom: 14px;
        justify-content: space-between;
        flex-wrap: nowrap;
        overflow-x: visible;
    }

    .home-page .store-type-btn {
        flex: 1 1 0;
        color: #9d9d9d;
        white-space: nowrap;
        text-align: center;
        font-size: 1.05rem;
        font-weight: 600;
        padding: 10px 0 12px;
    }

    .home-page .store-type-btn:not(:last-child) {
        margin-right: 0;
    }

    .home-page .store-type-btn.active {
        color: #2D1F20;
        font-weight: 600;
    }

    .home-page .store-type-btn.active::after {
        background-color: #2c8e3a;
        width: 34px;
        height: 3px;
        bottom: -1px;
    }

    .home-page .store-type-content {
        order: 2;
        display: block;
        border-radius: 14px;
        padding: 14px 14px 16px;
        margin-bottom: 0;
        box-shadow: none;
        min-height: auto;
        background: #f7f7f7;
    }

    .home-page .store-type-left,
    .home-page .store-type-right {
        width: 100%;
    }

    .home-page .store-type-image-wrapper {
        background: #efede9;
        border-radius: 12px;
        padding: 14px;
    }

    .home-page .store-type-image-wrapper img {
        width: 100%;
        height: auto;
        max-height: 430px;
        object-fit: contain;
        border-radius: 10px;
    }

    .home-page .store-type-right {
        margin-top: 16px;
        display: block;
    }

    .home-page .store-type-name {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .home-page .store-type-subtitle {
        font-size: 14px;
        margin-bottom: 12px;
    }

    .home-page .store-type-features li {
        font-size: 14px;
        line-height: 1.75;
        margin-bottom: 9px;
    }
}

@media (max-width: 576px) {
    .home-page .partner-section {
        min-height: 100vh;
        min-height: 100dvh;
    }

    .home-page .store-type {
        padding: 30px 0;
    }

    .home-page .store-type-content {
        padding: 12px;
        border-radius: 8px;
    }

    .home-page .store-type-image-wrapper img {
        max-height: 320px;
    }

    .home-page .store-type-subtitle {
        font-size: 1rem;
    }
}

/* 招商加盟最小屏还原（仅 <=576 生效） */
@media (max-width: 576px) {
    .timeline {
        min-width: 100% !important;
    }

    .contact-info-item {
        margin-bottom: 12px !important;
    }

    /* 首页数据统计：勿固定容器高度，否则统计说明改两行后时间轴/数据截至会被裁切 */
    .home-page .products-container {
        min-height: auto !important;
        height: auto !important;
        padding-top: 60px !important;
    }

    .contact-info-wrapper {
        gap: 20px !important;
    }

    .contact-header {
        margin-bottom: 20px;
    }

    .collaborate-case-section {
        padding-bottom: 110px;
    }

    .collaborate-case-container {
        padding: 0 12px;
    }

    .case-content {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    /* 小屏：标题区对齐「品牌发展历程」参考图（白底、居中、灰/深字） */
    .collaborate-case-section .case-kicker--collab-desktop {
        display: none !important;
    }

    .collaborate-case-section .case-kicker--collab-mobile {
        display: block !important;
    }

    .collaborate-case-section .case-text-kicker {
        background: #fff;
        text-align: center;

        margin: 0 -4px 12px -4px;
        border-radius: 0 0 12px 12px;
        box-sizing: border-box;
    }

    .case-item {
        gap: 0 !important;
    }

    .collaborate-case-section .case-kicker--collab-mobile.case-kicker-en {
        color: #999;
        font-size: 0.8125rem;
        font-weight: 400;
        letter-spacing: 0.06em;
        text-transform: none;
        margin-bottom: 0.4rem;
    }

    .collaborate-case-section .case-kicker--collab-mobile.case-kicker-zh {
        color: #131614;
        font-size: 1.5rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: none;
        margin-bottom: 0;
        line-height: 1.25;
    }

    .case-item,
    .case-item.case-active,
    .case-reverse {
        flex-direction: column;
        min-height: auto;
        height: auto;
        gap: 0;
        padding: 12px;
        border-radius: 14px;
        box-shadow: none;
        max-width: 100%;
        width: 100%;
    }

    .case-image,
    .case-item.case-active .case-image {
        width: 100%;
        height: auto;
    }

    .case-image img,
    .case-item.case-active .case-image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        border-radius: 12px;
    }

    .case-text,
    .case-item.case-active .case-text {
        width: 100%;
        padding: 12px 4px 2px;
        background-color: transparent;
        flex: unset;
    }

    .case-name,
    .case-item.case-active .case-name {
        font-size: 1.9rem;
        margin-bottom: 10px;
        line-height: 1.2;
    }

    .case-desc-wrap,
    .case-item.case-active .case-desc-wrap {
        font-size: 1rem;
        line-height: 1.7;
        color: #616261;
        display: block;
        margin-bottom: 6px;
    }

    .case-desc-p {
        margin: 0 0 0.75em;
    }

    .case-expand-btn {
        display: inline-block;
        background: none;
        border: none;
        color: #3a73e5;
        font-size: 1rem;
        padding: 0;
        cursor: pointer;
    }

    .contact-banner-wrapper {
        display: block !important;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        margin: 0;
        padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
        background: #fff;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08);
        z-index: 9998;
    }

    .contact-banner-btn {
        width: 100%;
        border-radius: 999px;
        padding: 14px 0;
        font-size: 1.25rem;
    }

    .opening-card-icon {
        width: 28px !important;
        height: 28px !important;
    }

    .mystore-header {
        margin-bottom: 0 !important;
    }

    .opening-cards-panel {
        padding-top: 0;
        margin-top: -10px;
        padding-bottom: 30px;
    }

    .carousel-slide {
        border-radius: 0px !important;
    }

    .carousel-slide img {
        max-height: 600px !important;
    }

    .footer-logo {
        margin-bottom: 8px !important;
    }

    .brand-advantage-container {
        height: auto !important;
    }

    .history-mobile-carousel-image {
        max-width: 248px !important;
        max-height: 446px !important;
    }

    .back-to-top {
        height: 40px !important;
        width: 40px !important;
    }
}

/* 联系我们弹窗样式 */
.contact-modal-overlay,
.success-modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.contact-modal-content,
.success-modal-content {
    background-color: #fff;
    border-radius: 16px;
    padding: 24px 40px;
    max-width: 540px;
    width: 90%;
    position: relative;
    animation: slideUp 0.3s ease;
}

.success-modal-title {
    font-size: 1rem;
    font-weight: 500;
    color: #2D1F20;
    margin-bottom: 1.5rem;
    text-align: center;
}

.mystore-header {
    margin-bottom: 0px !important;
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.contact-modal-close,
.success-modal-close {
    position: absolute;
    top: 15px;
    right: 20px;
    font-size: 28px;
    color: #999;
    background: none;
    border: none;
    cursor: pointer;
    line-height: 1;
    transition: color 0.3s ease;
}

.contact-modal-close:hover,
.success-modal-close:hover {
    color: #333;
}

.contact-modal-title {
    font-size: 1.5556rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 8px;
    text-align: center;
}

.contact-modal-subtitle {
    font-size: 0.8889rem;
    color: #666;
    text-align: center;
    margin-bottom: 30px;
}

.contact-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-label {
    font-size: 0.8889rem;
    color: #131614;
    font-weight: 500;
}

.form-label-required {
    color: #FF3D3D;
    margin-right: 4px;
}

.form-input {
    padding: 12px 16px;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    font-size: 0.8889rem;
    transition: border-color 0.3s ease;
    outline: none;
}

.form-input:focus {
    border-color: #2c8e3a;
    box-shadow: none !important;
    outline: none;
}

/* 关闭浏览器校验态可能附带的阴影效果 */
.form-input:invalid,
.form-input:focus:invalid {
    box-shadow: none !important;
}

/* 自定义必填提示（替代系统气泡）：无框、无阴影 */
.form-field-error {
    margin: 4px 0 0;
    padding: 0;
    min-height: 0;
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #e65100;
    border: none;
    box-shadow: none;
    background: transparent;
}

.form-field-error[hidden] {
    display: none !important;
}

.form-input.form-input--error {
    border-color: #e65100;
}

.contact-form-submit {
    background-color: #2c8e3a;
    color: #fff;
    border: none;
    padding: 14px;
    border-radius: 8px;
    font-size: 1rem;
    font-weight: bold;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin-top: 10px;
}

.contact-form-submit:hover {
    background-color: #45a049;
}

.success-modal-content {
    text-align: center;
    padding: 50px 40px;
}

.success-icon {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: #fff;
    margin: 0 auto 25px;
    animation: scaleIn 0.5s ease;
}

@keyframes scaleIn {
    from {
        transform: scale(0);
    }

    to {
        transform: scale(1);
    }
}

.success-text {
    margin-bottom: 30px;
}

.success-title {
    font-size: .9375rem;
    color: #000000;

}

.success-desc {
    font-size: .9375rem;
    color: #000000;
    margin-bottom: .625rem;
}

.success-note {
    font-size: 1rem;
    color: #616261;
}

.success-modal-btn {
    background-color: #ebedec;
    color: #2D1F20;
    border: none;
    padding: 12px 0px;
    width: 66%;
    border-radius: 20px;
    font-size: 0.9444rem;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.success-modal-btn:hover {
    color: #fff;
    background-color: #2c8e3a;
}

@media (max-width: 768px) {

    .contact-modal-content,
    .success-modal-content {
        padding: 30px 25px;
        margin: 20px;
    }

    .contact-modal-title {
        font-size: 1.3333rem;
    }

    .success-icon {
        width: 60px;
        height: 60px;
        font-size: 30px;
    }
}

@media (max-width: 1200px) {
    .showcase-container {
        padding-left: 60px;
        padding-right: 60px;
    }

    .company-overview-content {
        gap: 40px;
    }

    .culture-cards {
        gap: 30px;
    }

    .culture-images {
        gap: 12px;
    }

    .store-carousel {
        padding: 50px 0;
        overflow-x: hidden;
    }

    .carousel-container {
        padding: 0 30px;
        width: 100%;
        overflow: hidden;
    }

    .carousel-slide img {
        height: auto;

    }

    .carousel-btn {
        width: 50px;
        height: 50px;
    }

    .carousel-btn svg {
        width: 20px;
        height: 20px;
    }

    .carousel-dots {
        padding: 8px 18px;
    }

    .carousel-dot {
        width: 9px;
        height: 9px;
    }

    .carousel-dot.active {
        width: 35px;
    }
}

@media (max-width: 992px) {
    .store-carousel {
        padding: 45px 0;
        overflow-x: hidden;
    }

    .carousel-container {
        padding: 0 25px;
        width: 100%;
        overflow: hidden;
    }

    .carousel-slide img {
        height: auto;

    }

    .carousel-btn {
        width: 45px;
        height: 45px;
    }

    .carousel-btn svg {
        width: 18px;
        height: 18px;
    }

    .carousel-dots {
        padding: 8px 16px;
    }

    .carousel-dot {
        width: 8px;
        height: 8px;
    }

    .carousel-dot.active {
        width: 32px;
    }
}

@media (max-width: 768px) {
    .contact-new-content {
        padding: 30px 20px;
    }

    .contact-info-wrapper {
        flex-direction: column;
        gap: 30px;
    }

    .qr-code-wrapper {
        justify-content: center;
    }

    .amap-container {
        height: 300px;
    }
}

/* 产品中心样式 */
.product-banner {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.product-banner-img {
    width: 100%;
    height: auto;
    max-height: 300px;
    display: block;
    object-fit: cover;
}

.product-banner-mask {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

.product-banner-title-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-align: center;
    z-index: 1;
    pointer-events: none;
}

.product-banner-subtitle {
    margin: 0 0 8px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
    opacity: 0.9;
}

.product-banner-title {
    margin: 0;
    font-size: 44px;
    font-weight: 700;
    line-height: 1.15;
}

@media (max-width: 768px) {
    .product-banner-subtitle {
        font-size: 16px;
        margin-bottom: 6px;
    }

    .product-banner-title {
        font-size: 30px;
    }
}

.product-center-section {

    padding: 20px 0 60px 0;
}

.product-center-container {
    margin: 0 auto;
    padding: 0 5rem;
}

.product-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .625rem;
    margin-bottom: 30px;
    background-color: #f3f4f4;
    border-radius: 30px;
    padding: 5px;
    max-width: min(100%, 1200px);
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

.product-tab-btn {
    padding: 12px 24px;
    font-size: 1rem;
    border: none;
    background-color: transparent;
    color: #2D1F20;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 25px;
    white-space: normal;
    line-height: 1.35;
    text-align: center;
}

.product-tab-btn:hover {
    color: #2c8e3a;
}

.product-tab-btn.active {
    background-color: #2c8e3a;
    color: #fff;
}

.product-tab-content {
    display: none;
}

.product-tab-content.active {
    display: block;
}

.product-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 30px;
}

.product-item {
    background-color: #fff;
    overflow: hidden;
    transition: all 0.3s ease;
    cursor: pointer;
}

.product-item:hover {
    border-radius: 12px;
    transform: translateY(-10px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.product-item img {
    border-radius: 12px;
    width: 100%;
    aspect-ratio: 4 / 5;
    height: auto;
    object-fit: cover;
}

.product-info {
    padding: 16px;
}

.product-title {
    font-size: 1rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 8px;
    line-height: 1.45;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.product-desc {
    font-size: 1rem;
    color: #666;
    margin-bottom: 15px;
    line-height: 1.5;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.product-price {
    font-size: 1.2222rem;
    font-weight: bold;
    color: #4CAF50;
}

.about-banner {
    width: 100%;
}

.about-banner img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

/* 产品中心响应式设计 */
@media (max-width: 1200px) {
    .product-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 992px) {
    .product-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 376px) {
    .product-tabs {
        padding: 0;
    }
}

@media (max-width: 768px) {
    .product-center-container {
        padding: 0 12px;
    }

    .product-tabs {
        flex-wrap: wrap;
        gap: 5px;
    }

    .product-tab-btn {
        padding: 6px 12px;
        font-size: 1rem;
    }

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

    .product-item img {
        aspect-ratio: 1 / 1;
        height: auto;
    }

    .product-info {
        padding: 15px;
    }
}

@media (max-width: 576px) {
    .product-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .product-item img {
        aspect-ratio: 16 / 10;
    }

    .product-tab-btn {
        padding: 8px 12px;
        font-size: 0.875rem;
    }
}

/* 招商加盟Banner样式 */
.collaborate-banner {
    width: 100%;
}

.collaborate-banner-img {
    width: 100%;
    height: auto;
    display: block;
}

/* 招商加盟案例样式 */
.collaborate-case-section {
    background-color: #f6f6f6;

}

.collaborate-case-container {
    margin: 0 auto;

}

.case-header {
    text-align: center;
    margin-bottom: 60px;
}

.case-subtitle {
    font-size: 1rem;
    color: #666;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 10px;
}

.case-title {
    font-size: 2rem;
    font-weight: bold;
    color: #131614;
}

/* 招商加盟「展开」：仅最小屏展示，见 @media (max-width: 576px) */
.case-expand-btn {
    display: none;
}

.case-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.case-item {
    display: flex;
    align-items: center;
    min-height: 400px;
    overflow: hidden;
    transition: all 0.5s ease;

    background-color: #fff;
    max-width: 1200px;
    margin: 0 auto;
    width: 100%;
}

.case-item.case-active {
    height: calc(100vh - 80px);

    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1);
    width: 100vw;
    max-width: 100vw;
}



.case-image {
    width: 50%;
    transition: all 0.5s ease;
}

.case-item.case-active .case-image {
    width: 50%;
    height: 100%;
    overflow: hidden;

}

.case-image img {
    width: 100%;
    height: auto;
    object-fit: cover;

    transition: all 0.5s ease;

}

.case-item.case-active .case-image img {
    height: 100%;

}

.case-text {
    width: 50%;
    height: 100%;
    transition: all 0.5s ease;
    background-color: #fff;
    padding: 1.25rem;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    text-align: left;
}

.case-text-kicker {
    display: block;
}

.case-kicker--collab-mobile {
    display: none;
}

.case-contact-btn {
    display: inline-block;
    margin-top: 1rem;
    align-self: flex-start;
    padding: 0.65rem 2.35rem;
    border-radius: 999px;
    background-color: #2a953a;
    color: #fff;
    border: none;
    font-size: 0.9375rem;
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.case-contact-btn:hover {
    background-color: #248a32;
}

.case-item.case-active .case-text {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    text-align: left;
    padding: 3rem 2.75rem;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: transparent;
    color: #fff;
}

/* 左侧同图：模糊铺底 + 暗色遮罩（保证白字可读） */
.case-item.case-active .case-text::before {
    content: '';
    position: absolute;
    inset: -16px;
    z-index: 0;
    background-image: var(--case-bg-image);
    background-size: cover;
    background-position: center;
    filter: blur(18px);
    transform: scale(1.08);
}

.case-item.case-active .case-text::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(165deg, rgba(56, 63, 60, 0.78) 0%, rgba(6, 8, 7, 0.65) 100%);
    pointer-events: none;
}

.case-item.case-active .case-text>* {
    position: relative;
    z-index: 2;
}

.case-kicker-en {
    display: block;
    font-size: 0.75rem;
    font-weight: 300;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 0.45rem;
}

.case-kicker-zh {
    display: block;
    font-size: clamp(1.5rem, 2.4vw, 2rem);
    font-weight: 700;
    color: #131614;
    margin-bottom: 1rem;
    line-height: 1.2;
}

.case-item.case-active .case-kicker-en {
    color: rgba(255, 255, 255, 0.88);
}

.case-item.case-active .case-kicker-zh {
    color: #fff;
    margin-bottom: 1.35rem;
}

.case-name {
    font-size: 1.3333rem;
    font-weight: bold;
    color: #131614;
    margin-bottom: 15px;
    transition: all 0.5s ease;
}

.case-item.case-active .case-name {
    font-size: clamp(1.125rem, 1.6vw, 1.4rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 1.15rem;
    line-height: 1.35;
}

.case-desc-wrap {
    font-size: 0.8333rem;
    line-height: 1.8;
    color: #616261;
    margin-bottom: 10px;
    transition: all 0.5s ease;
}

.case-desc-p {
    margin: 0 0 1em;
}

.case-desc-p:last-child {
    margin-bottom: 0;
}

.case-item.case-active .case-desc-wrap {
    margin-bottom: 0;
}

.case-item.case-active .case-desc-p {
    font-size: 0.9375rem;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.96);
    margin: 0 0 1rem;
}

.case-item.case-active .case-desc-p:last-child {
    margin-bottom: 0;
}

.case-item.case-active .case-contact-btn {
    margin-top: 1.35rem;
}

.case-item.case-active .case-expand-btn {
    display: none;
}

/* 仅宽屏：非激活卡片两段预览；平板及以下由下方 768px 规则放开 */
@media (min-width: 769px) {
    .case-item:not(.case-active) .case-desc-wrap {
        max-height: calc(1.8em * 2);
        overflow: hidden;
    }

    .case-item.case-active .case-desc-wrap {
        max-height: none;
        overflow: visible;
    }
}

@media (max-width: 1250px) {
    .case-item.case-active .case-text {
        padding: 2.5rem 1.75rem !important;
    }
}

.contact-banner-wrapper {
    text-align: center;
    margin-top: 60px;
}

/* 底栏仅小屏显示：基础规则在上方，此处用 min-width 盖住（避免写在 @media 576 之前的规则被后面覆盖） */
@media (min-width: 577px) {
    .contact-banner-wrapper {
        display: none !important;
    }
}

.contact-banner-btn {
    background-color: #4CAF50;
    color: #fff;
    border: none;
    padding: 15px 60px;
    border-radius: 30px;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s ease;
}

.contact-banner-btn:hover {
    background-color: #45a049;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);
}

/* 弹窗样式 */
.modal-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal-content {
    background-color: #fff;
    border-radius: 16px;
    max-width: 700px;
    width: 100%;
    max-height: 80vh;
    overflow-y: auto;
}

.modal-header {
    padding: 30px 30px 20px;
    text-align: center;
    border-bottom: 1px solid #e0e0e0;
}

.modal-title {
    font-size: 1.2222rem;
    font-weight: bold;
    color: #131614;
}

.modal-body {
    padding: 30px;
}

.modal-body p {
    font-size: 0.8333rem;
    line-height: 1.8;
    color: #616261;
    margin-bottom: 20px;
}

.modal-body p:last-child {
    margin-bottom: 0;
}

.modal-footer {
    padding: 20px 30px 30px;
    display: flex;
    gap: 15px;
    justify-content: center;
}

.modal-btn {
    width: fit-content;
    padding: 12px 40px;
    border-radius: 25px;
    font-size: 0.8889rem;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}

.modal-btn-cancel {
    background-color: #ebedec;
    color: #2D1F20;
}

.modal-btn-cancel:hover {
    background-color: #e0e0e0;
}

.modal-btn-primary {
    background-color: #2C8E3A;
    color: #fff;
}

.modal-btn-primary:hover {
    background-color: #2C8E3A;
}

.beian-logo-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.60);
}

.beian-logo-link:hover {
    color: #fff;
}

.beian-logo {
    width: 16px;
    height: 16px;
    display: block;

}

/* 招商加盟响应式设计 */
@media (max-width: 1200px) {
    .company-overview-right {
        padding-left: 0;
    }

    .company-overview-content {
        gap: 20px;
    }

    .case-content {
        max-width: 100%;
        padding: 0 20px;
    }

    /* 1200 以下招商案例改为上下排布，避免右侧文案挤压裁切 */
    .case-item,
    .case-item.case-active {
        flex-direction: column;
        align-items: stretch;
        width: 100%;
        max-width: 100%;
        height: auto;
        min-height: 0;
    }

    .case-image,
    .case-item.case-active .case-image {
        width: 100%;
        height: auto;
        overflow: hidden;
    }

    .case-image img,
    .case-item.case-active .case-image img {
        width: 100%;
        height: auto;
        display: block;
        object-fit: cover;
    }

    .case-text,
    .case-item.case-active .case-text {
        width: 100%;
        min-height: 0;
        padding: 1.25rem;
    }

    .case-item.case-active .case-desc-wrap {
        flex: 0 1 auto;
        overflow-y: visible;
    }

    .case-item.case-active .case-contact-btn {
        margin-top: 0.85rem;
    }

    .timeline-item {
        min-width: 180px;
    }
}



/* 移动端菜单按钮样式 */
.mobile-menu-btn {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.9);
    padding: 8px;
    z-index: 10000;
}

.navbar.scrolled .mobile-menu-btn {
    color: #616261;
}

/* 移动端弹出菜单遮罩 */
.mobile-menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.mobile-menu-overlay.open {
    opacity: 1;
    visibility: visible;
}

/* 移动端弹出菜单 */
.mobile-menu {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    padding: 0;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    max-height: 100vh;
    overflow-y: auto;
}

.mobile-menu-overlay.open .mobile-menu {
    transform: translateY(0);
}

.mobile-menu-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-bottom: 1px solid #f0f0f0;
    flex-shrink: 0;
}

.mobile-menu-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #9e9e9e;
    padding: 8px;
    line-height: 0;
}

.mobile-menu-logo-link {
    display: flex;
    align-items: center;
    line-height: 0;
}

.mobile-menu-logo-img {
    height: 34px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    display: block;
}

.mobile-nav-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    flex: 1;
}

.mobile-nav-item {
    border-bottom: 1px solid #f0f0f0;
    font-size: 1rem;
    color: #616261;
    box-sizing: border-box;
}

.mobile-nav-item>a {
    color: inherit;
    text-decoration: none;
    display: block;
    padding: 18px 16px;
}

.mobile-nav-item.active {
    background-color: rgba(44, 142, 58, 0.1);
    font-weight: 700;
    color: #2d1f20;
    padding: 18px 16px;
}

.mobile-nav-item.active>a {
    color: #2d1f20;
    font-weight: 700;
}

.mobile-nav-item-contact {
    border-bottom: 1px solid #f0f0f0;
}

.mobile-nav-contact-btn {
    width: 100%;
    text-align: left;
    padding: 18px 16px;
    margin: 0;
    border: none;
    background: none;
    font: inherit;
    font-size: 1rem;
    color: #616261;
    cursor: pointer;
}

.mobile-menu-footer-actions {
    padding: 20px 16px 12px;
    flex-shrink: 0;
}

.mobile-menu-cta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 12px 16px;
    text-align: center;
    background-color: #2c8e3a;
    color: #fff;
    border: none;
    border-radius: 6px;
    text-decoration: none;
    font: inherit;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
}

.mobile-menu-cta:active {
    opacity: 0.92;
}

.mobile-menu-tech-note {
    margin: 0;
    padding: 8px 16px 20px;
    text-align: center;
    font-size: 0.75rem;
    color: #c0c0c0;
    flex-shrink: 0;
}

@media (max-width: 768px) {

    .collaborate-case-container {
        padding: 0 12px;
    }

    .case-content {
        max-width: 100%;
        padding: 0;
    }

    .case-title {
        font-size: 1.5556rem;
    }

    .case-item {
        flex-direction: column;
        gap: 20px;
        height: auto;
        min-height: 300px;
        max-width: 100%;
    }

    .case-item.case-active {
        height: auto;
        min-height: 400px;

        padding: 20px;
        max-width: 100%;
    }

    .case-image {
        width: 100% !important;
    }

    .case-item.case-active .case-image {
        width: 100% !important;
        height: auto;
    }

    .case-reverse {
        flex-direction: column;
    }

    .case-text {
        width: 100% !important;
    }

    .case-desc-wrap {
        display: block;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        max-height: none;
    }

    /* 招商加盟小屏：4 行省略 + 展开（勿用 max-height 顶行数，避免半行；多段 p 需拉成同一行盒） */
    .collaborate-case-section .case-desc-wrap.case-desc-clamp {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 4;
        line-clamp: 4;
        overflow: hidden;
        text-overflow: ellipsis;
        word-break: break-word;
        max-height: none !important;
    }

    .collaborate-case-section .case-desc-wrap.case-desc-clamp .case-desc-p {
        display: inline;
        margin: 0;
    }

    .collaborate-case-section .case-desc-wrap.case-desc-clamp .case-desc-p:not(:last-child)::after {
        content: '\A';
        white-space: pre;
    }

    .case-name {
        font-size: 14px;
    }

    .modal-content {
        border-radius: 12px;
        max-height: 83vh;
    }

    .modal-header {
        padding: 8px 12px;
        padding-top: 14px;

    }

    .modal-title {
        font-size: 15px;
    }

    .modal-body p {
        line-height: 1.5;
        margin-bottom: 0px;
    }

    .modal-body {
        padding: 8px 12px;
    }

    .modal-footer {
        padding: 0px 12px;
        padding-bottom: 12px;
    }

    .modal-btn {
        padding: 6px 12px;
        font-size: 13px;
    }

}

/* 576~768：案例故事全文展示，不做 4 行省略 */
@media (min-width: 577px) and (max-width: 768px) {
    .home-page .products .timeline {
        min-width: 60% !important;
    }

    .collaborate-case-section .case-desc-wrap.case-desc-clamp {
        display: block;
        -webkit-line-clamp: unset;
        line-clamp: unset;
        -webkit-box-orient: initial;
        overflow: visible;
        text-overflow: clip;
        max-height: none !important;
    }

    .collaborate-case-section .case-desc-wrap.case-desc-clamp .case-desc-p {
        display: block;
        margin: 0 0 1em;
    }

    .collaborate-case-section .case-desc-wrap.case-desc-clamp .case-desc-p:not(:last-child)::after {
        content: none;
    }

    .collaborate-case-section .case-expand-btn {
        display: none !important;
    }
}

/* 响应式 - 小屏幕显示移动端菜单按钮 */
@media (max-width: 768px) {
    .navbar {
        padding: 0 12px;
        background-color: #fff !important;
        padding-top: 8px;
    }

    .mobile-menu-btn {
        color: #2D1F20;
    }

    .logo-text,
    .logo-eng {
        color: #2D1F20;
    }

    .logo {
        height: 32px;
        margin-top: -6px;
    }

    .logo img {
        height: 32px;
        width: 100px;
        display: block;
        /* Avoid subpixel interpolation blur on mobile raster logos */
        image-rendering: -webkit-optimize-contrast;
        image-rendering: crisp-edges;
    }


    .mobile-menu-btn {
        display: block;
    }

    .nav-menu {
        display: none;
    }

    .contact-btn {
        display: none;
    }

    .mobile-header-contact-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        right: 12px;
        top: 50%;
        transform: translateY(-50%);
        height: 32px;
        padding: 0 12px;
        border-radius: 4px;
        background-color: #2a953a;
        color: #fff;
        font-size: 13px;
        line-height: 1;
        white-space: nowrap;
        cursor: pointer;
        border: 1px solid #2a953a;
    }

    .logo {
        position: absolute;
        left: 0;
        right: 0;
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
        transform: none;
    }
}





@media (max-width: 576px) {

    /* 首页加盟支持：强制上图下文，避免文字与图片重叠 */
    .home-page .franchise-support .support-card {
        display: flex;
        flex-direction: column;
        padding: 0;
        overflow: hidden;
    }

    .home-page .franchise-support .support-card-image {
        width: 100%;
        height: auto;
        overflow: hidden;
        flex: 0 0 auto;
    }

    .home-page .franchise-support .support-card-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        display: block;
    }

    .home-page .franchise-support .support-card-content {
        position: static;
        z-index: auto;
        background: #fff;
        padding: 16px 14px 18px;
    }

    .home-page .franchise-support .support-card-title,
    .home-page .franchise-support .support-card-desc {
        margin-left: 0;
        margin-right: 0;
    }

    /* 招商加盟：最小屏不显示「联系我们」按钮 */
    .collaborate-case-section .case-contact-btn {
        display: none !important;
    }

    /* 招商加盟：4 行省略 + 展开/收起（样式在 max-width:768px 中统一） */

    .collaborate-case-section .case-expand-btn {
        display: inline-block;
        background: none;
        border: none;
        color: #3a73e5;
        font-size: 1rem;
        padding: 0;
        cursor: pointer;
        align-self: flex-start;
    }

   
    .product-tab-btn {
        background-color: #f3f4f4;
    }

    .culture-card:nth-child(1)::after {
        display: none;
    }

    .product-tabs {
        background-color: white;
        margin-top: 10px;
        display: flex;
        justify-content: space-between;
        margin-bottom: 20px;
        max-width: calc(100vw - 24px);
        flex-wrap: nowrap;
        overflow-x: auto;
    }

    .product-tab-btn {
        font-size: 13px;
    }

    .product-tab-btn {
        padding: 6px 11px;
    }

    .culture-card-title {
        font-size: 14px;
    }

    .culture-card-desc {
        font-size: 16px;
    }

    .culture-cards {
        flex-direction: column;
        gap: 0;
        padding: 0px 12px;
        background-color: #fff;
    }

    .culture-container {
        padding: 0px;
    }

    .culture-card {
        padding: 20px 0px;
        width: 100%;
        border-bottom: 1px solid #e5e5e5;
    }

    .store-carousel {
        padding: 30px 0;
        overflow-x: hidden;
    }

    .carousel-container {
        padding: 0 12px;
        width: 100%;
        overflow: hidden;
    }

    .carousel-wrapper {
        border-radius: 8px;
        margin-bottom: 15px;
        width: 100%;
    }

    .carousel-slide img {
        height: auto;

    }

    .carousel-controls {
        padding: 0 5px;
    }

    .carousel-btn {
        width: 32px;
        height: 32px;
    }

    .carousel-btn svg {
        width: 14px;
        height: 14px;
    }

    .carousel-dots {
        padding: 5px 12px;
        gap: 8px;
    }

    .carousel-dot {
        width: 6px;
        height: 6px;
    }

    .carousel-dot.active {
        width: 24px;
    }

    .product-showcase {
        min-height: 820px;
        padding: 28px 0 18px;
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: stretch;
    }

    .showcase-container {
        width: 100%;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        gap: 0;
        padding: 12px !important;

    }

    .home-page #productShowcase .menu-item {
        font-size: 13px;
        padding: 6px 0px;
    }

    .home-page #productShowcase {
        box-sizing: border-box;
        padding-top: 120px;
    }

    .showcase-right {
        order: 1;
        margin-top: 0;
        width: 100%;
    }

    .showcase-content {
        max-width: 92%;
    }

    .showcase-title {
        font-size: 2.4rem;
        margin-bottom: 0.9rem;
        line-height: 1.15;
    }

    .showcase-desc {
        font-size: 1.1rem;
        line-height: 1.65;
        color: rgba(255, 255, 255, 0.92);
    }

    .showcase-preview {
        margin-top: 1.4rem;
        padding: 0.62rem 1rem;
        font-size: 1rem;
        border-radius: 28px;
        background-color: rgba(0, 0, 0, 0.42);
    }

    .showcase-left {
        order: 2;
        flex: none;
        width: 100%;
        margin-top: auto;
    }

    .showcase-menu {
        flex-direction: row;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: space-between;
        gap: 0;
        padding: 6px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.14);
        overflow-x: auto;
        -ms-overflow-style: none;
        scrollbar-width: none;
    }

    .showcase-menu::-webkit-scrollbar {
        display: none;
    }

    .menu-item {
        flex: 1 0 auto;
        text-align: center;
        white-space: nowrap;
        padding: 10px 14px;
        font-size: 1rem;
        color: #8d8d8d;
        border-left: none;
        border-bottom: none;
        border-radius: 999px;
        margin: 0;
    }

    .menu-item.active {
        border-left: none;
        border-bottom: none;
        color: #2D1F20;
        background: #fff;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    }

    .menu-item.active::before {
        display: none;
    }



    .preview-item {
        width: 50px;
        height: 50px;
    }

    .opening-process {
        padding: 30px 0 0;
    }

    .process-container {
        padding: 0px;
    }

    .process-subheader {
        margin-bottom: 30px;
    }

    .process-highlight {
        font-size: 1.2rem;
    }

    .process-days {
        font-size: 1.6rem;
    }

    .process-steps {
        flex-wrap: wrap;
        gap: 15px;
    }

    .process-line {
        display: none;
    }

    .process-step {
        padding: 6px 16px;
    }

    .step-number {
        width: 28px;
        height: 28px;
        font-size: 1rem;
    }

    .step-text {
        font-size: 0.9rem;
    }

    .franchise-advantage {
        padding: 30px 0 0 0px;
    }

    .advantage-container {
        padding: 0 12px;
    }

    .advantage-header {
        margin-bottom: 0px !important;
    }

    .advantage-title {
        font-size: 16px;
        margin-bottom: 30px;
    }

    .advantage-marquee-item {
        width: 300px;
    }

    .advantage-marquee-image {
        height: 240px;
    }

    .advantage-marquee-content {
        padding: 15px 5px 0;
    }

    .advantage-marquee-title {
        font-size: 1rem;
    }

    .advantage-marquee-desc {
        font-size: 0.8rem;
    }

    .franchise-support {
        padding: 30px 0;
    }

    .support-container {
        padding: 0 12px;
    }



    .support-grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .support-card-image {
        height: 180px;
    }

    .support-card-content {
        padding: 24px;
    }



    .franchise-showcase {
        padding: 60px 0;
    }

    .showcase-franchise-container {
        flex-direction: column;
        gap: 40px;
        padding: 0 20px;
    }



    .showcase-franchise-image img {
        height: 300px;
    }



    .franchise-btn {
        padding: 12px 15px;
    }

    .store-type {
        padding: 60px 0;
        height: auto;
        max-height: none;
        min-height: 100vh;
        min-height: 100dvh;
    }

    .store-type-container {
        padding: 0 20px;
    }

    .store-type-content {
        flex-direction: column;
        gap: 40px;
        padding: 30px;
    }

    .store-type-image-wrapper {
        padding: 0;
    }

    .store-type-image-wrapper img {
        height: 100%;
    }

    .store-type-btn {
        padding: 12px 25px;
    }

    .partner-section {
        padding: 60px 0;
    }

    .partner-container {
        flex-direction: column;
        gap: 40px;
        padding: 0 20px;
    }



    .partner-right img {
        height: 300px;
    }

    .about-new {
        padding: 60px 0;
    }

    .about-new-container {
        padding: 0 20px;
    }

    .about-tab-btn {
        padding: 6px 12px;
    }

    .company-content {
        flex-direction: column;
        gap: 30px;
    }

    .company-left img {
        height: 250px;
    }

    .history-timeline--road {
        padding-left: 1rem;
    }

    .history-milestone {
        margin-bottom: 1.5rem;
    }

    .culture-card {
        padding: 20px 30px;
    }

    .culture-images {
        flex-direction: column;
        gap: 10px;
        height: auto;
    }

    .culture-image-item {
        flex: none;
        height: 300px;
    }

    .culture-image-item:hover {
        flex: none;
    }

    .culture-image-item img {
        height: 100%;
    }

    .brand-subtitle,
    .about-new-subtitle,
    .about-new-subtitle-en {
        font-size: 14px !important;
    }

    .brand-title,
    .about-new-title,
    .support-title,
    .store-type-title,
    .partner-title {
        font-size: 20px !important;
    }
}

/* 右下角返回顶部：白底圆形 + 上箭头 + 轻阴影 */
.back-to-top {
    position: fixed;
    right: max(16px, env(safe-area-inset-right, 0px));
    bottom: max(24px, env(safe-area-inset-bottom, 0px));
    z-index: 9990;
    width: 52px;
    height: 52px;
    padding: 0;
    box-sizing: border-box;
    border: none;
    border-radius: 50%;
    background-color: #ffffff;
    color: #1a1d21;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition:
        opacity 0.25s ease,
        visibility 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.2s ease;
}

.back-to-top:focus-visible {
    outline: 2px solid rgba(44, 142, 58, 0.45);
    outline-offset: 2px;
}

.back-to-top.back-to-top--visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.back-to-top:hover {
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
}

.back-to-top:active {
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
}

.back-to-top-icon {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    display: block;
}

/* 首页 / 关于我们 / 产品中心：各层 .home-reveal-item 进入视口后自下而上淡入（--reveal-delay 控制同屏内层次） */
.home-page .home-reveal-item,
.about-page .home-reveal-item,
.product-page .home-reveal-item {
    opacity: 0;
    transform: translate3d(0, 28px, 0);
    transition:
        opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
    transition-delay: var(--reveal-delay, 0ms);
}

.home-page .home-reveal-item.home-reveal--visible,
.about-page .home-reveal-item.home-reveal--visible,
.product-page .home-reveal-item.home-reveal--visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {

    .home-page .home-reveal-item,
    .about-page .home-reveal-item,
    .product-page .home-reveal-item {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* 关于我们-发展历程：时间轴节点不参与首屏淡入，避免默认 opacity:0 导致年份/线条不显示 */
.about-page .history-section .home-reveal-item {
    opacity: 1 !important;
    transform: none !important;
}

/* 首页合作伙伴重做：整块背景图 + 左侧文案 */
.home-page .partner-section {
    background-image: url('https://oss.mhdos.com/www/manwei/static/storebg.jpg'), url('https://oss.mhdos.com/www/manwei/static/storebg.jpg');
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    min-height: 100vh;
    min-height: 100dvh;
}

.home-page .partner-container {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    min-height: 100dvh;
    margin: 0;
    padding: 0 clamp(56px, 8vw, 150px) 0 clamp(42px, 6vw, 120px);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0;
}



.home-page .partner-title {
    margin-bottom: 22px;
    text-align: left;
}

.home-page .partner-requirements {
    margin-bottom: 28px;
}

.home-page .partner-requirements li {
    margin-bottom: 12px;
    line-height: 1.75;
}

.home-page .partner-right,
.home-page #partnerImage,
.home-page .partner-photo,
.home-page .partner-decor-arcs {
    display: none !important;
}

.partner-section-phone {
    display: none;
}

@media (max-width: 768px) {
    .home-page .partner-section {
        display: none;
    }

    .partner-section-phone {
        display: block;
        background: linear-gradient(180deg, #f2f8eb 0%, #f6f9f0 42%, #fbfcf8 100%);
        padding: 30px 12px;
        padding-bottom: 80px;
    }

    .partner-phone-inner {
        width: 100%;
        margin: 0 auto;

    }

    .partner-phone-title {
        margin: 0 0 16px;
        text-align: center;
        font-size: 20px;
        line-height: 1.25;
        color: #2d1f20;
    }

    .partner-phone-requirements {
        list-style: disc;
        padding-left: 1.2rem;
        margin: 0 0 18px;
    }

    .partner-phone-requirements li {
        font-size: 14px;
        line-height: 1.85;
        color: #616261;
        margin-bottom: 9px;
    }

    .partner-phone-visual {
        width: 100%;
        margin-bottom: 20px;
    }

    .partner-phone-visual img {
        width: 100%;
        height: auto;
        display: block;
        border-radius: 10px;
        border: 1px solid #e7e7e7;
        object-fit: cover;
    }


}

@media (min-width: 769px) {
    .about-page .history-section {
        background-image: none;
        padding: 0;
        min-height: 0;
        overflow: hidden;
        position: relative;
    }

    .about-page .history-section .history-section-media {
        display: block;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
        z-index: 0;
    }

    .about-page .history-section .history-container {
        position: absolute;
        inset: 0;
        z-index: 1;
        padding: 3.5rem 2rem 4rem;
    }
}

@media (max-width: 768px) {
    .about-page .history-section .history-section-media {
        display: none;
    }
}

@media (min-width: 2201px) {
    .home-page .store-type-container {
        width: min(100%, 1680px);
        padding: 0 56px;
    }

    .home-page .store-type-content {
        display: grid;
        grid-template-columns: minmax(640px, 760px) minmax(520px, 1fr);
        align-items: center;
        justify-content: center;
        gap: 56px;
        min-height: auto;
    }

    .home-page .store-type-left,
    .home-page .store-type-right {
        width: 100%;
        min-width: 0;
    }

    .home-page .store-type-image-wrapper {
        width: 100%;
        max-width: 760px;
        margin: 0 auto;
        aspect-ratio: 1 / 1;
    }

    .home-page .store-type-right {
        align-items: flex-start;
    }

    .home-page .store-type-info {
        width: 100%;
        max-width: 620px;
        margin-left: 0;
    }

    .home-page .store-type-name {
        font-size: 2rem;
        margin-bottom: 14px;
        line-height: 1.3;
    }

    .home-page .store-type-subtitle {
        font-size: 1.125rem;
        margin-bottom: 20px;
        line-height: 1.6;
    }

    .home-page .store-type-features li {
        font-size: 1rem;
        line-height: 1.9;
        margin-bottom: 10px;
        overflow-wrap: anywhere;
    }
}

/* 低高度电脑（如 1351*749）：首页关于我们防重叠专项适配 */
@media (min-width: 1024px) and (max-height: 800px) {
    .home-page .about-new {
        min-height: auto;
        padding-top: 52px;
        padding-bottom: 64px;
    }

    .home-page .about-new-content {
        padding-bottom: 24px;
    }

    .home-page .about-new-title {
        font-size: 2.25rem;
        margin-bottom: 14px;
    }

    .home-page .about-new-desc {
        line-height: 1.75;
        margin-bottom: 18px;
    }

    .home-page .about-new-card {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin: 20px auto 0;
        padding: 28px 24px;
    }

    .home-page .about-new-right {
        margin-top: 16px;
    }
}

@media (min-width: 1024px) and (max-height: 760px) {
    .home-page .about-new {
        padding-top: 44px;
        padding-bottom: 56px;
    }

    .home-page .about-new-content {
        padding-bottom: 16px;
    }

    .home-page .about-new-card {
        position: relative;
        left: auto;
        bottom: auto;
        transform: none;
        width: 100%;
        max-width: 100%;
        margin-top: 24px;
        padding: 24px 22px;
    }
}

.footer-legal-line a {
    color: rgba(255, 255, 255, 0.60);
    text-decoration: none;
}

.footer-legal-line a:hover {
    color: #fff;

}

/* 769~1200：店型及选址要求防重叠专项适配 */
@media (min-width: 769px) and (max-width: 1200px) {
    .home-page .store-type {
        min-height: auto;
        padding: 44px 0 48px;
    }

    .home-page .store-type-container {
        padding: 0 18px;
    }

    .home-page .store-type-content {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: center;
        gap: clamp(20px, 2.6vw, 28px);
        min-height: auto;
        padding: 20px;
    }

    .home-page .store-type-left,
    .home-page .store-type-right {
        width: 100%;
        min-width: 0;
    }

    .home-page .store-type-image-wrapper {
        width: 100%;
        max-width: 560px;
        margin: 0;
        aspect-ratio: 1 / 1;
    }

    .home-page .store-type-right {
        align-items: flex-start;
        justify-content: center;
    }

    .home-page .store-type-info {
        width: 100%;
        max-width: 560px;
        padding-left: 4px;
    }

    .home-page .store-type-name {
        font-size: 1.45rem;
        line-height: 1.3;
        margin-bottom: 10px;
    }

    .home-page .store-type-subtitle {
        font-size: 1rem;
        margin-bottom: 12px;
    }

    .home-page .store-type-features li {
        font-size: 0.95rem;
        line-height: 1.7;
        margin-bottom: 10px;
        overflow-wrap: anywhere;
    }
}

/* 小屏兜底：关于我们卡片不覆盖下一屏（数据统计） */
@media (max-width: 991px) {
    .home-page .about-new {
        min-height: auto !important;
        padding-bottom: 36px !important;
    }

    .home-page .about-new-content {
        padding-bottom: 16px !important;
    }

    .home-page .about-new-card {
        position: relative !important;
        left: auto !important;
        bottom: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 10px auto 0 !important;
        z-index: 1;
    }

    .home-page .products {
        /* margin-top: 28px !important; */
        padding-top: 28px !important;
    }
}

@media (max-width: 1400px) {
    .case-text {
        overflow-y: auto;
        padding: 0 16px !important;
    }

    .case-text-kicker {
        margin-bottom: 8px;
    }

    .case-kicker-en {
        font-size: 13px;
    }

    .case-kicker-zh {
        font-size: 22px;
        margin-bottom: 8px !important;
    }

    .case-name {
        font-size: 17px !important;
    }

    .case-item.case-active .case-desc-p {
        font-size: 14px !important;
        margin: 0 0 6px !important;
        font-weight: 400 !important;
    }

    .case-contact-btn {
        padding: 8px 16px !important;
        font-size: 15px;
    }
}
@media (min-width: 1400px) and (max-width: 1700px) {
    .case-text {
        overflow-y: auto;
        padding: 0 20px !important;
    }

    .case-text-kicker {
        margin-bottom: 12px;
    }

    .case-kicker-en {
        font-size: 16px;
    }

    .case-kicker-zh {
        font-size: 26px;
        margin-bottom: 12px !important;
    }

    .case-name {
        font-size: 19px !important;
    }

    .case-item.case-active .case-desc-p {
        font-size: 16px !important;
        margin: 0 0 8px !important;
        font-weight: 400 !important;
    }

    .case-contact-btn {
        padding: 8px 20px !important;
        font-size: 17px;
    }
}
@media (max-width: 1300px){
    .showcase-title{
        font-size: 32px!important;
    }
    .showcase-desc{
        font-size: 24px!important;
    }
    .showcase-preview{
        font-size: 18px!important;
    }
    .showcase-container{
        gap: 0px;
    }
}
@media (max-width: 840px){
    .navbar .nav-item, .navbar .nav-item a{
        font-size: 14px!important;
    }
    .showcase-title{
        font-size: 24px!important;
    }
    .showcase-desc{
        font-size: 18px!important;
    }
    .showcase-left{
        min-width: 160px;
    }
    .showcase-container{
        gap: 0px;
    }
    
}