/* 隐藏旧的page-banner元素（如果存在） */
#page-banner.page-banner,
.page-banner:not(.partners-banner-container),
.bannerBox.partner_bannerBox:not(:has(.partners-banner-container)) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
}

/* 确保页面上的其他图片正常显示 - 增强优先级确保图片显示 */
.partners-banner-container img,
.partners-banner-content img,
.partners-banner-text img,
.partners-banner-container * img,
.partners-banner-content * img,
.partners-banner-text * img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
    height: auto !important;
}

/* Partners页面首屏Banner样式 */
.partners-banner-container {
    width: 100%;
    height: 320px;
    min-height: 320px;
    max-height: 320px;
    background: linear-gradient(to right, #F7F9F8 0%, #E8F5E8 100%);
    background-color: #F7F9F8;
    position: relative;
    overflow: hidden;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    /* 补偿header固定定位的高度（64px），确保banner从header下方开始，整个320px都可见 */
    margin-top: 64px !important;
    margin-bottom: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    /* 首屏处理：确保紧贴header下方，消除上方空白 */
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
}

/* 确保父容器不会产生额外间距 - 但保留header补偿 */
.partners-banner-container:first-child,
.partners-banner-container:first-of-type {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
    padding-top: 0 !important;
}

/* 处理可能的父容器间距 - 但保留header补偿 */
body > .main > .partners-banner-container,
body > .partners-banner-container,
.main > .partners-banner-container:first-child,
.main > .partners-banner-container:first-of-type,
[class*="brick"] > .partners-banner-container:first-child,
[class*="brick"] > .partners-banner-container:first-of-type,
[class*="card"] > .partners-banner-container:first-child,
[class*="card"] > .partners-banner-container:first-of-type {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
    padding-top: 0 !important;
}

/* 处理可能的兄弟元素间距 */
.partners-banner-container + * {
    margin-top: 0 !important;
}

/* 处理可能的父容器padding - 但保留header补偿 */
* > .partners-banner-container:first-child {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
}

* > .partners-banner-container:first-of-type {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
}

/* 处理Card容器 - 确保包含banner的Card没有padding-top和margin-top */
[class*="cardBg"]:has(.partners-banner-container),
[class*="cardBg"]:has(.partners-banner-container):first-child,
[class*="cardBg"]:has(.partners-banner-container):first-of-type,
.cardBgGrey-f5f7fc:has(.partners-banner-container),
.cardBgGrey-f8faff:has(.partners-banner-container),
.cardBgGrey-ebf0f9:has(.partners-banner-container),
.cardBgGrey-f7f8fc:has(.partners-banner-container),
.cardBgGrey-f9fbff:has(.partners-banner-container),
.cardBgColorWhite:has(.partners-banner-container),
.cardBgColorBlue:has(.partners-banner-container) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 针对brick预览页面的container-div */
.container-div:has(.partners-banner-container),
.container-div > [class*="cardBg"]:has(.partners-banner-container):first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 确保body和main没有额外间距 */
body:has(.partners-banner-container),
.main:has(.partners-banner-container) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 通用规则：任何包含banner的容器作为第一个子元素时 */
body > *:first-child:has(.partners-banner-container),
.main > *:first-child:has(.partners-banner-container),
.container-div > *:first-child:has(.partners-banner-container) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 针对不支持:has()的浏览器，使用更通用的规则 */
@supports not selector(:has(*)) {
    .partners-banner-container {
        /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
        margin-top: 64px !important;
        padding-top: 0 !important;
    }
    
    /* 通过JavaScript处理父容器（降级方案） */
}

/* 最高优先级：直接针对所有可能的Card容器组合 - 但保留header补偿 */
html body .container-div > [class*="cardBg"]:first-child:has(.partners-banner-container),
html body .main > [class*="cardBg"]:first-child:has(.partners-banner-container),
html body [class*="cardBg"]:first-child:has(.partners-banner-container),
body .container-div > [class*="cardBg"]:first-child:has(.partners-banner-container),
body .main > [class*="cardBg"]:first-child:has(.partners-banner-container),
body [class*="cardBg"]:first-child:has(.partners-banner-container) {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
    padding-top: 0 !important;
}

/* 处理container-div中的table，确保它不占用空间（预览页面用） */
.container-div:has(.partners-banner-container) > #detail-bootstrap-table:first-child,
.container-div:has(.partners-banner-container) > table:first-child {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    overflow: hidden !important;
}

/* 确保container-div本身没有padding-top和margin-top */
.container-div:has(.partners-banner-container) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 确保第一个Card紧贴container-div顶部 */
.container-div:has(.partners-banner-container) > [class*="cardBg"]:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* 处理body直接包含container-div的情况 */
body > .container-div:has(.partners-banner-container) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 确保body本身没有padding-top（如果有的话） */
body:has(.partners-banner-container) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* 处理main容器，确保第一个子元素紧贴header - 但保留header补偿 */
.main:has(.partners-banner-container) {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.main:has(.partners-banner-container) > *:first-child:not(#headerHtml):has(.partners-banner-container),
.main:has(.partners-banner-container) > [class*="cardBg"]:first-child:has(.partners-banner-container) {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
    padding-top: 0 !important;
}

/* 确保headerHtml之后直接是banner，补偿header高度 */
#headerHtml + [class*="cardBg"]:has(.partners-banner-container),
#headerHtml + .partners-banner-container,
#headerHtml + *:has(.partners-banner-container) {
    /* 保留margin-top: 64px来补偿header高度，确保视觉居中 */
    margin-top: 64px !important;
    padding-top: 0 !important;
}

/* 网格效果 */
.partners-banner-container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: 
        linear-gradient(#6246E8 1px, transparent 1px),
        linear-gradient(90deg, #6246E8 1px, transparent 1px);
    background-size: 40px 40px;
    z-index: 1;
    pointer-events: none;
    opacity: 0.05;
}

/* 渐变效果 */
.partners-banner-container::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    width: 800px;
    height: 800px;
    background: rgba(98, 70, 232, 0.2);
    border-radius: 50%;
    filter: blur(120px);
    pointer-events: none;
    z-index: 0;
}

.partners-banner-content {
    position: relative;
    z-index: 10;
    width: auto;
    max-width: 1280px;
    margin: 0 auto;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
}

.partners-banner-text {
    text-align: center !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative;
    z-index: 10;
    margin: 0 !important;
    padding: 0 !important;
    /* 使用gap统一控制子元素间距，确保上下对称居中 */
    gap: 0;
}

.partners-banner-tag {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 6px 16px;
    border: 1px solid #6246E8;
    border-radius: 8px;
    color: #6246E8 !important;
    font-size: 14px;
    font-weight: 500;
    margin-top: 0 !important;
    margin-bottom: 16px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    background-color: rgba(98, 70, 232, 0.1);
    line-height: 1.5;
    position: relative;
    z-index: 10;
}

.partners-banner-title {
    font-size: 36px !important;
    font-weight: 700;
    color: #1E293B;
    margin-top: 0 !important;
    margin-bottom: 12px;
    margin-left: 0 !important;
    margin-right: 0 !important;
    line-height: 1.2;
    position: relative;
    z-index: 10;
}

.partners-banner-subtitle {
    font-size: 16px !important;
    font-weight: 400;
    color: #1E293B;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    line-height: 1.4;
    position: relative;
    z-index: 10;
}

.partners-banner-button {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    align-items: center;
    justify-content: center;
    padding: 12px 32px;
    background-color: #6246E8 !important;
    color: #FFFFFF !important;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    border-radius: 24px;
    transition: all 0.3s ease;
    cursor: pointer;
    border: none;
    margin-top: 0;
    position: relative;
    z-index: 10;
}

.partners-banner-button:hover {
    background-color: #45a049;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(98, 70, 232, 0.3);
}

.partners-banner-button:active {
    transform: translateY(0);
}

/* 响应式设计 */
@media screen and (max-width: 1920px) {
    .partners-banner-container {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
    }
}

@media screen and (max-width: 1101px) {
    .partners-banner-container {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
        padding: 0 24px !important;
        /* 保留header补偿 */
        margin-top: 64px !important;
    }
    
    .partners-banner-tag {
        font-size: 12px;
        padding: 4px 12px;
        margin-top: 0 !important;
        margin-bottom: 12px;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .partners-banner-title {
        font-size: 32px !important;
        margin-top: 0 !important;
        margin-bottom: 12px;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .partners-banner-subtitle {
        font-size: 14px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .partners-banner-button {
        padding: 10px 24px;
        font-size: 14px;
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}

@media screen and (max-width: 768px) {
    .partners-banner-container {
        height: 320px !important;
        min-height: 320px !important;
        max-height: 320px !important;
        padding: 0 16px !important;
        /* 保留header补偿 */
        margin-top: 64px !important;
    }
    
    .partners-banner-tag {
        font-size: 12px;
        padding: 4px 10px;
        margin-top: 0 !important;
        margin-bottom: 8px;
        margin-left: 0 !important;
        margin-right: 0 !important;
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .partners-banner-title {
        font-size: 24px !important;
        margin-top: 0 !important;
        margin-bottom: 8px;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .partners-banner-subtitle {
        font-size: 14px !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
    
    .partners-banner-button {
        padding: 8px 20px;
        font-size: 14px;
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }
}
