
.hh-header{
    position:relative;
    z-index:1000;
    background:#fff;
    border-bottom:1px solid #e0e7ff;
}
.hh-wrap{
    max-width:1280px;
    margin:0 auto;
    padding:0 10px;
}
.hh-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:74px;
    padding:8px 0;
}
.hh-brand{
    flex:1 1 auto;
    min-width:0;
}
.hh-brand a{
    display:block;
    text-decoration:none;
    line-height:0;
}
.hh-logo{
    display:block;
    width:220px;
    max-width:100%;
    height:auto;
    margin:0;
}
.hh-brand-text{
    display:none;
}
.hh-right{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    justify-content:center;
    gap:4px;
}
.hh-util{
    display:flex;
    align-items:center;
    gap:12px;
    font-size:13px;
    color:#6b7280;
    margin:0;
    padding:0;
}
.hh-util a{
    color:#4b5563;
    text-decoration:none;
}
.hh-util a:hover{
    color:#312e81;
}
.hh-gnb{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:0;
    margin:0;
    padding:0;
}
.hh-gnb-item{
    position:relative;
    list-style:none;
}
.hh-gnb-link{
    display:flex;
    align-items:center;
    justify-content:center;
    padding:8px 16px;
    font-size:17px;
    font-weight:700;
    color:#111827;
    text-decoration:none;
    white-space:nowrap;
}
.hh-gnb-item.active .hh-gnb-link,
.hh-gnb-link:hover{
    color:#4338ca;
}
.hh-sub{
    display:none;
    position:absolute;
    left:0;
    top:100%;
    min-width:220px;
    margin:0;
    padding:10px 0;
    background:#fff;
    border:1px solid #e5e7eb;
    border-radius:14px;
    box-shadow:0 12px 32px rgba(0,0,0,.08);
}
.hh-gnb-item:hover .hh-sub{
    display:block;
}
.hh-sub li{
    list-style:none;
}
.hh-sub a{
    display:block;
    padding:9px 16px;
    color:#374151;
    text-decoration:none;
    font-size:14px;
}
.hh-sub a:hover{
    background:#eef2ff;
    color:#3730a3;
}
.hh-menu-btn{
    display:none;
    width:42px;
    height:42px;
    border:1px solid #d1d5db;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
    padding:0;
}
.hh-menu-btn span{
    display:block;
    width:20px;
    height:2px;
    margin:4px auto;
    background:#111827;
}

.hh-mobile{
    position:fixed;
    top:0;
    right:-100%;
    width:min(86vw, 380px);
    height:100vh;
    background:#fff;
    box-shadow:-10px 0 30px rgba(0,0,0,.15);
    transition:right .25s ease;
    z-index:1200;
    overflow-y:auto;
}
.hh-mobile.open{
    right:0;
}
.hh-mobile-backdrop{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:1100;
}
.hh-mobile-backdrop.open{
    display:block;
}
.hh-mobile-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:12px 16px 10px;
    border-bottom:1px solid #e5e7eb;
}
.hh-mobile-title{
    font-size:17px;
    font-weight:800;
    color:#111827;
}
.hh-mobile-close{
    width:38px;
    height:38px;
    border:1px solid #d1d5db;
    border-radius:10px;
    background:#fff;
    font-size:20px;
    cursor:pointer;
}

.hh-mobile-tools{
    padding:10px 16px;
    border-bottom:1px solid #eef2f7;
    display:flex;
    flex-direction:column;
    gap:8px;
    background:#fff;
}
.hh-mobile-auth{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 14px;
    font-size:14px;
    color:#374151;
}
.hh-mobile-auth a{
    color:#374151;
    text-decoration:none;
}
.hh-mobile-user{
    color:#111827;
    font-weight:600;
}
.hh-mobile-translate-wrap{
    display:none;
}
.hh-mobile-translate-wrap.has-widget{
    display:block;
}

.hh-mobile-nav{
    padding:0 0 16px;
}
.hh-mobile-item{
    border-bottom:1px solid #f3f4f6;
}
.hh-mobile-main{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    width:100%;
    padding:13px 16px;
    background:#fff;
    border:0;
    text-align:left;
    cursor:pointer;
}
.hh-mobile-main a{
    flex:1 1 auto;
    text-decoration:none;
    color:#111827;
    font-size:16px;
    font-weight:800;
}
.hh-mobile-main .arrow{
    flex:0 0 auto;
    color:#6b7280;
    transition:transform .2s ease;
    border:0;
    background:transparent;
    font-size:16px;
    padding:0 2px;
}
.hh-mobile-item.open .hh-mobile-main .arrow{
    transform:rotate(180deg);
}
.hh-mobile-sub{
    display:none;
    padding:0 0 8px 0;
    background:#fafbff;
}
.hh-mobile-item.open .hh-mobile-sub{
    display:block;
}
.hh-mobile-sub a{
    display:block;
    padding:8px 20px 8px 26px;
    font-size:14px;
    color:#4b5563;
    text-decoration:none;
}
.hh-mobile-sub a:hover{
    background:#eef2ff;
    color:#3730a3;
}

/* content spacing */
.page-content-wrap{
    padding:28px 20px 60px;
}
.page-title-wrap{
    margin:0;
}
.page-body-wrap{
    margin-top:24px;
}

@media (min-width:1024px){
    .hh-top{
        min-height:82px;
        padding:8px 0;
    }
    .hh-logo{
        width:180px;
    }
}

@media (max-width:1023px){
    .hh-top{
        min-height:80px;
        padding:8px 0;
    }
    .hh-logo{
        width:180px;
    }
    .hh-right{
        display:none;
    }
    .hh-menu-btn{
        display:block;
        flex:0 0 auto;
    }

    .page-content-wrap{
        padding:10px 10px 20px;
    }
    .page-body-wrap{
        margin-top:18px;
    }
}

@media (max-width:640px){
    .hh-wrap{
        padding:0 10px;
    }
    .hh-logo{
        width:120px;
    }
    .page-content-wrap{
        padding:10px 10px 20px;
    }
}
