.mask-banner .ys-nyban-title .SEObanner-subtitle,
.ys-ban-txtbox .ys-ban-crybot .SEObanner-subtitle {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 4;
            overflow: hidden;
            max-width: 12.7rem;            max-height: calc(4 * 1.72em + 0.32rem);
            font-size: 0.2rem;
            line-height: 1.72;
            font-weight: 400;
            color: #fff;
            margin: 0.22rem 0 0;
            padding: 0.16rem 0.22rem;
            box-sizing: border-box;
            background: rgb(7 44 117 / 48%);
            border-radius: 0.08rem;
            text-align: justify;
            text-justify: inter-ideograph;
        }
        @media (max-width: 768px) {
            .mask-banner .ys-nyban-title .SEObanner-subtitle,
.ys-ban-txtbox .ys-ban-crybot .SEObanner-subtitle {
                max-width: 100%;
                font-size: 0.26rem;
                line-height: 1.65;
                text-align: left;
                padding: 0.14rem 0.18rem;
            }
        }
        .page-inner-kit .head-other {
            display: none !important;
            align-items: center;
            justify-content: center;
            min-width: 0.52rem;
            padding: 0.12rem 0.26rem;
            box-sizing: border-box;
        }
        .page-inner-kit .head-lang {
            display: none !important;
        }
        .page-inner-kit .head-search {
            display: flex !important;
            align-items: center;
            justify-content: center;
        }
        .page-inner-kit .head-search-btn {
            display: flex !important;
            align-items: center;
            justify-content: center;
            width: 0.34rem;
            min-width: 0.34rem;
            height: 0.34rem;
            min-height: 0.34rem;
            box-sizing: border-box;
        }
        .page-inner-kit .head-search-btn .ys-imgbox-cover {
            width: 0.22rem;
            height: 0.22rem;
        }
        .page-inner-kit .ys-phnav-r {
            display: flex !important;
            align-items: center;
            justify-content: flex-end;
            flex-wrap: nowrap;
            height: 56px;
        }
        .page-inner-kit .ys-phnav-r > .fl {
            float: none !important;
        }
        .page-inner-kit .ys-phnav-search {
            display: none !important;
            align-items: center;
            justify-content: center;
            height: 56px;
            min-width: 44px;
            margin-left: 15px;
            margin-top: 0;
            margin-bottom: 0;
            line-height: 0 !important;
            position: relative;
            box-sizing: border-box;
        }
        .page-inner-kit .ys-phnav-menubox {
            display: flex !important;
            align-items: center;
            justify-content: center;
            height: 56px;
            margin-left: 15px;
            line-height: 0 !important;
        }
        .page-inner-kit .ys-phnav-search .ys-phnavss-btn {
            display: inline-flex !important;
            align-items: center;
            justify-content: center;
            width: 44px;
            height: 44px;
            padding: 0;
            margin: 0;
            font-size: 20px;
            line-height: 1 !important;
            vertical-align: middle;
        }
        .page-inner-kit .ys-phnav-search .ys-phnavss-btn::before {
            line-height: 1;
        }
        .page-inner-kit .ys-phnav2-language {
            display: none !important;
        }
        .page-inner-kit .ys-hd-pc,
        .page-inner-kit .ys-hd-pc .ys-hd-pc-core,
        .page-inner-kit .yhpc-ribox,
        .page-inner-kit .head-other {
            transition: none !important;
        }
        .page-inner-kit .ys-hd-pc .ys-hd-pc-core,
        .page-inner-kit .ys-hd-pc.ishover .ys-hd-pc-core,
        .page-inner-kit .ys-hd-pc.isfixed .ys-hd-pc-core {
            width: 100vw !important;
            max-width: 100% !important;
            padding: 0 0.55rem !important;
            box-sizing: border-box;
        }
        .page-inner-kit .head-other,
        .page-inner-kit .ys-hd-pc.ishover .head-other,
        .page-inner-kit .ys-hd-pc.isfixed .head-other,
        .ys-page-wrap.page-inner-kit.act .head-other {
            padding: 0.12rem 0.26rem !important;
        }
        .page-inner-kit .ys-hd-pc {
            top: 0 !important;
            z-index: 50;
        }
        .CTAbanner-actions {
            display: flex;
            flex-wrap: wrap;
            gap: 0.24rem;
            margin-top: 0.36rem;
        }
        .CTAbanner-btn {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.14rem;
            min-width: 2.2rem;
            padding: 0.12rem 0.2rem 0.12rem 0.32rem;
            border: 1px solid rgba(255, 255, 255, 0.9);
            border-radius: 999px;
            color: #fff;
            font-size: 0.18rem;
            line-height: 1.2;
            transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
        }
        .CTAbanner-btn-ico {
            margin-left: 0.06rem;
            font-size: 0.2rem;
            line-height: 1;
            font-weight: 300;
            opacity: 0.95;
            transition: color 0.25s ease, opacity 0.25s ease;
        }
        .CTAbanner-btn:hover {
            background: #fff;
            color: #0b2d6b;
            border-color: #fff;
        }
        .CTAbanner-btn:hover .CTAbanner-btn-ico {
            color: #0b2d6b;
            opacity: 1;
        }
        .page-inner-kit main.ys-main {
            overflow: visible;
        }
        .SEOpage-nav {
            position: sticky;
            top: var(--headh);
            z-index: 40;
            background: #f9fafc;
            border-top: 1px solid rgba(255, 255, 255, 0.65);
            border-bottom: 1px solid rgba(2, 45, 132, 0.08);
            box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
            align-self: flex-start;
            width: 100%;
            box-sizing: border-box;
        }
        .SEOpage-nav-inner {
            display: flex;
            flex-wrap: wrap;
            align-items: stretch;
            justify-content: center;
            column-gap: 0.42rem;
            row-gap: 0.06rem;
            padding: 0 0.24rem;
            min-height: 0.52rem;
            box-sizing: border-box;
        }
        .SEOpage-nav-item {
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            flex: 0 1 auto;
            font-size: 0.15rem;
            line-height: 1.4;
            letter-spacing: 0.02em;
            font-weight: 500;
            color: #8c8c8c;
            padding: 0.18rem 0.38rem 0.14rem;
            white-space: nowrap;
            border-bottom: 2px solid transparent;
            margin-bottom: -1px;
            transition: color 0.22s ease, border-color 0.22s ease;
        }
        .SEOpage-nav-item:hover {
            color: #4a4a4a;
        }
        .SEOpage-nav-item.active {
            color: var(--colormain);
            border-bottom-color: var(--colormain);
        }
        .SEOpage-nav-item:focus-visible {
            outline: 2px solid rgba(2, 45, 132, 0.35);
            outline-offset: 2px;
        }
        .CTAcontact-modal .ys-modal-mask {
            background: rgba(15, 22, 38, 0.42);
            -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
        }
        .CTAcontact-modal.ys-modal-update .ys-modal-wrap {
            align-items: flex-start;
            justify-content: center;
            padding-top: max(8px, env(safe-area-inset-top, 0px));
            padding-bottom: max(8px, env(safe-area-inset-bottom, 0px));
            box-sizing: border-box;
        }
        .CTAcontact-modal.ys-modal-update .ys-modal-container {
            position: relative;
            width: min(7.6rem, calc(100vw - 24px));
            max-width: 800px;
            margin: 0 auto;
            background: transparent;
            align-items: stretch;
        }
        .CTAcontact-modal.ys-modal-update .ys-modal-close {
            position: absolute;
            top: 10px;
            right: 10px;
            margin: 0;
            z-index: 6;
            width: 36px;
            height: 36px;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 50%;
            background: rgba(255, 255, 255, 0.92);
            box-shadow: 0 2px 10px rgba(2, 45, 132, 0.12);
        }
        .CTAcontact-modal .ys-modal-content {
            width: 100%;
            max-width: none;
            padding: 0;
            margin: 0;
            background: transparent;
            max-height: min(94vh, 920px);
            max-height: min(94dvh, 920px);
            overflow-y: auto;
            overflow-x: hidden;
            -webkit-overflow-scrolling: touch;
            box-sizing: border-box;
            border-radius: 0.12rem;
        }
        .CTAcontact-modal .contact-info-cry-ri {
            display: block !important;
            width: 100%;
            padding: 0.44rem 0.26rem 0.22rem;
            box-sizing: border-box;
            border-radius: 0.12rem;
            box-shadow: 0 18px 50px rgba(2, 45, 132, 0.14), 0 2px 12px rgba(15, 22, 38, 0.08);
            border: 1px solid rgba(2, 45, 132, 0.08);
            position: relative;
        }
        .CTAcontact-modal .contact-info-cry-ri .std-font32 {
            margin: 0 0 0.1rem;
            padding-right: 36px;
            line-height: 1.25;
        }
        .CTAcontact-modal .std-font32 {
            text-align: left;
        }
        .CTAcontact-modal #CTAContactForm.ys-form {
            --space: 0.1rem;
            --spacebot: 0.1rem;
            --height: 40px;
        }
        .CTAcontact-modal #CTAContactForm .ys-form-inof-item:not(.ys-form-inof-submit) {
            margin-bottom: 0.08rem !important;
        }
        .CTAcontact-modal #CTAContactForm .ys-form-inof-item.ys-form-inof-submit {
            margin-bottom: 0 !important;
            margin-top: 0.06rem;
        }
        .CTAcontact-modal .ys-form-inof-text .ys-fii-input {
            height: 58px;
            min-height: 58px;
        }
        .CTAcontact-modal .ys-form-inof-text textarea {
            min-height: 52px;
            resize: vertical;
            line-height: 1.45;
            padding-top: 0.08rem;
            padding-bottom: 0.08rem;
        }
        .CTAcontact-modal .cicr-form-text1 {
            margin-bottom: 0.1rem !important;
        }
        .CTAcontact-modal .cicr-form-text2 {
            margin-bottom: 0.08rem !important;
        }
        .CTAcontact-modal .ys-form-phone {
            margin-bottom: 0.1rem !important;
        }
        .CTAcontact-modal .ys-form-inof-code {
            margin-bottom: 0.08rem !important;
        }
        .CTAcontact-modal .ys-fic-auth-img canvas {
            display: block;
            height: 100%;
            width: auto;
        }
        .CTAcontact-modal .ys-fii-name {
            margin-bottom: 2px;
        }
        .page-inner-kit .pik-scroll-target {
            scroll-margin-top: calc(var(--headh) + 76px);
        }
        @media (max-width: 1200px) {
            .SEOpage-nav-inner {
                flex-wrap: nowrap;
                justify-content: flex-start;
                overflow-x: auto;
                -webkit-overflow-scrolling: touch;
                scrollbar-width: none;
                column-gap: 0.32rem;
                padding: 0 0.2rem;
            }
            .SEOpage-nav-inner::-webkit-scrollbar {
                display: none;
            }
            .SEOpage-nav-item {
                padding-left: 0.28rem;
                padding-right: 0.28rem;
            }
        }
        @media (max-width: 1024px) {
            .page-inner-kit .pik-scroll-target {
                scroll-margin-top: calc(var(--headh) + 64px);
            }
        }

/* ==========================================================================
   Banner 高度保护方案：放弃破坏原图轮廓的增高，转为“压缩文字内容”以适应原生比例
   ========================================================================== */
@media screen and (min-width: 1025px) {
    /* 将 banner 及以下内容整体向上移动 10px */
    .page-inner-kit .mask-banner {
        margin-top: 10px !important;
    }

    /* 恢复原始 base.css 的弹性盒子 */
    .page-inner-kit .mask-banner .ys-flex-pos-center {
        height: 100% !important;
        top: 0 !important;
        bottom: 0 !important;
        transform: none !important;
        /* 稍微垫高底部，避开面包屑 */
        padding-top: 10px !important;
        padding-bottom: 24px !important;
        box-sizing: border-box;
    }

    /* 强行覆盖 media.css 中干扰视听的 margin-top: 2.2rem，让 Flexbox 重新接管居中 */
    .page-inner-kit .mask-banner .ys-flex-pos-center .ys-cont1600 {
        margin-top: auto !important;
        margin-bottom: auto !important;
    }

    /* ==============================================
       终极瘦身：全方位缩小文字块高度，确保能塞进各种宽度的原生 Banner 且不碰到面包屑
       ============================================== */
    /* 标题按照用户需求调整为 44px (0.44rem以保持自适应缩放) */
    .page-inner-kit .mask-banner .ys-nyban-title h1.std-font50 {
        font-size: 0.44rem !important;
        line-height: 1.35 !important;
        margin-bottom: 0 !important;
    }
    /* 副标题按照用户需求调整为 18px (0.18rem以保持自适应缩放) */
    .page-inner-kit .mask-banner .ys-nyban-title .SEObanner-subtitle,
    .page-inner-kit .ys-ban-txtbox .ys-ban-crybot .SEObanner-subtitle {
        font-size: 0.18rem !important;
        line-height: 1.6 !important;
        margin-top: 12px !important;
        padding: 10px 16px !important;
        max-height: calc(4 * 1.6em + 20px) !important;
    }
    /* 按钮间距和尺寸压缩 */
    .page-inner-kit .mask-banner .CTAbanner-actions {
        margin-top: 16px !important;
    }
    .page-inner-kit .mask-banner .CTAbanner-btn {
        font-size: 16px !important;
        padding: 8px 16px 8px 24px !important;
        min-width: 160px !important;
    }
}

/* ==========================================================================
   化学小分子平台服务能力分类卡片（方案 A）UI 优化样式
   ========================================================================== */
/* 显现原本被隐藏的圆形箭头，并转为 flex 容器以容纳文字，定位在右下方 */
.smolecule-type .strl-item .std-btn-circle {
    display: inline-flex !important;
    align-items: center;
    pointer-events: none; /* 点击可穿透至整张卡片 */
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    left: auto !important;
    right: 0.32rem !important;
}

/* 引导文字样式 */
.smolecule-type .strl-item .card-more-text {
    font-size: 0.16rem;
    color: #666;
    font-weight: 500;
    margin-right: 10px;
    transition: color 0.35s ease, transform 0.35s ease;
    white-space: nowrap;
}

/* 卡片容器过渡效果 */
.smolecule-type .strl-item-link {
    transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                box-shadow 0.35s ease, 
                background 0.35s ease !important;
}

/* PC端 悬停（Hover）交互动效 */
@media screen and (min-width: 1200px) {
    .smolecule-type .strl-item-link:hover {
        transform: translateY(-8px);
        box-shadow: 0 22px 40px rgba(2, 45, 132, 0.12), 0 5px 15px rgba(0, 0, 0, 0.05);
        background: linear-gradient(111deg, rgba(255, 255, 255, 0.52) 4.56%, rgba(245, 245, 245, 0.52) 100.05%) !important;
    }

    .smolecule-type .strl-item-link:hover .card-more-text {
        color: var(--colormain);
        transform: translateX(4px);
    }

    .smolecule-type .strl-item-link:hover .std-btn-circle-link {
        transform: translateX(4px) rotate(45deg);
    }
}

/* 移动端/折叠端（适配小屏幕排版） */
@media screen and (max-width: 1199px) {
    .smolecule-type .strl-item .card-more-text {
        font-size: 14px;
        margin-right: 6px;
        color: var(--colormain); /* 移动端无 hover，直接以品牌色高亮以强化引导 */
    }
    
    .smolecule-type .strl-item .std-btn-circle {
        left: auto !important;
        right: 20px !important;
        bottom: 25px;
    }
}

/* ==========================================================================
   移动端 Banner 副标题排版优化：解决 3 行截断和底部文字被切掉的问题
   ========================================================================== */
@media (max-width: 768px) {
    .mask-banner .ys-nyban-title .SEObanner-subtitle,
    .ys-ban-txtbox .ys-ban-crybot .SEObanner-subtitle {
        max-width: 100% !important;
        font-size: 0.24rem !important; /* 稍微压缩字号（约14px），避免过大 */
        line-height: 1.6 !important;
        padding: 0.16rem 0.2rem !important; /* 更加舒适饱满的内边距 */
        display: block !important; /* 弃用 -webkit-box 多行裁剪 */
        overflow: visible !important; /* 允许文字自然流出，防止切断 */
        -webkit-line-clamp: unset !important;
        max-height: none !important;
        background: rgba(7, 44, 117, 0.6) !important; /* 微调背景半透明度，提高文字可读性 */
        margin-top: 12px !important;
    }
}

/* ==========================================================================
   隐藏 Contact 留咨表单 (前端隐藏)
   ========================================================================== */

/* 隐藏 contact.html 中的留咨表单并自适应居中左侧联系信息 */
/*.contact-info-cry-ri {*/
/*    display: none !important;*/
/*}*/
/*@media (min-width: 1025px) {*/
/*    .contact-info-cry {*/
/*        justify-content: center !important;*/
/*    }*/
/*    .contact-info-cry-le {*/
/*        width: min(8.6rem, 100%) !important;*/
/*        margin-top: 0 !important;*/
/*        margin-left: auto !important;*/
/*        margin-right: auto !important;*/
/*    }*/
/*}*/

/* ==========================================================================
   方案 B: 顶部导航栏右侧 400 电话模块
   ========================================================================== */
.head-phone-container {
    display: flex;
    align-items: center;
    margin-left: auto; /* 在 flex 布局中推至最右侧 */
    padding: 0 0.16rem 0 0.32rem;
    box-sizing: border-box;
    z-index: 10;
}
.head-phone-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.08rem;
    padding: 0.06rem 0.18rem;
    border: 1px solid rgba(2, 45, 132, 0.15) !important;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9) !important;
    color: #022d84 !important;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    box-shadow: 0 2px 8px rgba(2, 45, 132, 0.04);
}
.head-phone-btn .phone-icon-box svg {
    stroke: #022d84 !important;
}
.head-phone-btn:hover {
    background: #022d84 !important;
    color: #ffffff !important;
    border-color: #022d84 !important;
    box-shadow: 0 4px 15px rgba(2, 45, 132, 0.18);
    transform: translateY(-1px);
}
.head-phone-btn:hover .phone-icon-box svg {
    stroke: #ffffff !important;
}

/* 仅在首页未滚动/未悬停的透明导航条下，使用透明边框磨砂玻璃白字主题，以完美贴合中间导航栏的设计 */
.home-main .ys-hd-pc:not(.isfixed):not(.ishover) .head-phone-btn {
    border: 1px solid transparent !important; /* 保持1px边框占位，防止切换状态时发生抖动/位移 */
    background: rgba(255, 255, 255, 0.12) !important;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    color: #ffffff !important;
    box-shadow: none !important;
}
.home-main .ys-hd-pc:not(.isfixed):not(.ishover) .head-phone-btn .phone-icon-box svg {
    stroke: #ffffff !important;
}
.home-main .ys-hd-pc:not(.isfixed):not(.ishover) .head-phone-btn:hover {
    background: #ffffff !important;
    color: #022d84 !important;
    border: 1px solid transparent !important;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3) !important;
}
.home-main .ys-hd-pc:not(.isfixed):not(.ishover) .head-phone-btn:hover .phone-icon-box svg {
    stroke: #022d84 !important;
}

/* 当导航栏变成白色背景时（固定、悬停状态下，或者在默认反白的页面中），电话按钮转为浅蓝底色以呼应白底导航条 */
.ys-hd-pc.isfixed .head-phone-btn,
.ys-hd-pc.ishover .head-phone-btn,
.ys-page-wrap.act .ys-hd-pc .head-phone-btn {
    background: rgba(2, 45, 132, 0.05) !important;
    border-color: rgba(2, 45, 132, 0.15) !important;
    color: #022d84 !important;
    box-shadow: 0 2px 8px rgba(2, 45, 132, 0.04);
}
.ys-hd-pc.isfixed .head-phone-btn .phone-icon-box svg,
.ys-hd-pc.ishover .head-phone-btn .phone-icon-box svg,
.ys-page-wrap.act .ys-hd-pc .head-phone-btn .phone-icon-box svg {
    stroke: #022d84 !important;
}
.ys-hd-pc.isfixed .head-phone-btn:hover,
.ys-hd-pc.ishover .head-phone-btn:hover,
.ys-page-wrap.act .ys-hd-pc .head-phone-btn:hover {
    background: #022d84 !important;
    border-color: #022d84 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(2, 45, 132, 0.18);
}
.ys-hd-pc.isfixed .head-phone-btn:hover .phone-icon-box svg,
.ys-hd-pc.ishover .head-phone-btn:hover .phone-icon-box svg,
.ys-page-wrap.act .ys-hd-pc .head-phone-btn:hover .phone-icon-box svg {
    stroke: #ffffff !important;
}
.phone-icon-box {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 0.2rem;
    height: 0.2rem;
    transition: transform 0.3s ease;
}
.head-phone-btn:hover .phone-icon-box {
    animation: phoneWiggle 0.5s ease-in-out infinite;
}
.phone-label {
    font-size: 0.14rem;
    font-weight: 500;
    opacity: 0.85;
    letter-spacing: 0.02em;
}
.phone-number {
    font-size: 0.16rem;
    font-weight: 700;
    letter-spacing: 0.04em;
}

/* 电话晃动微动效 */
@keyframes phoneWiggle {
    0% { transform: rotate(0deg); }
    15% { transform: rotate(-15deg); }
    30% { transform: rotate(15deg); }
    45% { transform: rotate(-10deg); }
    60% { transform: rotate(10deg); }
    75% { transform: rotate(-5deg); }
    90% { transform: rotate(5deg); }
    100% { transform: rotate(0deg); }
}

/* 响应式适配：大屏幕下正常显示，小屏幕下隐藏文字或整个模块 */
@media screen and (max-width: 1024px) {
    .head-phone-container {
        display: none !important;
    }
}

/* ==========================================================================
   侧边栏回到顶部组件 - 增加 400 电话悬浮项
   ========================================================================== */
.std-side-list-li {
    position: relative !important;
}

.ssll-phone {
    position: absolute;
    width: auto;
    right: 0%;
    top: 50%;
    transform: translateY(-50%);
    padding-right: 30px;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
    z-index: 100;
}

.ssll-phone.act {
    right: 58%;
    opacity: 1;
    pointer-events: all;
}

.ssll-phone-box {
    padding: 0.12rem 0.18rem;
    border-radius: 0.1rem;
    background: #FFF;
    box-shadow: 0 10px 30px rgba(2, 45, 132, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(2, 45, 132, 0.08);
    text-decoration: none !important;
    min-width: 1.6rem;
}

.ssll-phone-title {
    font-size: 0.13rem;
    color: #888;
    margin-bottom: 0.04rem;
    font-weight: 500;
    letter-spacing: 0.05em;
}

.ssll-phone-number {
    font-size: 0.18rem;
    color: #022d84;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.ssll-phone-box:hover .ssll-phone-number {
    color: #0b57d0;
}

.std-side-list-li:hover .side-phone-icon {
    color: #022d84 !important;
}

/* 400电话可点击区域撑满圆形 */
.std-side-phone-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
    cursor: pointer;
    overflow: visible !important;
}

/* 取消图片蒙版剪裁，防止晃动放大时 icon 显示不全 */
.std-side-phone-li .ys-imgbox-cover {
    overflow: visible !important;
}

/* 400电话图标低频晃动微动效 */
.side-phone-icon {
    transform-origin: center;
    animation: sidebarPhoneWiggle 5s infinite ease-in-out;
}

/* 鼠标悬停时暂停晃动 */
.std-side-list-li:hover .side-phone-icon {
    animation-play-state: paused;
}

@keyframes sidebarPhoneWiggle {
    0%, 70%, 100% { transform: rotate(0deg) scale(1); }
    73% { transform: rotate(-15deg) scale(1.08); }
    76% { transform: rotate(15deg) scale(1.08); }
    79% { transform: rotate(-10deg) scale(1.08); }
    82% { transform: rotate(10deg) scale(1.08); }
    85% { transform: rotate(-5deg) scale(1.08); }
    88% { transform: rotate(5deg) scale(1.08); }
    91% { transform: rotate(0deg) scale(1.08); }
}

/* ==========================================================================
   侧边栏回到顶部组件 - 增加 留咨表单 悬浮项
   ========================================================================== */
.ssll-form-tooltip {
    position: absolute;
    width: auto;
    right: 0%;
    top: 50%;
    transform: translateY(-50%);
    padding-right: 30px;
    opacity: 0;
    transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    pointer-events: none;
    z-index: 100;
}

.ssll-form-tooltip.act {
    right: 58%;
    opacity: 1;
    pointer-events: all;
}

.ssll-form-box {
    padding: 0.12rem 0.18rem;
    border-radius: 0.1rem;
    background: #FFF;
    box-shadow: 0 10px 30px rgba(2, 45, 132, 0.15);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(2, 45, 132, 0.08);
    text-decoration: none !important;
    min-width: 1.6rem;
}

.ssll-form-title {
    font-size: 0.13rem;
    color: #888;
    margin-bottom: 0.04rem;
    font-weight: 500;
    letter-spacing: 0.05em;
    white-space: nowrap;
}

.ssll-form-subtitle {
    font-size: 0.15rem;
    color: #022d84;
    font-weight: 700;
    letter-spacing: 0.02em;
    white-space: nowrap;
    transition: color 0.3s ease;
}

.ssll-form-box:hover .ssll-form-subtitle {
    color: #0b57d0;
}

.std-side-list-li:hover .side-form-icon {
    color: #022d84 !important;
}

.std-side-form-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none !important;
    cursor: pointer;
    overflow: visible !important;
}

.std-side-form-li .ys-imgbox-cover {
    overflow: visible !important;
}

/* 根据用户需求，隐藏 banner 区域的“联系我们”按钮以及侧边栏中的“联系我们/留咨表单”按钮 */
.CTAbanner-actions {
    /*display: none !important;*/
}

/*.std-side-form-li {*/
/*    display: none !important;*/
/*}*/

/*.ys-modal-btn {*/
/*    display: none !important;*/
/*}*/

/*.std-side-top .std-side-list-li:not(.std-side-phone-li) {*/
/*    display: none !important;*/
/*}*/

/* 当隐藏了留咨表单按钮后，侧边栏顶部区域（.std-side-top）只剩一个电话按钮，将其重塑为完美的圆形 */
/*.std-side-top {*/
/*    width: 48px !important;*/
/*    height: 48px !important;*/
/*    padding: 0 !important;*/
/*    border-radius: 50% !important;*/
/*    display: flex !important;*/
/*    align-items: center !important;*/
/*    justify-content: center !important;*/
/*}*/

/*.std-side-phone-li {*/
/*    width: 100% !important;*/
/*    height: 100% !important;*/
/*}*/

/*@media screen and (max-width: 767px) {*/
/*    .std-side-top {*/
/*        width: 38px !important;*/
/*        height: 38px !important;*/
/*        padding: 0 !important;*/
/*        border-radius: 50% !important;*/
/*    }*/
/*}*/

.cta-form-loading {
    position: absolute;
    inset: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.75);
    border-radius: inherit;
    cursor: wait;
}

.cta-form-loading-spin {
    width: 36px;
    height: 36px;
    border: 3px solid #ddd;
    border-top-color: #022d84;
    border-radius: 50%;
    animation: cta-form-spin 0.8s linear infinite;
}

@keyframes cta-form-spin {
    to { transform: rotate(360deg); }
}

