/* Chengli special-vehicle visual system. Data fields and existing components remain untouched. */
:root {
  --industry-accent: #315f7a;
  --industry-deep: #29485d;
  --industry-paper: #f4f7f7;
  --industry-line: color-mix(in srgb, var(--industry-accent) 16%, #dfe7ef);
  --industry-shadow: 0 14px 34px rgba(16, 45, 77, .08);
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: hidden; background: var(--industry-paper, #f5f8fb); color: var(--text-color, #1b2f43); }
a, a:visited { color: var(--industry-accent); text-decoration: none; }
a:hover, a:focus-visible { color: var(--primary-hover, var(--industry-accent)); text-decoration: none; }
img { max-width: 100%; }
.container { width: min(1200px, calc(100% - 40px)); margin-inline: auto; }

/* White navigation, stable logo sizing, and predictable desktop/mobile wrapping. */
.site-header, [class*="site-header"] { background: #fff !important; color: var(--industry-accent); border-bottom: 1px solid var(--industry-line); box-shadow: 0 1px 0 rgba(16,45,77,.03); }
.site-header .container, [class*="site-header"] .container { width: min(1240px, calc(100% - 32px)); }
.header-inner, [class*="header-inner"] { min-height: 78px; display: flex; align-items: center; gap: 18px; min-width: 0; }
.site-logo, [class*="site-logo"] { display: inline-flex; align-items: center; flex: 0 0 auto; max-width: 205px; min-width: 0; }
.site-logo img, [class*="site-logo"] img { display: block; width: auto; height: auto; max-width: 195px; max-height: 58px; object-fit: contain; border-radius: 0 !important; }
.site-header nav, [class*="site-header"] nav { flex: 1 1 auto; min-width: 0; background: transparent !important; }
.nav-menu, [class*="nav-menu"] { display: flex; align-items: center; justify-content: center; gap: 2px; margin: 0; padding: 0; list-style: none; min-width: 0; }
.nav-menu > li, [class*="nav-menu"] > li { position: relative; flex: 0 0 auto; width: auto !important; list-style: none; }
.site-header .nav-menu > li > a, [class*="site-header"] [class*="nav-menu"] > li > a { display: block !important; width: auto !important; padding: 13px 9px !important; color: var(--industry-accent) !important; font-size: .88rem !important; line-height: 1.25 !important; white-space: nowrap !important; writing-mode: horizontal-tb !important; word-break: keep-all !important; overflow-wrap: normal !important; border-radius: 3px; }
.nav-menu > li > a:hover, .nav-menu > li > a:focus-visible, .nav-menu > li > a.active { background: color-mix(in srgb, var(--industry-accent) 9%, #fff); color: var(--primary-hover, var(--industry-accent)) !important; }
.nav-menu li ul { background: #fff; border: 1px solid var(--industry-line); box-shadow: var(--industry-shadow); border-radius: 3px; padding: 6px; }
.nav-menu li ul a { color: var(--industry-accent) !important; white-space: nowrap; }
.header-search, [class*="header-search"] { display: flex; flex: 0 1 190px; width: 190px; min-width: 140px; margin: 0; }
.site-header .header-search input, [class*="site-header"] [class*="header-search"] input { min-width: 0; height: 38px; border: 1px solid var(--industry-line); border-radius: 3px 0 0 3px; background: #fff !important; color: var(--text-color, #1b2f43) !important; }
.header-search button, [class*="header-search"] button { width: 42px; height: 38px; padding: 0; border-radius: 0 3px 3px 0; background: var(--industry-accent); color: #fff; border: 0; }
.mobile-toggle, [class*="mobile-toggle"] { display: none; align-items: center; justify-content: center; width: 42px; height: 38px; padding: 0; color: var(--industry-accent) !important; background: #fff !important; border: 1px solid var(--industry-line) !important; border-radius: 3px; }

/* Industry hero: retains dynamic title/description and existing CTA links. */
.hero-banner, .banner-top { position: relative; overflow: hidden; background: linear-gradient(105deg, var(--industry-deep) 0%, color-mix(in srgb, var(--industry-accent) 74%, var(--industry-deep)) 58%, var(--industry-accent) 100%) !important; color: #fff; text-align: left !important; padding: clamp(58px, 8vw, 106px) 0 !important; }
.hero-banner::after, .banner-top::after { content: ""; position: absolute; width: 460px; height: 460px; right: -130px; top: -160px; border: 1px solid rgba(255,255,255,.16); transform: rotate(24deg); pointer-events: none; }
.hero-banner .container, .banner-top .container { position: relative; z-index: 1; }
.hero-banner h1, .banner-top h1 { max-width: 690px; margin: 0 0 18px; color: #fff !important; font-size: clamp(2.05rem, 4vw, 3.75rem); line-height: 1.16; letter-spacing: .01em; }
.hero-banner p, .banner-top p { max-width: 650px; margin: 0 0 28px; color: rgba(255,255,255,.88) !important; font-size: clamp(1rem, 1.6vw, 1.16rem); line-height: 1.85; }
.hero-banner a[role="button"], .banner-top a[role="button"] { display: inline-flex; align-items: center; min-height: 44px; margin: 0 8px 8px 0; border-radius: 3px; background: #fff; color: var(--industry-accent) !important; border: 1px solid #fff; box-shadow: none; }
.hero-banner a[role="button"].secondary, .banner-top a[role="button"].secondary { background: transparent; color: #fff; border-color: rgba(255,255,255,.55); }

/* Homepage modules. Every item is data-driven through the original CMS loops. */
.industry-home { padding-top: 0 !important; }
.industry-section { padding: 46px 0; border-bottom: 1px solid var(--industry-line); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 26px; }
.section-heading h2 { margin: 5px 0 0; font-size: clamp(1.55rem, 2.6vw, 2.2rem); }
.section-kicker { display: block; color: var(--industry-accent); font-size: .72rem; font-weight: 750; letter-spacing: .15em; }
.section-more { flex: 0 0 auto; font-size: .84rem; font-weight: 650; }
.industry-product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; counter-reset: product; }
.industry-product-card { position: relative; display: flex; flex-direction: column; min-height: 172px; padding: 23px 20px; border: 1px solid var(--industry-line); border-radius: 4px; background: #fff; overflow: hidden; color: var(--industry-deep) !important; }
.industry-product-card::before { counter-increment: product; content: counter(product, decimal-leading-zero); position: absolute; top: 16px; right: 17px; color: color-mix(in srgb, var(--industry-accent) 16%, #dfe7ef); font-size: 1.8rem; font-weight: 750; }
.industry-product-card strong { max-width: 78%; margin-top: 28px; font-size: 1.05rem; }
.industry-product-card small { margin-top: 8px; color: var(--text-muted); font-size: .78rem; line-height: 1.6; }
.industry-product-card i { margin-top: auto; color: var(--industry-accent); font-size: .9rem; }
.industry-product-card:hover { border-color: var(--industry-accent); box-shadow: var(--industry-shadow); transform: translateY(-2px); }
.capability-rail { display: grid; grid-template-columns: 1.15fr .85fr; gap: 46px; align-items: stretch; }
.capability-copy h2 { margin: 8px 0 15px; font-size: clamp(1.55rem, 2.6vw, 2.15rem); }
.capability-copy p { max-width: 680px; color: var(--text-muted); line-height: 1.9; }
.capability-facts { display: flex; flex-wrap: wrap; gap: 26px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--industry-line); }
.capability-facts span { color: var(--text-muted); font-size: .78rem; }
.capability-facts b { display: block; margin-bottom: 3px; color: var(--industry-accent); font-size: 1.55rem; }
.capability-aside { display: flex; min-height: 230px; flex-direction: column; justify-content: end; padding: 28px; background: linear-gradient(135deg, var(--industry-deep), var(--industry-accent)); color: #fff; }
.capability-aside i { margin-bottom: auto; color: rgba(255,255,255,.82); font-size: 3.8rem; }
.capability-aside strong { font-size: 1.22rem; }
.capability-aside span { margin-top: 6px; color: rgba(255,255,255,.78); font-size: .8rem; }
.industry-features { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.industry-features .feature-card { min-height: 190px; text-align: left; }
.industry-features .feature-icon { margin-bottom: 20px; font-size: 1.8rem; }
.industry-features h3 { margin-bottom: 9px; }
.industry-features p { color: var(--text-muted); font-size: .86rem; line-height: 1.7; }
.industry-news-list, .industry-vehicle-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.industry-news-list > *, .industry-vehicle-list > * { min-width: 0; }
.contact-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
.contact-tile { display: flex; min-height: 125px; flex-direction: column; gap: 14px; justify-content: space-between; padding: 18px; border: 1px solid var(--industry-line); border-radius: 4px; background: #fff; color: var(--industry-deep) !important; }
.contact-tile i { color: var(--industry-accent); font-size: 1.25rem; }
.contact-tile span { display: flex; flex-direction: column; gap: 4px; font-size: .8rem; overflow-wrap: anywhere; }
.contact-tile b { font-size: .75rem; color: var(--text-muted); font-weight: 500; }
.contact-tile:hover { border-color: var(--industry-accent); box-shadow: var(--industry-shadow); }
.industry-sidebar-wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 16px; }
.industry-sidebar-wrap > * { min-width: 0; }
.industry-sidebar-wrap ul { list-style: none; padding-left: 0; }
.industry-sidebar-wrap li { list-style: none; }

/* Six layout families across info1-info30. Theme variables still come from each original template. */
.industry-home.family-2 .product-rail { background: #fff; margin-inline: calc(50% - 50vw); padding-inline: max(20px, calc((100vw - 1200px) / 2)); }
.industry-home.family-2 .industry-product-card { border-left: 3px solid var(--industry-accent); }
.industry-home.family-2 .capability-aside { background: #a9282d; }
.industry-hero.family-2 { --industry-deep: #421d25; }

.industry-home.family-3 .industry-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.industry-home.family-3 .industry-product-card { min-height: 130px; }
.industry-home.family-3 .industry-features { grid-template-columns: 1.3fr 1fr 1fr; }
.industry-home.family-3 .capability-aside { background: #fff; color: var(--industry-deep); border: 1px solid var(--industry-line); }
.industry-home.family-3 .capability-aside i, .industry-home.family-3 .capability-aside span { color: var(--industry-accent); }

.industry-hero.family-4 { --industry-deep: #2f3439; }
.industry-home.family-4 .section-kicker { color: #b06a00; }
.industry-home.family-4 .industry-product-card::before { color: #e9bf75; }
.industry-home.family-4 .capability-aside { background: #30353a; border-bottom: 6px solid #d69a28; }
.industry-home.family-4 .contact-tile { border-top: 3px solid #d69a28; }

.industry-hero.family-5 { --industry-deep: #123e43; }
.industry-home.family-5 .industry-product-card { border-bottom: 3px solid var(--industry-accent); }
.industry-home.family-5 .capability-rail { grid-template-columns: .8fr 1.2fr; }
.industry-home.family-5 .capability-copy { order: 2; }
.industry-home.family-5 .capability-aside { order: 1; }
.industry-home.family-5 .industry-news-list { grid-template-columns: 1fr; }

.industry-hero.family-6 { --industry-deep: #466577; }
.industry-home.family-6 .product-rail .section-heading, .industry-home.family-6 .news-rail .section-heading { border-left: 4px solid var(--industry-accent); padding-left: 16px; }
.industry-home.family-6 .industry-product-grid { gap: 0; border: 1px solid var(--industry-line); }
.industry-home.family-6 .industry-product-card { border-width: 0 1px 0 0; border-radius: 0; }
.industry-home.family-6 .industry-product-card:last-child { border-right: 0; }
.industry-home.family-6 .capability-aside { background: #466577; }

/* Shared section rhythm and product/news card alignment. */
main.container { padding-top: clamp(36px, 6vw, 76px) !important; padding-bottom: clamp(36px, 6vw, 76px) !important; }
main section, .content-section { margin-bottom: clamp(34px, 5vw, 66px) !important; }
main section > h2, main section > header h2 { color: var(--industry-deep); letter-spacing: .01em; }
.card, .feature-card, .article-card, .product-card { border: 1px solid var(--industry-line); border-radius: 4px; background: #fff; box-shadow: none; }
.card:hover, .feature-card:hover, .article-card:hover, .product-card:hover { box-shadow: var(--industry-shadow); transform: translateY(-2px); transition: box-shadow .2s ease, transform .2s ease; }
.features-grid { gap: 16px; }
.feature-card { min-height: 184px; padding: 28px 18px; }
.feature-card .feature-icon { color: var(--industry-accent); }
.article-card img, .product-card img, .article-item img, .product-item img { width: 100%; height: 210px; object-fit: contain; background: #f4f7fa; }
.product-meta-item { border-radius: 3px; background: var(--industry-paper); }
.article-content img, .product-content img { max-width: 100%; height: auto; object-fit: contain; }
.contact-info-card { gap: 14px; padding: 16px 0; }
.contact-info-card .contact-icon { background: var(--industry-accent); border-radius: 3px; }

/* Four-column footer; contact values remain one line on desktop and one stack on mobile. */
.site-footer { background: var(--industry-deep) !important; color: #dce8f2; margin-top: 0; padding: 60px 0 24px; }
.site-footer .container { width: min(1200px, calc(100% - 40px)); }
.footer-grid-unified { display: grid !important; grid-template-columns: 1.35fr 1fr 1fr 1.4fr !important; gap: 34px; align-items: start; }
.footer-col h4 { margin: 0 0 16px; color: #fff; font-size: 15px; }
.footer-company p, .footer-col li, .footer-col a { color: #aebfd0; font-size: 13px; line-height: 1.9; }
.footer-links { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.footer-links li { list-style: none !important; margin: 0; }
.footer-links a:hover { color: #fff; }
.footer-contact-panel { min-width: 0; }
.footer-contact-item { display: flex; align-items: flex-start; gap: 9px; min-width: 0; margin: 8px 0; color: #c4d3df; font-size: 13px; line-height: 1.65; }
.footer-contact-item > span { min-width: 0; overflow-wrap: anywhere; }
.footer-contact-item > i { width: 18px; flex: 0 0 18px; margin-top: 3px; color: #8fc8ff; text-align: center; }
.footer-bottom { margin-top: 42px !important; padding: 22px 0 4px !important; border-top: 1px solid rgba(255,255,255,.15); }
.footer-bottom p { margin: 0; color: #9fb2c3; font-size: 12px; line-height: 1.8; }
.footer-bottom a { color: #dce8f2; }

/* Search/list/detail pages use the same spacing and never expose default link decoration. */
main a, .breadcrumb a, .pagination a, .friend-link { text-decoration: none !important; }
.breadcrumb { margin-bottom: 22px; color: var(--text-muted); }
.pagination { display: flex; flex-wrap: wrap; gap: 6px; }
.pagination a, .pagination span { border-radius: 3px; }
table { max-width: 100%; display: block; overflow-x: auto; }
pre { max-width: 100%; overflow-x: auto; }

@media (max-width: 900px) {
  .header-inner, [class*="header-inner"] { flex-wrap: wrap; padding: 10px 0; }
  .site-header nav, [class*="site-header"] nav { order: 4; flex-basis: 100%; }
  .nav-menu, [class*="nav-menu"] { justify-content: flex-start; overflow-x: auto; padding-bottom: 2px; }
  .header-search, [class*="header-search"] { margin-left: auto; flex-basis: min(220px, 42vw); }
  .footer-grid-unified { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .industry-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .industry-home.family-3 .industry-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .capability-rail { grid-template-columns: 1fr; }
  .industry-home.family-5 .capability-rail { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .container, .site-footer .container { width: min(100% - 28px, 1200px); }
  .header-inner { min-height: 66px; gap: 10px; }
  .site-logo { max-width: 170px; }
  .site-logo img { max-width: 170px; max-height: 50px; }
  .mobile-toggle, [class*="mobile-toggle"] { display: inline-flex !important; margin-left: auto; }
  .header-search { flex-basis: 100%; order: 5; }
  .site-header nav, [class*="site-header"] nav { flex-basis: 100%; order: 4; }
  .nav-menu, [class*="nav-menu"] { display: none !important; width: 100%; flex-direction: column; align-items: stretch; justify-content: flex-start; gap: 0; padding: 8px 0; }
  .nav-menu.open, [class*="nav-menu"].open { display: flex !important; }
  .nav-menu > li, [class*="nav-menu"] > li { width: 100% !important; }
  .nav-menu > li > a, [class*="nav-menu"] > li > a { padding: 10px 9px !important; font-size: .86rem !important; }
  .hero-banner, .banner-top { padding: 54px 0 !important; }
  .hero-banner h1, .banner-top h1 { font-size: 2.05rem; }
  .hero-banner p, .banner-top p { font-size: .96rem; }
  .footer-grid-unified { grid-template-columns: 1fr !important; gap: 24px; }
  .footer-bottom { margin-top: 30px !important; }
  .industry-section { padding: 34px 0; }
  .section-heading { align-items: start; flex-direction: column; gap: 11px; }
  .industry-product-grid, .industry-news-list, .industry-vehicle-list, .industry-features, .contact-grid { grid-template-columns: 1fr; }
  .industry-home.family-3 .industry-product-grid, .industry-home.family-3 .industry-features { grid-template-columns: 1fr; }
  .industry-home.family-5 .capability-copy, .industry-home.family-5 .capability-aside { order: initial; }
  .industry-home.family-6 .industry-product-grid { border: 0; gap: 10px; }
  .industry-home.family-6 .industry-product-card { border: 1px solid var(--industry-line); }
  .capability-facts { gap: 17px; }
}

/* Chengli palette guardrails: calm, low-saturation enterprise colors. */
:root {
  --industry-line: #d9e0e3;
}
.hero-banner, .banner-top { background: linear-gradient(105deg, #294158 0%, #3d596b 58%, #567284 100%) !important; }
.capability-aside { background: linear-gradient(135deg, #294158, #567284) !important; }
.industry-home.family-2 .capability-aside { background: #80555b !important; }
.industry-hero.family-2 { --industry-deep: #5f4650; }
.industry-hero.family-4 { --industry-deep: #43515a; }
.industry-home.family-4 .section-kicker { color: #9a7250; }
.industry-home.family-4 .industry-product-card::before { color: #c7a98c; }
.industry-home.family-4 .capability-aside { background: #43515a !important; border-bottom-color: #b18b69; }
.industry-home.family-4 .contact-tile { border-top-color: #b18b69; }
.industry-hero.family-5 { --industry-deep: #3f6466; }
.industry-hero.family-6 { --industry-deep: #405467; }
.industry-home.family-6 .capability-aside { background: #405467 !important; }
.site-footer { background: #294158 !important; }

/* Component sizing and contrast guardrails. */
[class*="site-header"] nav [class*="nav-menu"] > li,
[class*="site-header"] nav [class*="nav-menu"] > li > a { height: auto !important; min-height: 0 !important; }
[class*="site-header"] nav [class*="nav-menu"] > li > a {
  display: inline-flex !important;
  width: max-content !important;
  max-width: 100%;
  min-height: 44px !important;
  align-items: center;
  justify-content: center;
  padding: 11px 14px !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  box-sizing: border-box;
}
[class*="site-header"] [class*="header-search"] { display: flex !important; flex: 0 1 220px !important; min-width: 160px; width: 220px; }
[class*="site-header"] [class*="header-search"] input { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; }
[class*="site-header"] [class*="header-search"] button {
  display: inline-flex !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 38px !important;
  border-radius: 0 3px 3px 0 !important;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  line-height: 1 !important;
}
.hero-banner a[role="button"].secondary, .banner-top a[role="button"].secondary {
  color: #fff !important;
  background: rgba(41, 65, 88, .42) !important;
  border-color: rgba(255,255,255,.78) !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.24);
}
.hero-banner a[role="button"], .banner-top a[role="button"] { white-space: nowrap; }
@media (max-width: 640px) {
  [class*="site-header"] [class*="header-search"] { width: 100% !important; min-width: 0 !important; flex-basis: 100% !important; }
  [class*="site-header"] nav [class*="nav-menu"] > li > a { width: 100% !important; max-width: none; justify-content: flex-start; }
}

/* Article category pages: use a predictable card grid with the image above the copy. */
.article-list-stack {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}
.article-list-stack > .article-card,
.article-list-stack > [class*="article-card-"] {
  display: flex !important;
  flex-direction: column !important;
  width: 100%;
  min-width: 0;
  height: 100%;
  margin: 0 !important;
  overflow: hidden;
}
.article-list-stack > .article-card > [class*="image-link"],
.article-list-stack > [class*="article-card-"] > [class*="image-link"] {
  display: block;
  width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  flex: 0 0 190px;
  overflow: hidden;
}
.article-list-stack > .article-card > [class*="image-link"] img,
.article-list-stack > [class*="article-card-"] > [class*="image-link"] img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article-list-stack > .article-card > [class*="body"],
.article-list-stack > [class*="article-card-"] > [class*="body"] {
  flex: 1 1 auto;
  min-width: 0;
}
@media (max-width: 760px) {
  .article-list-stack { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .article-list-stack > .article-card > [class*="image-link"],
  .article-list-stack > [class*="article-card-"] > [class*="image-link"] {
    height: 180px !important;
    min-height: 180px !important;
    flex-basis: 180px;
  }
}

/* Search input alignment: keep query text and placeholder anchored at the left edge. */
[class*="header-search"] input[type="search"],
[class*="header-search"] input[type="text"] {
  text-align: left !important;
  text-indent: 0 !important;
  padding-left: 12px !important;
  padding-right: 10px !important;
  direction: ltr;
}

/* Calm Chinese enterprise palette 04; avoids black-white and high-chroma themes. */
:root {
  --industry-accent: #65728a !important;
  --industry-deep: #515f76 !important;
  --industry-paper: #f0f3f6 !important;
  --primary: #65728a !important;
  --primary-hover: #515f76 !important;
  --secondary: #65728a !important;
  --accent: #a98263 !important;
  --header-bg: #ffffff !important;
  --footer-bg: #515f76 !important;
}
.hero-banner, .banner-top { background: linear-gradient(105deg, #515f76 0%, #65728a 100%) !important; }
.capability-aside, .site-footer { background: #515f76 !important; }
