:root {
  --theme-color-primary: #5C97F7;
  --theme-color-primary-dark: #2E79F5;
  --theme-color-primary-light: #7BAAF9;
}

/* === Gaite two-column home layout + body background (aligned with 10090) === */
body{background:url(../images/bodybg.jpg) repeat;}
.gaite-home-cols{display:flex;gap:20px;align-items:flex-start;margin-top:1rem;}
.gaite-side{flex:0 0 220px;width:220px;background:#fff;border:1px solid #e5e5e5;}
.gaite-side .side-title{background:var(--theme-color-primary,#5C97F7);color:#fff;padding:12px 16px;font-size:18px;font-weight:bold;}
.gaite-side ul{list-style:none;margin:0;padding:0;}
.gaite-side li a{display:block;padding:10px 16px;border-bottom:1px solid #eee;color:#333;text-decoration:none;}
.gaite-side li a:hover{background:#f5f7fa;color:var(--theme-color-primary,#5C97F7);}
.gaite-main{flex:1;min-width:0;}
.gaite-ad img{width:100%;display:block;margin-bottom:1rem;}
@media (max-width:768px){.gaite-home-cols{flex-direction:column;}.gaite-side{width:100%;flex:auto;}}

/* === Gaite home blocks aligned with 10090 === */
.gaite-series{margin-top:1rem;background:#fff;}
.gaite-series img.banner{width:100%;display:block;}
.gaite-series-grid{display:flex;gap:10px;padding:10px;}
.gaite-series-grid .si{flex:1;min-width:0;text-align:center;}
.gaite-series-grid .si img{width:100%;display:block;}
.gaite-series-grid .cap{padding:10px 0;font-size:15px;color:#333;}
.gaite-series-grid .cap b{color:var(--theme-color-primary,#5C97F7);font-size:20px;margin-right:8px;}
.gaite-sec-head{padding:28px 0 16px;text-align:center;}
.gaite-sec-head .t{font-size:26px;font-weight:bold;color:#333;}
.gaite-sec-head .e{font-size:13px;color:#999;letter-spacing:2px;margin-top:4px;}
.gaite-cases{margin-top:1rem;}
.gaite-logo-grid{display:flex;flex-wrap:wrap;background:#fff;}
.gaite-logo-grid span{flex:0 0 20%;box-sizing:border-box;border-right:1px solid #eee;border-bottom:1px solid #eee;display:flex;align-items:center;justify-content:center;padding:12px;}
.gaite-logo-grid img{max-width:100%;max-height:60px;}
.gaite-about{margin-top:1rem;}
.gaite-about-body{background:#fff;padding:20px;}
.gaite-about-body img.factory{width:100%;display:block;}
.gaite-about-body p{text-indent:2em;font-size:16px;line-height:1.9;color:#555;margin:12px 0 0;}
.gaite-about-body a.more{display:inline-block;margin-top:15px;color:var(--theme-color-primary,#5C97F7);text-decoration:none;}
.gaite-news{margin-top:1rem;}
.gaite-news-list{background:#fff;padding:10px 20px;}
.gaite-news .news-item{display:flex;align-items:flex-start;padding:14px 0;border-bottom:1px dashed #ddd;}
.gaite-news .num{flex:0 0 46px;width:46px;height:46px;line-height:46px;text-align:center;background:var(--theme-color-primary,#5C97F7);color:#fff;font-size:18px;font-weight:bold;margin-right:15px;}
.gaite-news .nb{flex:1;min-width:0;}
.gaite-news .nb .title{font-size:16px;color:#333;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;}
.gaite-news .nb .title:hover{color:var(--theme-color-primary,#5C97F7);}
.gaite-news .nb .sum{font-size:13px;color:#999;margin-top:6px;line-height:1.6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gaite-news .nb .date{color:#bbb;margin-left:8px;}
.gaite-news .nb .item-more{float:right;display:inline-block;margin-left:12px;padding:4px 16px;background:var(--theme-color-primary,#5C97F7);color:#fff;font-size:12px;text-decoration:none;}
.gaite-news-more{text-align:center;background:#fff;padding:15px 0 25px;}
.gaite-news-more a.more{display:inline-block;padding:8px 40px;background:var(--theme-color-primary,#5C97F7);color:#fff;text-decoration:none;}
.gaite-form{margin-top:1rem;}
.gaite-form form{background:#fff;padding:25px;}
.gaite-form .fr{display:flex;gap:15px;margin-bottom:15px;}
.gaite-form input[type=text]{flex:1;min-width:0;border:1px solid #ddd;padding:10px;font-size:14px;box-sizing:border-box;}
.gaite-form textarea{width:100%;box-sizing:border-box;border:1px solid #ddd;padding:10px;font-size:14px;margin-bottom:15px;}
.gaite-form button{background:var(--theme-color-primary,#5C97F7);color:#fff;border:0;padding:10px 60px;font-size:16px;cursor:pointer;}
.gaite-form .msg{margin-top:10px;color:var(--theme-color-primary,#5C97F7);min-height:20px;}
.gaite-footer{background:#2a2a2a;}
.gaite-footer .fcol{padding:20px 10px;}
.gaite-footer .fcol .title{color:#fff;font-size:16px;margin-bottom:12px;}
.gaite-footer .fcol a{display:block;color:#c9c9c9;font-size:13px;line-height:2;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.gaite-footer .fcol a:hover{color:#fff;}
.gaite-footer .qr{border:2px solid #ddd;width:120px;height:120px;padding:2px;background:#fff;}
.gaite-footer .qr-text{color:#c9c9c9;font-size:13px;margin-top:8px;}
.gaite-footer .copyright{background:#222;text-align:center;padding:15px;color:#999;font-size:13px;}
.gaite-footer .copyright a{color:#999;text-decoration:none;margin:0 5px;}
@media (max-width:768px){
    .gaite-series-grid{flex-wrap:wrap;}
    .gaite-series-grid .si{flex:0 0 48%;}
    .gaite-logo-grid span{flex:0 0 33.33%;}
    .gaite-form .fr{flex-direction:column;}
}

/* === Gaite layout modes (admin configurable) === */
.gaite-series-grid.layout-v{display:block;padding:10px 0;}
.gaite-series-grid.layout-v .si{margin-bottom:10px;}
.gaite-series-grid.layout-v .si img{width:100%;display:block;}
.gaite-series-grid.layout-v .cap{display:none;}
.gaite-series-grid.layout-h{display:flex;gap:10px;padding:10px;}
.gaite-series-grid.layout-h .si{flex:1;min-width:0;text-align:center;}
.gaite-about-body.layout-lr{display:flex;gap:30px;align-items:flex-start;background:transparent;padding:10px 0 20px;}
.gaite-about-body.layout-lr img.factory{flex:0 0 45%;width:45%;}
.gaite-about-body.layout-lr .txt{flex:1;min-width:0;}
.gaite-about-body.layout-full{display:block;background:#fff;padding:20px;}
.gaite-about-body.layout-full img.factory{width:100%;}
.gaite-about-body .txt p{margin:0 0 10px;}
.gaite-about-body a.more{display:none;}
@media (max-width:768px){.gaite-about-body.layout-lr{flex-direction:column;}.gaite-about-body.layout-lr img.factory{width:100%;flex:auto;}.gaite-series-grid.layout-h{flex-wrap:wrap;}.gaite-series-grid.layout-h .si{flex:0 0 48%;}}
/* === Banner full image display (aligned with 10090) === */
.ub-banner .swiper-slide .cover{background-size:100% 100%;}


/* =========================================================
   Mega Dropdown 菜单（参照艾特信/tipray：左配图 + 右多列）
   hover 展开 / 左图右列 / 箭头旋转 / 桥接防误收 / 移动端隐藏
   ========================================================= */
.menu-nav {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    position: relative;
}
.menu-nav > a,
.menu-nav > .has-dropdown > .parent-link {
    display: inline-flex;
    align-items: center;
    padding: 18px 16px;
    color: #333;
    font-size: 16px;
    text-decoration: none;
    white-space: nowrap;
    line-height: 1.4;
    border-bottom: 2px solid transparent;
    transition: color .2s, border-color .2s;
}
.menu-nav > a:hover,
.menu-nav > a.active,
.menu-nav > .has-dropdown > .parent-link:hover,
.menu-nav > .has-dropdown:hover > .parent-link {
    color: var(--theme-color-primary, #5C97F7);
    border-bottom-color: var(--theme-color-primary, #5C97F7);
}

.nav-caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 6px;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid currentColor;
    vertical-align: middle;
    transition: transform .25s ease;
}
.has-dropdown:hover .nav-caret {
    transform: rotate(180deg);
}

.has-dropdown {
    position: relative;
    display: inline-block;
}

/* 悬停桥接：父项到面板之间的空隙，防止误收 */
.has-dropdown::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    height: 24px;
    z-index: 1;
}

.nav-dropdown {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    display: flex;
    gap: 28px;
    min-width: 860px;
    max-width: calc(100vw - 40px);
    background: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 18px 48px rgba(15, 40, 70, .16);
    border-top: 3px solid var(--theme-color-primary, #5C97F7);
    padding: 24px 28px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
    z-index: 9999;
}
.has-dropdown:hover .nav-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}

/* 左侧配图 + 文字蒙层 */
.dropdown-visual {
    position: relative;
    flex: 0 0 280px;
    width: 280px;
    height: 220px;
    border-radius: 8px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--theme-color-primary, #5C97F7), #1e4d8c);
}
.dropdown-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.dropdown-visual .visual-mask {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 28px 16px 14px;
    background: linear-gradient(to top, rgba(8, 28, 56, .78), rgba(8, 28, 56, 0));
    color: #fff;
}
.dropdown-visual .visual-title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}
.dropdown-visual .visual-sub {
    margin-top: 4px;
    font-size: 12px;
    opacity: .9;
    line-height: 1.4;
}

/* 右侧多列子项 */
.dropdown-cols {
    flex: 1;
    min-width: 0;
    display: flex;
    gap: 0;
}
.dropdown-cols.cols-2 .dropdown-col {
    flex: 1 1 50%;
}
.dropdown-cols.cols-3 .dropdown-col {
    flex: 1 1 33.333%;
}
.dropdown-col {
    padding: 4px 20px;
    border-right: 1px solid #eef2f6;
    min-width: 0;
}
.dropdown-col:last-child {
    border-right: 0;
}
.dropdown-col:first-child {
    padding-left: 4px;
}
.dropdown-col:last-child {
    padding-right: 4px;
}
.dropdown-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.dropdown-col li {
    margin: 0;
}
.dropdown-col li a {
    display: block;
    padding: 9px 8px;
    color: #445566;
    font-size: 14px;
    line-height: 1.5;
    text-decoration: none;
    border-radius: 4px;
    transition: color .2s, background .2s, padding-left .2s;
}
.dropdown-col li a:hover {
    color: var(--theme-color-primary, #5C97F7);
    background: rgba(92, 151, 247, .08);
    padding-left: 12px;
}

/* 移动端隐藏下拉（走抽屉导航） */
@media (max-width: 992px) {
    .nav-dropdown {
        display: none !important;
    }
    .has-dropdown::after {
        display: none;
    }
    .nav-caret {
        display: none;
    }
    .menu-nav > a,
    .menu-nav > .has-dropdown > .parent-link {
        padding: 12px 14px;
        font-size: 15px;
    }
}



/* === FIX: 导航强制一行 === */
.menu-nav {
    flex-wrap: nowrap !important;
    white-space: nowrap;
    min-width: 0;
}
.menu-nav > a,
.menu-nav > .has-dropdown > .parent-link {
    padding: 18px 11px !important;
    font-size: 15px !important;
    flex: 0 0 auto;
}
.menu-nav > .has-dropdown {
    flex: 0 0 auto;
}
.ub-header-b .nav {
    min-width: 0;
    flex: 1 1 auto;
}
.ub-header-b .nav .search {
    flex: 0 0 auto;
    margin-left: 8px;
}
@media (max-width: 1280px) {
    .menu-nav > a,
    .menu-nav > .has-dropdown > .parent-link {
        padding: 18px 8px !important;
        font-size: 14px !important;
    }
}
@media (max-width: 992px) {
    .menu-nav {
        flex-wrap: wrap !important;
    }
}


/* ===== 文章正文排版（全站统一）===== */
.ub-html p,
.item-content p,
.cms-detail p,
.content-html p,
#content p,
.article-body p {
    text-indent: 2em;
    margin: 0 0 1em 0;
    line-height: 1.9;
    text-align: justify;
    font-size: 15px;
    color: #2c3e50;
}
.ub-html p:has(> img),
.item-content p:has(> img),
.cms-detail p:has(> img),
.content-html p:has(> img),
#content p:has(> img),
.article-body p:has(> img) {
    text-indent: 0;
}
.ub-html p img,
.item-content p img,
.cms-detail p img,
.content-html p img {
    display: block;
    margin: 14px auto;
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}
.ub-html h2, .item-content h2, .cms-detail h2, .content-html h2 {
    margin: 1.5em 0 0.7em;
    font-size: 20px;
    font-weight: 700;
    color: #152536;
    line-height: 1.5;
}
.ub-html h3, .item-content h3, .cms-detail h3, .content-html h3 {
    margin: 1.35em 0 0.55em;
    font-size: 17px;
    font-weight: 700;
    color: #1a2a3a;
    line-height: 1.55;
}
.ub-html a, .item-content a { color: #2563eb; }
.ub-html strong { font-weight: 600; }
