/* ======================================================================
   ref7 hillcasino layout.css (Header + Nav) - User v5
   - ref7/hillcasino/css/layout.css 기반
   - v5에서는 scope를 `.header-section`로 제한
   ====================================================================== */

.header-section {position: relative; width: 100%; background: #81d8d0; transition: 0.3s;}

/* tnb */
.header-section .tnb {position: relative; z-index: 3; margin: 0; padding: 0; width: 100%; height: 70px; background: #81d8d0;}
.header-section .tnb-inner {position: relative; margin: 0 auto; padding: 0 15px; width: 1430px; height: 100%; display: flex; align-items: center;}

/* 로고 */
.header-section .logo-wrap {position: relative; margin: 0; padding: 0; width: 300px; text-align: left;}
.header-section .logo {position: relative; margin: 0; padding: 0; width: 100%; display: flex; justify-content: flex-start; align-items: center; cursor: pointer;}
.header-section .toplogo-img {display: none; position: relative; opacity: 0;}

.header-section .symbol {position: absolute; left: 0; top: 0; bottom: auto; animation: hill_symbol 7s ease infinite;}
@keyframes hill_symbol {
    0% {opacity: 0; transform: translateY(-75%);}
    10% {opacity: 1; transform: translateY(0);}
    90% {opacity: 1; transform: translateY(0);}
    100% {opacity: 0; transform: translateY(0);}
}

.header-section .logo > .h {position: relative; left: 43px; animation: hill_first 7s ease infinite;}
.header-section .logo > .logo-c {position: relative; left: 110px; animation: hill_first 7s ease infinite;}
@keyframes hill_first {
    0% {opacity: 0; transform: translateY(-75%);}
    15% {opacity: 0; transform: translateY(-75%);}
    20% {opacity: 1; transform: translateY(0);}
    90% {opacity: 1; transform: translateY(0);}
    100% {opacity: 0; transform: translateY(0);}
}

.header-section .logo > .second-img {position: absolute; left: 80px; bottom: 0; overflow: hidden;}
.header-section .logo > .second-asino {left: 175px;}
.header-section .logo > .second-img > .ill-img,
.header-section .logo > .second-img > .asino-img {position: relative; animation: hill_second 7s ease infinite;}
@keyframes hill_second {
    0% {opacity: 0; transform: translateX(-100%);}
    20% {opacity: 0; transform: translateX(-100%);}
    30% {opacity: 1; transform: translateX(0);}
    90% {opacity: 1; transform: translateX(0);}
    100% {opacity: 0; transform: translateX(0);}
}

/* mo-bar */
.header-section .mo-bar {display: none; position: relative; margin: 0 10px 0 0; padding: 0; width: 35px; cursor: pointer;}
.header-section .mo-bar > span {display: block; margin: 0 0 8px; width: 100%; height: 2px; background: #000;}
.header-section .mo-bar > span:nth-child(1) {position: relative; top: 0; margin-top: 0; transition: top .3s .3s, transform .3s 0s;}
.header-section .mo-bar > span:nth-child(2) {margin-left: auto; width: calc(100% - 8px); opacity: 1; transition: opacity .3s;}
.header-section .mo-bar > span:nth-child(3) {position: relative; top: 0; margin-bottom: 0; transition: top .3s .3s, transform .3s 0s;}
.header-section .mo-bar.active > span:nth-child(1),
.header-section .left-menu-btn.opened > span:nth-child(1) {top: 10px; width: 100%; transform: rotate(-45deg); transition: top .3s 0s, transform .3s .3s;}
.header-section .mo-bar.active > span:nth-child(2),
.header-section .left-menu-btn.opened > span:nth-child(2) {opacity: 0;}
.header-section .mo-bar.active > span:nth-child(3),
.header-section .left-menu-btn.opened > span:nth-child(3) {top: -10px; width: 100%; transform: rotate(45deg); transition: top .3s 0s, transform .3s .3s;}

/* top-notice */
.header-section .top-notice {margin: 0 20px; padding: 0 10px; width: 350px; height: 40px; line-height: 40px; color: #000; background: #77c0b9; border-radius: 40px;}

/* 로그인 전 */
.header-section .before-tnb {position: relative; margin-left: auto; display: flex; justify-content: flex-end; align-items: center; gap: 5px;}
.header-section .before-tnb > button {margin: 0; padding: 10px 30px; min-width: 134px; font-weight: 500; color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,0.25); border-radius: 22px; box-shadow: 0 1px 1px rgba(0,0,0,0.25);}

/* 모바일 로그인 후 */
.header-section .mo-after-tnb {display: none;}

/* 로그인 후 */
.header-section .after-tnb {position: relative; margin-left: auto; padding: 0;}
.header-section .after-inner {position: relative;}
.header-section ul.tnb-info,
.header-section ul.drop-list,
.header-section ul.menu {list-style: none;}
.header-section ul.tnb-info > li,
.header-section ul.drop-list > li,
.header-section ul.menu > li {list-style: none;}
.header-section ul.tnb-info {position: relative; margin: 0; padding: 0; display: flex; gap: 15px; justify-content: flex-end; align-items: center;}
.header-section ul.tnb-info > li {position: relative; margin: 0; padding: 0; font-weight: 600; color: #0a524c;}
.header-section ul.tnb-info > li.nickname {padding: 0 15px 0 0;}
.header-section ul.tnb-info > li.nickname::before {content: ''; position: absolute; right: 0; top: 0; bottom: 0; margin: 0 auto; height: 100%; max-height: 28px; border-right: solid 1px rgba(0, 0, 0, 0.25);}
.header-section ul.tnb-info > li.nickname > i {font-size: 20px; margin-right: 5px;}
.header-section ul.tnb-info > li > button {margin: 0; padding: 10px 30px; min-width: 134px; font-weight: 500; color: #fff; text-shadow: 0 1px 0 rgba(0, 0, 0, 0.25); border-radius: 22px; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.25);}

.header-section .tnb-icon {position: relative; width: 40px; height: 40px; display: flex; justify-content: center; align-items: center; background: #1f9f9d; border-radius: 50%; transition: 0.3s; cursor: pointer;}
.header-section .tnb-icon > i {position: relative; font-size: 16px; color: #8cfff4; transition: 0.3s;}
.header-section .msg-cnt {position: absolute; top: 5px; right: 5px; width: 15px; height: 15px; display: flex; justify-content: center; align-items: center; font-size: 9px; color: #fff; background: #015352; border-radius: 50%;}

.header-section .drop-down.active .tnb-icon {background: #0b7775;}
.header-section .drop-down.active .tnb-icon > i {top: -3px;}
.header-section .drop-down.active .meg-icon > i {top: 0;}

.header-section .drop-menu {opacity: 0; position: absolute; top: 40px; left: 50%; transform: translateX(-50%); margin: 0; padding: 10px 15px; width: 200px; background: #c3e0e4; border: solid 3px #fff; border-radius: 15px; transition: 0.3s; box-shadow: 0 2px 5px rgba(0,0,0,0.5);}
.header-section .drop-down.active .drop-menu {opacity: 1;}
.header-section ul.drop-list {position: relative; margin: 0; padding: 0; width: 100%;}
.header-section ul.drop-list > li {position: relative; margin: 0; padding: 0; width: 100%; cursor: pointer;}
.header-section ul.drop-list > li > h3 {margin: 0; padding: 0; width: 100%; height: 25px; display: flex; gap: 5px; justify-content: flex-start; align-items: center; font-size: 12px; font-weight: 600; color: #189a8e;}
.header-section ul.drop-list > li > h3 > i {margin-top: 2px; font-size: 16px; color: #0a524c;}
.header-section ul.drop-list > li > p {margin: 0; padding: 0 10px; width: 100%; line-height: 30px; text-align: left; color: #000; background: #dcf4f7; border-radius: 5px; box-shadow: 0 1px 1px rgba(59, 119, 113, 0.25);}

/* nav */
.header-section .nav {position: relative; z-index: 2; padding: 0 15px; width: 100%;}
.header-section .nav-inner {position: relative; margin: 0 auto; width: 1430px; height: 60px; border: solid 1px rgba(255, 255, 255, 0.75); border-radius: 30px;}
.header-section .nav-inner::before,
.header-section .nav-inner::after {content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; margin: auto; width: calc(100% - 10px); height: calc(100% - 10px); background: #34ada2; border: solid 1px #17938c; border-radius: 30px;}
.header-section .nav-inner::after {opacity: 0.4; border: none; background: rgba(0,0,0,0.10);}

.header-section ul.menu {position: relative; margin: 0 auto; width: 100%; height: 100%; display: flex; justify-content: space-around; align-items: center;}
.header-section ul.menu > li {margin: 0; padding: 0 20px; height: 35px; display: flex; justify-content: center; align-items: center; font-weight: 600; color: #fff; text-shadow: rgba(0,0,0,0.5) 1px 1px 1px; border-radius: 15px; transition: 0.3s; cursor: pointer;}
.header-section ul.menu > li > a {display: flex; align-items: center; gap: 6px; color: #fff;}
.header-section ul.menu > li > a > i {margin-right: 3px; font-size: 18px; color: #8cfff4;}
.header-section ul.menu > li.active {background: rgba(0, 0, 0, 0.25); box-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);}
.header-section .icon-yellow {color: #fff67c !important;}

/* pc-hidden */
.header-section .mo-bar,
.header-section .mo-after-tnb,
.header-section .mo-left-close,
.header-section .pc-hid {display: none;}

@media (max-width: 1460px) {
    .header-section .tnb-inner,
    .header-section .nav-inner {width: 100%;}
}

@media (max-width: 1024px) {
    .header-section {position: fixed; top: 0; left: 0; right: 0; z-index: 999; height: 80px;}

    .header-section .tnb {height: unset;}
    .header-section .tnb-inner {padding: 0; flex-wrap: wrap; justify-content: space-between;}

    .header-section .logo-wrap {padding: 8px 5px; min-height: 53px;}

    .header-section .top-notice {position: relative; margin: 0; padding: 0 5px; width: 100%; height: 25px; line-height: 25px; font-size: 13px; border-radius: 0;}

    .header-section .mo-bar {display: block;}

    .header-section .mo-tnb {display: flex; position: relative; margin: 0; padding: 8px 0; width: 100%; gap: 0; justify-content: center; height: 40px; border-bottom: 1px #fff solid;}
    .header-section .mo-tnb::before,
    .header-section .mo-tnb::after {content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; z-index: -1; margin: auto; width: 100%; height: 100%; background: #34ada2;}
    .header-section .mo-tnb::after {opacity: 0.4; border: none;}
    .header-section .mo-tnb > button {margin: 0; padding: 0; width: calc(100% / 2); font-weight: 500; color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,0.25); background: none; border: none; border-radius: 0; box-shadow: none;}
    .header-section .mo-tnb > button:nth-child(1) {border-right: solid 1px rgba(19, 92, 85, 0.5);}
    .header-section .mo-tnb > button:nth-child(2) {border-left: solid 1px rgba(105, 236, 224, 0.5);}

    /* 모바일: 로그인 후 left 메뉴 */
    .header-section .after-tnb.active {position: fixed; top: 80px; bottom: 0; left: 0; right: 0; padding: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 999;}
    .header-section .after-tnb .after-inner {position: fixed; top: 80px; left: -240px; margin: 0; padding: 0 10px; width: 240px; height: 100%; background: linear-gradient(#1fa498, #057b70); border-left: solid 1px #74d1c8; transition: all 0.3s; z-index: 999; overflow-y: auto;}
    .header-section .after-tnb .after-inner.active {left: 0;}

    .header-section .mo-left-close {display: block; margin: 0 auto; padding: 5px 0; width: 100%; text-align: right;}
    .header-section .mo-left-close > i {font-size: 30px; cursor: pointer;}

    .header-section .pc-hid {display: block;}
    .header-section ul.tnb-info {gap: 0; justify-content: flex-start; align-items: flex-start; flex-direction: column;}
    .header-section ul.tnb-info > li {margin: 0 auto; padding: 0; width: 100%;}
    .header-section ul.tnb-info > li.nickname,
    .header-section ul.tnb-info > li.message,
    .header-section ul.tnb-info > li > button.logout,
    .header-section .tnb-icon {display: none;}

    .header-section .drop-menu {opacity: 1; position: relative; top: unset; left: unset; transform: unset; padding: 0; width: 100%; background: none; border: none; box-shadow: none;}
    .header-section ul.drop-list > li {padding: 10px 0; border-bottom: dashed 1px #aacace;}
    .header-section ul.drop-list > li > h3 {color: #fff;}
    .header-section ul.drop-list > li > h3 > i {color: #81fff4;}

    .header-section .mo-leftBtns {position: relative; margin: 0 auto; padding: 0; width: 100%;}
    .header-section .mo-leftBtns > button {position: relative; margin: 10px auto; padding: 0; width: 100%; height: 40px; display: flex; justify-content: center; align-items: center; font-weight: 500; color: #fff; text-shadow: 0 1px 0 rgba(0,0,0,0.25); border-radius: 10px;}
    .header-section .msg-cnt {top: 12px; right: 65px;}

    /* nav */
    .header-section .nav.active {position: fixed; top: 80px; bottom: 0; left: 0; right: 0; padding: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 999;}
    .header-section .nav-inner {position: fixed; top: 80px; right: -240px; padding: 0 10px; width: 240px; height: 100%; background: linear-gradient(#1fa498, #057b70); border-left: solid 1px #74d1c8; border-radius: 0; transition: all 0.3s; z-index: 999; overflow-y: auto;}
    .header-section .nav-inner::after,
    .header-section .nav-inner::before {display: none;}
    .header-section .nav-inner.active,
    .header-section .nav-inner.sidebar-left.active {right: 0;}

    .header-section ul.menu {margin-top: 20px; flex-direction: column; align-items: flex-start; justify-content: flex-start; background: none; border: none;}
    .header-section ul.menu > li {margin: 2px auto; padding: 10px 15px; height: auto; justify-content: flex-start; width: 100%; text-align: left;}
}
