/* Lanhe responsive compatibility layer — 2026-08-04 */
html { -webkit-text-size-adjust: 100%; }
body { min-width: 0; overflow-x: hidden; }
img { max-width: 100%; height: auto; }

@media (max-width: 767px) {
  body { font-size: 14px; }
  .top { height: auto; }
  .top1 { box-sizing: border-box; width: 100%; min-height: 76px; padding: 8px 12px; display: flex; align-items: center; gap: 8px; }
  .top1 h1, .top1 h2 { width: 92px !important; height: auto !important; flex: 0 0 92px; }
  .top1 > img { flex: 1 1 auto; min-width: 0; margin-left: 0 !important; }
  .top1 span { display: none; }

  .dh, .dh1, .dh1_1 { height: auto; }
  .dh1 { width: 100%; background-repeat: repeat; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .dh1_1 { display: flex; width: max-content; min-width: 100%; }
  .dh1_1 .nLi { float: none; flex: 0 0 auto; }
  .dh1_1 .nLi span { float: none; }
  .dh1_1 .nLi span a { width: auto; min-width: 88px; padding: 0 12px; font-size: 13px; }
  .dh1_1 .sub { display: none !important; }

  .in_banner, .in_banner .bd, .in_banner .bd li, .in_banner .bd li a { height: clamp(150px, 45vw, 230px); }
  .in_banner .bd li a { background-size: cover !important; background-position: center !important; }
  .in_banner .hd { left: auto; right: 12px; bottom: 10px; }
  .ny_banner { height: clamp(120px, 36vw, 190px); background-size: cover !important; background-position: center !important; }

  .in_gongzhuang, .in_sizhuang1, .in_shejishi1, .in_shejishi2,
  .in_shenhua, .in_gonglue1, .in_gonglue2, .in_hezuo, .in_hezuo1,
  .in_hezuo1 .bd, .di1, .ny_nr, .ny_nr1, .ny_right, .ny_shenhua,
  .shejishi, #DB_gallery, #DB_gallery .DB_thumSet {
    box-sizing: border-box; width: 100%; max-width: 100%;
  }
  .in_gongzhuang, .in_sizhuang1, .in_shejishi1, .in_shenhua,
  .in_gonglue1, .in_hezuo, .ny_nr, .ny_nr1 { padding-left: 12px; padding-right: 12px; }
  .in_gongzhuang1, .in_shenhua1 { height: auto; overflow: hidden; }
  .in_gongzhuang1 ul, .in_sizhuang2 ul, .in_shejishi2 ul,
  .in_gonglue2, .ny_nr1_11 ul, .ny_nr1_2 ul, .shejishi .hd ul { width: 100%; }

  .in_gongzhuang1 ul li, .demo, .items, .items1,
  .in_sizhuang2 ul li, .in_shejishi2 ul li,
  .in_gonglue2 ul, .ny_nr1_11 ul li, .ny_nr1_2 ul li {
    box-sizing: border-box; width: 100%; height: auto; float: none; margin: 0 0 16px;
  }
  .in_gongzhuang1 ul li img, .demo img, .items img, .items1 img,
  .in_sizhuang2 ul li img, .in_shejishi2 ul li img,
  .in_gonglue ul .in_gonglue2_1 img { width: 100%; height: auto; object-fit: cover; }
  .in_gongzhuang2 a { box-sizing: border-box; width: 100%; }
  .items .img, .items1 .img { height: auto; }
  .items .desc, .items1 .desc { display: none; }

  .ny_nr { background: none; }
  .ny_left { display: none; }
  .ny_right { float: none; }
  .ny_rgiht_bt { height: auto; min-height: 30px; text-align: left; overflow-wrap: anywhere; }
  .ny_sjal li { box-sizing: border-box; width: 100%; height: auto; min-height: 0; padding-bottom: 18px; overflow: hidden; }
  .ny_sjal li img { width: 34%; height: auto; margin: 0 12px 8px 0; object-fit: cover; }
  .ny_sjal_right { width: auto; float: none; }
  .ny_sjal li b { font-size: 18px; line-height: 1.45; }
  .ny_sjal li p { max-height: 4.5em; overflow: hidden; }

  .ny_sjal_xx2 h1, .ny_zxfg2 h1 { font-size: 22px; line-height: 1.45; }
  .ny_sjal_xx2 img, .ny_zxfg2 img, .ny_right1 img,
  .ny_sjal_xx2 table, .ny_zxfg2 table, .ny_right1 table { max-width: 100% !important; height: auto !important; }
  .ny_sjal_xx2 p, .ny_zxfg2 p, .ny_right1 p { overflow-wrap: anywhere; }
  .shejishi1 ul li { box-sizing: border-box; width: 100%; overflow: hidden; }
  .shejishi1 ul li img, .shejishi .bd ul img { width: 42%; height: auto; margin-right: 12px; }
  #DB_gallery .DB_imgSet { height: auto; min-height: 220px; }

  div.sabrosus { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; }
  div.sabrosus a, div.sabrosus a.current, div.sabrosus a.disabled { margin: 0; padding: 7px 10px; }
  .xuanfu { display: none; }
  .di1 { padding: 18px 12px; line-height: 1.7; }

  /* Preserve the complete decorative section headings instead of cropping them. */
  .in_gongzhuang_bt, .in_sizhuang1_bt, .in_shejishi1_bt,
  .in_shenhua_bt, .in_gonglue1_bt, .in_hezuo_bt {
    height: 28px;
    background-size: contain;
    background-position: left center;
  }

  /* Neutralize old inline column widths and use compact mobile cards. */
  .in_gongzhuang1 > ul {
    box-sizing: border-box;
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .in_gongzhuang1 > ul > li { min-width: 0; margin: 0 0 12px; }
  .in_gongzhuang1 .demo, .in_gongzhuang1 .demo[style] { width: 100% !important; }
  .in_gongzhuang1 .ic_container > span { display: block; height: auto !important; }
  .in_gongzhuang1 .ic_container img,
  .in_gongzhuang1 .ic_container img[style] {
    display: block; width: 100% !important;
    height: clamp(118px, 32vw, 175px) !important;
    object-fit: cover; object-position: center;
  }
  .in_gongzhuang1 .ic_caption {
    display: block !important; position: static !important; opacity: 1 !important;
    height: auto !important; background: #fff !important;
  }
  .in_gongzhuang1 .ic_caption .ic_text {
    box-sizing: border-box; display: none; color: #555; font-size: 13px;
    line-height: 1.5; padding: 7px 4px !important;
  }
  .in_gongzhuang1 .ic_caption .ic_text:first-child {
    display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  }

  /* Merge the three legacy desktop columns into one uniform mobile grid. */
  .in_gongzhuang1 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }
  .in_gongzhuang1 > ul { display: contents !important; }
  .in_gongzhuang1 > ul > li { width: auto !important; min-width: 0; margin: 0 0 12px; }
  .in_gongzhuang1 > ul > li,
  .in_gongzhuang1 .demo,
  .in_gongzhuang1 .demo > a,
  .in_gongzhuang1 .ic_container,
  .in_gongzhuang1 .ic_container > span {
    display: block;
    height: clamp(118px, 32vw, 175px) !important;
    min-height: 0 !important;
    max-height: 175px !important;
    overflow: hidden !important;
  }
  .in_gongzhuang1 .ic_caption,
  .in_gongzhuang1 .overlay { display: none !important; }

  /* Old news lists use a fixed 27px row; allow long mobile titles to wrap safely. */
  .in_gonglue ul li, .in_gonglue2 ul li, .ny_zxgl li {
    box-sizing: border-box;
    height: auto;
    min-height: 34px;
    line-height: 1.55;
    padding-top: 6px;
    padding-bottom: 6px;
    overflow: hidden;
    overflow-wrap: anywhere;
  }
  .in_gonglue ul li a, .in_gonglue2 ul li a, .ny_zxgl li a {
    display: block;
    line-height: inherit;
  }

  /* Soft-decoration cards: compact two-column grid and contain legacy floats. */
  .in_shenhua1 {
    box-sizing: border-box; width: 100%; max-width: 100%;
    padding-top: 24px; overflow: hidden;
  }
  .in_shenhua1 > ul {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: 100%;
  }
  .in_shenhua1 > ul > li, .in_shenhua1 .items {
    box-sizing: border-box; width: 100%; min-width: 0;
    float: none; margin: 0;
  }
  .in_shenhua1 .items .img { height: auto; }
  .in_shenhua1 .items img {
    display: block; width: 100%;
    height: clamp(118px, 32vw, 175px) !important;
    object-fit: cover; object-position: center;
  }
  .in_shenhua > .in_gongzhuang2 {
    clear: both; box-sizing: border-box; width: calc(100vw - 24px);
    position: relative; left: 50%; transform: translateX(-50%); margin-top: 20px;
  }
  .in_shenhua > .in_gongzhuang2 a { box-sizing: border-box; width: 100%; }

  /* Break the footer out of any malformed legacy float repaired by the browser. */
  .di {
    clear: both; box-sizing: border-box; width: 100vw; max-width: none;
    position: relative; left: 50%; transform: translateX(-50%);
  }
  .di1 { box-sizing: border-box; width: 100%; max-width: 100%; }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .top1, .dh1, .in_gongzhuang, .in_sizhuang1, .in_shejishi1,
  .in_shejishi2, .in_shenhua, .in_gonglue1, .in_hezuo,
  .in_hezuo1, .in_hezuo1 .bd, .di1, .ny_nr { width: 96%; }
  .dh1_1 .nLi span a { width: auto; min-width: 92px; padding: 0 8px; }
  .ny_left { width: 22%; }
  .ny_right { width: 75%; }
  .xuanfu { display: none; }
}
