/* =============================================================
   底部样式 - PC 端
   footer.htm（注册引导 CTA） + footer2.htm（主底部） + public_foot.htm
   ============================================================= */

:root{
    --foot-blue:#2B78F6;
    --foot-blue-2:#0A56C9;
    --foot-cyan:#22D0FF;
    --foot-deep:#061B45;
    --foot-text:#1A2440;
    --foot-text-2:#3F4F71;
    --foot-muted:#7C8AA6;
    --foot-line:rgba(43,120,246,.10);
    --foot-bg:#F4F7FE;
    --foot-pad-x:clamp(16px,3vw,40px);
}

/* =============================================================
   1. 注册引导 CTA 横幅
   ============================================================= */
.foot_regbox{
    position:relative;
    height:auto;
    min-height:220px;
    padding:54px 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 88% 30%,rgba(34,208,255,.32),transparent 36%),
        radial-gradient(circle at 12% 75%,rgba(255,255,255,.10),transparent 38%),
        linear-gradient(120deg,#061B45 0%,#0A56C9 55%,#0A8DD5 110%);
}
.foot_regbox::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
    background-size:48px 48px;
    -webkit-mask-image:linear-gradient(120deg,rgba(0,0,0,.6),rgba(0,0,0,.05));
    mask-image:linear-gradient(120deg,rgba(0,0,0,.6),rgba(0,0,0,.05));
    pointer-events:none;
}
.foot_regbg{
    position:relative;
    z-index:1;
    height:auto;
    min-height:120px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
}
.foot_reg{
    flex:1 1 480px;
    min-width:0;
    margin-top:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
}
.foot_regtext{
    color:#fff;
    font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif;
    font-size:clamp(22px,2.2vw,34px);
    font-weight:700;
    line-height:1.35;
    letter-spacing:.5px;
    text-shadow:0 12px 36px rgba(0,42,120,.28),0 0 26px rgba(34,208,255,.18);
}
.foot_regtext::after{
    content:"";
    display:block;
    width:72px;
    height:3px;
    margin-top:18px;
    border-radius:999px;
    background:linear-gradient(90deg,var(--foot-cyan),rgba(255,255,255,.2));
    box-shadow:0 0 18px rgba(34,208,255,.6);
}
.foot_regbtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:12px 36px;
    border-radius:999px;
    border:1px solid rgba(34,208,255,.45);
    background:linear-gradient(135deg,#fff 0%,#EAF6FF 100%);
    box-shadow:0 16px 36px rgba(34,208,255,.28);
    color:var(--foot-blue);
    font-family:Microsoft YaHei,PingFang SC,sans-serif;
    font-size:15px;
    font-weight:700;
    line-height:1.2;
    transition:transform .24s ease,box-shadow .24s ease,color .24s ease;
}
.foot_regbtn:hover{
    transform:translateY(-3px);
    color:var(--foot-blue-2);
    box-shadow:0 22px 46px rgba(34,208,255,.36);
}

/* 右侧装饰：替代原来的图片，改成 CSS 几何 + 光晕 */
.foot_regimg{
    position:relative;
    flex:0 0 auto;
    width:min(260px,28vw);
    height:160px;
    background:none;
    margin:0;
}
.foot_regimg::before,
.foot_regimg::after{
    content:"";
    position:absolute;
    border-radius:50%;
    pointer-events:none;
}
.foot_regimg::before{
    right:0;
    top:50%;
    width:170px;
    height:170px;
    transform:translateY(-50%);
    background:radial-gradient(circle,rgba(34,208,255,.42),rgba(43,120,246,.12) 50%,transparent 70%);
    filter:blur(2px);
    animation:footPulse 6s ease-in-out infinite;
}
.foot_regimg::after{
    right:42px;
    top:50%;
    width:90px;
    height:90px;
    transform:translateY(-50%);
    border:1px solid rgba(34,208,255,.55);
    box-shadow:inset 0 0 28px rgba(34,208,255,.25),0 0 28px rgba(34,208,255,.18);
}

@keyframes footPulse{
    0%,100%{ transform:translateY(-50%) scale(1); opacity:.8; }
    50%{ transform:translateY(-50%) scale(1.1); opacity:1; }
}

/* =============================================================
   2. 主底部 (footer2.htm / public_foot.htm)
   ============================================================= */
footer{
    position:relative;
    padding:72px 0 32px !important;
    background:
        radial-gradient(circle at 8% 10%,rgba(34,208,255,.06),transparent 28%),
        radial-gradient(circle at 92% 0%,rgba(43,120,246,.06),transparent 32%),
        linear-gradient(180deg,#FFFFFF 0%,#F4F7FE 100%);
    border-top:1px solid var(--foot-line);
    color:var(--foot-text);
}

.footer_box{
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:36px;
}

.footer_top{
    width:100%;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:48px;
    align-items:flex-start;
}

/* 左侧 3 列内容 */
.footer_left{
    grid-column:1 / span 3;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:36px;
    width:auto;
    align-items:flex-start;
}
.footer_left dl{
    display:flex;
    flex-direction:column;
    gap:14px;
    min-width:0;
    flex:none;
}
.footer_left dl dt{
    position:relative;
    margin:0 0 6px;
    padding-left:14px;
    color:var(--foot-text);
    font-family:Microsoft YaHei UI,Microsoft YaHei,PingFang SC,sans-serif;
    font-size:15px;
    font-weight:700;
    line-height:1.4;
}
.footer_left dl dt::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:4px;
    height:16px;
    border-radius:999px;
    background:linear-gradient(180deg,var(--foot-cyan),var(--foot-blue));
    box-shadow:0 0 10px rgba(34,208,255,.45);
    transform:translateY(-50%);
}
.footer_left dl dd{
    margin:0;
}
.footer_left dl dd a{
    position:relative;
    display:inline-block;
    padding-left:0;
    color:var(--foot-text-2);
    font-family:PingFang SC,Microsoft YaHei,sans-serif;
    font-size:13px;
    font-weight:400;
    line-height:1.7;
    transition:color .22s ease,transform .22s ease,padding-left .22s ease;
}
.footer_left dl dd a:hover{
    color:var(--foot-blue);
    padding-left:6px;
}
.footer_left dl dd a::before{
    content:"";
    position:absolute;
    left:-10px;
    top:50%;
    width:0;
    height:1px;
    background:var(--foot-blue);
    opacity:0;
    transform:translateY(-50%);
    transition:width .22s ease,opacity .22s ease,left .22s ease;
}
.footer_left dl dd a:hover::before{
    width:6px;
    left:-4px;
    opacity:1;
}

/* 右侧第 4 列：Logo + Tagline + CTA（隐藏二维码） */
.footer_right{
    grid-column:4 / span 1;
    width:auto;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
    padding:24px 22px;
    border:1px solid var(--foot-line);
    border-radius:18px;
    background:
        radial-gradient(circle at 100% 0%,rgba(34,208,255,.08),transparent 40%),
        rgba(255,255,255,.7);
    box-shadow:0 18px 42px rgba(28,68,156,.08);
    color:var(--foot-text-2);
    font-family:PingFang SC,Microsoft YaHei,sans-serif;
    font-size:13px;
    line-height:1.7;
    backdrop-filter:blur(14px);
}
.footer_right .foot_logo{
    width:auto;
    max-width:150px;
    height:auto;
    margin-bottom:4px;
}

 

.footer_right p{
    margin:0;
    color:var(--foot-text-2);
    font-size:13px;
    line-height:1.65;
}
.footer_right .foot_phone{
    display:inline-block;
    color:var(--foot-blue);
    font-family:Microsoft YaHei,sans-serif;
    font-size:18px;
    font-weight:700;
    line-height:1.3;
    letter-spacing:.5px;
}

.footer_right .foot_btn{
    display:inline-flex;
    width:auto;
    min-width:160px;
    padding:11px 26px;
    margin-top:4px;
    justify-content:center;
    align-items:center;
    gap:8px;
    border-radius:999px;
    border:none;
    background:linear-gradient(135deg,var(--foot-blue),var(--foot-cyan));
    color:#fff;
    font-family:PingFang SC,Microsoft YaHei,sans-serif;
    font-size:14px;
    font-weight:500;
    line-height:1.2;
    box-shadow:0 14px 30px rgba(43,120,246,.28);
    cursor:pointer;
    transition:transform .22s ease,box-shadow .22s ease;
}
.footer_right .foot_btn::before{
    content:"";
    display:inline-block;
    width:8px;
    height:8px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 4px rgba(255,255,255,.3);
    margin-right:4px;
}
.footer_right .foot_btn:hover{
    transform:translateY(-3px);
    box-shadow:0 20px 40px rgba(43,120,246,.38);
}

/* =============================================================
   3. 友情链接
   ============================================================= */
.flink{
    width:100%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:10px 14px;
    padding:24px 0;
    border-top:1px dashed var(--foot-line);
    border-bottom:1px dashed var(--foot-line);
    font-family:PingFang SC,Microsoft YaHei,sans-serif;
}
.flink > span{
    flex:0 0 auto;
    color:var(--foot-text);
    font-size:13px;
    font-weight:700;
    line-height:1.6;
    margin-right:4px;
}
.flink a{
    display:inline-flex;
    align-items:center;
    padding:5px 12px;
    border-radius:999px;
    background:rgba(43,120,246,.06);
    color:var(--foot-text-2);
    font-size:12px;
    font-weight:400;
    line-height:1.6;
    transition:background .22s ease,color .22s ease,transform .22s ease;
}
.flink a:hover{
    background:linear-gradient(135deg,var(--foot-blue),var(--foot-cyan));
    color:#fff;
    transform:translateY(-2px);
}

/* =============================================================
   4. 版权
   ============================================================= */
.footer_down{
    width:100%;
    padding-top:8px;
    color:var(--foot-muted);
    text-align:center;
    font-family:PingFang SC,Microsoft YaHei,sans-serif;
    font-size:12px;
    font-weight:400;
    line-height:2;
}
.footer_down a{
    display:inline-block;
    margin:0 6px;
    color:var(--foot-text-2);
    font-size:12px;
    transition:color .22s ease;
}
.footer_down a:hover{ color:var(--foot-blue); }

/* 通用 hover 颜色 */
.footer_left a:hover,
.flink a:hover,
.footer_down a:hover{ color:var(--foot-blue); }

/* =============================================================
   5. 响应式
   ============================================================= */
@media (max-width:1180px){
    .footer_top{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:32px 36px;
    }
    .footer_left{
        grid-column:1 / -1;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:32px;
    }
    .footer_right{
        grid-column:1 / -1;
        max-width:none;
    }
}

@media (max-width:768px){
    footer{ padding:56px 0 24px !important; }
    .foot_regbox{ padding:42px 0; min-height:auto; }
    .foot_regimg{ display:none; }
    .foot_reg{ flex:1 1 100%; }

    .footer_top{ gap:28px; }
    .footer_left{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:28px;
    }
    .footer_right{
        padding:20px 18px;
    }
    .flink{ padding:20px 0; }
    .flink > span{ width:100%; }
}

@media (max-width:480px){
    .footer_left{ grid-template-columns:1fr; }
}
