
/* ==========================================================
   锦思泉教育：手机导航与底部固定按钮重叠修正版
   ========================================================== */

.jq-mobile-nav-backdrop,
.jq-mobile-nav-panel{
    display:none;
}

@media (max-width:960px){

    .header .menu,
    header .menu,
    [data-mobile-menu]{
        position:relative;
        z-index:1003;
        cursor:pointer;
        pointer-events:auto !important;
    }

    .jq-mobile-nav-backdrop{
        display:block;
        position:fixed;
        inset:0;
        z-index:1000;
        background:rgba(4,39,70,.38);
        opacity:0;
        visibility:hidden;
        transition:opacity .22s ease, visibility .22s ease;
    }

    .jq-mobile-nav-panel{
        display:block;
        position:fixed;
        top:0;
        right:0;
        z-index:1002;
        width:min(82vw,340px);
        height:100dvh;
        box-sizing:border-box;
        padding:92px 24px calc(32px + env(safe-area-inset-bottom));
        overflow-y:auto;
        background:#fff;
        box-shadow:-18px 0 45px rgba(5,48,86,.18);
        transform:translateX(105%);
        transition:transform .25s ease;
        -webkit-overflow-scrolling:touch;
    }

    .jq-mobile-nav-panel a{
        display:flex;
        align-items:center;
        min-height:48px;
        padding:0 4px;
        border-bottom:1px solid #edf2f5;
        color:#073d70;
        text-decoration:none;
        font-size:16px;
        font-weight:700;
    }

    .jq-mobile-nav-panel a:last-child{
        margin-top:18px;
        justify-content:center;
        min-height:48px;
        padding:0 18px;
        border:0;
        border-radius:999px;
        color:#fff;
        background:linear-gradient(90deg,#087bb0,#10a8aa);
    }

    body.jq-mobile-nav-open{
        overflow:hidden;
    }

    body.jq-mobile-nav-open .jq-mobile-nav-backdrop{
        opacity:1;
        visibility:visible;
    }

    body.jq-mobile-nav-open .jq-mobile-nav-panel{
        transform:translateX(0);
    }

    /* 关键修复：
       打开侧边菜单时，隐藏页面底部固定的“预约沟通 / 查看课程” */
    body.jq-mobile-nav-open .mobile-actions{
        opacity:0 !important;
        visibility:hidden !important;
        pointer-events:none !important;
        transform:translateY(18px);
    }

    .mobile-actions{
        transition:
            opacity .18s ease,
            visibility .18s ease,
            transform .18s ease;
    }

    /* 避免原模板自带的旧手机菜单与新菜单重复 */
    .mobile-nav-backdrop,
    .mobile-nav-panel{
        display:none !important;
    }
}

@media (max-width:640px){

    .footer{
        padding:34px 0 88px !important;
    }

    .footer .container{
        width:min(100% - 28px,1200px);
    }

    .footer-grid{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
        gap:28px 20px !important;
        align-items:start !important;
    }

    .footer-brand,
    .footer-brand-clean{
        grid-column:1 / -1 !important;
        padding-bottom:22px;
        margin-bottom:0;
        border-bottom:1px solid rgba(255,255,255,.12);
    }

    .footer-brand-row{
        display:flex;
        align-items:center;
        gap:14px;
        margin-bottom:14px;
    }

    .footer-brand-mark{
        width:54px;
        height:54px;
        flex:0 0 54px;
        display:flex;
        align-items:center;
        justify-content:center;
        border-radius:15px;
        background:#fff;
        color:#073d70;
        font-size:31px;
        font-weight:900;
        line-height:1;
    }

    .footer-brand-name strong{
        display:block;
        color:#fff;
        font-size:20px;
        line-height:1.25;
        letter-spacing:1px;
    }

    .footer-brand-name span{
        display:block;
        margin-top:5px;
        color:#8fafc8;
        font-size:9px;
        letter-spacing:1.7px;
    }

    .footer-brand p{
        margin:0 !important;
        color:#b8cad9 !important;
        font-size:13px !important;
        line-height:1.75 !important;
    }

    .footer-nav-group{
        min-width:0;
    }

    .footer-nav-group h4{
        margin:0 0 12px !important;
        color:#fff !important;
        font-size:15px !important;
    }

    .footer-nav-group a{
        display:block;
        margin:0 !important;
        padding:5px 0 !important;
        color:#bfd0df !important;
        text-decoration:none;
        font-size:13px !important;
        line-height:1.55 !important;
    }

    .footer-contact-group{
        grid-column:1 / -1 !important;
        padding-top:20px;
        border-top:1px solid rgba(255,255,255,.12);
    }

    .footer-contact-links{
        display:grid;
        grid-template-columns:repeat(3,1fr);
        gap:8px;
    }

    .footer-contact-links a{
        display:flex !important;
        align-items:center;
        justify-content:center;
        min-height:38px;
        padding:0 8px !important;
        border:1px solid rgba(255,255,255,.14);
        border-radius:10px;
        text-align:center;
        background:rgba(255,255,255,.04);
    }

    .copy{
        display:block !important;
        margin-top:26px !important;
        padding-top:18px !important;
        padding-bottom:0 !important;
        border-top:1px solid rgba(255,255,255,.12) !important;
        color:#819db4 !important;
        font-size:11px !important;
        line-height:1.8 !important;
    }

    .copy span{
        display:block;
    }

    .mobile-actions{
        z-index:1100 !important;
    }
}
