/**
 * 页面字号切换（CSS 变量）
 * --font-scale：当前倍率；--rem-base：flexible 基准（不含倍率）
 * html 根字号 = rem-base × font-scale → 首页等 rem 文字随档位变化
 * 头部高度固定为原始值，切换字号时不增高
 * --header-ctrl-gap 固定，字号按钮与语言按钮间距保持默认
 * --logo-scale：logo 随字号稍稍增大（最大约 +20%）
 */
html {
    --font-scale-s: 1;
    --font-scale-m: 1.2;
    --font-scale-l: 1.4;
    --font-scale: var(--font-scale-s);
    --rem-base: 100px;
    --body-font-size: 14px;
    --lan2-width-base: 100px;
    --header-ctrl-gap: 12px;
    --logo-scale: calc(1 + 0.5 * (var(--font-scale) - 1));
    font-size: calc(var(--rem-base) * var(--font-scale)) !important;
}
html[data-font-size="s"] { --font-scale: var(--font-scale-s); }
html[data-font-size="m"] { --font-scale: var(--font-scale-m); }
html[data-font-size="l"] { --font-scale: var(--font-scale-l); }
body {
    font-size: calc(var(--body-font-size) * var(--font-scale)) !important;
}

/* 头部高度固定，不随字号档位变高 */
.module-layer,
.module-layer-content,
.navBg,
.height_box {
    height: calc(0.5 * var(--rem-base, 100px)) !important;
    max-height: calc(0.5 * var(--rem-base, 100px)) !important;
    min-height: 0 !important;
}
/* 列表页头部下方横幅条：仅锁定 min-height，不影响有图时的 280px 图片 */
.cp_banner {
    min-height: calc(0.5 * var(--rem-base, 100px)) !important;
}

/* 底部搜索框：高度跟随字号缩放，与左侧 .sea 浮动按钮（.48rem）保持一致 */
.search_main02 {
    height: calc(0.48rem) !important;
}

.lan2 {
    top: calc(0.12 * var(--rem-base)) !important;
    right: calc(0.25 * var(--rem-base)) !important;
    width: calc(var(--lan2-width-base) * var(--font-scale)) !important;
    height: calc(0.26 * var(--rem-base)) !important;
}
.lan2 strong {
    line-height: calc(0.26 * var(--rem-base)) !important;
    height: 100%;
    box-sizing: border-box;
}
.lan2_main a {
    line-height: calc(0.26 * var(--rem-base)) !important;
}

/* logo：随字号稍稍增大，头内上下居中 */
.module-layer-content .logo {
    position: absolute !important;
    top: 50% !important;
    left: 0;
    transform: translateY(-50%);
    margin: 0 !important;
    z-index: 2;
}
.module-layer-content .logo a img {
    width: calc(0.3 * var(--rem-base) * var(--logo-scale)) !important;
    height: calc(0.3 * var(--rem-base) * var(--logo-scale)) !important;
    margin-top: 0 !important;
    margin-left: calc(0.1 * var(--rem-base)) !important;
    display: block;
}
.module-layer-content .ww_logo {
    position: absolute !important;
    top: 50% !important;
    left: calc(0.1 * var(--rem-base) + 0.3 * var(--rem-base) * var(--logo-scale) + 24px);
    transform: translateY(-50%);
    margin: 0 !important;
    z-index: 2;
}
.module-layer-content .ww_logo img {
    height: calc(0.21 * var(--rem-base) * var(--logo-scale)) !important;
    width: auto !important;
    display: block;
    margin: 0 !important;
}
.module-layer-content .ww_logo2 {
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
}
.module-layer-content .ww_logo2 img {
    height: calc(40px * var(--logo-scale)) !important;
    width: auto !important;
}

/* 头部字号按钮（语言切换左侧） */
.font-size-switch {
    position: absolute;
    top: calc(0.12 * var(--rem-base));
    right: calc(0.25 * var(--rem-base) + var(--lan2-width-base) * var(--font-scale) + var(--header-ctrl-gap));
    height: calc(0.26 * var(--rem-base));
    display: flex;
    align-items: stretch;
    border: 1px solid #429e94;
    border-radius: 5px;
    overflow: hidden;
    z-index: 2;
    background: #fff;
    box-sizing: border-box;
}
.font-size-switch a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    padding: 0 8px;
    line-height: 1;
    text-align: center;
    color: #429e94;
    border-right: 1px solid #429e94;
    text-decoration: none;
}
.font-size-switch a:last-child { border-right: none; }
.font-size-switch a.font-size-s { font-size: calc(12px * var(--font-scale)); }
.font-size-switch a.font-size-m { font-size: calc(12px * var(--font-scale)); }
.font-size-switch a.font-size-l { font-size: calc(12px * var(--font-scale)); }
.font-size-switch a.on { background-color: #429e94; color: #fff; }
.font-size-switch a:hover { background-color: #429e94; color: #fff; }

/* PC 端：rem 被锁定为 144px，头部用固定 px 兜底，彻底不受任何变量影响 */
@media screen and (min-width: 1025px) {
    .module-layer,
    .module-layer-content,
    .navBg,
    .height_box {
        height: 72px !important;
        max-height: 72px !important;
        min-height: 0 !important;
    }
    .cp_banner {
        min-height: 72px !important;
    }
}

@media screen and (max-width: 1024px) {
    .lan2 {
        width: calc(0.8 * var(--rem-base) * var(--font-scale)) !important;
        right: calc(0.37 * var(--rem-base)) !important;
    }
    .font-size-switch {
        right: calc(0.37 * var(--rem-base) + 0.8 * var(--rem-base) * var(--font-scale) + var(--header-ctrl-gap));
    }
    .font-size-switch a {
        min-width: calc(0.28 * var(--rem-base));
        padding: 0 6px;
    }
    .module-layer-content .ww_logo {
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
    }
    .module-layer-content .ww_logo img {
        height: calc(0.26 * var(--rem-base) * var(--logo-scale)) !important;
    }
    .module-layer-content .ww_logo2 {
        left: 0.08rem;
        transform: translateY(-50%) !important;
        top: 50% !important;
    }
}
