/* 二次元主题覆盖样式：不改业务结构，仅统一视觉风格 */
@import url('https://fonts.googleapis.com/css2?family=ZCOOL+KuaiLe&family=Ma+Shan+Zheng&display=swap');

:root {
    --anime-pink: #ff78c6;
    --anime-pink-deep: #ff4fb3;
    --anime-purple: #9b7cff;
    --anime-blue: #6bdcff;
    --anime-yellow: #ffd86b;
    --anime-ink: #4e315f;
    --anime-soft: #fff5fb;
    --anime-card: rgba(255, 255, 255, .82);
    --anime-border: rgba(255, 255, 255, .86);
    --anime-shadow: 0 22px 55px rgba(160, 108, 255, .18);
}

html,
body {
    color: var(--anime-ink);
    background:
        radial-gradient(circle at 8% 8%, rgba(255, 139, 207, .42), transparent 28%),
        radial-gradient(circle at 92% 10%, rgba(107, 220, 255, .48), transparent 30%),
        radial-gradient(circle at 50% 88%, rgba(155, 124, 255, .36), transparent 34%),
        linear-gradient(135deg, #fff3fb 0%, #edf9ff 48%, #fff8ec 100%) !important;
}

body::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(255,255,255,.58) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.58) 1px, transparent 1px);
    background-size: 36px 36px, 36px 36px;
    mask-image: linear-gradient(to bottom, #000 0%, rgba(0,0,0,.9) 62%, transparent 100%);
}

h1, h2, h3, .main-title, .card-title, .title-style-one .main-title,
.carousel-caption h1, .carousel-caption h2, .carousel-caption h3 {
    color: var(--anime-ink);
    letter-spacing: .03em;
}

.theme-main-menu,
.sticky-menu.fixed,
.theme-menu-one {
    background: rgba(255, 255, 255, .78) !important;
    border: 1px solid rgba(255, 255, 255, .92) !important;
    box-shadow: 0 16px 46px rgba(255, 120, 198, .16) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.theme-main-menu .inner-content {
    border-radius: 24px;
}

.logo img {
    filter: drop-shadow(0 8px 18px rgba(255, 120, 198, .2));
}

.navbar .navbar-nav .nav-link,
.theme-main-menu .navbar .navbar-nav .nav-link,
.dropdown-item {
    color: #6a4777 !important;
    font-weight: 700;
}

.navbar .navbar-nav .nav-item.active .nav-link,
.navbar .navbar-nav .nav-link:hover,
.dropdown-item:hover,
.dropdown-item.active {
    color: var(--anime-pink-deep) !important;
}

.dropdown-menu {
    border: 1px solid rgba(255, 255, 255, .9) !important;
    border-radius: 22px !important;
    background: rgba(255, 255, 255, .94) !important;
    box-shadow: var(--anime-shadow) !important;
    overflow: visible !important;
}

.navbar .dropdown-submenu {
    position: relative;
}

.navbar .dropdown-submenu > .dropdown-menu {
    display: none;
    min-width: 220px;
    padding: 10px !important;
    border-radius: 18px !important;
    background: rgba(255, 255, 255, .96) !important;
    box-shadow: 0 18px 45px rgba(155, 124, 255, .18) !important;
    z-index: 10020 !important;
}

.navbar .dropdown-submenu:hover > .dropdown-menu,
.navbar .dropdown-submenu:focus-within > .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

@media screen and (min-width: 992px) {
    .navbar .dropdown-submenu > .dropdown-menu {
        position: absolute !important;
        left: calc(100% + 8px) !important;
        top: 0 !important;
        right: auto !important;
    }
}

@media screen and (max-width: 991px) {
    .navbar .dropdown-submenu:hover > .dropdown-menu,
    .navbar .dropdown-submenu:focus-within > .dropdown-menu {
        position: static !important;
        margin: 6px 0 8px 14px !important;
    }
}

.req-demo-btn-reg,
.req-demo-btn,
.btn-primary,
.btn-six,
.msg-btn,
.banner-search-btn,
.search-btn,
button[type="submit"],
.footer-qrcode-wrapper .btn {
    color: #fff !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, var(--anime-pink), var(--anime-purple) 55%, var(--anime-blue)) !important;
    box-shadow: 0 12px 30px rgba(255, 120, 198, .32) !important;
    transition: transform .25s ease, filter .25s ease, box-shadow .25s ease !important;
}

.req-demo-btn-reg:hover,
.req-demo-btn:hover,
.btn-primary:hover,
.btn-six:hover,
.msg-btn:hover,
.banner-search-btn:hover,
.search-btn:hover,
button[type="submit"]:hover {
    transform: translateY(-2px);
    filter: brightness(1.06);
    box-shadow: 0 16px 36px rgba(155, 124, 255, .32) !important;
}

.carousel,
#bannerCarousel {
    border-radius: 0 0 42px 42px;
    overflow: hidden;
}

.carousel-item::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        radial-gradient(circle at 25% 24%, rgba(255, 120, 198, .32), transparent 28%),
        linear-gradient(90deg, rgba(42, 25, 70, .72), rgba(155, 124, 255, .18), rgba(107, 220, 255, .2));
}

.carousel-caption {
    z-index: 2;
    text-shadow: 0 4px 20px rgba(51, 31, 79, .3);
}

.carousel-caption h1,
.carousel-caption h2,
.carousel-caption h3,
.carousel-caption p,
.carousel-caption div {
    color: #fff !important;
}

.carousel-indicators [data-bs-target] {
    width: 28px !important;
    height: 8px !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .85) !important;
    border: 0 !important;
}

.carousel-indicators .active {
    background: linear-gradient(90deg, var(--anime-pink), var(--anime-blue)) !important;
}

.content-new,
.bg-white {
    background: rgba(255, 250, 253, .55) !important;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

/* 首页搜索区增加顶部间距，避免被轮播图遮挡 */
.content-new {
    padding-top: 40px !important;
}

.footer-style-four,
.theme-basic-footer {
    background: transparent !important;
}

/* 桌面端加大内容区 container 宽度，减少两侧留白 */
@media (min-width: 1400px) {
    .content-new > .container,
    .bg-white > .container {
        max-width: 1400px;
    }
}

@media (min-width: 1600px) {
    .content-new > .container,
    .bg-white > .container {
        max-width: 1520px;
    }
}

@media (min-width: 1920px) {
    .content-new > .container,
    .bg-white > .container {
        max-width: 1640px;
    }
}

.card,
.blog-meta-one,
.homepostimg,
.hidecard,
.bg-wrapper,
.pls-footer-inner,
.footer-qrcode-wrapper,
.login-card,
.contact-tooltip {
    background: var(--anime-card) !important;
    border: 1px solid var(--anime-border) !important;
    border-radius: 28px !important;
    box-shadow: var(--anime-shadow) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
}

/* 搜索框单独处理 - 去掉毛玻璃虚影，防止多层背景叠加 */
.search-content,
.search-input,
.seach-input__home-parent,
.search-input form,
.site-search {
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid var(--anime-border) !important;
    border-radius: 28px !important;
    box-shadow: var(--anime-shadow) !important;
}

/* 主页搜索框：外层容器透明，只保留最内层样式，避免多层叠加 */
.search-home.search-content,
.search-home .search-input,
.search-home .seach-input__home-parent {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

.search-home .search-input form {
    background: rgba(255, 255, 255, .92) !important;
    border: 1px solid var(--anime-border) !important;
    box-shadow: var(--anime-shadow) !important;
}

.card,
.blog-meta-one,
.homepostimg,
.hidecard,
.pls-footer-service-item,
.contact-item {
    position: relative;
    overflow: hidden;
}

.card::after,
.blog-meta-one::after,
.homepostimg::after,
.hidecard::after,
.pls-footer-service-item::after,
.login-card::after {
    content: "✦";
    position: absolute;
    right: 18px;
    top: 12px;
    z-index: 1;
    color: rgba(255, 120, 198, .34);
    font-size: 24px;
    pointer-events: none;
}

.card-body,
.tag-body,
.post-data,
.footer-intro,
.inner-wrapper {
    position: relative;
    z-index: 2;
}

.search-input input,
.search-input__tool,
.form-control,
.search-input-s,
.login-card input,
.login-card .form-control,
textarea,
select {
    color: var(--anime-ink) !important;
    background: rgba(255, 255, 255, .84) !important;
    border: 1px solid rgba(255, 120, 198, .2) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .58) !important;
}

.search-content.search-home {
    overflow: visible !important;
    border-radius: 999px !important;
}

.search-home .search-input,
.search-home .search-input form {
    width: 100%;
    height: 60px !important;
    padding: 0 !important;
    display: block !important;
    position: relative;
    border-radius: 999px !important;
}

.search-home .search-input input,
.search-home .search-input__tool {
    position: relative !important;
    width: 100% !important;
    height: 60px !important;
    line-height: 60px !important;
    padding: 0 128px 0 58px !important;
    border: 0 !important;
    background: rgba(255, 255, 255, .92) !important;
    font-size: 15px !important;
}

.search-home .search-input i.bi-search {
    left: 24px !important;
    top: 50% !important;
    transform: translateY(-50%);
    color: var(--anime-pink-deep) !important;
    z-index: 3;
}

.search-home .clear-input {
    right: 112px !important;
    top: 50% !important;
    transform: translateY(-50%);
    z-index: 3;
}

.search-home .banner-search-btn {
    position: absolute !important;
    top: 8px !important;
    right: 8px !important;
    width: 96px !important;
    height: 44px !important;
    line-height: 44px !important;
    padding: 0 !important;
    z-index: 4 !important;
}

textarea {
    border-radius: 22px !important;
}

.search-input input:focus,
.form-control:focus,
.search-input-s:focus,
textarea:focus,
select:focus {
    border-color: rgba(255, 120, 198, .62) !important;
    box-shadow: 0 0 0 4px rgba(255, 120, 198, .12) !important;
}

.so-top li a,
.tags li a,
.badge,
.type_tag,
.label {
    color: var(--anime-pink-deep) !important;
    background: rgba(255, 120, 198, .1) !important;
    border: 1px solid rgba(255, 120, 198, .18) !important;
    border-radius: 999px !important;
}

.mp-product-grid-card__more--link {
    color: var(--anime-pink-deep) !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    text-decoration: none !important;
}

.blog-meta-one,
.homepostimg,
.hidecard,
.pls-footer-service-item {
    transition: transform .25s ease, box-shadow .25s ease;
}

.blog-meta-one:hover,
.homepostimg:hover,
.hidecard:hover,
.pls-footer-service-item:hover,
.card.hover-anim:hover {
    transform: translateY(-6px);
    box-shadow: 0 26px 65px rgba(255, 120, 198, .24) !important;
}

.text-primary,
.main-count,
a,
.footer-title,
.apptitle,
.underline span {
    color: var(--anime-pink-deep) !important;
}

.bg-primary,
.bg-primary-subtle {
    background: rgba(255, 120, 198, .14) !important;
}

.text-body,
.text-muted,
p,
li,
.small {
    color: #73507d !important;
}

.underline::after,
.title-style-one .main-title:after {
    background: linear-gradient(90deg, var(--anime-pink), var(--anime-yellow), var(--anime-blue)) !important;
    border-radius: 999px;
}

.fancy-short-banner-five:not(.mt-30),
.home-vip-main {
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 255, 255, .55), transparent 24%),
        linear-gradient(135deg, rgba(255, 120, 198, .95), rgba(155, 124, 255, .93) 58%, rgba(107, 220, 255, .92)) !important;
    color: #4a235a !important;
    border-radius: 34px !important;
}

.fancy-short-banner-five:not(.mt-30) h3,
.fancy-short-banner-five:not(.mt-30) p,
.home-vip-main h3,
.home-vip-main p {
    color: #4a235a !important;
    text-shadow: 0 1px 2px rgba(255,255,255,.4) !important;
}

/* contact 页面的 CTA 横幅按钮 */
.fancy-short-banner-five:not(.mt-30) .msg-btn {
    display: inline-block !important;
    min-width: 132px;
    height: 44px !important;
    line-height: 40px !important;
    padding: 0 26px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900;
    letter-spacing: .03em;
    text-align: center !important;
    vertical-align: middle !important;
    border: 2px solid rgba(255,255,255,.9) !important;
    background: linear-gradient(135deg, #ff5fbd, #9b7cff 58%, #51d7ff) !important;
    box-shadow: 0 8px 24px rgba(255,95,189,.35), inset 0 1px 0 rgba(255,255,255,.55) !important;
    border-radius: 999px !important;
}

.footer-style-four .bottom-footer,
.footer-style-four .inner-wrapper,
.links {
    border-color: rgba(255, 120, 198, .15) !important;
}

.tb-contacts .contact-item,
.contact-item {
    border: 1px solid rgba(255, 255, 255, .88) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, .84) !important;
    box-shadow: 0 14px 35px rgba(155, 124, 255, .18) !important;
}

.tb-contacts .ct-info,
.tbfa {
    color: var(--anime-pink-deep) !important;
}

.login-card {
    padding: 34px !important;
    border-radius: 34px !important;
}

.login-card .nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link,
.nav-tabs .nav-link.active {
    color: var(--anime-pink-deep) !important;
    border-bottom-color: var(--anime-pink-deep) !important;
}

.accsys-control-panel__corner-btn {
    background: linear-gradient(135deg, var(--anime-pink), var(--anime-purple)) !important;
    color: #fff !important;
}

.table,
.table * {
    color: var(--anime-ink);
}

.table,
.table-responsive {
    border-radius: 22px !important;
}

/* 表格不裁剪溢出，由 .table-responsive 负责滚动 */
.table {
    overflow: visible;
}

/* 表格响应式包裹层：确保 table-responsive 本身可水平滚动 */
.table-responsive {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
}

/* 兼容：table 元素自身带了 table-responsive 类 */
table.table-responsive {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
}

/* 手机端：确保内容区不会因表格过宽而整体撑开 */
@media (max-width: 991px) {
    #doc_body,
    #doc_body .wrapper {
        overflow-x: hidden !important;
    }

    /* 卡片容器：去掉多余内边距 + 限制宽度不随子元素撑开 */
    #doc_body .bg-white {
        padding: 12px !important;
        overflow-x: hidden !important;
    }

    /* 只有表格区域可独立横向滑动 */
    #doc_body .table-responsive {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        position: relative;
    }

    /* 表身上直接加了 table-responsive 类 */
    #doc_body table.table-responsive {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        word-break: normal;
    }

    /* 确保包裹式用法里表格本身宽度自适应内容，撑开滚动容器 */
    #doc_body .table-responsive > .table {
        width: max-content !important;
        min-width: 100% !important;
    }

    /* 隐藏横向滚动条蓝条（保留滚动功能），只作用于表格 */
    #doc_body .table-responsive::-webkit-scrollbar {
        height: 2px;
    }

    #doc_body .table-responsive::-webkit-scrollbar-thumb {
        background: rgba(0, 0, 0, .10) !important;
        border-radius: 1px;
    }

    /* 手机端表格默认缩小展示，字体和间距适配小屏 */
    .table {
        font-size: 12px !important;
        line-height: 1.35 !important;
        margin-bottom: 0 !important;
    }

    .table th,
    .table td {
        padding: 5px 6px !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    .table th {
        font-size: 11px !important;
    }

    .table .badge {
        font-size: 9px !important;
        padding: 1px 4px !important;
        white-space: nowrap !important;
    }
}


/* ===== 二次元强化：更多装饰元素、产品页专属风格 ===== */
body::before {
    content: "✦  ♡  ✧  ★  ♫  ✦  ♡";
    position: fixed;
    left: 3vw;
    right: 3vw;
    top: 82px;
    z-index: 0;
    pointer-events: none;
    color: rgba(255, 120, 198, .22);
    font-size: clamp(22px, 3vw, 46px);
    letter-spacing: 1.6em;
    white-space: nowrap;
    animation: animeFloat 7s ease-in-out infinite;
}

.main-page-wrapper {
    position: relative;
    z-index: 1;
}

.theme-main-menu::before {
    display: none !important;
    content: none !important;
}

.theme-inner-banner {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(circle at 18% 20%, rgba(255, 120, 198, .42), transparent 24%),
        radial-gradient(circle at 80% 18%, rgba(107, 220, 255, .48), transparent 24%),
        linear-gradient(135deg, rgba(255, 244, 251, .92), rgba(232, 247, 255, .9)) !important;
    border-bottom: 2px solid rgba(255, 255, 255, .86);
}

.theme-inner-banner::before {
    content: "API 魔法图鉴";
    position: absolute;
    right: 9%;
    top: 22px;
    padding: 9px 18px;
    color: #fff;
    font-weight: 900;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--anime-pink), var(--anime-purple));
    box-shadow: 0 14px 34px rgba(255, 120, 198, .28);
    transform: rotate(4deg);
}

.theme-inner-banner::after {
    content: "✦\A  ♡\A     ✧\A  ★";
    white-space: pre;
    position: absolute;
    right: 3%;
    bottom: -8px;
    color: rgba(255, 120, 198, .34);
    font-size: 38px;
    line-height: 1.15;
    pointer-events: none;
}

.theme-inner-banner .intro,
.theme-inner-banner h2.intro {
    font-family: 'ZCOOL KuaiLe', 'Ma Shan Zheng', cursive;
    color: #3f2850 !important;
    text-shadow: 3px 4px 0 rgba(255, 120, 198, .14);
}

.theme-inner-banner .intro::before {
    content: "✧ ";
    color: var(--anime-pink-deep);
}

.blog-section-three {
    position: relative;
    background:
        radial-gradient(circle at 11% 7%, rgba(255, 120, 198, .22), transparent 25%),
        radial-gradient(circle at 87% 12%, rgba(107, 220, 255, .22), transparent 28%),
        linear-gradient(180deg, rgba(255, 250, 253, .95), rgba(246, 239, 255, .9), rgba(255, 255, 255, .96)) !important;
}

.blog-section-three::before {
    content: "♡";
    position: absolute;
    left: 5%;
    top: 90px;
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 26px;
    color: rgba(255,255,255,.96);
    font-size: 34px;
    background: linear-gradient(135deg, rgba(255,120,198,.82), rgba(155,124,255,.78));
    box-shadow: 0 18px 42px rgba(255,120,198,.22);
    transform: rotate(-12deg);
}

.blog-section-three::after {
    content: "✦";
    position: absolute;
    right: 6%;
    top: 42%;
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 30px;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(107,220,255,.86), rgba(155,124,255,.76));
    box-shadow: 0 18px 42px rgba(107,220,255,.22);
    animation: animeFloat 5.5s ease-in-out infinite;
}

.isotop-menu-wrapper {
    position: relative;
    z-index: 2;
    padding: 14px 18px !important;
    margin-bottom: 18px !important;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(255,255,255,.88);
    border-radius: 28px;
    box-shadow: 0 16px 42px rgba(155,124,255,.12);
    backdrop-filter: blur(12px);
}

.isotop-menu-wrapper li,
.g-control-nav-one li {
    margin: 4px 5px !important;
    padding: 7px 13px !important;
    border-radius: 999px !important;
    color: #7a5483 !important;
    background: rgba(255,255,255,.68) !important;
    border: 1px solid rgba(255,120,198,.13) !important;
}

.isotop-menu-wrapper li:hover,
.isotop-menu-wrapper li.is-checked,
.g-control-nav-one li.active {
    color: #fff !important;
    background: linear-gradient(135deg, var(--anime-pink), var(--anime-purple)) !important;
    box-shadow: 0 10px 24px rgba(255,120,198,.24);
}

.blog-meta-one,
.homepostimg {
    min-height: 214px;
    border: 2px solid rgba(255, 255, 255, .92) !important;
    background:
        linear-gradient(#fff, #fff) padding-box,
        linear-gradient(135deg, rgba(255,120,198,.8), rgba(155,124,255,.55), rgba(107,220,255,.8)) border-box !important;
    border-radius: 30px !important;
    box-shadow: 0 18px 46px rgba(155, 124, 255, .16), 0 0 0 8px rgba(255,255,255,.28) !important;
}

.blog-meta-one::before,
.homepostimg::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 17px 17px, rgba(255,120,198,.18) 0 3px, transparent 4px),
        radial-gradient(circle at calc(100% - 22px) 58px, rgba(107,220,255,.18) 0 4px, transparent 5px),
        linear-gradient(135deg, rgba(255,120,198,.06), transparent 42%, rgba(107,220,255,.08));
    background-size: 72px 72px, 86px 86px, auto;
}

.blog-meta-one::after,
.homepostimg::after {
    content: "✦";
    right: 15px;
    top: 10px;
    color: rgba(255, 120, 198, .58);
    font-size: 26px;
    animation: animeTwinkle 1.9s ease-in-out infinite;
}

.blog-meta-one .ripple-btn,
.homepostimg .ripple-btn {
    position: relative;
    z-index: 2;
    background: transparent !important;
}

.blog-meta-one .icon,
.blog-meta-one svg,
.homepostimg .icon,
.homepostimg svg {
    filter: drop-shadow(0 10px 16px rgba(155,124,255,.18));
    transform: scale(1.08);
}

.blog-meta-one h6.apptitle,
.homepostimg h4.apptitle,
.apptitle {
    font-weight: 900 !important;
    color: #ff4fb3 !important;
}

.blog-meta-one p,
.homepostimg p {
    color: #7c6284 !important;
}

.tag-body {
    border-top: none !important;
    padding-top: 12px !important;
}

.tag-m,
.tag-cor,
.mp-product-grid-card__price span {
    color: #ff7a45 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 3px 8px;
    text-shadow: none !important;
    filter: none !important;
    box-shadow: none !important;
}

.badge-danger,
.badge-warning,
.badge-primary,
.badge-secondary,
.badge-success,
.badge {
    color: #fff !important;
    border: 0 !important;
    background: linear-gradient(135deg, var(--anime-pink), var(--anime-purple)) !important;
    box-shadow: 0 8px 18px rgba(255,120,198,.22);
}

.mp-product-grid-card__more--link::after {
    content: " ♡";
}

.search-type {
    overflow: visible !important;
    border-radius: 999px !important;
}

.search-type .search-input,
.search-type .search-input form {
    width: 100%;
    height: 56px !important;
    padding: 0 !important;
    display: block !important;
    position: relative;
    border-radius: 999px !important;
}

.search-type .search-input input {
    position: relative !important;
    width: 100% !important;
    height: 56px !important;
    line-height: 56px !important;
    padding: 0 118px 0 52px !important;
    border: 0 !important;
    background: rgba(255,255,255,.93) !important;
}

.search-type .search-input i.bi-search {
    top: 50% !important;
    left: 22px !important;
    transform: translateY(-50%);
    color: var(--anime-pink-deep) !important;
    z-index: 3;
}

.search-type .clear-input {
    top: 50% !important;
    right: 104px !important;
    transform: translateY(-50%);
    z-index: 3;
}

.search-type .banner-search-btn {
    top: 7px !important;
    right: 7px !important;
    height: 42px !important;
    line-height: 42px !important;
    width: 88px !important;
    padding: 0 !important;
}

@keyframes animeFloat {
    0%, 100% { transform: translateY(0) rotate(0deg); }
    50% { transform: translateY(-12px) rotate(2deg); }
}

@keyframes animeTwinkle {
    0%, 100% { opacity: .38; transform: scale(.9) rotate(0deg); }
    50% { opacity: .95; transform: scale(1.15) rotate(18deg); }
}


/* ===== 下半部分：二次元 CTA 舞台区 ===== */
.fancy-short-banner-five.mt-30,
.fancy-short-banner-five.mt-30 .bg-wrapper,
.fancy-short-banner-three,
.fancy-short-banner-three .bg-wrapper {
    position: relative;
    overflow: hidden;
}

.fancy-short-banner-five.mt-30::before,
.fancy-short-banner-three::before,
.pls-footer-inner::before {
    display: none !important;
}

.fancy-short-banner-five.mt-30 {
    padding: 24px 0 10px;
}

.fancy-short-banner-five.mt-30 .bg-wrapper {
    padding: 24px 34px !important;
    border-radius: 24px !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    background:
        radial-gradient(circle at 7% 12%, rgba(255,255,255,.95) 0 7px, transparent 8px),
        radial-gradient(circle at 94% 18%, rgba(255,255,255,.85) 0 6px, transparent 7px),
        radial-gradient(circle at 17% 78%, rgba(255,216,107,.45), transparent 18%),
        linear-gradient(120deg, rgba(255,120,198,.88), rgba(180,132,255,.84) 50%, rgba(107,220,255,.86)) !important;
    box-shadow: 0 18px 44px rgba(255,120,198,.20), 0 0 0 6px rgba(255,255,255,.26) !important;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
}

.fancy-short-banner-five.mt-30 .bg-wrapper::before,
.fancy-short-banner-three .bg-wrapper::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px),
        radial-gradient(circle, rgba(255,255,255,.9) 1.5px, transparent 2.5px);
    background-size: 34px 34px, 34px 34px, 88px 88px;
    opacity: .56;
}

.fancy-short-banner-five.mt-30 .bg-wrapper::after,
.fancy-short-banner-three .bg-wrapper::after {
    content: "✦" !important;
    display: block !important;
    position: absolute;
    right: 26px;
    top: 18px;
    color: rgba(255,255,255,.92);
    font-size: 34px;
    line-height: 1;
    text-shadow: 0 0 18px rgba(255,255,255,.9), 0 8px 22px rgba(155,124,255,.35);
    animation: animeTwinkle 2.8s ease-in-out infinite;
}

.fancy-short-banner-five.mt-30 .row,
.fancy-short-banner-five.mt-30 h3,
.fancy-short-banner-five.mt-30 .msg-btn,
.fancy-short-banner-three .title-style-one,
.fancy-short-banner-three .btn-six,
.fancy-short-banner-three .bg-wrapper .row {
    position: relative;
    z-index: 2;
}

.fancy-short-banner-five.mt-30 .row {
    min-height: 48px;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.fancy-short-banner-five.mt-30 .col-lg-6:first-child {
    flex: 1 1 auto !important;
    text-align: left !important;
}

.fancy-short-banner-five.mt-30 .col-lg-6:last-child {
    flex: 0 0 auto !important;
    text-align: right !important;
}

.fancy-short-banner-five.mt-30 h3 {
    margin: 0 !important;
    max-width: none;
    color: #fff !important;
    font-size: clamp(17px, 1.55vw, 22px) !important;
    font-weight: 900 !important;
    line-height: 1.35 !important;
    letter-spacing: .02em !important;
    white-space: nowrap;
    text-shadow: 0 4px 16px rgba(78,49,95,.28), 0 0 20px rgba(255,255,255,.34) !important;
}

.fancy-short-banner-five.mt-30 h3::before {
    display: none;
}

.fancy-short-banner-five.mt-30 .msg-btn,
.fancy-short-banner-three .btn-six {
    display: inline-block !important;
    min-width: 132px;
    height: 44px !important;
    line-height: 40px !important;
    padding: 0 26px !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900;
    letter-spacing: .03em;
    text-align: center !important;
    vertical-align: middle !important;
    border: 2px solid rgba(255,255,255,.78) !important;
    background: linear-gradient(135deg, #ff5fbd, #9b7cff 58%, #51d7ff) !important;
    box-shadow: 0 12px 28px rgba(255,95,189,.34), inset 0 1px 0 rgba(255,255,255,.55) !important;
}

.fancy-short-banner-three {
    margin-top: 20px !important;
    padding: 20px 0 24px !important;
    text-align: center;
    background:
        radial-gradient(circle at 12% 18%, rgba(255,120,198,.30), transparent 26%),
        radial-gradient(circle at 86% 20%, rgba(107,220,255,.32), transparent 28%),
        linear-gradient(135deg, rgba(255,236,249,.94), rgba(236,230,255,.92) 52%, rgba(226,248,255,.94)) !important;
    z-index: 1;
}

.fancy-short-banner-three .container {
    position: relative;
    z-index: 2;
}

.fancy-short-banner-three .bg-wrapper {
    max-width: 900px;
    margin: 0 auto;
    padding: 24px 30px !important;
    border-radius: 28px !important;
    border: 2px solid rgba(255,255,255,.92) !important;
    background:
        radial-gradient(circle at 10% 22%, rgba(255,120,198,.74), transparent 24%),
        radial-gradient(circle at 92% 18%, rgba(107,220,255,.78), transparent 26%),
        linear-gradient(135deg, rgba(255,255,255,.68), rgba(255,246,252,.50) 42%, rgba(232,248,255,.62)) !important;
    box-shadow: 0 18px 50px rgba(155,124,255,.20), 0 0 0 6px rgba(255,255,255,.22) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.fancy-short-banner-three .bg-wrapper::after {
    left: 20px;
    right: auto;
    top: 14px;
    font-size: 22px;
}

.fancy-short-banner-three .bg-wrapper::before {
    content: "" !important;
    display: block !important;
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px),
        radial-gradient(circle, rgba(255,255,255,.9) 1.5px, transparent 2.5px);
    background-size: 28px 28px, 28px 28px, 72px 72px;
    opacity: .56;
}

.fancy-short-banner-three .bg-wrapper::after {
    content: "✦" !important;
    display: block !important;
    position: absolute;
    left: 20px;
    right: auto;
    top: 14px;
    color: rgba(255,255,255,.92);
    font-size: 22px;
    line-height: 1;
    text-shadow: 0 0 18px rgba(255,255,255,.9), 0 8px 22px rgba(155,124,255,.35);
    animation: animeTwinkle 2.8s ease-in-out infinite;
}

.fancy-short-banner-three .bg-wrapper .row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.fancy-short-banner-three .bg-wrapper .row > div {
    max-width: none !important;
    margin: 0 !important;
}

.fancy-short-banner-three .bg-wrapper .row > div:first-child {
    flex: 1 1 auto !important;
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
}

.fancy-short-banner-three .title-style-one {
    margin-bottom: 0 !important;
    flex: 0 0 auto !important;
}

.fancy-short-banner-three .main-title {
    display: inline-block;
    margin: 0 !important;
    color: transparent !important;
    font-size: clamp(20px, 2.8vw, 30px) !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-shadow: none !important;
    background: linear-gradient(90deg, #ff4fb3, #8d69ff 52%, #22bfff);
    -webkit-background-clip: text;
    background-clip: text;
    filter: drop-shadow(0 3px 10px rgba(155,124,255,.20));
}

.fancy-short-banner-three .main-title::after {
    display: none;
}

.fancy-short-banner-three .btn-six {
    min-width: 120px;
    height: 38px !important;
    line-height: 38px !important;
    padding: 0 22px !important;
    font-size: 13px !important;
    margin: 0 !important;
}

.pls-footer-inner {
    position: relative;
    padding: 10px 12px;
    overflow: hidden !important;
    background: rgba(255,255,255,.72) !important;
    border-radius: 26px !important;
}

.pls-footer-service-item {
    min-height: 58px;
    padding: 12px 16px !important;
    background: rgba(255,255,255,.72) !important;
    border-radius: 20px !important;
    box-shadow: none !important;
}

.pls-footer-service-item .term {
    color: #ff5db8 !important;
    font-weight: 700;
}

.footer-style-four {
    position: relative;
    overflow: hidden;
    background: linear-gradient(180deg, rgba(255,255,255,.84), rgba(249,244,255,.9)) !important;
}

.footer-style-four::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(255,120,198,.14) 1px, transparent 1.6px);
    background-size: 34px 34px;
    opacity: .36;
}

.footer-style-four .container,
.footer-style-four .inner-wrapper,
.footer-style-four .bottom-footer {
    position: relative;
    z-index: 2;
}

.footer-style-four .inner-wrapper {
    padding: 30px 30px 14px !important;
    background: rgba(255,255,255,.64);
    border: 1px solid rgba(255,255,255,.82);
    border-radius: 30px;
    box-shadow: 0 18px 44px rgba(155,124,255,.12);
    backdrop-filter: blur(14px);
}

.footer-style-four .footer-title,
.footer-style-four h5,
.footer-style-four h6 {
    color: #ff4fb3 !important;
    font-weight: 800 !important;
}

.footer-style-four .footer-title::before,
.footer-style-four h5::before,
.footer-style-four h6::before {
    content: "" !important;
}

.footer-nav-link li a,
.footer-nav li a,
.links a,
.copyright a {
    color: #7d6288 !important;
    transition: color .2s ease;
}

.footer-nav-link li a:hover,
.footer-nav li a:hover,
.links a:hover {
    color: #ff4fb3 !important;
}

.links {
    padding: 10px 14px;
    background: rgba(255,255,255,.42);
    border-radius: 18px;
}

.bottom-footer {
    margin-top: 18px;
    padding-top: 16px !important;
}

.scroll-top,
.tb-contacts .scroll-top {
    will-change: opacity, transform;
    background: rgba(255,255,255,.92) !important;
    border: 1px solid rgba(255,120,198,.18) !important;
    box-shadow: 0 10px 24px rgba(255,120,198,.16) !important;
}

.scroll-top::after {
    display: none !important;
}

@media (max-width: 991px) {
    .fancy-short-banner-five.mt-30 .row {
        flex-wrap: wrap !important;
        text-align: center !important;
    }

    .fancy-short-banner-five.mt-30 .col-lg-6:first-child,
    .fancy-short-banner-five.mt-30 .col-lg-6:last-child {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        text-align: center !important;
    }

    .fancy-short-banner-five.mt-30 h3 {
        padding-left: 0 !important;
        white-space: normal !important;
    }

    .fancy-short-banner-five.mt-30 h3::before {
        display: none;
    }

    .fancy-short-banner-five.mt-30 .msg-btn {
        margin-top: 14px !important;
    }
}

@media (max-width: 767px) {
    .fancy-short-banner-five.mt-30 .bg-wrapper,
    .fancy-short-banner-three .bg-wrapper {
        padding: 24px 18px !important;
        border-radius: 24px !important;
    }
}

@media (max-width: 991px) {
    body::before,
    .blog-section-three::before,
    .blog-section-three::after,
    .theme-inner-banner::before,
    .theme-inner-banner::after {
        display: none;
    }
}

/* 修复 banner 标题与搜索框重叠（所有屏幕，搜索框应由绝对定位改为正常流） */
.theme-inner-banner .search-content.search-type {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin-top: 24px !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
}

/* 搜索框外层容器也撑满宽度 */
.theme-inner-banner.type .col-10.col-lg-5 {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

@media (max-width: 991px) {
    /* 修复 banner 标题字体过大导致换行重叠 */
    .theme-inner-banner h2.intro {
        font-size: clamp(24px, 6vw, 34px) !important;
        line-height: 1.3 !important;
        text-align: left !important;
        margin-bottom: 10px !important;
        word-break: break-word !important;
    }

    .theme-inner-banner p.intro {
        font-size: 14px !important;
        line-height: 1.5 !important;
        text-align: left !important;
    }

    /* 减小手机端 banner 顶部 padding，避免内容过度下移 */
    .theme-inner-banner {
        padding-top: 100px !important;
        padding-bottom: 30px !important;
    }
}

@media (max-width: 767px) {
    /* 手机端卡片最小高度取消，避免留白过多 */
    .blog-meta-one,
    .homepostimg {
        min-height: auto !important;
    }

    /* 手机端搜索框按钮适配 */
    .search-home .search-input input,
    .search-home .search-input__tool {
        padding: 0 100px 0 50px !important;
        font-size: 14px !important;
    }

    .search-home .banner-search-btn {
        width: 80px !important;
        font-size: 13px !important;
    }

    /* 手机端 CTA 区域标题换行 */
    .fancy-short-banner-five.mt-30 h3 {
        font-size: clamp(15px, 4.5vw, 18px) !important;
    }
}

/* 联系我们：二次元展示区 */
.anime-contact-area {
    position: relative;
    min-height: 400px;
    overflow: hidden;
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.88);
    background:
        radial-gradient(circle at 15% 20%, rgba(255,120,198,.35), transparent 28%),
        radial-gradient(circle at 82% 22%, rgba(107,220,255,.42), transparent 30%),
        linear-gradient(135deg, rgba(255,245,251,.96), rgba(238,249,255,.94));
    box-shadow: 0 24px 70px rgba(155,124,255,.18);
}

.anime-contact-bg {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.6) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.6) 1px, transparent 1px),
        radial-gradient(circle, rgba(255,120,198,.36) 1.5px, transparent 2px);
    background-size: 38px 38px, 38px 38px, 88px 88px;
    opacity: .8;
}

.anime-contact-content {
    position: relative;
    z-index: 2;
    max-width: 560px;
    padding: 72px 56px;
}

.anime-badge {
    display: inline-flex;
    padding: 8px 16px;
    margin-bottom: 18px;
    border-radius: 999px;
    color: #fff;
    font-weight: 800;
    letter-spacing: .05em;
    background: linear-gradient(135deg, #ff78c6, #9b7cff);
    box-shadow: 0 12px 28px rgba(255,120,198,.28);
}

.anime-contact-content h3 {
    margin-bottom: 16px;
    font-size: 40px;
    font-weight: 900;
    color: #4e315f;
}

.anime-contact-content p {
    margin-bottom: 24px;
    color: #7b6289;
    font-size: 17px;
    line-height: 1.9;
}

.anime-contact-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.anime-contact-tags span {
    padding: 9px 15px;
    border-radius: 999px;
    color: #6a4777;
    font-weight: 700;
    background: rgba(255,255,255,.72);
    border: 1px solid rgba(255,255,255,.9);
    box-shadow: 0 10px 24px rgba(155,124,255,.1);
}

.anime-character-card {
    position: absolute;
    right: 72px;
    top: 50%;
    width: 250px;
    height: 250px;
    transform: translateY(-50%);
    border-radius: 42px;
    background: rgba(255,255,255,.62);
    border: 1px solid rgba(255,255,255,.9);
    box-shadow: 0 24px 60px rgba(255,120,198,.2);
    backdrop-filter: blur(12px);
}

.anime-moon {
    position: absolute;
    right: 28px;
    top: 24px;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #ffd86b;
    box-shadow: 0 0 34px rgba(255,216,107,.65);
}

.anime-character-face {
    position: absolute;
    left: 50%;
    top: 54%;
    width: 128px;
    height: 112px;
    transform: translate(-50%, -50%);
    border-radius: 48% 48% 44% 44%;
    background: linear-gradient(180deg, #fff, #ffeaf7);
    border: 4px solid #ff9bd4;
    box-shadow: inset 0 -10px 0 rgba(255,120,198,.12);
}

.anime-ear {
    position: absolute;
    top: -36px;
    width: 44px;
    height: 58px;
    background: #fff;
    border: 4px solid #ff9bd4;
    border-radius: 70% 70% 20% 20%;
}

.anime-ear.left { left: 14px; transform: rotate(-24deg); }
.anime-ear.right { right: 14px; transform: rotate(24deg); }

.anime-eye {
    position: absolute;
    top: 42px;
    width: 18px;
    height: 26px;
    border-radius: 50%;
    background: #6b4bff;
    box-shadow: inset 4px 5px 0 rgba(255,255,255,.75);
}

.anime-eye.left { left: 34px; }
.anime-eye.right { right: 34px; }

.anime-mouth {
    position: absolute;
    left: 50%;
    bottom: 24px;
    width: 28px;
    height: 14px;
    transform: translateX(-50%);
    border-bottom: 4px solid #ff78c6;
    border-radius: 0 0 28px 28px;
}

.anime-sparkle {
    position: absolute;
    color: #ff78c6;
    font-size: 28px;
    filter: drop-shadow(0 4px 10px rgba(255,120,198,.3));
}

.anime-sparkle.s1 { left: 28px; top: 26px; }
.anime-sparkle.s2 { right: 42px; bottom: 36px; color: #9b7cff; }
.anime-sparkle.s3 { left: 44px; bottom: 42px; color: #6bdcff; }

@media (max-width: 991px) {
    .anime-contact-content {
        padding: 44px 26px 260px;
    }
    .anime-contact-content h3 {
        font-size: 30px;
    }
    .anime-character-card {
        right: 50%;
        top: auto;
        bottom: 24px;
        width: 200px;
        height: 200px;
        transform: translateX(50%);
    }
}
