/* BASIC css start */
@charset "euc-kr";

/* =========================================================
   Á¦ÀÚµé ¸ÞÀÌÅ©¼¥ D4 ¹ÝÀÀÇü Çì´õ ÀüÃ¼ CSS
========================================================= */

html,
body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

#header,
#header * {
    box-sizing: border-box;
}

#header {
    position: relative;
    z-index: 999;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    background: #fff;
    font-family: "Pretendard", "Malgun Gothic", sans-serif;
}

#header ul,
#header li,
#header dl,
#header dt,
#header dd {
    margin: 0;
    padding: 0;
    list-style: none;
}

#header a {
    color: #333;
    text-decoration: none;
}

/* ±âÁ¸ ½ºÅ²ÀÇ °íÁ¤ Æø ºÎ¸ð ÇØÁ¦ */
.jejadle-header-wide-parent {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    overflow: visible !important;
}

/* PC ³»ºÎ ÃÖ´ë Æø */
.headerTop,
.headerMainInner,
.headerGnb {
    width: calc(100% - 40px);
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
}

/* =========================================================
   »ó´Ü À¯Æ¿ ¸Þ´º
========================================================= */

.headerTop {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 40px;
    border-bottom: 1px solid #eee;
}

.menuLeft,
.menuRight {
    display: flex;
    align-items: center;
}

.menuLeft > li,
.menuRight > li {
    position: relative;
}

.menuLeft > li > a,
.menuRight > li > a {
    display: flex;
    align-items: center;
    height: 40px;
    padding: 0 11px;
    color: #555;
    font-size: 12px;
    white-space: nowrap;
}

.menuLeft > li:first-child > a {
    padding-left: 0;
}

.menuRight > li:last-child > a {
    padding-right: 0;
}

/* =========================================================
   µå·Ó´Ù¿î
========================================================= */

#header .depth2 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9999;
    min-width: 180px;
    padding: 7px 0;
    border: 1px solid #ddd;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
}

#header .depth2 li {
    display: block;
}

#header .depth2 li a {
    display: block;
    padding: 9px 14px;
    color: #444;
    font-size: 12px;
    line-height: 1.4;
    white-space: nowrap;
}

#header .depth2 li a:hover {
    background: #f3f8f4;
    color: #176526;
}

/* =========================================================
   ·Î°í / °Ë»ö / Äü¸Þ´º
========================================================= */

.headerMid {
    width: 100%;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.headerMainInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 108px;
    gap: 30px;
}

.headerBrand {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
}

.mainLogo {
    display: block;
    margin-right: 18px;
}

.mainLogo img {
    display: block;
    width: 122px;
    max-width: 100%;
    height: auto;
}

.brandText {
    min-width: 0;
}

.brandText strong {
    display: block;
    color: #333;
    font-size: 17px;
    line-height: 1.3;
    font-weight: 700;
    white-space: nowrap;
}

.brandText > a {
    display: block;
    color: #111;
    font-size: 38px;
    line-height: 1.05;
    font-weight: 900;
    letter-spacing: -1px;
    white-space: nowrap;
}

.brandText span {
    display: block;
    margin-top: 4px;
    color: #666;
    font-size: 12px;
    white-space: nowrap;
}

/* °Ë»öÃ¢ */

.srchArea {
    flex: 1 1 360px;
    min-width: 220px;
    max-width: 400px;
}

.search,
.search fieldset {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.search legend {
    position: absolute;
    overflow: hidden;
    width: 1px;
    height: 1px;
    clip: rect(0, 0, 0, 0);
}

.search input {
    display: block;
    width: 100%;
    height: 46px;
    padding: 0 55px 0 18px;
    border: 2px solid #176526;
    border-radius: 24px;
    outline: none;
    background: #fff;
    color: #333;
    font-size: 13px;
}

.search input::placeholder {
    color: #999;
}

.btn_search {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 46px;
    color: #176526 !important;
    font-size: 23px;
}

/* ¿ìÃø ¾ÆÀÌÄÜ ¸Þ´º */

.headerQuick {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    gap: 18px;
}

.headerQuick > a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 42px;
    color: #444;
    font-size: 11px;
    text-align: center;
}

.headerQuick i {
    display: block;
    margin-bottom: 5px;
    font-size: 23px;
}

.headerQuick em {
    position: absolute;
    top: -7px;
    right: 0;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    background: #176526;
    color: #fff;
    font-size: 10px;
    line-height: 17px;
    text-align: center;
}

/* =========================================================
   ÇÏ´Ü Ä«Å×°í¸® ¸Þ´º
========================================================= */

.headerBtm {
    width: 100%;
    border-bottom: 1px solid #ddd;
    background: #fff;
}

.headerGnb {
    display: flex;
    align-items: center;
    height: 54px;
}

.menuAll {
    flex: 0 0 180px;
    height: 54px;
}

.menuAllBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 54px;
    padding: 0 15px;
    background: #176526;
    color: #fff !important;
    font-size: 15px;
    font-weight: 700;
    white-space: nowrap;
}

.menuAllBtn i {
    margin-right: 10px;
    font-size: 20px;
}

.cateWrap {
    display: flex;
    align-items: stretch;
    flex: 1 1 auto;
    min-width: 0;
    height: 54px;
}

.cateWrap > .tmenu {
    position: relative;
    display: block;
    flex: 1 1 0;
    min-width: 0;
}

.cateWrap > .tmenu > a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 54px;
    padding: 0 8px;
    overflow: hidden;
    color: #333;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cateWrap > .tmenu > a:hover {
    color: #176526;
}

.cateWrap > .tmenu > .depth2 {
    top: 54px;
    left: 50%;
    transform: translateX(-50%);
}

.gnbCustomer {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 100px;
    height: 54px;
    color: #176526 !important;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}

/* =========================================================
   ÀüÃ¼ Ä«Å×°í¸® ÆË¾÷
========================================================= */

.allMenu {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 99999;
    overflow-y: auto;
    padding: 60px 20px;
    background: rgba(0, 0, 0, 0.45);
    box-sizing: border-box;
}

.allMenu,
.allMenu * {
    box-sizing: border-box;
}

.allMenuWrap {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.25);
}

.allMenuHead {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 60px;
    padding: 0 25px;
    border-bottom: 1px solid #eee;
}

.allMenuHead strong {
    color: #222;
    font-size: 20px;
    font-weight: 800;
}

.closeBtn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    color: #333;
    font-size: 26px;
}

.allMenuList {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    padding: 25px;
}

.allMenuList + .allMenuList {
    padding-top: 0;
}

.allMenuList dl {
    min-width: 0;
    padding: 10px;
}

.allMenuList dt {
    margin-bottom: 10px;
}

.allMenuList dt a {
    color: #176526;
    font-size: 14px;
    font-weight: 800;
}

.allMenuList dd {
    margin: 0 0 6px;
}

.allMenuList dd a {
    display: block;
    overflow: hidden;
    color: #666;
    font-size: 12px;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.allMenuList dd a:hover {
    color: #176526;
}

/* =========================================================
   °íÁ¤ Çì´õ
========================================================= */

#header.headerFix .headerBtm {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9000;
    width: 100%;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.headerFixSpace {
    display: none;
    height: 54px;
}

body.isHeaderFixed .headerFixSpace {
    display: block;
}

/* =========================================================
   TOP ¹öÆ°
========================================================= */

.topBtn {
    display: none;
    position: fixed;
    right: 22px;
    bottom: 90px;
    z-index: 9998;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border-radius: 50%;
    background: #176526;
    color: #fff !important;
    font-size: 20px;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.12);
}

/* =========================================================
   Ä«Ä«¿ÀÅå
========================================================= */

#kakao-talk-channel-chat-button,
.kakao-btn {
    position: fixed !important;
    top: auto !important;
    right: 20px !important;
    bottom: 20px !important;
    left: auto !important;
    z-index: 9999 !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
    float: none !important;
}

/* =========================================================
   ÅÂºí¸´
========================================================= */

@media screen and (max-width: 1024px) {
    .headerTop,
    .headerMainInner,
    .headerGnb {
        width: calc(100% - 30px);
    }

    .headerMainInner {
        gap: 18px;
    }

    .brandText strong {
        font-size: 14px;
    }

    .brandText > a {
        font-size: 30px;
    }

    .brandText span {
        display: none;
    }

    .srchArea {
        max-width: 320px;
    }

    .headerQuick {
        gap: 10px;
    }

    .headerQuick > a {
        min-width: 38px;
    }

    .menuAll {
        flex-basis: 155px;
    }

    .cateWrap > .tmenu > a {
        font-size: 12px;
    }

    .gnbCustomer {
        flex-basis: 80px;
        font-size: 12px;
    }

    .allMenuList {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

/* =========================================================
   ¸ð¹ÙÀÏ
========================================================= */

@media screen and (max-width: 767px) {
    #header {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .headerTop,
    .headerMainInner,
    .headerGnb {
        width: 100%;
        max-width: none;
    }

    /* »ó´Ü À¯Æ¿ ¸Þ´º */

    .headerTop {
        height: 36px;
        padding: 0 12px;
    }

    .menuLeft {
        min-width: 0;
    }

    .menuLeft > li:not(:first-child) {
        display: none;
    }

    .menuRight > li {
        display: none;
    }

    .menuRight > li:first-child,
    .menuRight > li:nth-child(2),
    .menuRight > li:last-child {
        display: block;
    }

    .menuLeft > li > a,
    .menuRight > li > a {
        height: 36px;
        padding: 0 7px;
        font-size: 11px;
    }

    #header .headerTop .depth2 {
        position: fixed;
        top: 36px;
        right: 12px;
        left: 12px;
        width: auto;
        min-width: 0;
        max-height: 70vh;
        overflow-y: auto;
        transform: none;
    }

    /* ·Î°í ¿µ¿ª */

    .headerMainInner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 0;
        padding: 14px 12px 13px;
        gap: 12px;
    }

    .headerBrand {
        min-width: 0;
    }

    .mainLogo {
        flex: 0 0 auto;
        margin-right: 10px;
    }

    .mainLogo img {
        width: 82px;
    }

    .brandText {
        min-width: 0;
    }

    .brandText strong {
        display: none;
    }

    .brandText > a {
        overflow: hidden;
        font-size: 23px;
        letter-spacing: -1px;
        text-overflow: ellipsis;
    }

    .brandText span {
        display: none;
    }

    /* Äü¸Þ´º´Â Àå¹Ù±¸´Ï¸¸ Ç¥½Ã */

    .headerQuick {
        gap: 0;
    }

    .headerQuick > a {
        display: none;
    }

    .headerQuick > .quickCart {
        display: flex;
    }

    .headerQuick .quickCart i {
        margin: 0;
        font-size: 27px;
    }

    .headerQuick .quickCart span {
        display: none;
    }

    /* °Ë»öÃ¢ µÎ ¹øÂ° ÁÙ */

    .srchArea {
        grid-column: 1 / -1;
        grid-row: 2;
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    .search input {
        height: 43px;
        padding-right: 50px;
        font-size: 12px;
    }

    .btn_search {
        width: 46px;
        height: 43px;
    }

    /* =====================================================
       ¸ð¹ÙÀÏ ÇÏ´Ü ¸Þ´º °¡·Î ½ºÅ©·Ñ
    ===================================================== */

    .headerBtm {
        width: 100%;
        overflow: hidden;
    }

    .headerGnb {
        display: flex !important;
        flex-wrap: nowrap !important;
        align-items: center;
        justify-content: flex-start !important;
        width: 100%;
        max-width: none;
        height: 48px;
        margin: 0;
        padding: 0 12px;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        white-space: nowrap;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-x;
        overscroll-behavior-x: contain;
    }

    .headerGnb::-webkit-scrollbar {
        display: none;
        width: 0;
        height: 0;
    }

    .menuAll,
    .cateWrap,
    .gnbCustomer {
        flex: 0 0 auto !important;
        flex-shrink: 0 !important;
    }

    .menuAll {
        width: 130px;
        min-width: 130px;
        height: 48px;
    }

    .menuAllBtn {
        width: 130px;
        height: 48px;
        padding: 0 12px;
        font-size: 13px;
    }

    .menuAllBtn i {
        margin-right: 7px;
        font-size: 17px;
    }

    .cateWrap {
        display: flex !important;
        flex-wrap: nowrap !important;
        width: max-content !important;
        min-width: max-content !important;
        height: 48px;
    }

    .cateWrap > .tmenu {
        display: block;
        flex: 0 0 auto !important;
        width: auto;
        min-width: max-content;
        height: 48px;
    }

    .cateWrap > .tmenu > a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: auto;
        min-width: max-content;
        height: 48px;
        padding: 0 16px;
        overflow: visible;
        font-size: 12px;
        text-overflow: clip;
        white-space: nowrap;
    }

    /* ¸ð¹ÙÀÏ¿¡¼­´Â Ä«Å×°í¸® ÇÏÀ§ µå·Ó´Ù¿î ¼û±è */

    .cateWrap > .tmenu > .depth2 {
        display: none !important;
    }

    .gnbCustomer {
        width: 90px;
        min-width: 90px;
        height: 48px;
        font-size: 12px;
    }

    /* ¸ð¹ÙÀÏ °íÁ¤ ¸Þ´º */

    #header.headerFix .headerBtm {
        top: 0;
    }

    .headerFixSpace {
        height: 48px;
    }

    /* ÀüÃ¼ Ä«Å×°í¸® ÆË¾÷ */

    .allMenu {
        padding: 15px 10px;
    }

    .allMenuWrap {
        border-radius: 8px;
    }

    .allMenuHead {
        height: 54px;
        padding: 0 18px;
    }

    .allMenuHead strong {
        font-size: 17px;
    }

    .allMenuList {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 15px 12px;
    }

    .allMenuList + .allMenuList {
        padding-top: 0;
    }

    .allMenuList dl {
        padding: 8px;
    }

    .allMenuList dd a {
        white-space: normal;
        word-break: keep-all;
    }

    /* TOP / Ä«Ä«¿À */

    .topBtn {
        right: 14px;
        bottom: 78px;
        width: 42px;
        height: 42px;
    }

    #kakao-talk-channel-chat-button,
    .kakao-btn {
        right: 12px !important;
        bottom: 12px !important;
    }
}

/* =========================================================
   ÃÊ¼ÒÇü ¸ð¹ÙÀÏ
========================================================= */

@media screen and (max-width: 380px) {
    .mainLogo img {
        width: 72px;
    }

    .brandText > a {
        font-size: 20px;
    }

    .menuAll {
        width: 120px;
        min-width: 120px;
    }

    .menuAllBtn {
        width: 120px;
        font-size: 12px;
    }

    .cateWrap > .tmenu > a {
        padding: 0 13px;
    }

    .allMenuList {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   JEJADLE GNB DROPDOWN POSITION FIX
   - PC Ä«Å×°í¸® ·Ñ¿À¹ö ¸Þ´º¸¦ ÇØ´ç 1Â÷ ¸Þ´º ¹Ù·Î ¾Æ·¡ Á¤·Ä
   - °Ë»ö/»óÇ° ¸ñ·Ï ·ÎÁ÷°ú ¹«°üÇÑ CSS Àü¿ë º¸Á¤
========================================================= */
@media screen and (min-width: 768px) {
    #header .headerBtm,
    #header .headerGnb,
    #header .cateWrap,
    #header .cateWrap > .tmenu {
        overflow: visible !important;
    }

    #header .cateWrap > .tmenu > .depth2 {
        top: 100% !important;
        left: 0 !important;
        right: auto !important;
        transform: none !important;
        margin-top: 0 !important;
        min-width: 100% !important;
        width: max-content;
        max-width: 280px;
        z-index: 10050 !important;
    }

    /* ¿ìÃø ³¡ ¸Þ´º´Â È­¸é ¹ÛÀ¸·Î ³ª°¡Áö ¾Êµµ·Ï ¿ìÃø Á¤·Ä */
    #header .cateWrap > .tmenu:nth-last-child(-n+2) > .depth2 {
        left: auto !important;
        right: 0 !important;
    }

    #header .cateWrap > .tmenu > .depth2 > li > a {
        min-width: 160px;
        box-sizing: border-box;
    }
}


/* BASIC css end */

