/* BASIC css start */
body{overflow-x:hidden}

/*웹폰트 로드*/
@import url('//fonts.googleapis.com/css2?family=Josefin+Sans:wght@100;200;300;400;500;600;700&display=swap');
@import url('//fonts.googleapis.com/css2?family=Viga&display=swap');
@import url('//fonts.googleapis.com/css2?family=Yesteryear&display=swap');
@import url('//fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');

/* @font-face {
	font-family: 'Noto Sans KR';
	font-style: normal;
	font-weight: 100;
	src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Thin.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Thin.woff) format('woff'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Thin.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans KR';
	font-style: normal;
	font-weight: 300;
	src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Light.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Light.woff) format('woff'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Light.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans KR';
	font-style: normal;
	font-weight: 400;
	src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.woff) format('woff'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Regular.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans KR';
	font-style: normal;
	font-weight: 500;
	src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.woff) format('woff'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Medium.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans KR';
	font-style: normal;
	font-weight: 700;
	src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.woff) format('woff'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Bold.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans KR';
	font-style: normal;
	font-weight: 900;
	src: url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Black.woff2) format('woff2'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Black.woff) format('woff'), url(//fonts.gstatic.com/ea/notosanskr/v2/NotoSansKR-Black.otf) format('opentype');
} */
/*웹폰트 로드*/ /*띠배너*/

#topBnr {
	display: none;
	text-align: center;
	width: 100%;
}

#topBnr .bnr {
	position: relative;
}
#topBnr .bnr a {
}
#topBnr .bnr a img {
    width:100%;
}
#topBnr p {
	position: absolute;
	right: 10px;
	cursor: pointer;
	bottom: 25px;
}




/*상점의 포인트컬러 코드*/


.color {
	color: #a5777f
}

/*공통부분*/
.dn {
	display: none !important
}
html.hidden {
	overflow: hidden !important
}

.shadow{
    box-shadow: -1px 5px 4px -2px #d8d8d8;}

.prd-brand {
	color: #0d0d0d;
	font-size: 11px;
	font-family: lato;
	font-weight: 500;
}
.prd-soldout {
	font-size: 19px;
	padding-top: 10px;
	color: #94223e;
	font-weight: normal;
}
.prd-name {
	color: #0d0d0d;
	font-size: 13px;
	font-family: lato;
	font-weight: 500;
	padding: 3px 0 4px;
	text-overflow: ellipsis;
	white-space: pre;
	overflow: hidden;
}
.prd-consumer {
}

.prd-subname {
	font-size: 14px;
	padding: 7px 0;
	color: #aaa;
	font-weight: 100;
}
.prd-replace {
    font-size: 13px;
    color: #94223e !important;
    font-weight: normal;
    padding-top: 5px;
}

.item-list:last-child {
	margin-right: 0 !important;
}
.item-list .thumb .dc {
	z-index: 9
}
.item-list .thumb a {
	display: block;
	margin: 0;
}

#login .tab a:nth-child(1){
    margin-right: -1px;}

#login .tab a {
 border-bottom: 1px solid #a9a9a9 !important;
}
#login .tab a.act {
    color: #ff8e95!important;
    border: 1px solid #ff8e95!important;
    border-top: 3px solid #ff8e95!important;
    border-bottom: 1px solid #fff !important;
}

.prd-soldout {
	font-size: 13px;
	padding-top: 10px;
	color: #94223e;
	font-weight: normal;
}
.t-menu {
	display: table;
	width: 100%;
	text-align: center;
}
.t-menu div {
	width: 20%;
	display: inline-block;
}
.t-menu div a {
	display: block;
}

.dn {
	display: none !important;
}
html {
	overflow-x: hidden;
}
p.join {
	position: relative;
	display: inline-block;
}
#m_preview_wrap, .displaynone {
	display: none !important
}

/* 기본 헤더 설정 (정리) */
#header {
    width: 100%;
    z-index: 333;
    top: 0;
    left: 0;
    background: #fff;
    position: relative; /* Fixed 처리용 기초 */
}

#header.fixed {
    position: fixed;
    border-bottom: 1px solid #f0f0f0; /* Fixed 시 구분선 추가 (선택사항) */
    background: rgba(255, 255, 255, 0.90); /* 약간의 투명도로 고급스러움 추가 */
}

/* 헤더 본문 (Flexbox 정렬) */
#header .headerBottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 15px; /* 내부 여백 조절 */
    position: relative; /* Fixed 시 하위 요소 absolute 기준점 */
}

/* --- 왼쪽: 로고 + 큐브 영역 --- */
#header .headerBottom .headerBottomLeft {
    position: relative; /* absolute 해제 */
    top: 0;
    left: -8px;
}

#header .headerBottom .logo-cube-group {
    display: flex;
    align-items: center;
    gap: 0px; /* 로고와 큐브 사이 간격 */
}

#header .headerBottom .headerBottomLeft h1 {
    margin: 0;
    text-align: left;
}

#header .headerBottom .headerBottomLeft h1 a {
    display: block;
    padding: 0; /* 기존 padding-top/bottom 제거 */
}

#header .headerBottom .headerBottomLeft h1 a img {
    width: 100px;
    vertical-align: middle;
}

#header .headerBottom {
    /* 메이크샵의 기본 배경색이나 인라인 스타일을 무시하고 강제로 투명하게 만듭니다 */
    background: transparent !important; 
    background-color: transparent !important;
}

#header {
    /* 메이크샵의 기본 배경색이나 인라인 스타일을 무시하고 강제로 투명하게 만듭니다 */
    background: transparent !important; 
    background-color: transparent !important;
}

#header-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    
    /* 1. 배경을 살짝 더 투명하게 (70%) */
    background-color: rgba(255, 255, 255, 0.7); 
    
    /* 2. 뒤에 비치는 배경을 뿌옇게 블러 처리 */
    backdrop-filter: blur(10px); 
    -webkit-backdrop-filter: blur(10px); /* 아이폰(사파리) 지원용 필수 태그 */
    transform: translate3d(0,0,0);
}

/* 責 필수 주의사항: 본문이 헤더에 가려지는 현상 방지 */
body {
    /* * position: fixed; 속성을 주면 헤더가 공중에 붕 뜨기 때문에 
     * 아래에 있던 본문 내용들이 위로 쑥 딸려 올라가서 헤더 뒤로 숨어버립니다.
     * 이를 방지하기 위해 실제 헤더의 높이(예: 60px, 80px 등)만큼 body 요소에 상단 여백을 주어야 합니다.
     */
    padding-top: 52px; /* 실제 사이트의 헤더 높이를 확인해 보시고 숫자를 조절해 주세요 */
}

/* --- 큐브 영역 (이전 턴 코드 통합 및 파스텔 톤 적용) --- */
.badge-cube-wrapper {
    width: 32px;
    height: 32px;
    perspective: 1000px;
    margin-left: -5px;
}

.badge-cube {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotateX(0deg); /* 초기 상태 */
}

.face {
    position: absolute;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 800;
    color: #fff;
    font-family: 'Pretendard', sans-serif;
    border-radius: 6px;
    backface-visibility: hidden;
    line-height: 1; /* 글자 수직 중앙 */
}

/* ★ 파스텔 톤 색상 수정 ★ */
.f1 { background: #ffb3ba; transform: rotateX(0deg) translateZ(16px); }   /* 파스텔 레드/핑크 */
.f2 { background: #ffdfba; transform: rotateX(90deg) translateZ(16px); }  /* 파스텔 오렌지 */
.f3 { background: #ffffba; color: #555; transform: rotateX(180deg) translateZ(16px); } /* 파스텔 옐로우 */
.f4 { background: #baffc9; color: #555; transform: rotateX(270deg) translateZ(16px); } /* 파스텔 그린 */

/* --- 오른쪽: 아이콘 영역 --- */
#header .headerBottom .headerBottomRight {
    position: relative; /* absolute 해제 */
    top: 0;
    right: 0;
}

#header .headerBottom .headerBottomRight .right-icons {
    display: flex;
    align-items: center;
    gap: 18px; /* 아이콘 사이 간격 */
    margin-top: 3px;
}

/* Lucide 아이콘 색상 및 정렬 */
.headerBottom .right-icons i {
    color: #111;
    vertical-align: middle;
}

#header #menu {
    padding: 0; /* padding-left 제거 */
}

/* 장바구니 스타일 (클린업) */
.right-icons .cart {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

/* ★ 장바구니 수량 뱃지 (파스텔 핑크로 수정) ★ */
.right-icons .cart .user_basket_quantity {
    position: absolute;
    bottom: -5px;
    right: -8px;
    background-color: #ffb3ba; /* 파스텔 핑크 */
    color: #fff;
    text-align: center;
    line-height: 18px;
    font-size: 10px;
    font-weight: bold;
    border-radius: 0.7rem;
    min-width: 18px;
    height: 18px;
    padding: 0 2px;
}

.fa-angle-down:before {
	font-size:0;
}

/* 카테고리 */
#close_btn svg {
	width: 40px;
	height: 28px;
    padding-top: 0px;
    padding-left: 10px;
}
/* #close_btn img {
    width: 20px;
}*/

aside {
    background: #eaedf1;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	z-index: 999999;
	display: none;
}

aside .navWrap{
    /* background: #fff; */
    margin: 0px;}
    
    
aside .navBnr{
    margin: 0 15px 35px;
    display: block;}

aside .navBnr a{
    display: block;}

aside .navBnr a img{
    width: 100%;}


aside .navSNS{
    text-align: center;
    margin-bottom: 40px;
    padding-top: 15px;}

aside .navSNS a{
    display: inline-block;
}

aside .navSNS a img{
    width: 38px;
    margin: 0 10px;}


aside .copy{
    padding: 0 30px 20px;
    font-size: 10px;
    color: #7f7f7f;
    text-transform: uppercase;
    letter-spacing: -0.7px;
    color: #aaa;
    font-family: lato;}


aside nav ul.second{font-size:0}

aside .asideTop {
	position: relative;
	text-align: right;
    background: #ff8e95;;
    z-index: -1;
    padding-bottom: 40px;
}

aside .asideTop .aside_logo{
    position: absolute;
    top: 2px;
    left: 10px;}


aside .asideTop .aside_logo img{
    width: 80px;
    position: relative;
    top: 10px;
    left: 6px;
}

aside .asideTop .icons{
    padding-top: 12px;
    padding-right: 15px;}

aside .asideTop .icons a{
    position:relative;
    display: inline-block;
    vertical-align:top
}

aside .asideTop .icons a img{width:22px}

aside .asideTop .icons a span#user_basket_quantity{
    background: #fff;
    position: absolute;
    padding: 0px 5px;
    border-radius: 8px;
    font-size: 10px;
    height: 11px;
    line-height: 11px;
    bottom: 0;
    left: 10px;
    font-weight: bold;
}

aside .navCommunity {display:none;}
aside .navMypage {display:none;}

aside .asideToggle {text-align:center;
    border-top: 1px solid #efeeee;}


aside .asideToggle a {
    width: 49.6%;
    display: inline-block;
    border-bottom: 1px solid #eaedf1;
    color: #707070;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 17px;
    padding: 12px 0;
    background: #fbfbfb;
}

aside .asideToggle a .fa {margin-top:10px;}
aside .asideToggle a.act {
    color: #ff8e95;
    border-bottom: 2px solid #fff;
    background: #fff;}


aside .asideToggle a:nth-child(1){
    margin-right: -1px;}
aside .asideToggle a:nth-child(2){
    border-left: 1px solid #eaedf1;}

/*
.search_box {
	position: relative;
	padding: 0 15px 10px 15px;
	text-align: left;
    font-family: 'Pretendard';
}
.search_box input {
    width: 100%;
    text-indent: 15px;
    padding-left: 0 !important;
    line-height: 38px;
    height: 38px;
    font-size: 12px;
    margin: 20px 0;
    position: relative;
    background: #fff;
    border-radius: 0;
    border: 0;
}

*:focus {
	outline: none;
}
.search_box a {
	position: relative;
}
.search_box a img {
    width: 23px;
    position: absolute;
    right: 17px;
    top: -2px;
}
*/

.search_box {
    position: relative;
	padding: 0 15px 10px 15px;
    text-align: left;
}

.search_box input {
    margin-top: 8px;
    margin-bottom: 0.8rem;
    width: 100%;
    height: 42px; /* 높이를 살짝 키워 터치감 개선 */
    line-height: 42px;
    text-indent: 15px;
    padding-right: 45px !important; /* 아이콘이 들어갈 오른쪽 공간 확보 */
    font-size: 14px;
    background: #f5f5f5; /* 연한 그레이 배경으로 영역 구분 (선택사항) */
    border: 1px solid #eee; /* 아주 연한 테두리 */
    border-radius: 8px; 
    font-family: 'Pretendard', sans-serif;
    box-sizing: border-box;
}

/* 돋보기 버튼 위치 조정 */
#search_icon {
    position: absolute;
    right: 25px; /* 상자 끝에서 안쪽으로 */
    top: 40%;
    transform: translateY(-50%); /* 수직 중앙 정렬 */
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

#search_icon i {
    color: #111; /* 선명한 블랙 */
}

/* 입력창 포커스 시 테두리 강조 */
.search_box input:focus {
    border: 1px solid #000;
    background: #fff;
}



aside .search {
	height: 35px;
	position: relative;
	left: 0;
	right: 0;
	padding-right: 45px;
	text-align: center;
	border-bottom: 1px solid #fff;
	padding: 20px;
}
aside .search .searchBox {
	width: 100%;
}
aside .search .searchBox input {
	width: 100%;
	height: 37px;
	border: 0px none;
	margin-top: 6px;
	font-size: 15px;
	padding: 0;
	font-family: roboto;
	border-radius: 50px;
	text-indent: 15px;
	line-height: 37px;
}
aside .search .btn_search {
	width: 45px;
	height: 42px;
	line-height: 50px;
	position: absolute;
	bottom: 7px;
	right: 23px;
	color: #fff;
	text-align: center;
	;
}
aside .search .btn_search img {
	width: 23px;
	vertical-align: inherit;
}
aside nav li {
    border-bottom: 1px solid #f4f8fd;
	position: relative;
}
aside nav li a {
    padding-left: 20px;
    display: block;
    height: 50px;
    line-height: 50px;
    margin-right: 40px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 16px;
    color: #000;
    font-family: 'Roboto Condensed','Spoqa Han Sans',sans-serif;
}

aside nav li a.pink_text{color:#f5727a}

aside nav li .fa {
    background: url(/design/ddmnail/mochi/mimg/arrow_dw.png) no-repeat;
    background-size: 11px;
    background-position: 93%;
    position: absolute;
    top: 1px;
    right: 9px;
    width: 100%;
    text-align: center;
    height: 50px;
    line-height: 50px;
    left: 0;
}

aside nav li .fa.fa-rotate-180{
    background-position: 7%;}


aside nav li > ul {
	background-color: #fafafa;
	display: none;
}
aside nav li > ul > li {
	border-bottom: 0px none;
	border-top: 1px solid #ededed;
}
aside nav li > ul > li:first-child {
}
aside nav li > ul > li a {
	padding: 0 40px 0 30px;
	margin: 0;
	font-size: 14px;
	color: #787878 !important;
}

aside nav li > ul > li > ul > li {
	border-bottom: 0px none;
}
aside nav li > ul > li > ul > li a {
	padding: 0 0 0 40px;
	margin: 0;
	background-color: #f3f3f3;
}

aside nav li > ul.fourth{}
aside nav li > ul.fourth li{}

aside nav li > ul.fourth li a{
    background: #eaeaea;
    padding-left: 50px;}

/* 1. 리스트 아이템 정렬 기준 수정 */
aside .asideBottom ul li {
    vertical-align: middle; /* top에서 middle로 변경하여 높이 차이 방지 */
    padding: 15px 0;
    width: 25%;
    display: inline-block;
    text-align: center;
}

/* 2. 모든 a 태그를 동일한 flex 구조로 통일 (핵심) */
aside .asideBottom ul li a {    
    display: flex !important; /* 모든 항목을 flex로 통일 */
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #000000;
    font-size: 14px;
    position: relative; /* 모든 버튼이 배지 기준점이 될 수 있도록 */
    text-decoration: none;
}


aside .asideBottom {
	padding: 0 15px;
    margin-top: -36px;
}
aside .asideBottom ul {
    display: inline-block;
    width: 100%;
    font-size: 0;
    background: #fff;
    border-radius: 8px;
}

aside .asideBottom ul li {
    vertical-align: top;
    padding: 15px 0;
    letter-spacing: 4px;
    width: 25%;
    display: inline-block;
    text-align: center;
}    
aside .asideBottom ul li a {    
    display: block;
	color: #000000;
	font-size: 14px;
}


/*
aside .asideBottom ul li:nth-child(1) a{background:url('/design/ddmnail/mochi/mimg/ico01.png') no-repeat; background-size:20px; background-position:top}
aside .asideBottom ul li:nth-child(2) a{background:url('/design/ddmnail/mochi/mimg/ico02.png') no-repeat; background-size: 24px;  background-position: center 2px;}
aside .asideBottom ul li:nth-child(3) a{background: url(/design/ddmnail/mochi/mimg/ico03.png) no-repeat; background-size: 22px; background-position: center 3px;}
aside .asideBottom ul li:nth-child(4) a{background:url('/design/ddmnail/mochi/mimg/ico04.png') no-repeat; background-size: 31px; background-position: center 6px;}
*/

aside .asideBottom ul li a em{
    display: block;
    color: #2c2c2c;
    letter-spacing: -1px;
    font-size: 14px;
    font-family: 'Pretendard';
    font-weight: bold;
}
    
/*
aside .asideBottom ul li a #benefit {
    background: url(/design/ddmnail/mochi/mimg/benefit.png) no-repeat;
    background-size: contain;
    width: 39px;
    height: 17px;
    position: absolute;
    right: inherit;
    font-size: 10px;
    letter-spacing: 0px;
    color: #fff;
    text-align: center;
    line-height: 12px;
    bottom: 13px;
    font-family: lato;
    left: 20px;
}*/

/* 부모 요소인 a 태그에 클래스가 잘 붙어 있는지 확인하세요 */
.asideBottom ul li a.rel-box {
    position: relative !important;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* 혜택 배지 스타일 수정 */
.asideBottom ul li a #benefit {
    /* 기존 background 이미지 설정 제거 */
    background: #ff8e8e !important; /* 핑크색 배경 */
    
    position: absolute;
    top: -8px;       /* 아이콘 위쪽으로 올리기 */
    left: 55%;       /* 중앙에서 살짝 오른쪽으로 (시각적 보정) */
    transform: translateX(-50%); /* 중앙 정렬 */
    
    width: auto;     /* 내용에 맞게 너비 조절 */
    height: auto;
    padding: 2px 6px;
    border-radius: 10px; /* 둥근 캡슐 모양 */
    
    font-size: 10px;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    white-space: nowrap;
    z-index: 10;
}

/* 말풍선 꼬리 추가 (디테일) */
.asideBottom ul li a #benefit::after {
    content: '';
    position: absolute;
    bottom: -3px;
    left: 50%;
    transform: translateX(-50%);
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #ff8e8e;
}


aside .asideBottom ul li p {
	font-size: 12px;
}
aside .asideBottom ul li img {
    height: 37px;
    opacity: 0;
}

aside h1 {
	padding: 20px 20px 13px;
}
aside h1 a {
	color: #fff !important;
	display: block;
	text-align: center;
	font-size: 26px;
	font-family: roboto;
	font-weight: 900;
	letter-spacing: 5px;
	line-height: 7px;
}
aside h1 a img {
	width: 110px;
}
/* //카테고리 */ 




#header {
    position: relative;
    top: 0;
    width: 100%;
    background: #fff;
    transition: all 0.3s ease-in-out; /* 모든 변화를 부드럽게 */
    z-index: 1000;
}

/* 스크롤 시 적용될 클래스 */
#header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    background: rgba(255, 255, 255, 0.90); /* 약간의 투명도로 고급스러움 추가 */
    
    /* 유려한 등장을 위한 애니메이션 */
    animation: slideDown 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes slideDown {
    from {
        transform: translateY(-100%); /* 위에서 아래로 내려오는 효과 */
    }
    to {
        transform: translateY(0);
    }
}



/* 상단 캡슐형 탭 */
.zigzag-tabs {
    display: flex;
    background: #f0f0f0;
    margin: 15px;
    padding: 4px;
    border-radius: 30px;
}
.zigzag-tabs a {
    flex: 1;
    text-align: center;
    padding: 8px 0;
    font-size: 13px;
    font-weight: 900;
    color: #888;
    text-decoration: none;
    border-radius: 30px;
    transition: 0.2s;
}
.zigzag-tabs a.act {
    background: #000;
    color: #fff;
}

/* 카테고리 컨테이너 */
.zz-container {
    display: flex;
    height: 60vh;
    background: #fff;
    border-top: 1px solid #eee;
}

.zz-main-item.active {
    background: #fff;
    color: #000;
    font-weight: 900;
    border-left: 3px solid #000; /* 지그재그 포인트 컬러 */
}

/* 오른쪽 스크롤 영역 */
.zz-right {
    width: 70%;
    overflow-y: auto;
    scroll-behavior: smooth; /* 부드러운 이동 */
    padding: 0 15px;
}
.zz-section-title {
    font-size: 16px;
    font-weight: 900;
    padding: 25px 0 15px;
    border-top: 1px solid #f5f5f5;
}
.zz-scroll-section:first-child .zz-section-title { border-top: 0; }

.zz-sub-header {
    display: flex;
    align-items: center;
    margin-bottom: 15px;
}
.zz-cate-img {
    width: 32px; height: 32px;
    border-radius: 8px; margin-right: 10px;
    background: #f0f0f0;
}



/* 1. 폰트 및 기본 설정 */
.navWrap { font-family: 'Pretendard', sans-serif; }

/* 2. 상단 캡슐 탭 (크기 상향) */
.zigzag-tabs {
    display: flex; background: #f2f2f2; margin: 12px; padding: 5px; border-radius: 40px;
}
.zigzag-tabs a {
    flex: 1; text-align: center; padding: 8px 0; font-size: 15px; /* 폰트 키움 */
    font-weight: 800; color: #777; border-radius: 40px; text-decoration: none;
}
.zigzag-tabs a.act { background: #000; color: #fff; }

/* 3. 컨테이너 높이 및 스크롤바 숨기기 */
.zz-container {
    display: flex; height: 65vh; background: #fff; border-top: 1px solid #eee;
}
.zz-left, .zz-right {
    -ms-overflow-style: none; /* IE, Edge */
    scrollbar-width: none; /* Firefox */
}
.zz-left::-webkit-scrollbar, .zz-right::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

/* 4. 왼쪽 메뉴 (가독성 개선) */
.zz-left { width: 28%; background: #f9f9f9; overflow-y: auto; }
.zz-main-item {
    padding: 14px 10px; font-size: 13px; color: #666; text-align: center;
    border-left: 4px solid transparent; transition: 0.2s;
}
.zz-main-item.active {
    background: #fff; color: #000; font-weight: 900; border-left: 4px solid #000;
}

/* 5. 오른쪽 상세 (정렬 핵심) */
.zz-right { width: 68%; overflow-y: auto; padding: 0 20px; box-sizing: border-box; background: #fff; }

.zz-section-title {
    font-size: 17px; font-weight: 900; padding: 30px 0 15px; color: #111;
}

.zz-sub-section { margin-bottom: 35px; }

/* 중분류 헤더 정렬 */
.zz-sub-header {
    display: flex; align-items: center; padding-bottom: 12px; border-bottom: 1px solid #f2f2f2; margin-bottom: 15px;
}
.zz-sub-header .img-box {
    width: 45px; height: 45px; margin-right: 12px; flex-shrink: 0;
}
.zz-cate-img {
    width: 100%; height: 100%; object-fit: cover; border-radius: 10px; background: #f5f5f5;
}
.zz-sub-header .txt-box { flex: 1; }
.zz-sub-header h4 { font-size: 15px; font-weight: 800; margin: 0 0 2px 0; color: #222; }
.zz-view-all { font-size: 13px; color: #aaa; text-decoration: none; }

/* 소분류 리스트 (그리드 정렬) */
.zz-leaf-list {
    display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none;
}
.zz-leaf-list li {
    width: 50%; padding: 8px 0; box-sizing: border-box;
}
.zz-leaf-list li a {
    font-size: 13px; color: #555; text-decoration: none; display: block;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; /* 글자 길면 생략 */
}








.logo-text { font-size: 24px; margin-right: 8px; }


.badge-cube-wrapper {
    width: 24px;
    height: 24px;
    perspective: 1000px;
}

.badge-cube {
    width: 100%;
    height: 100%;
    position: relative;
    transform-style: preserve-3d;
    transition: transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.face {
    position: absolute;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
    color: #fff;
    border-radius: 5px;
    backface-visibility: hidden; /* 뒤집혔을 때 안 보이게 처리 */
}






.navCommunity.modern-style {
    background: #fff;
    padding: 0;
    border-top: 1px solid #f1f1f1;
}

.navCommunity.modern-style ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center; /* 가로 중앙 정렬 */
    gap: 0px; /* 리스트 사이 간격 */
}

.navCommunity.modern-style li {
    width: 100%;
    max-width: 200px; /* 너무 퍼지지 않게 너비 제한 */
}

.navCommunity.modern-style li a {
    display: flex;
    align-items: center;
    justify-content: center; /* 아이콘+텍스트 덩어리를 중앙으로 */
    gap: 10px; /* 아이콘과 글자 사이 간격 */
    text-decoration: none;
    color: #444;
    font-family: 'Pretendard', sans-serif;
    font-size: 15px;
    font-weight: 600;
    padding: 8px 0;
    transition: color 0.2s;
}

.navCommunity.modern-style li a:active {
    color: #000;
    background: #f9f9f9;
    border-radius: 8px;
}

/* 아이콘 색상 조절 */
.board-icon {
    color: #888;
}

































/* 컨테이너 전용 스타일 */
#ms_search_layer_container { 
    background: #fff; 
    min-height: 100vh; 
    font-family: 'Spoqa Han Sans Neo', sans-serif; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    z-index: 9999; /* 메인 위로 덮음 */
    overflow-y: scroll;
}

/* 헤더 정렬 */
#ms_search_layer_container .ms-search-header {
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 10px 15px;
    background: #fff;
    gap: 10px;
    border-bottom: 1px solid #eee;
}

#ms_search_layer_container .ms-search-btn-back {
    display: flex;
    align-items: center;
    color: #333;
    flex-shrink: 0;
}

#ms_search_layer_container .ms-search-input-wrap { flex: 1; }

#ms_search_layer_container .ms-search-inner-box {
    display: flex;
    justify-content: end;
    align-items: center;
    background: #f4f4f4;
    border-radius: 8px;
    padding: 0 12px;
    height: 40px;
}

/* 메인 페이지 input에 영향 주지 않도록 특정 */
#ms_search_layer_container .ms-search-inner-box input[type="text"] {
    flex: 1 !important;
    border: none !important;
    background: transparent !important;
    outline: none !important;
    font-size: 14px !important;
    height: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

#ms_search_layer_container .ms-search-icon-btn {
    display: flex;
    align-items: center;
    color: #666;
    margin-left: 8px;
}

/* 섹션 공통 스타일 */
#ms_search_layer_container .ms-search-section { 
    padding: 25px 15px !important; 
    border-bottom: 8px solid #f8f8f8 !important; 
    display: block !important; /* 메인 layout 영향 방지 */
}

#ms_search_layer_container .ms-search-section-title { 
    display: flex; 
    justify-content: space-between; 
    align-items: center; 
    margin-bottom: 15px; 
}

#ms_search_layer_container .ms-search-section-title h3 { 
    font-size: 16px !important; 
    font-weight: 700 !important; 
    color: #222 !important; 
    margin: 0 !important;
}

/* 최근 검색어 태그 */
#ms_search_layer_container .ms-search-recent-keywords { display: flex; flex-wrap: wrap; gap: 8px; }
#ms_search_layer_container .ms-search-keyword-item { 
    background: #fff; border: 1px solid #eee; border-radius: 20px; 
    padding: 5px 12px; display: flex; align-items: center; font-size: 12px; 
}

/* 카테고리 그리드 */
#ms_search_layer_container .ms-search-category-grid { 
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 15px 10px; 
}
#ms_search_layer_container .ms-search-cate-item { text-align: center; text-decoration: none; }
#ms_search_layer_container .ms-search-img-circle { 
    width: 55px; height: 55px; border-radius: 50%; background: #f9f2f2; 
    margin: 0 auto 8px; display: flex; align-items: center; justify-content: center; overflow: hidden;
}
#ms_search_layer_container .ms-search-img-circle img { width: 80%; }

/* 인기 검색어 2단 */
#ms_search_layer_container .ms-search-popular-list-wrap { 
    display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; 
}
#ms_search_layer_container .ms-search-pop-item { 
    display: flex; align-items: center; padding: 8px 0; border-bottom: 1px solid #f9f9f9; 
}
#ms_search_layer_container .ms-search-rank { font-weight: 700; color: #333; margin-right: 12px; width: 15px; }

/* 상품 가로 스크롤 */
#ms_search_layer_container .ms-search-product-scroll { 
    display: flex; overflow-x: auto; gap: 12px; padding-bottom: 10px; 
}
#ms_search_layer_container .ms-search-prod-item { width: 120px; flex-shrink: 0; }
#ms_search_layer_container .ms-search-thumb { 
    width: 120px; height: 150px; border-radius: 6px; overflow: hidden; background: #f0f0f0; 
}
#ms_search_layer_container .ms-search-thumb img { width: 100%; height: 100%; object-fit: cover; }













/* 1. 기본 레이아웃 초기화 */
#ms_search_layer_container #f2s-ranking {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    background: transparent !important;
    width: 100% !important;
}

/* 2. 기존 제목 숨기기 (이미 HTML에 "인기 검색어" 제목을 직접 쓰셨다면) */
#ms_search_layer_container #f2s-ranking .title-wrap {
    display: none !important; 
    width: 100% !important;
    height: auto !important;
}

/* 3. 키워드 리스트를 2단 그리드로 변경 */
#ms_search_layer_container .keywords {
    display: grid !important;
    grid-template-rows: repeat(5, auto); /* 5개씩 끊어서 다음 열로 넘김 */
    grid-auto-flow: column;              /* 세로 방향(열)으로 먼저 채우기 */
    column-gap: 20px;                    /* 열 사이 간격 */
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

#ms_search_layer_container .keyword-wrap {
    border: none;
}

#ms_search_layer_container .keywords-sub {
    top: 0%;
}

/* 4. 각 순위 아이템 (50%씩 차지) */
#ms_search_layer_container .keywords li {
    width: 70% !important;
    box-sizing: border-box !important;
    border-bottom: 1px solid #f9f9f9 !important; /* 가로 구분선 */
    padding: 10px 5px !important;
}

/* 5. 링크 스타일 */
#ms_search_layer_container .keywords li a {
    display: flex !important;
    align-items: center !important;
    text-decoration: none !important;
    color: #444 !important;
    font-size: 14px !important;
}

/* 6. 순위 숫자 (1, 2, 3...) */
#ms_search_layer_container #f2s-ranking .keywords-num {
    margin-right: 12px !important;
    min-width: 19px !important;
    background: #515151 !important;
    min-height: 18px !important;
}

#ms_search_layer_container #f2s-ranking li[data-num="0"] .keywords-num {
    background: #ff4d4f !important;
}


#ms_search_layer_container #f2s-ranking li[data-num="1"] .keywords-num {
    background: #ff4d4f !important;
}


#ms_search_layer_container #f2s-ranking li[data-num="2"] .keywords-num {
    background: #ff4d4f !important;
}

#ms_search_layer_container .keywords-num em {
    font-style: normal !important;
    font-weight: 700 !important;
    color: #fff !important;
    font-family: 'Roboto', sans-serif !important;
    font-size: 0.75rem;
}

/* 7. 검색어 텍스트 */
#ms_search_layer_container .keywords-txt {
    flex: 1 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    margin-left: 0 !important; /* 기존 인라인 스타일 무력화 */
    font-family: 'Spoqa Han Sans Neo', sans-serif;
}

#ms_search_layer_container .ms-search-prod-name {
    font-family: 'Spoqa Han Sans Neo', sans-serif;
    font-weight: bold;

}










#ms_recent_list { display: flex; flex-wrap: wrap; gap: 8px; }
.ms-search-keyword-item {
    background: #f8f8f8;
    border-radius: 20px;
    padding: 6px 12px;
    display: flex;
    align-items: center;
    font-size: 13px;
}
.ms-search-keyword-item a { color: #777; text-decoration: none; }
.ms-search-keyword-item .ms-search-btn-del {
    margin-left: 6px;
    color: #bbb;
    display: flex;
    align-items: center;
    width: 16px;
    height: 16px;
}
.ms-search-btn-all-delete {
    font-size: 12px;
    color: #999;
    text-decoration: underline;
}
.
/* BASIC css end */

