/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b, strong {
    font-weight: bolder
}

code, kbd, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

img {
    border-style: none
}

button, input, optgroup, select, textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox], [type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden], template {
    display: none
}

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

html {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

body {
    background: #fff;
    color: #000;
    font-family: Microsoft YaHei, 微软雅黑, SimSun, 宋体, Helvetica, Arial, sans-serif;
    font-size: 16px
}

article, aside, audio, body, canvas, caption, dd, div, dl, dt, fieldset, figure, footer, form, h1, h2, h3, h4, h5, h6, header, html, input, label, legend, li, mark, menu, nav, ol, p, section, table, tbody, td, textarea, tfoot, th, thead, time, tr, ul, video {
    margin: 0;
    padding: 0
}

h1, h2, h3, h4, h5, h6 {
    font-size: 100%;
    font-weight: 400;
    line-height: 1.3
}

p {
    line-height: 1.6
}

small {
    font-size: 12px
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, p:first-child {
    margin-top: 0
}

h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child, h6:last-child, p:last-child {
    margin-bottom: 0
}

ol, ul {
    list-style: none
}

a {
    color: #333;
    text-decoration: none
}

a:hover {
    text-decoration: none
}

a:focus, a:hover {
    color: #3a8ee6;
    outline: none
}

a:active {
    color: #3a8ee6
}

button, input {
    outline: none
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: top
}

video {
    max-width: 100%;
    height: auto
}

hr {
    border: 0;
    border-top: 1px solid #eee;
    margin-bottom: 20px;
    margin-top: 20px
}

sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sup {
    top: -.5em
}

sub {
    bottom: -.25em
}

.z-layout {
    background-color: #fff;
    min-height: calc(100vh - 350px);
    padding: 40px 0 100px
}

.z-pages {
    text-align: center
}

.z-pages a {
    background-color: #fff;
    border: 1px solid #d7d7d7;
    display: inline-block;
    padding: 10px 15px
}

.z-pages a.active {
    background-color: #513ba8;
    border: 1px solid #fff;
    color: #fff
}

.z-page-title {
    background-image: linear-gradient(225deg, #3c43b8, #5337a2);
    border-radius: 0 14px 0 14px;
    color: #fff;
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
    padding: 10px 20px
}

header {
    background: url(../img/header-bg.png) no-repeat top;
    background-size: cover;
    height: 70px;
    width: 100%
}

header .wrapper {
    align-items: center;
    display: flex;
    height: 70px;
    justify-content: space-between
}

header .logo a {
    display: block
}

header .logo img {
    width: 160px
}

header .menu {
    display: flex;
    flex-wrap: nowrap;
    position: relative
}

header .menu li {
    padding: 15px;
    position: relative;
    text-align: center;
}

header .menu li a {
    color: #fff;
    font-size: 16px
}

header .menu li i {
    display: inline-block;
    width: 20px
}

header .menu li i img {
    width: 100%
}

header .menu li:hover {
    background-color: #fff
}

header .menu li:hover a {
    color: #42219a
}

header .menu > li.active {
    border-bottom: 2px solid #f3ae23
}

header .menu > li.active .sub-menu > li.active a, header .menu > li.active a {
    color: #f3ae23
}

header .menu li:hover i {
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg)
}

header .menu li:hover .sub-menu {
    max-height: 300px;
    overflow: hidden;
    text-align: center;
}

header .menu .sub-menu {
    background-color: #fff;
    display: block;
    left: 50%;
    max-height: 0;
    min-width: 110px;
    overflow: hidden;
    padding: 0 20px;
    position: absolute;
    top: 61px;
    transform: translateX(-50%);
    transition: all .3s ease-in-out;
    z-index: 10;
    box-shadow: 0 0 0.38rem 0 rgba(0, 0, 0, 0.19);
}

header .menu .sub-menu li {
    padding: 10px 0;
    text-align: center;
}

header .menu .sub-menu li a {
    font-size: 14px;
    text-align: center;
    word-break: keep-all;
    color: #333333;
    font-weight: normal;
}

footer {
    background-image: linear-gradient(90deg, #671498, #503da9 50.25%, #363fb6)
}

footer .content {
    padding: 34px 0
}

footer .content p {
    color: #fff;
    font-size: 12px;
    line-height: 16px;
    padding-bottom: 8px;
    text-align: center
}

footer .content p a {
    color: #fff
}

footer .content p a:hover {
    text-decoration: underline
}

.container {
    margin-left: auto;
    margin-right: auto;
    width: 1140px
}

header .menu li:has(.sub-menu){padding-right:5px}

/* PC端隐藏汉堡菜单按钮 */
.menu-toggle {
    display: none;
}

/* ==========================================================================
   新增：移动端响应式适配代码
   ========================================================================== */
@media screen and (max-width: 992px) {
    /* 容器撑满全屏 */
    .container {
        width: 100%;
        padding: 0;
    }

    /* Header高度调整为50px */
    header {
        height: 50px;
    }

    header .wrapper {
        height: 50px;
    }

    /* Logo尺寸调整 */
    header .logo {
        margin-left: 15px !important;
        position: relative;
        z-index: 1002;
    }

    header .logo img {
        width: 120px;
    }

    /* 汉堡菜单按钮 */
    .menu-toggle {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 50px;
        height: 50px;
        cursor: pointer;
        z-index: 1002;
        position: relative;
    }

    .menu-toggle .hamburger {
        display: block;
        width: 22px;
        height: 2px;
        background-color: #fff;
        margin: 3px 0;
        transition: opacity 0.3s ease;
        border-radius: 1px;
    }

    .menu-toggle .close-icon {
        display: none;
        color: #fff;
        font-size: 28px;
        font-weight: 300;
        line-height: 1;
    }

    /* 菜单展开时：隐藏汉堡线，显示X */
    .menu-toggle.active .hamburger {
        display: none;
    }

    .menu-toggle.active .close-icon {
        display: block;
    }

    /* 将原本横向的菜单转为垂直的全屏菜单 */
    header .menu {
        position: fixed;
        top: 50px;
        left: 0;
        width: 100%;
        height: calc(100vh - 50px);
        background: linear-gradient(180deg, #59179d 0%, #480f82 100%);
        flex-direction: column;
        overflow-y: auto;
        margin: 0;
        padding: 0;
        display: none;
        z-index: 1000;
    }

    /* 菜单展开状态 */
    header .menu.menu-open {
        display: flex;
    }

    /* 覆盖一级菜单项样式 */
    header .menu > li {
        width: 100%;
        padding: 0;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        text-align: left;
    }
    header .menu > li:hover {
        background-color: transparent;
    }
    header .menu > li.active {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }

    header .menu li a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 20px;
        font-size: 16px;
        color: #fff !important;
        font-weight: 500;
    }

    /* 设置下箭头图标样式 */
    header .menu li i {
        width: 14px;
        margin-left: auto;
    }
    header .menu li i img {
        filter: brightness(0) invert(1);
        vertical-align: middle;
    }

    /* 子菜单修改为静态流模式 */
    header .menu .sub-menu {
        position: static;
        transform: none;
        max-height: 0;
        width: 100%;
        background: rgba(0, 0, 0, 0.15);
        box-shadow: none;
        padding: 0;
        transition: max-height 0.3s ease;
        left: auto;
        overflow: hidden;
    }

    /* 禁用hover展开子菜单 - 只通过点击控制 */
    header .menu li:hover .sub-menu {
        max-height: 0;
    }

    /* 子菜单展开状态 - 使用!important确保优先级 */
    header .menu .sub-menu.sub-menu-open {
        max-height: 1000px !important;
        padding: 0;
    }

    /* 覆盖二级菜单项样式 */
    header .menu .sub-menu li {
        padding: 0;
        border-bottom: none;
        text-align: left;
    }
    header .menu .sub-menu li a {
        padding: 12px 20px 12px 40px;
        color: #d1d1d1 !important;
        font-size: 14px;
        font-weight: normal;
    }

    header .menu li:has(.sub-menu) {
        padding-right: 0;
    }

    /* 底部footer响应式 */
    footer .content {
        padding: 15px;
    }

    footer .content p {
        font-size: 11px;
        line-height: 18px;
        padding-bottom: 0;
    }

    /* 手机版只显示第一行文字 */
    footer .content p:nth-child(2),
    footer .content p:nth-child(3) {
        display: none;
    }

    /* 主体内容区域响应式 */
    .z-layout {
        padding: 20px 0 50px;
        min-height: calc(100vh - 150px);
    }

    .z-page-title {
        font-size: 18px;
        padding: 8px 15px;
        margin-bottom: 15px;
    }

    .z-pages a {
        padding: 8px 10px;
        font-size: 14px;
    }
}

/* 超小屏幕适配 (手机竖屏) */
@media screen and (max-width: 576px) {
    .container {
        width: 100%;
        padding: 0 10px;
    }

    header .logo img {
        width: 120px;
    }

    footer .content p {
        font-size: 10px;
        line-height: 16px;
    }
}
