@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 { font-size: 14px; line-height: 1.6; }
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(1360px, calc(100% - 48px)) !important; max-width: 1360px; }

/* Header */
.top-bg { height: 40px; line-height: 40px; font-size: 12px; 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: 28px; }
.logo-search > .w1250 > .clear { display: none; }
.logo-search .logo { float: none; flex: 0 1 265px; min-width: 180px; 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; min-width: 0; max-width: 610px; margin: 0; }
.search-box { min-width: 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; display: flex; align-items: center; gap: 11px; flex: 0 1 310px; min-width: 210px; margin: 0 0 0 auto; padding: 10px 13px; border: 1px solid var(--site-line); border-radius: 14px; background: linear-gradient(135deg, #fff, var(--site-primary-soft)); box-shadow: 0 7px 18px rgba(27, 68, 58, .06); }
.logo-search .call img { display: none; }
.site-tel-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; color: #fff; background: var(--site-primary); box-shadow: 0 5px 12px var(--site-primary-ring); font-family: Arial, sans-serif; font-size: 22px; line-height: 1; transform: rotate(-10deg); }
.site-tel-copy { min-width: 0; }
.site-tel-label { display: block; margin-bottom: 2px; color: var(--site-muted); font-size: 12px; letter-spacing: .06em; }
.logo-search .call p { display: flex; flex-wrap: wrap; gap: 2px 6px; margin: 0; color: var(--site-ink); font-size: 18px; font-weight: 700; line-height: 1.45; overflow-wrap: anywhere; }
.site-tel-number { color: inherit; text-decoration: none; white-space: nowrap; }
.site-tel-number:hover { color: var(--site-primary); }

.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 { display: grid; grid-template-rows: repeat(4, minmax(0, 1fr)); width: 238px; height: 430px; border-radius: 0 0 16px 16px; box-shadow: var(--site-shadow); overflow: visible; }
.nav-list dl { padding: 18px 18px 0; }
.nav-list > dl { min-width: 0; padding-top: 14px; }
.nav-list dl dd a { font-size: 12px; }
.nav-list > dl > .clear { padding-top: 10px; }
.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)); height: 430px; overflow-y: auto; 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,
.nav-ul li a:focus-visible {
    color: #fff;
    background: var(--site-primary-dark);
}
.site-menu-toggle { display: none; }

/* Homepage */
body.site-home .banner { height: 430px; background: #dcebe7; overflow: hidden; }
body.site-home .banner p, body.site-home .layui-carousel, body.site-home .layui-carousel > [carousel-item] { height: 430px !important; }
body.site-home .banner .layui-carousel-ind { width: 100%; height: auto; text-align: center; }
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); }
body.site-home .zb-title { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 12px 28px; height: auto; min-height: 42px; margin-right: 0; padding-bottom: 12px; border-bottom: 1px solid var(--site-line); }
body.site-home .zb-text { position: static; width: auto; height: auto; }
body.site-home .zb-text a { height: auto; line-height: 30px; color: var(--site-ink); font-size: 20px; white-space: nowrap; }
body.site-home .zb-text::after { content: ""; display: block; width: 32px; height: 3px; margin-top: 5px; border-radius: 3px; background: var(--site-primary); }
body.site-home .zb-ul { position: static; min-width: 0; height: auto; }
body.site-home .zb-ul ul { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 20px; }
body.site-home .zb-ul li { float: none; height: auto; margin: 0; line-height: 30px; }
body.site-home .zb-ul li a { display: block; white-space: nowrap; font-size: 14px; }
.zb-ul li.on { border-bottom-color: var(--site-primary); }
.zb-ul li.on a, .zb-ul li a:hover { color: var(--site-primary); }
body.site-home .zb-ul.xian { grid-column: 1 / -1; }
body.site-home .zb-ul.xian ul { gap: 28px; }
body.site-home .zb-ul.xian li a { font-size: 16px; }
.more { color: var(--site-primary); font-weight: 600; }
body.site-home .zb-title > .more { position: static; float: none; margin: 0; line-height: 30px; white-space: nowrap; }
/* Product rows stay in normal flow so every section grows with its content. */
body.site-home .zb-list { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: stretch; gap: 24px; height: auto; margin-top: 20px; }
body.site-home .zb-imga { position: relative; grid-column: 1; grid-row: 1; width: auto; height: auto; min-height: 430px; border-radius: 14px; overflow: hidden; }
body.site-home .zb-imga a { display: block; height: 100%; }
body.site-home .zb-imga img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
body.site-home .zb-imgb { position: static; min-width: 0; display: block; width: 100%; }
body.site-home .zb-imgb.zb-left { grid-column: 1 / -1; }
body.site-home .zb-imga + .zb-imgb { grid-column: 2; }
body.site-home .zb-imgb > ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
body.site-home .zb-imgb.zb-left > ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
body.site-home .zb-imgb li { display: flex; flex-direction: column; float: none; min-width: 0; width: auto; margin: 0; padding: 0 0 14px; border: 1px solid var(--site-line); border-radius: 14px; background: #fff; overflow: hidden; }
body.site-home .zb-imgb-title a { display: block; width: 100%; height: auto; }
body.site-home .zb-imgb-title img { display: block; width: 100%; height: 168px; object-fit: cover; }
body.site-home .zb-imgb-title a p { width: auto; min-height: 48px; margin: 12px 14px; color: var(--site-ink); font-size: 14px; line-height: 24px; overflow-wrap: anywhere; }
.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); }
body.site-home .zb-imgb-price { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin: auto 14px 0; padding-top: 8px; }
body.site-home .zb-imgb-price span { white-space: nowrap; line-height: 28px; }
body.site-home .zb-imgb-price i { margin-left: 3px; font-size: 12px; font-weight: 400; }
body.site-home .zb-imgb-price a { float: none; flex: 0 0 auto; width: auto; height: auto; padding: 4px 10px; font-size: 12px; line-height: 22px; }
.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; }
.newsList > .clear { display: none; }
.index-news { float: none; min-width: 0; width: auto; margin: 0; padding: 22px; border: 1px solid var(--site-line); border-radius: var(--site-radius); background: #fff; }
.index-news .news-title { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.index-news .news-title span { position: static; margin: 0; }
.index-news .news-list li { height: auto; min-height: 30px; line-height: 24px; padding: 4px 0; }
.index-news .first-link { height: auto; padding-left: 12px; }
.index-news .first-link a { position: static; width: auto; }
.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:last-child { border-bottom: 0; }
.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; white-space: nowrap; }
.select2 td:nth-child(5) > i { display: inline-block; margin-left: 10px; }
.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); }
body.site-products .proListData > li:not(.pro-no-data) { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 20px; }
body.site-products .proListData > li > .clear { display: none; }
body.site-products .product-img, body.site-products .product-text { float: none; min-width: 0; width: auto; }
body.site-products .product-img img { display: block; width: 100%; height: 150px; }
body.site-products .product-title { display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: 6px 12px; }
body.site-products .product-title > .clear { display: none; }
body.site-products .title-link { float: none; flex: 1 1 200px; min-width: 0; overflow-wrap: anywhere; }
body.site-products .title-day { float: none; white-space: nowrap; }
body.site-products .product-info { float: none; width: 100%; line-height: 24px; overflow-wrap: anywhere; }
body.site-products .route-cities { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; min-height: 24px; color: var(--site-muted); }
body.site-products .route-city { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
body.site-products .route-city b { display: inline-flex; align-items: center; justify-content: center; width: 17px; height: 17px; border-radius: 50%; color: #fff; background: var(--site-primary); font-size: 10px; font-weight: 700; line-height: 1; }
body.site-products .route-city.route-end b { background: #5f879f; }
body.site-products .route-arrow { color: var(--site-primary); font-size: 16px; line-height: 1; }
body.site-products .product-price { float: none; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 12px 0 0; }
body.site-products .product-price .product-detail { margin: 0; }
body.site-products .right-list li { display: grid; grid-template-columns: 75px minmax(0, 1fr); gap: 12px; }
body.site-products .right-list li > .clear { display: none; }
body.site-products .right-img, body.site-products .right-text { float: none; min-width: 0; width: auto; }
.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); }
body.site-news .news-right-title { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; height: auto; padding: 8px 0; line-height: 24px; }
body.site-news .news-right-title a { flex: 1 1 220px; min-width: 0; overflow-wrap: anywhere; }
body.site-news .news-right-title span { position: static; }
body.site-news .news-right-info { display: flow-root; }
body.site-news .news-right-info a { position: static; float: right; }
.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 .newsBottomS > li { min-width: 0; }
.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; }
body.site-modern #footer.foot { margin-top: 20px; padding: 0; }
body.site-modern #footer > .foot { margin-top: 0; }
body.site-modern .footc-link ul { display: flex; flex-wrap: wrap; gap: 6px 16px; }
body.site-modern .footc-link li { float: none; min-width: 0; margin: 0; }
body.site-modern .foot2 > .w1250 { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; }
body.site-modern .foot2-text { min-width: 0; margin-top: 0; overflow-wrap: anywhere; }
body.site-modern .foot2-text span { font-size: clamp(20px, 2.2vw, 32px); line-height: 1.5; }
body.site-modern .foot2-img { position: static; flex: 0 0 118px; }
/* 客服工具栏：新闻等非首页页面不再依赖旧首页样式。 */
body.site-modern .toolbar {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    width: 48px;
    font-size: 12px;
}
body.site-modern .toolbar > span {
    position: relative;
    display: block;
    width: 48px;
    height: 48px;
    margin: 0 0 10px;
}
body.site-modern .toolbar > span > a { display: block; color: #fff; }
body.site-modern .toolbar .icon42 {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    margin: 0;
    border: 1px solid var(--site-primary);
    border-radius: 14px;
    background: var(--site-primary);
    background-image: none;
    box-shadow: 0 8px 18px var(--site-primary-ring);
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 20px;
    font-style: normal;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.site-modern .toolbar .icon42::before { line-height: 1; }
body.site-modern .toolbar #contact .icon42::before { content: "☎"; }
body.site-modern .toolbar #weixin .icon42::before { content: "微"; font-size: 16px; font-weight: 700; }
body.site-modern .toolbar #service .icon42::before { content: "Q"; font-size: 17px; font-weight: 700; }
body.site-modern .toolbar #gotop .icon42::before { content: "↑"; font-size: 24px; }
body.site-modern .toolbar .icon42-hover,
body.site-modern .toolbar .icon42:hover {
    border-color: var(--site-primary-dark);
    background-color: var(--site-primary-dark) !important;
    background-image: none !important;
    box-shadow: 0 10px 20px var(--site-primary-ring);
    transform: translateY(-1px);
}
body.site-modern .toolbar .icon42 .text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    margin: 0;
    padding: 5px;
    border: 1px solid var(--site-primary-dark) !important;
    border-radius: inherit;
    background: var(--site-primary-dark) !important;
    color: #fff;
    font-size: 11px;
    font-style: normal;
    letter-spacing: 0 !important;
    line-height: 15px;
    text-align: center;
}
body.site-modern .toolbar .icon42 .text:empty { display: none; }
body.site-modern .toolbar .tooltip,
body.site-modern .toolbar .contact-tooltip,
body.site-modern .toolbar .service-tooltip {
    position: absolute;
    top: auto;
    right: 56px;
    bottom: 0;
    left: auto;
    display: none;
    box-sizing: border-box;
    width: auto;
    min-width: 190px;
    max-width: 300px;
    height: auto;
    max-height: min(400px, 80vh);
    overflow-y: auto;
    padding: 14px;
    border: 1px solid var(--site-line);
    border-radius: 14px;
    background: linear-gradient(135deg, #fff, var(--site-primary-soft));
    box-shadow: 0 16px 32px rgba(19, 74, 70, .16);
    color: var(--site-ink);
}
body.site-modern .toolbar .tooltip .triangle-down { display: none; }
body.site-modern .toolbar .tooltip::after {
    position: absolute;
    right: -6px;
    bottom: 17px;
    width: 12px;
    height: 12px;
    border-top: 1px solid var(--site-line);
    border-right: 1px solid var(--site-line);
    background: #fff;
    content: "";
    transform: rotate(45deg);
}
body.site-modern .toolbar .tooltip h4 {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: var(--site-primary);
    font-size: 15px;
    font-weight: 700;
    line-height: 24px;
}
body.site-modern .toolbar .tooltip h4::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    color: #fff;
    background: var(--site-primary);
    font-family: Arial, sans-serif;
    font-size: 12px;
    content: "●";
}
body.site-modern .toolbar #contact .tooltip h4::before { content: "☎"; font-size: 13px; }
body.site-modern .toolbar #weixin .tooltip h4::before { content: "微"; font-size: 11px; }
body.site-modern .toolbar #service .tooltip h4::before { content: "Q"; font-size: 12px; }
body.site-modern .toolbar .tooltip-top { height: auto !important; margin: 0; }
body.site-modern .toolbar .tooltip-top li { padding: 5px 0; border-bottom: 1px solid var(--site-line); line-height: 20px !important; }
body.site-modern .toolbar .tooltip-top li:last-child { border-bottom: 0; }
body.site-modern .toolbar .tooltip-top em { color: var(--site-primary); }
body.site-modern .toolbar .service-tooltip-caption {
    margin: 8px 0 5px 27px;
    color: var(--site-muted);
    font-size: 12px;
    line-height: 18px;
}
body.site-modern .toolbar .service-phone-list {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body.site-modern .toolbar .tooltip-top.service-phone-list li {
    display: flex;
    align-items: center;
    min-height: 36px;
    margin: 0;
    padding: 7px 10px 7px 30px;
    border: 1px solid var(--site-line);
    border-radius: 9px;
    background: #fff;
    line-height: 20px !important;
}
body.site-modern .toolbar .service-phone-item { position: relative; }
body.site-modern .toolbar .service-phone-item::before {
    position: absolute;
    top: 50%;
    left: 10px;
    color: var(--site-primary);
    font-family: Arial, sans-serif;
    font-size: 14px;
    content: "☎";
    transform: translateY(-50%);
}
body.site-modern .toolbar .service-phone-number {
    color: var(--site-primary) !important;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .02em;
    line-height: 20px;
    text-decoration: none;
}
body.site-modern .toolbar .service-phone-number:hover { color: var(--site-primary-dark) !important; }
body.site-modern .toolbar .service-phone-empty { color: var(--site-muted); }
body.site-modern .toolbar .tooltip-con {
    width: 100%;
    margin-top: 8px;
    border-collapse: separate;
    border-spacing: 0 7px;
    line-height: 22px;
}
body.site-modern .toolbar .tooltip-con td {
    padding: 7px 10px;
    border: 1px solid var(--site-line);
    border-radius: 9px;
    background: #fff;
}
body.site-modern .toolbar .tooltip-con td a { color: var(--site-primary); font-weight: 600; }
body.site-modern .toolbar .tooltip-con td a:hover { color: var(--site-primary-dark); }

/* 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 header .head-left h3 {
    color: var(--site-ink);
    font-size: clamp(22px, 2vw, 28px);
    font-weight: 800;
    letter-spacing: .01em;
    line-height: 1.35;
}
body.site-product-detail .product-cover { border-radius: 14px; object-fit: cover; }
body.site-product-detail .layui-btn { background-color: var(--site-primary) !important; }
body.site-product-detail .head-left-foot .share {
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: auto !important;
    height: 42px !important;
    margin-left: 14px !important;
    padding: 0 14px !important;
    border: 1px solid var(--site-primary) !important;
    border-radius: 10px !important;
    color: var(--site-primary) !important;
    background: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1 !important;
    transition: background-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.site-product-detail .head-left-foot .share::before {
    color: var(--site-primary);
    content: "▦";
    font-size: 17px;
    line-height: 1;
}
body.site-product-detail .head-left-foot .share:hover {
    background: var(--site-primary-soft);
    box-shadow: 0 5px 14px var(--site-primary-ring);
    transform: translateY(-1px);
}
body.site-product-detail .head-left-foot .share-icon { display: none; }
body.site-product-detail .head-left-foot .share .share-img {
    top: calc(100% + 10px);
    left: 50%;
    z-index: 20;
    box-sizing: content-box;
    width: 120px;
    padding: 10px;
    border: 1px solid var(--site-line);
    border-radius: 12px;
    background: #fff;
    box-shadow: var(--site-shadow);
    transform: translateX(-50%);
}
/* 咨询入口统一为可随主题色变化的气泡图标，不再使用旧 QQ 位图。 */
body.site-product-detail header .content .head-left .head-left-foot .head-left-operation .qq,
body.site-product-detail .nav-position .position-operation .qq {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: var(--site-primary);
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
}
body.site-product-detail header .content .head-left .head-left-foot .head-left-operation .qq::before,
body.site-product-detail .nav-position .position-operation .qq::before {
    content: "";
    box-sizing: border-box;
    width: 19px;
    height: 16px;
    flex: 0 0 19px;
    border: 2px solid currentColor;
    border-radius: 9px;
    background:
        radial-gradient(circle at 5px 6px, currentColor 1px, transparent 1.4px),
        radial-gradient(circle at 8.5px 6px, currentColor 1px, transparent 1.4px),
        radial-gradient(circle at 12px 6px, currentColor 1px, transparent 1.4px);
}
body.site-product-detail header .content .head-left .head-left-foot .head-left-operation .qq::after,
body.site-product-detail .nav-position .position-operation .qq::after {
    content: "";
    position: absolute;
    left: 3px;
    bottom: -1px;
    width: 5px;
    height: 5px;
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    background: #fff;
    transform: rotate(-32deg);
}
body.site-product-detail header .content .head-left .head-left-foot .head-left-operation .qq:hover,
body.site-product-detail .nav-position .position-operation .qq:hover {
    color: var(--site-primary-dark);
}
body.site-product-detail .fc-event,
body.site-product-detail .fc-event-dot {
    border-color: var(--site-primary) !important;
    background-color: var(--site-primary) !important;
}
body.site-product-detail .fc-event:hover {
    border-color: var(--site-primary-dark) !important;
    background-color: var(--site-primary-dark) !important;
}
body.site-product-detail main .nav li.li-on {
    border-bottom: 2px solid var(--site-primary);
    color: var(--site-primary);
    background: transparent !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 .main { margin: 0; padding: 26px 30px; }
body.site-product-detail main .main-left {
    float: none !important;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0 0 16px;
    background: none;
}
body.site-product-detail main .main-left p {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    padding: 0 0 9px;
    border-bottom: 2px solid var(--site-primary);
    color: var(--site-ink);
    background: none;
    font-size: 19px;
    font-weight: 700;
    line-height: 1.35;
}
body.site-product-detail main .main-left p::before {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: 21px;
    height: 21px;
    border-radius: 50%;
    color: #fff;
    background: var(--site-primary);
    box-shadow: none;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    content: "★";
}
body.site-product-detail main .feature .main-left p::before {
    font-size: 15px;
    content: "➜";
}
body.site-product-detail main .service .main-left p::before { content: "✓"; }
body.site-product-detail main .cost .main-left p::before { content: "¥"; }
body.site-product-detail main .notes .main-left p::before { content: "!"; }
body.site-product-detail main .main-right {
    float: none !important;
    width: auto;
    margin-left: 0;
}
body.site-product-detail main .main-right .title {
    height: auto;
    min-height: 40px;
    padding: 6px 0;
    border-bottom: 1px solid var(--site-line);
    background: none;
    line-height: 28px;
}
body.site-product-detail main .main-right .title > span {
    margin-left: 0;
    padding-left: 10px;
    border-left-color: var(--site-primary);
    color: var(--site-ink);
    font-size: 17px;
}
/* 产品特色的图片列表不是行程时间轴，移除 Layui 继承来的竖向轨道。 */
body.site-product-detail .scheduling .layui-timeline {
    margin-top: 14px;
    padding-left: 0;
}
body.site-product-detail .scheduling .layui-timeline-item {
    min-height: 0;
    padding-left: 0;
}
body.site-product-detail .scheduling .layui-timeline-item::before {
    display: none;
}
/* 产品特色和每日行程统一使用缩略图画廊；点击仍由 Layer 打开原尺寸图片。 */
body.site-product-detail #lfeatureLi,
body.site-product-detail .detail-itinerary-gallery {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 10px;
}
body.site-product-detail #lfeatureLi {
    width: fit-content;
    max-width: 100%;
    margin-top: 14px;
    padding: 2px;
}
body.site-product-detail #lfeatureLi:empty { display: none; }
body.site-product-detail .itinerary-gallery-shell {
    margin-top: 16px;
    padding: 12px;
    border: 1px solid var(--site-line);
    border-radius: 12px;
    background: #fafcfb;
}
body.site-product-detail .detail-gallery-image {
    display: block;
    box-sizing: border-box;
    width: 118px !important;
    height: 84px !important;
    border: 1px solid rgba(27, 78, 75, .12);
    border-radius: 10px;
    background: #edf4f1;
    box-shadow: 0 4px 12px rgba(19, 74, 70, .10);
    cursor: zoom-in;
    object-fit: cover;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
body.site-product-detail .detail-gallery-image:hover {
    border-color: var(--site-primary);
    box-shadow: 0 8px 18px var(--site-primary-ring);
    transform: translateY(-2px) scale(1.02);
}

/* Responsive */
@media (max-width: 1320px) {
    body.site-modern .toolbar { right: 14px; bottom: 14px; }
}
@media (min-width: 901px) and (max-width: 1100px) {
    body.site-home .zb-list { grid-template-columns: 190px minmax(0, 1fr); gap: 18px; }
    body.site-home .zb-imgb > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.site-home .zb-imgb.zb-left > ul { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .nav-ul li a { padding: 0 16px; }
}
@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; }
    .nav-bg > .w1250 { min-height: 0; }
    .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 > [carousel-item] { 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; }
    body.site-home .zb-title { grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
    body.site-home .zb-title > .zb-ul:not(.xian) { grid-row: 2; grid-column: 1 / -1; }
    body.site-home .zb-title > .more { grid-column: 2; grid-row: 1; }
    body.site-home .zb-list { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    body.site-home .zb-imga { display: block; grid-column: 1; grid-row: auto; min-height: 0; height: 200px; }
    body.site-home .zb-imga + .zb-imgb { grid-column: 1; }
    body.site-home .zb-imgb > ul, body.site-home .zb-imgb.zb-left > ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.site-home .zb-imgb-title img { height: 170px; }
    .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 .w1250 { flex-wrap: wrap; gap: 0; padding: 6px 0; }
    .top-bg .l { width: 100%; max-width: none; white-space: normal; line-height: 24px; }
    .top-bg .r { line-height: 28px; }
    .top-bg .clear { display: none; }
    .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 > [carousel-item] { height: 190px !important; }
    body.site-home .zb-imgb > ul, body.site-home .zb-imgb.zb-left > ul { grid-template-columns: minmax(0, 1fr); }
    body.site-home .zb-imgb-title img { height: 190px; }
    body.site-home .zb-imga { height: 160px; }
    body.site-products .right { grid-template-columns: 1fr; }
    .left ul.proListData > li { padding: 14px; }
    body.site-products .proListData > li:not(.pro-no-data) { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .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; }
    body.site-modern .foot2 > .w1250 { flex-direction: column; }
    body.site-modern .foot2-img { flex-basis: auto; }
    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-modern .toolbar { right: 10px; bottom: 12px; width: 44px; }
    body.site-modern .toolbar > span,
    body.site-modern .toolbar .icon42 { width: 44px; height: 44px; }
    body.site-modern .toolbar > span { margin-bottom: 8px; }
    body.site-modern .toolbar .tooltip { right: 54px; min-width: 180px; max-width: calc(100vw - 76px); }
    body.site-product-detail header .content { padding: 16px; }
    body.site-product-detail .head-left .p1 span { display: block; margin: 6px 0; }
    body.site-product-detail #lfeatureLi,
    body.site-product-detail .detail-itinerary-gallery { gap: 8px; }
    body.site-product-detail #lfeatureLi,
    body.site-product-detail .itinerary-gallery-shell { padding: 10px; }
    body.site-product-detail .detail-gallery-image { width: 104px !important; height: 76px !important; }
    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; }
}
