/* 内页通用布局：横幅 + 标题 + 正文 */
.ruiyi-inner:not(.ruiyi-src) .header{background:#fff;box-shadow:0 2px 12px rgba(11,42,102,.08)}
.ry-banner{height:360px;background:#0b2a66 center/cover no-repeat;position:relative;display:flex;align-items:center}
.ry-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,61,.8),rgba(14,58,140,.35))}
.ry-banner-in{position:relative;width:1200px;max-width:92%;margin:0 auto;color:#fff;padding-top:60px}
.ry-banner h1{font-size:40px;font-weight:bold;line-height:1.3}
.ry-banner p{font-size:16px;margin-top:12px;color:rgba(255,255,255,.75);letter-spacing:2px}
.ry-wrap{width:1200px;max-width:92%;margin:0 auto}
.ry-crumb{background:#f5f8ff;border-bottom:1px solid #e6ecf8;line-height:52px;font-size:14px;color:#667}
.ry-crumb a{color:#1a5cff}.ry-crumb span{margin:0 6px;color:#aab}
.ry-main{padding:60px 0 80px;background:#fff}
.ry-content{font-size:16px;line-height:1.9;color:#334}
.ry-content p{margin:0 0 1em}.ry-content img{max-width:100%;height:auto}
.ry-content h2{font-size:26px;color:#0b2a66;margin:1em 0 .6em;font-weight:bold}
.ry-content h3{font-size:20px;color:#0b2a66;margin:1em 0 .5em;font-weight:bold}
.ry-content ul,.ry-content ol{padding-left:2em;margin-bottom:1em}.ry-content ul li{list-style:disc}.ry-content ol li{list-style:decimal}
.ry-content a{color:#1a5cff}
.ry-title{font-size:30px!important;margin-top:0!important}
.ry-meta{color:#99a;font-size:14px;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eef}
.ry-pn{margin-top:40px;padding-top:20px;border-top:1px solid #eef;font-size:15px;line-height:2}
.ry-list li{padding:24px 0;border-bottom:1px solid #eef}
.ry-list h3{font-size:20px;color:#0b2a66}.ry-list a:hover h3{color:#1a5cff}
.ry-list span{display:block;font-size:13px;color:#99a;margin:6px 0}.ry-list p{font-size:15px;color:#556;line-height:1.8}
.ry-pager{margin-top:30px;text-align:center}.ry-pager .page-numbers{display:inline-block;padding:0 14px;line-height:36px;border:1px solid #dde;margin:0 3px;border-radius:4px}
.ry-pager .current{background:#1a5cff;color:#fff;border-color:#1a5cff}
.ry-btn{display:inline-block;background:#1a5cff;color:#fff!important;padding:0 30px;line-height:46px;border-radius:23px;margin:10px 10px 0 0}
.ry-btn-o{background:#ff7a1a}
.ry-404{text-align:center;padding:40px 0}
@media (max-width:768px){.ry-banner{height:220px}.ry-banner h1{font-size:26px}.ry-main{padding:30px 0 50px}}

/* ---- Migrated product / solution / news pages (full-width, preserve source structure) ---- */
.ruiyi-inner .ry-main-full{padding:0!important;background:#fff;max-width:none}
.ruiyi-inner .ry-content-full{font-size:inherit;line-height:inherit;color:inherit;max-width:none!important;width:100%!important;margin:0!important;padding:0!important}
.ruiyi-inner .ry-content-full .ry-migrated{width:100%;overflow:hidden}
.ruiyi-inner .ry-content-full p{margin:0} /* avoid wpautop-like gaps on structure wrappers */
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .banner2 p,
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .bannertext2 p,
.ruiyi-inner .ry-content-full .info p,
.ruiyi-inner .ry-content-full .xtptbox p,
.ruiyi-inner .ry-content-full .cjwtbox p,
.ruiyi-inner .ry-content-full .cont p{margin:revert}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .banner2{position:relative;width:100%;min-height:360px;overflow:hidden}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .banner2>img{width:100%;height:360px;object-fit:cover;display:block}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .bannertext2{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;flex-direction:column;justify-content:center;width:1200px;max-width:92%;margin:0 auto;color:#fff;z-index:2;padding-top:40px}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .bannertext2 h2{font-size:40px;font-weight:bold;margin:0 0 12px;text-shadow:0 2px 8px rgba(0,0,0,.25)}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .bannertext2 p{font-size:16px;color:rgba(255,255,255,.9);max-width:640px;line-height:1.7}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .banner2:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,61,.72),rgba(14,58,140,.25));z-index:1;pointer-events:none}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .bannertext2{z-index:2}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .btn1{display:inline-block;background:#1a5cff;color:#fff!important;padding:0 28px;line-height:44px;border-radius:22px;margin-top:18px;text-decoration:none}
.ruiyi-inner:not(.ruiyi-src) .ry-content-full .btn2{display:inline-block;background:#1a5cff;color:#fff!important;padding:0 20px;line-height:36px;border-radius:18px;font-size:14px;text-decoration:none}
.ruiyi-inner .ry-content-full img{max-width:100%}
.ruiyi-inner .ry-content-full .xtptbox img{height:65px;width:auto;max-width:100%;margin:0 auto}
.ruiyi-inner .ry-content-full .con img,.ruiyi-inner .ry-content-full .anli_detail_article img,.ruiyi-inner .ry-content-full .newshow .con img{max-width:100%;height:auto}
.ruiyi-inner .ry-content-full img[src=""],.ruiyi-inner .ry-content-full img:not([src]){display:none}

/* Keep source grid/section helpers visible even if theme reset fights them */
.ruiyi-inner .ry-content-full .wz1300{width:1320px;max-width:94%;margin-left:auto;margin-right:auto}
.ruiyi-inner .ry-content-full .wz1240{width:1240px;max-width:94%;margin-left:auto;margin-right:auto}
.ruiyi-inner .ry-content-full .fnt_32{font-size:32px;font-weight:600;color:#0b2a66}
.ruiyi-inner .ry-content-full .fnt_16{font-size:16px;line-height:1.7;color:#556}
.ruiyi-inner .ry-content-full .clear,.ruiyi-inner .ry-content-full .clearfix{clear:both}
.ruiyi-inner .ry-content-full .fl{float:left}.ruiyi-inner .ry-content-full .fr{float:right}
.ruiyi-inner .ry-content-full .pc{display:block}.ruiyi-inner .ry-content-full .mb{display:none}
.ruiyi-inner .ry-content-full table{border-collapse:collapse;width:100%;margin:16px 0}
.ruiyi-inner .ry-content-full table td,.ruiyi-inner .ry-content-full table th{border:1px solid #e6ecf8;padding:10px 12px;vertical-align:top}
.ruiyi-inner .ry-content-full ul.list-paddingleft-2,.ruiyi-inner .ry-content-full .list-paddingleft-2{padding-left:1.5em}

/* News / cases hub cards */
.ruiyi-inner .ry-hub-wrap{width:1200px;max-width:92%;margin:40px auto 80px}
.ruiyi-inner .ry-hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;list-style:none;padding:0;margin:0}
.ruiyi-inner .ry-hub-card{border:1px solid #e6ecf8;border-radius:10px;background:#f8faff;transition:.2s;overflow:hidden}
.ruiyi-inner .ry-hub-card:hover{box-shadow:0 8px 24px rgba(11,42,102,.1);transform:translateY(-2px)}
.ruiyi-inner .ry-hub-card a{display:block;color:inherit;text-decoration:none}
.ruiyi-inner .ry-hub-card .thumb{display:block;aspect-ratio:16/10;overflow:hidden;background:#eef3ff}
.ruiyi-inner .ry-hub-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ruiyi-inner .ry-hub-card .meta{padding:18px 20px}
.ruiyi-inner .ry-hub-card h3{margin:0 0 8px;font-size:18px;color:#0b2a66;line-height:1.4}
.ruiyi-inner .ry-hub-card p{margin:0;font-size:13px;color:#889;line-height:1.6}
.ruiyi-inner .ry-hub-card .date{display:block;margin-top:10px;font-size:12px;color:#aab}

.ry-cta-bar{background:#0b2a66;color:#fff;padding:48px 0;margin-top:40px;text-align:center}
.ry-cta-bar h3{font-size:26px;margin:0 0 12px}
.ry-cta-bar p{opacity:.85;margin:0 0 18px}
.ry-cta-bar a{display:inline-block;background:#ff7a1a;color:#fff!important;padding:0 32px;line-height:46px;border-radius:23px}

@media (max-width:900px){
  .ruiyi-inner .ry-hub-grid{grid-template-columns:1fr 1fr}
  .ruiyi-inner:not(.ruiyi-src) .ry-content-full .banner2>img,.ruiyi-inner:not(.ruiyi-src) .ry-content-full .banner2{height:240px;min-height:240px}
  .ruiyi-inner:not(.ruiyi-src) .ry-content-full .bannertext2 h2{font-size:26px}
  .ruiyi-inner .ry-content-full .fnt_32{font-size:24px}
  .ruiyi-inner .ry-content-full .pc{display:none}.ruiyi-inner .ry-content-full .mb{display:block}
}
@media (max-width:600px){.ruiyi-inner .ry-hub-grid{grid-template-columns:1fr}}

/* News / case article layout helpers (from source main.css, reinforced) */
.ruiyi-inner .ry-content-full .newshow{max-width:900px;margin:30px auto 80px;padding:0 16px}
.ruiyi-inner .ry-content-full .newshow h5,.ruiyi-inner .ry-content-full .newshow .fnt_32{font-weight:600;line-height:1.4;color:#0b2a66}
.ruiyi-inner .ry-content-full .newshow .info{margin:15px 0;color:#999;padding-bottom:15px;border-bottom:1px solid #f0f0f0}
.ruiyi-inner .ry-content-full .newshow .info span{padding:0 5px}
.ruiyi-inner .ry-content-full .newshow .con{font-size:16px;line-height:1.9;color:#595959}
.ruiyi-inner .ry-content-full .newshow .con p{margin-top:1.2em}
.ruiyi-inner .ry-content-full .mp30{height:30px}
.ruiyi-inner .ry-content-full .w1000{width:1000px;max-width:94%;margin:0 auto}

/* ===== products hub (channel-banner / product-list) match szkingdee ===== */
.ruiyi-inner .ry-products-hub{font-size:14px;color:#333;line-height:1.6}
.ruiyi-inner .ry-products-hub .layout{width:100%}
.ruiyi-inner .ry-products-hub .container{margin:0 auto;padding:0 10px;width:1200px;max-width:100%}
.ruiyi-inner .ry-products-hub .line{margin:0;padding:0}
.ruiyi-inner .ry-products-hub .line-big{margin-left:-10px;margin-right:-10px}
.ruiyi-inner .ry-products-hub .line-big:after,.ruiyi-inner .ry-products-hub .clearfix:after{content:"";display:table;clear:both}
.ruiyi-inner .ry-products-hub .x4{float:left;width:33.33333333%;padding:0 10px;box-sizing:border-box}
.ruiyi-inner .ry-products-hub .text-center{text-align:center}
.ruiyi-inner .ry-products-hub .text-left{text-align:left}
.ruiyi-inner .ry-products-hub .text-right{text-align:right}
.ruiyi-inner .ry-products-hub .text-white{color:#fff!important}
.ruiyi-inner .ry-products-hub .text-gray{color:#999}
.ruiyi-inner .ry-products-hub .text-yellow{color:#ff9600}
.ruiyi-inner .ry-products-hub .text-big{font-size:20px}
.ruiyi-inner .ry-products-hub .text-middle{font-size:16px}
.ruiyi-inner .ry-products-hub .bg-white{background:#fff}
.ruiyi-inner .ry-products-hub .bg-gray{background:#f5f5f5}
.ruiyi-inner .ry-products-hub .padding-big{padding:20px}
.ruiyi-inner .ry-products-hub .padding-large{padding:30px}
.ruiyi-inner .ry-products-hub .margin-big-bottom{margin-bottom:20px}
.ruiyi-inner .ry-products-hub .margin-big-top{margin-top:20px}
.ruiyi-inner .ry-products-hub .margin-left{margin-left:8px}
.ruiyi-inner .ry-products-hub .margin-small-right{margin-right:4px}
.ruiyi-inner .ry-products-hub .blank-small{height:20px}
.ruiyi-inner .ry-products-hub .blank-middle{height:40px}
.ruiyi-inner .ry-products-hub .blank-large{height:60px}
.ruiyi-inner .ry-products-hub .float-left{float:left}
.ruiyi-inner .ry-products-hub .float-right{float:right}
.ruiyi-inner .ry-products-hub .img-responsive{max-width:100%;height:auto;display:block;margin:0 auto}
.ruiyi-inner .ry-products-hub .media{overflow:hidden;zoom:1}
.ruiyi-inner .ry-products-hub .media.media-y{text-align:center}
.ruiyi-inner .ry-products-hub .media-body{overflow:hidden;zoom:1;padding:10px 0 0}
.ruiyi-inner .ry-products-hub .channel-banner{height:350px;position:relative;background-repeat:no-repeat;background-position:center center;background-size:cover;margin:0;padding:0}
.ruiyi-inner .ry-products-hub .channel-banner .banner-info{position:absolute;top:50%;margin-top:-50px;left:0;right:0;z-index:3}
.ruiyi-inner .ry-products-hub .channel-banner .banner-info h3{font-size:40px;font-weight:600;position:relative;margin-bottom:30px;color:#fff}
.ruiyi-inner .ry-products-hub .channel-banner .banner-info h3:before{left:50%;margin-left:-15px;bottom:-10px;width:30px;height:3px;background:#ff9600;content:'';display:block;position:absolute}
.ruiyi-inner .ry-products-hub .channel-banner .banner-info p{font-size:36px;color:#fff}
.ruiyi-inner .ry-products-hub .nav-tree{font-size:0;height:70px;line-height:70px;list-style:none;margin:0;padding:0}
.ruiyi-inner .ry-products-hub .nav-tree>li{position:relative;display:inline-block}
.ruiyi-inner .ry-products-hub .nav-tree>li>a{color:#6E6E6E;display:block;padding:0 22px;font-size:15px;background:#fff;text-decoration:none}
.ruiyi-inner .ry-products-hub .nav-tree>li>a.active,.ruiyi-inner .ry-products-hub .nav-tree>li>a.cur{background:linear-gradient(-45deg,#FFD100,#ff9600);color:#fff}
.ruiyi-inner .ry-products-hub .nav-tree li ul{top:70px;left:0;background:#fff;padding:10px 0;z-index:99;position:absolute;width:100%;display:none;box-shadow:0 5px 10px 0 rgba(0,0,0,0.03);list-style:none;margin:0}
.ruiyi-inner .ry-products-hub .nav-tree li:hover>ul{display:block}
.ruiyi-inner .ry-products-hub .nav-tree li ul li{display:block;width:100%;text-align:left}
.ruiyi-inner .ry-products-hub .nav-tree li ul li.children a{font-size:14px;background:#fff;display:block;color:#6e6e6e;line-height:34px;height:34px;padding:0 12px;text-decoration:none}
.ruiyi-inner .ry-products-hub .nav-tree li ul li.children a:hover{color:#ff9600}
.ruiyi-inner .ry-products-hub .product-list .media{transition:.3s}
.ruiyi-inner .ry-products-hub .product-list .media:hover{box-shadow:0 5px 20px 5px rgba(0,0,0,.05)}
.ruiyi-inner .ry-products-hub .product-list .media:hover .media-body h2 a{color:#ff9600}
.ruiyi-inner .ry-products-hub .product-list .media-body h2{font-size:18px;margin:8px 0;font-weight:600}
.ruiyi-inner .ry-products-hub .product-list .media-body h2 a{color:#333;text-decoration:none}
.ruiyi-inner .ry-products-hub .product-list .media-body p{color:#666;font-size:13px;min-height:40px}
.ruiyi-inner .ry-products-hub .price-info ul{list-style:none;margin:0;padding:0}
.ruiyi-inner .ry-products-hub .pagination{list-style:none;margin:0;padding:0;display:inline-block}
.ruiyi-inner .ry-products-hub .pagination li{display:inline-block;border:solid 1px #EBEBEB;border-radius:4px;margin:0 3px}
.ruiyi-inner .ry-products-hub .pagination a{color:#333;padding:8px 12px;line-height:18px;display:block;text-decoration:none}
.ruiyi-inner .ry-products-hub .pagination .active,.ruiyi-inner .ry-products-hub .pagination a:hover{background:#ff9600;border-color:#ff9600;color:#fff}
.ruiyi-inner .ry-products-hub .filter-box{border-radius:4px}
.ruiyi-inner .ry-products-hub .fa{font-style:normal}
.ruiyi-inner .ry-products-hub .fa-angle-down:before{content:"▾"}
.ruiyi-inner .ry-products-hub .fa-eye:before{content:"👁"}
@media (max-width:1200px){
  .ruiyi-inner .ry-products-hub .container{width:100%}
  .ruiyi-inner .ry-products-hub .x4{width:50%}
  .ruiyi-inner .ry-products-hub .nav-tree{height:auto;line-height:1.4;white-space:normal}
  .ruiyi-inner .ry-products-hub .nav-tree>li>a{padding:10px 12px;font-size:13px}
}
@media (max-width:640px){
  .ruiyi-inner .ry-products-hub .x4{width:100%}
  .ruiyi-inner .ry-products-hub .channel-banner{height:220px}
  .ruiyi-inner .ry-products-hub .channel-banner .banner-info h3{font-size:28px}
  .ruiyi-inner .ry-products-hub .channel-banner .banner-info p{font-size:22px}
}


/* ===== Case detail (anli) — 1:1 with szjnw/szkingdee /anli/*.html (v1.2.10–1.2.11) ===== */
/* header transparent over banner like source; turns white on scroll/hover via .on */
/* header: no theme override on case detail — source style.css .header / .header.on / :hover / media rules apply as-is */
/* banner: source style.css .banner2 img{width:100%} — natural height, no crop, no dim */
.ruiyi-case-detail .ry-content-full .banner2{min-height:0;height:auto;overflow:visible}
.ruiyi-case-detail .ry-content-full .banner2>img{width:100%;height:auto;object-fit:initial;display:inline}
.ruiyi-case-detail .ry-content-full .banner2:after,.ruiyi-case-detail .ry-content-full .banner2:before{display:none}
/* breadcrumb: source inline <style> on /anli/ detail */
.ruiyi-case-detail .bread-nav{display:block;position:absolute;left:0;width:100%;top:-40px;padding:10px 0}
.ruiyi-case-detail .bread-nav span{color:#fff;font-size:14px;margin:0 2px;opacity:.5}
.ruiyi-case-detail .bread-nav a{color:#fff;font-size:14px;opacity:.85}
.ruiyi-case-detail .anli_detail_tag .anli_tag_text{position:relative}
/* source main.css paragraph rhythm (undo .ry-content-full p{margin:0}) */
.ruiyi-case-detail .ry-content-full .anli_detail_article .summary p{margin:0 0 1.5em;line-height:2em}
.ruiyi-case-detail .ry-content-full .fnt_32{font-weight:inherit;color:inherit;line-height:inherit}
.ruiyi-case-detail .ry-content-full .fnt_16{line-height:inherit;color:inherit}
@media screen and (max-width:768px){.ruiyi-case-detail .bread-nav{top:-60px}}
@media (max-width:1000px){.ruiyi-case-detail .bread-nav{display:none}}
@media (max-width:900px){.ruiyi-case-detail .ry-content-full .banner2,.ruiyi-case-detail .ry-content-full .banner2>img{height:auto;min-height:0}}

/* ===== Source-layout hubs (v1.2.12–1.2.13): cases list, products, solutions, partners, about, contact =====
   body.ruiyi-src => theme banner/bannertext/header overrides are skipped (see :not(.ruiyi-src) above),
   so szjnw style.css/main.css govern: banner2 img natural ratio, no dim overlay, transparent header. */
.ruiyi-src .ry-content-full .banner2>img{display:inline}
