.no_btn:focus-visible{outline:none;}
.underline{text-decoration: underline !important; }
.swiper-wrapper{height: auto;}
/*온보딩*/
.sns_button{position:relative;}
.last_login{position: absolute;left: 50%; transform: translateX(-50%);  top: -80%; display:none; line-height: normal; text-wrap-mode: nowrap; color:var(--primary-200); padding:0.7rem 1.8rem; font-size:1.2rem; font-weight:700; border-radius:5rem; background-color:#E3EFFF;}
.last_login img{position: absolute;left: 50%; transform: translateX(-50%); top: 90%;}
.sns_button.on .last_login{display:inline-block;}
.swiper-pagination-bullet-active {opacity: var(--primary-100, 1);  background: var(--primary-100);}
/*메인 - 질문 답변 헤더*/
.hd_m.qa_header{padding:3rem 1.6rem 1rem; height: 7rem !important;}
.is_ios_app .hd_m.qa_header {
    padding-top: calc(env(safe-area-inset-top) + 3rem) !important;
    height: calc(env(safe-area-inset-top) + 7rem) !important;}

.wrap.home{padding-top: 7rem;}
.is_ios_app .body_wrap {padding-top: env(safe-area-inset-top);}

.wrap.home > .idx_pg {display: flex; flex-direction: column; background: linear-gradient(180deg, rgba(255, 255, 255, 1) 500px, rgba(93, 160, 255, 0.3) 1200px);}
.hd_m.qa_header .head_nav li{position:relative;}
.hd_m.qa_header .head_nav li.help_tab .qa_speech_bubble p{color: #fff; font-size: 0.9rem;  font-weight: 700; line-height: 150%;}
.qa_speech_bubble{position: absolute; top: -2.5rem; left: 0;background: linear-gradient(270deg, #9CC0FF, #6C97FF 100%);  width: 100%;  min-width: 13.2rem;   text-align: center;  border-radius: 5rem;  white-space: nowrap;  padding: 0.4rem;}
.qa_speech_bubble img{position: absolute; top: 75%; left: 17%; z-index: -1;}

/*메인 - 투표*/
.main_top{margin-bottom:1rem;}
.home .main_top {margin-bottom: 0;}
.main_vote{padding: 1rem 1.6rem 0rem; background:linear-gradient(to bottom, rgba(255, 255, 255, 0) 85%, #fff 100%),
    url('../img/vote_bg.jpg') no-repeat;; /*background: url(../img/vote_bg.jpg) no-repeat;*/ background-size: 100% auto; background-position: top center;}
.vote{background-color: rgba(255, 255, 255, 0.9); border:0; border-radius: 1.5rem; overflow: hidden; box-shadow: 0 0 5px rgba(80, 93, 136, 0.15); }
.vote .vote_img{width: 100%; aspect-ratio: 84 / 61;}
.vote .vote_img img{width: 100%; aspect-ratio: 84 / 61; object-fit: cover;}
.vote_text{padding: 1rem 0.8rem 1.2rem;}
.vote_choice ul li{display:flex; align-items: center; width:100%; padding:1rem; gap:1rem; border:0.1rem solid #fff; border-radius:1rem; background-color:#fff;}
.vote_choice ul li:nth-child(1){margin-bottom:0.5rem;}
.vote_choice ul li.on{ border:0.1rem solid var(--primary); border-radius:1rem; background-color:var(--primary-light);}
.vote_choice ul li .vote_s_img{min-width:5rem; max-width:5rem; aspect-ratio: 1 / 1; object-fit: cover;border:0.1rem solid #F4F6FA; background-color:#fff; overflow:hidden; border-radius:1rem;}
.vote_choice ul li .vote_s_img img{width: 100%; aspect-ratio: 1 / 1; object-fit: cover;}
.vote_choice ul li .percent{font-size:1.2rem; font-weight:500; color:var(--gray-700);}
.vote_choice ul li.on .percent{color:var(--primary-200)}
.vote_choice ul li .progress{background-color: #E2E5ED; width:100%; }
.vote_choice ul li .progress .progress_bar{display:inline-block; background-color: var(--gray-300); border-radius:5rem;}
.vote_choice ul li.on .progress .progress_bar{background-color: var(--primary);}

/*메인 - 베너*/
.main-banner{padding:0 1.6rem;}
.main-banner img{ border-radius:1.5rem; overflow:hidden;}

/*메인 교사 인증*/
.teacher_certification{position: relative; min-height: 31rem;  max-height: 90dvh;  overflow: hidden;}
.teacher_certification .certification_box{position: absolute; left: 0;  display: flex;  width: 100%;  height: 100%;  text-align: center;  justify-content: center;  align-items: center; -webkit-backdrop-filter: blur(1.5rem); background-color: rgba(255, 255, 255, 0.3); backdrop-filter: blur(1.5rem);}
.teacher_certification .certification_box .no_mt_approval_text_div{
    width: 100%;
    position: absolute;
    left:50%;
    top: 50%;
    /*top: 25%;*/
    transform:translate(-50%,-50%);
}
.certification_box{display: none;}
.certification_box button{width: 100%; max-width: 20rem; height: 5.4rem;  font-size: 1.6rem; font-weight: 800;  border-radius: 1.2rem;}
.main_top + .teacher_certification.main_mid{max-height: 60dvh; min-height: 50dvh;}
.main_top + .main_mid{max-height: auto; min-height: 50dvh;}
.main_top + .main_mid .no_data_box{max-height: 60dvh; min-height: 50dvh;}

.certifi_top{padding:1.6rem; border-radius:1.6rem; background-color:#E9F3FF;}
.certifi_top p{color: var(--primary-200);}
.reject_top{padding:1.6rem; border-radius:1.6rem; background-color:#F4F6FA;}
.reject_top p{color:#59667c;}

/*메인 메뉴*/
.bt_menu .img_on { display: none; }
.bt_menu li.on .img_on { display: block; }
.bt_menu li.on .img_off { display: none; }
.main_dropdown .custom-select2:after {content: '';  display: block;  width: 1.7rem;  height: 1.7rem;  background: url(../img/ic_down.png) no-repeat center center;  background-size: 1.7rem;  right: 1rem;  top: 50%; opacity:0.5;}
.main_dropdown .custom-select2{padding: 0.5rem 2.6rem 0.5rem 1.5rem;}

/*메인 리스트*/
.main_mid{padding:0 1.6rem 5rem; flex:1 1 auto; min-height: 24rem; /*background: linear-gradient(180deg,rgba(255, 255, 255, 0.2) 0%, rgba(93, 160, 255, 0.2) 100%);*/}
.is_ios_app .main_mid {padding-bottom: calc(5rem + env(safe-area-inset-bottom));}
.small_profile{min-width:3.4rem; max-width:3.4rem; aspect-ratio: 1 / 1; border-radius:50%; overflow:hidden;}
.small_profile img{width: 100%; aspect-ratio: 1 / 1; object-fit: cover;}
.dropdown.small .form-control{height: 3.4rem; border-radius: 5rem; width: auto; margin-left: auto; border: 0; margin-top: 0.2rem; box-shadow: 0 0 5px rgba(80, 93, 136, 0.15);}
.dropdown.small .dropdown-menu{left: unset !important;  right: 0;  top: 100% !important;  width: auto;  transform: unset !important; border: 0; box-shadow: 0 0 5px rgba(80, 93, 136, 0.15);}
.g_7line{display:inline-block; width:.1rem; height:.7rem; background-color:#D5DDE1;}
.cheer_box, .warm_box, .help_box, .comment_box{display: flex;  gap: .3rem; align-items: center; background-color: transparent; border: 0;}
.comment_box img{width:1.8rem;}
.cheer_box .cheer{display:inline-block; background:url(../img/cheers.png)no-repeat; background-size: cover; background-position: center -1px; width:1.8rem; aspect-ratio: 1 / 1; }
.warm_box .warm{display:inline-block; background:url(../img/warm.png)no-repeat; background-size: cover; width:1.8rem; aspect-ratio: 1 / 1; }
.help_box .help{display:inline-block; background:url(../img/help.png)no-repeat; background-size: cover; width:1.8rem; aspect-ratio: 1 / 1; }
.cheer_box.on .cheer{background:url(../img/cheers_on.png)no-repeat; background-size: cover; background-position: center -1px;}
.warm_box.on .warm{background:url(../img/warm_on.png)no-repeat; background-size: cover;}
.help_box.on .help{background:url(../img/help_on.png)no-repeat; background-size: cover;}
.cheer_box p, .warm_box p, .help_box p{color:#7B8699; font-size:1.3rem; line-height:100%;}
.cheer_box.on p, .warm_box.on p, .help_box.on p{color:var(--primary); font-weight:500;}
.main_question_box ul li{padding:1.5rem; border-radius:1.5rem; background-color:#fff; box-shadow: 0 0 1.5rem rgba(0, 0, 0, 0.06); margin-bottom:1.5rem;}
.main_question_box ul li:last-child{margin-bottom:0;}

/*질문답변 글쓰기*/
.qa_writ_box, .modal_writ{position: fixed; z-index: 1;  width: 100%;  max-width: 57.6rem;   margin: auto;   bottom: 8rem;   left: 50%;  transform: translateX(-50%);  text-align: right; padding: 0 1.6rem;}
.teacher_certification .qa_writ_box{display: none;}
.qa_writ_btn{ background-color: #5988FF; border: 0; padding:0.7rem; border-radius:50%;width: 5rem;}
/*아이폰용*/
/* .is_ios_app .qa_writ_btn {margin-bottom: env(safe-area-inset-bottom);} */
.is_ios_app .qa_writ_box {margin-bottom: max(calc(env(safe-area-inset-bottom) - 2rem), 0px);}
.is_ios_app .modal_writ{margin-bottom: max(calc(env(safe-area-inset-bottom) - 2rem), 0px);}
.is_ios_app .fixed_box{padding-bottom: calc(env(safe-area-inset-bottom) + 10px);}
.is_ios_app .fixed_box2{padding-bottom: calc(env(safe-area-inset-bottom) + 10px);}
.is_ios_app .review_write{padding-bottom: calc(env(safe-area-inset-bottom) + 10px);}
.is_ios_app .notice_view{padding-bottom: calc(env(safe-area-inset-bottom) + 10px);}

#modal_qa_writ .modal-dialog {transform: none !important; transition: none !important;  margin: 0; display: flex;  justify-content: center;  align-items: center;}
#modal_qa_writ .modal-content {background: transparent; border: none; box-shadow: none; padding: 0;}
#modal_qa_writ .writ_list{padding: 1.5rem 1rem; width: 15rem;  background-color: #fff;  border-radius: .8rem;  position: absolute;  right: 1.6rem; bottom: 6rem;}
#modal_qa_writ .writ_list li a{padding:1rem; display:flex; align-items: center; gap:1rem; font-size:1.6rem; line-height:150%; color:#111;}
#modal_qa_writ .writ_list li a:hover{background-color: #4695ed10; border-radius: 0.8rem;}
#modal_qa_writ .close_btn{width: 5rem; aspect-ratio: 1 / 1; border-radius: 50%; background-color: #fff;}
.school_selected{width: 100%; justify-content: space-between;  display: flex;  align-items: center;  gap: 0.5rem; height: var(--height_md2); padding: 0 0.8rem 0 1.2rem; border-radius: 0.7rem;  background-color: #E9F3FF;}

/*학교찾기*/
#find_school.modal_full.modal .modal-body{padding: 0rem 2.0rem 10.4rem;}
.modal.tit_center .modal-header{position:relative; border-bottom: 0; justify-content: end;}
.modal.tit_center .modal-header .modal-title{position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
/*아이폰용*/
.is_ios_app .modal.tit_center .modal-header {padding-top: calc(1rem + env(safe-area-inset-top));}
.is_ios_app .modal.tit_center .modal-header .modal-title {top: calc(50% + env(safe-area-inset-top) / 2);}

.school_direct li{display: flex; align-items: center; justify-content: space-between; padding: 1.2rem 1.5rem; background-color: #E9F3FF; border: 0.1rem solid #669BFF; border-radius: 1.2rem; margin-bottom:1rem;}
.direct_input_box {display: none;}
.school_src_top{position: sticky; top: -20px;  padding: 2rem 0;  background-color: #fff;}

.school_list_box ul li{padding:1.6rem; border-bottom:0.1rem solid #E6EAF3; text-align:left;}
.school_list_box ul li .school_close{display: none;}
.school_list_box ul li.active{background-color:#E9F3FF;}
.school_list_box ul li.active .school_close{display: inline-block;}

/*상세페이지*/
.detail_top{padding:1.5rem 0; border-bottom:0.1rem solid #E6EAF3;}
.detail_top p:nth-child(1){color:#18282E;}
.detail_info_box p{white-space: pre-line;}
.detail_info_box img{max-width:100%; width:auto;border-radius: 12px;}

/*질문답변 상세페이지*/
.cheer_box.big_btn{padding:0.7rem 1rem; border:0.1rem solid #7B8699; border-radius:5rem;}
.cheer_box.big_btn.on{border:0.1rem solid var(--primary);}
.save_btn{display:flex; border:0; align-items: center; gap:0.3rem; background-color: transparent;}
.save_btn .save{display:inline-block; background:url(../img/save.svg)no-repeat; background-size: cover; width:1.8rem; aspect-ratio: 1 / 1;}
.save_btn.on .save{background:url(../img/save_on.svg)no-repeat; background-size: cover;}
.primary_badge{display:inline-block; line-height: normal; padding:0.5rem 1rem; background-color:#E9F3FF; color:var(--primary-200); border-radius:5rem; font-size:1.1rem; font-weight:600;}
.comment_ul > li{display:flex; align-items: start; gap:0.7rem; margin-bottom:2rem;}
.comment_ul > li .right_info{width: 100%;}
.more_menu{width: 9.5rem !important; padding:0 !important;}
/* .more_menu button{padding: 0.5rem 0.8rem; width: 100%; font-size:1.3rem; margin-bottom:0.5rem} */
.more_menu button{padding: 0.8rem; width: 100%; font-size:1.4rem; margin-bottom:0.5rem}
.more_menu button:last-child{margin-bottom:0;}
.reply_btn{display:flex; align-items: center; gap:0.2rem;}
.comment_reply{padding:1.5rem 1.2rem; background-color:#F4F6FA; border-radius:1.2rem;}
.chaeting_box{
    padding:1rem 1.6rem;
    background-color:#fff;
    position: fixed;
    width: 100%;
    bottom: 0;
    left: 50%;
    max-width: 57.6rem;
    transform: translateX(-50%);
    z-index: 9999;
    /* ;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000;
    */

    /* [핵심] 하드웨어 가속 및 레이어 분리 */
    will-change: transform;
    /* 추가 보안책: 레이어 합성 힌트 */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    contain: layout paint;
}
.comment_text {
    /* 기존 스타일 유지 */
    /* 레이어 격리 추가 */
    isolation: isolate;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    /* 텍스트 렌더링 엔진이 커서 위치를 맘대로 보정하지 못하게 함 */
    -webkit-user-select: text;
    user-select: text;
}

/* .is_ios_app .chaeting_box {padding-bottom: calc(env(safe-area-inset-bottom) + 25px);} */
.is_ios_app .chaeting_box {padding-bottom: calc(env(safe-area-inset-bottom) + 10px);}

.chaeting_box .chaeting {
    display: flex;
    background: var(--gray-50);
    padding: 0.5rem 2.5rem;
    width: calc(100% - 0rem);
    border-radius: 2.4rem;

    /* [핵심] GPU 가속을 통해 커서 렌더링 좌표 고정 */
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
}
.chaeting_box .chaeting textarea {
    flex: 1 1 auto;
    margin-right: 1.0rem;
    word-break: keep-all;
    background: transparent;
    font-size: 1.5rem;
    box-sizing: border-box;
    overflow: hidden !important;
    resize: none;
    border: 0;
    /*line-height: 20px;*/
    height: 42px;
    min-height: 42px;
    padding: 1.1rem 0 0;
}
.chaeting .comment_btn {flex-shrink: 0; align-self: end; margin-bottom: 0.9rem;}
.chaeting_box .chaeting textarea::-webkit-scrollbar { width: 0px; background: transparent;}
.chaeting_box .chaeting textarea:focus-visible{outline:none;}
.detail_comments{padding-top:1.5rem; border-top:0.1rem solid #F4F6FA;}
.more_btn img{width:1.8rem;}
.comment_info p.text_body{white-space: pre-line;word-break: break-all;}

    /*신고*/
.report_top{padding:1.6rem; border-radius:1.6rem; background-color:#F4F6FA;}
.report_top p{color:#59667c;}
.report_list ul{display: flex; flex-direction: column; gap: 1.5rem;}
.fixed_box{padding: /*0*/ 1.6rem 2rem;  background-color:#fff;  position: fixed;  bottom: 0;  max-width: 57.6rem; width: 100%; left: 50%; transform: translateX(-50%); z-index: 5;}
.fixed_box2{
    padding: 1.6rem 1.6rem 2rem;
    background-color:rgba(255,255,255,0.9);
    backdrop-filter: blur(0.4rem);
    position: fixed;
    bottom: 0;
    max-width: 57.6rem;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    z-index:5;
}
/*글쓰기-질문*/
.category_border_box{padding:1rem; border:0.1rem solid #D7DCE7; border-radius:0.7rem;}
.category_border_box img{width:1.8rem;}
.web_edit_box{border-radius:1.2rem;  min-height:30rem;}
.no_data_box{
    /*height: 100%;
    min-height: 90dvh;
    display: flex;
    min-height: 90dvh;
    justify-content: center;
    position: fixed;
    align-items: center;
    inset: 0;
    display: grid;
    height: auto;
    width: 100%;
    */}
.no_data_box {
    display: flex;
    flex: 1 1 auto;
    min-height: 90dvh;
    justify-content: center;
}

/*로그인*/
.join a{text-decoration: underline;}
.join a:hover{color: var(--primary); text-decoration: underline;}
.business_info_hd > button:hover p{color: var(--text);}
.business_info_box{padding:1rem 1.5rem; background-color:var(--gray-50); border-radius:1.2rem;}

/*약관*/
.all_check{background-color:#F4F6FA; padding:1.5rem 1.2rem; border-radius:1.2rem;}

/*프로필*/
.profile_img{max-width: 10rem;  margin: auto;  aspect-ratio: 1 / 1;  position: relative; border-radius: 50%;}
.profile_img > img{width:100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%;}
.profile_choice{ position: absolute; bottom: 0; right: 0;}
.choice_list{display:none; position: absolute;border-radius: 1.2rem;  box-shadow: 0rem 0rem 0.5rem rgba(0, 0, 0, 0.2);  padding: 1.5rem 2rem;  background-color: #fff;  z-index: 2;  bottom: 15px;  left: 50%;}
.choice_list.on{display:block;}
.teacher_style_list{display: flex; flex-wrap: wrap; gap: 1rem;}
.teacher_style_list .checks .ic_box{width: auto;  height: 3.8rem; white-space: nowrap;  background: #fff;  padding: 1rem 1.2rem;  border-radius: 5rem; font-size: 1.4rem; font-weight: 500; color: var(--gray-700);  border: 0.1rem solid var(--gray-100);  margin: 0;}
.teacher_style_list .checks .ic_box .chk_p {padding-top: 0;}
.teacher_style_list .checks input:checked + .ic_box { background: #fff; color:var(--primary-200); border: 0.1rem solid var(--primary-200);}
.gray_lg_line{display:block; width:100%; height:0.1rem; background-color:#e6eaf3;  margin:1.5rem 0;}
.join_complete_img{width:20rem; margin:0 auto 4rem;}

/*알림*/
.alarm_btn{position: absolute; top: 50%; right: 1.6rem; transform: translateY(-50%);}
.is_ios_app .alarm_btn{top: calc(50% + env(safe-area-inset-top) / 2);}

.all_read{color:var(--gray-800); font-weight:500; text-decoration: underline;}
.alarm_list li{padding:1.6rem; border-bottom:0.1rem solid #E6EAF3; }
.alarm_list li.new{background-color:#E9F3FF;}
.no_data_box.h_120{min-height:12rem; margin:5rem auto;}
.recent_search .top{background-color:#fff; border-bottom:0.1rem solid #E6EAF3;}
.recent_search ul{padding: 2.5rem 1.6rem; background-color: #fff; display: flex; flex-wrap: wrap; gap: 1.8rem;}
.recent_search ul li{display: flex;  align-items: center;  justify-content: space-between;  width: 100%;}

.recent_search #search_log_list ul:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 50%;
    background: rgba(0, 0, 0, 0.2);
    transform: translateX(-50%);
    max-width: var(--body_width);
    z-index: -1;
}

.search_box .top{background-color:#fff;}
.search_list .search_tit{padding: 2rem 1.6rem 1.6rem; background-color: #F4F6FA;}
.search_list ul{background-color:#fff;}
.search_list ul li{padding:1.5rem 1.6rem; border-bottom: 0.1rem solid #F4F6FA;}
.search_list ul li:last-child{ border-bottom: 0;}
/*검색*/
.srh_more{padding:2rem; text-align:center; background-color: #fff;}
.srh_more button{max-width:25rem; width:100%;}
.search_wt_bg{background-color:#fff;}
.search_no_data{padding: 5rem 0;; width: 100%; display: flex; align-items: center; justify-content: center;}

/*혜택*/
.recommend_boon {position:relative;}
.recommend_boon ul li{position:relative; border-radius:1.5rem; overflow:hidden; width:100%; aspect-ratio: 1 / 1; cursor: pointer;}
.recommend_boon ul li > img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}
.black_bg{position:absolute; width:100%; height:100%; background-color:#ddd; top: 0; left: 0; background: linear-gradient(180deg,rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%); z-index:1;}
.recommend_boon .text_tit_box{position:absolute;  z-index:2; width:100%; padding:0 1.8rem; left:0; bottom:2.7rem;}
.text_tit_box .pagination_number{ display:inline-block;  border-radius:5rem; padding:.5rem 1.3rem; font-size:1.1rem; font-weight:500; color:#fff; background-color:rgba(0,0,0,0.5);}
.g_lg_line{display:block; width:100%; height:0.1rem; background-color:#e6eaf3;}
.boon_reveiw_item{padding:1rem 1.5rem; display:flex; gap:1rem; align-items: center;}
.boon_reveiw_item .item_img{width:3.6rem; min-width:3.6rem; aspect-ratio: 1 / 1; border-radius:.6rem; overflow:hidden;}
.boon_reveiw_item .item_img img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}
.boon_reveiw ul li{ width:100%; cursor: pointer;}
.boon_category_list{padding-top:1rem;}
.boon_category_list ul{display: flex; align-items: stretch;  flex-wrap: wrap;  gap:2rem 1rem; }
.boon_category_list ul li{width: calc((100% / 2) - 0.5rem); cursor: pointer;}
.boon_category_list ul li .boon_category_list_img{position: relative; width:100%; aspect-ratio: 1 / 1; border-radius:1.5rem;  overflow:hidden; margin-bottom:1rem;}
.boon_category_list ul li .boon_category_list_img img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}
.boon_category_list ul li .boon_category_list_img span{position: absolute; top:1rem; left:1rem; padding:.3rem 1rem; border-radius:5rem; background-color: rgba(0, 0, 0, 0.5); color:#fff; font-size:1.2rem; line-height:120%; font-weight:500;}
.is_ios_app .boon_category_list{margin-bottom: env(safe-area-inset-bottom);}

/*혜택 카드*/
.modal-card {max-width: 34.0rem; margin: 0 auto; padding:2rem}
.card_box{ /*크기조정 scale추가 transform: scale(1.05);*/
    border-radius:2rem;
    padding:1rem;
    background: linear-gradient(225deg,rgba(196, 255, 169, 1) 0%, rgba(110, 159, 255, 1) 53%, rgba(218, 255, 249, 1) 100%);}
.card_box .card_top{padding:2rem 3rem 1rem; background-color:#fff; border-radius:1.5rem; margin-bottom: 0.1rem; box-shadow: 0 0 0.4rem #99AECC;}
.card_box .card_top .border-bottom{border-bottom:0.1rem solid #C3D5FF;}
.card_box .card_bottom{padding:1.4rem 3rem 1.5rem; background-color:#fff; border-radius:1.5rem;}
.gray-b1b{color:#B1BEDB;}
.color-096bff{color:#096bff;}
.gradient-text.left {background: linear-gradient(90deg, #5988FF, #EAFFF6); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.gradient-text.right {background: linear-gradient(90deg, #EAFFF6, #5988FF); -webkit-background-clip: text; -webkit-text-fill-color: transparent;}
.card_close_button{margin:2rem auto 0; width: 3.5rem; aspect-ratio: 1 / 1;  border:0; border-radius: 50%;  background-color: #000;  display: flex;  align-items: center;  justify-content: center;}

/*혜택상세*/
.boon_detail_img{width:100%; aspect-ratio: 1 / 1;}
.boon_detail_img img{width:100%; aspect-ratio: 1 / 1; object-fit: cover;}
.save_box{display: inline-flex; align-items: center; gap: .5rem; border: 0; background: transparent;}
.save_box .save{display:inline-block; background:url(../img/save.svg)no-repeat; background-size: cover; width:1.8rem; aspect-ratio: 1 / 1; }
.save_box.on .save{background:url(../img/save_on.svg)no-repeat; background-size: cover;}
.review_list > ul > li{padding:1.6rem 0;}
.review_total_image ul{padding:1.6rem 0; display: flex; align-items: center; gap:0.7rem;}
.review_total_image ul li{position: relative; border: 0.1rem solid #E6EAF3;  border-radius: 0.8rem;  overflow: hidden; width: 25%;  aspect-ratio: 1 / 1;}
.review_total_image ul li img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.review_total_image ul li:last-child:after{content: "더보기 +"; display: flex; align-items: center;  justify-content: center;  width: 100%;  height: 100%;  font-size: 1.3rem;   font-weight: 600;   color: #fff; position: absolute; top: 0; left: 0; background-color: rgba(0, 0, 0, 0.5);}
.review_image ul li{width: 12rem;  aspect-ratio: 1 / 1; border:0.1rem solid var(--gray-100); border-radius:1.2rem; overflow: hidden;}
.review_image ul li img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.boon_detail_info {max-height:23.4rem; overflow:hidden; height:23.4rem; position:relative; }
.boon_detail_info .test {min-height: 20rem;}
.boon_detail_info.on {/*max-height:100%;*/ max-height: unset; height:auto;}
.detail_more_btn{padding-top: 2rem;  position: absolute;  bottom: 0;  left: 0; width: 100%; background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 30%);}
.boon_detail_info.on .detail_more_btn{display:none;}

/*혜택상세_후기이미지로 보기*/
.modal_review_image .swiper-pagination{display: inline-block; width: auto;  left: 50%;  transform: translateX(-50%);  color: #fff;  background-color: rgba(0, 0, 0, 0.5);  padding: 0.5rem 1rem;  border-radius: 5rem;}
.review_wt_top{background-color:#f9f9f9; border-radius:1.2rem;}
.review_detail_img ul li{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.review_detail_img ul li img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.review_detail_img .swiper-pagination{display: inline-block; width: auto;  left: auto; right:1.6rem; bottom:1.6rem; color: #fff;  background-color: rgba(0, 0, 0, 0.5);  padding: 0.5rem 1rem;  border-radius: 5rem;}
.modal_review_image ul li {max-height:90dvh;}
.modal_review_image ul li img{object-fit: cover;}
/*프롤필*/
.approval{width: 1.2rem; height: 1.2rem; aspect-ratio: 1 / 1; border-radius: 50%; background-color: var(--primary-200); display: flex; align-items: center; justify-content: center;}
.approval img{width:100%;}
.user_profile_top{padding:1.6rem; background-color:#F4F6FA;}
.user_profile_top .user_profile{padding:1.5rem; background-color:#fff; border-radius:1.2rem;}
.user_profile_img{width:7rem; aspect-ratio: 1 / 1; border-radius:50%; overflow: hidden; }
.user_profile_img img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.profile_warm{background:url(/assets/img/profile_warm.jpg); background-size: cover; background-position-y: center;  height: 7.2rem;  padding: 1.6rem;  display: flex;  flex-direction: column;  justify-content: center; border-radius: 1.2rem;}
.profile_help{background:url(/assets/img/profile_help.jpg); background-size: cover; background-position-y: center;  height: 7.2rem;  padding: 1.6rem;  display: flex;  flex-direction: column;  justify-content: center; border-radius: 1.2rem;}
.rep_chars{padding:1.5rem; background-color:#fff; border-radius:1.2rem;}
.teacher_style_badge{display: flex;  flex-wrap: wrap;  gap: 0.5rem;}
.class_work{display: inline-block;font-size:1.4rem; padding:0.8rem 1.2rem; background-color:#E8FFEF; border-radius:5rem;}
.life_guidance{display: inline-block;font-size:1.4rem; padding:0.8rem 1.2rem; background-color:#E0EEFF; border-radius:5rem;}
.personality{display: inline-block;font-size:1.4rem; padding:0.8rem 1.2rem; background-color:#FFEBFF; border-radius:5rem;}
.user_category_list ul{background-color:#fff;}
.user_category_list ul li{padding:1.5rem 1.6rem; border-bottom:0.1rem solid #F4F6FA;}
.user_magazine{background-color:#E9F3FF; padding:2rem 1.6rem; display:flex; gap:2rem; align-items: center; justify-content: space-between;}
.user_magazine .left{width:auto;}
.user_magazine .right{min-width:12rem; max-width:20rem;}
.user_magazine .right button{color:#fff; font-size:1.4rem; font-weight:500;  width:100%; display:flex; gap:0.3rem; align-items: center; justify-content: center; padding:0.7rem; border-radius:5rem; background-color:#5988FF; border:0;}
.user_magazine .right button.on{color:#fff;background-color:#CFDAE6; border:0;}
.user_magazine .right .notify{position:relative; width:100%; padding:0.7rem 0.8rem; background-color:#fff; border-radius:5rem; text-align:center; margin-top:0.7rem;}
.user_magazine .right .notify > span{position: absolute; /*top: -1.2rem; left: 40%;*/ top: -0.7rem; left: 50%; transform: translateX(-50%);}
.ssmall_profile{width:1.8rem; display: inline-flex; aspect-ratio: 1 / 1;   border-radius:50%; overflow: hidden; }
.ssmall_profile img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.user_category_list .thumbnail, .search_list .thumbnail{max-width: 11rem; width: 100%; aspect-ratio: 1 / 1; border-radius:1.2rem; overflow: hidden;}
.user_category_list .thumbnail img, .search_list .thumbnail img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}
.star_list img{width:1.8rem;}
.user_review_img{max-width: 10.6rem; width: 100%; aspect-ratio: 1 / 1; border-radius:1.2rem; overflow: hidden;}
.user_review_img img{width: 100%;  aspect-ratio: 1 / 1; object-fit: cover;}

/*오픈소스 라이센스*/
.licenses_item {padding-top: 2.0rem; padding-bottom: 2.0rem;}
.licenses_item p {font-size: 1.4rem; color: var(--gray-700); line-height: 160%; white-space: pre-line;}
.licenses_link {font-size: 1.4rem; color: var(--blue); display: block; margin-bottom: 0.2rem;}


