/* Shared wide-screen framework. Loaded after each theme's visual styles. */
:root { --cms-wide: 1920px; --cms-gutter: 40px; }
body[class*="cms-page-"] .container {
  margin-left: auto !important; margin-right: auto !important;
  padding-left: var(--cms-gutter) !important; padding-right: var(--cms-gutter) !important;
}
/* The default theme keeps its own palette and card design. */
body:not([class*="cms-page-"]) .container,
body:not([class*="cms-page-"]) .nav-wrap { max-width: var(--cms-wide); }
body:not([class*="cms-page-"]) .article-layout { max-width: 1320px; justify-content: center; }
body:not([class*="cms-page-"]) .site-footer { max-width: 1840px; margin-left: auto; margin-right: auto; padding-left: 30px; padding-right: 30px; }
/* Product and marketing sections share the same gutters, including legacy non-container blocks. */
.cms-shortcuts { width: calc(100% - 2 * var(--cms-gutter)); }
.hearder-text ul, .main-features, .main-features-box ul, .main-sence ul,
.question-list-tab ul, .question-main-box, .linux-page {
  max-width: calc(var(--cms-wide) - 2 * var(--cms-gutter));
  width: calc(100% - 2 * var(--cms-gutter)) !important;
  margin-left: auto; margin-right: auto;
}
.main-features .main-features-box ul { width: 100% !important; }
.hearder-text ul, .main-features-box ul, .main-sence ul { padding-left: 0; padding-right: 0; }
.product-box, .product-box1 { max-width: calc(var(--cms-wide) - 2 * var(--cms-gutter)); width: calc(100% - 2 * var(--cms-gutter)) !important; }
.linux-banner .wide1190 { max-width: calc(var(--cms-wide) - 2 * var(--cms-gutter)); }
.cms-page-about-us2 .long-bg { padding-top: 40px; padding-bottom: 40px; }
.cms-page-purchase .small-cards-text { max-width: 620px; }
.cms-page-purchase .small-cards { justify-content: center; }
/* Override legacy table selectors that forced 12px text on current displays. */
#main .cms-table-scroll th, #main .cms-table-scroll td { font-size: 15px !important; line-height: 1.8; padding: 14px 16px; }
/* Technical listings: category navigation, readable results, discovery links. */
.cms-page-listing .cms-listing { overflow: visible; padding-top: 36px; padding-bottom: 56px; }
.cms-page-listing .cms-list-columns { grid-template-columns: minmax(0,1fr) 300px; gap: 28px; }
.cms-page-listing .cms-list-columns.cms-with-category-rail { grid-template-columns: 200px minmax(0,1fr) 300px; }
.cms-page-listing .cms-discovery { padding-top: 0; }
.cms-page-listing .cms-category-rail { position: sticky; top: 104px; }
.cms-page-listing .cms-category-rail .cms-discovery-card { padding: 22px 18px; }
.cms-page-listing .cms-list-heading { display: flex; flex-wrap: wrap; flex-direction: row; align-items: center; gap: 16px; margin: 0 0 18px; }
.cms-page-listing .cms-list-heading h1 { margin: 0; font-size: clamp(25px,2vw,32px); line-height: 1.5; }
.cms-page-listing .cms-search { margin-left: auto; max-width: 100%; display: flex; }
.cms-page-listing .cms-search input { min-width: 0; width: 230px; }
.cms-page-listing .cms-list-description { margin: 0 0 24px; max-width: 900px; }
.cms-page-listing .cms-category-nav { display: flex; flex-wrap: wrap; }
.cms-page-listing .cms-list-columns:not(.cms-with-category-rail) .cms-category-nav { display: flex; }
.cms-page-listing .cms-post-list { background: white; border: 1px solid #e1e8f0; border-radius: 9px; padding: 0 30px; }
.cms-page-listing .cms-post-list article { padding: 26px 0; }
.cms-page-listing .cms-post-list h2 { font-size: 21px; line-height: 1.6; margin: 8px 0 12px; overflow-wrap: anywhere; }
.cms-page-listing .cms-post-list p { max-width: 960px; margin-bottom: 12px; line-height: 1.9; }
.cms-page-listing .cms-post-list time, .cms-page-listing .cms-read { font-size: 14px; }
.cms-page-listing .cms-post-list h2 a { color: #243957; }
.cms-page-listing .cms-post-list h2 a:hover, .cms-page-listing .cms-read,
.cms-page-article .article-main a { color: #0875ad; }
.cms-page-qy .box-text > div:first-child { font-size: 14px; line-height: 1.7; }
.cms-page-qy .box-right { display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.cms-page-qy .box-right .money { flex-wrap: nowrap; white-space: nowrap; }
.cms-page-qy .cms-price-unit { white-space: nowrap; }
/* Article prose stays at most 920px wide even on an ultrawide display. */
.cms-page-article .cms-article-layout { display: grid; grid-template-columns: 200px minmax(0,1000px) 300px; justify-content: center; gap: 28px; align-items: start; }
.cms-page-article .cms-article-layout.cms-without-left { grid-template-columns: minmax(0,1000px) 300px; }
.cms-page-article .cms-article-layout.cms-without-right { grid-template-columns: 200px minmax(0,1000px); }
.cms-page-article .cms-article-layout.cms-without-left.cms-without-right { grid-template-columns: minmax(0,1000px); }
.cms-page-article .cms-discovery { padding-top: 0; }
.cms-page-article .cms-article-rail { position: sticky; top: 104px; }
.cms-page-article .cms-article-rail .cms-discovery-card { padding: 22px 18px; }
.cms-page-article .toc { display: block; position: static; margin: 0; padding: 20px 16px; border: 1px solid #dfe7f0; border-radius: 8px; background: white; max-height: calc(100vh - 136px); overflow-y: auto; }
.cms-page-article .toc h2 { font-size: 18px; margin: 0 0 12px; }
.cms-page-article .toc a { font-size: 14px; line-height: 1.7; padding: 7px 0; overflow-wrap: anywhere; }
.cms-page-article .toc a.h3 { padding-left: 12px; }
.cms-page-article .article-main { width: 100%; }
.cms-page-article .breadcrumbs { flex-wrap: wrap; }
.cms-page-article .article-main > h1 { font-size: clamp(26px,2.2vw,34px); }
.cms-page-article .prose { overflow-wrap: anywhere; }
@media(min-width:1600px) {
  .cms-product-cards { gap: 24px; }
  .cms-product-cards:has(> .card:nth-child(6):last-child) { grid-template-columns: repeat(6,minmax(0,1fr)); }
  .cms-product-cards .card-head { padding: 28px 22px; }
  .cms-product-cards .card-body { padding: 26px 30px; }
  .cms-news-grid { gap: 28px; }
  .services .icon-box, .support .icon-box { padding: 30px; }
  .cms-page-home #hero { padding: 88px 0 100px !important; }
}
@media(min-width:1200px) and (max-width:1599px) {
  .cms-product-cards:has(> .card:nth-child(6):last-child) { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media(max-width:1439px) {
  :root { --cms-gutter: 32px; }
  body[class*="cms-page-"] .container { padding-left: var(--cms-gutter); padding-right: var(--cms-gutter); }
  .cms-page-listing .cms-list-columns.cms-with-category-rail { grid-template-columns: minmax(0,1fr) 280px; }
  .cms-page-listing .cms-category-rail { display: none; }
  .cms-page-listing .cms-list-columns .cms-category-nav { display: flex; }
  .cms-page-article .cms-article-layout,
  .cms-page-article .cms-article-layout.cms-without-left { grid-template-columns: minmax(0,1000px) 280px; }
  .cms-page-article .cms-article-layout.cms-without-right { grid-template-columns: minmax(0,1000px); }
  .cms-page-article .cms-article-rail { position: static; grid-column: 1; grid-row: 1; }
  .cms-page-article .cms-article-rail:has(.cms-discovery-categories) { display: none; }
  .cms-page-article .toc { max-height: 220px; }
  .cms-page-article .article-main { grid-column: 1; }
  .cms-page-article .cms-recommendations { grid-column: 2; grid-row: 1 / span 2; }
}
@media(max-width:1100px) {
  :root { --cms-gutter: 24px; }
  .cms-page-listing .cms-list-heading { align-items: stretch; flex-direction: column; }
  .cms-page-listing .cms-search { margin-left: 0; }
  .cms-page-listing .cms-search input { flex: 1; }
}
@media(max-width:991px) {
  #header .nav-menu.cms-open { max-height: calc(100dvh - 76px); overflow-y: auto; }
  #header .nav-menu .act200909 > div > div {
    position: static; top: auto; left: auto !important; width: auto !important;
    display: flex; flex-wrap: wrap; gap: 4px 12px; margin: 0 0 8px;
    padding: 6px 12px; box-shadow: none;
  }
  #header .nav-menu .act200909 > div > div a { padding: 7px 0; font-size: 14px; }

  .cms-page-listing .cms-list-columns, .cms-page-listing .cms-list-columns.cms-with-category-rail { grid-template-columns: minmax(0,1fr); }
  .cms-page-listing .cms-recommendations { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cms-page-article .cms-article-layout,
  .cms-page-article .cms-article-layout.cms-without-left,
  .cms-page-article .cms-article-layout.cms-without-right { grid-template-columns: minmax(0,1fr); gap: 20px; }
  .cms-page-article .cms-recommendations { grid-column: 1; grid-row: auto; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .cms-page-article .article-main { grid-row: auto; }
}
@media(max-width:575px) {
  :root { --cms-gutter: 16px; }
  .cms-page-listing .cms-listing { padding-top: 24px; }
  .cms-page-listing .cms-post-list { padding: 0 18px; }
  .cms-page-listing .cms-post-list article { padding: 22px 0; }
  .cms-page-listing .cms-post-list h2 { font-size: 19px; }
  .cms-page-listing .cms-recommendations, .cms-page-article .cms-recommendations { grid-template-columns: minmax(0,1fr); }
  .cms-page-article .toc { max-height: 190px; }
}

.prose .cms-readable-image { max-width: 100% !important; height: auto !important; object-fit: contain; }
.cms-image-link { cursor: zoom-in; }
.cms-image-viewer { width: min(96vw,1800px); max-width: 96vw; max-height: 94vh; padding: 52px 16px 16px; border: 0; border-radius: 8px; background: #fff; overflow: auto; }
.cms-image-viewer::backdrop { background: #081020dc; }
.cms-image-viewer > button { position: fixed; top: 4vh; right: 4vw; z-index: 2; border: 0; border-radius: 5px; background: #10154e; color: white; padding: 10px 18px; cursor: pointer; }
.cms-image-viewer > img { display: block; width: auto; height: auto; max-width: 100%; margin: auto; }

.cms-page-listing .cms-category-picker { display: none; margin-bottom: 24px; }
.cms-category-picker > summary { cursor: pointer; padding: 12px 16px; border: 1px solid #dfe7f0; border-radius: 6px; background: #fff; color: #243957; }
.cms-category-picker[open] > summary { margin-bottom: 12px; }
.cms-category-picker .cms-category-nav { max-height: 320px; overflow-y: auto; }
.cms-category-rail .cms-discovery-categories nav, .cms-article-rail .cms-discovery-categories nav { max-height: min(600px,calc(100vh - 240px)); overflow-y: auto; padding-right: 6px; }
@media(max-width:1439px) { .cms-page-listing .cms-category-picker { display: block; } }

.prose pre code.hljs, .cms-command pre code.hljs { padding: 0; background: transparent; }

.cms-image-unavailable { display: block; margin: 12px 0; padding: 16px; border: 1px dashed #b7c6d6; color: #596a80; background: #f4f7fa; font-size: 14px; text-align: center; }

.cms-discovery-category > span:first-child { min-width: 0; overflow-wrap: anywhere; flex: 1; }
.cms-discovery-category .cms-discovery-count { flex-shrink: 0; }
.cms-category-rail .cms-discovery-category, .cms-article-rail .cms-discovery-category { gap: 8px; font-size: 14px; }

/* Match the left rail on desktop. Tall recommendations scroll to their last link,
   then stay above the viewport bottom until the article/list boundary is reached. */
@media (min-width: 992px) {
  .cms-page-article .cms-recommendations.cms-sticky-ready,
  .cms-page-listing .cms-recommendations.cms-sticky-ready {
    position: sticky;
    top: var(--cms-recommendations-top, 104px);
    align-self: start;
  }
}
