@charset "utf-8";
/* ? Common */
.cont_tit { font-size: 18px; font-weight: 700; line-height: 24px; }
.cont_tit em { color: #18C69C; } 
.btn_sub_box { width: 100%; text-align: center; }
.btn_sub_box .btn { display: inline-block; font-size: 14px; font-weight: 500; color: var(--purple); line-height: 20px; padding: 12px 16px; border: 1px solid var(--purple-200); border-radius: 8px; }
.btn_sub_box .btn::after { width: 20px; height: 20px; background: url(../../image/icon/icon_btn_arrow_pp.svg) no-repeat center center; background-size: 24px; content: ''; display: inline-block; vertical-align: -5px; margin-left: 6px; }
.btn_sub_box .btn.type_arrow_r::after { transform: rotate(90deg); }

/*! 선물하기 - 내맘대로 패키지 영양제 선택 */
/* 상품목록 */
.item_list > li { margin-top: 16px; }
.item_list .item { display: flex; justify-content: space-between; align-items: center; } 
.item_list .item .img_box { position: relative; width: 96px; height: 96px; border: var(--border-light); border-radius: var(--border-radius-s); overflow: hidden; } 
.item_list .item .img_box::after { position: absolute; left: 8px; top: 8px; height: 20px; font-size: var(--font-small-xs); font-weight: 500; line-height: 20px; padding: 0 8px; border-radius: 30px; display: inline-block; } 
.item_list .item .img_box.type_new::after { color: var(--color-main); background: rgba(138, 82, 220, 0.1); content: "NEW"; } 
.item_list .item .img_box.type_pick::after { color: #0354A6; background: #ECF4FC; content: "Pick!"; } 
.item_list .item .img_box img { max-width: inherit; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 240%; } 
.item_list .item .btn_quick_cart { position: absolute; right: 8px; bottom: 8px; width: 36px; height: 36px; text-indent: -9999px; background: url(../../image/btn/btn_cart_g.svg) no-repeat center center, #FFF; border: 1px solid #EFF0F6; border-radius: 50%; box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.10); } 
.item_list .item .btn_quick_cart.active { background: url(../../image/btn/btn_cart_w.svg) no-repeat center center, var(--purple); border: 1px solid var(--purple); }
.item_list .item .text_box { width: calc(100% - 108px); } 
.item_list .item .text_box .sub_text { width: 100%; font-size: 13px; font-weight: 500; color: var(--color-gray); line-height: 20px; }
.item_list .item .text_box .nuts_name { font-size: 15px; font-weight: 700; line-height: 22px; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; }
.item_list .item .text_box .price_area .text { width: 100%; font-size: 13px; font-weight: 400; line-height: 20px; color: var(--color-black-70); align-items: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.item_list .item .text_box .price_area .text .price { display: inline-block; font-size: 16px; font-weight: 700; color: var(--color-red); line-height: 20px; margin-right: 4px; }
.item_list .item .text_box .info_label_list { display: flex; justify-content: flex-start; margin-top: 4px; } 
.item_list .item .text_box .info_label_list .label { display: inline-block; height: 22px; font-size: 12px; font-weight: 400; color: var(--purple); line-height: 22px; background: var(--purple-50); border-radius: 12px; padding: 0 8px; margin-right: 4px; margin-bottom: 4px; max-width: 148px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } 
.item_list .item .text_box .info_label_list .label:last-child { margin-right: 0; } 

/* 검색창 */
.search_box { display: flex; justify-content: space-between; }
.search_box .input_box { position: relative; width: 100%; transition: width 0.5s; } 
.search_box .input_box input[type="text"] { position: relative; width: 100%; height: 52px; font-size: 15px; line-height: 50px; padding: 0 48px 0 24px; background: #FFF; border: var(--border); border-radius: 12px; } 
.search_box .input_box input[type="text"]:focus,
.search_box .input_box input[type="text"]:focus-visible { border-color: var(--purple); } 
.search_box .input_box .btn_search { position: absolute; right: 0; top: 0; display: inline-block; width: 48px; height: 100%; background: url(../../image/btn/btn_search.svg) no-repeat center center; text-indent: -9999px; border-radius: 0 46px 46px 0; overflow: hidden; z-index: 2; } 
.search_box .search_exit_btn { width: 0; min-width: 0; height: 52px; font-size: 16px; font-weight: 400; line-height: 24px; white-space: nowrap; margin-left: 0; overflow: hidden; transition: width 0.5s, margin 0.5s; } 
.search_box .search_exit_btn.on { width: 28px; min-width: 28px; margin-left: 16px; } 

/* 추천받은 영양제 */ 
.my_nuts_view_wrap { margin-top: 24px; }
.nuts_list_area { width: calc(100% + 48px); padding: 0 24px; overflow: hidden; margin: 16px 0 0 -24px; } 
.nuts_list_area .list { width: 140px; } 
.nuts_list_area .list .img_box { position: relative; width: 100%; height: 96px; border: 1px solid var(--gray-50); border-radius: 8px; overflow: hidden; } 
.nuts_list_area .list .img_box img { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); max-width: inherit; width: 150%; }
.nuts_list_area .list .img_box .btn_quick_cart { position: absolute; right: 8px; bottom: 8px; width: 36px; height: 36px; text-indent: -9999px; background: url(../../image/btn/btn_cart_w.svg) no-repeat center center, var(--purple); border-radius: 50%; box-shadow: 2px 2px 8px 0px rgba(0, 0, 0, 0.10); z-index: 10; } 
.nuts_list_area .list .text_box { margin-top: 12px; } 
.nuts_list_area .list .text_box .sub_text { font-size: 11px; font-weight: 500; color: var(--gray-400); line-height: 14px; } 
.nuts_list_area .list .text_box .nuts_name { font-size: 13px; font-weight: 500; line-height: 18px; white-space: nowrap ; text-overflow: ellipsis; overflow: hidden; } 
.nuts_list_area .list .text_box .price { font-size: 13px; font-weight: 700; color: var(--gray-900); line-height: 18px; margin-top: 4px; }
.nuts_list_area .list .text_box .vat { display: inline-block; font-size: 8px; font-weight: 400; color: var(--gray-400); margin-left: 4px; }
.nuts_list_area .list .info_label_list { display: flex; justify-content: flex-start; flex-wrap: wrap; margin-top: 8px; } 
.nuts_list_area .list .info_label_list .label { display: inline-block; height: 22px; font-size: 12px; font-weight: 400; color: var(--purple); line-height: 22px; background: var(--purple-50); border-radius: 12px; padding: 0 8px; margin-right: 4px; margin-bottom: 4px; max-width: 148px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; } 
.nuts_list_area .list .info_label_list .label:last-child { margin-right: 0; } 

/* 추천받은 영양제 없을 때 */
.none_nuts_area { text-align: center; padding: 24px 0; } 
.none_nuts_area .info_text_area { display: flex; justify-content: center; align-items: center; } 
.none_nuts_area .info_text_area i { display: inline-block; width: 13px; height: 13px; background: url(../../image/icon/icon_nuts01.svg) no-repeat center center; } 
.none_nuts_area .info_text_area p { font-size: 13px; font-weight: 500; line-height: 16px; margin-left: 4px; } 
.none_nuts_area .link { display: inline-block; font-size: 13px; font-weight: 400; color: var(--color-gray); line-height: 16px; border-bottom: 1px solid var(--color-gray); margin-top: 4px; } 

/* 자동완성 */
.seach_hint_wrap { height: calc(100% - 256px); padding-bottom: 24px; margin-top: 24px; overflow-y: auto; } 
.seach_hint_wrap::-webkit-scrollbar { -webkit-appearance: none; } 
.seach_hint_wrap::-webkit-scrollbar-vertical { width: 2px; } 
.seach_hint_wrap::-webkit-scrollbar-thumb { background: #d9d9d9; border-radius: 14px; } 
.seach_hint_wrap .inner_hint_area { display: flex; justify-content: flex-start; flex-direction: column; align-items: flex-start; cursor: pointer; } 
.seach_hint_wrap .inner_hint_area + .inner_hint_area { border-top: var(--border-light); } 
.seach_hint_wrap .inner_hint_area .list { width: 100%; height: 48px; line-height: 48px; } 
.seach_hint_wrap .inner_hint_area .list:hover, 
.seach_hint_wrap .inner_hint_area .list:active { background: var(--bg-gray); } 
.seach_hint_wrap .category_area .list { display: flex; justify-content: flex-start; align-items: center; cursor: pointer; } 
.seach_hint_wrap .category_area .list .category_area_name { font-size: 16px; font-weight: 700; color: var(--color-main); line-height: 22px; } 
.seach_hint_wrap .category_area .list .type { display: inline-block; height: 12px; font-size: var(--font-small-xs); font-weight: 400; color: var(--color-gray); line-height: 12px; border-left: var(--border); padding-left: 4px; margin-left: 4px; } 
.seach_hint_wrap .nutrients_area .list span { font-size: 16px; font-weight: 400; color: var(--color-gray); } 
.seach_hint_wrap .nutrients_area .list em { font-size: 16px; font-weight: 400; color: var(--color-main); } 

/* 검색결과 */
.search_result_wrap { margin-top: 24px; }

/* 전체목록 */
.tab_nav { width: 100%; display: flex; justify-content: space-between; padding: 0 24px; } 
.tab_nav > li { width: 50%; font-size: 16px; font-weight: 400; color: var(--color-gray); line-height: 50px; text-align: center; border-bottom: 2px solid #D9DBE9; cursor: pointer; } 
.tab_nav > li.on { font-weight: 700; color: var(--color-main); border-bottom: 2px solid var(--color-main); } 
.tab_cont { margin-top: 24px; } 
.tab_cont .tab_box { display: none; width: 100%; } 
.tab_cont .tab_box.on { display: block; } 
.cate_box { position: relative; width: 100%; padding: 0 24px; } 
.cate_box .type_select { display: inline-block; height: 32px; font-size: 15px; font-weight: 700; color: #6E7191; line-height: 32px; padding: 0 16px; background: #EFF0F6; border-radius: 16px; cursor: pointer; } 
.cate_box .type_select::after { width: 20px; height: 20px; vertical-align: -5px; background: url(../../image/icon/icon_arrow_select_black.svg) no-repeat center center; background-size: contain; content: ''; display: inline-block; margin-left: 4px; } 
.cate_box .type_select em { display: inline-block; color: var(--color-main); margin-left: 4px; } 
.cate_box .type_scroll { width: calc(100% + 48px); white-space: nowrap; overflow-x: scroll; -ms-overflow-style: none; scrollbar-width: none; padding-left: 24px; margin-left: -24px; } 
.cate_box .type_scroll::-webkit-scrollbar { display: none; } 
.cate_box .type_scroll li { display: inline-block; font-size: 16px; font-weight: 700; color: var(--color-gray); line-height: 32px; cursor: pointer; margin-right: 16px; } 
.cate_box .type_scroll li.on { color: var(--color-main); } 
.cate_tab_cont .cate_tab_box { display: none; } 
.cate_tab_cont .cate_tab_box.on { display: block; }
.product_box .item_tit { position: relative; display: flex; align-items: center; width: 100%; padding-right: 34px; } 
.product_box .item_tit .rank { display: flex; font-size: 15px; font-weight: 700; color: var(--color-white); line-height: 30px; padding: 0 14px; background: #18C69C; border-radius: 15px; margin-right: 8px; } 
.product_box .item_tit h3 { flex: 1; font-size: var(--font-medium); font-weight: 700; line-height: 24px; } 
.product_box .item_tit.toggle_tab::after { position: absolute; right: 0; top: 2px; width: 20px; height: 20px; vertical-align: -5px; background: url(../../image/icon/icon_arrow_select_black.svg) no-repeat center center; background-size: contain; content: ''; display: inline-block; transition: all 0.3s ease-in-out; } 
.product_box .item_tit.toggle_tab.on::after { transform: rotate(-180deg); } 
.product_box .item_list { overflow: hidden; }

/* 검색결과 없을 때 */
.product_list_area .none_list_wrap { display: block; text-align: center; padding: 24px 0; margin-top: 16px; } 
.product_list_area .none_list_wrap i { display: block; width: 24px; height: 24px; background: url(../../image/icon/icon_none_list.svg) no-repeat center center; margin: 0 auto 4px; } 
.product_list_area .none_list_wrap p { font-size: 15px; font-weight: 400; color: var(--color-gray); line-height: 22px; } 

/* POPUP 카테고리 */
#popup .popup_check_list { padding-bottom: 0; }
#popup .popup_check_list ul { width: 100%; display: flex; flex-wrap: wrap; padding-bottom: 0; } 
#popup .popup_check_list ul li { width: calc(33.33% - 6px); margin-right: 8px; margin-bottom: 24px; } 
#popup .popup_check_list ul li:nth-of-type(3n) { margin-right: 0; } 
#popup .popup_check_list ul li input[type=checkbox] { display: none; } 
#popup .popup_check_list ul li input[type=checkbox] + label { display: block; width: 100%; font-size: 13px; font-weight: 500; line-height: 36px; text-align: center; background: var(--color-white); border: var(--border); border-radius: 6px; overflow: hidden; } 
#popup .popup_check_list ul li input[type=checkbox]:checked + label { color: var(--color-main); background: rgba(139, 79, 246, 0.10); border: var(--border-main); } 
#popup .pop_btn_box { position: sticky; left: 0; bottom: 0; background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 10%, rgba(255,255,255,1) 100%); padding-bottom: 24px; }
#popup .pop_btn_box .btn_reset::before { width: 20px; height: 20px; background: url(../../image/sub_product/icon_reset.svg) no-repeat center center; background-size: contain; vertical-align: -4px; margin-right: 2px; content: ''; display: inline-block; } 