/* FlamingoTechs - Modern Footer Styles */
.ft-site-footer {
    width: 100%;
    position: relative;
    clear: both;
}

/* =========================================
   Floating Contact Dock & Footer Navigation (Extracted from components/footer.php)
   ========================================= */
html {
    background-color: #FAFAFC;
    transition: background-color 0.3s ease;
}
body {
    background-color: #FAFAFC;
    min-height: 100vh;
    transition: background-color 0.3s ease;
}
html, body {
    overflow-x: hidden;
    width: 100%;
    position: relative;
}
/* 统一容器基础样式 */
.fixed-dock-container {
    position: fixed;
    top: 50%;
    transform: translateY(-50%);
    z-index: 99999;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
    right: 20px; /* 默认靠右 20px，保障小屏幕及兼容性 */
}

/* PC端 dock-items-wrapper 基础排列 */
.dock-items-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

/* PC端隐藏移动端专用触发按钮 */
.mobile-dock-trigger {
    display: none !important;
}

/* 屏幕宽度很富裕时（>= 1480px），吸附在 1280px 主内容区右侧 24px 处 (1280px / 2 + 24px = 664px) */
@media (min-width: 1480px) {
    .fixed-dock-container {
        left: 50%;
        margin-left: 664px;
        right: auto;
    }
}

/* 屏幕宽度在 1025px ~ 1479px 时，优先保全桌面悬浮窗不被窗口截断，贴紧窗口右边 20px */
@media (min-width: 1025px) and (max-width: 1479px) {
    .fixed-dock-container {
        left: auto;
        right: 20px;
        margin-left: 0;
    }
}
    
    /* =========================================
       ★ 平板端 & 移动端核心升级 (Tablet & Mobile Semi-Transparent FAB)
       ========================================= */
    @media (max-width: 1024px) { 
        .fixed-dock-container { 
            display: flex; 
            left: auto !important; 
            right: 18px !important; 
            top: auto !important; 
            bottom: calc(20px + env(safe-area-inset-bottom, 0px)) !important; 
            transform: none !important; 
            margin-left: 0 !important;
            flex-direction: column;
            align-items: flex-end;
            gap: 10px;
            z-index: 99999;
        }

        /* 移动端专属半透明悬浮触发按钮 */
        .mobile-dock-trigger {
            display: flex !important;
            align-items: center;
            justify-content: center;
            width: 48px;
            height: 48px;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.78);
            backdrop-filter: blur(14px);
            -webkit-backdrop-filter: blur(14px);
            border: 1.5px solid rgba(123, 97, 255, 0.35);
            box-shadow: 0 6px 20px rgba(123, 97, 255, 0.22), 0 2px 6px rgba(0, 0, 0, 0.06);
            color: #7B61FF;
            cursor: pointer;
            position: relative;
            z-index: 100000;
            padding: 0;
            outline: none;
            transition: all 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
            -webkit-tap-highlight-color: transparent;
        }

        .mobile-dock-trigger:active {
            transform: scale(0.92);
        }

        .mobile-dock-trigger-inner {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 100%;
            height: 100%;
        }

        .mobile-dock-trigger .icon-chat {
            display: block;
            width: 22px;
            height: 22px;
            stroke-width: 2.2;
            transition: transform 0.25s ease;
        }

        .mobile-dock-trigger .icon-close {
            display: none;
            width: 22px;
            height: 22px;
            stroke-width: 2.5;
            transition: transform 0.25s ease;
        }

        /* 展开状态下切换为品牌电光紫色背景与 × 图标（纯色无渐变） */
        .fixed-dock-container.is-expanded .mobile-dock-trigger {
            background: #7B61FF !important;
            background-image: none !important;
            border-color: transparent !important;
            color: #FFFFFF !important;
            box-shadow: 0 8px 24px rgba(123, 97, 255, 0.45) !important;
        }

        .side-popup-card .form-submit-btn {
            background: #7B61FF !important;
            background-image: none !important;
            color: #FFFFFF !important;
            box-shadow: 0 4px 14px rgba(123, 97, 255, 0.3) !important;
        }
        .side-popup-card .form-submit-btn:hover,
        .side-popup-card .form-submit-btn:active {
            background: #6a50e5 !important;
            box-shadow: 0 6px 18px rgba(123, 97, 255, 0.42) !important;
        }

        .fixed-dock-container.is-expanded .mobile-dock-trigger .icon-chat {
            display: none;
        }

        .fixed-dock-container.is-expanded .mobile-dock-trigger .icon-close {
            display: block;
        }

        /* 呼吸光环红点 */
        .mobile-dock-pulse {
            position: absolute;
            top: 0px;
            right: 0px;
            width: 10px;
            height: 10px;
            background: #f9736f;
            border-radius: 50%;
            border: 2px solid #FFFFFF;
            box-shadow: 0 0 0 0 rgba(249, 115, 111, 0.7);
            animation: dockPulse 2s infinite;
        }

        .fixed-dock-container.is-expanded .mobile-dock-pulse {
            display: none;
        }

        @keyframes dockPulse {
            0% { box-shadow: 0 0 0 0 rgba(249, 115, 111, 0.7); }
            70% { box-shadow: 0 0 0 7px rgba(249, 115, 111, 0); }
            100% { box-shadow: 0 0 0 0 rgba(249, 115, 111, 0); }
        }

        /* 移动端收起/展开包裹层 */
        .dock-items-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 10px;
            opacity: 0;
            visibility: hidden;
            pointer-events: none;
            transform: translateY(16px) scale(0.9);
            transform-origin: bottom right;
            transition: all 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
            margin-bottom: 2px;
        }

        .fixed-dock-container.is-expanded .dock-items-wrapper {
            opacity: 1;
            visibility: visible;
            pointer-events: auto;
            transform: translateY(0) scale(0.88);
        }

        /* 修复点：在手机端彻底隐藏白色的悬浮滑块，防止错位 */
        .hover-pill {
            display: none !important;
        }
        
        /* 强制修复弹窗定位 */
        .side-popup-card {
            /* 1. 清除 PC 端的所有定位干扰 */
            left: auto !important;
            top: auto !important; 
            transform: none !important; 
            
            /* 2. 重新定义手机端位置：固定在 Dock 的左方 */
            right: 75px !important; 
            bottom: 0 !important;   
            
            /* 3. 动画初始状态 */
            transform: translateX(20px) scale(0.9) !important;
            transform-origin: bottom right !important;
        }

        /* 4. 激活状态：复原 */
        .side-popup-card.show { 
            transform: translateX(0) scale(1) !important; 
        }

        /* 5. 调整箭头位置指向右侧 (指向 Dock) */
        .popup-arrow { 
            top: auto !important; 
            bottom: 25px !important; 
            right: -8px !important; 
            border-left-color: #FFFFFF !important;
            border-top-color: transparent !important;
            border-bottom-color: transparent !important;
        }
    }

    /* 弹窗样式 (PC默认) */
    .side-popup-card {
        position: absolute; right: 100%; margin-right: 25px; 
        width: 280px; background: #FFFFFF; border-radius: 16px;
        box-shadow: 0 10px 40px rgba(0,0,0,0.15), 0 2px 10px rgba(0,0,0,0.05);
        padding: 24px; text-align: center;
        visibility: hidden; opacity: 0;
        /* PC 端默认动画 */
        transform: translateY(-50%) translateX(-15px) scale(0.95);
        transition: all 0.25s cubic-bezier(0.2, 0.8, 0.2, 1);
        z-index: 99998; pointer-events: none;
        will-change: transform, opacity;
    }
    .side-popup-card.show { visibility: visible; opacity: 1; transform: translateY(-50%) translateX(0) scale(1); pointer-events: auto; }
    
    .popup-arrow { position: absolute; top: 50%; right: -8px; transform: translateY(-50%); width: 0; height: 0; border-top: 8px solid transparent; border-bottom: 8px solid transparent; border-left: 8px solid #FFFFFF; filter: drop-shadow(2px 0 2px rgba(0,0,0,0.05)); }
    
    .popup-title { margin: 0 0 6px 0; font-size: 18px; font-weight: bold; color: #111; }
    .popup-desc { margin: 0 0 20px 0; font-size: 13px; color: #666; line-height: 1.4; }
    .popup-note { margin: 15px 0 0 0; font-size: 12px; color: #999; }
    .qr-placeholder { width: 160px; height: 160px; margin: 0 auto; background: #f5f5f5; border-radius: 12px; overflow: hidden; }
    .qr-placeholder img { width: 100%; height: 100%; object-fit: contain; }

    /* 表单 */
    .mini-form { display: flex; flex-direction: column; gap: 12px; text-align: left; }
    .form-input { width: 100%; padding: 12px; border: 1px solid #E5E7EB; border-radius: 8px; font-size: 14px; background: #F9FAFB; box-sizing: border-box; color: #4e4e5e; }
    .form-input:focus { border-color: #7B61FF; background: #fff; outline: none; }
    .form-submit-btn { width: 100%; padding: 12px; background: #7b61ff; color: #fff; border: none; border-radius: 8px; font-size: 14px; font-weight: 600; cursor: pointer; transition: background 0.2s; }
    .form-submit-btn:hover { background: #6a50e5; }

    /* Radio & Select */
    .radio-group-box { display: flex; flex-direction: column; gap: 10px; margin-bottom: 5px; }
    .radio-card { border: 1px solid #E5E7EB; border-radius: 8px; padding: 10px; cursor: pointer; transition: all 0.2s; text-align: left; }
    .radio-card:hover { border-color: #7b61ff; }
    .radio-card.active { border-color: #7b61ff; background-color: #F9F7FF; }
    .radio-header { display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
    .radio-title { font-size: 14px; font-weight: 600; color: #333; }
    .radio-desc { font-size: 12px; color: #4e4e5e; padding-left: 24px; display: block; font-weight: 500;}
    .time-select { margin-top: 8px; width: 100%; padding: 6px; font-size: 12px; border: 1px solid #eee; border-radius: 4px; color: #4e4e5e; font-weight: 500;}

    /* 联系人列表 */
    .contact-list { margin-top: 20px; text-align: left; border-top: 1px solid #f0f0f0; padding-top: 15px; }
    .contact-row { display: flex; gap: 12px; align-items: center; cursor: pointer; }
    .icon-swap-wrapper { position: relative; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; }
    .icon-normal, .icon-hover { position: absolute; width: 100%; height: 100%; object-fit: contain; transition: opacity 0.3s ease; }
    .icon-normal { opacity: 1; } .icon-hover { opacity: 0; }
    .contact-row:hover .icon-normal { opacity: 0; } .contact-row:hover .icon-hover { opacity: 1; }
    .contact-row .text { display: flex; flex-direction: column; justify-content: center; }
    .contact-row .label { font-size: 14px; color: #333; font-weight: 600; margin-bottom: 2px; line-height: 1.2; }
    .contact-row .value { font-size: 12px; font-weight: normal; color: #666;  }
    .popup-footer-info { margin-top: 15px; font-size: 12px; color: #666; padding-top: 10px; border-top: 1px solid #f0f0f0; }
    .footer-link { color: #7B61FF; text-decoration: none; font-weight: 500; display: block; margin-top: 2px; }

    /* 悬浮窗外框 */
    .liquid-glass {
        backdrop-filter: url(#liquidGlass) blur(12px); -webkit-backdrop-filter: url(#liquidGlass) blur(12px);
        box-shadow: 0 20px 40px rgba(0,0,0,0.12), inset 0 0 0 1.5px rgba(255,255,255, 0.9), inset 0 0 15px rgba(255,255,255, 0.5);
        position: relative; width: 74px; padding: 5px; 
        display: flex; flex-direction: column; align-items: center;
        background-color: rgba(255, 255, 255, 0.55);
        border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 40px;
        transform: translateZ(0); 
        will-change: transform;
    }
    .liquid-glass::before {
        content: ''; position: absolute; width: 140px; height: 140px; border-radius: 50%;
        background: radial-gradient(circle, rgba(123, 97, 255, 0.2) 0%, rgba(255, 255, 255, 0.1) 40%, rgba(255, 255, 255, 0) 70%);
        filter: blur(10px); pointer-events: none; opacity: 0; transition: opacity 0.3s ease;
        transform: translate(-50%, -50%); top: var(--mouse-y, 50%); left: var(--mouse-x, 50%);
        z-index: 0; mix-blend-mode: normal; 
    }
    .liquid-glass:hover::before { opacity: 1; }

    /* Hover Pill */
    .hover-pill {
        position: absolute;
        left: 5px; right: 5px;
        background: linear-gradient(180deg, #FFFFFF 0%, #F5F7FA 100%);
        border: 1px solid rgba(0,0,0,0.08);
        border-radius: 34px !important; 
        box-shadow: 0 8px 20px rgba(0,0,0,0.1), 0 2px 5px rgba(0,0,0,0.02);
        z-index: 1;
        opacity: 0;
        pointer-events: none;
        transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        will-change: top, height, opacity;
    }

    /* 按钮基础样式 */
    .glass-item {
        display: flex; flex-direction: column; align-items: center; justify-content: center;
        width: 100%; padding: 12px 0; margin: 1px 0;
        cursor: pointer; color: #000000; position: relative; 
        z-index: 2; /* 确保文字图标在滑块上方 */
        transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
        background: transparent;
        border: 1px solid transparent; 
    }
    .glass-item:hover .dock-icon, .glass-item.is-active .dock-icon { 
        transform: scale(1.1); 
        filter: brightness(1.05) drop-shadow(0 4px 6px rgba(0,0,0,0.15)); 
    }

    .trigger-wechat { margin-bottom: 2px; }
    .trigger-email { margin-top: 2px; }
    .dock-icon { width: 36px; height: 36px; margin-bottom: 4px; object-fit: contain; transition: all 0.3s ease; filter: drop-shadow(0 2px 3px rgba(0,0,0,0.1)); }
    .item-label { font-size: 12px; font-weight: 600; color: #1d1d1f; }
    .glass-divider { width: 60%; height: 1px; background: rgba(0,0,0,0.08); z-index: 1; position: relative; }

    /* 头像按钮 */
    .dock-avatar-wrapper {
        position: relative; cursor: pointer; display: flex; flex-direction: column; align-items: center; margin-bottom: 8px; transition: transform 0.3s;
    }
    .dock-avatar-wrapper:hover, .dock-avatar-wrapper.is-active { transform: scale(1.05); }
    .dock-avatar {
        width: 70px; height: 70px; border-radius: 50%; border: 4px solid #7B61FF;
        box-shadow: 0 8px 20px rgba(123, 97, 255, 0.3); overflow: hidden; background: #fff;
        z-index: 1; display: flex; justify-content: center; align-items: center;
    }
    .dock-avatar img { width: 100%; height: 100%; object-fit: cover; }
    .avatar-label-box {
        background: #fff; color: #333; font-size: 12px; font-weight: bold; padding: 5px 10px; margin-top: -14px; z-index: 2;
        box-shadow: 0 4px 15px rgba(0,0,0,0.15); border-radius: 4px; white-space: nowrap; text-align: center;
        min-width: 64px; border: 1px solid rgba(0,0,0,0.08);
    }

/* =========================================
   1. Footer 核心变量与容器
   ========================================= */
    .ft-footer-wrapper {
        --ft-purple: #7B61FF;
        --ft-pink: #f9736f;
        --ft-bg-dark: #0B0F19;
        --ft-text-light: rgba(255, 255, 255, 0.9);
        --ft-text-muted: rgba(255, 255, 255, 0.5);
        --ft-border: rgba(255, 255, 255, 0.1);

        background-color: var(--ft-bg-dark);
        color: var(--ft-text-light);
        padding: 80px 0 calc(40px + env(safe-area-inset-bottom, 0px)) 0;
        display: flex;
        flex-direction: column;
    }

    .ft-footer-container {
        width: min(92%, var(--container-max-width, 1280px));
        max-width: var(--container-max-width, 1280px);
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }

    /* =========================================
   2. 桌面端布局
   ========================================= */
    .ft-footer-main {
        display: grid;
        grid-template-columns: 2.5fr 1fr 1fr;
        gap: 80px;
        margin-bottom: 60px;
    }

    .ft-footer-brand {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        height: 100%;
    }

    .ft-footer-brand .ft-footer-logo {
        display: inline-flex;
        align-items: center;
        gap: 16px;
        text-decoration: none;
        margin: 0;
        line-height: 1;
    }

    .ft-footer-brand .ft-footer-logo img {
        height: 50px;
        width: auto;
        background-color: #fafafc;
        padding: 6px 14px;
        border-radius: 10px;
        display: block;
        flex-shrink: 0;
        box-sizing: border-box;
    }

    .ft-footer-brand .ft-footer-logo-text {
        font-size: 28px;
        font-weight: 600;
        color: #ffffff;
        line-height: 1;
        white-space: nowrap;
    }

    /* 优化邮箱下划线：仅随文字长度变化 */
    .ft-footer-email {
        display: inline-block;
        font-size: 16px;
        font-weight: 600;
        color: #ffffff;
        text-decoration: none;
        border-bottom: 2px solid var(--ft-purple);
        padding-bottom: 4px;
        line-height: 1.2;
        margin: 0;
        transition: all 0.3s ease;
    }

    .ft-footer-email:hover {
        color: var(--ft-pink);
        border-color: var(--ft-pink);
    }

    /* 美加业务节点信息（极简无框纯文本） */
    .ft-footer-locations {
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
    }

    .ft-footer-location-item {
        font-size: 14px;
        line-height: 1.5;
        color: var(--ft-text-muted);
    }

    /* 导航列样式：顶边对齐左侧火烈鸟科技 Logo */
    .ft-footer-col {
        display: flex;
        flex-direction: column;
    }

    .ft-footer-heading {
        margin: 0 0 24px 0;
        padding: 0;
        line-height: 1.2;
    }

    .ft-footer-col-trigger {
        background: transparent;
        border: none;
        padding: 0;
        margin: 0;
        text-align: left;
        color: #ffffff;
        font-family: inherit;
        font-size: 17px;
        font-weight: 600;
        line-height: 1.2;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        cursor: default;
        pointer-events: none;
        width: 100%;
    }

    .ft-accordion-arrow {
        display: none;
    }

    .ft-footer-col-panel {
        display: block;
    }

    .ft-footer-nav {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 16px;
    }

    .ft-footer-nav a {
        text-decoration: none;
        color: var(--ft-text-muted);
        font-size: 15px;
        line-height: 1.4;
        transition: color 0.2s ease;
    }

    .ft-footer-nav a:hover {
        color: #ffffff;
    }

    /* SEO 链接区域 */
    .ft-footer-seo {
        border-top: 1px solid var(--ft-border);
        padding-top: 40px;
        margin-bottom: 40px;
        display: flex;
        flex-direction: column;
        gap: 30px;
    }

    .ft-seo-row {
        display: flex;
        gap: 40px;
    }

    .ft-seo-heading {
        width: 140px;
        flex-shrink: 0;
    }

    .ft-seo-heading .ft-footer-col-trigger {
        pointer-events: none;
        cursor: default;
        background: transparent;
        border: none;
        padding: 0;
        margin: 0;
        display: block;
        width: 100%;
        text-align: left;
    }

    .ft-seo-heading .ft-footer-col-title {
        font-size: 15px;
        font-weight: 600;
        color: var(--ft-text-light);
        display: inline-flex;
        align-items: center;
        gap: 8px;
        white-space: nowrap;
    }

    .ft-footer-flag {
        display: inline-block;
        width: 21px;
        height: 15px;
        object-fit: cover;
        border-radius: 2px;
        box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.2);
        vertical-align: middle;
        flex-shrink: 0;
    }

    .ft-seo-heading .ft-accordion-arrow {
        display: none;
    }

    .ft-seo-row .ft-footer-col-panel {
        display: block;
        flex: 1;
    }

    .ft-seo-links {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        gap: 16px 20px;
    }

    .ft-seo-links a {
        font-size: 13px;
        color: var(--ft-text-muted);
        text-decoration: none;
        white-space: nowrap;
        transition: color 0.2s ease;
    }

    .ft-seo-links a:hover {
        color: #ffffff;
    }

    .ft-copyright {
        font-size: 14px;
        color: var(--ft-text-muted);
        border-top: 1px solid var(--ft-border);
        padding-top: 20px;
    }

    .ft-copyright a {
        color: var(--ft-text-muted);
    }

    .ft-copyright a:hover {
        color: var(--ft-text-light);
    }

    /* =========================================
       3. 平板端适配 (768px ~ 1024px)
       ========================================= */
    @media (max-width: 1024px) {
        .ft-footer-wrapper {
            padding: 50px 0 30px 0;
        }

        .ft-footer-container {
            width: 100%;
            padding: 0 28px;
        }

        /* 平板端保持三列，压缩间距与字号 */
        .ft-footer-main {
            display: grid;
            grid-template-columns: 1.5fr 1fr 1fr;
            gap: 36px;
            margin-bottom: 40px;
        }

        .ft-footer-heading {
            margin: 0 0 20px 0;
        }

        .ft-footer-seo {
            border-top: 1px solid var(--ft-border);
            padding-top: 26px;
            margin-bottom: 26px;
            gap: 16px;
            align-items: flex-start;
        }

        .ft-seo-row {
            display: flex;
            flex-direction: row;
            align-items: baseline;
            gap: 16px;
            width: 100%;
        }

        .ft-seo-heading {
            width: 82px;
            min-width: 82px;
            flex-shrink: 0;
            padding: 0;
            margin: 0;
        }

        .ft-seo-heading .ft-footer-col-title {
            color: var(--ft-purple);
            font-size: 14px;
            font-weight: 600;
            white-space: nowrap;
            line-height: 1.5;
        }

        .ft-seo-links {
            display: flex;
            flex-wrap: wrap;
            justify-content: flex-start;
            align-items: baseline;
            flex: 1;
            gap: 8px 16px;
        }

        .ft-seo-links a {
            font-size: 13.5px;
            line-height: 1.5;
            display: inline-block;
            padding: 0;
        }

        .ft-copyright {
            font-size: 13px;
            text-align: left;
            margin-top: 10px;
            padding-top: 16px;
        }
    }

    /* =========================================
       4. 手机端适配 (< 768px)
       ========================================= */
    @media (max-width: 767px) {
        .ft-footer-wrapper {
            padding: 36px 0 calc(24px + env(safe-area-inset-bottom, 20px)) 0;
        }

        .ft-footer-container {
            padding: 0 20px;
        }

        /* 手机端结构：上方为品牌信息，下方为 Apple 风格优雅全宽手风琴导航 */
        .ft-footer-main {
            display: flex;
            flex-direction: column;
            gap: 0;
            margin-bottom: 24px;
        }

        .ft-footer-brand {
            width: 100%;
            margin-bottom: 20px;
        }

        .ft-footer-brand .ft-footer-logo {
            margin-bottom: 14px;
            gap: 12px;
        }

        .ft-footer-brand .ft-footer-logo img {
            height: 38px;
            width: auto;
            padding: 4px 11px;
            border-radius: 8px;
        }

        .ft-footer-brand .ft-footer-logo-text {
            font-size: 21px;
            line-height: 1;
            white-space: nowrap;
        }

        .ft-footer-email {
            font-size: 15px;
        }

        .ft-footer-locations {
            margin-top: 16px;
            gap: 6px;
        }

        .ft-footer-location-item {
            font-size: 13px;
            line-height: 1.5;
        }

        /* Apple 风格手风琴折叠栏 */
        .ft-footer-accordion {
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            width: 100%;
        }

        .ft-footer-heading {
            margin: 0;
            padding: 0;
        }

        .ft-footer-col-trigger {
            pointer-events: auto;
            cursor: pointer;
            padding: 14px 0;
            margin: 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            background: transparent;
            border: none;
            -webkit-tap-highlight-color: transparent;
            user-select: none;
            transition: color 0.2s ease;
        }

        .ft-footer-col-trigger:active .ft-footer-col-title {
            color: var(--ft-purple);
        }

        .ft-footer-col-title {
            font-size: 14.5px;
            font-weight: 600;
            color: #ffffff;
            letter-spacing: 0.3px;
            display: inline-flex;
            align-items: center;
            gap: 8px;
        }

        .ft-accordion-arrow {
            display: block;
            color: var(--ft-text-muted);
            transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), color 0.2s ease;
            flex-shrink: 0;
            margin-right: 2px;
        }

        .ft-footer-col.is-open .ft-accordion-arrow {
            transform: rotate(180deg);
            color: var(--ft-purple);
        }

        .ft-footer-col-panel {
            display: grid;
            grid-template-rows: 0fr;
            overflow: hidden;
            visibility: hidden;
            transition: grid-template-rows 0.35s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.35s ease;
        }

        .ft-footer-col.is-open .ft-footer-col-panel {
            grid-template-rows: 1fr;
            visibility: visible;
        }

        .ft-footer-col-panel > ul {
            min-height: 0;
            overflow: hidden;
        }

        .ft-footer-nav {
            padding: 0;
            gap: 10px;
        }

        .ft-footer-col.is-open .ft-footer-nav {
            padding: 2px 0 16px 0;
        }

        .ft-footer-nav a {
            font-size: 13.5px;
            line-height: 1.5;
            color: var(--ft-text-muted);
            display: block;
            padding: 4px 0;
            transition: color 0.2s ease;
        }

        .ft-footer-nav a:hover,
        .ft-footer-nav a:active {
            color: #ffffff;
        }

        /* SEO 城市区域在手机端无缝融入 Apple 手风琴折叠栏 */
        .ft-footer-seo {
            border-top: none;
            padding-top: 0;
            margin-bottom: 24px;
            gap: 0;
            display: flex;
            flex-direction: column;
        }

        .ft-seo-row {
            display: flex;
            flex-direction: column;
            width: 100%;
            border-top: 1px solid rgba(255, 255, 255, 0.08);
            gap: 0;
        }

        .ft-seo-heading {
            width: 100%;
            margin: 0;
            padding: 0;
        }

        .ft-seo-heading .ft-footer-col-trigger {
            pointer-events: auto;
            cursor: pointer;
            padding: 14px 0;
            margin: 0;
            display: flex;
            justify-content: space-between;
            align-items: center;
            width: 100%;
            background: transparent;
            border: none;
            -webkit-tap-highlight-color: transparent;
            user-select: none;
            transition: color 0.2s ease;
        }

        .ft-seo-heading .ft-footer-col-trigger:active .ft-footer-col-title {
            color: var(--ft-purple);
        }

        .ft-seo-heading .ft-footer-col-title {
            font-size: 14.5px;
            font-weight: 600;
            color: #ffffff;
            letter-spacing: 0.3px;
        }

        .ft-seo-heading .ft-accordion-arrow {
            display: block;
            color: var(--ft-text-muted);
            transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1), color 0.2s ease;
            flex-shrink: 0;
            margin-right: 2px;
        }

        .ft-seo-row.is-open .ft-accordion-arrow {
            transform: rotate(180deg);
            color: var(--ft-purple);
        }

        .ft-seo-row .ft-footer-col-panel {
            display: grid;
            grid-template-rows: 0fr;
            overflow: hidden;
            visibility: hidden;
            transition: grid-template-rows 0.35s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.35s ease;
        }

        .ft-seo-row.is-open .ft-footer-col-panel {
            grid-template-rows: 1fr;
            visibility: visible;
        }

        .ft-seo-links {
            min-height: 0;
            overflow: hidden;
            display: flex;
            flex-wrap: wrap;
            gap: 8px 12px;
            padding: 0;
        }

        .ft-seo-row.is-open .ft-seo-links {
            padding: 4px 56px 16px 0; /* 右侧 56px 安全避让悬浮窗 */
        }

        .ft-seo-links a {
            font-size: 13px;
            line-height: 1.5;
            color: var(--ft-text-muted);
            display: inline-block;
            padding: 3px 0;
            transition: color 0.2s ease;
        }

        .ft-seo-links a:hover,
        .ft-seo-links a:active {
            color: #ffffff;
        }

        .ft-copyright {
            font-size: 12px;
            line-height: 1.5;
            padding-top: 16px;
        }
    }
