/* BASIC css start */
/* =========================================================
   비밀상점 HEADER CSS
========================================================= */


/* =========================================================
   공통
========================================================= */

:root {

    --fff: #ffffff;
    --000: #111111;

    --border: #eceaec;

    --main-color: #7b1f35;
    --main-hover: #641729;

    --point-light: #faf5f7;

    --gray: #f7f7f7;

    --777: #777777;
    --333: #333333;
}


.fl_l {
    float: left;
}

.fl_r {
    float: right;
}

.txt-r {
    text-align: right;
}

.txt-l {
    text-align: left;
}

.txt-c {
    text-align: center;
}

.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

.dn {
    display: none;
}

.block {
    display: block;
}


/* 전체 헤더 폭 */

.head_inner {

    width: 1100px;

    margin: 0 auto;

    box-sizing: border-box;
}





/* =========================================================
   TOP HEADER
========================================================= */

#head_top {

    width: 100%;

    background: #ffffff;

    border-top: 3px solid #171717;
    border-bottom: 1px solid #f0f0f0;
}


#head_top .head_inner {

    display: flex;

    min-height: 105px;

    padding: 22px 0;

    align-items: center;
    justify-content: space-between;
}


#head_top .head_left {

    display: flex;

    align-items: center;

    gap: 42px;
}





/* =========================================================
   LOGO
========================================================= */

#head_top h1.logo {

    display: block;

    width: 170px;

    margin: 0;
    padding: 0;
}


#head_top h1.logo a {

    display: flex;

    flex-direction: column;

    text-decoration: none;
}


#head_top h1.logo .logo-main {

    display: block;

    font-family: "SUIT", sans-serif;

    font-size: 28px;

    line-height: 1;

    font-weight: 800;

    letter-spacing: -1.8px;

    color: #171717;
}


#head_top h1.logo .logo-sub {

    display: block;

    margin-top: 7px;

    font-size: 8px;

    line-height: 1;

    font-weight: 600;

    letter-spacing: 2.2px;

    color: #aaa;
}





/* =========================================================
   SEARCH
========================================================= */

#head_top .search {

    width: 430px;

    box-sizing: border-box;
}


#head_top .search fieldset {

    margin: 0;
    padding: 0;

    border: 0;

    position: relative;
}


#head_top .search .search-box {

    display: flex;

    position: relative;

    width: 100%;
    height: 48px;

    box-sizing: border-box;

    align-items: center;

    background: #fafafa;

    border: 1px solid #dedede;

    border-radius: 30px;

    transition: all .2s ease;
}


#head_top .search .search-box:hover {

    border-color: #bfbfbf;

    background: #fff;
}


#head_top .search .search-box:focus-within {

    background: #fff;

    border-color: var(--main-color);

    box-shadow: 0 0 0 1px var(--main-color);
}


#head_top .search fieldset input {

    display: block !important;

    flex: 1;

    width: auto !important;
    height: 46px !important;

    margin: 0 !important;

    padding: 0 50px 0 22px !important;

    box-sizing: border-box !important;

    background: transparent !important;

    border: 0 !important;
    outline: 0 !important;

    font-family: "SUIT", sans-serif !important;

    font-size: 14px !important;

    font-weight: 500 !important;

    color: #222 !important;
}


#head_top .search fieldset input::placeholder {

    color: #aaa;
}


#head_top .search .search_icon {

    display: flex;

    position: absolute;

    top: 50%;
    right: 18px;

    width: 24px;
    height: 24px;

    align-items: center;
    justify-content: center;

    transform: translateY(-50%);
}


#head_top .search .search_icon svg {

    width: 21px;
    height: 21px;

    fill: none;

    stroke: #222;

    stroke-width: 1.8;

    stroke-linecap: round;
}


#head_top .search .search_icon:hover svg {

    stroke: var(--main-color);
}





/* =========================================================
   USER ICON
========================================================= */

#head_top ul.user_icon {

    display: flex;

    margin: 0;
    padding: 0;

    align-items: center;

    gap: 28px;

    list-style: none;

    text-align: center;
}


#head_top ul.user_icon li {

    display: block;

    min-width: 52px;
}


#head_top ul.user_icon li a {

    display: flex;

    position: relative;

    flex-direction: column;

    align-items: center;

    color: #222;

    text-decoration: none;
}


#head_top .user-svg {

    display: flex;

    width: 28px;
    height: 28px;

    align-items: center;
    justify-content: center;
}


#head_top .user-svg svg {

    width: 24px;
    height: 24px;

    fill: none;

    stroke: #171717;

    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition: stroke .2s ease;
}


#head_top ul.user_icon li:hover svg {

    stroke: var(--main-color);
}


#head_top ul.user_icon li p {

    margin: 7px 0 0;

    padding: 0;

    font-size: 11px;

    line-height: 1;

    font-weight: 600;

    letter-spacing: -0.3px;

    color: #555;
}


/* 장바구니 수량 */

#head_top ul.user_icon li a > span:not(.user-svg) {

    display: flex;

    position: absolute;

    top: -5px;
    right: 2px;

    min-width: 17px;
    height: 17px;

    padding: 0 4px;

    box-sizing: border-box;

    align-items: center;
    justify-content: center;

    background: var(--main-color);

    border-radius: 20px;

    color: #fff;

    font-size: 10px;

    line-height: 17px;
}





/* =========================================================
   HEADER NAV
========================================================= */

#header {

    position: sticky;

    top: 0;

    z-index: 1000;

    width: 100%;

    background: #fff;

    border-bottom: 1px solid #eaeaea;
}


#header .head_inner {

    display: flex;

    position: relative;

    min-height: 57px;

    align-items: center;

    background: #fff;
}





/* =========================================================
   HAMBURGER
========================================================= */

#header .ham_wrap {

    display: flex;

    flex: 0 0 150px;

    height: 57px;

    box-sizing: border-box;

    align-items: center;

    gap: 11px;

    cursor: pointer;
}


#header .ham {

    display: block;
}


#header .ham a {

    display: block;

    position: relative;

    width: 21px;
    height: 16px;
}


#header .ham a span {

    position: absolute;

    left: 0;

    width: 21px;
    height: 1.5px;

    background: #171717;

    border-radius: 5px;

    transition: all .25s ease;
}


#header .ham a span:nth-of-type(1) {

    top: 0;
}


#header .ham a span:nth-of-type(2) {

    top: 7px;
}


#header .ham a span:nth-of-type(3) {

    bottom: 0;
}


#header .ham_wrap p {

    margin: 0;

    padding: 0;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: -0.5px;

    color: #222;
}


#header .ham_wrap:hover p,
#header .ham_wrap.clicked p {

    color: var(--main-color);
}


#header .ham_wrap:hover .ham a span,
#header .ham_wrap.clicked .ham a span {

    background: var(--main-color);
}


/* 햄버거 클릭 */

#header .ham a.active-1 span:nth-of-type(1) {

    top: 7px;

    transform: rotate(45deg);
}


#header .ham a.active-1 span:nth-of-type(2) {

    opacity: 0;
}


#header .ham a.active-1 span:nth-of-type(3) {

    bottom: 7px;

    transform: rotate(-45deg);
}





/* =========================================================
   MAIN MENU
========================================================= */

#header ul.etc_m {

    display: flex;

    flex: 1;

    height: 57px;

    margin: 0;
    padding: 0;

    align-items: center;

    gap: 27px;

    list-style: none;
}


#header ul.etc_m li {

    display: block;

    white-space: nowrap;
}


#header ul.etc_m li a {

    display: flex;

    position: relative;

    height: 57px;

    align-items: center;

    color: #222;

    font-size: 13px;

    line-height: 57px;

    font-weight: 650;

    letter-spacing: -0.4px;

    text-decoration: none;

    transition: color .2s ease;
}


#header ul.etc_m li a::after {

    display: block;

    position: absolute;

    bottom: 0;
    left: 50%;

    width: 0;
    height: 2px;

    background: var(--main-color);

    transform: translateX(-50%);

    transition: width .2s ease;

    content: "";
}


#header ul.etc_m li a:hover {

    color: var(--main-color);
}


#header ul.etc_m li a:hover::after {

    width: 100%;
}


#header ul.etc_m li a.main-color {

    color: var(--main-color);
}





/* =========================================================
   LOGIN MENU
========================================================= */

#header ul.user_m {

    display: flex;

    flex: 0 0 auto;

    margin: 0 0 0 auto;
    padding: 0;

    align-items: center;

    list-style: none;
}


#header ul.user_m li {

    position: relative;

    margin: 0;
}


#header ul.user_m li + li {

    margin-left: 13px;
    padding-left: 13px;
}


#header ul.user_m li + li::before {

    display: block;

    position: absolute;

    top: 50%;
    left: 0;

    width: 1px;
    height: 10px;

    background: #ddd;

    transform: translateY(-50%);

    content: "";
}


#header ul.user_m li a {

    display: block;

    padding: 0;

    color: #999;

    font-size: 11px;

    font-weight: 500;

    text-decoration: none;
}


#header ul.user_m li a:hover {

    color: #222;
}





/* =========================================================
   CATEGORY NAV
========================================================= */

#header nav {

    display: none;

    position: absolute;

    top: 100%;
    left: 0;

    z-index: 999;

    width: 520px;
    min-height: 470px;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid #e5e5e5;

    box-shadow: 0 16px 40px rgba(0,0,0,.10);
}


#header nav.clicked {

    display: block;
}


#header.set nav {

    display: block;
}





/* 드롭다운 제목 */

#header .category-title {

    display: flex;

    height: 68px;

    padding: 0 22px;

    box-sizing: border-box;

    flex-direction: column;
    justify-content: center;

    background: #171717;
}


#header .category-title strong {

    font-size: 15px;

    font-weight: 700;

    color: #fff;
}


#header .category-title span {

    margin-top: 4px;

    font-size: 11px;

    color: rgba(255,255,255,.55);
}





/* 1차 카테고리 */

#header nav ul.main_m {

    display: block;

    width: 235px;
    height: 402px;

    margin: 0;
    padding: 10px 0;

    box-sizing: border-box;

    overflow-y: auto;

    background: #fff;

    list-style: none;
}


#header nav ul.main_m > li {

    display: block;

    position: static;

    margin: 0;
    padding: 0;
}


#header nav ul.main_m > li > a {

    display: flex;

    position: relative;

    width: 235px;
    min-height: 48px;

    padding: 0 18px;

    box-sizing: border-box;

    align-items: center;

    color: #222;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: -0.35px;

    text-decoration: none;

    transition: all .15s ease;
}


#header nav ul.main_m > li:hover > a {

    background: var(--point-light);

    color: var(--main-color);
}


/* 번호 원 */

#header .cate-symbol {

    display: flex;

    flex: 0 0 27px;

    width: 27px;
    height: 27px;

    margin-right: 11px;

    align-items: center;
    justify-content: center;

    background: #f7f4f5;

    border-radius: 50%;

    color: var(--main-color);

    font-size: 10px;

    font-weight: 700;
}


#header .cate-arrow {

    display: block;

    margin-left: auto;

    color: #bbb;

    font-size: 18px;

    font-weight: 300;
}





/* =========================================================
   2차 카테고리
========================================================= */

#header nav ul.main_m > li .side_menu {

    display: none;

    position: absolute;

    top: 68px;
    left: 235px;

    width: 284px;
    height: 402px;

    padding: 25px;

    box-sizing: border-box;

    background: #fafafa;

    border-left: 1px solid #eee;
}


#header nav ul.main_m > li:hover .side_menu {

    display: block;
}


#header .side-menu-title {

    margin-bottom: 16px;
}


#header .side-menu-title strong {

    display: block;

    font-size: 17px;

    font-weight: 700;

    letter-spacing: -0.6px;

    color: #171717;
}


#header .side-menu-title span {

    display: block;

    margin-top: 5px;

    color: #aaa;

    font-size: 11px;
}


#header .side_menu ul.sub_m {

    display: block;

    height: auto;

    margin: 0;
    padding: 0;

    overflow: visible;

    list-style: none;
}


#header .side_menu ul.sub_m li {

    display: block;
}


#header .side_menu ul.sub_m li a {

    display: flex;

    width: 100%;

    padding: 10px 0;

    box-sizing: border-box;

    justify-content: space-between;

    color: #555;

    font-size: 13px;

    line-height: 1.4;

    font-weight: 500;

    text-decoration: none;
}


#header .side_menu ul.sub_m li a span {

    color: #bbb;
}


#header .side_menu ul.sub_m li a:hover {

    color: var(--main-color);
}





/* =========================================================
   SEARCH AUTO COMPLETE
========================================================= */

.search-auto-complete-list {

    display: none;

    position: absolute;

    top: 52px;
    left: 0;

    z-index: 1500;

    width: 100%;

    box-sizing: border-box;

    background: #fff;

    border: 1px solid #ddd;

    border-radius: 10px;

    box-shadow: 0 10px 30px rgba(0,0,0,.08);

    overflow: hidden;
}


.search-auto-complete-list ul {

    width: 100% !important;

    margin: 0 !important;
    padding: 8px 0 !important;

    border: 0 !important;

    list-style: none;
}


.search-auto-complete-list ul li {

    text-align: left;
}


.search-auto-complete-list ul li a {

    display: block;

    padding: 10px 16px;

    color: #333;

    background: #fff;

    font-family: "SUIT", sans-serif;

    font-size: 12px;

    text-decoration: none;
}


.search-auto-complete-list ul li a:hover {

    background: #faf5f7;
}


.search-auto-complete-list ul li a strong {

    color: var(--main-color);
}


.search-auto-complete-list .search-list-close {

    display: block;

    padding: 10px 14px;

    border-top: 1px solid #eee;

    color: #999;

    font-size: 11px;

    text-align: right;
}





/* =========================================================
   SCROLL BAR
========================================================= */

#header *::-webkit-scrollbar {

    width: 5px;
}


#header *::-webkit-scrollbar-thumb {

    background: #c8c8c8;

    border-radius: 10px;
}


#header *::-webkit-scrollbar-track {

    background: #f2f2f2;
}





/* =========================================================
   1100px 이하 최소 대응
========================================================= */

@media screen and (max-width: 1150px) {

    .head_inner {

        width: 94%;
    }


    #head_top .search {

        width: 380px;
    }


    #header ul.etc_m {

        gap: 18px;
    }


    #header ul.etc_m li a {

        font-size: 12px;
    }

}
/* =========================================================
   비밀상점 HEADER 115% SIZE UP
========================================================= */

/* 전체 폭 확대 */
.head_inner {
    width: 1240px !important;
}


/* =========================================================
   TOP HEADER 높이 확대
========================================================= */

#head_top .head_inner {
    min-height: 118px !important;
    padding: 26px 0 !important;
}


/* =========================================================
   로고 확대
========================================================= */

#head_top h1.logo {
    width: 190px !important;
}

#head_top h1.logo .logo-main {
    font-size: 32px !important;
    letter-spacing: -2px !important;
}

#head_top h1.logo .logo-sub {
    margin-top: 8px !important;
    font-size: 9px !important;
    letter-spacing: 2.5px !important;
}


/* =========================================================
   로고 - 검색창 사이 간격
========================================================= */

#head_top .head_left {
    gap: 48px !important;
}


/* =========================================================
   검색창 확대
========================================================= */

#head_top .search {
    width: 500px !important;
}

#head_top .search .search-box {
    height: 54px !important;
}

#head_top .search fieldset input {
    height: 52px !important;
    padding: 0 56px 0 24px !important;

    font-size: 15px !important;
}

#head_top .search .search_icon {
    right: 20px !important;

    width: 27px !important;
    height: 27px !important;
}

#head_top .search .search_icon svg {
    width: 23px !important;
    height: 23px !important;
}


/* =========================================================
   찜 / 마이페이지 / 장바구니 확대
========================================================= */

#head_top ul.user_icon {
    gap: 34px !important;
}

#head_top ul.user_icon li {
    min-width: 58px !important;
}

#head_top .user-svg {
    width: 32px !important;
    height: 32px !important;
}

#head_top .user-svg svg {
    width: 27px !important;
    height: 27px !important;
}

#head_top ul.user_icon li p {
    margin-top: 8px !important;

    font-size: 12px !important;
}


/* =========================================================
   하단 메뉴 높이 확대
========================================================= */

#header .head_inner {
    min-height: 64px !important;
}


/* =========================================================
   전체 카테고리 확대
========================================================= */

#header .ham_wrap {
    flex-basis: 165px !important;

    height: 64px !important;

    gap: 12px !important;
}

#header .ham a {
    width: 23px !important;
    height: 18px !important;
}

#header .ham a span {
    width: 23px !important;
    height: 1.7px !important;
}

#header .ham a span:nth-of-type(2) {
    top: 8px !important;
}

#header .ham_wrap p {
    font-size: 15px !important;
}


/* =========================================================
   메인 메뉴 확대
========================================================= */

#header ul.etc_m {
    height: 64px !important;
    gap: 30px !important;
}

#header ul.etc_m li a {
    height: 64px !important;

    font-size: 14px !important;

    line-height: 64px !important;

    font-weight: 650 !important;
}


/* =========================================================
   로그인 / 회원가입 확대
========================================================= */

#header ul.user_m li a {
    font-size: 12px !important;
}


/* =========================================================
   전체 카테고리 드롭다운 확대
========================================================= */

#header nav {
    width: 570px !important;
    min-height: 500px !important;
}

#header .category-title {
    height: 74px !important;
    padding: 0 25px !important;
}

#header .category-title strong {
    font-size: 16px !important;
}

#header .category-title span {
    font-size: 12px !important;
}

#header nav ul.main_m {
    width: 255px !important;
    height: 426px !important;
}

#header nav ul.main_m > li > a {
    width: 255px !important;
    min-height: 52px !important;

    padding: 0 20px !important;

    font-size: 14px !important;
}

#header .cate-symbol {
    flex-basis: 30px !important;

    width: 30px !important;
    height: 30px !important;

    font-size: 11px !important;
}

#header nav ul.main_m > li .side_menu {
    top: 74px !important;
    left: 255px !important;

    width: 314px !important;
    height: 426px !important;

    padding: 28px !important;
}

#header .side-menu-title strong {
    font-size: 18px !important;
}

#header .side_menu ul.sub_m li a {
    font-size: 14px !important;
}


/* =========================================================
   1240px 이하 대응
========================================================= */

@media screen and (max-width: 1300px) {

    .head_inner {
        width: 94% !important;
    }

    #head_top .search {
        width: 440px !important;
    }

    #header ul.etc_m {
        gap: 20px !important;
    }
}
/* BASIC css end */

