/**
 * 响应式适配样式
 * 在 style.css 之后加载，用于覆盖 PC 固定宽度布局
 */

/* ========== 基础响应式规则 ========== */
img {
    max-width: 100%;
    height: auto;
}

.w1200 {
    width: 95%;
    max-width: 1200px;
}

/* 移动端菜单按钮（默认隐藏） */
.mobile-menu-toggle {
    display: none;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    line-height: 44px;
    text-align: center;
    font-size: 24px;
    color: #017045;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    z-index: 200;
    cursor: pointer;
    padding: 0;
    outline: none;
}

.mobile-menu-toggle.active {
    background: #017045;
    color: #fff;
    border-color: #017045;
}

/* ========== 平板端（<= 1024px） ========== */
@media (max-width: 1024px) {
    .header_main {
        height: auto;
        padding: 15px 0;
    }
    .header_main .header {
        position: relative;
    }
    .header_main .logo {
        margin-top: 0;
    }
    .header_main .logo img {
        max-height: 60px;
        width: auto;
    }
    .header_main .tel {
        margin-top: 10px;
        padding-left: 45px;
        background-size: 35px;
    }
    .header_main .tel h3 {
        font-size: 22px;
    }

    #banner_main .banner {
        height: 400px;
    }
    #banner,
    .banner ul {
        max-height: 400px;
    }
    .banner li img {
        width: 1200px;
        margin-left: -600px;
    }

    .index .inews .news {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 20px;
        height: auto;
    }
    .index .inews .news:nth-child(2n) {
        margin-right: 0;
    }
    .index .inews .news:last-child {
        margin-right: 0;
    }

    .index .case .list li {
        width: 31%;
        margin-right: 3.5%;
        margin-bottom: 20px;
    }
    .index .case .list li:nth-child(3n) {
        margin-right: 0;
    }
    .index .case .list li .img {
        width: 100%;
        height: auto;
        aspect-ratio: 278/380;
    }
    .index .case .list li .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .index .pro_hot .list li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 20px;
    }
    .index .pro_hot .list li:nth-child(2n) {
        margin-right: 0;
    }
    .index .pro_hot .list li a .img {
        width: 100%;
        height: auto;
        aspect-ratio: 4/3;
    }
    .index .pro_hot .list li a .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .index .youshi ul li {
        width: 45%;
        margin-right: 10%;
        margin-bottom: 20px;
    }
    .index .youshi ul li:nth-child(2n) {
        margin-right: 0;
    }
    .index .youshi ul li:nth-child(2n+1) {
        clear: both;
    }

    .index .about {
        height: auto;
        background-size: cover;
    }
    .index .about .con {
        height: auto;
        padding: 30px;
    }
    .index .about .con .img {
        width: 45%;
        height: auto;
        aspect-ratio: 4/3;
    }
    .index .about .con .txt {
        width: 50%;
        height: auto;
    }
    .index .about .con .txt p {
        height: auto;
    }

    .footer .fnav,
    .footer .contact,
    .footer .link {
        width: 45%;
        margin-left: 5%;
        margin-bottom: 30px;
    }
    .footer .ewm {
        width: 120px;
        float: none;
        clear: both;
        margin: 0 auto;
        text-align: center;
    }

    .submian .subleft,
    .submian .djleft,
    .submian .subright {
        width: 100%;
        float: none;
    }
    .submian .subleft,
    .submian .djleft {
        margin-bottom: 30px;
    }
}

/* ========== 手机端（<= 768px） ========== */
@media (max-width: 768px) {
    body {
        font-size: 14px;
        line-height: 1.6;
    }

    .top_main {
        display: none;
    }

    .header_main {
        padding: 10px 0;
    }
    .header_main .header {
        min-height: 60px;
    }
    .header_main .logo img {
        max-height: 50px;
    }
    .header_main .tel {
        display: none;
    }
    .mobile-menu-toggle {
        display: block;
    }

    .nav_main {
        display: none;
        position: relative;
        left: auto;
        top: auto;
        width: 100%;
        background: #017045;
        z-index: 150;
        box-shadow: 0 5px 10px rgba(0,0,0,0.2);
    }
    .nav_main.open {
        display: block;
    }
    .nav_main .nav {
        width: 100%;
        float: none;
    }
    .nav_main .nav li {
        float: none;
        width: 100%;
        line-height: 48px;
        text-align: left;
        border-bottom: 1px solid rgba(255,255,255,0.1);
    }
    .nav_main .nav li a {
        padding-left: 15px;
    }
    .nav_main .nav dl {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        background: #015c39;
        display: none;
    }
    .nav_main .nav li.open dl,
    .nav_main .nav li:hover dl {
        display: block;
    }
    .nav_main .nav dl dd {
        border-top: 1px solid rgba(255,255,255,0.05);
        background: transparent;
    }
    .nav_main .nav dl dd a {
        padding-left: 30px;
        background: transparent;
    }

    #banner_main .banner {
        height: 220px;
    }
    #banner,
    .banner ul {
        max-height: 220px;
        min-width: auto;
    }
    .banner li img {
        width: 768px;
        margin-left: -384px;
    }
    #banner #btn_prev,
    #banner #btn_next {
        width: 40px;
        height: 40px;
        margin-top: -20px;
        background-size: 80px;
    }

    .search_main {
        height: auto;
        padding: 15px 0;
    }
    .search_main .skey,
    .search_main .search_form {
        float: none;
        width: 100%;
    }
    .search_main .skey {
        display: none;
    }
    .search_main .search_form {
        margin-top: 0;
        width: 100%;
    }
    .search_main .search_form .stxt {
        width: calc(100% - 45px);
    }

    .index .in_title {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .index .in_title span {
        display: block;
        padding-left: 0;
        margin-top: 5px;
    }

    .index .inews .news {
        width: 100%;
        margin-right: 0;
        height: auto;
        margin-bottom: 20px;
    }
    .index .inews .news .hot .img {
        height: auto;
        aspect-ratio: 16/10;
    }
    .index .inews .news .hot h3 {
        width: calc(100% - 40px);
    }
    .index .inews .news .list li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        white-space: nowrap;
    }
    .index .inews .news .list li a span {
        float: none;
        flex-shrink: 0;
        margin-left: 10px;
    }

    .index .case .list li {
        width: 48%;
        margin-right: 4%;
    }
    .index .case .list li:nth-child(3n) {
        margin-right: 4%;
    }
    .index .case .list li:nth-child(2n) {
        margin-right: 0;
    }
    .index .case .list li .img {
        width: 100%;
        height: auto;
        aspect-ratio: 3/4;
    }
    .index .case .list li .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .index .pro_hot .list li {
        width: 100%;
        margin-right: 0;
        padding: 15px;
    }
    .index .pro_hot .list li a .img {
        width: 100%;
        height: auto;
        aspect-ratio: 4/3;
    }
    .index .pro_hot .list li a .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .index .youshi ul li {
        width: 100%;
        margin-right: 0;
        border-radius: 20px;
        padding: 30px 20px;
    }
    .index .youshi ul li img {
        width: 120px;
        height: 120px;
    }
    .index .youshi ul li p {
        height: auto;
    }

    .index .about {
        height: auto;
        padding: 40px 0;
    }
    .index .about .con {
        padding: 20px;
    }
    .index .about .con .img,
    .index .about .con .txt {
        width: 100%;
        float: none;
        height: auto;
    }
    .index .about .con .img {
        margin-bottom: 20px;
    }
    .index .about .con .txt h3 {
        margin-top: 0;
    }
    .index .about .con .txt p {
        height: auto;
        margin-bottom: 20px;
    }

    .footer {
        padding-top: 30px;
    }
    .footer .fnav,
    .footer .contact,
    .footer .link,
    .footer .ewm {
        width: 100%;
        margin-left: 0;
        float: none;
        margin-bottom: 25px;
        text-align: center;
    }
    .footer .fnav ul li {
        float: none;
        display: inline-block;
        margin: 5px 10px;
    }
    .footer .ewm img {
        margin: 0 auto;
    }
    .copyright {
        line-height: 1.8;
        padding: 15px 10px;
    }

    .toolbar {
        display: none;
    }

    .submian {
        padding: 20px 0;
    }
    .sobtitle {
        font-size: 14px;
        line-height: 1.6;
        padding: 10px 0;
    }

    .Newslist .item a,
    .Piclist .item a,
    .Kslist .item a,
    .leaderlist .item a {
        display: block;
    }
    .Newslist .item .txt,
    .Newslist .item .time,
    .Piclist .item,
    .Kslist .item,
    .leaderlist .item {
        width: 100% !important;
        float: none !important;
    }
    .Piclist .list,
    .Kslist .list,
    .leaderlist .list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
    .Piclist .item a,
    .Kslist .item a,
    .leaderlist .item a {
        width: 100%;
    }
    .Piclist .item img,
    .Kslist .item img,
    .leaderlist .item img {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        object-fit: cover;
    }

    .Newslist .item .time {
        width: 60px !important;
        text-align: center;
    }
    .Newslist .item .txt {
        width: calc(100% - 75px) !important;
    }

    .ArticleTitle h1 {
        font-size: 20px;
    }
    .ArticleTencont img {
        max-width: 100%;
        height: auto;
    }

    .MainBg,
    .OriginalPicBorder {
        width: 100%;
        overflow: hidden;
    }
    #newPic p,
    #OriginalPic p {
        width: 100%;
    }
    .SliderPicBorder img {
        max-width: 100%;
        height: auto;
    }
}

/* ========== 小屏手机（<= 480px） ========== */
@media (max-width: 480px) {
    .header_main .logo img {
        max-height: 42px;
    }

    #banner_main .banner {
        height: 160px;
    }
    #banner,
    .banner ul {
        max-height: 160px;
    }
    .banner li img {
        width: 480px;
        margin-left: -240px;
    }

    .index .case .list li {
        width: 100%;
        margin-right: 0;
    }
    .index .case .list li:nth-child(3n) {
        margin-right: 0;
    }

    .Piclist .list,
    .Kslist .list,
    .leaderlist .list {
        grid-template-columns: 1fr;
    }

    .pagination a {
        padding: 5px 8px;
        font-size: 12px;
    }
}

/* 子页面与详情页响应式补充 */
@media (max-width: 1024px) {
    .nybanner {
        height: 200px;
        background-size: cover;
    }
    .submian .subright {
        width: 100%;
    }
    .MainBg,
    .ThumbPicBorder,
    #newPic,
    #OriginalPic {
        width: 100%;
    }
    .ThumbPicBorder .pic {
        width: 80%;
    }
}

@media (max-width: 768px) {
    .nybanner {
        height: 140px;
    }
    .submian .sobtitle {
        height: auto;
        line-height: 1.6;
    }
    .submian .subleft .title,
    .submian .djleft .title {
        background-position: right 15px center;
    }
    .submian .subleft .title h3,
    .submian .djleft .title h3 {
        font-size: 18px;
    }

    .submian .Newslist .item {
        padding: 15px 0;
    }
    .submian .Newslist .item a {
        display: flex;
        align-items: center;
    }
    .submian .Newslist .item .time {
        width: 60px;
        height: auto;
        padding: 8px 0;
        flex-shrink: 0;
    }
    .submian .Newslist .item .time .day {
        font-size: 24px;
        line-height: 1.2;
    }
    .submian .Newslist .item .txt {
        width: calc(100% - 75px);
        margin-left: 15px;
    }
    .submian .Newslist .item .txt h3 {
        font-size: 15px;
        line-height: 1.5;
    }
    .submian .Newslist .item .txt p {
        display: none;
    }

    .Piclist ul.list li.item,
    .leaderlist ul.list li.item,
    .Kslist ul.list li.item {
        width: 100%;
        margin-right: 0;
        margin-bottom: 20px;
    }
    .Piclist ul.list li.item img,
    .leaderlist ul.list li.item img,
    .Kslist ul.list li.item img {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1;
        object-fit: cover;
    }
    .Piclist ul.list li.item .item_mask,
    .leaderlist ul.list li.item .item_mask,
    .Kslist ul.list li.item .item_mask {
        width: 100%;
        height: 100%;
    }

    .submian .subright .conBox .ArticleTitle h1 {
        font-size: 18px;
        padding: 15px 0;
    }
    .submian .subright .conBox .ArticleMessage {
        height: auto;
        line-height: 1.6;
        padding: 8px 0;
    }
    .submian .subright .conBox .ArticleTencont {
        font-size: 15px;
        line-height: 1.8;
    }
    .submian .subright .conBox #pic img {
        max-width: 100%;
    }

    .reLink {
        height: auto;
        padding: 10px;
    }
    .reLink .prevLink,
    .reLink .nextLink {
        float: none;
        width: 100%;
        height: auto;
        line-height: 1.8;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .MainBg,
    .ThumbPicBorder,
    #newPic,
    #OriginalPic {
        width: 100%;
    }
    .ThumbPicBorder .pic {
        width: 70%;
    }
    #ThumbPic img {
        width: 80px;
        height: 64px;
    }
    .CursorL,
    .CursorR {
        display: none;
    }

    .pagebar .pagination {
        flex-wrap: wrap;
    }
}

@media (max-width: 480px) {
    .ThumbPicBorder .pic {
        width: 60%;
    }
    #ThumbPic img {
        width: 60px;
        height: 48px;
        margin: 0 2px;
    }
    .submian .subright .conBox .ArticleTitle h1 {
        font-size: 16px;
    }
}
