/* ============ main.css = 全站(8页)公共核心 ============ */

/* --- 公共 CSS 变量 (:root) --- */

:root {
    --primary: #1a56db;
    --primary-dark: #1040a0;
    --primary-light: #3b82f6;
    --primary-50: #eff6ff;
    --primary-100: #dbeafe;
    --primary-200: #bfdbfe;
    --dark: #0f172a;
    --dark-800: #1e293b;
    --dark-700: #334155;
    --dark-600: #475569;
    --dark-500: #64748b;
    --dark-400: #94a3b8;
    --dark-300: #cbd5e1;
    --dark-200: #e2e8f0;
    --dark-100: #f1f5f9;
    --dark-50: #f8fafc;
    --white: #ffffff;
    --radius-sm: 8px;
    --radius-md: 12px;
    --radius-lg: 16px;
    --radius-xl: 24px;
    --nav-height: 72px;
    --font: "Inter", -apple-system, BlinkMacSystemFont, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

/* --- 公共规则 --- */

/* ============================================
           RESET & VARIABLES
           ============================================ */ *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: var(--nav-height); }

a { color: inherit; text-decoration: none; }

.navbar .container {
            display: flex;
            align-items: center;
            justify-content: space-between;
            width: 100%;
        }

.nav-logo {
            font-size: 20px;
            font-weight: 800;
            color: var(--dark);
            letter-spacing: -0.5px;
            flex-shrink: 0;
            display: flex;
            align-items: center;
            gap: 10px;
        }

.nav-logo img { height: 32px; width: auto; }

.nav-links a, .nav-dropdown-trigger {
            font-size: 14px;
            color: var(--dark-700);
            font-weight: 500;
            padding: 8px 16px;
            border-radius: var(--radius-sm);
            transition: all 0.2s ease;
            display: flex;
            align-items: center;
            gap: 4px;
            background: none;
            border: none;
            cursor: pointer;
            font-family: inherit;
        }

.nav-links a:hover, .nav-dropdown-trigger:hover, .nav-links a.active {
            color: var(--primary);
            background: var(--primary-50);
        }

.nav-dropdown { position: relative; }

.nav-dropdown-trigger svg {
            width: 12px; height: 12px;
            transition: transform 0.2s;
        }

.nav-dropdown:hover .nav-dropdown-trigger svg { transform: rotate(180deg); }

.nav-dropdown-menu {
            position: absolute;
            top: calc(100% + 8px);
            left: 50%;
            transform: translateX(-50%);
            background: var(--white);
            border: 1px solid var(--dark-200);
            border-radius: var(--radius-md);
            box-shadow: var(--shadow-lg);
            padding: 8px;
            min-width: 180px;
            opacity: 0;
            visibility: hidden;
            transition: all 0.2s ease;
        }

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

.nav-dropdown-menu a {
            display: block;
            padding: 10px 16px;
            font-size: 14px;
            font-weight: 400;
            color: var(--dark-700);
            border-radius: var(--radius-sm);
            transition: all 0.15s ease;
        }

.nav-cta:hover {
            background: linear-gradient(135deg, var(--primary-dark), var(--primary));
            box-shadow: 0 4px 16px rgba(26,86,219,0.35);
            transform: translateY(-1px);
        }

.mobile-menu.active { display: block; }

/* ============================================
           FOOTER
           ============================================ */ .footer {
            background: var(--dark);
            padding: 64px 0 0;
            color: var(--dark-400);
        }

.footer-brand h3 {
            font-size: 22px;
            font-weight: 800;
            color: var(--white);
            margin-bottom: 16px;
        }

.footer-brand p {
            font-size: 14px;
            line-height: 1.8;
            max-width: 320px;
        }

.footer-col h4 {
            font-size: 15px;
            font-weight: 700;
            color: var(--white);
            margin-bottom: 20px;
        }

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

.footer-col ul li {
            margin-bottom: 10px;
        }

.footer-col ul li a {
            font-size: 14px;
            color: var(--dark-400);
            transition: color 0.2s;
        }

.footer-col ul li a:hover {
            color: var(--primary-light);
        }

.footer-qr img {
            width: 100px;
            height: 100px;
            border-radius: var(--radius-sm);
            margin-bottom: 8px;
        }

.footer-qr p {
            font-size: 12px;
        }

.footer-bottom {
            border-top: 1px solid rgba(255,255,255,0.08);
            padding: 20px 0;
            text-align: center;
            font-size: 13px;
            color: var(--dark-500);
        }

.consult-modal.active { display: flex; }

@keyframes modalIn {
            from { opacity: 0; transform: scale(0.95) translateY(10px); }
            to { opacity: 1; transform: scale(1) translateY(0); }
        }

.consult-modal-close:hover { background: var(--dark-200); }

.consult-modal-close svg { width: 16px; height: 16px; color: var(--dark-600); }

.consult-modal-top {
            width: 60px; height: 4px;
            background: linear-gradient(90deg, var(--primary), #6366f1);
            border-radius: 2px;
            margin: 0 auto 24px;
        }

.consult-modal-content h3 {
            font-size: 20px;
            font-weight: 700;
            color: var(--dark);
            margin-bottom: 8px;
        }

.consult-modal-content p {
            font-size: 14px;
            color: var(--dark-500);
            margin-bottom: 24px;
        }

.consult-modal-qr img {
            width: 200px; height: 200px;
            border-radius: var(--radius-md);
            margin: 0 auto 16px;
            border: 1px solid var(--dark-200);
        }

.consult-modal-tip {
            font-size: 13px;
            color: var(--dark-400);
        }

.nav-cta svg { width: 14px; height: 14px; transition: transform .25s ease; }

.nav-cta:hover svg { transform: translateX(2px); }

.btn-primary svg, .btn-outline svg, .btn-cta-primary svg, .btn-cta-secondary svg { width: 16px; height: 16px; transition: transform .25s ease; }

.btn-primary:hover svg, .btn-outline:hover svg, .btn-cta-primary:hover svg, .btn-cta-secondary:hover svg { transform: translateX(3px); }

.nav-cta-mobile svg { width: 14px; height: 14px; }

/* 微信图标放大 (双气泡细节多, 比线性图标大一档); hover 不滑动 */
        .nav-cta .icon-wechat, .nav-cta-mobile .icon-wechat { width: 20px; height: 20px; }
        .nav-cta:hover .icon-wechat, .nav-cta-mobile:hover .icon-wechat { transform: none; }
        .btn-primary .icon-wechat, .btn-cta-primary .icon-wechat, .btn-cta-secondary .icon-wechat { width: 22px; height: 22px; }
        .btn-primary:hover .icon-wechat, .btn-cta-primary:hover .icon-wechat, .btn-cta-secondary:hover .icon-wechat { transform: none; }

/* --- header 电话信息 (预约咨询按钮左侧) --- */
/* 浅底态(nav-hero/默认/nav-scrolled 白底): primary 蓝; 暗底态(nav-over-dark): 白色 */

.nav-phone {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            font-size: 14px;
            padding: 8px 12px;
            white-space: nowrap;
        }
        .nav-phone svg { width: 16px; height: 16px; color: var(--primary); flex-shrink: 0; transition: color 0.2s; }
        .nav-phone-num { font-weight: 700; color: var(--primary); letter-spacing: -0.2px; transition: color 0.2s; }
        .nav-phone:hover .nav-phone-num { color: var(--primary-dark); }
        .nav-phone:hover svg { color: var(--primary-dark); }

        /* 暗底 hero 态 (ontology/service 等 nav-over-dark): 图标+号码转白 */
        .navbar.nav-over-dark .nav-phone,
        .navbar.nav-over-dark .nav-phone-num { color: #fff; }
        .navbar.nav-over-dark .nav-phone svg { color: #fff; }
        .navbar.nav-over-dark .nav-phone:hover { background: rgba(255, 255, 255, 0.15); border-radius: var(--radius-sm); }
        .navbar.nav-over-dark .nav-phone:hover .nav-phone-num,
        .navbar.nav-over-dark .nav-phone:hover svg { color: #fff; }

/* --- 内联工具类 (原 style="margin-top:16px") --- */

.mt-16 { margin-top: 16px; }
