﻿/* ========= CSS 变量（基础 + 无障碍可控） ========= */

:root {
    /* 字体缩放：仅供无障碍系统修改 */
    --font-scale: 1;
    /* 正文 */
    --font-body: 1rem;
    /* 16px */
    --font-sm: 0.875rem;
    /* 14px */
    --font-md: 1.125rem;
    /* 18px */
    --font-lg: 1.25rem;
    /* 20px */
    /* 标题层级 */
    --font-title-xl: 3.5rem;
    /* 56px */
    --font-title-lg: 3rem;
    /* 48px */
    --font-title-md: 2rem;
    /* 32px */
    --font-title-sm: 1.5rem;
    /* 24px */
    /* 布局 */
    --header-height: 120px;
    /* 颜色 */
    --color-bg: #ffffff;
    --color-text: #333333;
    --color-primary: #1677ff;
    --bg-color-blue: #036EB8;
    --bg-color-orange: #F39800;
    --bg-color-pink: #A40B5D;
    --bg-color-green: #006934;
    --bg-color-red: #E83828;
    --bg-color-orange-dark: #EA5514;
    --bg-color-red-dark: #C30D23;
    --color-blue: #2AA9D9;
    --color-blue-dark: #2C4D98;
    --color-red: #e60012;
    --color-green: #00913A;
    --color-green-dark: #0B6C6F;
    --color-nav-text: #613D40;
    --color-sub-nav-text: #BE957B;
    --bg-color-menu-title: #c30d23;
    --bg-color-menu: #e83428;
    --sub-title: 1.25rem;
    --sub-title-more: 1rem;
    /* 间距 */
    --space-xs: 8px;
    --space-sm: 16px;
    --space-md: 24px;
    --space-lg: 32px;
    --space-top: 30px;
    --space-top-lg: 100px;
    --space-bottom: 50px;
    --space-gap-xl: 100px;
    --title-height: 60px;
    --brand: #c30d23;
    --brand-2: #e53935;
    /* 机构详情、协会领导 */
    --text: #222;
    --muted: #666;
    --line: #e6e6e6;
    --bg: #fff;
    --bg-soft: #faf7f2;
    --row-bg: #fbf1ea;
    --radius: 8px;
    /*机构介绍*/
    --main-red: #c8000a;
    --light-red: #f33;
    --text-main: #333;
    --text-gray: #666;
    --bg-light: #f7f7f7;
    --border-color: #e5e5e5;
}

.m-r-20 {
    margin-right: 1.25rem;
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.justify-content-end {
    justify-content: flex-end;
}

.justify-content-start {
    justify-content: flex-start;
}

.justify-content-center {
    justify-content: center;
}

.align-items-start {
    align-items: flex-start;
}

.background-color-blue {
    background-color: var(--bg-color-blue);
}

.background-color-orange {
    background-color: var(--bg-color-orange);
}

.background-color-orange-dark {
    background-color: var(--bg-color-orange-dark);
}

.background-color-pink {
    background-color: var(--bg-color-pink);
}

.background-color-green {
    background-color: var(--bg-color-green);
}

.background-color-red {
    background-color: var(--bg-color-red);
}

.background-color-red-dark {
    background-color: var(--bg-color-red-dark);
}

.text-color-green {
    color: var(--bg-color-green);
}

.text-color-white {
    color: #fff;
}

.text-color-red {
    color: var(--bg-color-red);
}

.text-color-red-1 {
    color: var(--color-red);
}

.text-color-blue {
    color: var(--color-blue);
}

.text-color-blue-dark {
    color: var(--color-blue-dark);
}

.text-color-pink {
    color: var(--bg-color-pink);
}

.text-color-green-dark {
    color: var(--color-green-dark);
}

.text-color-green-1 {
    color: var(--color-green);
}

.gap-0 {
    gap: 0;
}

.gap-xs {
    gap: var(--space-xs);
}

.grow-14 {
    flex: 1.4;
}

.grow-1 {
    flex: 1;
}

.grow-5 {
    flex: 0.5;
}

.grow-13 {
    flex: 1.8;
}

img {
    width: 100%;
    height: auto;
    display: block;
}


/* ========= Reset ========= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
    scroll-behavior: smooth; /*锚点*/
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
    color: var(--color-text);
    background: var(--color-bg);
    line-height: 1.6;
    min-width: 1630px !important;
}

a {
    text-decoration: none;
    color: inherit;
}


/* 不强制所有元素继承 font-size，避免组件异常 */


/* 需要继承的组件单独写 */


/* ========= 字体 ========= */


/*@font-face {*/


/*  font-family: "AdobeSongStd-Light";*/


/*  src: url("../assets/fonts/AdobeSongStd-Light.otf") format("opentype");*/


/*}*/


/*@font-face {*/


/*  font-family: "MFLangSong_Noncommercial-Regular";*/


/*  src: url("../assets/fonts/MFLangSong_Noncommercial-Regular.otf")*/


/*  format("opentype");*/


/*}*/


/*@font-face {*/


/*  font-family: "方正兰亭粗黑简体";*/


/*  src: url("../assets/fonts/方正兰亭粗黑.TTF") format("truetype");*/


/*}*/


/*@font-face {*/


/*  font-family: "方正兰亭刊黑GBK";*/


/*  src: url("../assets/fonts/方正兰亭刊黑_GBK.ttf") format("truetype");*/


/*}*/


/* ========= 滚动容器 ========= */

.scroll-wrapper {
    min-height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    height: 100vh;
    width: 100%;
    padding-top: var(--header-height);
    scroll-padding-top: var(--header-height, 120px); /*锚点*/
}


/* ========= 焦点与键盘可达 ========= */

:focus-visible {
    outline: 3px solid var(--color-primary);
    outline-offset: 2px;
}


/* ========= 跳过链接 ========= */

.skip-link {
    position: absolute;
    left: -9999px;
    top: auto;
}

.skip-link:focus {
    left: 16px;
    top: 16px;
    background: #000;
    color: #fff;
    padding: 8px 12px;
    z-index: 1000;
}


/* ========= 高对比模式（CSS级，JS可不启用） ========= */

body[data-contrast="high"] {
    --color-bg: #000;
    --color-text: #fff;
    --color-primary: #ff0;
}
