/* 移动端全局样式 (from newsonic) */
.mobile-icons {
    height: 100%;
    display: none;
    gap: calc(20 * var(--rpx));
    margin-right: calc(-10 * var(--rpx));
}

.mobile-icons > * {
    height: 100%;
    width: calc(80 * var(--rpx));

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.icon-search .icon {
    width: calc(64 * var(--rpx));
    height: calc(64 * var(--rpx));
    background: url("../images/btn_search.svg") center/contain no-repeat;
}

.icon-lang .icon {
    width: calc(30 * var(--rpx));
    height: calc(30 * var(--rpx));
    background: url("../images/icon_lang.svg") center/contain no-repeat;
}

.icon-mobile-nav .icon {
    width: calc(40 * var(--rpx));
    height: calc(27 * var(--rpx));

    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: space-between;
}

.icon-mobile-nav i {
    flex: 0 0 calc(3 * var(--rpx));
    width: 100%;
    background-color: #333;
    transition: .6s cubic-bezier(0.15, 1, 0.336, 1);
}

.mobile-nav-layer {
    display: block;
    position: fixed;
    left: 0;
    top: var(--header-height-min);
    width: 100%;
    height: calc(100% - var(--header-height-min));
    visibility: hidden;
    opacity: 0;
    transition: .3s;
    z-index: 1000;
    background-color: #fff;
    overflow: auto;
}

.mobile-nav-active .icon-mobile-nav i:first-of-type {
    transform: translateY(calc(13 * var(--rpx))) rotate(45deg);
}

.mobile-nav-active .icon-mobile-nav i:nth-of-type(2) {
    transform: scaleX(0);
}

.mobile-nav-active .icon-mobile-nav i:last-of-type {
    transform: translateY(calc(-13 * var(--rpx))) rotate(-45deg);
}

/* 移动端导航菜单样式 */
.mobile-nav {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10000;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.3s, opacity 0.3s;
}

.mobile-nav.active {
    visibility: visible;
    opacity: 1;
}

.mobile-nav-overlay {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
}

.mobile-nav-content {
    position: absolute;
    right: 0;
    top: 0;
    width: calc(640 * var(--rpx));
    max-width: 85vw;
    height: 100%;
    background-color: #f0f0f0;
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.15, 1, 0.336, 1);
    overflow: hidden;
}

.mobile-nav.active .mobile-nav-content {
    transform: translateX(0);
}

.mobile-nav-header {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: calc(10 * var(--rpx)) calc(28 * var(--rpx));
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    flex-shrink: 0;
}

.mobile-nav-close {
    width: calc(80 * var(--rpx));
    height: calc(80 * var(--rpx));
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    position: relative;
}

.close-icon {
    width: calc(48 * var(--rpx));
    height: calc(48 * var(--rpx));
    position: relative;
}

.close-icon::before,
.close-icon::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: calc(40 * var(--rpx));
    height: calc(4 * var(--rpx));
    background-color: #333;
    transform-origin: center;
}

.close-icon::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.close-icon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-nav-menu {
    flex: 1;
    overflow-y: auto;
    padding-bottom: calc(40 * var(--rpx));
    display: flex;
    flex-direction: column;
}

.mobile-nav-item {
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.mobile-nav-link {
    display: flex;
    align-items: center;
    padding: calc(32 * var(--rpx)) calc(48 * var(--rpx));
    color: #333;
    text-decoration: none;
    font-size: calc(32 * var(--rpx));
    transition: background-color 0.2s;
    position: relative;
}

.mobile-nav-link:hover,
.mobile-nav-link:active {
    background-color: rgba(0, 0, 0, 0.05);
}

.mobile-nav-item {
    position: relative;
}

.mobile-nav-expand {
    position: absolute;
    right: calc(24 * var(--rpx));
    top: 50%;
    transform: translateY(-50%);
    width: calc(80 * var(--rpx));
    height: calc(80 * var(--rpx));
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.mobile-nav-expand span {
    width: calc(24 * var(--rpx));
    height: calc(24 * var(--rpx));
    border-right: calc(4 * var(--rpx)) solid #333;
    border-bottom: calc(4 * var(--rpx)) solid #333;
    transform: rotate(45deg);
    transition: transform 0.4s cubic-bezier(0.15, 1, 0.336, 1);
}

.mobile-nav-item.expanded .mobile-nav-expand span {
    transform: rotate(-135deg);
}

.mobile-nav-sub {
    height: 0;
    overflow: hidden;
    background-color: #e5e5e5;
}

.mobile-nav-sub-link:first-of-type {
    margin-top: calc(20 * var(--rpx));
}
.mobile-nav-sub-link:last-of-type {
    margin-bottom: calc(20 * var(--rpx));
}

.mobile-nav-sub-link {
    display: block;
    padding: calc(16 * var(--rpx)) calc(48 * var(--rpx)) calc(16 * var(--rpx)) calc(96 * var(--rpx));
    color: #555;
    text-decoration: none;
    font-size: calc(28 * var(--rpx));
    transition: background-color 0.2s;
}

.mobile-nav-sub-link:hover,
.mobile-nav-sub-link:active {
    background-color: rgba(0, 0, 0, 0.05);
    color: #333;
}

.mobile-nav-footer {
    flex-shrink: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: calc(40 * var(--rpx)) calc(48 * var(--rpx));
}

.mobile-search-ctn {
    font-size: calc(27 * var(--rpx));
    background-color: rgba(255, 255, 255, .2);
    border-radius: calc(40 * var(--rpx));
    padding: calc(15 * var(--rpx));
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: calc(15 * var(--rpx));
}

.mobile-search-ctn input {
    display: block;
    width: 100%;
    height: calc(60 * var(--rpx));
    border: none;
    background-color: transparent;
    font-size: 1em;
    padding-left: calc(36 * var(--rpx));
    padding-right: calc(36 * var(--rpx));
    border-radius: calc(30 * var(--rpx));
    outline: none;
    color: #fff;
}

.mobile-search-ctn input::placeholder {
    color: rgba(255, 255, 255, .7);
}

.mobile-search-ctn input:focus {
    background-color: rgba(0, 0, 0, .5);
    color: #fff;
    outline: 2px solid var(--theme-blue);
}

.mobile-search-row-2 {
    display: flex;
    gap: calc(15 * var(--rpx));
    align-items: stretch;
}

.mobile-btn-search {
    flex: 0 0 auto;
    height: calc(60 * var(--rpx));
    font-family: inherit;
    outline: none;
    font-size: 1em;
    padding: 0 calc(36 * var(--rpx));
    border-radius: calc(30 * var(--rpx));
    white-space: nowrap;
    cursor: pointer;
    background: var(--theme-blue);
    color: #fff;
    border: none;
    transition: background-color 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mobile-btn-search:hover {
    background: var(--theme-blue-dark);
}

.mobile-nav-lang {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(24 * var(--rpx));
    padding: calc(32 * var(--rpx)) calc(48 * var(--rpx));
    border-top: 1px solid rgba(0, 0, 0, 0.08);
    background-color: #f0f0f0;
}

.mobile-nav-lang a {
    color: #333;
    text-decoration: none;
    transition: color 0.2s, opacity 0.2s;
}

.mobile-nav-lang a.active {
    color: var(--theme-blue);
}

.mobile-nav-lang a[style*="opacity"] {
    opacity: 0.5 !important;
    cursor: not-allowed;
}

.mobile-nav-lang .lang-sep {
    color: #999;
}

/* Footer 响应式 */
@media (max-width: 1280px) {
    .footer-info {
        flex: 0 0 calc((100% - 20px) * .35);
    }
    .footer-nav {
        flex: 0 0 calc((100% - 20px) * .65);
    }
    .footer-nav-col {
        max-width: calc(300 * var(--rpx));
    }
}

/* 828px 及以下：手机端 */
@media (max-width: 828px) {
    :root {
        --rpx-50: calc(.86667vw / 8.28);
        --rpx-67: calc(1vw / 8.28);
        --rpx-75: calc(1.25vw / 8.28);
        --rpx: var(--rpx-67);

        font-size: calc(32 * var(--rpx));
        --header-height-min: calc(100 * var(--rpx));
        --header-height-max: calc(100 * var(--rpx));
        --wrapper-width: calc(100% - 40px);

        --inner-nav-max: calc(110 * var(--rpx));
        --inner-nav-min: calc(90 * var(--rpx));
    }

    .top-bar {
        display: none;
    }

    .nav-bar {
        top: 0;
        left: 0;
        right: 0;
    }

    .top-nav {
        display: none;
    }

    .right-nav {
        display: none;
    }

    .mobile-icons {
        display: flex;
    }

    .site-logo img {
        height: calc(64 * var(--rpx));
    }

    .icon-search {
        background: url("../images/btn_search.svg") center/calc(45 * var(--rpx)) no-repeat;
    }

    .nav-bar .wrapper {
        padding: 0;
        justify-content: space-between;
    }

    .btn-back-to-top{
        width: calc(80 * var(--rpx));
        height: calc(80 * var(--rpx));
    }

    .mobile-nav-content {
        width: calc(640 * var(--rpx));
    }

    .page-header {
        aspect-ratio: 2/3;
    }

    .page-title {
        font-size: calc(32 * var(--rpx));
    }

    .section-title,
    .section-title.text,
    .section-title.tiny,
    .section-title.tiny .text {
        font-size: calc(69 * var(--rpx));
    }

    .section-title .btn-more {
        font-size: 1rem;
    }

    .btn-more {
        width: calc(260 * var(--rpx));
        height: calc(100 * var(--rpx));
    }

    .news-list {
        --gap: calc(40 * var(--rpx));
        --column: 1;
    }

    .news .line2 {
        font-size: calc(32 * var(--rpx));
    }

    .site-footer .part1 .wrapper {
        display: block;
    }

    .footer-info {
        width: 100%;
    }

    .footer-nav {
        display: none;
    }

    .site-footer .part2 .wrapper {
        padding-top: calc(40 * var(--rpx));
        height: auto;
        padding-bottom: calc(40 * var(--rpx));

        display: flex;
        flex-direction: column;
        text-align: center;
        gap: calc(40 * var(--rpx));
    }

    .site-footer .part2 .left {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc(20 * var(--rpx));
    }

    .follow-ctn {
        margin-top: calc(60 * var(--rpx));
    }

    .follow-hint {
        font-size: 1rem;
    }

    .follow-icons .layout-area p {
        gap: calc(20 * var(--rpx));
    }

    .follow-icons .layout-area a img {
        width: calc(100 * var(--rpx));
        height: calc(100 * var(--rpx));
    }

    .desc{
        font-size: 1rem;
    }

    .site-footer .part2 .left .split{
        width: calc(240 * var(--rpx));
        height: 1px;
    }

    .page-desc{
        width: 100%;
        font-size: calc(48 * var(--rpx));
    }

    .page-inner-nav .inner-nav-page-title {
        display: none;
    }

    .page-inner-nav .inner-nav-swiper {
        flex: 1;
        min-width: 0;
        height: 100%;
        overflow: visible;
    }

    .page-inner-nav .inner-nav-swiper .swiper-wrapper {
        align-items: center;
    }

    .page-inner-nav .inner-nav-swiper .swiper-slide {
        width: auto;
        flex-shrink: 0;
    }

    .page-inner-nav .inner-nav-swiper .inner-nav-link{
        margin-right: 0;
    }

    .yiiPager{
        font-size: calc(28 * var(--rpx));
        margin-top: calc(80 * var(--rpx));
    }

    .yiiPager .first,
    .yiiPager .previous,
    .yiiPager .next,
    .yiiPager .last{
        font-size: 0;
    }


    .yiiPager a{
        height: calc(80 * var(--rpx));
        padding: 0 calc(20 * var(--rpx));
    }

    .yiiPager .previous a::before,
    .yiiPager .next a::after{
        width: calc(10 * var(--rpx));
        height: calc(20 * var(--rpx));
    }

    .yiiPager .first a::before,
    .yiiPager .last a::after{
        width: calc(20 * var(--rpx));
        height: calc(20 * var(--rpx));
    }

    .split-layout {
        flex-direction: column;
        gap: calc(60 * var(--rpx));
    }

    .split-layout .media {
        width: 100%;
        max-width: none;
        aspect-ratio: auto;
        flex: none;
        flex: 0 0 auto;
    }

    .split-layout .media img {
        height: auto;
        object-fit: unset;
    }

    .split-layout .text{
        flex: 0 0 auto;
    }

    .bilingual-title .text .cn{
        font-size: calc(36 * var(--rpx));
    }

    .bilingual-title .text .en{
        font-size: calc(36 * var(--rpx));
    }
}

