/* ========================
   立诚立成官网 - 响应式移动端样式
   ======================== */

@media (max-width: 1199px) {
    .container { max-width: 100%; }
    .nav-item > a { padding: 0 35px; }
    .mega-panel { width: 600px; }
}

@media (max-width: 991px) {
    .header-inner { height: 80px; }
    .logo img { height: 56px; }
    .header-search { width: 220px; }
    .contact-tel { font-size: 15px; }
    .nav-item > a { padding: 0 24px; font-size: 14px; }
    .hero-inner { height: 420px; }
    .service-sidebar { width: 200px; }
    .mega-panel { left: 200px; width: 460px; padding: 15px 20px; }
    .coverage-img { flex: 0 0 45%; }
    .cases-grid { grid-template-columns: repeat(4, 1fr); }
}

@media (max-width: 767px) {
    .site-header {
        position: sticky;
        top: 0;
        z-index: 200;
        box-shadow: 0 2px 12px rgba(0,0,0,0.08);
        background: #fff;
    }

    .header-inner { height: 65px; }
    .logo img { height: 50px; }
    .header-search, .header-contact { display: none; }
    .mobile-menu-toggle { display: block; }

    /* 移动端导航（深色高端风） */
    .main-nav {
        position: fixed;
        top: 65px; left: 0;
        width: 80%;
        max-width: 300px;
        height: calc(100% - 65px);
        background: linear-gradient(180deg, #1a2740, #0f1a2e);
        z-index: 201;
        transform: translateX(-100%);
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        overflow-y: auto;
        box-shadow: 4px 0 24px rgba(0,0,0,0.35);
        animation: none;
    }

    .main-nav::after { display: none; }

    .main-nav.open { transform: translateX(0); }

    .nav-list {
        flex-direction: column;
        align-items: stretch;
        height: auto;
        padding: 8px 0;
    }

    .nav-item {
        height: auto;
        border-bottom: 1px solid rgba(255,255,255,0.06);
    }

    .nav-item > a {
        justify-content: space-between;
        padding: 15px 20px;
        color: rgba(255,255,255,0.8);
        font-size: 15px;
    }

    .nav-item > a::after { display: none; }

    .nav-item:hover > a,
    .nav-item.active > a {
        background: rgba(184, 134, 11, 0.1);
        color: #fff;
    }

    /* Hero区域 */
    .hero-section { background: #fff; }
    .hero-inner {
        flex-direction: column;
        height: auto;
        border-radius: 0;
        box-shadow: none;
    }

    .service-sidebar {
        width: 100%;
        order: 2;
        background: linear-gradient(180deg, #1a2740, #0f1a2e);
    }

    .sidebar-title {
        cursor: pointer;
        font-size: 14px;
    }

    .service-categories { display: none; }
    .service-categories.open { display: block; }

    .cat-item {
        flex-wrap: wrap;
        height: auto;
        padding: 0;
    }

    .cat-item::before { display: none; }

    .cat-name {
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding: 14px 18px;
        font-size: 14px;
    }

    .cat-name i { transition: transform 0.3s; }
    .cat-item.open .cat-name i { transform: rotate(90deg); }
    .cat-item > i.fa-chevron-right { display: none; }

    .mega-panel {
        position: static;
        width: 100%;
        box-shadow: none;
        border-radius: 0;
        display: none;
        padding: 0 18px 14px;
        background: rgba(255,255,255,0.05);
        border: none;
    }

    .cat-item.open .mega-panel { display: block; }

    .panel-group {
        border-bottom-color: rgba(255,255,255,0.08);
        padding: 10px 0;
        border-image: none;
    }

    .panel-group h4 { font-size: 14px; color: rgba(255,255,255,0.6); }
    .panel-group h4 a { color: rgba(255,255,255,0.6); }
    .panel-links { padding-left: 0; }
    .panel-links a {
        font-size: 13px;
        padding: 4px 0 4px 12px;
        color: rgba(255,255,255,0.45);
    }

    .panel-links a:hover { color: var(--accent); }

    .hero-banner {
        order: 1;
        height: 220px;
    }

    .banner-content {
        padding: 0 45px;
        text-align: center;
    }

    .banner-content h2 {
        font-size: 22px;
        margin-bottom: 10px;
    }

    .banner-content p {
        font-size: 14px;
        margin-bottom: 18px;
    }

    .banner-btn { padding: 8px 24px; font-size: 13px; }
    .banner-btn::after { display: none; }

    .banner-prev, .banner-next {
        width: 36px; height: 46px; font-size: 16px;
        backdrop-filter: none;
    }

    /* 通用板块 */
    .section {
        padding: 30px 0;
    }

    .section::before { opacity: 0.15; }

    .section-title {
        margin-bottom: 18px;
        padding-bottom: 12px;
    }

    .section-title::after { width: 40px; }

    .section-title h2 { font-size: 17px; }

    /* 板块标题差异化（移动端收窄） */
    .section-intro .section-title h2,
    .section-process .section-title h2,
    .section-cases .section-title h2 {
        font-size: 19px;
        letter-spacing: 2px;
        padding-bottom: 12px;
    }

    /* Banner 标签 */
    .banner-tag {
        font-size: 10px;
        padding: 4px 12px;
        margin-bottom: 12px;
        letter-spacing: 2px;
    }

    /* 数字实力卡片 */
    .intro-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin: 20px 0;
    }

    .stat-card { padding: 18px 10px 16px; }
    .stat-num { font-size: 28px; }

    .intro-content { font-size: 13px; line-height: 1.85; }
    .intro-values { margin-top: 15px; padding: 14px; }
    .value-item { margin-bottom: 6px; }

    /* 服务覆盖 */
    .coverage-content {
        flex-direction: column;
        gap: 25px;
    }

    .coverage-img { flex: 0 0 auto; width: 100%; }

    .coverage-info h3 { font-size: 18px; }
    .coverage-info p { font-size: 13px; }

    .coverage-cities { gap: 10px; margin: 15px 0; }

    .city {
        width: calc(25% - 8px);
        height: 34px;
        font-size: 13px;
    }

    .coverage-hotline { font-size: 14px; }

    /* 服务流程 */
    .process-subtitle { font-size: 18px; margin-bottom: 6px; }
    .process-steps { gap: 8px; }
    .process-step { min-width: 105px; }
    .step-num { width: 28px; height: 36px; font-size: 14px; }
    .step-text { padding: 0 10px; font-size: 13px; }
    .step-arrow { font-size: 10px; }

    /* 典型案例 */
    .cases-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .case-item {
        aspect-ratio: auto;
        height: 60px;
        font-size: 11px;
    }




    /* 子页面 */
    .service-grid { grid-template-columns: 1fr; gap: 15px; }
    .service-card { padding: 18px; }
    .service-card:hover { transform: translateY(-2px); }

    .news-item {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
        padding: 12px 0;
    }

    .cooperation-info { padding: 15px; }
    .submit-btn { width: 100%; }

    /* Footer */
    .site-footer { padding: 30px 0 16px; }
    .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px; padding-bottom: 24px; }
    .footer-content { font-size: 12px; }

    .mobile-overlay.open { display: block; }
}

@media (max-width: 480px) {
    .logo img { height: 44px; }
    .hero-banner { height: 190px; }
    .banner-content h2 { font-size: 18px; }
    .banner-content p { font-size: 12px; }
    .city { width: calc(33.333% - 7px); font-size: 12px; }
    .cases-grid { grid-template-columns: repeat(2, 1fr); }
    .footer-grid { grid-template-columns: 1fr; }

    /* 服务流程 */
    .process-step { min-width: 88px; }
    .step-num { width: 24px; height: 32px; font-size: 12px; }
    .step-text { padding: 0 8px; font-size: 11px; }
    .step-arrow { font-size: 9px; }
}
