* {font-family: 'Pretendard'; color: #111; font-weight: 400; word-break: keep-all;}
body::-webkit-scrollbar {display: none;}

.wrap {padding: 80px 0 120px;}
.sect_line {height: 9px; background-color: #f5f5f5; width: calc(100% + 2.4em); margin-left: -1.2em;}

.sect_bt {margin-bottom: 40px;}
.sect_space {margin: 40px -1.2em;}
.sect_space1 {margin: 30px -1.2em;}

.no_content {padding: 40px 16px; border-radius: 5px; background-color: #f5f5f5; color: #999; font-size: 14px; text-align: center;}

/* -------- 공통요소 -------- */
/* 인풋 텍스트 */
input[type="text"], input[type="id"], input[type="password"], input[type="time"], input[type="tel"], input[type="number"] {border: 1px solid #ddd; border-radius: 5px; padding: 16px 12px; font-size: 16px; width: 100%; outline: none;}
input[type="text"]::placeholder, input[type="id"]::placeholder, input[type="password"]::placeholder, input[type="tel"]::placeholder, input[type="number"]::placeholder {color: #777;}
input[type="text"]:focus, input[type="id"]:focus, input[type="password"]:focus {border-color: #5834E8; outline: none;}
input[type="text"]:read-only {background-color: #fafafa; color: #666;}
textarea {border-radius: 5px; border: 1px solid #ddd; outline: none; padding: 16px 12px; line-height: 1.4; font-size: 16px; width: 100%; height: 80px; font-family: inherit;}
textarea:focus {border-color: #5834E8;}
input[type="text"]:read-only:focus {border-color: #ddd;}

/* 웹킷 브라우저용 */
input[type="date"]::-webkit-calendar-picker-indicator,
input[type="time"]::-webkit-calendar-picker-indicator,
input[type="month"]::-webkit-calendar-picker-indicator,
input[type="week"]::-webkit-calendar-picker-indicator,
input[type="datetime-local"]::-webkit-calendar-picker-indicator {
  display: none;
}

/* input[type="number"] {width: 50px; padding: 6px 12px; border-radius: 3px; border: 1px solid #ddd; font-size: 14px; color: #666; outline: none;} */
/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox  */
input[type='number'] {
  -moz-appearance: textfield;
}


/* input search 엑스버튼 삭제 */
input::-ms-clear,
input::-ms-reveal{
	display:none;width:0;height:0;
}
input::-webkit-search-decoration,
input::-webkit-search-cancel-button,
input::-webkit-search-results-button,
input::-webkit-search-results-decoration{
	display:none;
}



/* 체크박스, 라디오 */
input[type="checkbox"], input[type="radio"] {display: none;}
input[type="checkbox"] + label, input[type="radio"] + label {padding-left: 32px; position: relative; display: block; font-size: 15px; color: #888; line-height: 1.5;}
input[type="checkbox"] + label.strong {color: #111;}
input[type="checkbox"] + label::before {content: ""; display: block; width: 24px; height: 24px; border: 1px solid #ddd; border-radius: 3px; background: url(../img/chkbox_none.png) center/cover; overflow: hidden; position: absolute; top: -1px; left: 0;}
input[type="checkbox"] + label::after {content: ""; display: none; width: 24px; height: 24px; border: 1px solid #ddd; border-radius: 3px; background: url(../img/chkbox_on.png) no-repeat center/cover; overflow: hidden; position: absolute; top: -1px; left: 0;}
input[type="checkbox"]:checked + label, input[type="radio"]:checked + label  {color: #111;}
input[type="checkbox"]:checked + label::after, input[type="radio"]:checked + label::after {display: block;} 
input[type="radio"] + label::before {content: ""; display: block; width: 24px; height: 24px; border: 1px solid #ddd; border-radius: 100%; background: url(../img/radio.png) center/cover; overflow: hidden; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}
input[type="radio"] + label::after {content: ""; display: none; width: 24px; height: 24px; border: 1px solid #5834E8; border-radius: 100%; background: url(../img/radio_on.png) center/cover; overflow: hidden; position: absolute; top: 50%; left: 0; transform: translateY(-50%);}



/* 버튼 */
button {font-family: inherit; width: 100%; padding: 15px; border-radius: 5px; text-align: center; display: flex; align-items: center; gap: 10px; justify-content: center; font-weight: 500; line-height: 1;}
button.md {padding: 10px; font-size: 15px; font-weight: 400;}
button.sm {padding: 8px 12px; font-size: 14px; border-radius: 3px; font-weight: 400;}
button i {display: block; width: 24px; height: 24px;}
button.btn_main {background-color: #5834E8; color: #fff; border: 1px solid #5834E8;}
button.btn_line1 {background-color: #fff; color: #5834E8; border: 1px solid  #5834E8;}
button.btn_line2 {background-color: #fff; color: #666; border: 1px solid  #ddd;}
button.btn_kakao {background-color: #FAE100; border: 1px solid #FAE100;}
button.btn_kakao .icon {background: url(../img/kakao.png) no-repeat center/contain;}
button.btn_col1 {background-color: #eee; color: #888; border: 1px solid #eee;}

/* 셀렉트박스 */
.slt_box {border-radius: 5px; border: 1px solid #ddd; background-color: #fff;padding: 16px 12px; display: flex; align-items: center; justify-content: space-between;}
.slt_box span {font-weight: 400; font-size: 16px; color: #777;}
.slt_box i {display: block; width: 12px; aspect-ratio: 1; background: url(../img/slt_arrow_down.png) no-repeat center/contain;}


/* 서브탭메뉴 */
.sub_tab {display: flex; width: 100%; overflow-x: auto; padding: 0 1.2em; border-bottom: 1px solid #eee; margin-bottom: 30px; background-color: #fff;}
.sub_tab span {font-size: 14px; padding: 16px 15px; border-bottom: 2px solid transparent; color: #888; font-weight: 500; min-width: max-content; text-align: center;}
.sub_tab span.on {color: #5834E8; border-color: #5834E8;}
.sub_tab.no_space {margin-bottom: 0;}

.sub_tab a {font-size: 14px; padding: 16px 15px; border-bottom: 2px solid transparent; color: #888; font-weight: 500; min-width: 90px; text-align: center;}
.sub_tab a.on {color: #5834E8; border-color: #5834E8;}


.sub_tab.on {width: 100% !important; position: fixed; top: 0; left: 0; margin-left: 0 !important; z-index: 20; padding: 0;}





/* -------- 메인 -------- */
.wrap.main {background-color: #5834E8; padding: 0;}
.main_header {display: flex; justify-content: space-between; align-items: center; padding: 10px 1.2em;}
.main_header .icon {display: block; width: 36px; height: 36px;}
.main_header .icon img {width: 100%; height: 100%; display: block; object-fit: contain;}
.main_header .alarm {width: 48px; aspect-ratio: 1; background: url(../img/main_alarm.png) no-repeat center/contain;}
.main_header .alarm.on {background: url(../img/main_alarm_on.png) no-repeat center/contain;}

.main_top {padding: 30px 1.2em;}
.main_top .main_title {display: flex; flex-direction: column; align-items: flex-start; gap: 5px; padding-bottom: 20px;}
.main_top .main_title p {font-size: 24px; display: flex; align-items: center; color: #fff;}
.main_top .icon {display: block; width: 28px; height: 28px; background: url(../img/main_tit.png) no-repeat center/contain; margin-left: 5px;}
.main_top .main_title p em {font-weight: 700; color: #fff;}
.search_box {position: relative; background-color: #fff; box-shadow: 0 4px 10px 10px rgba(0, 0, 0, .05); border-radius: 50px; padding: 12px 20px; display: flex; align-items: center; justify-content: space-between;}
.search_box span {font-size: 15px; color: #777;}
.search_box .icon {background: url(../img/search_box.png) no-repeat center/contain; width: 21px; height: 21px;}


.wrap.main .main_inner {background-color: #fff; border-radius: 20px 20px 0 0; box-shadow: 0 -4px 10px 10px rgba(0, 0, 0, .05); padding: 40px 1.2em 100px;}

/* 바로가기 */
.main_quick {display: grid; grid-template-columns: 1fr 1fr; row-gap: 16px; column-gap: 12px;}
.main_quick .quick_con {border-radius: 12px; background: linear-gradient(to right bottom, #FAF9FF, #EDEFFF); padding: 18px;}
.main_quick .quick_con .tit {display: flex; flex-direction: column; align-items: flex-start; gap: 4px;}
.main_quick .quick_con .tit span {font-size: 14px; color: #867da9;}
.main_quick .quick_con .tit p {font-size: 18px; font-weight: 600; color: #444;}
.main_quick .quick_con .icon {text-align: right;}


/* 배너슬라이드 */
.main_banner {width: 100%; position: relative; aspect-ratio: 3 / 1; border-radius: 12px; overflow: hidden;}
.main_banner .swiper-wrapper {height: 100%;}
.main_banner .swiper-slide {width: 100%; height: 100%;}
.main_banner .swiper-slide img {width: 100%; height: 100%; display: block; object-fit: cover;}
.main_banner .swiper-pagination {display: flex; align-items: center; position: absolute; bottom: 15px; left: initial; right: 15px; width: max-content; padding: 4px 12px 6px; border-radius: 40px; background-color: #88888850; color: #fff; gap: 5px; font-size: 14px;}
.main_banner .swiper-pagination span {color: #fff; font-weight: 300;}


/* 실시간 베스트 */
.sec_tit {display: flex; align-items: center; gap: 4px; padding-bottom: 20px;}
.sec_tit.no_bt {padding-bottom: 0;}
.sec_tit span {font-size: 18px; font-family: 'WavvePADO-Regular';}
.sec_tit i {display: block; width: 22px; height: 22px;}
.sec_tit i img {width: 100%; height: 100%; display: block; object-fit: contain;}

.tab_menu {width: calc(100% + 2.4em); padding: 0 1.2em 15px; display: flex; align-items: center; gap: 10px; overflow-x: auto; margin-left: -1.2em;}
.tab_menu span {font-size: 14px; color: #777; padding: 8px 20px; border-radius: 40px; border: 1px solid #aaa; min-width: max-content;}
.tab_menu span.on {color: #fff; background-color: #5834E8; border-color: #5834E8;}


.prd_list {display: flex; flex-direction: column; gap: 15px;}
.prd_con {display: flex; align-items: center; gap: 15px;}
.prd_con .prd_thumb {width: 110px; height: 110px; border-radius: 10px; overflow: hidden; position: relative;}
.prd_con .prd_thumb img {width: 100%; height: 100%; display: block; object-fit: cover;}
.prd_con .prd_thumb i {display: block; position: absolute; bottom: 8px; right: 8px;}
.prd_con .prd_thumb .btn_like {width: 40px; aspect-ratio: 1; background: url(../img/prd_like.png) no-repeat center/contain;}
.prd_con .prd_thumb .btn_like.on {background: url(../img/prd_like_on.png) no-repeat center/contain;}

.prd_info {display: flex; flex-direction: column; align-items: flex-start; gap: 15px; width: calc(100% - 125px);}
.prd_info .prd_name {display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%;}
.prd_info .prd_name span {font-size: 13px; color: #9380e0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden;}
.prd_info .prd_name p {font-size: 16px; font-weight: 600; line-height: 1.4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; overflow: hidden;}
.prd_info .price {display: flex; flex-direction: column; align-items: flex-start; gap: 2px;}
.prd_info .price .discount {display: flex; align-items: flex-end; gap: 5px;}
.prd_info .discount em {font-weight: 700; font-size: 16px; color: #FF3055;}
.prd_info .discount span {font-size: 12px; color: #888; font-weight: 400; text-decoration: line-through;}
.prd_info .price p {font-size: 16px; font-weight: 700;}

.btn_more {padding: 12px 10px; border-radius: 50px; background-color: #fbfaff; border: 1px solid #5834E8; text-align: center; margin-top: 30px;}
.btn_more span {font-size: 14px; color: #5834E8; font-weight: 500;}


/* 핫딜 */
.prd_info .time {font-size: 13px; font-weight: 800; color: #5834E8; background-color: #F0ECFF; padding: 5px 20px; border-radius: 50px;}
.prd_con.type1 {flex-direction: column;}
.prd_con.type1 .prd_info {gap: 12px; width: 100%;}
.prd_con.type1 .prd_info .price {padding-top: 3px;}
.prd_list.hot {display: grid; grid-template-columns: 1fr 1fr; gap: 25px;}
.prd_con.type1 .prd_thumb {width: 100%; aspect-ratio: 1 / 1; height: initial;}


/* 공동구매 */
.prd_group {width: calc(100% + 2.4em); padding: 40px 1.2em; background-color: #F9F9F9; margin-left: -1.2em; overflow: hidden;}
.groupSwiper .swiper-slide  {border-radius: 12px; overflow: hidden; box-shadow: 4px 4px 10px rgba(0, 0, 0, .05);}
.group_thumb {position: relative; width: 100%; height: 100%; overflow: hidden; aspect-ratio: 2 / 1;}
.group_thumb .time_box {display: flex; align-items: center; gap: 5px; padding: 6px 15px 8px; border-radius: 5px; background-color: #FF0E82; box-shadow: 4px 4px 10px 6px rgba(0, 0, 0, .05); width: max-content; position: absolute; top: 20px; left: 20px;}
.group_thumb img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; display: block; object-fit: cover;}
.group_thumb .time_box .icon {width: 17px; height: 18px; display: block; background: url(../img/group_time.png) no-repeat center/contain;}
.group_thumb .time_box span {font-size: 14px; font-weight: 700; color: #fff;}
.group_info {padding: 20px; background-color: #fff;}
.group_info .prd_info {width: 100%;}
.group_info .gr_like {display: flex; align-items: flex-end; justify-content: space-between; width: 100%;}

.group_info .gr_like .btn_like {width: 25px; aspect-ratio: 1; background: url(../img/group_like.png) no-repeat center/contain;}
.group_info .gr_like .btn_like.on {background: url(../img/group_like_on.png) no-repeat center/contain;}



/* 주변가게 */
.prd_list.store {gap: 30px;}
.store_con {display: flex; flex-direction: column; gap: 12px;}
.store_thumb {width: 100%; aspect-ratio: 2 / 1; border-radius: 12px; overflow: hidden;}
.store_thumb img {width: 100%; height: 100%; display: block; object-fit: cover;}
.store_info {display: flex; flex-direction: column; align-items: flex-start; gap: 15px;}
.store_info .store_name {display: flex; flex-direction: column; align-items: flex-start; gap: 6px;}
.store_name p {font-size: 16px; font-weight: 600;}
.store_name .sub {font-size: 14px; line-height: 1.4; color: #666; font-weight: 400; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;} 

.tag_box {display: flex; align-items: center; gap: 10px;}
.tag_box span {padding: 6px 15px; border-radius: 3px; font-size: 13px; font-weight: 500; line-height: 1;}
.tag_box .tag1 {color: #5834E8; background-color: #EDE9FF;}
.tag_box .tag2 {color: #555; background-color: #f2f2f2;}
.tag_box .tag3 {color: #fff; background-color: #5834E8; font-family: 'WavvePADO-Regular';}
.tag_box .tag4 {color: #fff; background-color: #FFA539; font-family: 'WavvePADO-Regular';}


.store_detail {display: flex; align-items: flex-end; justify-content: space-between; width: 100%;}
.store_left {display: flex; flex-direction: column; align-items: flex-start; gap: 10px;}
.store_opt {display: flex; gap: 6px; align-items: center;}
.store_opt > div {display: flex; align-items: center; gap: 3px; padding-right: 6px; border-right: 1px solid #ddd;}
.store_opt > div:last-child {border-right: none; padding-right: 0;}
.store_opt .score .icon {display: block; width: 16px; height: 16px; background: url(../img/star.png) no-repeat center/contain;}
.store_opt span {font-size: 14px; color: #555; display: flex; gap: 2px;}
.store_opt span em {font-weight: 700;}
.store_opt .distance .icon {display: block; width: 16px; aspect-ratio: 1; background: url(../img/distance.png) no-repeat center/contain;}
.store_opt .btn_map {font-size: 14px; color: #5834E8; font-weight: 500; border-bottom: 1px solid #5834E8;}

.store_detail .btn_like {width: 30px; aspect-ratio: 1; background: url(../img/group_like.png) no-repeat center/contain;}
.store_detail .btn_like.on {background: url(../img/group_like_on.png) no-repeat center/contain;}



/* 알림 */
.alarm_list {display: flex; flex-direction: column; width: 100%; padding-top: 10px;}
.alarm_con {display: flex; align-items: flex-start; gap: 10px; padding: 15px 0; border-bottom: 1px solid #eee;}
.alarm_con .prof {width: 30px; height: 30px; border-radius: 100%; overflow: hidden;}
.alarm_con .prof img {width: 100%; height: 100%; display: block; object-fit: contain;}
.alarm_box {display: flex; flex-direction: column; align-items: flex-start; gap: 10px; width: calc(100% - 40px);}
.alarm_box .text {display: flex; flex-direction: column; align-items: flex-start; gap: 5px;}
.alarm_box .text .tit {font-size: 15px; font-weight: 500;}
.alarm_box .text span {line-height: 1.4; font-size: 13px; color: #666; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.alarm_info {display: flex; align-items: center; gap: 4px;}
.alarm_info span {font-size: 13px; color: #aaa; font-weight: 400;}
.alarm_info i {display: block; width: 2px; height: 2px; border-radius: 100%; background-color: #ccc;}