@font-face {
    font-family: 'PFR';
    src: url('OpenSans-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'PFR';
    font-size: 15px;
}

/* ========== 1. Header 容器 ========== */
#header {
    position: absolute;
    left: 0;
    right: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    height: 62px;
    /*line-height: 62px;*/
    padding: 0 40px;
    box-sizing: border-box;
    background-color: #fff;
    border-bottom: 1px solid #E9EAEB;
}

#header .nav-log {
    flex-shrink: 0;
    margin-right: 32px;
}

#header .nav-log .logo-new {
    width: 138px;
    height: 36px;
}

#header img {
    display: inline-block;
    height: 40px;
}

/* ========== 2. 左侧导航 #navl ========== */
#navl,
#navr {
    display: flex;
    align-items: center;
    height: 62px;
    line-height: 62px;
}

#navl {
    flex: 1;
    min-width: 0;
    box-sizing: border-box;
}

#navl li {
    padding-right: 10px;
}

/* ========== 3. 右侧导航 #navr ========== */
#navr {
    flex-shrink: 0;
    margin-left: auto;
}

#navr li {
    display: inline-block;
    padding: 0 10px;
}

/* ========== 4. 导航标题与箭头 ========== */
#navl .nav-title, #navr .nav-title {
    color: #232323;
    font-size: 14px;
    display: flex;
    align-items: center;
    cursor: pointer;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#navl .nav-title {
    white-space: nowrap;
    font-weight: 500;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#navl .nav-title:hover, #navr .nav-title:hover {
    color: #FF8F32;
}

#navl .nav-title::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('../images/down.png') no-repeat center;
    background-size: 24px 24px;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

#navl .nav-title:hover::after {
    background: url('../images/down-activate-new.png') no-repeat center;
    background-size: 24px 24px;
}

#navr .nav-language::after {
    content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('../images/arrow-down-new.png') no-repeat center;
    background-size: 24px 24px;
}

#navr .nav-language:hover::after {
    background: url('../images/arrow-down-activate-new.png') no-repeat center;
    background-size: 24px 24px;
}

/* ========== 5. 登录/注册按钮 ========== */
#navr .nav-login, #navr .nav-register {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 14px;
    height: 42px;
    border-radius: 12px;
    font-size: 14px;
    text-decoration: none;
    transition: background 0.5s ease;
}

#navr .nav-login {
    background: #FFFFFF;
    border: 1px solid #D5D7DA;
    box-sizing: border-box;
}

#navr .nav-register {
    background-color: #FF8F32;
    color: #fff !important;
}

#navr .nav-login:hover {
    border-color: #FF8F32;
    color: #FF8F32 !important;
}

/* ========== 6. 导航项与徽章 ========== */
.nav-full-item {
    position: static !important;
}

.nav-hot-activity {
    display: inline-block;
    width: 29px;
    height: 15px;
    position: absolute;
    right: 2px;
    top: 6px;
    background: url('../images/hot(1).png') no-repeat center;
    background-size: 100% 100%;
}

.nav-icon-buy {
    display: inline-block;
    width: 24px;
    height: 24px;
    background: url('../images/nav-icon-buy.png') no-repeat center;
    background-size: contain;
    vertical-align: middle;
}

.nav-icon-buy:hover {
    background: url('../images/nav-icon-buy-hover.png') no-repeat center;
    background-size: contain;
}

.nav-new-activity {
    display: inline-block;
    width: 29px;
    height: 15px;
    position: absolute;
    right: 2px;
    top: 6px;
    background: url('../images/new(1).png') no-repeat center;
    background-size: 100% 100%;
}

.nav-new-icon {
    display: inline-block;
    width: 29px;
    height: 15px !important;
    margin-left: 6px;
    margin-top: -8px;
    background-size: 100% 100%;
}

/* ========== 7. 普通下拉菜单 .sub-menu ========== */
.nav-item {
    position: relative;
}

/* 默认隐藏"更多"菜单（大于1280px时） */
.nav-more-menu {
    display: none;
}

.nav-item .sub-menu {
    position: absolute;
    /*min-width: 134px;*/
    left: -22px;
    transform: none;
    margin-top: -1px;
    padding: 10px 0;
    background-color: #fff;
    border-radius: 0 0 5px 5px;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.15);
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.sub-menu a, .sub-menu .menu-item {
    display: block;
    color: #333;
    font-size: 13px;
    line-height: 32px;
    text-align: left;
    cursor: pointer;
    white-space: nowrap;
    padding: 0 24px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sub-menu a:hover {
    color: #FF8F32 !important;
}

.nav-more-menu .sub-menu .menu-item {
    padding: 0 !important;
}

.nav-item.active .sub-menu {
    opacity: 1;
    visibility: visible;
}

.has-dropdown:hover .sub-menu {
    display: block;
}

.has-dropdown:hover .sub-menu-two-columns {
    display: flex !important;
}

/* ========== 8. 两列布局（裸机云/VPS + 应用列表） ========== */
.nav-item .sub-menu-two-columns {
    display: flex !important;
    flex-direction: row !important;
    padding: 0;
    left: -24px;
    transform: none;
    border-radius: 0 0 5px 5px;
}

.sub-menu-column {
    display: flex;
    flex-direction: column;
}

.sub-menu-left {
    padding: 10px 0;
    background-color: #fff;
    border-radius: 0 0 0 5px;
}

.sub-menu-right {
    flex: 1;
    padding: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-radius: 0 0 5px 0;
}

/* 裸机云&vps下拉菜单右侧 应用列表 */
.sub-menu-app-title {
    font-size: 13px;
    font-weight: 600;
    color: #232323;
    padding: 8px 10px;
    margin-bottom: 2px;
    text-align: left;
    line-height: 1vw;
    border-bottom: 1px solid #E8E8E8;
}

.sub-menu-right.sub-menu-app-market {
    padding: 8px 14px 10px 14px;
}

.sub-menu-right.sub-menu-app-market a {
    display: block;
    padding: 0 10px 0 12px;
    text-align: left;
    color: #333;
    font-size: 12px;
    line-height: 25px;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.sub-menu-right.sub-menu-app-market a:hover {
    color: #FF8F32 !important;
    background-color: #E8E8E8;
}

/* 应用中心菜单项样式（带图标） */
.sub-menu-app-market a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.sub-menu-app-market .nav-app-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    vertical-align: middle;
    object-fit: contain;
    flex-shrink: 0;
    margin-right: 6px;
}

.second-level.sub-menu-app-market a {
    display: block !important;
}

/* ========== 9. 更多产品 （托管，域名，网络与安全） / 二级三级菜单 ========== */
.sub-menu-more-products {
    left: -24px !important;
    transform: none !important;
    padding: 0 !important;
}

/* 更多产品菜单 - 三列布局 */
.menu-more-products .full-menu-box {
    width: 138px;
}

.full-menu-box {
    width: 20%;
}

/*导航栏展开更多二级菜单*/
.second-level {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    background-color: #fff;
    border-radius: 0 0 5px 5px;
    z-index: 10;
    padding: 10px 0px;
    box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.15);
}

.menu-item:hover > .second-level {
    display: block;
}

.second-level a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.second-level a:hover {
    color: #FF8F32;
}

/* 三级菜单样式 */
.three-level {
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    background-color: #fff;
    border-radius: 0 0 5px 5px;
    z-index: 11;
    padding: 10px 0;
    box-shadow: 0px 8px 32px 0px rgba(0, 0, 0, 0.15);
}

.three-level a {
    display: block;
    color: #232323;
    font-size: 13px;
    line-height: 32px;
    padding: 0 16px;
    text-align: center;
}

.three-level a:hover {
    color: #FF8F32;
}

/* 当鼠标悬停在二级菜单项上时显示对应的三级菜单 */
.second-level-item:hover > .three-level {
    display: block;
}

/* 一级菜单样式 */
.first-level {
    position: relative;
    display: flex !important;
    justify-content: center;
    align-items: center;
}

.first-level-icon {
    display: inline-block;
    width: 14px;
    height: 14px;
    margin-left: 2px;
    background: url(../images/arrow-down-new.png) no-repeat center;
    background-size: 20px 20px;
    transform: rotate(-90deg);
}

.first-level:hover .first-level-icon, .second-level-link:hover .first-level-icon {
    background: url('../images/arrow-down-activate-new.png') no-repeat center;
    background-size: 20px 20px;
}

/* ========== 10. 全屏活动菜单 .full-menu ========== */
.full-menu {
    display: flex;
    position: absolute;
    left: 0;
    top: 62px;
    width: 100%;
    height: 528px;
    background-color: #fff;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0px 1px 2px 0px rgba(35, 11, 11, 0.05), 2px 3px 3px 0px rgba(35, 11, 11, 0.045), 3px 7px 4px 0px rgba(35, 11, 11, 0.025), 6px 12px 5px 0px rgba(35, 11, 11, 0.005), 10px 18px 6px 0px rgba(35, 11, 11, 0);
    z-index: 9999;
}

.nav-item.active .full-menu {
    opacity: 1;
    visibility: visible;
}

/*左侧宣传*/
.full-menu .full-menu-left {
    width: 224px;
    height: calc(100% - 64px);
    padding: 32px;
    background: linear-gradient(180deg, #6E87DC5B 0%, #AF5AB323 100%);
    flex-shrink: 0;
    box-sizing: initial;
}

.has-dropdown:hover .sub-menu {
    opacity: 1;
    visibility: visible;
}

.full-menu {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.full-menu article {
    display: flex;
    flex-grow: 1;
    padding: 20px;
    box-sizing: border-box;
    overflow-y: auto;
    scrollbar-width: none;
    scrollbar-color: #fff #fff;
}

.full-menu-left-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 16px;
    color: #000000E5;
    line-height: 28px;
}

.full-menu-left-sub {
    color: #00000066;
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 134px;
}

.full-menu-left-suggest {
    height: 184px;
    overflow: hidden;
}

.full-menu-left-suggest p,  .full-menu-left-suggest a {
    color: #0052D9 !important;
    font-size: 14px !important;
    line-height: 22px;
    margin-bottom: 8px;
    cursor: pointer;
    text-decoration: underline;
}

.full-menu-item {
    margin: 0 5%;
    line-height: 1.6em;
}

#header #navl li .full-menu-item a {
    font-size: 14px;
    margin-top: 14px;
    text-align: left;
    padding: 0;
    color: rgba(0,0,0,0.9);
}

#header #navl li .full-menu-item a:hover {
    color: #FF8F32;
}

.menu-item-hide-1024 {
    display: none;
}

.full-menu a {
    display: block;
    text-decoration: none;
    color: #333;
    font-size: 14px;
}

.full-menu a:hover {
    color: #FF8F32;
}

.full-menu-item-desc {
    font-size: 12px;
    color: rgba(22,24,26,0.7);
}

.full-menu-content {
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
}

/* ========== 11. 全屏菜单内搜索框 ========== */
.search-box {
    position: relative;
    margin-left: 20px;
}

.search-icon {
    position: absolute;
    left: 9px;
    top: calc(50% - 9px);
    width: 20px;
    height: 20px;
    background: url('../images/search.png');
    background-size: 100% 100%;
}

.search-box input {
    width: 225px;
    height: 32px;
    padding: 8px 12px;
    padding: 10px 10px 10px 34px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
}

.search-box input:focus {
    border-color: #1677ff;
}

.search-box input::before {

}

.menu-items-container {
    display: flex;
    flex-grow: 1;
    overflow-y: auto;
    padding: 0 20px 20px 20px;
    box-sizing: border-box;
}

.full-menu-item h1, .full-menu-item-title {
    color: #FF8F32 !important;
    font-weight: 500;
    font-size: 16px !important;
    line-height: 24px;
    text-align: left;
    padding: 16px 0 0 0;
}

/* ========== 12. PC 端汉堡按钮隐藏 / 移动端显示 ========== */
.phone {
    display: none;
}

/* ========== 13. Header 悬停态（首屏透明场景） ========== */
#header.hover {
    background-color: #fff;
    animation: nav-fadein 0.4s;
}

#header.hover .logo {
    display: none;
}

@keyframes nav-fadein {
    from { background-color: rgba(255, 255, 255, 0); }
    to   { background-color: rgba(255, 255, 255, 1); }
}

#header #navl li.full-menu-wrap {
    position: static;
}

/* ========== 14. 响应式：≤1280px ========== */
@media (max-width: 1280px) {
    #navl li:nth-child(5),
    #navl li:nth-child(6),
    #navl li:nth-child(7) {
        display: none;
    }

    .nav-more-menu {
        display: inline-block !important;
    }
}

/* ========== 15. 响应式：≤1024px ========== */
@media (max-width: 1024px) {
    .menu-item-hide-1024 {
        display: block;
    }
}

/* ========== 16. 响应式：≤768px 移动端 ========== */
@media (max-width: 768px) {
    .phone {
        display: block;
    }

    #navl, #navr {
        display: none !important;
    }

    #header.hover {
        padding: 0 14px;
    }

    .full-menu-item span {
        display: none;
        width: 100%;
        float: left;
        padding-left: 24px;
    }


    /* 汉堡按钮 #menu */
    #menu {
        position: absolute;
        top: 17px;
        right: 24px;
    }

    #menu span {
        display: block;
        width: 24px;
        height: 3px;
        margin-top: 6px;
        background: #324558;
        transition: 0.3s;
    }

    /* 移动端侧滑菜单 */
    .mobile-menu-overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 999;
        display: none;
        background: rgba(0, 0, 0, 0.5);
    }

    .mobile-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        z-index: 1000;
        display: none;
        flex-direction: column;
        color: #fff;
        background: #282e35;
        transition: 0.3s;
    }

    .mobile-menu.active {
        display: flex;
        left: 0;
    }

    .mobile-menu-header {
        padding: 20px 24px;
        flex-shrink: 0;
        text-align: right;
        border-bottom: 1px solid #333;
    }

    .close-menu {
        display: inline-block;
        width: 24px;
        height: 24px;
        font-size: 24px;
        cursor: pointer;
        background: url('../images/close-3.png') no-repeat 0 0;
        background-size: 100% 100%;
    }

    .mobile-menu-body {
        flex: 1;
        overflow-x: hidden;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .mobile-menu-item {
        font-size: 16px;
        cursor: pointer;
        border-bottom: 1px solid #222;
    }

    .mobile-menu-item span {
        position: relative;
        display: flex;
        align-items: center;
        padding: 12px 16px;
    }

    .mobile-menu-item span:after {
        content: '';
        position: absolute;
        right: 30px;
        width: 20px;
        height: 20px;
        background: url('../images/mobile-down.png') no-repeat 0 0;
        background-size: 100% 100%;
    }

    .mobile-menu-item > a {
        display: block;
        padding: 12px 15px;
        color: #fff;
        position: relative;
    }

    .mobile-sub-menu {
        display: none;
        max-height: 500px;
        overflow: scroll;
        background: #1F252D;
    }

    .mobile-sub-menu a {
        display: block;
        padding: 12px 16px;
        font-size: 14px;
        color: #ccc;
    }

    .mobile-sub-menu-item-title {
        color: #FF6F0A !important;
        font-weight: 500;
    }

    .mobile-second-menu {
        display: none;
    }

    .mobile-sub-menu-item-title {
        color: #FF6F0A !important;
        font-weight: 500;
    }

    .mobile-second-menu {
        display: none;
    }
}
