/* ===== Block 1 from index.html ===== */
.ly_products_22 .themes_prod {
    width: 23%;
}
.ly_products_22 .products_box .themes_prod{margin-right: 1px;}
@media (max-width:768px){
    .ly_products_22 .themes_prod {
        width: 47%;
    }
}

/* ===== Block 2 from index.html ===== */
.stat_bar_wrap{
    width:100%;
    background: url(https://css02.v15cdn.com/m413/purple/ab-bg2.webp) #1f86c9;
    background-size:cover;
    background-position:center;
    padding:50px 20px;
    box-sizing:border-box;
    position:relative;
    overflow:hidden;
    font-family:Arial,Helvetica,sans-serif;
}
/* 背景水印图标 */
.stat_bar_wrap::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        radial-gradient(circle at 5% 20%, rgba(255,255,255,0.06) 0%, transparent 8%),
        radial-gradient(circle at 15% 70%, rgba(255,255,255,0.05) 0%, transparent 10%),
        radial-gradient(circle at 25% 30%, rgba(255,255,255,0.06) 0%, transparent 8%),
        radial-gradient(circle at 35% 80%, rgba(255,255,255,0.05) 0%, transparent 10%),
        radial-gradient(circle at 45% 25%, rgba(255,255,255,0.06) 0%, transparent 8%),
        radial-gradient(circle at 55% 75%, rgba(255,255,255,0.05) 0%, transparent 10%),
        radial-gradient(circle at 65% 35%, rgba(255,255,255,0.06) 0%, transparent 8%),
        radial-gradient(circle at 75% 80%, rgba(255,255,255,0.05) 0%, transparent 10%),
        radial-gradient(circle at 85% 20%, rgba(255,255,255,0.06) 0%, transparent 8%),
        radial-gradient(circle at 95% 65%, rgba(255,255,255,0.05) 0%, transparent 10%);
    pointer-events:none;
}
.stat_bar_inner{
    max-width:1440px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
    position:relative;
    z-index:2;
}
.stat_item{
    text-align:center;
    color:#fff;
}
.stat_icon{
    width:56px;
    height:56px;
    margin:0 auto 16px;
    display:flex;
    align-items:center;
    justify-content:center;
}
.stat_icon svg{
    width:100%;
    height:100%;
    fill:#fff;
}
.stat_number{
    font-size:clamp(32px,3.5vw,48px);
    font-weight:bold;
    line-height:1.1;
    margin-bottom:8px;
}
.stat_label{
    font-size:clamp(14px,1.2vw,18px);
    opacity:0.95;
}
/* 平板适配 */
@media(max-width:992px){
    .stat_bar_inner{
        grid-template-columns:repeat(2,1fr);
        gap:36px 20px;
    }
}
/* 手机端适配 */
@media(max-width:576px){
    .stat_bar_wrap{
        padding:36px 16px;
    }
    .stat_bar_inner{
        grid-template-columns:repeat(2,1fr);
        gap:30px;
    }
    .stat_icon{
        width:44px;
        height:44px;
        margin-bottom:12px;
    }
}

/* ===== 首页 banner：横向滑动轨道 + 无缝循环（全端生效，自动播放 3 秒） ===== */
.ly_carousel_28[data-visual-id="54978"] .carousel_wrapper {
    overflow: hidden;
}
.ly_carousel_28[data-visual-id="54978"] .carousel_wrapper .carousel_box {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: flex-start;
    height: auto !important;
    overflow: visible !important;
    will-change: transform;
}
.ly_carousel_28[data-visual-id="54978"] .carousel_wrapper .carousel_box .carousel_item {
    position: relative !important;
    flex: 0 0 100% !important;
    width: 100% !important;
    opacity: 1 !important;
    z-index: auto !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
}

/* ===== anti-revert-carousel-pad : 轮播电脑端上边距归零（防回退覆盖）=====
   可视化编辑器按模块设置生成的 static/css/ab1e85091db644a24537120575e490f1.css
   里写的是 padding-top:20px，重新保存该模块会被重新生成、20px 会写回来。
   本文件是人工维护的模板样式且只在首页加载，用「更高特异性 + !important」压过它，
   模块 CSS 被重新生成多少次都不受影响。手机端本来就是 0，这里全端统一为 0。 */
html body .ly_carousel_28[data-visual-id="54978"] {
    padding-top: 0 !important;
}
