/* —— 公司简介：修复绝对定位叠字，改为可读正文流 —— */
#layout_diy_1623323156.about-article-layout {
  height: auto !important;
  min-height: 0 !important;
  padding: 36px 0 56px !important;
  box-sizing: border-box;
}

#layout_diy_1623323156 .about-article-wrap {
  overflow: visible !important;
  height: auto !important;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
  box-sizing: border-box;
}

#layout_diy_1623323156 #text_style_01_1623558601924.about-article {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  max-width: 860px;
  margin: 0 auto !important;
  height: auto !important;
  display: block !important;
}

#layout_diy_1623323156 .about-article-body {
  overflow: visible !important;
  height: auto !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  color: #333 !important;
  text-align: justify;
  word-break: break-word;
}

#layout_diy_1623323156 .about-article-body p {
  margin: 0 0 1.15em !important;
  padding: 0 !important;
  font-size: 16px !important;
  line-height: 1.9 !important;
  color: #333 !important;
  text-indent: 2em;
}

#layout_diy_1623323156 .about-article-body p:last-child {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 640px) {
  #layout_diy_1623323156.about-article-layout {
    padding: 20px 0 36px !important;
  }

  #layout_diy_1623323156 .about-article-wrap {
    padding: 0 16px;
  }

  #layout_diy_1623323156 .about-article-body,
  #layout_diy_1623323156 .about-article-body p {
    font-size: 14px !important;
    line-height: 1.85 !important;
  }
}

/* Visual polish only — does not change absolute positions / module layout */

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: opacity 0.35s ease;
}

body[style*="visibility: hidden"],
body[style*="visibility:hidden"] {
  opacity: 0;
}

body.dh-ready {
  opacity: 1 !important;
  visibility: visible !important;
}

img {
  max-width: 100%;
  image-rendering: -webkit-optimize-contrast;
}

/* Softer header / nav presence without moving boxes */
#comm_layout_header {
  box-shadow: 0 2px 18px rgba(0, 30, 87, 0.08);
}

#div_blank_new01_1597980560381 .modSet,
#dh_style_28_1597981036631 {
  box-shadow: 0 4px 16px rgba(0, 20, 50, 0.18);
}

/* Nav: smoother color transition */
.mainMenuSet,
.subMenuSet,
.thrMenuSet,
.mainMenuSet a,
.dhAreaSet a {
  transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease !important;
}

/* Logo subtle hover */
.logoStyle img,
.logoStyle .imgSet {
  transition: transform 0.35s ease, opacity 0.35s ease;
  transform-origin: left center;
}

.logoStyle a:hover img,
.logoStyle a:hover .imgSet {
  transform: scale(1.03);
  opacity: 0.92;
}

/* Hero CTA */
#text_style_01_1597982307031 > .view_contents {
  transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
  box-shadow: 0 6px 18px rgba(255, 104, 1, 0.28);
  cursor: pointer;
}

#text_style_01_1597982307031 > .view_contents:hover {
  background: #ff7a1a !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(255, 104, 1, 0.38);
}

#text_style_01_1597982307031 > .view_contents:active {
  transform: translateY(0);
}

/* Hotline emphasis */
#text_style_01_1598579291757 > .view_contents {
  letter-spacing: 0.5px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}

/* Product cards — hover lift, keep grid intact */
.prod_Item .mia_li_item,
.prod_default16 .mia_li_item,
.prod_default16 .relative {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.prod_Item .prodImg_box,
.prod_default16 .prodImg_box,
.prod_default37 .prodImg_box,
.prod_Item .prod_img,
.prod_default16 .prod_img,
.prod_default37 .prod_img,
.prod_Item .prod_img a,
.prod_default16 .prod_img a,
.prod_default37 .prod_img a {
  overflow: hidden;
  border-radius: 2px;
}

.prod_Item .pro_img,
.prod_default16 .pro_img,
.prod_default37 .pro_img,
.prod_Item img.pro_img,
.prod_default16 img.horizontal,
.prod_default37 img.pro_img {
  transform-origin: center center;
  transition: transform 0.4s ease;
  will-change: transform;
}

.prod_Item:hover .mia_li_item,
.prod_default16 .prod_Item:hover .mia_li_item {
  transform: translateY(-4px);
  box-shadow: 0 10px 28px rgba(0, 30, 87, 0.12);
}

/* Product photo: zoom from center on hover */
.prod_Item:hover .pro_img,
.prod_default16 .prod_Item:hover .pro_img,
.prod_default37 .prod_Item:hover .pro_img,
.prod_Item:hover img.horizontal,
.prod_default16 .prod_Item:hover img.horizontal,
.prod_default37 .prod_Item:hover img.pro_img,
.prod_Item .prod_img:hover .pro_img,
.prod_default16 .prod_img:hover .pro_img,
.prod_default37 .prod_img:hover .pro_img {
  transform: scale(1.18);
  filter: none;
}

.prod_Item .p_name a,
.prod_default16 .p_name a {
  transition: color 0.25s ease;
}

.prod_Item:hover .p_name a,
.prod_default16 .prod_Item:hover .p_name a {
  color: #df6512;
}

/* Category tabs */
.tab_li .tab_txt,
.tabItemSet .tab_txt {
  transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease !important;
  cursor: pointer;
}

.tab_li:hover .tab_txt,
.tabItemSet:hover .tab_txt {
  color: #ff6801 !important;
}

/* Service icons in header */
.imgStyle_13_1 .mia_li_item {
  transition: opacity 0.3s ease;
}

.imgStyle_13_1 .mia_li_item:hover {
  opacity: 0.88;
}

.imgStyle_13_1 .imgSet {
  transition: transform 0.35s ease;
}

.imgStyle_13_1 .mia_li_item:hover .imgSet {
  transform: scale(1.08);
}

/* Side contact widget */
.online-service,
.onlineStyle04,
.online-template {
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  box-shadow: 0 8px 28px rgba(0, 20, 50, 0.16);
  border-radius: 4px;
}

.online-service:hover,
.onlineStyle04:hover {
  box-shadow: 0 12px 36px rgba(0, 20, 50, 0.22);
}

/* Image / content fade-in helper */
.dh-fade {
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.dh-fade.in {
  opacity: 1;
  transform: none;
}

/* Footer links */
#comm_layout_footer a,
.footerCustom a {
  transition: color 0.25s ease, opacity 0.25s ease;
}

#comm_layout_footer a:hover,
.footerCustom a:hover {
  color: #ff6801 !important;
  opacity: 0.95;
}

/* Soft scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-thumb {
  background: rgba(0, 30, 87, 0.35);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 30, 87, 0.5);
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.04);
}

/* Selection color — brand orange */
::selection {
  background: rgba(255, 104, 1, 0.22);
  color: #1a1a1a;
}

/* —— Floating GEO / language bar on legacy pages —— */
.dh-util-bar {
  position: fixed;
  right: 12px;
  bottom: 16px;
  z-index: 99999;
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  background: rgba(11, 61, 110, 0.92);
  border-radius: 999px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
  font-size: 13px;
}

.dh-util-bar a {
  color: #fff;
  text-decoration: none;
  padding: 2px 8px;
  border-radius: 999px;
}

.dh-util-bar a:hover {
  background: rgba(255, 255, 255, 0.15);
}

.dh-util-bar .dh-util-sep {
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.35);
}

@media screen and (max-width: 640px) {
  .dh-util-bar {
    right: 8px;
    bottom: 10px;
    font-size: 12px;
    padding: 6px 8px;
  }
}

/* —— Homepage banner carousel —— */
#layout_1597978009345 {
  display: none !important;
}

.dh-banner {
  position: relative;
  width: 100%;
  background: #0b1220;
  overflow: hidden;
}

.dh-banner-viewport {
  position: relative;
  width: 100%;
  /* Crop a few percent off the bottom so any residual corner mark stays off-screen */
  aspect-ratio: 16 / 7.2;
  max-height: min(72vh, 720px);
  min-height: 220px;
  overflow: hidden;
}

.dh-banner-track {
  position: absolute;
  inset: 0;
}

.dh-banner-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.8s ease;
  z-index: 1;
}

.dh-banner-slide.is-active {
  opacity: 1;
  z-index: 2;
}

.dh-banner-slide img {
  width: 100%;
  height: 108%;
  object-fit: cover;
  object-position: center 42%;
  display: block;
}

.dh-banner-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s ease;
}

.dh-banner-nav:hover {
  background: rgba(0, 0, 0, 0.55);
}

.dh-banner-prev {
  left: 16px;
}

.dh-banner-next {
  right: 16px;
}

.dh-banner-dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 16px;
  z-index: 5;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.dh-banner-dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.45);
  cursor: pointer;
}

.dh-banner-dots button.is-active {
  background: #ff6801;
  transform: scale(1.15);
}

@media screen and (max-width: 640px) {
  .dh-banner-viewport {
    aspect-ratio: 16 / 9;
    max-height: 52vh;
    min-height: 180px;
  }

  .dh-banner-nav {
    width: 34px;
    height: 34px;
    font-size: 22px;
  }

  .dh-banner-prev {
    left: 8px;
  }

  .dh-banner-next {
    right: 8px;
  }

  .dh-banner-dots {
    bottom: 10px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .prod_Item:hover .mia_li_item,
  .prod_default16 .prod_Item:hover .mia_li_item,
  .prod_Item:hover .pro_img,
  .prod_default16 .prod_Item:hover .pro_img,
  .prod_default37 .prod_Item:hover .pro_img,
  .prod_Item .prod_img:hover .pro_img,
  #text_style_01_1597982307031 > .view_contents:hover {
    transform: none !important;
  }

  .dh-banner-slide {
    transition: none;
  }
}
