/* contents CSS */

/* wrap */
.wrap{width:100%; max-width:768px; margin:auto; background-color:#192330; min-height: 100vh; min-height: 100svh;}

.wrap.full{display:flex; flex-direction:column; min-height:100%;}
.wrap.full .header{flex:none;}
.wrap.full .main{flex:1;}
.wrap.full .footer{flex:none;}

/* header */
.header {width:100%;}
.header_safe_area{width:100%; height:50px;}
.header_common_layout{width:100%; max-width:768px; height:50px; padding:0 20px; border-bottom:1px solid var(--gray); background-color:#000; position:fixed; left:50%; top:0; transform:translateX(-50%); z-index:100; display:flex; justify-content:center; align-items:center;}
.header_left{margin-right:auto;}
.header_center{margin-left:auto; margin-right:auto;}
.header_right{margin-left:auto;}
.header_logo{font-size:18px; font-weight:700; color:#fff;}
.header_title{font-size:20px; font-weight:700; color:#fff; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
.header_menu_btn{display:block; justify-content:center; align-items:center; cursor:pointer;}

/* bottom_tab */
.bottom_tab_safe_area{width:100%; height:68px;}
.bottom_tab{width:100%; max-width:768px; padding:6px 20px; background-color:#000; position:fixed; left:50%; bottom:0; transform:translateX(-50%); display:flex; justify-content:space-between; align-items:center;}
.bottom_tab li a{display:flex; flex-direction:column; justify-content:center; align-items:center;}
.bottom_tab li a .icon{width:32px; height:32px;}
.bottom_tab li a .icon img{width:100%; height:100%;}
.bottom_tab li a .icon.on{display:none;}
.bottom_tab li a .text{font-size:14px; font-weight:700; color:#ccc;}
.bottom_tab .active a .text{color:var(--main);}
.bottom_tab .active a .icon.on{display:block;}
.bottom_tab .active a .icon.off{display:none;}

.banner_swiper img{width:100%;}

/* main_card */
.main_card{width:100%; padding:20px; border-radius:6px; background-color:#2d3753; box-shadow:0 2px 10px rgba(0,0,0,.28); position:relative; overflow:hidden;}
.main_card .top{/*padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,0.1);*/ display:flex; justify-content:space-between; align-items:center;}
.main_card .top .name{font-size:20px; font-weight:700; color:#fff;}
.main_card .top .email{font-size:14px; font-weight:700; color:#fff; opacity:0.6;}
.main_card .top .logout{display:block; padding:4px 8px; font-size:12px; font-weight:600; background-color:#f7fbfd; border-radius:4px; cursor:pointer;}
.main_card .bottom{padding-top:20px; display:flex; justify-content:space-between; align-items:center;}
.main_card .bottom a{display:flex; flex-direction:column; justify-content:center; align-items:center;}
.main_card .bottom a .img{width:50px; height:50px;}
.main_card .bottom a .img img{width:100%; height:100%;}
.main_card .bottom a .text{font-size:14px; font-weight:500; color:#fff;}

/* sub_card */
.sub_card{width:100%; padding:12px; border-radius:6px; background-color:#f7fbfd; box-shadow:0 2px 10px rgba(0,0,0,.28); display:flex; justify-content:center; align-items:center;}
.sub_card li{width:100%; padding:0 6px; border-right:1px solid #f1f1f1; font-size:16px; font-weight:700;}
.sub_card li:last-child{border-right:none;}
.sub_card li a{display:flex; flex-direction:column; justify-content:center; align-items:center;}

/* direct_link_list */
.direct_link_list{width:100%; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows: 1fr; gap:10px;}
.direct_link_list li {background-color:#f7fbfd; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.28);}
.direct_link_list .important{background-color:var(--main);}
.direct_link_list li .text{margin-bottom:10px;}
.direct_link_list li .text .pre{font-size:14px; font-weight:600;}
.direct_link_list li .text .title{font-size:18px; font-weight:700;}
.direct_link_list li .img{width:35px; height:35px; margin-left:auto;}
.direct_link_list li .img img{width:100%; height:100%;}
.direct_link_list .direct_txt { width:100%; font-size: 18px; font-weight: 700; color:#000;}
.direct_link_list li a{width:100%; height:100%; padding:10px; font-size:14px; font-weight:700; display:flex; flex-direction:column; justify-content: space-between;}
.direct_link_list li a > div {width:100%; height:100%; display: flex; flex-direction: column; justify-content: space-between; }
.direct_link_list li a img{display:inline-block; margin-left:auto;}

/* point_card */
.point_card{width:100%; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.28); background-color:#ccc; overflow:hidden;}
.point_card.blue{background-color:#007aff;}
.point_card.green{background-color:#00ad55;}
.point_card.black{background-color:#000;}
.point_card.red{background-color:#dd1f1f;}
.point_card.black .bottom{background-color:rgba(255,255,255,0.1);}
.point_card .top{padding:12px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap;}
.point_card .top .title{font-size:16px; font-weight:600; color:#fff;}
.point_card .top .amount{font-size:20px; font-weight:700; color:#fff; letter-spacing:-0.2px; display:flex; justify-content:flex-end; align-items:center; gap:4px;}
.point_card .bottom{padding:12px; display:flex; justify-content:space-between; align-items:center; background-color:rgba(0,0,0,0.1);}
.point_card .bottom a{display:block; width:100%; border-right:1px solid rgba(255,255,255,0.3); text-align:center; font-size:14px; font-weight:500; color:#fff;}
.point_card .bottom a:last-child{border-right:none;}

/* title_card */
.title_card{width:100%; display:grid; grid-template-columns:repeat(3,1fr); grid-auto-rows: 1fr; gap:20px;}
.title_card .title{padding:12px; background-color:#ccc; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.28); font-size:18px; font-weight:700; color:#fff; text-align:center; position:relative;}
.title_card.blue .title{background-color:#007aff;}
.title_card.green .title{background-color:#00ad55;}
.title_card.black .title{background-color:#000;}
.title_card .title:after{content:""; display:block; width:20px; height:0; border-top:3px solid rgba(255,255,255,0.3); position:absolute; right:-20px; top:50%; transform:translateY(-50%);}
.title_card .content{padding:12px; background-color:#f7fbfd; border-radius:6px; box-shadow:0 2px 10px rgba(0,0,0,.28); grid-column: span 2}
.title_card .content .percent{margin-bottom:10px; font-size:18px; font-weight:700; color:#000; text-align:center;}
.title_card .content .amount{font-size:14px; font-weight:500; color:#000; opacity:.6; text-align:center;}

/* circle_progress */
.circle_progress{padding:10px; background-color:#f7fbfd; box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px; display:flex; flex-direction:column; justify-content:center; align-items:center;}
.circle_progress .icon{position:relative;}
.circle_progress .icon svg{display:block;}
.circle_progress .icon svg .track{fill:none; stroke:#000; stroke-width:5; opacity:0.1;}
.circle_progress .icon svg .runner{fill:none; stroke:var(--main); stroke-width:5; stroke-dasharray:251.2; stroke-dashoffset:calc(251.2 * (100 - var(--percent)) / 100); stroke-linecap:round; animation:circle_progress_motion 1.2s;}
.circle_progress .icon .percent{font-size:16px; font-weight:700; color:#000; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);}
.circle_progress .text{font-size:14px; font-weight:700; text-align:center;}

.circle_progress.red .icon svg .runner{stroke:red;}
.circle_progress.blue .icon svg .runner{stroke:blue;}

@keyframes circle_progress_motion {
  0%{stroke-dashoffset:251.2;}
}

/* notice_list_card */
.notice_list_card{padding:12px 20px; border-radius:6px; background-color:#f7fbfd; box-shadow:0 2px 10px rgba(0,0,0,.28);}
.notice_list_card .card_title{font-size:16px; font-weight:700; color:#000; opacity:0.6;}
.notice_list_card ul li{margin-bottom:5px; border-bottom:1px solid #f1f1f1;}
.notice_list_card ul li:last-child{border-bottom:none;}
.notice_list_card ul li a{padding:5px 0; display:flex; justify-content:space-between; align-items:center; gap:10px;}
.notice_list_card ul li a .title{width:100%; font-size:14px; font-weight:500; color:#000; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.notice_list_card ul li a .date{flex:none; font-size:13px; font-weight:500; color:#000; opacity:0.5;}

/* text_card_list */
.text_card_list{width:100%; padding:12px; background-color:#f7fbfd; box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px;}
.text_card_list li{display:flex; justify-content:space-between; align-items:center; gap:20px; padding-bottom:10px; margin-bottom:10px; border-bottom:1px solid #f1f1f1;}
.text_card_list li:last-child{padding-bottom:0px; margin-bottom:0px; border-bottom:none;}
.text_card_list .title{flex:none; font-size:14px; font-weight:400; word-break:break-all;}
.text_card_list .desc{font-size:14px; font-weight:700; word-break:break-all; }

/* 추천하기 */
.bg_referral { background: #101010; }
.referral_tit { padding: 20px 20px 0; text-align: center; }
.referral_tit p:first-child { font-size: 38px; line-height: 1.2; color:var(--white); }
.referral_tit p:last-child { font-size: 16px; }
.referral_box { position: relative; padding: 0 20px 20px; }
.referral_bg {background: linear-gradient(to top, var(--main) 50%, transparent 50%);}
.referral_box img { width:100%; max-width: 620px; height:100%; max-height: 430px; object-fit: contain; aspect-ratio: 6 / 5; margin: auto; }
.referral_box_card { margin: 0 20px 0; padding: 14px 20px; background:#fff;  border-radius: 10px; }
.referral_info li { display: flex; align-items: stretch; }
.referral_num { flex:none; display: block; width: 21px; height: 21px; display: flex; justify-content: center; align-items: center; background: #89949C; font-size: 12px; font-weight: 600; font-family: "montserrat"; border-radius: 50%; color:#fff; }
.referral_info li { font-size: 14px; font-weight: 500; }
.referral_fri_card { display: flex; justify-content: space-between; align-items: center; padding: 14px 20px; background:#fff; border-radius: 10px; width: calc(100% - 40px); margin: 10px auto 0; }
.referral_receive_section { background-color: #EBF3FE; padding: 42px 20px 50px; }
.referral_receive_img img { width: 100%; max-width: 370px; margin:0 auto; }
.referral_receive_card { text-align: center; background-color:#F2F2F2; padding: 14px 20px 20px; border-radius: 10px; }
.referral_receive_card p:last-child { line-height: 1.7; }
.referral_receive_col { margin-top: 28px; display: flex; gap: 10px; }
.referral_receive_col_card { display: flex; flex-direction: column; align-items: center; padding: 24px 20px; background-color:#f2f2f2; border-radius: 10px; flex: 1; gap: 10px; }
.referral_receive_col_card > span:first-child { background-color: #ebebeb; width: 80px; height: 80px; aspect-ratio: 1/1; border-radius: 50%; display: block; overflow: hidden; }
.referral_receive_col_card > span:first-child > img { width: 100%; height: 100%; object-fit: cover; }
.referral_tq_btn { border-radius: 10px; background-color:var(--main); padding: 10px 12px; color:#fff; }
footer.referral_receive_footer { padding-bottom: 120px; background-color: #F4F4F4; }
.referral_receive_info { background-color:#f2f2f2; padding: 20px; font-size: 14px; }
.referral_receive_info p:nth-of-type(1) { display: flex; align-items: center; gap: 5px; }

/* inquiry_tab */
.inquiry_tab{display:flex; justify-content:center; align-items:center;}
.inquiry_tab li{width:100%; height:60px; border-bottom:2px solid #f2f2f2;}
.inquiry_tab li a{display:flex; justify-content:center; align-items:center; width:100%; height:100%; font-size:16px; font-weight:700; color:#fff;}
.inquiry_tab .active{border-color:var(--main);}

/* inquiry_list */
.inquiry_list li { width: 100%;}
.inquiry_list li a{display:block; padding:20px; border-radius:6px; background-color:#f7fbfd; box-shadow:0 2px 10px rgba(0,0,0,.28);}
.inquiry_list li a .title { font-size: 16px; font-weight: 700; margin-bottom: 10px; word-break: break-all; }
.inquiry_list li a .state { font-size: 16px; font-weight: 700; }
.inquiry_list li a .date { font-size: 14px; font-weight: 400; color:#B1B1B1;}
.inquiry_list li a .state.wait { color:#f00;}
.inquiry_list li a .state.complete {color: #090;  }

/* notice_list */
.notice_list{width:100%; display:flex; flex-direction:column; gap:10px;}
.notice_list li{width:100%;}
.notice_list li a{width:100%; padding:10px; border-radius:6px; background-color:#f7fbfd; box-shadow:0 2px 10px rgba(0,0,0,.28); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.notice_list li a .title{font-size:16px; font-weight:700; color:#000;}
.notice_list li a .date{font-size:14px; font-weight:500; flex:none;  color:#000;}

/* pagination */
.pagination{display:flex; align-items:center;}
.pagination li{width:26px; height:26px; margin-right:4px;}
.pagination li:last-child{margin-right:0;}
.pagination li a{display:flex; justify-content:center; align-items:center; width:100%; height:100%; font-size:14px; font-weight:500; color:#b1b1b1;}
.pagination .page.active{border-radius:4px; background-color:var(--main);}
.pagination .page.active a{color:#fff;}

/* copyright */
.copyright{font-size:12px; font-weight:400; text-align:center; color:#fff; opacity:0.4;}

/* label */
label.design{display:inline-block; width:100%; font-size:16px; font-weight:500; color:rgba(255,255,255,0.9);}
label.design small{display:inline-block; width:100%;}
label.design .help{font-size:14px;}

/* input */
input.design{width:100%; padding:12px 25px; background-color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px; font-size:16px; font-weight:500;}
input.design::placeholder{font-size:16px; font-weight:400; color:rgba(34,34,34,.4);}

input.design:read-only{background-color:#ddd; color:#000 !important; cursor:inherit;}
input.not_readonly:read-only{background-color:#fff;}

input.design:disabled{background-color:#ccc;}
input.not_disabled:disabled{background-color:#fff;}

/* checkbox */
label.checkbox{display:inline-flex; justify-content:flex-start; align-items:center; gap:10px;}
label.checkbox input{display:none;}
label.checkbox .icon{display:block; width:24px; height:24px; border-radius:4px; background-color:#f1f1f1; cursor:pointer; position:relative;}
label.checkbox .text{font-size:14px; font-weight:500; color:rgba(255,255,255,0.5); cursor:pointer;}
label.checkbox input + .icon::after{content:"V"; display:block; font-size:14px; font-weight:700; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#ccc;}
label.checkbox input:checked + .icon{background:var(--main);}
label.checkbox input:checked + .icon::after{color:#fff;}
label.checkbox input:checked ~ .text{color:var(--white);}
label.checkbox input:checked ~ .text_agree{color:var(--black);}


label.checkbox.black .icon{display:block; width:24px; height:24px; border-radius:4px; background-color:#f1f1f1; cursor:pointer; position:relative;}
label.checkbox.black .text{font-size:14px; font-weight:500; color:rgba(0,0,0,0.5);}
label.checkbox.black input + .icon::after{content:"V"; display:block; font-size:14px; font-weight:700; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); color:#ccc;}
label.checkbox.black input:checked + .icon{background:#000;}
label.checkbox.black input:checked + .icon::after{color:#fff;}
label.checkbox.black input:checked ~ .text{color:#000 ;}

/* select */
/* select.design{width:100%; padding:12px 25px; box-shadow:var(--select-shadow); border:var(--select-border); border-radius:var(--select-radius); background-color:var(--white); font-size:16px; font-weight:400; position:relative; }
select.design::before{content:""; display:block; width:14px; height:14px; border-top:1px solid var(--black); border-right:1px solid var(--black); position:absolute; top:50%; right:10px; transform:translateY(-50%);} */
label:has(select.design){position:relative;}
label:has(select.design) select.design{width:100%; padding:12px 25px; box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px; background-color:#fff; font-size:16px; font-weight:400;}
label:has(select.design)::before{content:""; display:block; width:8px; height:8px; border-bottom:2px solid var(--black); border-right:2px solid var(--black); position:absolute; top:37%; right:20px; transform:translateY(-50%) rotate(45deg);}

.select_designbox{width:100%; padding:12px 25px; box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px; background-color:#fff; font-size:16px; font-weight:400; position: relative;}
.select_designbox::before{content:""; display:block; width:8px; height:8px; border-bottom:2px solid var(--black); border-right:2px solid var(--black); position:absolute; top:37%; right:20px; transform:translateY(-50%) rotate(45deg);}


/* textarea */
textarea.design{width:100%; padding:12px 25px; background-color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px; font-size:16px; font-weight:500; resize:none;}
textarea.design::placeholder{font-size:16px; font-weight:400; color:rgba(34,34,34,.4);}

/* button */
button.design{width:100%; height:50px; background:var(--main); box-shadow:0 2px 10px rgba(0,0,0,.28); border-radius:6px; font-size:18px; font-weight:500; cursor:pointer; color:#fff;}
button.design:disabled{border:solid 1px rgba(0,0,0,.05); background-color:#e6e6ea; color:#fff;}
button.design.red{background-image:none; background-color:red; color:#fff;}
button.design.gray{background-image:none; background-color:#999;}
button.design.blue{background-image:none; background-color:#008;}
button.design.white{background-image:none; background-color:#000;}
button.design.black{background-image:none; background-color:fff;}
button.design.small{width:auto; height:50px; padding:0 16px; font-size:16px; border-radius:4px;}
.link_btn { width:max-content; padding:0 20px; height:40px; background:var(--sub); border-radius:6px; font-size:16px; font-weight:500; cursor:pointer; }
.btn{width:100%; height:50px; box-shadow:0 2px 10px rgba(0,0,0,.28); background:var(--main); border-radius:6px; font-size:18px; font-weight:700; cursor:pointer; display:inline-flex; justify-content:center; align-items:center; color:#fff; transition:all 0.3s;}
.btn.small{width:auto; height:50px; padding:0 16px; font-size:16px; border-radius:4px;}
.btn.disabled{border:solid 1px rgba(0,0,0,.05); background-color:#e6e6ea; color:#fff;}

/* badge */
.badge{font-size:16px; padding:8px 16px; font-weight:700; border-radius:100vw; background-color:#ccc; color:#000;}
.badge.red{background-color:red; color:#fff;}
.badge.green{background-color:green; color:#fff;}
.badge.blue{background-color:blue; color:#fff;}
.badge.yellow{background-color:yellow; color:000;}
.badge.gold{background-color:gold; color:000;}
.badge.small{font-size:10px; padding:5px 10px;}
.badge.regular{font-size:11px; padding:5px 10px;}
.badge.medium{font-size:12px; padding:6px 12px;}
.badge.large{font-size:13px; padding:6px 12px;}

/* login logout */
.login{display:block; padding:4px 8px; font-size:12px; font-weight:600; background-color:#f7fbfd; border-radius:4px; cursor:pointer;}
.logout{display:block; padding:4px 8px; font-size:12px; font-weight:600; background-color:#f7fbfd; border-radius:4px; cursor:pointer;}

/* help_text */
.help_text{font-size:14px; font-weight:500; color:red;}

/* login_logo */
.login_logo{margin:40px 0; font-size:58px; font-weight:700; text-align:center; color:#fff;}
.login_logo img {  margin:0 auto;
  width:200px;
}
/* terms_box */
.terms_box { max-height: 200px; overflow-y: auto; white-space: pre-line; padding: 8px 16px; border-radius: 6px; box-shadow:0 2px 10px rgba(0,0,0,.28); font-size: 12px; font-weight: 400; background-color:#fff; box-shadow:0 2px 10px rgba(0,0,0,.28);}

/*tree*/
.seearch_img { position: absolute; top: 50%; right: 30px; transform: translateY(-50%); cursor: pointer; }
.search_inputbox { position: relative; }
.container_tree { position: relative; overflow: auto; }
.tree1 ul { padding-top: 15px; position: relative; display: flex; }
/* .tree1 a {display:block; height:100%;} */
.tree1 li { text-align: center; position: relative; padding: 18px 5px 0 5px; }
.tree_wrap { width:100%; max-width:768px; margin:0 auto; padding:0 10px; overflow:auto; }
.user_infom { word-break: break-all; border: 2px solid #c3c3c3; display: inline-block; width: 190px; border-radius: 6px; }
.tree_idbox { display:flex; align-items: center; justify-content: center; padding:4px; border-radius: 4px 4px 0 0; color:#fff; background-color:#353648;
  min-height:30px; font-weight:600; height:auto; font-size:12px; }
.set1 { width:100%; height:1px; margin:0 auto; }
.tree_imgbox img { width:30px; margin:0 auto; display: block;}
.tree_imgbox, .tree_datebox { padding:8px 0; font-size:10px; font-weight:400; color:#fff;}
.tree_namebox { font-size:12px; font-weight:600; padding-top:4px; word-break: break-all; color:#fff;}
.tree_search { padding:0 20px; }
.tree_imgbox { border-bottom:1px solid #ddd; }
.container_tree { -ms-overflow-style: none; scrollbar-width: none; }
.container_tree::-webkit-scrollbar { display:none; }
/*li 단독속성 (ul의 지정요소가 그 부모의 유일한 자식요소인 경우) */
.tree1 li:only-child { padding-top: 0; margin: auto; }
/* after, before 이벤트 */
.tree1 li::before, .tree1 li::after { content: ''; position: absolute; top: 0; right: 50%; border-top: 2px solid #c3c3c3; width: 50%; height: 18px; }
.tree1 li::after { right: auto; left: 50%; border-left: 2px solid #c3c3c3; }
.tree1 li:only-child::after, .tree1 li:only-child::before { display: none; }
.tree1 li:first-child::before, .tree1 li:last-child::after { border:none; }
.tree1 li:last-child::before { border-right: 2px solid #c3c3c3; border-radius: 0 5px 0 0; -webkit-border-radius: 0 5px 0 0; -moz-border-radius: 0 5px 0 0; }
.tree1 li:first-child::after { border-radius: 5px 0 0 0; -webkit-border-radius: 5px 0 0 0; -moz-border-radius: 5px 0 0 0; }
.tree1 ul ul::before { content: ''; position: absolute; top: 0; left: 50%; border-left: 2px solid #c3c3c3; width: 0; height: 15px; }

/* hover 이벤트 */
.tree1 li a:hover+ul li::after, .tree1 li a:hover+ul li::before, .tree1 li a:hover+ul::before, .tree1 li a:hover+ul ul::before{ border-color: var(--main); }
.tree1 li a div:hover, .tree1 li a:hover+ul li a div { border: 2px solid var(--main); cursor:pointer; }
.tree1 li a div:hover > p:nth-child(1) { background:var(--main); color:var(--black); }
.tree1 li a:hover+ul li a div p:nth-child(1) {  background:var(--main); color:var(--black);}
.tree1 li a div:hover, .tree1 li a:hover+ul li a div { border: 2px solid var(--main); }

/* popup */
.popup_bg{position:fixed; left:0; top:0; width:100%; height:100%; background-color:rgba(0,0,0,0.8);  z-index:9999;}
.popup_box{position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:334px; padding:20px; border-radius:6px; background-color:#fff;}
.popup_title{font-size:22px; font-weight:700; text-align:center; margin-bottom:10px; word-break:break-all; color:#000; padding-bottom:4px;}
.popup_content{font-size:16px; font-weight:400; max-height:300px; overflow-y:auto; margin-bottom:20px; overscroll-behavior:none; word-break:break-all; color:#000;  padding-bottom:4px;}
.popup_button_box{display:flex; align-items:center;}
.popup_button_box button{margin-right:20px; font-size:14px;}
.popup_button_box button:last-child{margin-right:0px;}

/* sweet_alert */
.swal2-confirm {background-color:var(--main) !important; }
.swal2-styled.swal2-confirm:focus { box-shadow: none !important; }
.swal2-title {font-size:30px!important; padding:0 !important; }

.title_sweet { font-size:20px; color:#212121; }
.desc_sweet { font-size:15px; color:#212121; font-weight: 400; }
.swal2-styled { margin:0 !important; }
.swal2-actions:not(.swal2-loading) .swal2-styled:active { background-image: none !important; }
.swal2-styled.swal2-default-outline:focus, .swal2-styled.swal2-cancel:focus { box-shadow: none !important; }
.swal2-actions:not(.swal2-loading) .swal2-styled:hover { background-image: none !important; }
.swal2-actions .swal2-styled.swal2-cancel { margin-left:10px !important; border:1px solid var(--line); }
.swal2-popup {width:400px !important; padding:20px !important;}
.swal2-actions {margin-top:10px !important;}
.swal2-styled.swal2-confirm {font-size:14px !important; height:40px !important;}
.swal2-styled.swal2-cancel {font-size:14px !important;  height:40px !important;}
.swal2-html-container{margin:10px 0 0 !important; font-size:unset !important}
/*}
.title_sweet{font-size:22px !important; color:#000 !important;}
.desc_sweet{font-size:16px !important; font-weight:400; color:#000 !important;}
.swal2-styled.swal2-confirm{width:100% !important;background-color:var(--main) !important; font-size:14px !important; font-weight:500; color:#fff !important; margin:0 !important; }
.swal2-styled.swal2-cancel{width:100% !important; background-color:#999 !important; font-size:14px !important;; font-weight:500; }
.swal2-actions{width:100% !important; padding:0 20px !important; flex-wrap:unset !important;}
.swal2-actions:not(.swal2-loading) .swal2-styled:hover {background-image: none !important;}
.swal2-actions:not(.swal2-loading) .swal2-styled:active {background-image: none !important;}
.swal2-styled.swal2-confirm:focus {box-shadow: none !important} */
/* recommender */
.reco_data { width: max-content; padding: 10px; text-align: center; margin-left: auto; background-color: var(--white); border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,.28); }

/*231113 코인*/
.coin_list{width:100%; overflow:hidden;}
.coin_list_no_data{height:68px; text-align:center; border:1px solid #efefef; display:flex; justify-content:center; align-items:center; font-size:18px; font-weight:700; border-radius:6px; box-shadow:1px 1px 2px rgb(226 226 226 / 30%);}
.coin_list li{position:relative; margin-bottom:14px;}
.coin_list li:last-child{margin-bottom:0px;}
.coin_list_info{padding:10px 16px; border:1px solid #efefef; border-radius:6px; box-shadow:1px 1px 2px rgb(226 226 226 / 30%); display:flex; align-items:center; cursor:pointer; position:relative; background-color:#fff; transition:transform 0.3s;}
.coin_list_info .coinimg{flex:none; width:46px; height:46px; margin-right:10px; border-radius:50%; display:flex; justify-content:center; align-items:center;}
.coin_list_info .coinimg img{display:block; width:100%; height:100%; object-fit:contain; object-position:center;}
.coin_list_info .text_area{display:flex; justify-content:space-between; align-items:center; width:100%;}
.coin_list_info .text_area .name{font-size:16px; font-weight:700;}
.coin_list_info .text_area .amount{font-size:16px; font-weight:700;}
.coin_list_info .text_area .price{font-size:14px; font-weight:400; color:var(--gray); text-align:right;}
/* 메인페이지 내 지갑목록에서 거래내역 1개일경우에만 */
.coin_list_info.coin_list_listinfo.active{transform:translateX(-100px);}
/* 메인페이지 내 지갑목록에서 거래내역 3개일경우에만 */
.coin_list_info.active{transform:translateX(-270px);}
.coin_list_button { width: 80px; height: 60px; background-color: var(--main); color: #fff; font-size: 12px; font-weight: 700; border-radius: 6px;}
/* coin_list_button_box */
.coin_list_button_box{display:flex; align-items:center; position:absolute; right:0; top:50%; transform:translateY(-50%);}
.coin_list_button_box button{margin-right:10px;}
.coin_list_button_box button:last-child{margin-right:0;}
.label_search{display:block; position:relative;}
.label_search .text{display:block; font-size:16px; font-weight:700; margin-bottom:4px;}
.label_search .help{display:block; font-size:12px; font-weight:500; margin-top:4px;}
.label_search img{position:absolute; right:10px; top:46px; cursor:pointer; width:14px;}
.border-bottom{border-bottom:1px solid #EFEFEF;}
.box_gray {padding: 14px 10px; border-radius: 6px; background-color: #f2f2f2; font-size: 14px; font-weight: 400; text-align: center;
word-break: break-all;}
.button_box { display: grid; grid-template-columns: repeat(2,1fr); grid-column-gap: 20px;}
.flex_col_center{display:flex; flex-direction:column; justify-content:center; align-items:center;}
/* pin_box */
.pin_box{display:flex; justify-content:center; align-items:center;}
.pin_box span{display:block; width:38px; height:38px; border-radius:6px; background-color:var(--light_gray); margin-right:6px; position:relative; overflow:hidden;}
.pin_box span:last-chld{margin-right:0px;}
.pin_box .active:before{content:"*"; text-align:center; line-height:46px; font-size:20px; color: var(--main_font_color); background-color:var(--main); position:absolute; left:0; top:0; width:100%; height:100%;}
/* keypad */
.keypad{display:grid; grid-template-columns:repeat(3,1fr);}
.keypad p{width:100%; height:78px; background-color:#fff; border-radius:unset; padding:0; font-size:26px; display:flex; justify-content:center; align-items:center; color:#000;}
.keypad button{width:100%; height:78px; background-color:#fff; border-radius:unset; padding:0; font-size:26px; display:flex; justify-content:center; align-items:center; color:#000;}
.keypad a{display:block; width:100%; height:78px; background-color:#fff; border-radius:unset; padding:0; font-size:26px; font-weight:700; display:flex; justify-content:center; align-items:center; color:#000;}

.lang_change { width:24px; height:24px; overflow: hidden; margin-right:4px;}
.lang_change img { max-width:100%; height:100%; display: block;}
.lang_mainbox {background: #212121; height:40px; padding: 8px 16px; border-radius: 4px; display: flex; align-items: center; cursor:pointer; font-weight: 700;}
.lang_mainbox img {margin-right:4px;}

.box_go { background-color: #fff; border-radius: 100vw; padding: 8px 16px; font-size: 16px; font-weight: 700; color: #000; cursor:pointer;  }
.visual .box_go img {width:24px; height:24px;}

.send_email_box {background: var(--white); border-radius: 10px; padding:20px; font-weight: 700;}
.send_email_box span {color:var(--blue);}
.spam_info {color:var(--warning);}

.main_img {width:150px;}
.progress_wrap {flex-wrap: wrap; margin-top:20px;}
.progress_wrap h2 {display: inline-block; padding-bottom: 10px; margin-bottom:20px;}
.progress_wrap h2 {display: inline-block; padding-bottom: 10px;  border-bottom:2px solid #191C1E;}
.progress_box {width:100%; padding: 20px; background-color: #fff; border-radius: 6px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); margin-bottom:20px;}
.progress_box li:nth-child(odd){display: flex; justify-content: space-between; align-items: center;}
.progress_box.half {width:48%;}
.progress_bar{width:100%; margin:10px 0; background-color: #EAEAEA; border-radius: 6px;}
.gage_bar { width: 0%; height:20px; background-color:var(--main); border-radius: 6px; transition: width 1s; }
.gage_num {color:var(--white); position: relative; top:-2px; left:6px; font-weight: 500;}

.shopping_list{display:grid; grid-template-columns:repeat(2,1fr); grid-column-gap:20px; grid-row-gap:20px;}
.shopping_list li a{display:block; border:1px solid #f1f3f5; border-radius: 10px; overflow: hidden;}
.shopping_list li a .img{width:100%; height:0; padding-top:100%; margin-bottom:10px; border-radius:10px; overflow:hidden; position:relative;}
.shopping_list li a .img img{width:100%; height:100%; object-fit:contain; object-position:center; position:absolute; left:0; top:0;}
.shopping_list li a .title{font-size:16px; font-weight:700; margin-bottom:10px; word-break: break-all; color:var(--black);}
.shopping_list li a .price{font-size:16px; font-weight:700; color:var(--black);}
.shopping_list li a .price .discount{margin-left:10px; font-size:12px; font-weight:500; color:var(--gray); text-decoration:line-through;}
.box_txt {background: var(--white); padding:10px;}

/* shopping_view */
.shopping_product_img{width:100%; height:0; padding-top:56.25%; position:relative;}
.shopping_product_img img{width:100%; height:100%; position:absolute; left:0; top:0; object-fit:contain; object-position:center;}
.shopping_product_info .title{font-size:16px; font-weight:700; margin-bottom:20px; word-break: break-all; color:var(--white);}
.shopping_product_info .price{font-size:18px; font-weight:700; color:var(--white);}
.shopping_product_info .price .discount{font-size:12px; font-weight:500; color:var(--gray); text-decoration: line-through; margin-left:6px; color:var(--white);}
.shopping_product_order .amount{display:flex; justify-content:space-between; align-items:center; margin-bottom:30px; color:var(--white);}
.shopping_product_order .amount .text{font-size:14px; font-weight:500;}
.shopping_product_order .amount .button{display:flex; align-items:center; justify-content:center;}
.shopping_product_order .total_price{display:flex; justify-content:space-between; align-items:center;}
.shopping_product_order .total_price .text{font-size:14px; font-weight:500; color:var(--white);}
.shopping_product_order .total_price .price{font-size:18px; font-weight:700; color:var(--white);}
.shopping_product_detail  {margin-bottom:60px;}
.shopping_product_explain p{margin:20px 0;  font-weight:500;}
.shopping_product_explain p img{width:100%; border:1px solid #efefef; max-width:100%;}
.button_safe_area{width:100%; height:82px;}
.bottom_button_box{width:100%; max-width:768px; padding:0 20px; position:fixed; left:50%; bottom:10px; transform:translateX(-50%); display:flex; justify-content:center; align-items:center;}
.bottom_button_box button{display:block;}
hr.type2 { border-top: 10px solid #F8F9FB;}
.minus_btn, .plus_btn { width: 28px; height: 28px; font-size: 18px; border-radius: 50%; padding: 0; background: var(--graye)}
.plus_active { background-color: var(--main); color: var(--white);}
.shopping_amount_in{width:40px; text-align:center; font-size:16px; font-weight:700; color:var(--white);}

.text_list{width:100%; padding:16px; border-radius:6px; border:1px solid #f1f3f5;}
.text_list li{display:flex; justify-content:space-between; align-items:center; padding-bottom:14px; margin-bottom:14px; border-bottom:1px solid #f1f3f5;}
.text_list li:last-child{padding-bottom:0px; margin-bottom:0px; border-bottom:none;}
.text_list .title{flex:none; font-size:14px; font-weight:500; color:#fff;}
.text_list .desc{font-size:14px; font-weight:700; word-break: break-all; text-align:right; color:#fff;}
.send_btn_w {display: flex; align-items: center; gap:10px;}
.send_btn_w button {max-width:100px;}

/* shopping_history_data */
.shopping_history_data{width:100%; display:flex; align-items:center;}
.shopping_history_data a {display:block; width:100%; height:100%;}
.shopping_history_data a .state{font-size:14px; font-weight:700; margin-bottom:10px;}
.shopping_history_data a .info{display:flex; justify-content:center; align-items:center;}
.shopping_history_data a .info .img{flex:none; width:94px; height:94px; margin-right:20px;}
.shopping_history_data a .info .img img{width:100%; height:100%; object-fit:contain; object-position: center;}
.shopping_history_data a .info .text{width:100%;}
.shopping_history_data a .info .text .title{font-size:16px; font-weight:700; margin-bottom:10px; word-break: break-all;}
.shopping_history_data a .info .text .option{font-size:14px; font-weight:500; color:#b1b1b1; margin-bottom:10px;}
.shopping_history_data a .info .text .price{font-size:18px; font-weight:700;}
.shopping_history_data a .info .text .price .discount{font-size:12px; font-weight:500; color:#b1b1b1; text-decoration: line-through; margin-left:4px;}

.shopping_history_data {display:block; width:100%; height:100%; padding:20px;}
.shopping_history_data .state{font-size:14px; font-weight:700; margin-bottom:10px;}
.shopping_history_data .info{display:flex; justify-content:center; align-items:center;}
.shopping_history_data .info .img{flex:none; width:94px; height:94px; margin-right:20px;}
.shopping_history_data .info .img img{width:100%; height:100%; object-fit:contain; object-position: center;}
.shopping_history_data .info .text{width:100%;}
.shopping_history_data .info .text .title{font-size:16px; font-weight:700; margin-bottom:10px; word-break: break-all; color:var(--white);}
.shopping_history_data .info .text .option{font-size:14px; font-weight:500; color:#b1b1b1; margin-bottom:10px;}
.shopping_history_data .info .text .price{font-size:18px; font-weight:700; color:var(--white);}
.shopping_history_data .info .text .price .discount{font-size:12px; font-weight:500; color:#b1b1b1; text-decoration: line-through; margin-left:4px;}
.payment_btn {border:1px solid #979696;   height: 52px; padding: 8px 16px; border-radius: 4px; font-size: 16px; font-weight: 700; color:var(--white);}
.payment_btn.active { border: 1px solid var(--main); background-color: var(--white); color: var(--main);}
.text_list .desc.text_blue {color:var(--blue);}
.data_bg {background: var(--white); border-radius: 6px;}
.shopping_history_data .info .text .title.color_black {color:var(--black);}
.shopping_history_data .info .text .price.color_black {color:var(--black);}
.text_list_v {border:none;}
.myshop_point { padding:20px 20px 0;}
.myshop_point_box {background: var(--white); display: flex; justify-content: space-between; align-items: center; padding:10px; border-radius: 8px; font-weight: 700; font-size:16px;}
.myshop_point_box span:nth-child(2) {color:blue;}
.allowance_list table {color:var(--white); width:100%; text-align: center;}
.allowance_list tr {border-bottom:1px solid #f1f3f5;}
.allowance_list td {width:33%;  padding:14px 0; font-size:16px; font-weight: 500;}
.allowance_list th {padding:10px 0;  width:33%;}
.allowance_btn  {color:var(--white); background: var(--main); border-radius: 8px; display: block; max-width:80px; margin:0 auto;}
.allowance_btn span {display: inline-block;  padding:10px 0;  width:max-content; height:100%; font-weight: 500; font-size:14px;}
@media screen and (max-width:767px){
  .login_logo img {width:200px;}
}


@media screen and (max-width:500px){
  .coin_list_info .text_area { flex-direction: column; justify-content: center; align-items: flex-start;  }
  .coin_list_info .text_area .price { text-align: left; }
  .text_card_list li{flex-direction: column;  align-items: start; gap:10px;}
  .direct_link_list {  grid-template-columns: repeat(2, 1fr);}
}
