/* BASIC css start */
.menu_on {height:100%; overflow:hidden;}
.menu_off {height:auto; overflow:initial;}

#header {width:100%;}
#header .top-pt-01 {position:fixed; top:0; left:0; right:0; z-index:100; }
#header .top-pt-02 {position:fixed; top:0; left:0; right:0; z-index:100;}

#header .top1 { padding-top:6px; background:#f00; overflow:hidden;}
#header .top1 li { float:left; display:inline-block; height:38px; line-height:38px; text-align:center }
#header .top1 li.mu { width:20%; margin-left:10px}
#header .top1 li.acc { width:26%; }
#header .top1 li.on { background:#fff; }
#header .top1 li.on a { color:#272727; }
#header .top1 li a { color:#fff; line-height:38px; font-size:15px; font-family: 'notokr-medium', 'Noto Sans KR'; }

#header .top2 {overflow:hidden; padding:10px 0px 0px; height:38px; background:#fff}
#header .top2 h1 { text-align:center; }
#header .top2 h1 img { position:relative; top:-4px; height: 45px; }

#header .top2 .sideMenuOpen { position:absolute; margin-top:10px; left:10px; cursor:pointer }
#header .top2 .sideMenuOpen img { height:13px; border-radius: 0px; }

#header .top2 .rmenu {position:absolute; right:18px; margin-top: 5px;}
#header .top2 .rmenu a {margin-left:1px; color:#7d7d7d;}
#header .top2 .rmenu span {  }
#header .top2 .rmenu span img { height:28px }
#header .top2 .rmenu .cart {position:relative;}
#header .top2 .rmenu .cart sup {position:absolute; text-align: center; line-height:23px; width:15px; height:24px; display:block; right:4px; margin-top:-22px; color:#ed1b23; font-weight: bold;font-size: 9px;}

/* 1. top3 영역: 화면 끝까지 100% 꽉 채우고 흰색 배경 적용 */
#header .top3 { 
    height: auto !important; 
    position: relative !important; 
    width: 100% !important;
    padding: 6px 0 !important; 
    margin: 0 !important; /* 좌우 margin을 0으로 만들어 백그라운드가 꽉 차게 함 */
    background-color: #ffffff !important; /* 스크롤 시 뒤 요소가 안 비치도록 흰색 배경 처리 */
    text-align: center !important; 
    box-sizing: border-box !important;
    z-index: 10 !important;
}

/* 2. searchBox 영역: 여기서 좌우 여백(margin)을 주어 검색창만 둥글게 밀어넣기 */
#header .top3 .searchBox { 
    width: calc(100% - 22px) !important; /* auto를 calc(100% - 22px)로 변경 */
    margin: 0 11px !important; /* 기존 11px 여백을 검색창 박스 자체에 적용 */
    height: 38px !important; 
    background-color: #ffffff !important; 
    border-radius: 20px !important; 
    border: 1px solid #EF3E42 !important; 
    border-bottom: 1px solid #EF3E42 !important;
    overflow: hidden !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0 12px !important;
    box-sizing: border-box !important;
}

#header .top3 .searchBox form,
#header .top3 .searchBox fieldset { 
    flex: 1 !important;
    width: 100% !important; 
    float: none !important; 
    height: 100% !important; 
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

#header .top3 .searchBox fieldset input { 
    width: 100% !important; 
    height: 100% !important;
    border: none !important; 
    background: transparent !important; 
    font-size: 13px !important; 
    font-family: 'Noto Sans KR','notokr-regular',sans-serif !important;
    color: #333333 !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 5px 0 0 !important;
    box-sizing: border-box !important;
}

/* 돋보기 버튼 */
#header .top3 .searchBox .btn_search { 
    width: 24px !important; 
    float: none !important; 
    height: 100% !important; 
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: none !important;
    background-color: #ffffff !important; 
    margin-left: 6px !important;
    margin-right: 0 !important;
}

#header .top3 .btn_search img { 
    width: 18px !important; 
    height: 18px !important; 
    margin-top: 0 !important; 
}

/* 상단 탭 메뉴 영역 */
#header .top4 { background: #ffffff; padding: 0 11px 0 11px; /* 좌우 여백을 상단 로고 라인(약 11px)과 동일하게 맞춤 */box-sizing: border-box;}
#header .top4 ul {display: flex !important;justify-content: space-between !important; /* 양 끝은 정렬하고 사이 간격을 균등 배치 */align-items: center !important;padding: 0 !important;margin: 0 !important;list-style: none !important;}
#header .top4 li { float: none !important;width: auto !important; /* 고정 25% 해제 */height: 36px; text-align: center;}
#header .top4 li a { display: block;line-height: 36px; font-family: 'notokr-bold', 'Noto Sans KR', sans-serif; color: #333; font-size: 13px;text-decoration: none;}



/* 사이드 메뉴 */
#asideMenu { position:fixed; top:0; left:-80%; width:80% !important; height:100%; box-shadow:-5px 5px 5px 5px #000; z-index:9999; background:#fff; overflow-y:auto; overflow-x:hidden }
#asideClose { position:fixed; top:14px; left:-90%; width:40px; height:40px;  text-indent:-9999em; background:url(/design/applemusic/2018/m/close_bt.png) 0 0 no-repeat ; background-size:40px auto; cursor:pointer; z-index:9999 }


#asideMenu .slide-top-header{background-color: #ea2c30;}
#asideMenu .slide-top-header .slide-top-header-in{padding: 1.5em 1em;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


#asideMenu .slide-top-header .slide-top-header-in .slide-top-row:first-child{border-bottom: 1px solid #ff5155; margin-bottom: 1.5em; padding-bottom: 1.5em;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row:after{clear: both; display: block; content:"";}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .home-ico{ margin-right: 1em; }
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .right-login-box{  display: flex;
    align-items: center; justify-content: flex-end; /*gap: 5px; padding-left: 554px;*/}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .right-login-box .short-desc{    margin-right: 1em;
    color: #fff;
    font-family: 'Noto Sans Korean', 'Noto Sans KR';
    font-size: 14px;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .right-login-box a{display: inline-block;
    background-color: #000000;
    color: #fff;
    font-family: 'Noto Sans Korean', 'Noto Sans KR';
    font-size: 12px;
    padding: 0 1em;
    height: 29px;
    line-height: 29px;
    margin-left: 0.5em;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .slide-top-nav:after{clear: both; display: block; content:"";}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .slide-top-nav li{float: left; width: 24.3333%;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .slide-top-nav li a{display: block; text-align: center; padding: 0 0.5em;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .slide-top-nav li a img{display: inline-block; max-width:50%;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .slide-top-nav li a span{display: block; text-align: center; padding: 1em 0; font-family: 'Noto Sans Korean', 'Noto Sans KR'; font-size: 1em; color:#fff;}



#asideMenu .slide-content{height: calc( 100% - 196px);}
#asideMenu #slide-category{padding: 0 1em; height: 100%;}
#asideMenu #slide-category > ul{position: relative; height: 100%;}
#asideMenu #slide-category > ul:after{content:""; position: absolute; top:0; left: 50%; border-right: 1px solid #ddd; height: 124%;}
#asideMenu #slide-category > ul > li{width: 50%;}
#asideMenu #slide-category span {display: block; font-family: 'notokr-regular', 'Noto Sans KR'; font-size: 1.25em; color:#000; padding: 1em 0;}
#asideMenu #slide-category .active{color:#ff0000; font-family: 'notokr-bold', 'Noto Sans KR';}

#asideMenu #slide-category .sub-category { position: absolute; left: 50%; margin-left: 1px; width: 50%; z-index: 2;}
#asideMenu #slide-category .sub-category ul {padding: 1em 0 1em 1em;}
#asideMenu #slide-category .sub-category ul > li{line-height: 1.30em;}
#asideMenu #slide-category .sub-category ul > li > a{display: block; padding: 0.5em 0; white-space:nowrap; text-overflow:ellipsis; overflow: hidden; color:#8f8f8f; font-size: 1.10em; font-family: 'Noto Sans Korean', 'Noto Sans KR';}




#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .home-ico{display: inline-block;  font-size:12px; /*line-height: 2.6;*/ vertical-align: top; text-align:left; font-family: 'notokr-regular', 'Noto Sans KR'; position: relative; z-index: 2;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .home-ico > a{color:#737373; font-size:12px; position: relative; z-index: 2; border:0px; padding:0px 0px 0px 10px; line-height: 3.1; font-family: 'notokr-regular', 'Noto Sans KR';}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .home-ico ul {display: flex; margin: 0; padding: 0;}
#asideMenu .slide-top-header .slide-top-header-in .slide-top-row .home-ico ul li img {width: 70%;border-radius: 0px;}





@media screen and (min-width:768px) {
    #header #menu {width:85px;}
    #header .headerTop {}
    #header .search {padding-right:85px;}
    #header .search .searchBox input {width:95%;}
    #header .search .btn_search {width:85px;}
}

/* 장바구니 링크 (로고와 세로 중앙 맞춤) */
#header .cart,
a.cart {
    position: relative !important;
    width: 18px !important;
    height: 18px !important;
    display: inline-block !important;
    vertical-align: middle !important;
    transform: translateY(3px) !important; /* 로고 높이에 맞게 아래로 살짝 이동 */
    z-index: 10 !important;
}

/* 장바구니 아이콘 크기 고정 (18px) */
#header .cart img,
a.cart img {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    display: block !important;
    border-radius: 0px;
}

/* 우측 상단 레드 수량 배지 */
#header .cart .user_basket_quantity,
a.cart .user_basket_quantity,
#user_basket_quantity {
    display: inline-block !important;
    position: absolute !important;
    top: -5px !important;        /* 우측 상단 위치 조정 */
    right: -7px !important;       /* 우측 상단 위치 조정 */
    background-color: #EF3E42 !important; /* 애플 레드 컬러 */
    color: #ffffff !important;    /* 흰색 숫자 */
    font-size: 10px !important;
    font-weight: bold !important;
    font-family: 'notokr-bold', 'Noto Sans KR', sans-serif !important;
    min-width: 14px !important;
    height: 14px !important;
    line-height: 14px !important;
    border-radius: 10px !important;
    text-align: center !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    z-index: 99 !important;
}

/* 0일 때 숨김 처리 (오류 유발 가능했던 오버라이딩 제거) */
.user_basket_quantity[data-count="0"] {
    display: none !important;
}

/* 상단 햄버거 메뉴 숨김 (선택자 명시성을 높여 강제 적용) */
html body .sideMenuOpen,
html body header .sideMenuOpen,
html body div.sideMenuOpen {
    position: absolute !important;
    opacity: 0 !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    pointer-events: none !important;
    left: -9999px !important;
    top: -9999px !important;
    visibility: hidden !important;
}

/* 하단 네비게이션 고정 스타일 */
#mBottomNav.bottom-nav {
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: 56px !important;
    background: #ffffff !important;
    z-index: 9999999 !important;
    box-sizing: border-box !important;
    display: block !important;
    border-top: 1px solid #e0e0e0 !important;
}

#mBottomNav.bottom-nav.hide-nav {
    display: none !important;
}

#mBottomNav.bottom-nav ul {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    list-style: none !important;
    height: 100% !important;
    font-family: 'Noto Sans KR';
    font-weight: 600;
}

#mBottomNav.bottom-nav ul li {
    flex: 1 1 0% !important;
    text-align: center !important;
}

#mBottomNav.bottom-nav ul li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    color: #333333 !important;
}

#mBottomNav.bottom-nav ul li a img {
    height: 20px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto 5px !important;
    border-radius: 0 !important;
}

#mBottomNav.bottom-nav ul li a .eventIcon {
    height: 25px !important;
    margin-top: -3px !important;
}

#mBottomNav.bottom-nav ul li a span {
    display: block !important;
    font-size: 11px !important;
    line-height: 1 !important;
    color: #333333 !important;
    margin-top: 2px !important;
    margin-bottom: 10px !important;
}

body {
    padding-bottom: 60px !important;
}

body.hide-bottom-nav {
    padding-bottom: 0 !important;
}
/* BASIC css end */

