/*
Theme Name: Hello Elementor Child (Dr. Wu Portal)
Theme URI: https://wuzhongheng.com/
Description: A highly-optimized, premium child theme for Dr. Zhongheng Wu IP Portal.
Author: SGS Technical R&D Department
Author URI: https://wuzhongheng.com/
Template: hello-elementor
Version: 1.1.0 (Refactored & Performance Optimized)
Text Domain: hello-elementor-child
*/

/* ==========================================================================
   0. VETMASTER / DR. WU ACADEMIC FONTS LOCAL IMPORT
   ========================================================================== */
@import url("assets/fonts/vtm-static-fonts.css");

/* ==========================================================================
   1. GLOBAL VARIABLES & SAFEGUARDS (品牌 VIS 基因与自愈保底)
   ========================================================================== */
:root {
    /* 颜色系统 */
    --vtm-primary: #0F52BA;                 /* 威马主蓝色 */
    --vtm-dark: #0A2540;                    /* 经典深蓝色 */
    --vtm-accent: #acc8b4;                  /* 威马高亮浅绿 */
    --vtm-bg-gray: #F6F9FC;                 /* 全站浅灰分隔色 */
    --vtm-bg-white: #FFFFFF;                /* 背景色白 */
    --vtm-bg-darkblue: #0A42A0;             /* 背景色深蓝 */
    --vtm-text-white: #FFFFFF;              /* 文字色白 */
    --vtm-text-body: #1A2B49;               /* 正文重度灰蓝色 */
    --vtm-text-muted: #5A6B82;              /* 中度学术灰蓝色 */
    --vtm-text-light: #8A9BB2;              /* 轻度元数据灰蓝色 */
    --vtm-card-border-light: #E2E8F0;       /* 卡片边框淡灰色 */
    --vtm-card-hover-border-light: #D1DBE5;/* 卡片悬停边框色 */
    --vtm-card-hover-button-blue: #073a96; /* 卡片悬停按钮蓝 */
    --vtm-success-green: #28a745;           /* 成功绿色 */
    --vtm-error-red: #A94442;               /* 错误红色 */
    
    /* 圆角系统 */
    --vtm-radius: 12px;                     /* 黄金 12px 卡片圆角 */
    --vtm-radius-btn: 6px;                  /* 表单与按钮 6px 圆角 */
    
    /* 动画系统 */
    --vtm-ease: cubic-bezier(0.25, 0.8, 0.25, 1);
    --vtm-transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);

    /* 字体系统 */
    --vtm-font-sans: 'Lato', 'Noto Sans SC', -apple-system, BlinkMacSystemFont, "PingFang SC", "Segoe UI", Roboto, sans-serif;
    --vtm-font-serif: 'Lato', 'Noto Serif SC', "Source Han Serif SC", Georgia, "Songti SC", serif;
}

/* FOUC 闪烁防御与字体保底 */
body {
    opacity: 0;
    transition: opacity 0.15s ease-in-out; /* 0.15s 极快过渡消除白屏与闪烁 */
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-rendering: optimizeLegibility !important;
}

body.dom-ready {
    opacity: 1;
}

/* --------------------------------------------------------------------------
   🛡️ Dashicons 图标字体保护防线
   防止全局 span 字体自愈规则覆盖 Dashicons 原生图标字体
-------------------------------------------------------------------------- */
.dashicons, 
[class*="dashicons-"] {
    font-family: dashicons !important;
}

body, html, p, span, li, input, select, textarea, button {
    font-family: var(--vtm-font-sans) !important;
}

h1, h2, h3, h4, h5, h6, .entry-title, .elementor-heading-title {
    font-family: var(--vtm-font-serif) !important;
}

/* ==========================================================================
   2. REUSABLE ATOMIC UTILITIES & COMPONENTS (全站原子化高复用组件体系)
   ========================================================================== */

/* --------------------------------------------------------------------------
   全局小标语基类 (多选择器聚合)
-------------------------------------------------------------------------- */
.vtm-subtitle,
.vtm-hero-subtitle,
.vtm-section-subtitle,
.vtm-hero-subtitle .elementor-heading-title,
.vtm-section-subtitle .elementor-heading-title {
    font-family: var(--vtm-font-sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    color: var(--vtm-accent) !important;
    margin: 0 !important;
}

.vtm-hero-subtitle, 
.vtm-hero-subtitle .elementor-heading-title {
    color: var(--vtm-accent) !important;
}

.vtm-section-subtitle, 
.vtm-section-subtitle .elementor-heading-title {
    color: var(--vtm-primary) !important;
}

/* --------------------------------------------------------------------------
   全局大标题基类 (多选择器聚合)
-------------------------------------------------------------------------- */
.vtm-title-serif,
.vtm-hero-title,
.vtm-section-title,
.vtm-hero-title .elementor-heading-title,
.vtm-section-title .elementor-heading-title {
    font-family: var(--vtm-font-serif) !important;
    font-weight: 700 !important;
    margin: 0 0 16px 0 !important;
}

.vtm-hero-title, 
.vtm-hero-title .elementor-heading-title {
    font-size: clamp(32px, 5vw, 52px) !important;
    line-height: 1.15 !important;
    color: var(--vtm-text-white) !important;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3) !important;
}

.vtm-section-title, 
.vtm-section-title .elementor-heading-title {
    font-size: clamp(28px, 4vw, 42px) !important;
    line-height: 1.25 !important;
    color: var(--vtm-dark) !important;
}

/* --------------------------------------------------------------------------
   全局段落描述基类 (多选择器聚合)
-------------------------------------------------------------------------- */
.vtm-description,
.vtm-hero-description,
.vtm-section-description,
.vtm-hero-description p,
.vtm-section-description p {
    font-family: var(--vtm-font-sans) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}

.vtm-hero-description, 
.vtm-hero-description p {
    font-size: 18px !important;
    color: rgba(255, 255, 255, 0.88) !important;
}

.vtm-section-description, 
.vtm-section-description p {
    font-size: 16px !important;
    color: var(--vtm-text-muted) !important;
}

/* --------------------------------------------------------------------------
   全局按钮基类 (聚合全部 Button 节点与 Hover 逻辑)
-------------------------------------------------------------------------- */
.vtm-btn-primary a,
.vtm-btn-outline a,
.vtm-btn-primary.elementor-button,
.vtm-btn-outline.elementor-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: var(--vtm-font-sans) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    padding: 14px 28px !important;
    border-radius: var(--vtm-radius-btn) !important;
    transition: var(--vtm-transition) !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

/* Primary Button State */
.vtm-btn-primary a, 
.vtm-btn-primary.elementor-button {
    background-color: var(--vtm-primary) !important;
    color: var(--vtm-text-white) !important;
    border: 1px solid var(--vtm-primary) !important;
    box-shadow: 0 4px 14px rgba(15, 82, 186, 0.4) !important;
}

.vtm-btn-primary a:hover, 
.vtm-btn-primary.elementor-button:hover {
    background-color: var(--vtm-card-hover-button-blue) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(15, 82, 186, 0.6) !important;
}

/* Outline Button State */
.vtm-btn-outline a, 
.vtm-btn-outline.elementor-button {
    background-color: transparent !important;
    color: var(--vtm-text-white) !important;
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
}

.vtm-btn-outline a:hover, 
.vtm-btn-outline.elementor-button:hover {
    border-color: var(--vtm-accent) !important;
    color: var(--vtm-accent) !important;
    background-color: rgba(255, 255, 255, 0.05) !important;
    transform: translateY(-2px) !important;
}

/* --------------------------------------------------------------------------
   全局卡片物理基类 (包含顶部 3px 悬停蓝色指示条)
-------------------------------------------------------------------------- */
.vtm-card,
.vtm-specialty-card {
    background-color: var(--vtm-bg-white) !important;
    border: 1px solid var(--vtm-card-border-light) !important;
    border-radius: var(--vtm-radius) !important;
    padding: 36px 28px !important;
    transition: var(--vtm-transition) !important;
    box-shadow: 0 4px 12px rgba(10, 37, 64, 0.03) !important;
    position: relative !important;
    overflow: hidden !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
}

.vtm-card::before, 
.vtm-specialty-card::before {
    content: "" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 3px !important;
    background-color: transparent !important;
    transition: background-color 0.3s var(--vtm-ease) !important;
}

.vtm-card:hover, 
.vtm-specialty-card:hover {
    border-color: var(--vtm-card-hover-border-light) !important;
    transform: translateY(-6px) !important;
    box-shadow: 0 16px 32px rgba(10, 37, 64, 0.08) !important;
}

.vtm-card:hover::before, 
.vtm-specialty-card:hover::before {
    background-color: var(--vtm-primary) !important;
}

/* ==========================================================================
   3. NATIVE LOGIN PAGE OVERRIDES (wp-login.php 品牌 UI)
   ========================================================================== */
#login h1 a, 
.login h1 a {
    display: none !important;
}

#nav, 
#backtoblog {
    text-align: center !important;
    padding: 10px 0 0 0 !important;
}

#nav a, 
#backtoblog a {
    color: var(--vtm-text-muted) !important;
    font-size: 13px !important;
}

#nav a:hover, 
#backtoblog a:hover {
    color: var(--vtm-primary) !important;
}

body.login {
    opacity: 1 !important;
    background-color: var(--vtm-bg-gray) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 100vh !important;
}

.login #login {
    padding: 0 !important;
    width: 380px !important;
}

.login form {
    background: var(--vtm-bg-white) !important;
    border: 1px solid var(--vtm-card-border-light) !important;
    border-radius: var(--vtm-radius) !important;
    box-shadow: 0 10px 30px rgba(10, 37, 64, 0.05) !important;
    padding: 35px 30px !important;
}

.login form::before {
    content: "DR. WU PORTAL";
    display: block;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: var(--vtm-dark);
    letter-spacing: 2px;
    margin-bottom: 25px;
}

.login label {
    color: var(--vtm-text-muted) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
}

.login input[type="text"], 
.login input[type="password"] {
    border: 1px solid var(--vtm-card-border-light) !important;
    border-radius: var(--vtm-radius-btn) !important;
    padding: 12px 15px !important;
    font-size: 14px !important;
    background-color: var(--vtm-bg-white) !important;
    margin: 6px 0 16px 0 !important;
}

.login input[type="text"]:focus, 
.login input[type="password"]:focus {
    border-color: var(--vtm-primary) !important;
    box-shadow: 0 0 0 4px rgba(15, 82, 186, 0.1) !important;
}

.login .button-primary {
    background: var(--vtm-primary) !important;
    border-color: var(--vtm-primary) !important;
    color: var(--vtm-text-white) !important;
    border-radius: var(--vtm-radius-btn) !important;
    padding: 10px 20px !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    width: 100% !important;
    margin-top: 10px !important;
}

/* ==========================================================================
   4. ALTCHA POW SYSTEM
   ========================================================================== */
altcha-widget {
    width: 100%;
    display: block;
    --altcha-max-width: 100%;
    --altcha-border-radius: var(--vtm-radius-btn, 8px);
    --altcha-color-bg: #f8fafc;
    --altcha-color-border: #cbd5e1;
    --altcha-color-border-focus: var(--vtm-primary);
    --altcha-color-accent: var(--vtm-primary);
    --altcha-color-text: #1e293b;
}

.sgs-altcha-container {
    width: 100%;
    box-sizing: border-box;
    margin: 8px 0 15px 0;
    display: flex;
    justify-content: left;
}

.sgs-altcha-container altcha-widget {
    box-shadow: var(--vtm-shadow-sm, 0 1px 2px rgba(0, 0, 0, 0.04));
    transition: all 0.2s ease-in-out;
}

.sgs-altcha-container altcha-widget:hover {
    --altcha-color-border: var(--vtm-color-primary, #0056b3);
}

altcha-widget .altcha-logo, 
altcha-widget .altcha-footer {
    display: none !important;
}

/* 兼容性防重：若 <altcha-widget> 在 Elementor Popup 重新挂载时生成了重复子节点，仅保留最后一个活节点 */
altcha-widget > .altcha:not(:last-child) {
    display: none !important;
}

/* ==========================================================================
   5. HEADER & FOOTER
   ========================================================================== */

/* --------------------------------------------------------------------------
   Header & Menu
-------------------------------------------------------------------------- */
.vtm-header-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;         /* 强制左、中、右三块弹性两端对齐 */
    flex-wrap: nowrap !important;                      /* 坚决禁止换行 */
}

/* 当首页【未滚动】时，页头悬浮透明 */
.home .vtm-header-container:not(.vtm-scrolled) {
    position: fixed !important;
    width: 100% !important;
    left: 0 !important;
    top: 0 !important;
    background-color: transparent !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: 999 !important;
}

/* 只在桌面端 (屏幕宽度 >= 1025px) 生效 */
@media (min-width: 1025px) {
    /* 2.2. 当首页【未滚动】时，强行将一级菜单文字渲染为白色 */
    .home .vtm-header-container:not(.vtm-scrolled) .vtm-main-menu ul > li > div > a > span,
    .home .vtm-header-container:not(.vtm-scrolled) .vtm-main-menu ul > li > div > div > span {
        color: var(--vtm-text-white) !important;
        text-shadow: 0 1px 3px rgba(10, 37, 64, 0.25) !important;
    }

    /* 未滚动时，同步将下拉小箭头 (SVG) 设为白色 */
    .home .vtm-header-container:not(.vtm-scrolled) .vtm-main-menu .e-n-menu-dropdown-icon svg {
        fill: var(--vtm-text-white) !important;
    }
}

.home .vtm-header-container:not(.vtm-scrolled) .vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle {
    color: var(--vtm-text-white) !important;
    text-shadow: 0 1px 3px rgba(10, 37, 64, 0.25) !important;
    font-family: var(--vtm-font-sans) !important;
}

.home .vtm-header-container:not(.vtm-scrolled) .vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,
.home .vtm-header-container:not(.vtm-scrolled) .vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:focus {
    color: var(--vtm-accent) !important;
    background-color: transparent !important;
    text-decoration: none !important;
}

/* 未滚动时，一级菜单悬停变为品牌浅绿 */
.home .vtm-header-container:not(.vtm-scrolled) .vtm-main-menu ul > li > div > a span:hover {
    color: var(--vtm-accent) !important;
}

.vtm-main-menu .e-n-menu-heading .e-n-menu-item .e-n-menu-title-text {
    font-family: var(--vtm-font-sans) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    color: var(--vtm-text-muted) !important;
    transition: color 0.3s var(--vtm-ease) !important;
}

/* 主菜单项容器微调 (去掉多余的高度压迫) */
.vtm-main-menu .e-n-menu-heading .e-n-menu-title-container {
    padding: 8px 0 !important;
    text-decoration: none !important;
}

/* 主菜单悬停与当前激活页状态 */
.vtm-main-menu .e-n-menu-heading .e-n-menu-item .e-n-menu-title-container:hover .e-n-menu-title-text {
    color: var(--vtm-accent) !important;    
    text-decoration: none !important;
}

/* 菜单自带的下拉箭头颜色重塑 */
.vtm-main-menu .e-n-menu-heading .e-n-menu-dropdown-icon svg {
    fill: var(--vtm-text-muted) !important;
    transition: fill 0.3s var(--vtm-ease) !important;
    width: 10px !important;
    height: 10px !important;
}
.vtm-main-menu .e-n-menu-heading .e-n-menu-item:hover .e-n-menu-dropdown-icon svg {
    fill: var(--vtm-accent) !important;
}

.vtm-menu-switcher-container {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 24px !important;
    flex-wrap: nowrap !important;
}

/* WPML 切换器 */
.vtm-header-lang-switcher .wpml-ls {
    width: auto !important;
}

/* 切换器主按钮 */
.vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle {
    display: inline-flex !important;
    align-items: center !important;
    background-color: transparent !important;
    border: none !important;
    color: var(--vtm-text-muted) !important;
    font-family: var(--vtm-font-sans) !important;
    font-size: 14px !important;                       /* 比主菜单小 1px，形成完美字阶 */
    font-weight: 600 !important;
    padding: 8px 12px !important;
    border-radius: var(--vtm-radius-btn) !important;
    transition: var(--vtm-transition) !important;
    cursor: pointer !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

/* 切换器主按钮 Hover */
.vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:hover,
.vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle:focus {
    color: var(--vtm-dark) !important;
    background-color: var(--vtm-bg-gray) !important;
    text-decoration: none !important;
}

/* 极简下折 V 形箭头重塑 (彻底粉碎并替代 WPML 原生厚重三角形边框冲突) */
.vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle::after {
    border: none !important;                          /* 彻底摧毁原生 border 三角形冲突 */
    background: none !important;                      /* 彻底清除原生可能存在的背景图 */
    content: "" !important;
    position: relative !important;                     /* 强行拉回正常文档流 */
    float: none !important;                           /* 清除浮动 */
    display: inline-block !important;
    vertical-align: middle !important;
    
    /* 重新精细绘制 V 形线 */
    margin-left: 16px !important;
    width: 5px !important;
    height: 5px !important;
    border-right: 1.5px solid currentColor !important; /* 精致的 1.5px 极细折线 */
    border-bottom: 1.5px solid currentColor !important;
    transform: rotate(45deg) translateY(-2px) !important;
    transition: transform 0.3s var(--vtm-ease) !important;
}

.vtm-header-lang-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item-toggle[aria-expanded="true"]::after {
    transform: rotate(-135deg) translateY(2px) !important;
}

/* 展开的下拉面板高定 (12px 大圆角与轻阴影) */
.vtm-header-lang-switcher .wpml-ls-sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 50% !important;                /* 左边缘定位到父容器50%位置 */
    transform: translateX(-50%) !important; /* 回退自身宽度的50%，实现居中 */
    background-color: var(--vtm-bg-white) !important;
    border: 1px solid var(--vtm-card-border-light) !important;
    border-radius: var(--vtm-radius-btn) !important;
    box-shadow: 0 10px 30px rgba(10, 37, 64, 0.08) !important;
    padding: none !important;
    margin-top: 8px !important;
    min-width: 90px !important;
    list-style: none !important;
    z-index: 99999 !important;
}

.vtm-header-lang-switcher .wpml-ls-sub-menu li {
    margin: 0 0 4px 0 !important;
    padding: 0 !important;
}
.vtm-header-lang-switcher .wpml-ls-sub-menu li:last-child {
    margin-bottom: 0 !important;
}

/* 下拉菜单内部选项 */
.vtm-header-lang-switcher .wpml-ls-sub-menu a {
    display: block !important;
    color: var(--vtm-text-muted) !important;
    font-family: var(--vtm-font-sans) !important;
    font-size: 13px !important;                       /* 下拉内部降级到 13px 极简字号 */
    font-weight: 600 !important;
    padding: 8px 12px !important;
    border: none !important;
    text-align: center !important;
    border-radius: var(--vtm-radius-btn) !important;
    text-decoration: none !important;
}

.vtm-header-lang-switcher .wpml-ls-sub-menu a:hover {
    color: var(--vtm-dark) !important;
    background-color: var(--vtm-bg-gray) !important;
    text-decoration: none !important;
}

/* 页头CTA 按钮 (大写 + 1.5px 字母间距，紧实精悍) */
.vtm-header-container .vtm-btn-login a {
    font-family: var(--vtm-font-sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-transform: uppercase !important;              /* 强制大写，提升质感 */
    letter-spacing: 1.5px !important;                  /* 拓宽字距 */
    border-radius: 20px !important;
    transition: background-color 0.3s var(--vtm-ease) !important;
    white-space: nowrap !important;
}




/* --------------------------------------------------------------------------
   Footer & Social
-------------------------------------------------------------------------- */
.vtm-global-footer {
    background-color: var(--vtm-dark) !important;
    color: var(--vtm-text-white) !important;
    padding: 60px 5% 30px 5% !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.vtm-global-footer h4 {
    font-family: var(--vtm-font-serif) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 2.5px !important;
    color: var(--vtm-text-white) !important;
    margin-bottom: 32px !important;
}

.vtm-global-footer ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.vtm-global-footer li {
    margin-bottom: 12px !important;
}

.vtm-global-footer :is(a, span, p) {
    font-family: var(--vtm-font-sans) !important;
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.7 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.vtm-global-footer a:hover {
    color: var(--vtm-accent) !important;
}

.vtm-global-footer .vtm-footer-social-icons a {
    font-size: 25px !important;
    font-weight: 500 !important;
}

/* 页脚微信二维码悬浮弹窗 */
.vtm-footer-social-icons .elementor-social-icon-weixin, 
.vtm-qr-trigger {
    position: relative !important;
    overflow: visible !important;
    cursor: pointer !important;
}

.vtm-footer-social-icons .elementor-social-icon-weixin::after, 
.vtm-qr-trigger::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    bottom: 145% !important;
    left: 50% !important;
    transform: translateX(-50%) scale(0.85) !important;
    width: 140px !important;
    height: 140px !important;
    background-image: var(--vtm-qr-img, url("/media/2026/08/logo.png")) !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-color: var(--vtm-bg-white) !important;
    border: 1px solid var(--vtm-card-border-light) !important;
    border-radius: var(--vtm-radius) !important;
    box-shadow: 0 12px 30px rgba(10, 37, 64, 0.15) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: transform 0.4s var(--vtm-ease), opacity 0.4s ease !important;
    z-index: 99999 !important;
}

.vtm-footer-social-icons .elementor-social-icon-weixin:hover::after, 
.vtm-qr-trigger:hover::after {
    opacity: 1 !important;
    transform: translateX(-50%) scale(1) !important;
    pointer-events: auto !important;
}

.vtm-footer-social-icons .elementor-social-icon-weixin {
    --vtm-qr-img: url("/media/2026/08/favicon.jpg");
}

/* 最底端合规与版权带 */
.vtm-global-footer .vtm-footer-compliance-links,
.vtm-global-footer .vtm-footer-compliance-links a {
    font-family: var(--vtm-font-sans) !important;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.5) !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}
.vtm-global-footer .vtm-footer-compliance-links a:hover {
    color: var(--vtm-accent) !important;
}
.vtm-global-footer .vtm-footer-copyright {
    font-family: var(--vtm-font-sans) !important;
    font-size: 11px !important;
    color: rgba(255, 255, 255, 0.4) !important;
    text-align: right !important;
}

/* ==========================================================================
   6. HOMEPAGE SPECIFIC (仅保留特定板块差异化细节)
   ========================================================================== */

/* Hero Section */
.vtm-hero-section {
    position: relative !important;
    background-color: var(--vtm-dark) !important;
    overflow: hidden !important;
}

.vtm-hero-metrics {
    border-top: 1px solid rgba(255, 255, 255, 0.12) !important;
}

.vtm-metric-number, 
.vtm-metric-number .elementor-heading-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    color: var(--vtm-accent) !important;
    line-height: 1.2 !important;
    margin: 0 !important;
}

.vtm-metric-label, 
.vtm-metric-label .elementor-heading-title {
    font-size: 12px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.75) !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

/* 学术聘书信任带 */
.vtm-academic-strip,
.vtm-academic-strip p {
    font-family: var(--vtm-font-sans) !important;
    font-size: 12px !important;
    color: rgba(255, 255, 255, 0.7) !important;
    line-height: 1.6 !important;
    margin: 0 !important;
}
.vtm-academic-label {
    font-weight: 700 !important;
    color: rgba(255, 255, 255, 0.9) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-right: 6px !important;
}
.vtm-academic-item {
    color: rgba(255, 255, 255, 0.8) !important;
}
.vtm-academic-divider {
    color: var(--vtm-accent) !important;
    margin: 0 6px !important;
}

/* Specialties Section */
.vtm-specialties-section,
.vtm-academic-section, 
.vtm-contact-section {
    background-color: var(--vtm-bg-gray) !important;
    position: relative !important;
}

.vtm-section-header {
    text-align: center !important;
    max-width: 780px !important;
    margin: 0 auto !important;
}

.vtm-specialty-icon, 
.vtm-specialty-icon i {
    font-size: 26px !important;
    color: var(--vtm-primary) !important;
    transition: var(--vtm-transition) !important;
}

.vtm-specialty-card:hover .vtm-specialty-icon, 
.vtm-specialty-card:hover .vtm-specialty-icon i {
    color: var(--vtm-primary) !important;
    transform: scale(1.08) !important;
}

.vtm-specialty-card-title, 
.vtm-specialty-card-title .elementor-heading-title {
    font-family: var(--vtm-font-serif) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    color: var(--vtm-dark) !important;
    margin: 18px 0 12px 0 !important;
    line-height: 1.3 !important;
}

.vtm-specialty-card-text, 
.vtm-specialty-card-text p {
    font-family: var(--vtm-font-sans) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: var(--vtm-text-muted) !important;
    margin: 0 0 20px 0 !important;
}

.vtm-specialty-link a {
    display: inline-flex !important;
    align-items: center !important;
    font-family: var(--vtm-font-sans) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--vtm-text-white) !important;
    letter-spacing: 0.8px !important;
    text-transform: uppercase !important;
    transition: color 0.3s var(--vtm-ease) !important;
}

.vtm-specialty-link a::after {
    content: " →" !important;
    margin-left: 6px !important;
    transition: transform 0.3s var(--vtm-ease) !important;
}

.vtm-card:hover .vtm-specialty-link a,
.vtm-specialty-card:hover .vtm-specialty-link a {
    color: var(--vtm-accent) !important;
}

.vtm-card:hover .vtm-specialty-link a::after,
.vtm-specialty-card:hover .vtm-specialty-link a::after {
    transform: translateX(4px) !important;
}

/* ==========================================================================
   7. HOMEPAGE - BLOCK 3: FEATURED CASE MATRIX (精选案例网格 - 纯白律动背景)
   ========================================================================== */

/* 纯白外壳 */
.vtm-cases-section, 
.vtm-life-section {
    background-color: var(--vtm-bg-white) !important;
    position: relative !important;
}

/* 案例对比媒体展示盒 (用于放置 X 光片或 CT 截图) */
.vtm-case-media-box,
.vtm-academic-media-box, 
.vtm-life-media-box {
    position: relative !important;
    width: 100% !important;
    height: 210px !important;
    border-radius: var(--vtm-radius-btn) !important;
    overflow: hidden !important;
    margin-bottom: 20px !important;
    background-color: var(--vtm-dark) !important;
}

.vtm-case-media-box img,
.vtm-academic-media-box img, 
.vtm-life-media-box img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform 0.4s var(--vtm-ease) !important;
}

.vtm-card:hover .vtm-academic-media-box img,
.vtm-card:hover .vtm-case-media-box img, 
.vtm-card:hover .vtm-life-media-box img {
    transform: scale(1.05) !important;
}

/* 案例类别高亮角标 (Badge) */
.vtm-case-badge {
    position: absolute !important;
    top: 12px !important;
    left: 12px !important;
    background-color: var(--vtm-primary) !important;
    color: var(--vtm-text-white) !important;
    font-family: var(--vtm-font-sans) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
    text-transform: uppercase !important;
    padding: 4px 10px !important;
    border-radius: 4px !important;
    z-index: 2 !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}

/* 案例患者信息元数据 (品种 / 年龄 / 结局) */
.vtm-case-meta {
    font-family: var(--vtm-font-sans) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--vtm-accent) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    margin-bottom: 8px !important;
}

/* ==========================================================================
   8. REUSABLE CARD GRID SYSTEM (全局通用 3 列卡片网格 - 彻底解决排版)
   ========================================================================== */

/* 桌面端：自动 3 等分响应式网格 */
.vtm-card-grid,
.vtm-specialties-grid,
.vtm-cases-grid {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* 包含网格内的卡片自动拉满 */
.vtm-specialties-grid > .elementor-element,
.vtm-cases-grid > .elementor-element,
.vtm-card-grid > .elementor-element {
    width: 100% !important;
    max-width: 100% !important;
}

/* 平板端 (≤1024px)：自动切换为 2 列网格 */
@media (max-width: 1024px) {
    .vtm-card-grid,
    .vtm-specialties-grid,
    .vtm-cases-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }
}

/* 手机端 (≤640px)：自动切换为 1 列单卡排布 */
@media (max-width: 640px) {
    .vtm-card-grid,
    .vtm-specialties-grid,
    .vtm-cases-grid {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
}

/* ==========================================================================
   9. HOMEPAGE - BLOCK 5: DOCTOR'S PHILOSOPHY (深海蓝中场视觉锚点背景)
   ========================================================================== */

/* 深海蓝锚点外壳 */
.vtm-philosophy-section {
    background-color: var(--vtm-dark) !important;
    background-image: radial-gradient(circle at 50% 50%, rgba(15, 82, 186, 0.25) 0%, rgba(10, 37, 64, 0.98) 75%) !important;
    position: relative !important;
    color: var(--vtm-text-white) !important;
}

/* 巨型学术双引号 */
.vtm-philosophy-quote-mark {
    font-family: var(--vtm-font-serif) !important;
    font-size: 80px !important;
    line-height: 40px !important;
    color: var(--vtm-accent) !important;
    opacity: 0.6 !important;
    margin-bottom: 12px !important;
}

/* 核心大字宣言 */
.vtm-philosophy-main-quote,
.vtm-philosophy-main-quote .elementor-heading-title {
    font-family: var(--vtm-font-serif) !important;
    font-size: clamp(22px, 3.2vw, 34px) !important;
    font-weight: 700 !important;
    color: var(--vtm-text-white) !important;
    line-height: 1.45 !important;
    max-width: 920px !important;
    margin: 0 auto !important;
    text-align: center !important;
}

/* 沉浸式暗色半透明卡片 */
.vtm-philosophy-card {
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: var(--vtm-radius) !important;
    padding: 32px 24px !important;
    transition: var(--vtm-transition) !important;
    height: 100% !important;
}

.vtm-philosophy-card:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: var(--vtm-accent) !important;
    transform: translateY(-4px) !important;
}

.vtm-philosophy-card-title,
.vtm-philosophy-card-title .elementor-heading-title {
    font-family: var(--vtm-font-serif) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--vtm-accent) !important;
    margin: 0 0 12px 0 !important;
}

.vtm-philosophy-card-text,
.vtm-philosophy-card-text p {
    font-family: var(--vtm-font-sans) !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.8) !important;
    margin: 0 !important;
}

/* ==========================================================================
   10. HOMEPAGE - BLOCK 7: APPOINTMENTS & REFERRAL (浅灰律动背景)
   ========================================================================== */

/* 双通道卡片网格 (2 列对等排列) */
.vtm-contact-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 28px !important;
    max-width: 1050px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

/* 通道列表细节 */
.vtm-channel-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px 0 !important;
}

.vtm-channel-list li {
    font-family: var(--vtm-font-sans) !important;
    font-size: 14px !important;
    color: var(--vtm-text-body) !important;
    line-height: 1.7 !important;
    margin-bottom: 12px !important;
}

.vtm-channel-list li strong {
    color: var(--vtm-dark) !important;
}

@media (max-width: 768px) {
    .vtm-contact-grid {
        grid-template-columns: 1fr !important;
    }
}

/* 11. 古腾堡元素统一强制清洗 */
.vtm-gutenberg-content :is(p, span, div) {
    font-family: var(--vtm-font-sans) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.75 !important;
    color: var(--vtm-text-body) ;
    /* margin-bottom: 24px !important; */
}
.vtm-gutenberg-content :is(h2, h3, h4, h5, h6) {
    font-family: var(--vtm-font-serif) !important;
    color: var(--vtm-dark) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin-top: 24px !important;
    margin-bottom: 16px !important;
}
.vtm-gutenberg-content h2 
{ 
    font-size: 28px !important; 
}
.vtm-gutenberg-content h3 { 
    font-size: 22px !important; 
}
.vtm-gutenberg-content h4 { 
    font-size: 18px !important; 
}
.vtm-gutenberg-content h5 { 
    font-size: 16px !important; 
}
.vtm-gutenberg-content h6 { 
    font-size: 14px !important; font-style: italic !important; 
}
.vtm-gutenberg-content :is(ul, ol) {
/*     margin-bottom: 24px !important; */
    padding-left: 24px !important;
}
.vtm-gutenberg-content li {
    font-family: var(--vtm-font-sans) !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--vtm-text-body);
    margin-bottom: 8px !important;
}
.vtm-gutenberg-content blockquote {
    border-left: 4px solid var(--vtm-primary) !important;
    padding-left: 20px !important;
    margin: 32px 0 !important;
    font-style: italic !important;
}
.vtm-gutenberg-content img,
.vtm-gutenberg-content .wp-block-image {
    max-width: 100% !important;
    height: auto !important;
    border-radius: var(--vtm-radius) !important;
    margin: 32px auto !important;
    display: block !important;
}
.vtm-gutenberg-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    margin: 32px 0 !important;
    font-family: var(--vtm-font-sans) !important;
    font-size: 14px !important;
}
.vtm-gutenberg-content :is(th, td) {
    border: 1px solid #E2E8F0 !important;
    padding: 12px 16px !important;
    text-align: left !important;
}
.vtm-gutenberg-content th {
    background-color: var(--vtm-bg-gray) !important;
    color: var(--vtm-dark) ;
    font-weight: 700 !important;
}

/* 硬性限制最大宽度为 360px，再也不怕被拉爆整屏！ */
.wp-video-aspect-9-16, 
.vtm-gutenberg-content .wp-video-aspect-9-16 {
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
