/* Styling for native enhancement, no Vue-managed layout or route transitions. */
html[data-render-mode="full-ssr"] { scroll-behavior:auto }
html[data-render-mode="full-ssr"] [data-product-private-band][hidden],
html[data-render-mode="full-ssr"] [data-product-access-band][hidden] { display:none!important }
/* Catalog Document swaps keep the previous pixels until fonts have settled.
   No cross-fade, white cover, client routing or content replacement. The bounded
   hold also expires without JS and unsupported browsers use normal navigation. */
@keyframes ssr-catalog-hold { from { opacity:1 } to { opacity:1 } }
html[data-render-mode="full-ssr"]::view-transition-group(root) { animation-duration:0s }
html[data-render-mode="full-ssr"]::view-transition-old(root) { animation:ssr-catalog-hold 750ms linear both;mix-blend-mode:normal;z-index:2 }
html[data-render-mode="full-ssr"]::view-transition-new(root) { animation:none;mix-blend-mode:normal;z-index:1 }
html.catalog-paint-ready::view-transition-old(root) { animation:none;opacity:0 }
html[data-render-mode="full-ssr"] .immersive-copy.is-visible { opacity:1;pointer-events:auto }
/* GSAP previously left a transform on this viewport, creating a stacking
   context. Keep that context explicitly so z-index:100 cards cannot cover the
   z-index:15 navigation buttons after a native entrance animation finishes. */
html[data-render-mode="full-ssr"] .solution-carousel__viewport { isolation:isolate }
html[data-render-mode="full-ssr"] #catalog-content { scroll-margin-top:72px }
html[data-render-mode="full-ssr"] .le-architecture button[hidden] { display:none }
/* A lazy architecture image without intrinsic attributes must not collapse its
   entire clickable button to zero height before the browser starts loading it.
   `auto` uses the image's true ratio as soon as it is decoded. */
html[data-render-mode="full-ssr"] .le-architecture img,
html[data-render-mode="full-ssr"] .le-gallery img,
html[data-render-mode="full-ssr"] .le-illustrations img { aspect-ratio:auto 2.4 }
.ssr-image-viewer.is-natural>img { max-width:none;max-height:none }
.ssr-image-viewer { overflow:auto }
.ssr-image-viewer .ssr-image-size { width:auto;font-size:14px;white-space:nowrap }
.ssr-enhanced .home-cases__controls[hidden],.ssr-enhanced .sa-carousel__arrows[hidden] { display:none!important }
@media(max-width:1280px) { html[data-render-mode="full-ssr"] #catalog-content { scroll-margin-top:64px } }
@media(max-width:1023px) { html[data-render-mode="full-ssr"] .fixed-sidebar { display:none } }
/* Pure presentation: no hidden-until-JS state and no page navigation effects. */
@keyframes ssr-scroll-cue { from { transform:translateY(0) rotate(45deg);opacity:1 } to { transform:translateY(6px) rotate(45deg);opacity:.65 } }
@media(prefers-reduced-motion:no-preference) {
  .ssr-enhanced .page-hero__scroll-cue i,.ssr-enhanced .za-hero-scroll-cue i { animation:ssr-scroll-cue .8s ease-in-out infinite alternate }
  .ssr-enhanced .solution-feature-icon { transition:transform .4s ease }
  .ssr-enhanced .solution-feature-icon:hover { transform:translateY(-7px) rotate(-4deg) }
}
@media(prefers-reduced-motion:reduce) {
  html[data-render-mode="full-ssr"]:not([data-site-motion="full"]) *,html[data-render-mode="full-ssr"]:not([data-site-motion="full"]) *::before,html[data-render-mode="full-ssr"]:not([data-site-motion="full"]) *::after { animation:none!important;transition:none!important;scroll-behavior:auto!important }
}
html[data-site-motion="full"] .page-hero__scroll-cue i,html[data-site-motion="full"] .za-hero-scroll-cue i{animation:ssr-scroll-cue .8s ease-in-out infinite alternate}
html[data-site-motion="full"] .case-hub .case-card:hover .case-card__media img,html[data-site-motion="full"] .news-card:hover .news-card__image img{transform:scale(1.025)}
html[data-site-motion="full"] .case-hub .case-card__category,html[data-site-motion="full"] .case-hub .case-card__arrow{transition:opacity .35s,transform .4s cubic-bezier(.22,1,.36,1)}
html[data-site-motion="full"] .solution-feature-icon{transition:transform .4s ease}
html[data-site-motion="full"] .solution-feature-icon:hover{transform:translateY(-7px) rotate(-4deg)}
.ssr-dialog { box-sizing:border-box;border:0;border-radius:16px;padding:24px;color:#333;max-width:90vw;max-height:90vh;background:#fff }
.ssr-dialog::backdrop { background:#0007 }
.ssr-dialog>header { display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px }
.ssr-dialog h2 { margin:0;font-size:20px }
.ssr-dialog header button { border:0;background:none;font-size:28px;cursor:pointer;width:40px;height:40px }
.ssr-dialog>img { display:block;width:auto;max-width:100%;max-height:70vh;margin:auto }
.ssr-resource-notice { position:fixed;inset:0;width:440px;height:fit-content;margin:auto;font-family:'Source Normal','Microsoft YaHei',sans-serif; }
.ssr-resource-notice p { font-size:16px;line-height:1.8;margin:0 0 24px; }
.ssr-resource-notice>a { display:table;margin-left:auto;padding:10px 24px;background:#ff8f1f;border-radius:6px;color:#fff;text-decoration:none; }
.resource-preview__status[hidden] { display:none!important; }
.ssr-enhanced .resource-preview__viewer .resource-preview__status { position:absolute;z-index:2;top:12px;left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);margin:0;padding:10px 16px;border-radius:6px;background:rgba(255,255,255,.96);box-shadow:0 2px 12px #0001;color:#555;font-size:16px; }
.ssr-enhanced .resource-preview__status button { min-height:36px;margin-left:12px;padding:0 12px;border:1px solid #ff8f1f;border-radius:6px;background:#fff;color:#d66c06;font:inherit;cursor:pointer; }
.resource-preview__arrow[aria-disabled=true] { opacity:.35;cursor:not-allowed; }
.ssr-category-drawer { margin:0 auto 0 0;width:min(360px,88vw);height:100dvh;max-height:100dvh;border-radius:0;padding:0;background:#fff;font-family:'Source Normal',sans-serif }
/* Keep both catalog sidebars white, including panels moved into the mobile drawer. */
nav.category-panel[aria-label="产品分类"],aside.case-sidebar.category-panel { background:#fff; }
.ssr-category-drawer>header { padding:22px 20px;margin:0;border-bottom:1px solid #eee;color:#282828 }
.ssr-category-drawer>header h2 { font-size:20px;font-weight:400 }
.ssr-category-drawer>header button { color:#606060;font-size:20px }
.ssr-category-drawer .category-panel,.ssr-category-drawer .case-sidebar { position:static;display:block!important;margin:0;border-radius:0 }
.ssr-category-drawer .case-sidebar__panel { padding:30px 0 }
.ssr-category-drawer .case-menu-status { padding:0 20px }
.category-filter-icon { display:none!important }
.ssr-language { position:relative }
.ssr-language summary { list-style:none;cursor:pointer;font-size:29px }
.ssr-language summary::-webkit-details-marker { display:none }
.ssr-language>div { position:absolute;right:0;top:100%;min-width:150px;background:#fff;border:1px solid #eee;border-radius:8px;box-shadow:0 8px 24px #0002;padding:8px;z-index:1100 }
.ssr-language a,.ssr-language span { display:block;padding:10px;color:#555;font-size:14px;text-decoration:none;white-space:nowrap }
.ssr-language a:hover { color:#ff8f1f }
.ssr-page-submit { color:#ff8f1f;border:0;margin-left:12px;font:inherit }
.footer-qr-button { display:block }
/* Match the original footer's Element dialog, not the large diagram viewer. */
.ssr-footer-qr.el-dialog { position:fixed;inset:0 0 auto;width:360px;max-width:calc(100% - 40px);max-height:calc(85vh - 20px);margin:15vh auto 50px;padding:0;border:0;border-radius:12px;overflow:auto;background:#fff;color:#303133;box-shadow:0 1px 3px #0005;font:inherit }
.ssr-footer-qr::backdrop { background:rgba(0,0,0,.5) }
.ssr-footer-qr .el-dialog__header { padding:20px 44px 0 24px }
.ssr-footer-qr .el-dialog__body { padding:20px 24px 24px }
.ssr-footer-qr .footer-qr-preview-content img { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#fff }
.ssr-footer-qr .footer-qr-preview-content p { color:#666;line-height:1.8;text-align:center }
.editor-rich-content { min-width:0;overflow:auto }
/* Mirror EditorRichContent's Shadow DOM defaults while retaining crawlable
   light-DOM article text. Authored inline formatting remains authoritative. */
.editor-rich-content > .editor-document { all:initial;display:flow-root;margin:0;padding:0;font-family:sans-serif;font-size:16px;color:#000;line-height:normal;word-wrap:break-word }
.editor-document p { margin:0 }
.editor-document pre { margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8 }
.editor-document ul,.editor-document ol { margin:0;width:95% }
.editor-document li { clear:both }
.editor-document .list-paddingleft-1 { padding-left:0 }
.editor-document .list-paddingleft-2 { padding-left:30px }
.editor-document .list-paddingleft-3 { padding-left:60px }
.editor-document table { margin-bottom:10px;display:table }
.editor-document caption { border:1px dashed #ddd;border-bottom:0;padding:3px;text-align:center }
.editor-document th { border-top:1px solid #bbb;background-color:#f7f7f7 }
.editor-document table tr.firstRow th { border-top-width:2px }
.editor-document table.noBorderTable td,.editor-document table.noBorderTable th,.editor-document table.noBorderTable caption { border:1px dashed #ddd!important }
.editor-document .ue-table-interlace-color-single { background-color:#fcfcfc }
.editor-document .ue-table-interlace-color-double { background-color:#f7faff }
.editor-document td p { margin:0;padding:0 }
.solution-story #solution-overview .editor-document,.solution-story #solution-overview .editor-document p,.solution-story #solution-overview .editor-document span { line-height:30px!important }
.editor-document img { max-width:100%;height:auto }
.editor-document table { border-collapse:collapse;max-width:100% }
.editor-document td,.editor-document th { border:1px solid #ddd;padding:5px 10px }
.sa-carousel__viewport { overflow-x:auto!important;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none }
.sa-carousel__viewport::-webkit-scrollbar { display:none;width:0;height:0 }
.sa-carousel__track { transform:none!important;justify-content:flex-start!important }
.sa-carousel__card { width:calc((100% - 64px)/3)!important;flex-shrink:0;scroll-snap-align:start }
/* This non-interactive region is focused after unlock for screen readers. */
html[data-render-mode="full-ssr"] .product-private[tabindex="-1"]:focus { outline:none }
.ssr-preview-note { margin:12px 0;color:#777;font-size:15px;line-height:1.8 }
.search-suggestions a { display:inline-block;min-width:104px;padding:12px 26px;border:1px solid transparent;border-radius:99px;background:#f9f9f9;color:#666;font:inherit;font-size:14px;cursor:pointer;transition:border-color .2s,color .2s;text-decoration:none;text-align:center }
.search-suggestions a:hover { border-color:#ff8f1f;color:#ff8f1f }
.search-filters a { position:relative;flex:0 0 auto;padding:20px 0 30px;border:0;background:transparent;color:#999;font:inherit;font-size:16px;cursor:pointer;text-decoration:none }
.search-filters a span { margin-left:2px }
.search-filters a.active { color:#555 }
.search-filters a.active::after { content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#ff8f1f }
@media(max-width:600px) { .search-suggestions a { min-width:0;padding:9px 17px;font-size:13px } .search-filters a { padding:18px 0 20px;font-size:15px } }
.resource-preview__arrow { text-decoration:none }
@media(max-width:1280px) {
  html:not(.ssr-enhanced) .site-header { position:static }
  html:not(.ssr-enhanced) .site-header__inner { display:flex;flex-wrap:wrap;padding:12px 0 }
  html:not(.ssr-enhanced) .site-header__nav { display:flex;width:100%;order:3;overflow:auto;white-space:nowrap;gap:20px;padding:12px 0 }
  html:not(.ssr-enhanced) .menu-button { display:none }
}
@media(max-width:1180px) {
  .ssr-enhanced .category-filter-icon:not([hidden]) { display:grid!important }
  .pagination-jump { display:none!important }
  .ssr-enhanced .ssr-category-drawer { overflow:auto }
}
@media(max-width:1000px) { .sa-carousel__card { width:calc((100% - 32px)/2)!important } }
@media(max-width:600px) { .sa-carousel__card { width:100%!important } }
