@charset "utf-8";

/* MAX public website refresh. Kept separate from ERP styles on purpose. */
:root {
    --site-primary: #00a680;
    --site-primary-dark: #087760;
    --site-primary-soft: #e9f8f3;
    --site-primary-ring: rgba(0, 166, 128, .18);
    --site-accent: #ff6b35;
    --site-ink: #16332d;
    --site-text: #425a55;
    --site-muted: #748984;
    --site-line: #dce8e4;
    --site-bg: #f5f8f7;
    --site-card: #fff;
    --site-radius: 18px;
    --site-shadow: 0 12px 35px rgba(27, 68, 58, .08);
}

html[data-site-theme="blue2"] {
    --site-primary: #2577e3;
    --site-primary-dark: #185bb3;
    --site-primary-soft: #edf5ff;
    --site-primary-ring: rgba(37, 119, 227, .18);
}

html[data-site-theme="orange"] {
    --site-primary: #e85d04;
    --site-primary-dark: #b94500;
    --site-primary-soft: #fff3e9;
    --site-primary-ring: rgba(232, 93, 4, .18);
}

html[data-site-theme="green"] {
    --site-primary: #2d9131;
    --site-primary-dark: #216c25;
    --site-primary-soft: #eef8ee;
    --site-primary-ring: rgba(45, 145, 49, .18);
}

html[data-site-theme="bayblue"] {
    --site-primary: #0e7490;
    --site-primary-dark: #155e75;
    --site-primary-soft: #ecf8fb;
    --site-primary-ring: rgba(14, 116, 144, .18);
}

html[data-site-theme="coral"] {
    --site-primary: #c2414b;
    --site-primary-dark: #a8323b;
    --site-primary-soft: #fff1f2;
    --site-primary-ring: rgba(194, 65, 75, .18);
}

html[data-site-theme="purple"] {
    --site-primary: #6d5bb3;
    --site-primary-dark: #584791;
    --site-primary-soft: #f4f1fc;
    --site-primary-ring: rgba(109, 91, 179, .18);
}

html { min-width: 0 !important; background: var(--site-bg); scroll-behavior: smooth; }
body.site-modern,
body.site-form-page { min-width: 0; color: var(--site-text); background: var(--site-bg); font-family: "Microsoft YaHei", "PingFang SC", Arial, sans-serif; }
body.site-modern *, body.site-modern *::before, body.site-modern *::after,
body.site-form-page *, body.site-form-page *::before, body.site-form-page *::after { box-sizing: border-box; }
body.site-modern img, body.site-form-page img { max-width: 100%; }
body.site-modern a { transition: color .2s, background-color .2s, border-color .2s, box-shadow .2s, transform .2s; }
.w1250, body.site-modern .content { width: min(1200px, calc(100% - 40px)) !important; max-width: 1200px; }

/* Header */
.top-bg { height: 40px; line-height: 40px; color: #637873; background: #f0f6f4; border-bottom: 1px solid #e5efec; }
.top-bg .l a { color: var(--site-primary); font-weight: 600; }
.top-bg .sw { display: flex; align-items: center; gap: 7px; float: right; }
.top-bg .sw .sw { margin-left: 5px; }
.top-bg #swcolor span { position: relative; width: 20px !important; height: 20px !important; margin: 0 !important; border: 2px solid #fff; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0,0,0,.12); cursor: pointer; }
.top-bg #swcolor span.cur::after { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: #fff; }
.top-bg .sw1 { background: #00a680 !important; }
.top-bg .sw2 { background: #2577e3 !important; }
.top-bg .sw3 { background: #e85d04 !important; }
.top-bg .sw4 { background: #2d9131 !important; }
.top-bg .sw5 { background: #0e7490 !important; }
.top-bg .sw6 { background: #c2414b !important; }
.top-bg .sw7 { background: #6d5bb3 !important; }

.logo-search { height: auto; min-height: 116px; background: #fff; }
.logo-search > .w1250 { display: flex; align-items: center; min-height: 116px; gap: 44px; }
.logo-search .logo { float: none; flex: 0 0 265px; margin: 0; }
.logo-search .logo a { display: flex; align-items: center; min-height: 74px; }
.logo-search .logo img { width: auto; height: auto; max-width: 260px; max-height: 72px; object-fit: contain; }
.logo-search .search { float: none; flex: 1 1 520px; max-width: 610px; margin: 0; }
.search-box .search-text { width: calc(100% - 94px); height: 44px; padding: 0 18px; border: 2px solid var(--site-primary); border-radius: 12px 0 0 12px; outline: none; font-size: 14px; }
.search-box .search-text:focus { box-shadow: 0 0 0 4px var(--site-primary-ring); }
.search-sub { width: 94px; height: 44px; border-radius: 0 12px 12px 0; background: var(--site-primary); font-size: 15px; }
.search-hot { margin-top: 10px; overflow: hidden; white-space: nowrap; }
.search-hot a { color: var(--site-muted); }
.search-hot a:hover { color: var(--site-primary); }
.logo-search .call { float: none; margin: 0 0 0 auto; padding-left: 44px; background: linear-gradient(90deg, transparent, var(--site-primary-soft)); }
.logo-search .call img { display: none; }
.logo-search .call::before { content: "服务热线"; display: block; margin-bottom: 2px; color: var(--site-muted); font-size: 12px; }
.logo-search .call p { margin: 0; color: var(--site-ink); font-size: 22px; }

.nav-bg { height: 52px; background: var(--site-primary); box-shadow: 0 5px 20px rgba(16, 74, 61, .12); }
.nav-bg > .w1250 { display: flex; align-items: stretch; height: 52px; }
.all-nav { position: relative; left: auto; width: 238px; flex: 0 0 238px; }
.nav-title { width: 238px; height: 52px; padding-left: 22px; line-height: 52px; border-radius: 12px 12px 0 0; background-color: var(--site-primary-dark); font-size: 17px; }
.nav-tc { height: auto; }
.nav-list { width: 238px; height: 423px; border-radius: 0 0 16px 16px; box-shadow: var(--site-shadow); overflow: visible; }
.nav-list dl { padding: 18px 18px 0; }
.nav-list dl dt a { color: var(--site-ink); }
.nav-list dl dd a:hover, .nav-zlist dl dd a:hover { color: var(--site-primary); }
.nav-ztc { left: 238px; width: min(962px, calc(100vw - 278px)); border-radius: 0 0 16px 0; box-shadow: var(--site-shadow); }
.nav-zlist dl dt { border-left-color: var(--site-primary); }
.nav { flex: 1; min-width: 0; }
.nav-ul { position: static; display: flex; align-items: center; height: 52px; overflow-x: auto; scrollbar-width: none; }
.nav-ul::-webkit-scrollbar { display: none; }
.nav-ul li { float: none; flex: 0 0 auto; }
.nav-ul li a { height: 52px; padding: 0 24px; line-height: 52px; font-size: 15px; }
.nav-ul li a:hover { background: var(--site-primary-dark); }
.site-menu-toggle { display: none; }

/* Homepage */
body.site-home .banner { height: clamp(260px, 34vw, 430px); background: #dcebe7; overflow: hidden; }
body.site-home .banner p, body.site-home .layui-carousel, body.site-home .layui-carousel > div { height: clamp(260px, 34vw, 430px) !important; }
body.site-home .banner p { background-size: cover !important; background-repeat: no-repeat; }
body.site-home .banner img { width: 100%; height: 100%; object-fit: cover; }
body.site-home .w1250 > .zb, body.site-home #zb.zb, body.site-home #jw.zb, body.site-home #dx.zb { padding: 25px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: var(--site-card); box-shadow: 0 8px 26px rgba(20, 55, 47, .05); }
.zb-title { height: 38px; margin-right: 0; border-bottom: 1px solid var(--site-line); }
.zb-text { width: auto; }
.zb-text a { color: var(--site-ink); font-size: 20px; }
.zb-text::after { content: ""; display: block; width: 32px; height: 3px; margin-top: 8px; border-radius: 3px; background: var(--site-primary); }
.zb-ul { left: 140px; }
.zb-ul li { margin: 4px 13px 0; }
.zb-ul li.on { border-bottom-color: var(--site-primary); }
.zb-ul li.on a, .zb-ul li a:hover { color: var(--site-primary); }
.xian { left: 0; }
.more { color: var(--site-primary); font-weight: 600; }
.zb-list { height: 430px; margin-top: 20px; }
.zb-imga { width: 260px; height: 430px; border-radius: 14px; overflow: hidden; }
.zb-imga img { width: 260px; height: 430px; object-fit: cover; }
.zb-imgb { left: 284px; display: block; width: calc(100% - 284px); }
.zb-imgb ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.zb-imgb li { width: auto; margin: 0; padding: 0 0 12px; border: 1px solid var(--site-line); border-radius: 14px; background: #fff; overflow: hidden; }
.zb-imgb-title a { width: 100%; height: auto; }
.zb-imgb-title img { width: 100%; height: 168px; object-fit: cover; }
.zb-imgb-title a p { width: auto; min-height: 44px; margin: 12px 14px 4px; color: var(--site-ink); line-height: 22px; }
.zb-imgb-price { margin: 12px 14px 0; }
.zb-imgb-price span, .zb-imgb-price i { color: var(--site-primary); }
.zb-imgb-price a { border-radius: 7px; background: var(--site-primary); }
.zb-imgb li:hover { transform: translateY(-3px); box-shadow: var(--site-shadow); }
.zb-imgb li.site-empty-state { grid-column: 1 / -1; display: flex; align-items: center; justify-content: center; min-height: 210px; color: var(--site-muted); border-style: dashed; background: #fafcfb; }
.zb-imgb li.site-empty-state:hover { transform: none; box-shadow: none; }
.newsList { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.index-news { width: auto; margin-top: 0; padding: 22px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fff; }
.news-title a.yh { color: var(--site-primary); font-size: 18px; }
.news-first img { width: 100%; height: 190px; border-radius: 12px; object-fit: cover; }
.first-link i { border-left-color: var(--site-primary); }

/* Lists and article pages */
.local { padding: 20px 0; color: var(--site-muted); }
.local a:hover { color: var(--site-primary); }
.select { overflow: hidden; border: 1px solid var(--site-line); border-top: 3px solid var(--site-primary); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(20,55,47,.04); }
.choice { margin-bottom: 0; }
.choice p { border-bottom: 1px dashed var(--site-line); }
.choice p .b0 { display: inline-block; min-width: 74px; color: var(--site-ink); font-weight: 600; }
.choice p .item { margin: 4px 2px; border-radius: 7px; }
.choice p .item:hover { color: var(--site-primary); background: var(--site-primary-soft); }
.choice p .item-on { background: var(--site-primary); }
.select2 td { border-color: var(--site-line); background: #fafcfb; }
.select2 input.text { max-width: 112px; height: 28px; border: 1px solid var(--site-line); border-radius: 6px; background-color: #fff; }
.select2 input[type="submit"], .select2 input[type="reset"] { height: 28px; padding: 0 8px; border: 1px solid var(--site-line); border-radius: 6px; background: #fff; cursor: pointer; }
body.site-products .left { width: calc(100% - 285px); }
body.site-products .right { width: 260px; }
.left ul.proListData > li { border-color: var(--site-line); border-radius: 14px; background: #fff; box-shadow: 0 6px 20px rgba(20,55,47,.04); }
.left ul.proListData > li:hover { background: #fff; box-shadow: var(--site-shadow); transform: translateY(-2px); }
.product-img img { border-radius: 10px; object-fit: cover; }
.product-img span, .title-day i, .product-detail a { background-color: var(--site-primary); }
.title-link a { color: var(--site-primary); }
.righta { overflow: hidden; border-color: var(--site-line); border-radius: 14px; background: #fff; }
.right-title { background: var(--site-primary-soft); }
.right-title a { color: var(--site-ink); }
.right-img img { border-radius: 8px; object-fit: cover; }
.news-list-left, .news-list-right { border-color: var(--site-line); border-top-color: var(--site-primary); border-radius: 14px; background: #fff; }
.news-list-left { width: 230px; }
.news-list-right { width: calc(100% - 250px); }
.news-list-left li.on a, .news-right-title a, .Page p { color: var(--site-primary); }
.news-right-info a { border-radius: 7px; background: var(--site-primary); }
.list-right-title { border-radius: 11px 11px 0 0; background: var(--site-primary-soft); }
body.site-article .news-list-right table { width: 100% !important; padding: 24px !important; }
body.site-article .news-list-right h1 { color: var(--site-ink); font-size: 28px; line-height: 1.4; }
body.site-article #proListData img { max-width: 100% !important; height: auto !important; }

/* Footer */
.foot { margin-top: 20px; padding: 38px 0 26px; background: #17352f; }
.foota { padding-bottom: 24px; }
.foota .newsBottomS { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.foota ul li { float: none; }
.foota-li { width: auto; }
.foota-li i { background: var(--site-primary); }
.foota-ul li a, .footc-link li a, .foot2-text { color: #c5d4d0; }
.foot2 { background: #102923; }
.foot2-img img { border-radius: 10px; background: #fff; padding: 4px; }

/* Public booking and utility forms */
body.site-booking main, body.site-form-page .site-form-shell { width: min(960px, calc(100% - 32px)); margin: 28px auto; padding: 30px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fff; box-shadow: var(--site-shadow); }
body.site-booking main > div, body.site-booking main .w1250 { width: 100% !important; }
body.site-booking .layui-container { width: 100% !important; padding: 0 !important; }
body.site-booking .layui-row { max-width: 100%; }
body.site-booking .place { width: min(500px, 100%) !important; max-width: 100%; }
body.site-booking textarea { width: 100% !important; max-width: 100%; }
body.site-booking .lineImg { max-width: 220px; height: auto; }
body.site-booking .green-bgc, body.site-form-page .layui-btn { background: var(--site-primary) !important; }
body.site-booking .blue { color: var(--site-primary); }
body.site-booking .layui-input, body.site-booking .layui-textarea, body.site-form-page .layui-input, body.site-form-page .layui-textarea { border-radius: 8px; border-color: var(--site-line); }
body.site-booking .settlement-item { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
body.site-form-page { padding: 0 !important; }
body.site-form-page::before { content: ""; display: block; height: 7px; background: var(--site-primary); }
body.site-form-page .site-form-shell { max-width: 1040px; }
body.site-form-page .layui-form-label { color: var(--site-ink); }
body.site-form-page .orange { color: #d94841; }
body.site-form-page #step_demo { min-height: calc(100vh - 7px); padding: 32px 0 50px; }
body.site-form-page .step-header { width: min(880px, calc(100% - 30px)) !important; margin: 0 auto 26px !important; }
body.site-form-page .step-content main { width: min(1040px, calc(100% - 30px)); margin: 0 auto; }
body.site-form-page main form { width: min(820px, 100%) !important; margin: 0 auto 24px !important; padding: 32px !important; border: 1px solid var(--site-line); border-radius: var(--site-radius); box-shadow: var(--site-shadow); }
body.site-form-page main form h2 { margin-left: 0 !important; padding: 0 0 24px !important; color: var(--site-ink); text-align: center; font-size: 24px !important; }
body.site-form-page .layui-form-item { margin-bottom: 18px; }
body.site-form-page .layui-form input:not([type="radio"]):not([type="checkbox"]),
body.site-form-page .layui-form select { width: 100% !important; max-width: 420px; height: 40px !important; border: 1px solid var(--site-line) !important; }
body.site-form-page .layui-input-block { max-width: 620px; }
body.site-form-page .layui-input-inline { max-width: 420px; }
body.site-form-page .layui-btn { min-width: 112px; border-radius: 9px; }
body.site-form-page .step-header li.step-active .step-name,
body.site-form-page .step-header li.step-done .step-name { color: var(--site-primary); }

body.site-public-action { min-height: 100vh; padding: 28px 14px; background: linear-gradient(180deg, var(--site-primary-soft), #f7faf9 260px); }
body.site-public-action > .layui-tab { width: min(960px, 100%); min-height: 480px; margin: 0 auto; overflow: hidden; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fff; box-shadow: var(--site-shadow); }
body.site-public-action .layui-tab-title { display: flex; height: auto; padding: 14px 18px 0; border-bottom: 1px solid var(--site-line); overflow-x: auto; }
body.site-public-action .layui-tab-title li { flex: 1 0 120px; height: 48px; line-height: 48px; font-size: 15px; }
body.site-public-action .layui-tab-title .layui-this { color: var(--site-primary); font-weight: 700; }
body.site-public-action .layui-tab-title .layui-this::after { border-bottom-color: var(--site-primary); }
body.site-public-action .layui-tab-content { height: auto !important; min-height: 390px; padding: 24px; }
body.site-public-action form { width: min(520px, 100%); margin: 0 auto; padding: 10px 0 !important; }
body.site-public-action .layui-row { padding: 12px 0 !important; }
body.site-public-action .position { margin: 10px 0 !important; }
body.site-public-action .link { color: var(--site-primary); }

/* Standalone product details */
body.site-product-detail { background: var(--site-bg); }
body.site-product-detail header { padding: 30px 0; background: linear-gradient(180deg, var(--site-primary-soft), #fff); }
body.site-product-detail header .content { padding: 28px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fff; box-shadow: var(--site-shadow); }
body.site-product-detail .head-left { width: 48%; }
body.site-product-detail .head-right { width: 49%; }
body.site-product-detail .product-cover { border-radius: 14px; object-fit: cover; }
body.site-product-detail .layui-btn, body.site-product-detail .nav li.li-on { background-color: var(--site-primary) !important; }
body.site-product-detail main > .content { margin-top: 20px; overflow: hidden; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fff; }
body.site-product-detail .main-left p { color: var(--site-primary); }

/* Responsive */
@media (max-width: 900px) {
    .w1250, body.site-modern .content { width: calc(100% - 28px) !important; }
    .top-bg { height: auto; min-height: 40px; }
    .top-bg .w1250 { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
    .top-bg .l { float: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .top-bg .r { float: none; font-size: 0; }
    .logo-search > .w1250 { min-height: 88px; gap: 15px; flex-wrap: wrap; padding: 12px 0; }
    .logo-search .logo { flex: 1 1 180px; }
    .logo-search .logo img { max-width: 190px; max-height: 54px; }
    .logo-search .call { display: none; }
    .logo-search .search { order: 2; flex: 1 0 100%; max-width: none; }
    .nav-bg, .nav-bg > .w1250 { height: auto; min-height: 50px; }
    .nav-bg > .w1250 { position: relative; display: block; width: 100% !important; }
    .site-menu-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 50px; padding: 0 18px; border: 0; color: #fff; background: var(--site-primary); font-size: 16px; cursor: pointer; }
    .site-menu-toggle::after { content: "☰"; font-size: 20px; }
    .all-nav, .nav { display: none; width: 100%; }
    .nav-bg.site-menu-open .all-nav, .nav-bg.site-menu-open .nav { display: block; }
    .all-nav { position: static; }
    .nav-title { width: 100%; border-radius: 0; }
    .nav-tc { display: none !important; }
    .nav-ul { display: block; height: auto; padding: 5px 0 12px; }
    .nav-ul li { float: none; }
    .nav-ul li a { height: 44px; line-height: 44px; padding: 0 22px; }
    body.site-home .banner, body.site-home .banner p, body.site-home .layui-carousel, body.site-home .layui-carousel > div { height: 245px !important; }
    body.site-home .w1250 > .zb, body.site-home #zb.zb, body.site-home #jw.zb, body.site-home #dx.zb { padding: 18px; }
    .zb-title { height: auto; min-height: 38px; padding-bottom: 8px; }
    .zb-text { position: static; }
    .zb-ul { position: static; margin-top: 12px; overflow-x: auto; }
    .zb-ul ul { display: flex; min-width: max-content; }
    .zb-ul li { float: none; }
    .more { position: absolute; top: 0; right: 0; }
    .zb-list { height: auto; }
    .zb-imga { display: none; }
    .zb-imgb { position: static; width: 100%; }
    .zb-imgb ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .zb-imgb-title img { height: 150px; }
    .newsList { grid-template-columns: 1fr; }
    body.site-products .left, body.site-products .right { float: none; width: 100%; }
    body.site-products .right { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
    .select2 { overflow-x: auto; }
    .select2 table { min-width: 900px; }
    .news-list-left, .news-list-right { float: none; width: 100%; }
    .news-list-left { margin-bottom: 16px; }
    .news-list-left ul { display: flex; overflow-x: auto; }
    .news-list-left li { flex: 0 0 auto; padding: 0 12px; }
    .foota .newsBottomS { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.site-booking .settlement-item { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.site-product-detail .head-left, body.site-product-detail .head-right { float: none; width: 100%; }
    body.site-product-detail .head-right { margin-top: 24px; overflow-x: auto; }
    body.site-product-detail .nav-box, body.site-product-detail .nav-position { overflow-x: auto; }
    body.site-product-detail .nav { min-width: 570px; }
}

@media (max-width: 560px) {
    .top-bg .l { max-width: 52vw; }
    .top-bg #swcolor span { width: 18px !important; height: 18px !important; }
    body.site-home .banner, body.site-home .banner p, body.site-home .layui-carousel, body.site-home .layui-carousel > div { height: 190px !important; }
    .zb-imgb ul { grid-template-columns: 1fr; }
    .zb-imgb-title img { height: 190px; }
    body.site-products .right { grid-template-columns: 1fr; }
    .left ul.proListData > li { padding: 14px; }
    .product-img, .product-text { float: none !important; width: 100% !important; }
    .product-img img { width: 100%; height: 190px; }
    .product-text { margin-top: 12px; }
    .pd30-lr { padding-left: 14px; padding-right: 14px; }
    .choice p .b0 { display: block; }
    .foota .newsBottomS { grid-template-columns: 1fr; }
    .foot2-img { position: static; margin-top: 18px; }
    body.site-booking main, body.site-form-page .site-form-shell { width: calc(100% - 20px); margin: 14px auto; padding: 18px 14px; }
    body.site-booking .settlement-item { grid-template-columns: 1fr; }
    body.site-booking main { padding: 14px; }
    body.site-booking .pd25 { padding: 16px 10px; }
    body.site-booking .layui-input, body.site-booking .layui-form-select { width: 100% !important; max-width: 100%; margin: 5px 0; }
    body.site-booking .lineImg { float: none; margin-top: 12px; }
    body.site-product-detail header .content { padding: 16px; }
    body.site-product-detail .head-left .p1 span { display: block; margin: 6px 0; }
    body.site-article .news-list-right h1 { font-size: 22px; }
    body.site-form-page #step_demo { padding-top: 18px; }
    body.site-form-page .step-header { overflow-x: auto !important; }
    body.site-form-page .step-header ul { min-width: 620px; }
    body.site-form-page main form { padding: 22px 12px !important; }
    body.site-form-page .layui-form-label { float: none; width: auto !important; padding: 7px 0 !important; text-align: left; }
    body.site-form-page .layui-input-block, body.site-form-page .layui-input-inline { margin-left: 0; width: 100% !important; }
    body.site-form-page .layui-form-mid { margin-left: 0; padding-top: 4px !important; }
    body.site-public-action { padding: 12px 8px; }
    body.site-public-action .layui-tab-content { padding: 16px 12px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
