@charset "UTF-8";


/* ==================== 초기화 및 초기 세팅 ==================== */
:root {
    /* 버튼 및 인풋 폼 높이 세팅 */
    /*--hd_height: 9rem;*/
    --hd_height_m: 4.8rem;
    --ic_date: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cg clip-path='url(%23clip0_2476_20073)'%3E%3Cg clip-path='url(%23clip1_2476_20073)'%3E%3Cpath d='M6.6665 1.66699V4.16699' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.3335 1.66699V4.16699' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M2.9165 7.5752H17.0832' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M17.5 7.08366V14.167C17.5 16.667 16.25 18.3337 13.3333 18.3337H6.66667C3.75 18.3337 2.5 16.667 2.5 14.167V7.08366C2.5 4.58366 3.75 2.91699 6.66667 2.91699H13.3333C16.25 2.91699 17.5 4.58366 17.5 7.08366Z' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.0792 11.417H13.0826' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M13.0792 13.917H13.0826' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.99658 11.417H9.99992' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M9.99658 13.917H9.99992' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.9126 11.417H6.91593' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.9126 13.917H6.91593' stroke='%23868F96' stroke-width='1.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2476_20073'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3CclipPath id='clip1_2476_20073'%3E%3Crect width='20' height='20' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E%0A");
    --ic_time:url("data:image/svg+xml,%3Csvg id='ic_clock' xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25'%3E%3Crect id='사각형_9176' data-name='사각형 9176' width='25' height='25' fill='none'/%3E%3Cpath id='schedule_FILL0_wght400_GRAD0_opsz24_1_' data-name='schedule_FILL0_wght400_GRAD0_opsz24 (1)' d='M94.319-864.173l1.507-1.507-3.984-3.984v-4.953H89.69v5.814Zm-3.553,5.706a10.484,10.484,0,0,1-4.2-.848,10.873,10.873,0,0,1-3.418-2.3,10.873,10.873,0,0,1-2.3-3.418,10.484,10.484,0,0,1-.848-4.2,10.484,10.484,0,0,1,.848-4.2,10.873,10.873,0,0,1,2.3-3.418,10.875,10.875,0,0,1,3.418-2.3,10.485,10.485,0,0,1,4.2-.848,10.485,10.485,0,0,1,4.2.848,10.875,10.875,0,0,1,3.418,2.3,10.872,10.872,0,0,1,2.3,3.418,10.484,10.484,0,0,1,.848,4.2,10.484,10.484,0,0,1-.848,4.2,10.873,10.873,0,0,1-2.3,3.418,10.873,10.873,0,0,1-3.418,2.3A10.484,10.484,0,0,1,90.766-858.467ZM90.766-869.234Zm0,8.613a8.3,8.3,0,0,0,6.1-2.517,8.3,8.3,0,0,0,2.517-6.1,8.3,8.3,0,0,0-2.517-6.1,8.3,8.3,0,0,0-6.1-2.517,8.3,8.3,0,0,0-6.1,2.517,8.3,8.3,0,0,0-2.517,6.1,8.3,8.3,0,0,0,2.517,6.1A8.3,8.3,0,0,0,90.766-860.62Z' transform='translate(-78 882)' fill='%23585e65'/%3E%3C/svg%3E%0A");
}


div::-webkit-scrollbar {
    width: 0.6rem;
    height: 0.6rem;
}
div::-webkit-scrollbar-thumb {
    background-color: #ddd;
    border-radius: 100px;
}

html { font-size:10px;}
body { margin:0 auto; padding:0;overflow: hidden scroll; background-color: #fff;;line-height:1.4;}

html, h1, h2, h3, h4, h5, h6, form, fieldset, img { margin:0; padding:0; border:0 }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block }

ul, dl,dt,dd { margin:0; padding:0; list-style:none }
legend { position:absolute; margin:0; padding:0; font-size:0; line-height:0; text-indent:-9999em; overflow:hidden }
label, input, button, select, img { vertical-align:middle; }
input, button { margin:0; padding:0;}
input[type="submit"] {cursor:auto;}
button {cursor: auto;word-break: keep-all;}
select {margin:0}
p { margin:0; padding:0; color:var(--text);}
hr { display:none }
a { text-decoration:none;}
a:hover { text-decoration: none; color: inherit;}
a.underline:hover{text-decoration: underline;}
.un_reboot_a { color: var(--text); text-decoration: underline; }
*, :after, :before {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
    word-break: normal;
    word-wrap: break-word;
}

img { max-width:100%; display:inline-block; height: auto; }

/* iOS input date 텍스트 정렬 */
input[type="date"]::-webkit-date-and-time-value{
    text-align: left;
    vertical-align: center;
}


/* ==================== 공통 class 설정 ==================== */
/* .container-fluid { max-width: 2560px;} */
.home_pg{padding-top:var(--height);}
.mobile_wr:has(.hd_m) .sub_pg{ padding-top:var(--height);}

.logo{}
.logo img{height:2.4rem;}
.flex_center{ align-items: center; justify-content: center; text-align: center;}

.cursor_pointer{ cursor: pointer;}
.cursor_default{ cursor: default;}

.over_hidden{ overflow:hidden;}

/* 스크롤바 none */
.scroll_bar_none { -ms-overflow-style: none; scrollbar-width: none; }
.scroll_bar_none::-webkit-scrollbar { display: none; }

/* 터치 스크롤 */
.touch_scroll { overflow-x: auto; overflow-y: hidden; }
.touch_scroll div:has(table){width: fit-content}
.touch_scroll .btn-group-toggle{width: max-content;}
.touch_scroll > .container{width: max-content; margin: 0;}

/* 터치 스크롤 inner 버전 */
.touch_scroll2 { position: relative;}
.touch_scroll2 .scroll_inner{ overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;}

/* 스크롤 발생 시 오른쪽에 그라데이션 표시 */
.touch_scroll2.right_gra::after {
    content: "";
    display: block;
    height: 100%;
    width: 6.0rem;
    position: absolute;
    top: 0;
    right: 0;
    background: linear-gradient(90deg,rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 1) 100%);
    pointer-events: none;
    opacity: 0;
}
.touch_scroll2.right_gra.scrollable:not(.at-end)::after{ opacity: 1;}

/* 터치 스크롤 안 요소 드래그 방지 */
.touch_scroll *, .touch_scroll2 *{
    -webkit-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none;
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    user-drag: none;
}

.vh_min100{ min-height:100vh;}
.vh_100_vh{ height:100vh;}
.w-auto{ width:auto;}

.zd_2{ position:relative; z-index:2;}

/* gap */
.gap_3{ gap: 0.3rem;}
.gap_4{ gap: 0.4rem;}
.gap_5{ gap: 0.5rem;}
.gap_6{ gap:0.6rem;}
.gap_8{ gap:0.8rem;}
.gap_10{ gap:1.0rem;}
.gap_12{ gap:1.2rem;}
.gap_14{ gap:1.4rem;}
.gap_15{ gap:1.5rem;}
.gap_16{ gap:1.6rem;}
.gap_18{ gap:1.8rem !important;}
.gap_20{ gap: 2.0rem;}
.gap_24{ gap: 2.4rem;}
.gap_25{ gap:2.5rem;}
.gap_30{ gap:3.0rem;}
.gap_40{ gap:4.0rem;}
.gap_50{ gap:5.0rem;}
.gap_60{ gap:6.0rem;}


.row_gap_0{ row-gap: 0.0rem;}
.row_gap_2{ row-gap: 0.2rem;}
.row_gap_12{ row-gap: 1.2rem;}
.row_gap_30{ row-gap: 3.0rem;}


/* 아이콘 너비 */
.icon_4{ width: 0.4rem; height: auto; flex-shrink: 0;}
.icon_6{ width: 0.6rem; height: auto; flex-shrink: 0;}
.icon_7{ width: 0.7rem; height: auto; flex-shrink: 0;}
.icon_8{ width: 0.8rem; height: auto; flex-shrink: 0;}
.icon_10{ width: 1.0rem; height: auto; flex-shrink: 0;}
.icon_12{ width: 1.2rem; height: auto; flex-shrink: 0;}
.icon_14{ width: 1.4rem; height: auto; flex-shrink: 0;}
.icon_15{ width: 1.5rem; height: auto; flex-shrink: 0;}
.icon_16{ width: 1.6rem; height: auto; flex-shrink: 0;}
.icon_18{ width: 1.8rem; height: auto; flex-shrink: 0;}
.icon_20{ width: 2.0rem; height: auto; flex-shrink: 0;}
.icon_24{ width: 2.4rem; height: auto; flex-shrink: 0;}
.icon_25{ width: 2.5rem; height: auto; flex-shrink: 0;}
.icon_28{ width: 2.8rem; height: auto; flex-shrink: 0;}
.icon_30{ width: 3.0rem; height: auto; flex-shrink: 0;}
.icon_32{ width: 3.2rem; height: auto; flex-shrink: 0;}
.icon_35{ width: 3.5rem; height: auto; flex-shrink: 0;}
.icon_36{ width: 3.6rem; height: auto; flex-shrink: 0;}
.icon_38{ width:3.8rem;  height: auto; flex-shrink: 0;}
.icon_40{ width: 4.0rem; height: auto; flex-shrink: 0;}
.icon_48{ width:4.8rem; height: auto; flex-shrink: 0;}
.icon_50{ width: 5.0rem; height: auto; flex-shrink: 0;}
.icon_56{ width:5.6rem; height: auto; flex-shrink: 0;}
.icon_60{ width: 6.0rem; height: auto; flex-shrink: 0;}
.icon_80{ width: 8.0rem; height: auto; flex-shrink: 0;}
.icon_90{ width: 9.0rem; height: auto; flex-shrink: 0;}
.icon_100{ width: 10.0rem; height: auto; flex-shrink: 0;}
.icon_120{ width:12.0rem; height: auto; flex-shrink: 0;}


/* bg */
.bg-gra01{ background: var(--gra01);}
.bg-gra02{ background: var(--gra02);}

.icon_h_39{ height: 3.9rem; flex-shrink: 0;}

.rounded_5{ border-radius: 0.5rem;}

.row_gap_5{ row-gap: 0.5rem;}
.row_gap_10{ row-gap: 1rem;}

/* 에디터로 작성한 글 기본 디자인 제어 */
.editor_wr{ line-height: 1.4;}

/* 배경색 회색인 경우 mobile_wr 색상도 변경 */
.mobile_wr:has(.sub_pg.bg-gray-50){background: var(--gray-50);}

/* 링크 앱솔루트 */
.absol_link{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/* ==================== 텍스트 설정 ==================== */
.text_dynamic{ white-space: pre-line;}
.wh_pre { white-space: pre-line; }
.wh_nowrap { white-space: nowrap; }
.keep-all{word-break: keep-all;}
.break_all{word-break: break-all;}


/* 폰트 커스텀 기본사이즈 10px */
.tit_h1{ font-size: 2.2rem; font-weight: 700;}
.tit_h2{ font-size: 2.0rem; font-weight: 700;}
.tit_h3{ font-size: 1.8rem; font-weight: 700;}
.tit_h4{ font-size: 1.6rem; font-weight: 600;}
.body_lg{font-size: 1.5rem;}
.body_md{font-size: 1.3rem;}
.body-md{ font-size: 1.3rem; line-height: 1.4;}
.body-lg{ font-size: 1.5rem; line-height: 1.4;}



/* 컬러 */
/* 부트스트랩 class는 --var값으로 설정이 되어 있지 않아서 따로 만들었습니다. 필요시 추가해서 사용 */

.text-red{color:var(--red);}
.text-orange{color:var(--orange);}
.text-gray{color:var(--gray);}
.text-gray-50{color:var(--gray-50);}
.text-gray-100{color:var(--gray-100);}
.text-gray-200{color:var(--gray-200);}
.text-gray-300{color:var(--gray-300);}
.text-gray-400{color:var(--gray-400);}
.text-gray{color:var(--gray-500);}
.text-gray-500{color:var(--gray-500);}
.text-gray-600{color:var(--gray-600);}
.text-gray-700{color:var(--gray-700);}
.text-gray-800{color:var(--gray-800);}
.text-gray-900{color:var(--gray-900);}
.text-primary-100{color:var(--primary-100);}
.text-primary-200{color:var(--primary-200);}
.text-primary-300{color:var(--primary-300);}
.text-black{color:#000;}


.bg-black{background:#000;}
.bg-gray-50{background:var(--gray-50);}
.bg-gray-100{background:var(--gray-100);}
.bg-gray-200{background:var(--gray-200);}
.bg-gray-300{background:var(--gray-300);}
.bg-gray-400{background:var(--gray-400);}
.bg-gray-500{background:var(--gray-500);}
.bg-gray-600{background:var(--gray-600);}
.bg-gray-700{background:var(--gray-700);}
.bg-gray-800{background:var(--gray-800);}
.bg-gray-900{background:var(--gray-900);}


.bg-primary-50{background:var(--primary-50);}
.bg-primary-100{background:var(--primary-100);}
.bg-primary-200{background:var(--primary-200);}
.bg-primary{background:var(--primary);}
.bg-primary-300{background:var(--primary-300);}
.bg-primary-400{background:var(--primary-400);}
.bg-primary-500{background:var(--primary-500);}
.bg-primary-600{background:var(--primary-600);}
.bg-primary-700{background:var(--primary-700);}
.bg-primary-800{background:var(--primary-800);}
.bg-primary-900{background:var(--primary-900);}



.border-black{border-color:#000 !important;}
.border-gray-50{border-color:var(--gray-50) !important;}
.border-gray-100{border-color:var(--gray-100) !important;}
.border-gray-200{border-color:var(--gray-200) !important;}
.border-gray-300{border-color:var(--gray-300) !important;}
.border-gray-400{border-color:var(--gray-400) !important;}
.border-gray-500{border-color:var(--gray-500) !important;}
.border-gray-600{border-color:var(--gray-600) !important;}
.border-gray-700{border-color:var(--gray-700) !important;}
.border-gray-800{border-color:var(--gray-800) !important;}
.border-gray-900{border-color:var(--gray-900) !important;}

/* 라인 헤이트 */
.line_h1 { line-height:1.0; }
.line_h1_1 { line-height:1.1; }
.line_h1_2 { line-height:1.2; }
.line_h1_3 { line-height:1.3; }
.line_h1_4 { line-height:1.4; }
.line_h1_5 { line-height:1.5; }
.line_h1_6 { line-height:1.6; }
.line_h1_7 { line-height:1.7; }
.line_h1_8 { line-height:1.8; }
.line_h1_9 { line-height:1.9; }
.line_h2 { line-height:2.0; }


.fs_8 { font-size: 0.8rem; }
.fs_9 { font-size: 0.9rem; }
.fs_10 { font-size: 1.0rem; }
.fs_11 { font-size: 1.1rem }
.fs_12 { font-size: 1.2rem }
.fs_13 { font-size: 1.3rem }
.fs_14 { font-size: 1.4rem }
.fs_15 { font-size: 1.5rem }
.fs_16 { font-size: 1.6rem }
.fs_17 { font-size: 1.7rem }
.fs_18 { font-size: 1.8rem }
.fs_19 { font-size: 1.9rem }
.fs_20 { font-size: 2.0rem }
.fs_21 { font-size: 2.1rem }
.fs_22 { font-size: 2.2rem; }
.fs_23 { font-size: 2.3rem; }
.fs_24 { font-size: 2.4rem; }
.fs_25 { font-size: 2.5rem; }
.fs_26 { font-size: 2.6rem; }
.fs_27 { font-size: 2.7rem; }
.fs_28 { font-size: 2.8rem; }
.fs_29 { font-size: 2.9rem; }
.fs_30 { font-size: 3.0rem; }
.fs_31 { font-size: 3.1rem; }
.fs_32 { font-size: 3.2rem; }
.fs_33 { font-size: 3.3rem; }
.fs_34 { font-size: 3.4rem; }
.fs_35 { font-size: 3.5rem; }
.fs_36 { font-size: 3.6rem; }
.fs_37 { font-size: 3.7rem; }
.fs_38 { font-size: 3.8rem; }
.fs_39 { font-size: 3.9rem; }
.fs_40 { font-size: 4.0rem; }
.fs_41 { font-size: 4.1rem; }
.fs_42 { font-size: 4.2rem; }
.fs_43 { font-size: 4.3rem; }
.fs_44 { font-size: 4.4rem; }
.fs_45 { font-size: 4.5rem; }
.fs_46 { font-size: 4.6rem; }
.fs_47 { font-size: 4.7rem; }
.fs_48 { font-size: 4.8rem; }
.fs_49 { font-size: 4.9rem; }
.fs_50 { font-size: 5.0rem; }
.fs_51 { font-size: 5.1rem; }
.fs_52 { font-size: 5.2rem; }


.fw_100 { font-weight: 100; }
.fw_200 { font-weight: 200; }
.fw_300 { font-weight: 300; }
.fw_400 { font-weight: 400; }
.fw_500 { font-weight: 500; }
.fw_600 { font-weight: 600; }
.fw_700 { font-weight: 700; }
.fw_800 { font-weight: 800; }
.fw_900 { font-weight: 900; }


/* 글자 줄임말 / 자르기 */
.line_text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;word-break: break-all;}
.line1_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 1; line-clamp: 1; -webkit-box-orient: vertical;word-break: break-all;}
.line2_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;word-break: break-all;}
.line3_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 3; line-clamp: 3; -webkit-box-orient: vertical;word-break: break-all;}
.line4_text { white-space: normal; overflow: hidden; text-overflow: ellipsis;word-wrap: break-word; display: -webkit-box; -webkit-line-clamp: 4; line-clamp: 4; -webkit-box-orient: vertical;word-break: break-all;}




/**************************************************/
/*              공통 여백 class                   */
/**************************************************/
/* 넓이 */
.wd_10{width:1.0rem;}
.wd_11{width:1.1rem;}
.wd_12{width:1.2rem;}
.wd_13{width:1.3rem;}
.wd_14{width:1.4rem;}
.wd_15{width:1.5rem;}
.wd_16{width:1.6rem;}
.wd_17{width:1.7rem;}
.wd_18{width:1.8rem;}
.wd_19{width:1.9rem;}
.wd_20{width:2.0rem;}
.wd_21{width:2.1rem;}
.wd_22{width:2.2rem;}
.wd_23{width:2.3rem;}
.wd_24{width:2.4rem;}
.wd_25{width:2.5rem;}
.wd_26{width:2.6rem;}
.wd_27{width:2.7rem;}
.wd_28{width:2.8rem;}
.wd_29{width:2.9rem;}
.wd_30{width:3.0rem;}
.wd_80{width:8.0rem;}

.mwd_10{min-width:10rem;}
.mwd_11{min-width:11rem;}
.mwd_12{min-width:12rem;}
.mwd_13{min-width:13rem;}
.mwd_14{min-width:14rem;}
.mwd_15{min-width:15rem;}
.mwd_16{min-width:16rem;}
.mwd_17{min-width:17rem;}
.mwd_18{min-width:18rem;}
.mwd_19{min-width:19rem;}
.mwd_20{min-width:20rem;}
.mwd_21{min-width:21rem;}
.mwd_22{min-width:22rem;}
.mwd_23{min-width:23rem;}
.mwd_24{min-width:24rem;}
.mwd_25{min-width:25rem;}
.mwd_26{min-width:26rem;}
.mwd_27{min-width:27rem;}
.mwd_28{min-width:28rem;}
.mwd_29{min-width:29rem;}
.mwd_30{min-width:30rem;}

/* 마진 */
.mt_4{ margin-top: 0.4rem;}
.mt_8{margin-top:0.8rem;}
.mt_12{margin-top:1.2rem;}
.mt_16{margin-top:1.6rem;}
.mt_20{margin-top:2.0rem;}
.mt_24{margin-top:2.4rem;}
.mt_25{margin-top:2.5rem;}
.mt_28{margin-top:2.8rem;}
.mt_35{margin-top:3.5rem;}
.mt_36{margin-top:3.6rem;}
.mt_40{margin-top:4.0rem;}
.mt_60{margin-top:6.0rem;}
.mt_70{margin-top:7.0rem;}
.mt_80{margin-top:8.0rem;}


.mb_2{ margin-bottom: 0.2rem;}
.mb_4{margin-bottom:0.4rem;}
.mb_6{margin-bottom:0.6rem;}
.mb_7{margin-bottom:0.7rem;}
.mb_8{margin-bottom:0.8rem;}
.mb_12{margin-bottom:1.2rem;}
.mb_14{margin-bottom:1.4rem;}
.mb_16{margin-bottom:1.6rem;}
.mb_18{margin-bottom:1.8rem;}
.mb_20{margin-bottom:2.0rem;}
.mb_24{margin-bottom:2.4rem;}
.mb_25{margin-bottom:2.5rem;}
.mb_36{margin-bottom:3.6rem;}
.mb_40{margin-bottom:4.0rem;}
.mb_50{margin-bottom:5.0rem;}
.mb_60{margin-bottom:6.0rem;}
.mb_70{margin-bottom:7.0rem;}
.mb_90{margin-bottom:9.0rem;}


.mr_4{margin-right:0.4rem;}
.mr_6{margin-right:0.6rem;}
.mr_8{margin-right:0.8rem;}
.mr_12{margin-right:1.2rem;}
.mr_16{margin-right:1.6rem;}
.mr_20{margin-right:2.0rem;}


.ml_6{margin-left:0.6rem;}
.ml_8{margin-left:0.8rem;}
.ml_16{margin-left:1.6rem;}
.ml_20{margin-left:2.0rem;}


.mx_n16{margin-left:-1.6rem;margin-right:-1.6rem;}
.mx_n20{margin-left:-2.0rem;margin-right:-2.0rem;}
.mx_20{ margin-right: 2rem; margin-left: 2rem;}



/* 패딩 */
.pt_4{padding-top:0.4rem;}
.pt_6{padding-top:0.6rem;}
.pt_14{padding-top: 1.4rem;}
.pt_16{padding-top: 1.6rem;}
.pt_20{ padding-top: 2.0rem;}
.pt_24{padding-top:2.4rem;}
.pt_25{padding-top:2.5rem;}
.pt_28{padding-top:2.8rem;}
.pt_40{padding-top: 4.0rem;}
.pt_50{padding-top: 5.0rem;}
.pt_60{padding-top: 6.0rem;}
.pt_80{padding-top:8.0rem !important;}
.pt_120{padding-top:12.0rem;}

.pb_6{padding-bottom: 0.6rem;}
.pb_8 { padding-bottom: 0.8rem;}
.pb_14 { padding-bottom: 1.4rem;}
.pb_16 { padding-bottom: 1.6rem;}
.pb_18{padding-bottom:1.8rem;}
.pb_20{padding-bottom:2.0rem;}
.pb_24{ padding-bottom: 2.4rem;}
.pb_25{padding-bottom:2.5rem;}
.pb_40{padding-bottom:4.0rem;}
.pb_50{padding-bottom:5.0rem;}
.pg_50{ padding-bottom: 5rem;}
.pb_60{padding-bottom:6.0rem;}
.pb_70{padding-bottom:7.0rem;}
.pb_80{padding-bottom:8.0rem;}
.pb_90{padding-bottom:9.0rem;}
.pb_100{padding-bottom:10.0rem;}


.pl_16 { padding-left: 1.6rem;}
.pl_20{ padding-left: 2rem;}


.pr_16{padding-right:1.6rem;}
.pr_20{padding-right:2rem;}
.pr_50{padding-right:5rem !important;}
.pr_60{padding-right:6rem !important;}

.py_8{ padding-top: 0.8rem; padding-bottom: 0.8rem;}
.py_12{ padding-top: 1.2rem; padding-bottom: 1.2rem;}
.py_16{padding-top: 1.6rem; padding-bottom: 1.6rem;}
.py_20{padding-top:2.0rem !important; padding-bottom:2.0rem !important;}
.py_24{ padding-top: 2.4rem; padding-bottom: 2.4rem;}
.py_35{padding-top:3.5rem;padding-bottom:3.5rem;}
.py_80{padding-top:8rem;padding-bottom:8rem;}

.px_8{padding-left:0.8rem;padding-right:0.8rem;}
.px_12{padding-left:1.2rem;padding-right:1.2rem;}
.px_18{padding-left:1.8rem;padding-right:1.8rem;}
.px_16{padding-left:1.6rem;padding-right:1.6rem;}
.px_20{padding-left:2.0rem;padding-right:2.0rem;}


.p_4{padding: 0.4rem;}
.p_20{ padding: 2rem;}




/* ==================== 공통 요소 설정 ==================== */
/* mobile_wr 기본설정 */
.mobile_wr {
    position: relative;
    box-sizing: content-box;
    min-height: 100vh;
    max-width:var(--body_width);
    margin:0 auto;
    background-color: #fff;
}

/* 노데이터 */
.no_data {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/* 고탑버튼 */
.go_top {
    width: 4.0rem;
    height: 4.0rem;
    background: url(../img/go_top.webp)no-repeat center;
    background-color: rgba(255, 255, 255, 0.85);
    box-shadow: 0 0 0.5rem 0 rgba(0, 0, 0, 0.07);
    backdrop-filter: blur(0.75rem);
    background-size: 2.4rem auto;
    z-index: 999;
    border-radius: 50%;
    display: none;
    position: fixed;
    right: 50%;
    bottom: 2rem;
    transform: translateX(272px);
    cursor: pointer;
    transition: bottom 0.3s ease;
}
.go_top.show{display: block;}


/* 회색 bar */
.bar{ height: 1.0rem; background-color: #F8F8F8;}


/* ===== 뱃지 ===== */
.badge{display:inline-block; line-height:1.5; font-size:1.2rem; font-weight:700;border:0; padding:0.2rem 0.8rem; border-radius:0.6rem;}
.badge-gra04{ background: var(--gra04); color: #fff;}
.badge-disabled{color:#999;background:#ddd;}
.badge_primary{background-color:var(--primary-200);color:#fff;}
.badge_primary_light{background: rgba(96, 224, 224, 0.30);color: var(--primary-300);}
.badge_primary_300{background-color:var(--primary-300);color:#fff;}
.badge_white{background-color:#fff;padding:0.2rem 0.8rem; color:var(--gray-600);border:1px solid var(--gray-100);}
.badge_gray_100{background-color:var(--gray-100);color:var(--gray-600);}
.badge_green{background-color:#2DC76D26;color:var(--green);}
.badge_purple{background-color:#7342ED26;color:var(--purple);}
.badge_orange{background-color:#FF6F5426;color:var(--orange);}
.badge_blue{background-color:rgba(84, 152, 255, 0.15);color:#3785FD;}
.badge_red{background-color:var(--red);color:#fff;}
.badge_secondary{background-color:var(--secondary);color:#fff;}
.badge_gray_500{background-color:var(--gray-500);color:#fff;}
.badge_lg{padding:0.6rem 1.5rem; font-size:1.4rem;}

/* ===== List Style ===== */
.list_style_1 li {display: flex;padding-bottom: 0.7rem;line-height: 1.4;}
.list_style_1 li:last-child{padding-bottom:0;}
.list_style_1 li > span{display: inline-block; width:8.0rem; padding-right: 0.5rem;flex-shrink: 0;}


.list_style_2 li{display: flex; padding-bottom:0.8rem;}
.list_style_2 li:before{content:'-';display: inline-block;margin-right:1.0rem;}

.list_style_3 li {display: flex;justify-content: space-between;flex-wrap: wrap;}
.list_style_3 li:last-child{margin-bottom:0 !important;}
.list_style_3 li div{}


/* 양옆정렬 정보 */
.between_info { display: flex;flex-wrap: wrap;justify-content: space-between; align-items: center;margin-bottom:0.5rem;}
.between_info:last-child{margin-bottom:0 !important;}

/* 왼쪽정렬 정보 */
.left_info {display: flex; flex-wrap: wrap;align-items: center;margin-bottom:0.5rem;}
.left_info:last-child{margin-bottom:0 !important;}
.left_info .tit{color:var(--gray-500);width:8.0rem;flex-shrink: 0;}


/* ===== collapse 화살표 아이콘 ===== */
/* 초기 상태: 화살표 아래 */
.collapse_wr .btn[aria-expanded="false"] img{transform: rotate(0deg);}

/* 펼쳐진 상태: 화살표 위 */
.collapse_wr .btn[aria-expanded="true"] img{transform: rotate(180deg);}


/* ===== 탭 ===== */
.tab_sticky{
    position: sticky;
    top: 4.8rem;
    z-index: 15;
}


/* nav-tabs */
.nav-tabs {
    background: #F5F6F8;
    border-radius: 0.8rem;
    padding: 0.8rem;
    border: 0;
    flex-wrap: nowrap;
}
.nav-tabs .nav-link {
    height: 4.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #999;
    border: 0;
    margin-bottom: 0px;
    padding-left: 0.2rem;
    padding-right: 0.2rem;
    border-radius: 0.8rem;
    font-weight: 600;
    word-break: keep-all;
}
.nav-tabs .nav-link.active, .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background: #fff;
    color: #000;
    box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.06);
}

/* nav-pills */
.nav-pills{
    margin-left:-0.4rem;
    margin-right:-0.4rem;
    flex-wrap: nowrap;
}
.nav-pills .col{
    padding-left:0.4rem;
    padding-right:0.4rem;
}
.nav-pills .nav-link {
    background: none;
    border: 0;
    border-radius: 1rem;
    background: #AAB1B7;
    color: #fff;
}



/* tab_line */
.tab_line{
    width: 100%;
    margin: 0;
}
.tab_line {
    border: unset;
    border-bottom:1px solid #E3E3E3;
    flex-wrap: nowrap;
}
.tab_line .nav-item{
    text-align: center;
    border: none;
}
.tab_line .nav-link {
    position: relative;
    border: none;
    color: var(--gray-500);
    height: var(--height_lg);
    padding: 0;
    width: 100%;
    font-size: 1.4rem;
    font-weight: 600;
    background: transparent;
}
.tab_line .nav-link.active, .tab_line .nav-item.show .nav-link {
    color:var(--text);
}
.tab_line .nav-link::after, .tab_line .nav-item.show .nav-link::after{
    content: "";
    display: block;
    position: absolute;
    width: 0%;
    height: 3px;
    background-color: var(--text);
    left: 50%;
    transform: translateX(-50%);
    bottom: -1.5px;
    /* 애니메이션 속도 및 타이밍 설정 */
    transition: width 0.1s ease-in-out;
}
.tab_line .nav-link.active::after, .tab_line .nav-item.show .nav-link::after{
    width: 100%;
}


/* tab_line2 */
.tab_line2 {
    width: 100%;
    margin: 0;
    background-color: #fff;
}
.tab_line2 {
    border: unset;
}
.tab_line2 .nav-item{
    text-align: center;
    background-color: #fff;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
    width: 100%;
}
.tab_line2 .nav-link {
    color: var(--text);
    height: 6.0rem;
    padding: 1rem;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 600;
    background: transparent;
    border: 0;
    border-bottom: 1px solid var(--border);
}
.tab_line2 .nav-link.active, .tab_line2 .nav-item.show .nav-link {
    border-color: var(--primary);
    color: var(--primary);
}


/* ===== 드롭다운 ===== */
.dropdown-menu{padding-top:1.0rem;padding-bottom:1.0rem;box-shadow: 0px -1px 20px rgba(0, 0, 0.05, 0.07);}
.dropdown-menu .dropdown-item{padding-top:0.7rem;padding-bottom:0.7rem;color:var(--text);border-radius:0.6rem;}
.dropdown-item.active, .dropdown-item:active{background:var(--gray-50);color:var(--text);}
.dropdown-menu .dropdown-item:hover{background:var(--gray-50);color:var(--text);}


/* ===== 커스텀 스위치 ===== */
.custom-switch {
    padding: 0;
    width: 4.1rem;
    height: 2.7rem;
    position: relative;
    flex-shrink: 0;
}

.custom-switch .custom-control-label::after {
    width: 2.4rem;
    height: 2.4rem;
    background-color: #fff;
    border-radius: 3rem;
    top: 0.2rem;
    left: 0.2rem;
}

.custom-control-label::after {
    position: absolute;
    top: 0.3rem;
    display: block;
    width: 1rem;
    height: 1rem;
    content: "";
    cursor: pointer;
}

.custom-switch .custom-control-input:checked~.custom-control-label::after {
    background-color: #fff;
    left: 1.0rem;
}

.custom-control-input:checked~.custom-control-label::before {
    color: #fff;
    border-color: var(--primary);
    background-color: var(--primary);
}

.custom-control-label::before {
    background-color: var(--gray-200);
    border: 0;
    top: 0;
    cursor: pointer;
}

.custom-switch .custom-control-label::before {
    left: 0;
    top: 0;
    width: 4.4rem;
    height: 2.8rem;
    border-radius: 3rem;
}

/* ===== 리스트 ===== */
.dot_list li {
    list-style: none;
    margin-bottom:1.0rem;
    display: flex;
}

.dot_list li:before {
    content:"·";
    vertical-align:middle;
    margin-right:0.5rem;
}
.dot_list li:last-child{margin-bottom:0;}

.dot_list.fs_10 li{margin-bottom:0.3rem;}


/* 폼 사각형 */
.sq_guide { display:flex; flex-wrap: wrap; }
.sq_guide li {
    width: 80px;
    height: 40px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    margin: 0.5rem;
}


/* ===== 에디터 스타일 ===== */
.edit_style{}
.edit_style .h1, .edit_style h1{font-weight:700;font-size:3.5rem;margin-bottom:0.5rem;}
.edit_style .h2, .edit_style h2{font-weight:700;font-size:2.5rem;margin-bottom:0.5rem;}
.edit_style .h3, .edit_style h3{font-weight:700;font-size:1.8rem;margin-bottom:0.5rem;}
.edit_style .h4, .edit_style h4{font-weight:700;font-size:1.5rem;margin-bottom:0.5rem;}
.edit_style img {
    max-width: 100%;
    width: auto !important;
    margin: 0 auto;
    display: inline-block;
}
.edit_style p{white-space: pre-line;line-height: 160%;}
.edit_style ol, .edit_style ul{padding-left: 1.4rem;line-height: 160%;}



/* ==================== 버튼 / 인풋 디자인 ==================== */
/* ===== 버튼 ===== */
.no_bg{border:0; background-color:transparent}
.btn {
    height: var(--height);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    font-weight: 600;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    word-break: keep-all;
}
.btn-sm {
    height: var(--height_sm);
    font-size: 1.3rem;
    padding-left: 1.0rem;
    padding-right: 1.0rem;
    border-radius: 0.8rem;
}
.btn-md {
    height: var(--height_md);
    font-size: 1.4rem;
    border-radius: 0.8rem;
    border-radius: 0.8rem;
}
.btn-lg {
    height: var(--height_lg);
    font-size: 1.6rem;
}
.btn-link {
    height: auto;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
    border: 0;
}
.btn-icon {
    height: auto;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    border-radius: 0;
    background: transparent;
    flex-shrink: 0;
    border: 0;
}
.btn-icon img{flex-shrink: 0;}

.under_btn{width: 1.2rem;  height: 1.2rem;  border-radius: 50%;  background-color: #868F96;  display: flex; align-items: center; justify-content: center;}
.under_btn img{width:5.4px;}

/* SNS 버튼 */
.btn-naver{background:#1CC800;border-color:#1CC800;color:#fff;}
.btn-naver:hover, .btn-naver:focus{background:#1ABB00;border-color:#1ABB00;}

.btn-kakao{background:#FFDD00;border-color:#FFDD00;color:#333;}
.btn-kakao:hover, .btn-kakao:focus{background:#FFCC00;border-color:#FFCC00;}

.btn-apple{background:#000;border-color:#000;color:#fff;}
.btn-apple:hover, .btn-apple:focus{background:#222;border-color:#222;}


/* 버튼 disabled */
.btn.disabled, .btn:disabled {
    cursor: default;
    opacity: 1;
}


/* 버튼 그룹 */
.btn-group-toggle .btn input[type=radio], .btn-group-toggle .btn input[type=checkbox], .btn-group-toggle .btn-group .btn input[type=radio], .btn-group-toggle .btn-group .btn input[type=checkbox] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}
.btn-group-toggle .btn-outline-border:not(:disabled):not(.disabled).active, .btn-group-toggle .show > .btn-outline-border.dropdown-toggle {
    color: var(--primary-300);
    background-color: var(--primary-50);
    border-color: var(--primary-300);
}
.btn-group-toggle .btn-outline-border:not(:disabled):not(.disabled).active{
    color: var(--primary-300);
    background-color: var(--primary-50);
    border-color: var(--primary-300);
}


.btn-group-full{display:flex;}
.btn-group-full .btn{display:flex;padding-left:0.4rem;padding-right:0.4rem;}



/* 버튼 색상 커스텀 */
.btn:active, .btn:focus {
    outline:none !important;
    box-shadow:none !important;
}

.btn-primary-gra01 {
    color: #fff !important;
    background: var(--gra01) !important;
    border:0 !important;
}
.btn-primary-gra01:not(:disabled):hover, .btn-primary-gra01:not(:disabled):focus, .btn-primary-gra01:not(:disabled).focus, .btn-primary-gra01:not(:disabled):active {
    color: #fff !important;
    background: var(--gra01-hover) !important;
    border:0 !important;
}
.btn-primary-gra01.disabled, .btn-primary-gra01:disabled {
  color: var(--gray-500) !important;
  background: var(--disabled) !important;
  border-color: var(--disabled) !important;
}


/* 버튼 그룹 색상 커스텀 */
.btn-group-toggle .btn-outline-gray-100:not(:disabled):focus,
.btn-group-toggle .btn-outline-gray-100:not(:disabled).focus,
.btn-group-toggle .btn-outline-gray-100:not(:disabled):active,
.btn-group-toggle .btn-outline-gray-100:not(:disabled).active{
    border-color: var(--primary) !important;
    background: var(--primary) !important;
    color: #fff !important;
}
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled):focus,
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled).focus,
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled):active,
.btn-group-toggle.ft_btn_group .btn-outline-gray-100:not(:disabled).active{
    background: #fff !important;
    color: var(--gray-600) !important;
    box-shadow: 0 0 0.4rem rgb(0 0 0 / 5%);
}

/* 바텀 버튼 */
.bottom_btn {
    position: fixed;
    left: 50%;
    bottom: 0;
    width: 100%;
    padding: 0 2rem;
    max-width: var(--body_width);
    transform: translateX(-50%);
    z-index:1000;
    background: rgba(255, 255, 255, 0.85);
}

/* ===== 인풋 ===== */
/* 인풋 자동완성 초기화 */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    -webkit-text-fill-color: var(--text);
    -webkit-box-shadow: 0 0 0px 1000px var(--bg) inset;
    box-shadow: 0 0 0px 1000px var(--bg) inset;
    transition: background-color 5000s ease-in-out 0s;
}

/* 인풋 높이 */
.form-control {height: var(--height);}
.form-control-sm {height: var(--height_sm);border-radius: var(--rounded-md);}
.form-control-md {height: var(--height_md);border-radius: var(--rounded-md);}
.form-control-lg {height: var(--height_lg);border-radius: var(--rounded-lg);}
.form-control-auto {height: auto;}

input.form-control{white-space: nowrap; overflow: hidden; text-overflow: ellipsis; word-break: break-all;}


/* form 간격 */
.form-row-5 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.25rem !important;
  margin-left: -0.25rem !important;
}
.form-row-5 > .col,
.form-row-5 > [class*=col-] {
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}

.form-row-8 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.4rem !important;
  margin-left: -0.4rem !important;
}
.form-row-8 > .col,
.form-row-8 > [class*=col-] {
  padding-right: 0.4rem;
  padding-left: 0.4rem;
}

/* 인풋 타이틀, 필수값 표시 */
.ip_wr .ip_tit { margin-bottom: 1.0rem;}
.ip_tit:has(.text_count){ display: flex; justify-content: space-between; align-items: end;}
.ip_tit h5 { font-size: 1.5rem;font-weight: 500; display: inline-block;position: relative; line-height: 1.4;}
.ip_tit.required h5::after{ content: "*"; position: absolute;color:var(--primary-300);top: 0; right: -0.8rem;}

.ip_wr .form-row .col-3{max-width: 10.5rem;}

/* 기본 디자인 */
.form-control{
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--text);
    background-color: #fff;
    border: 1px solid var(--gray-200);
    border-radius: 1rem;
    padding: 1rem 1.5rem;
}
.form-control:focus{
    background-color: #fff;
    border-color: var(--gray-200);
}
.form-control::placeholder{ color: var(--gray-500);}

/* form 높이 */
.form-control {height: var(--height);}
.form-control-sm {height: var(--height_sm);border-radius: 0.8rem;font-size:1.2rem;}
.form-control-md {height: var(--height_md);border-radius: 0.6rem;font-size:1.3rem;}
.form-control-lg {height: var(--height_lg);}
.form-control-auto {height: auto;}

/* disabled / readonly */
.form-control:disabled{
    background-color: var(--gray-50);
    border-color: var(--gray-200);
    color: var(--gray-500);
}
.form-control[readonly]{
    background-color: var(--gray-50);
    border-color: var(--gray-200);
    color: var(--gray-500);
}



/* 비밀번호 인풋 */
.form-password{position:relative;}
.form-password .form-control{padding-right:5.0rem;}
.form-password .pw_icon {
    width: 2.5rem;
    height: 2.5rem;
    border: 0;
    background: transparent;
    padding: 0;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
}

/* 플로팅 텍스트 있는 인풋 */
.with_text_input{
    display: flex;
    align-items: center;
    padding: 0 1.5rem;
    background: #fff;
    gap: 0.5rem;
}
.with_text_input input{
    border: 0;
    padding-right: 0;
    padding-left: 0;
    background: transparent;
}
.with_text_input input:focus{ background: transparent;}

/* form-text */
.form-text {
    display: none;
    margin-top: 0.8rem;
    font-size: 1.3rem;
    font-weight: 400;
    color: var(--gray-600);
    line-height: 1.4;
}
.ip_invalid .ip_invalid{display: flex; color: var(--danger);}
.ip_invalid input.form-control, .ip_invalid input.form-control:focus {}
.ip_valid .ip_valid{display: flex; color: var(--success);}
.form-text.help_text{display: block;}
.text_count {font-size: 1.3rem;color: var(--gray-500);text-align: right;}
.form_text_timer{font-size: 1.4rem;font-weight: 500;color: var(--danger);}
#timer {
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translate3d(-0.5rem, -50%, 0);
    font-size: 1.3rem;
    color: var(--primary-300);
}

/* 단위 텍스트 */
.unit_txt{
    /* min-width: 4.3rem; */
    font-size: 1.3rem;
    font-weight: 600;
    line-height: 1.4;
    text-align: right;
    flex-shrink: 0;
}

/* textarea 높이 */
.form-textarea{padding:1.4rem 1.5rem; border-radius:1rem; border: 1px solid var(--gray-200);}
.form-textarea .form-control{border-radius:0;}


textarea.form-control {
    min-height: 10rem;
    border: 0;
    padding:0;
    line-height: 130%;
    resize: none;
    margin-bottom:1rem;
}
.form-control textarea::placeholder {
    color: var(--gray-500);
    opacity: 1;
}
.form-control textarea:disabled,
.form-control textarea[readonly] {
    opacity: 0.5;
}


/* ===== 셀렉트 박스 ===== */
.custom-select {
    background-size: 2.0rem;
    padding: 1rem 3.6rem 1rem 1.5rem;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text);
    text-align: left;
    position: relative;
    background-color: var(--gray-50);
}
.custom-select2 {
    background-size: 2.0rem;
    padding: 1rem 3.5rem 1rem 1.5rem;
    padding-right: 3.5rem !important;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--text);
    text-align: left;
    position: relative;
    vertical-align: middle;
    line-height: 1;
    display: flex;
    align-items: center;
}
.custom-select {
    background: url(../img/ic_select.webp)no-repeat center right 1.5rem;
    background-size: 2.0rem;
    background-color:transparent;
    border: 1px solid var(--gray-200);
}
.custom-select2:after {
    content: '';
    display: block;
    width: 2.0rem;
    height: 2.0rem;
    background: url(../img/ic_select.webp) no-repeat center center;
    background-size: 100%;
    position: absolute;
    right: 1.5rem;
    top: 50%;
    transform: translateY(-50%);
}
.custom-select2.right_arrow:after{ background: url(../img/ic_more_20_d.webp) no-repeat center center / 100%;}
.form-control:disabled.custom-select{background-image: url(../img/ic_select_disabled.webp);}
.form-control:disabled.custom-select2:after{opacity:0.3}

.custom-select2.st_none{height:auto;border:0;padding:0;padding-right:2.1rem !important;width: max-content;background: transparent;}
.custom-select2.st_none:after{right:0;}


/* 커스텀 셀렉트 드롭다운 */
.custom-select2[aria-expanded="true"]:after {
    transform: translateY(-50%) rotate(180deg);
}
.custom-select2 + .dropdown-menu {
    font-size: 1.4rem;
    border-radius: 1rem;
    border:0.1rem solid #EFF1F4;
    max-width: 100%;
    margin: 0.5rem 0;
    padding:1rem;
    right: 0;
    left: auto !important;
    z-index: 9999;
}
.custom-select2 + .dropdown-menu button {
    padding: 0.5rem 0.6rem;
    white-space: break-spaces;
    word-break: break-all;
    position:relative;
    line-height:150%;
    width:100%;
    text-align:center;
    border-radius:1rem;
    margin-bottom:1rem;
}
.custom-select2 + .dropdown-menu button.cancel{color: #F43C45; }
.custom-select2 + .dropdown-menu button:last-child{margin-bottom:0;}
.custom-select2 + .dropdown-menu button:hover {color: var(--primary); background: #EBF1FF;}
.custom-select2 + .dropdown-menu button.cancel:hover{color: #F43C45; background-color: #FFEEF4;}
.custom-select2 + .dropdown-menu button.on{ color: var(--primary); background: #EBF1FF;}
.custom-select2 + .dropdown-menu button.on:after{content: ''; display: block; width: 1.2rem; height: 1.2rem; background: url(../img/mini_check.webp)no-repeat center center; background-size: cover; position: absolute; left: 0.9rem; top: 50%; transform: translateY(-50%);}


/* 날짜 선택 */
input.form-control[type="date"], input.form-control[type="time"]{position: relative;}
input.form-control[type="date"]::-webkit-calendar-picker-indicator, input.form-control[type="time"]::-webkit-calendar-picker-indicator{
    -webkit-appearance: none;
    background: none;
    width: 100%; height: 100%; cursor: pointer;
    position: absolute; left: 0; top: 0;
}
input.form-control[type="date"]::before, input.form-control[type="time"]::before{
    content: ''; display: block; width: 2.0rem; height: 2.0rem; position: absolute; top: 50%;
    transform: translateY(-50%); right: 1.6rem; background: var(--gray); cursor: pointer;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;
}
input.form-control[type="time"]::before{
    -webkit-mask: var(--ic_time); mask: var(--ic_time);
}
input.form-control[type="date"]::before{
    -webkit-mask: var(--ic_date); mask: var(--ic_date);
}


input.form-control.no-icon[type="date"]::before, input.form-control.no-icon[type="time"]::before{ display: none;}


/* 검색 */
.sch_ip {
    display: flex;
    gap: 0.8rem;
    border: 1px solid var(--gray-200);
    background: #fff;
    padding: 0 1.5rem;
    border-radius: 1.0rem;
    height: var(--height);
}
.sch_ip .form-control{ height: 100%; padding: 0.5rem 0;border: 0;background: transparent;}
.sch_ip .form-control:focus { background-color: transparent; box-shadow: none;}
.sch_ip .sch_btn{width:2.0rem;height:2.0rem;border:0;background: transparent;}


/* 회색 검색 */
.sch_gray.sch_ip{ background: var(--light);}


/* 검색어 삭제 버튼 */
input[type=search]::-ms-clear, input[type=search]::-ms-reveal {
    display:none;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button,
input[type="search"]::-webkit-search-results-decoration{
    display:none;
}
.sch_ip .sch_clear_btn{
    width: 2.0rem;
    height: 2.0rem;
    display: none;
}

/* ===== 체크박스 ===== */
.checks_wr{display: flex; flex-wrap: wrap; margin-bottom: -1rem; }
.checks label{display: flex; align-items: center; cursor: pointer;}
.checks label.chk_right{flex-flow: row-reverse; justify-content: flex-end;}
.checks input{display: none;}
.checks .ic_box {width: 2.0rem; height: 2.0rem; border: 1px solid var(--gray-300); border-radius: 50%; background-color: #fff; background-image: url(../img/check01_off.webp); background-position: center; background-size:cover;  background-repeat: no-repeat;  text-align: center;  display: flex;  align-items: center; justify-content: center; flex-shrink: 0;}
.checks .ic_box.ic_box2{
    background-image: url(../img/check_off.webp);
    width: 1.6rem;
    height: 1.6rem;
    border: 0;
    border-radius: unset;
    background-color: transparent;
    background-size: contain;
}
.chk_p{color: var(--text); line-height: 2.2rem; text-align: left;}
.checks input:checked ~ .chk_p{}
.checks input:checked + .ic_box {
    background-color: var(--primary-300);
    background-image: url(../img/check01_on.webp);
    border: 1px solid var(--primary-300);
}
.checks input:checked + .ic_box.ic_box2 {
    background-image: url(../img/check_active.webp);
    border: 0;
    background-color: transparent;
}
.chk_right .ic_box{ margin-right: 0; margin-left: 1.0rem;}
.checks.primary_checks .ic_box{background-color: #eae9f0;border-radius: 50%;background-image:none;}
.checks.primary_checks input:checked + .ic_box{background-image: url(../img/check01_on.webp);}

.radios_wr{display: flex; flex-wrap: wrap; gap:1rem;}
.radios label{display: flex; align-items: center; cursor: pointer;}
.radios label.chk_right{flex-flow: row-reverse; justify-content: flex-end;}

.radios input{display: none;}
.radios .ic_box {
    position: relative;
    flex-shrink: 0;
    width: 2.2rem;
    height: 2.2rem;
    text-align: center;
    background-color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    border: 1px solid var(--gray-300);
}
.radios .ic_box::after{
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background-color:#fff;
}
.radios input:checked + .ic_box{border-color: var(--primary-300); background-color: #fff;}
.radios input:checked + .ic_box:after {
    background-color: var(--primary-300);
}

.option_btn{width: 100%;}
.option_btn .option_box {
    width: 100%;
    position: relative;
    flex-shrink: 0;
    background-color: #fff;
    display: flex;
    align-items: start;
    padding: 1.6rem;
    border-radius: 1rem;
    border: 1px solid transparent;
    font-size: 1.5rem;
    color: var(--gray-900);
    font-weight: 600;
    gap: 1.0rem;
}
.option_btn .option_box .option_ck {
    width: 2.0rem;
    height: 2.0rem;
    border: 1px solid var(--gray-300);
    border-radius: 50%;
    background-color: #fff;
    background-image: url(../img/check01_off.webp);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.option_btn input:checked + .option_box{border-color: var(--primary-300); background-color: var(--primary-50); }
.option_btn input:checked + .option_box .option_ck{background-color: var(--primary-300); background-image: url(../img/check01_on.webp); border: 1px solid var(--primary-300);}
.collapse_option ul{display:flex; align-items: center; flex-wrap:wrap; gap:1rem;}
.collapse_option ul li{ background-color:#fff; width:100%; border-radius:1rem;}
.collapse_option ul li > .btn{width:100%;padding:1.5rem 2rem; display:flex; align-items: center; justify-content: space-between;}
.collapse_option .collapse_cont{padding:0.5rem 2.0rem 0;}
.collapse_list .radios{padding: 1.6rem 0; border-bottom: 1px solid var(--gray-100);}
.collapse_list .radios:nth-child(1){padding-top:0;}
.collapse_list .radios:last-child{border-bottom: 0px}

body.popup-open {overflow: hidden; touch-action: none;}
.under_button_btn{padding: 1.4rem 2rem; border-radius: 1rem; border: 0.1rem solid var(--gray-200); display: flex; align-items: center; justify-content: space-between; width: 100%; background-color: #fff;}
.under_select{ inset:0; z-index:1100; display:none; touch-action: none;}
.under_select::before { z-index: 1111; content:''; position:absolute; inset:0; background:rgba(0,0,0,.4); opacity: var(--dim-opacity, 1); transition: opacity .15s linear;}
.under_select.active { display:block; position: fixed; width: var(--body_width);  height: 100%;  left: 50%;  top: 0;  transform: translateX(-50%);}
.under_list{touch-action: pan-y; overscroll-behavior: contain; /* 뒤 스크롤 전파 차단 */position: fixed;  z-index: 1112; left: 50%; bottom: 0; width: var(--body_width); transform: translate(-50%, 100%);  background-color: #fff; border-radius: 1.5rem 1.5rem 0 0; overflow: hidden; transition: transform .3s ease; pointer-events: auto; /* 시트는 항상 클릭 가능 */}
.under_select.active .under_list {transform: translate(-50%, 0);}
.up_down_btn{display: flex; align-items: center; justify-content: center; padding: 1.5rem 0; cursor: grab;}
.up_down_btn span{display:inline-block; width:3rem; height:0.4rem; border-radius:5rem; background-color:var(--gray-300); margin:auto;}
.under_list ul{padding:0 1.6rem; margin-bottom:1.5rem;}
.under_list ul li{padding:1.8rem 0.5rem; border-bottom:0.1rem solid var(--gray-100);}
.under_list ul li:last-child{border-bottom:0;}
.under_list ul li .radios label{justify-content: space-between;}
.under_list ul li .radios label .ic_box{order: 2;}
.radios label .ic_box.check{width: 2.4rem; height: 2.4rem; border: 1px solid var(--gray-300);  border-radius: 50%;  background-color: #fff;  background-image: url(../img/check01_off.webp); background-position: center; background-size: 1.0rem auto; background-repeat: no-repeat;  text-align: center;  display: flex;  align-items: center;  justify-content: center;  flex-shrink: 0;}
.radios input:checked + .ic_box.check{background-color: var(--primary-300); background-image: url(../img/check01_on.webp); border: 1px solid var(--primary-300);}
.radios .ic_box.check::after{display:none;}

/* 체크모양 라디오 */
.radios .radio_chk .ic_box {
    width: 2.2rem;
    height: 2.2rem;
    border: 1px solid var(--gray-300);
    border-radius:0.6rem;
    background-color: var(--gray-100);
    background-image: url(../img/check01_off.webp);
    background-position: center;
    background-size: 1.0rem auto;
    background-repeat: no-repeat;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1.0rem;
    flex-shrink: 0;
}
.radios .radio_chk .ic_box::after{ display: none;}
.radios .radio_chk input:checked + .ic_box {
    background-image: url(../img/check01_on.webp);
    background-color: var(--primary);
    border-color: var(--primary);
}

/* ===== 테이블 ===== */
.table_box{}
.table_box th{text-align: center;  background-color: var(--gray-50);  border-bottom: 0.1rem solid var(--gray-200); padding: 1rem 1.6rem;}
.table_box td{padding:1rem 1.6rem;}
.table_box .dropdown{width:auto; display:inline-block;}
.order{display:inline-flex; align-items: center;  border: 0;  background-color: transparent;}
.order img{width:1.6rem;}




/* ===== navigation ===== */
.navigation ul{position: relative;  display: flex;  align-items: center;  width: 100%;  padding: 0.2rem;  background-color: var(--gray-100);  border-radius: 1rem;}
.navigation ul li{  width: 100%;  position: relative;  z-index: 2;}
.navigation ul li button{height: 3.6rem;  width: 100%;  background-color: transparent;  border-radius: 0.8rem;  color: var(--gray-500);  font-size: 1.5rem; font-weight: 600; border: 0;  outline: none;padding: 0 1.2rem;}
/* 활성 텍스트 색상 */
.navigation ul li.on button{ color: var(--gray-800);}
/* 이동하는 흰색 배경 */
.navigation .indicator{ position: absolute;  top: 50%; left: 0rem; transform: translateY(-50%); height: 3.6rem;  background-color: #fff;  border-radius: 0.8rem;  box-shadow: 1px 3px 6px rgba(0,0,0,0.1); transition: transform 0.3s ease; z-index: 1;}
.navigation.round ul{border-radius: 10rem;}
.navigation.round .indicator{border-radius: 10rem;}
.navigation.h_sm ul li button{height: 3rem;font-size:1.3rem;}
.navigation.h_sm .indicator{height: 3rem;}



/* ===== 이미지 업로드 ===== */
div:has(.image_upload){ justify-content: start;}
.image_upload {
    display: inline-block;
    position: relative;
    margin-right: 1.0rem;
}
.image_upload:last-child{margin-right:0;}

.rprs_img {
    position: absolute;
    top: 1px;
    left: 1px;
    font-sizE: 1.4rem;
    color: #fff;
    color: #fff;
    background: var(--primary);
    padding: 0.2rem 0.5rem;
    border-radius: 1.0rem 0 1.0rem 0;
    z-index: 1;
}

.upload_box {
    width: 10rem;
    overflow: hidden;
    cursor: pointer;
    background: url(../img/btn_add_img.webp) no-repeat center top 35% / 3.0rem;
    background-color: #fff;
    border: 1px solid var(--gray-100);
    border-radius: 0.8rem;
    position: relative;
}
.upload_box .max_img {
    position: absolute;
    bottom: 15%;
    width: 100%;
    left: 0;
    font-size: 1.5rem;
    text-align: center;
    color: var(--gray-600);
    font-weight: 500;
}
.image_upload.on .upload_box {
    background: none;
    border: 1px solid var(--gray-100);
}

.upload_del {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 50%;
    background-color: transparent;
    padding: 0 !important;
    display: none;
}

.upload_del img {
    width: 100%;
}

.image_upload.on .upload_del {
    display: flex;
}

/* ===== 파일 첨부 ===== */
.file_box {
    position: relative;
}
.file_box input[type="file"] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.file_list li{padding:1.2rem 1.5rem;margin-bottom:0.8rem;cursor: pointer;border-radius:0.8rem;border: 1px solid var(--gray-100);font-size:1.5rem;}
.file_list li.file_warning, .file_list li.file_warning:hover{background:rgba(255,113,67,0.1);border-color:var(--warning);}
.file_list li .file_list_wrap{display:flex;align-items: center;gap: 1.5rem;}
.file_list li .byte{font-size:1.3rem;color:var(--gray-500);}
.file_list li .flex-fill{display:flex;align-items: center;    gap: 1.0rem;}
.file_warning_txt{color: var(--warning); display: flex; align-items: start; gap: 0.4rem;padding:0.5rem 0 0;}


/* ===== 페이지네이션 ===== */
.pagination {display: flex; justify-content: center; align-items: center; }
.pagination li { height: 100%; }
.pagination li:nth-child(1){margin-right:1.0rem;}
.pagination li:last-child{margin-left:1.0rem;}
.pagination a {
    color: var(--gray-600);
    font-weight: 600;
    width: 3.6rem;
    height: 3.6rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.8rem;
    white-space: nowrap;
}
.pagination a:hover{background: var(--gray-50);}
.pagination a.on {background: var(--gra02);color:#fff;}
.pagination a.on:hover {background: var(--gra02-hover);}
.pagination a.arrow{background-color: #fff;color: #626C79;border:0.1rem solid var(--gray-100);}
.pagination a.arrow{margin:0;}
.pagination a.arrow.disabled img{opacity:0.3;}


/* 페이저 */
.pager {
    background: #ffffff;
    border-radius: 15rem;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 170px;
    height: 45px;
    margin: 3rem auto 0;
    border: 1px solid var(--border);
}

/* ===== 테이블 ===== */
.table_01 {width:100%; border-collapse: collapse;   border-bottom:1px solid #e3e3e3;border-top: 1px #eee solid;line-height: 140%;}
.table_01 th {
    border-bottom: 1px solid #eee;
    color: #1C1C1E;
    font-weight: 500;
    padding: 0.7rem 1.2rem 0.7rem 1.2rem;
    background: #F8F8F8;
    vertical-align: top;

}
.table_01 td {border-bottom:1px solid #eee;  padding:0.7rem 1.2rem;color: #1C1C1E;}


/* 테이블 슬래쉬 */
.table_01 th.slash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="100%" x2="100%" y2="0" stroke="rgb(77,77,77)" /></svg>'); background-repeat: no-repeat;
}
.table_01 th.backslash {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" stroke="rgb(77,77,77)" /></svg>'); background-repeat: no-repeat;
}
.table_01 th.slash, .table_01 th.backslash { text-align: left; }
.slash div, .backslash div { text-align: right; }

/* 테이블 반응형 */
.table_scroll { overflow-x: auto; overflow-y: hidden; padding: 0px !important; }


/* ===== 이미지 크롭 ===== */
.rect{width: 100%;position: relative;overflow: hidden; }
.rect:after{content: "";display: block;padding-bottom: 100%; }
.rect img{ position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}

.rect2{width: 100%;position: relative;overflow: hidden; }
.rect2:after{content: "";display: block;padding-bottom:24.212%; }
.rect2 img{ position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}

.rect_banner{width: 100%;position: relative;overflow: hidden; }
.rect_banner:after{content: "";display: block;padding-bottom: calc(128.64 / 335 * 100%); }
.rect_banner img{ position: absolute;width: 100%;height: 100%;object-fit: cover;object-position: center;top: 50%;left: 50%;transform: translate(-50%,-50%);}

.rect_car{width: 100%;position: relative;overflow: hidden;}
.rect_car:after{content: "";display: block;padding-bottom: calc(130 / 210 * 100%); }
.rect_car img {
    position: absolute;
    width: calc(100% - 1.0rem);
    height: auto;
    object-fit: cover;
    object-position: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/* ==================== 모달 디자인 ==================== */
/* ===== 모달 공통 ===== */
body{padding-right: 0px !important;}
body.modal-open[style]{overflow-y: scroll;
    position: fixed;
    top: 0px;
    width: 100%;
}
.modal{padding-right: 0px !important; overflow-y: auto;}
.modal-dialog {max-height: 100%;height: 100%;}
.modal .modal-dialog-scrollable .modal-body {
    overscroll-behavior: none;	/* 모달 내에서만 스크롤 */
    -webkit-overflow-scrolling: touch;	/* 아이폰에서 스크롤 부드럽게 */
}

/* ===== modal-default ===== */
.modal-default {
    max-width: var(--body_width);
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
    padding: 2.0rem 1.6rem;
}

.modal .modal-header{align-items: center;padding: 1.5rem 2rem 1.5rem;justify-content: space-between;}
.modal .modal-header .modal-title {font-weight: 700;font-size: 1.7rem;flex: 1 1 auto;}
.modal .modal-header .close{text-shadow: none;opacity: 1;width:2.4rem;padding: 0;margin: 0;}

.modal .modal-content {border: 0;border-radius: 1.2rem;}
.modal .modal-body { position: relative; flex: 1 1 auto;padding:2.0rem 2.0rem 2.5rem;}
.modal .modal-body .close_bar{width:4.4rem;height:0.4rem;background:#E3E3E3;border-radius:1.0rem;margin:0 auto 1.0rem;border: 0;display: block;}

.modal .modal-footer > *{margin:0;}
.modal .modal-footer {padding: 1.5rem 2.0rem 2.5rem;border:0;display: block;}
.modal .modal-footer .form-row{margin-right: -0.4rem; margin-left: -0.4rem;}


/* ===== modal-sm ===== */
.modal-sm {
    max-width: 32.0rem;
    margin: 0 auto;
    padding: 1.5rem;
    padding: 0rem 2.0rem;
}
.modal .modal-sm .modal-header{ padding: 1.5rem 2.6rem;}
.modal .modal-sm .modal-body{ border:0; padding:2rem 2.6rem 1.5rem;}
.modal .modal-sm .modal-footer{ padding: 0 2.6rem 2.0em;}


/* ===== modal-md ===== */
.modal-md {
    max-width: 48rem;
    margin: 0 auto;
    padding: 1.5rem;
    padding: 0rem 1.6rem;
    max-height: calc(100% - 3.5rem);
    min-height: calc(100% - 3.5rem);
}

.modal .modal-md .modal-header{}
.modal .modal-md .modal-body{}
.modal .modal-md .modal-footer{padding: 0 2.0rem 2.0rem;}



/* ===== 풀사이즈 모달 ===== */
.modal_full.modal{overflow-y: auto;}
.modal_full.modal .modal-header {
    width: 100%;
    background: #fff;
    padding: 0rem 2.0rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: var(--hd_height_m);
    border: 0;
}
.modal_full.modal .modal-header button{border:0;background:transparent;width:2.4rem;}
.modal_full.modal .modal-content {border-radius: 0;max-height: 100vh;height: 100vh;}
.modal_full.modal .modal-dialog{margin:0 auto;max-width:57.6rem;transform: translate(0%, 0);max-height: 100%;}
.modal_full.modal .modal-body{border:0;padding-left:1.6rem;padding-right:1.6rem;}
.modal_full.modal .modal-footer{padding-top:1.4rem;padding-bottom:1.4rem;display: block;padding-left: 1.6rem;padding-right: 1.6rem;}
.modal_full.modal .modal-footer .form-row{margin-left: -5px;margin-right: -5px;}
.modal_full.modal .bg-black .modal-title{background:#000;}


/* ===== modal_bottom ===== */
.modal_bottom.modal{padding-right:0 !important;overflow-y: hidden;}
.modal_bottom.modal.fade{}
.modal_bottom.modal.show .modal-dialog{padding-right:0 !important;transform: translate(-50%, 0);}
.modal_bottom.modal .modal-dialog {transform: translate(0, 5rem);position: fixed;
    bottom: 0;
    width: 100%;
    max-width:100%;
    transform: translate(-50%, 5rem);
    left: 50%;
}
.modal_bottom.modal .modal-title button{border:0;background:transparent;width:3.2rem;position:absolute;right:2.0rem;top:1.6rem;}
.modal_bottom.modal .modal-dialog{justify-content: flex-end;margin: 0 auto;min-height: 100%;max-width:57.6rem;}
.modal_bottom.modal .modal-content{border-radius: 2.0rem 2.0rem 0 0;margin-top: 3.0rem;}
.modal_bottom.modal .modal-body{border-bottom:0;padding: 2rem 1.6rem 2.0rem;}
.modal_bottom.modal .modal-footer {padding: 1.0rem 1.6rem 1.5rem;}
.modal-backdrop {left: 50%; width: 100%;transform: translateX(-50%);max-width:57.6rem;}


/* ===== 토스트 팝업 ===== */
.toast{
    color: #fff;
    border-radius: 0.6rem;
    font-size: 1.5rem;
    font-weight: 500;
    padding: 0.5rem 1rem;
}
.toast{
    position: fixed;
    max-width:33rem;
    width:100%;
    top: 7.2rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0 1.4rem;
    box-shadow: none;
    font-weight: 300;
    z-index: 9999;
    border: 0;
    background: transparent;
}
.toast-body {
    padding: 1.7rem 1.5rem;
    background-color: var(--gray-900);
    color: var(--white);
    border-radius: 1.4rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content:center;
    gap: 0.5rem;
}
.toast-body p{
    display: flex;
    align-items: center;
    line-height: 1.3;
    justify-content:center;
        color: #fff;
}
.toast-body p i{
    margin-right: 0.6rem;
}

/* spinner */
.spinner_icon{flex-shrink: 0;}
.spinner_icon img{animation: spinner 0.8s linear infinite;transform-origin: 50% 50%;}
@keyframes spinner{
    100% {
        transform: rotate(360deg);
    }
}



/* 리스트 */
.list_header{display:flex;align-items: center; justify-content: space-between;margin-bottom:1.2rem;}
.list_header .total{font-weight:500;color:var(--gray-600);}

/* ==================== 헤더 / 푸터 ==================== */
/* ===== 헤더 ===== */
.hd_m {
    display:flex;
    align-items: center;
    justify-content: space-between;
    height: var(--hd_height_m) !important;
    width: 100%;
    max-width: var(--body_width);
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    padding:0 2.0rem;
    z-index: 1000;
    gap: 0.5rem;
    background-color:#fff;
}
/* 헤더 버튼 공통 */
.hd_m button{background-color: transparent; border: 0;width: 2.4rem;}
.hd_btn{display:flex;gap: 0.5rem; min-width: 2.4rem;}
.page_tit{font-size:1.7rem;font-weight:600;flex:1 1 auto;text-align: center;}
.top_push{display:block;background:url(../img/top_push.webp)no-repeat center / cover;width: 2.4rem;height:2.4rem;position:relative;}
.top_push.push_on span {
    background: var(--primary-300);
    font-size: 1.1rem;
    position: absolute;
    top: -0.4rem;
    right: 0;
    border-radius: 5rem;
    padding: 0.1rem 0.3rem;
    color: #fff;
    font-weight: 600;
    transform: translateX(50%);
    min-width: 1.4rem;
    display: inline-block;
}


/* 헤더 드롭다운 */
.hd_drop .dropdown-menu{
    background-color: var(--deep);
    text-align: center;
    box-shadow: 0 0 1rem rgb(0 0 0 / 8%);
}
.hd_drop .dropdown-item{ color: var(--gray-100); transition: color 0.3s;}
.hd_drop .dropdown-item:hover{ background: transparent; color: #fff;}

/* 헤더 검색 */
.hd_m .sch_ip{border-radius:3.0rem; border: 0; height: 4.2rem;}
.hd_m .sch_ip .form-control {height: 4.2rem;font-size: 1.4rem;}

/* ===== 하단메뉴 ===== */
.bt_menu {
    width: calc(100% + 2px);
    max-width: var(--body_width);
    position: fixed;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    display: block;
    padding:0 1.0rem;  box-shadow: 0px -1px 20px rgba(0, 0, 0.05, 0.07); border-radius:1.6rem 1.6rem 0 0;
    background: rgba(255,255,255,0.85);
    backdrop-filter: blur(0.75rem);
}
.bt_menu ul{height:6.8rem;align-items: center;display: flex;justify-content: space-between;align-items: center;text-align:center;}
.bt_menu ul li{width:20%;}
.bt_menu ul li a {display: block;}
.bt_menu ul li .ico {width: 2.5rem;display: block;margin: 0 auto;}
.bt_menu ul li.ico_center{padding-bottom: 2.1rem;}
.bt_menu ul li.ico_center .ico{width: 4.6rem;background: rgba(255,255,255,0.85);border-radius:50%;border:3px solid #fff;}
.bt_menu ul li a p{word-break: keep-all; color:var(--gray-500); font-size:1.2rem; font-weight:600;line-height: 1.5;margin-top:0.4rem;}
.bt_menu ul li .img_on{display:none;}
.bt_menu ul li.on a p{color:var(--primary-300);}

.bt_menu ul li.on .img_on{display:block;}
.bt_menu ul li.on .img_on + .new_icon{display:none;}
.bt_menu ul li.on .img_off{display:none;}


/* ===== 바텀시트 메뉴 공통 ===== */
.bs_menu ul{font-size:1.6rem;font-weight:500;}
.bs_menu li .bs_btn{height:6.0rem;color:var(--text);width:100%;border-bottom:1px solid var(--gray-100);border-radius:0;padding: 0;}
.bs_menu li .radios .bs_btn, .bs_menu li .checks .bs_btn{justify-content: space-between;flex-direction: row-reverse;}
.bs_menu li:last-child .bs_btn{border-bottom:0;}



/* ==================== 메인 서브 공통 ==================== */
.no_date{padding:9.35rem 0; text-align:center;}
.no_date img{width:5.6rem; margin-bottom:1.5rem;}


/* 아이템 */
.item{display:flex; flex-direction: column;}
.item .tit{font-size:1.5rem;font-weight:600;}
.item .price{font-size:1.6rem;font-weight:700;}
.item .rank{font-size:3.6rem;font-weight:800;color:var(--gray-300);width:3.0rem;text-align:center;}
.item .date{font-size:1.4rem;color:var(--gray-500);}
.item .car_thum{background:var(--gray-50);border-radius:1.0rem;}

/* 핫딜 */
.item.hot_item .item_body {
    padding: 1.2rem 0;
    display: flex;
    align-items: center;
}

/* 자동차 */
.item.car_item{flex-direction: row;align-items: center;}
.item.car_item .car_thum{width:13rem;margin-right:2.0rem;flex-shrink: 0;}
.item.car_item .car_thum .rect_car:after {padding-bottom: calc(93 / 130 * 100%);}

/* 모델선택 + 자동차 */
.car_list2 .item.car_item {
    flex-direction: row-reverse;
    align-items: center;
    background: var(--gray-50);
    border-radius: 1.0rem;
    padding: 0.8rem 2.0rem;
    overflow: hidden;
    justify-content: flex-end;
}
.car_list2 .item.car_item .car_thum{width:24rem;height:auto;margin-left:1.5rem;flex-shrink: 0;}
.car_list2 .item.car_item .car_thum .rect_car:after{padding-bottom: calc(134 / 240 * 100%); }
.car_list2 .item.car_item .car_thum .rect_car img {width: 100%;}
.car_list2 .item.car_item .item_body {width: calc(100% - 18rem);flex-shrink: 0;}

/* 브랜드 */
.item.brand_item{text-align:center;}
.item.brand_item .tit{font-size:1.4rem;word-break:keep-all !important;}
.item.brand_item .brand_logo {
    width: 7.2rem;
    height: 7.2rem;
    border-radius: 50%;
    background: var(--gray-50);
    display: flex;
    align-items: center;
    justify-content: center;
    margin:0 auto 0.8rem;
}
.item.brand_item .brand_logo img{width:5.6rem;height:auto;}


/* ==================== 라이선스 공통 ==================== */
.licenses_item {
    padding-top: 2.0rem;
    padding-bottom: 2.0rem;
    border-bottom: 1px solid var(--gray-100);
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}
.licenses_item .tit {
    font-size: 1.6rem;
    color: #000;
    font-weight: 700;
    margin-bottom: 0.2rem;
}
.licenses_item .link_a {
    font-size: 1.4rem;
    color: var(--blue);
    display: block;
    margin-bottom: 0.2rem;
}

.licenses_item .info {
    font-size: 1.4rem;
    color: var(--gray-600);
    white-space: pre-line;
}

/* ==================== 반응형 / 디자인 ==================== */
/* home */
.home_gra {background: linear-gradient(180deg, #FFF 0%, var(--gray-50) 40%);padding-bottom: 2.0rem;}
.home_sch{border-radius:3.0rem;border:1px solid var(--primary-300);padding:0 1.5rem;background:#fff;height:var(--height);gap:0.8rem;}
.home_banner{border-radius:1.6rem; overflow:hidden;}
.home_banner .swiper-pagination {
    display: inline-block;
    width: auto;
    min-width: 4.7rem;
    left: auto;
    right: 1rem;
    bottom: 1rem;
    background: #1C1C1E66;
    color: #fff;
    font-size: 1.2rem;
    padding: 0.5rem 0.9rem;
    border-radius: 5rem;
    backdrop-filter: blur(4px);
}
.estimate_number{padding:1.2rem 1.5rem;}

.hot_deals .swiper{margin-left:-2.0rem;margin-right:-2.0rem;padding:0 2.0rem;}
.hot_deals .swiper-slide{width:21rem;}

.service_btn {display: flex;flex-direction: column;gap: 1.0rem;}
.service_btn a{display:flex;padding:1.5rem 1.6rem;background:var(--gray-50);border-radius:1.0rem;align-items: center;}


/* 검색 */
.search_list ul {display: flex;flex-direction: column;gap: 0.2rem;}
.search_list li{display:flex;align-items: center; justify-content: space-between;height:3.6rem;flex-direction: row;gap: 1.0rem;}
.search_list li a{display:flex;align-items: center;line-height: 100%;flex:1 1 auto;gap: 1.0rem;}
.search_list .item .tit{font-weight:500;}

/* 필터 */
.filter_top {
    padding: 1.2rem 2.0rem;
    margin-left: -2.0rem;
    margin-right: -2.0rem;
    border-bottom: 1px solid var(--gray-50);
    position: relative;
    display: flex;
    align-items: center;
}
.filter_top .select_num{
    background: var(--primary-300);
    font-size: 1.1rem;
    position: absolute;
    top: -0.3rem;
    right: 0;
    border-radius: 5rem;
    padding: 0.1rem 0.3rem;
    color: #fff;
    font-weight: 600;
    transform: translateX(50%);
    min-width: 1.4rem;
    display: none;
}
.filter_all {padding-right: 1.2rem;margin-right: 1.2rem;border-right: 1px solid var(--gray-200);}
.filter_all .btn{width:3.6rem;height:var(--height_md);border:1px solid var(--gray-200);padding:0;}
.filter_all .btn{position:relative;}
.filter_all .btn.active .select_num{display:inline-block;}
.filter_top .btn-md.active{padding-right:1.2rem;}
.filter_top .btn .select_del{display:none;margin-left:0.4rem;}
.filter_top .btn.active .select_del{display:block;}
.filter_reset {
    position: absolute;
    right: 0;
    top: 0;
    height: 6.0rem;
    width: 6.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.00) 0%, #FFF 30%);
}

/* ==================== custom_yr ==================== */

/* ===== 완료 페이지 레이아웃 ===== */
.complete_layout .container{ min-height: 54rem;}


/* ===== 앱 정보 ===== */
.app_info_pg .logo_img{ width: 13rem;}

/* ===== 알림 설정 ===== */
.set_list{
    display: flex;
    width: 100%;
    height: 6rem;
    padding: 1rem 2rem;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    border-bottom: 1px solid var(--gray-100);
}
.set_list .set_tit{
    color: var(--text);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 140%;
}

/* ===== 게시글 리스트 공통 디자인 ===== */
.board_list_layout{ padding-bottom: 8.6rem;}

/* 검색 영역 */
.search_area{ padding: 2rem 2rem 1.5rem;}
.search_area .custom_select_btn{
    width: 10rem;
}

/* 게시글 토탈 카운트 */
.total_count{
    display: block;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 140%;
    margin-bottom: 1rem;
}

/* 리스트 디자인 */
.list_wr{ border-top: 1px solid var(--gray-100);}
.list_wr .list{
    display: flex;
    padding: 1.6rem 2rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-bottom: 1px solid var(--gray-100);
    cursor: pointer;
}
.list .text_wr{ flex-grow: 1;}
.list .text_wr .list_tit{
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 140%;
    margin-bottom: 0.2rem;
}
time.write_date{
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 140%;
    color: var(--gray-500);
}
/* 화살표 */
.list_wr .list.right_arrow::after{
    content: "";
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/ic_more_24.webp) no-repeat center / cover;
    flex-shrink: 0;
}

/* ===== 게시글 상세페이지 공통 디자인 ===== */
.board_dt_layout{ padding-bottom: 6.2rem;}
.board_dt_layout .title_area .tit_h2{ margin-bottom: 0.5rem;}
.board_dt_layout .cont_area{ line-height: 160%;}
.board_dt_layout .cont_area * + img{ margin-top: 1.5rem;}


/* ===== 1:1 문의 ===== */
/* 답변상태 표시 */
.inquire_status{
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 140%;
    color: var(--gray-600);
}
.inquire_status.done{ color: var(--primary-300);}

/* ===== 1:1 문의 상세 ===== */
.inquire_badge{
    display: flex;
    width: 2.4rem;
    height: 2.4rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border-radius: 2rem;
    color: #FFF;
    text-align: center;
    font-weight: 700;
    flex-shrink: 0;
}
.inquire_badge.q_badge{ background: linear-gradient(180deg, var(--primary) 0%, var(--primary-300) 100%);}
.inquire_badge.a_badge{ background: var(--gray-600);}

.inquire_area .tit_wr{
    display: flex;
    gap: 1rem;
}
.inquire_area .tit_wr .text_wr{
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

/* === 질문 영역 === */
.inquire_area.q_area{ padding: 2rem 0 3rem;}
.photo_wr .container{
    width: fit-content;
    display: flex;
    justify-content: start;
    gap: 1rem;
    margin: 0;
}
.photo_wr .photo{
    width: 7.7rem;
    height: 7.6rem;
    aspect-ratio: 1/1;
    border-radius: 0.6rem;
    overflow: hidden;
    padding: 0;
    flex-shrink: 0;
}
.photo_wr .photo img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 사진 크게 보기 모달 */
.view_photo_slide{
    width: 100%;
    height: 100%;
}
.view_photo_slide .swiper-slide{
    display: flex;
    align-items: center;
    justify-content: center;
}
.view_photo_slide img{ max-width: 100%; max-height: 100%;}

/* 슬라이드 숫자형 페이지네이션 */
.slide_pagination_fraction{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    width: auto;
    padding: 0.5rem 1.2rem;
    border-radius: 1.4rem;
    background: rgba(0, 0, 0, 0.40);
    backdrop-filter: blur(2px);
    font-size: 1.2rem;
    font-weight: 500;
    color: #fff;
    bottom: 2rem;
    left: 50%;
    transform: translateX(-50%);
}


/* === 답변 영역 === */
.inquire_area.a_area{
    border-top: 1px solid var(--gray-100);
    padding: 1.5rem 0 1rem;
}


/* ===== 오토캐시백 ===== */
.navigation ul.p_4{ padding: 0.4rem;}

.tab_container {
    padding: 0 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.tab_container .ip_wr{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    gap: 0.5rem;
}
.tab_container .ip_wr .ip_tit{ margin-bottom: 0;}
.tab_container .ip_wr > * { width: 100%; flex-grow: 1;}

/* 결과(카드사 리스트) 영역 */
.card_list {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}
.card_card {
    background: #ffffff;
    border-radius: 1rem;
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.card_top{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.card_icon {
    width: 2.4rem;
    height: 2.4rem;
    border-radius: 5rem;
    border: 0.1rem solid var(--gray-100);
    overflow: hidden;
    flex-shrink: 0;
}
.card_icon img{ width: 100%; height: 100%; object-fit: cover;}

.card_name{font-weight: 600;}
.card_price{font-weight: 700;}


/* 카드 일시불 */
.card_card.full_card{ width: calc(50% - 0.5rem);}

/* 카드 할부 */
.card_card.installment_card{ width: 100%;}
.installment_card .card_top > .d-flex{
    align-items: center;
    gap: 0.5rem;
}

.installment_card .card_text {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    font-size: 1.4rem;
    font-weight: 500;
}
.installment_card .card_text dt{ color: var(--gray-500); width: 6.6rem;}
.installment_card .card_text dd{ color: var(--gray-900); text-align: right;}

/* 하단 유의사항 */
.notice_area{
    background: var(--gray-50);
    border-top: 1px solid var(--gray-200);
}
.notice_area > .container{ padding-top: 3rem; padding-bottom: 6.5rem;}
/* 점 리스트 공통 */
.list_style_dot{
    display: flex;
    flex-direction: column;
    list-style: disc;
    padding-left: 2.0rem;
    font-size: 1.3rem;
    color: var(--gray-600);
}
.notice_area .notice_list{
    gap: 0.8rem;
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--gray-500);
}


/* ===== 상담신청 ===== */
/* === 서비스 이용약관 동의 === */
/* 전체동의 체크 버튼 */
.all_check_btn label p{ color: var(--gray-600);}
.all_check_btn label:has(input:checked){ border-color: var(--primary-300); background: var(--primary-50);}
.all_check_btn label:has(input:checked) p{ color: var(--primary-300);}

/* 동의 체크박스 */
.agree_wr .checks_wr .checks{
    display: flex;
    gap: 0.5rem;
}
.agree_wr .checks_wr .checks label{ flex-grow: 1; font-weight: 500;}

/* === 구매할 차량 선택 모달 === */
/* 우측 화살표 */
.right_arrow_menu .bs_btn{ text-align: left; justify-content: space-between; gap: 1rem;}
.right_arrow_menu .bs_btn::after{
    content: "";
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/ic_more_24.webp) no-repeat center / cover;
    flex-shrink: 0;
}


/* ===== 옵션 선택 ===== */
.select_option_layout .container{ padding-top: 2rem; padding-bottom: 6rem;}
.option_sect + .option_sect{ margin-top: 3rem;}

/* 컬러 선택 영역 */
.car_preview_area{padding:3rem 2rem 1.5rem; margin-bottom: 2.4rem;}
.car_name{
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1.5rem;
}
.car_name .car_type{
    font-size: 1.5rem;
    font-weight: 600;
    color: var(--gray-500);
    margin-bottom: 0.2rem;
}
.car_name .car_model{
    font-size: 2.2rem;
    font-weight: 700;
    color: var(--gray-900);
}
.car_name .car_logo {
    width: 5.6rem;
    aspect-ratio: 20/13;
    object-fit: cover;
    object-position: center;
    flex-shrink: 0;
}
/* 차 미리보기 이미지 */
.car_preview{
    display: flex;
    align-items: center;
    justify-content: center;
}
.car_preview img{
    width: 100%;
    max-width: 28rem;
}

/* 컬러 선택 */
.color_menu_wr{ margin-top: 2rem;}
.color_menu{ padding: 1.5rem 0; border-top: 1px solid var(--gray-100);}
.color_menu .color_tit_wr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    row-gap: 0.5rem;
    flex-wrap: wrap;
}
.color_menu .color_tit_wr .color_type{
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--gray-900);
}
.color_menu .color_tit_wr .color_price{
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--gray-600);
    text-align: right;
}
.color_menu .color_name{
    font-size: 1.4rem;
    font-weight: 500;
    color: var(--gray-500);
    margin-top: 0.5rem;
}

/* 컬러 선택 라디오 */
.car_color_radios{
    display: flex;
    align-items: start;
    gap: 0.5rem;
    margin-top: 1rem;
    flex-wrap: wrap;
}
.color_radio{
    width: 2.8rem;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 1px solid #fff;
    flex-shrink: 0;
}
.color_radio .color_chip{ width: 100%; height: 100%; border-radius: 50%; border: 2px solid #fff;}
.color_radio:has(input:checked){ border-color: var(--primary-300);}

/* 모델 선택 */
.sect_tit{ margin-bottom: 1rem;}
.sect_tit_sm{ font-size: 1.4rem; font-weight: 500; color: var(--gray-900); line-height: 1.4;}

/* collapse_option 내 할인 버튼 */
.sale_btn{
    width: 100%;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 1rem 1.5rem;
    border-radius: 1rem;
    border: 1px solid var(--gray-200);
    background: #fff;
    text-align: left;
    margin-top: 1rem;
}
/* 화살표 */
.sale_btn::after{
    content: "";
    display: block;
    width: 2rem;
    height: 2rem;
    background: url(../img/ic_select.webp) no-repeat center / cover;
    flex-shrink: 0;
}
.sale_info .badge{margin-bottom:.5rem}
.sale_price_wr{
    display: flex;
    align-items: center;
    gap: 0.8rem;
    line-height: 1.4;
}
.sale_price_wr .sale_price {
    font-size: 1.6rem;
    font-weight: 500;
    color: var(--text);
}
.sale_price_wr .sale_percent{
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--red);
}
.stock_count{
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--gray-500);
    margin-top: 0.2rem;
}

/* === 할인 선택 모달 === */
.sale_menu_radio {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem 0;
    cursor: pointer;
}
.sale_menu_radio .sale_info{ flex-grow: 1;}
.sale_menu_radio .number{
    width: 3rem;
    font-size: 3.6rem;
    font-weight: 800;
    color: var(--gray-300);
    flex-shrink: 0;
}
/* 안내문구 */
.info_icon_text{
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--gray-600);
}
.info_icon_text:has(.info_icon){
    display: flex;
    align-items: center;
    gap: 0.4rem;
}


/* ===== 조건선택 ===== */
.car_info{ display: flex; flex-direction: column; gap: 0.4rem;}
.car_info .left_info{ margin-bottom: 0;}

/* 조건 collapse */
.collapse_config .collapse_btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 2rem;
    flex-grow: 1;
    line-height: 1.4;
}
.collapse_config .collapse_cont {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    padding: 2rem;
    border-top: 1px solid var(--gray-100);
}

.ip_tit_sm_text{
    font-size: 1.3rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--gray-500);
    text-align: right;
}

/* 조건 삭제 버튼 */
.del_config_btn ~ .collapse_btn{
    padding-left: 0;
}


/* ===== 견적비교 ===== */
.quote_layout{ padding-bottom: 6rem;}
.quote_sect{
    padding: 2rem;
    background: #fff;
}
.quote_sect{ border-bottom: 1px solid var(--gray-100);}
.quote_sect.car_thumb_area{ border-bottom: 0;}

/* 자동차 정보 */
.quote_sect.car_thumb_area{ padding-bottom: 0;}
.car_thumb_area .item.car_item .car_thum{width:9rem}

/* 조건 탭버튼 */
.quote_sect.option_tab_btn{ padding: 1.2rem 2rem;}

/* 각 정보 섹션 */
.quote_sect_tit{
    font-weight: 600;
    color: var(--gray-500);
    margin-bottom: 1.2rem;
}
.option_info_list .left_info{ align-items: start; font-weight: 500; margin-bottom: 0.8rem;}

.option_info_list .between_info{ margin-bottom: 0.8rem;}
.option_info_list .between_info .tit{
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gray-900);
}
.option_info_list .between_info .cont{
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--gray-900);
}

/* 견적서 리스트 */
.quote_list_area{ padding: 3rem 2rem;}

.hero_wr{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    flex-wrap: wrap;
}

.quote_list{
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}
.quote_card{
    padding: 1.6rem 2rem;
    border-radius: 1rem;
    background: #fff;
    cursor: pointer;
}

/* 견적서 리스트 공통 */
.quote_info_layout{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
}
.quote_info_layout .quote_info_top{
    display: flex;
    align-items: center;
    gap: 0.2rem;
}
.quote_info_top .company_name_wr{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex-grow: 1;
}
.quote_info_layout .card_name{ flex-grow: 1;}
.quote_info_layout .quote_price{ font-weight: 700;}

/* 할부일 경우 디자인 변경 */
.quote_card.installment_card{ padding: 2rem;}

/* 카드 상단 */
.quote_info_layout.installment_card .quote_info_top{ align-items: start;}
.installment_card .quote_info_top .company_name_wr{ align-items: start;}
/* 금리 텍스트 */
.quote_info_top .company_name_wr .interest_rate{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.4;
    color: var(--gray-500);
}
.quote_info_top .interest_rate ~ .card_name{ margin-bottom: 0.2rem;}

/* ===== 견적서 ===== */
.price_info_area{
    display: flex;
    gap: 1rem;
}
.price_info_area .card_icon{ width: 4.8rem; height: 4.8rem;}
.price_info_area span.line{ display: block; width: 1px; height: 2rem; background: var(--gray-200);}

/* 가격 리스트 */
.price_result_box{
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    background: var(--gray-50);
    margin-top: 2rem;
}
.price_result_box .between_info{ justify-content: space-between; row-gap: 0.5rem; margin-bottom: 0;}
.price_result_box .tit_wr{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    row-gap: 0.2rem;
    line-height: 1.5;
}
.price_result_box .between_info .tit{
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gray-900);
}
.price_result_box .between_info .cont{
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--gray-900);
    text-align: right;
}

/* 하단 버튼 모음 */
.btn_area{
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

/* 구비서류 목록 */
.documnet_list_wr + .documnet_list_wr{ margin-top: 2rem;}
.document_list{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    color: var(--gray-600);
}

/* ===== 견적함 ===== */
.quote_list_pg .quote_card{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    align-items: start;
}
.quote_card .item.car_item .car_thum{ width: 7rem;}

/* 매니저 견적함 탭 */
.manager_tab{
    padding: 0 2rem;
    margin: 0 -2rem;
    border-bottom: 1px solid var(--gray-200);
}
.manager_tab .mng_tab_btn{
    position: relative;
    height: var(--height_lg);
    padding: 0;
    color: var(--gray-500);
}
.manager_tab .mng_tab_btn.active{ color: var(--text);}
.manager_tab .mng_tab_btn.active::after{
    content: "";
    width: 100%;
    height: 2px;
    background: var(--text);
    position: absolute;
    bottom: -1px;
    left: 0;
}

/* === 필터 바텀시트 === */
/* 제조사 */
.brand_type_wr + .brand_type_wr{ margin-top: 2.4rem;}
/* 브랜드 로고 비율 */
.slt_brand_btn{
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    height: auto;
    padding: 1.5rem 0 1rem 0;
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
}
.btn-group-toggle .slt_brand_btn:not(:disabled):not(.disabled).active{ color: var(--gray-600);}
.brand_logo_thumb{
    width: 5.6rem;
    aspect-ratio: 56/36;
    object-fit: cover;
    flex-shrink: 0;
}

/* ===== 견적함 검색 ===== */
/* 견적 리스트 카드 디자인 변경 */
.quote_search_pg .quote_card{ border: 1px solid var(--gray-200);}


/* ===== 커뮤니티 ===== */
.top_area{ padding: 0 2rem;}

/* 일반 게시글 카드 디자인 */
.post_card{
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    cursor: pointer;
    border-bottom: 1px solid var(--gray-100);
}
.post_card .post_badge_gr{
    display: flex;
    align-items: center;
    justify-content: start;
    gap: 0.5rem;
}

.post_card .card_body{
    display: flex;
    align-items: center;
    gap: 1.5rem;
    justify-content: space-between;
}
.post_card .post_text{flex-grow:1}
.post_text .post_tit{ margin-bottom: 0.2rem;}
.post_text  .post_cont{ color: var(--gray-600);}

/* 이미지 썸네일 */
.post_card .post_thumb{
    width: 6rem;
    position: relative;
    overflow: hidden;
    border-radius: 1rem;
    aspect-ratio: 1/1;
    flex-shrink: 0;
}
.post_card .post_thumb img{ width: 100%; height: 100%; object-fit: cover; object-position: center;}
/* 사진 여러장 표시 */
.post_thumb .more_photos{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.40);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
}

.post_card .card_footer{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

/* 작성자 + 작성날짜 */
.post_meta{
    display: flex;
    align-items: center;
    gap: 1rem;
}
.post_meta .user_info{
    display: flex;
    align-items: center;
    gap: 1rem;
}
.post_meta .user_info .user_name{
    font-size: 1.4rem;
    font-weight: 600;
    line-height: 1.4;
    color: var(--gray-600);
}
.post_meta .post_date{
    font-size: 1.4rem;
    line-height: 1.4;
    color: var(--gray-500);
}
/* 프로필 사진 */
.post_meta .user_profile{
    width: 2.4rem;
    overflow: hidden;
    border-radius: 50%;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    background: url(../img/no_profile.webp) no-repeat center / cover;
}
.post_meta .user_profile img{ width: 100%; height: 100%; object-fit: cover; object-position: center;}

/* === 인기글 === */
.top_area.hot_post_wr{ padding-top: 2rem; padding-bottom: 0.5rem;}

.post_card.hot_post_card{
    border: 0;
    border-radius: 1rem;
    background: var(--gray-50);
}
.post_card.hot_post_card .card_footer{ justify-content: start;}

/* 카드 슬라이드 */
.hot_post_slide{ overflow: hidden;}

/* === 게시글 리스트 === */
/* 좋아요 + 댓글 + 조회수 */
.post_stats_wr{
    display: flex;
    align-items: center;
    gap: 1rem;
}
.post_stats {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--gray-600);
}
.post_stats .stats_icon{
    width: 2rem;
    height: 2rem;
}
/* 좋아요 */
.like_btn:hover{ color: var(--gray-600);}
.like_btn .stats_icon{ background: url(../img/commu_like.webp) no-repeat center / cover;}
.like_btn.active .stats_icon{ background: url(../img/commu_like_active.webp) no-repeat center / cover;}
/* 댓글 */
.stats_comment .stats_icon{ background: url(../img/commu_comment.webp) no-repeat center / cover;}
/* 조회수 */
.stats_view .stats_icon{ background: url(../img/commu_view.webp) no-repeat center / cover;}

/* 글쓰기 버튼 */
.new_post_btn{
    width: 5rem;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: linear-gradient(180deg, var(--primary) 0%, var(--primary-300) 100%);
    position: fixed;
    right: 50%;
    bottom: 7.8rem;
    transform: translateX(272px);
    transition: margin 0.15s;
    z-index: 998;
}
/* 고탑버튼과 겹치지 않게 위치 조절 */
.mobile_wr:has(.go_top.show) .new_post_btn{margin-bottom:5rem}

/* === 후기 게시글 === */
.commu_review_area .top_area{ padding-top: 1rem;}
.review_hero{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: 2rem;
    border-radius: 1rem;
    background: var(--gray-50);
}

/* === 후기 게시글 리스트 === */
.review_card .post_badge_gr{ gap: 1rem;}
.review_card .post_badge_gr .car_name{
    font-weight: 700;
    color: var(--text);
}

/* 리뷰점수 */
.review_score{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    line-height: 1;
}
.review_star_wr{
    display: flex;
    align-items: center;
}
.review_star_icon{
    width: 1.6rem;
    aspect-ratio: 1/1;
    flex-shrink: 0;
    background: url(../img/review_star_off.webp) no-repeat center / cover;
}
.review_star_icon.on{ background: url(../img/review_star_on.webp) no-repeat center / cover;}

.review_score .score_num{
    font-size: 1.3rem;
    font-weight: 500;
    color: var(--gray-600);
}

/* ===== 게시글 상세 ===== */
.post_cont_area{padding:1rem 2rem 0;}

/* 리뷰 별점 */
.post_detail_pg .review_score_wr{
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.6rem 2rem;
    border-radius: 1rem;
    border: 1px solid var(--gray-100);
    text-align: center;
}
.post_detail_pg .review_score_wr .review_star_icon{ width: 2.4rem;}
.post_detail_pg .review_score_wr .score_num{
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--text);
}

/* 글자 이미지 사이 간격 */
.post_cont_middle p + img, .post_cont_middle img + img{ margin-top: 1.5rem;}

.post_cont_bottom .like_btn{ height: 3.6rem;}

/* === 댓글 === */
.comment_area:has(.comment_item){ border-top: 1px solid var(--gray-100);}
.comment_item{ padding: 1rem 2rem; border-bottom: 1px solid var(--gray-100);}
.comment{
    padding: 1rem 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.comment .comment_header{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cm_more_btn{ flex-shrink: 0;}
.reply_btn{
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.4;
    color: var(--gray-600);
}

/* === 답글 === */
.comment.reply{
    flex-direction: row;
    align-items: start;
    gap: 1rem;
}
.comment.reply .reply_cont{ display: flex; flex-direction: column; gap: 1rem;}
/* 답글 화살표 */
.reply_arrow{
    width: 1.6rem;
    aspect-ratio: 1/1;
    background: url(../img/comment_arrow.webp) no-repeat center / cover;
    flex-shrink: 0;
}

/* === 댓글 입력 === */
.post_comment_wr{
    width: 100%;
    max-width: var(--body_width);
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    position: fixed;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    background: #fff;
    border-top: 1px solid var(--gray-100);
}
/* 댓글 입력창 */
.comment_ip_wr{
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-radius: 2.4rem;
    padding: 0 0.8rem 0 2rem;
    background: var(--gray-50);
    border: 1px solid var(--gray-200);
}
.comment_ip_wr textarea{
    background: transparent;
    border-radius: 0;
    border: 0;
    margin: 0;
    padding: 1.35rem 0;
    height: auto;
    min-height: var(--height);
    max-height: 9.7rem;
    line-height: 1.4;
    overflow-y: hidden;
    resize: none;
}
.comment_ip_wr textarea:focus{ background: transparent;}

/* 댓글 입력 버튼 */
.post_comment_btn{
    width: 3.2rem;
    height: 3.2rem;
    border-radius: 50%;
    background: var(--primary-300);
}
.post_comment_btn:disabled{ background: var(--gray-300);}

/* ===== 후기 작성 ===== */
/* 별점 선택 */
.rating_stars img { width: 2.8rem; height: 2.8rem;}

/* ===== 매출&수수료 현황 ===== */
.sale_list .sale{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1.6rem 2rem;
    cursor: pointer;
    border-bottom: 1px solid var(--gray-100);
}
.sale_list .sale .sale_header{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
}

.right_arrow_icon{
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/ic_more_24.webp) no-repeat center / cover;
}

/* 거래액 collapse */
.sale_coll_icon{
    display: block;
    width: 1.4rem;
    height: 1.4rem;
    background: url(../img/ic_open.webp) no-repeat center / cover;
    transform: rotate(0);
}




/* ==================== custom_bh ==================== */

/* ===== login ===== */
.login_home_pg {
    height: 100vh;
    background: url(../img/login_car3.webp) no-repeat top center;
    background-size: cover;
}

/* ===== 로그인 말풍선 ===== */
.bubble_area {
    position: relative;
    margin-top: 2rem;
    height: 20rem;
}
.bubble {
    width: max-content;
    position: absolute;
    background: #fff;
    padding: 1rem 2.4rem;
    border-radius: 3rem;
    font-size: 1.6rem;
    font-weight: 500;
    color: #777E87;
}
.bubble1 {top: 0; left: 50%;transform: translateX(-50%);}
.bubble2 {top: 5.4rem; left: 0;}
.bubble3 {top: 11.6rem; right: 2rem;}
.login_car {width: 12rem; height:10.3rem; margin: 0 auto;}
.login_car img{width: 100%;}


/* .login_bottom { background: url(../img/login_bg.webp) no-repeat center center / 100%; } */
/* .login_bottom {
    background: url(../img/login_car3.webp) no-repeat;
    background-size: cover;
    background-position: center calc(40% - 100px);
} */
.list_push,.list_faq {margin-left: -2.0rem; margin-right: -2.0rem;}
.list_push .is_unread {background: var(--gray-50);}
.list_push .list.right_arrow::after {
    content: "";
    display: block;
    width: 2.4rem;
    height: 2.4rem;
    background: url(../img/ic_more_24.webp) no-repeat center / cover;
    flex-shrink: 0;
}

.list_faq .list{
    display: flex;
    padding: 1.6rem 2rem;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    border-bottom: 1px solid var(--gray-100);
    cursor: pointer;
}
#faq_collapse_wr button {border-bottom: 1px solid var(--gray-100);}
#faq_collapse_wr .cont_lf{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    text-align: start;
    line-height: 1.4;
}
#faq_collapse_wr ul li>.btn {padding: 1.6rem 2rem;}
#faq_collapse_wr ul li .collapse_cont {padding: 2rem; background: var(--gray-50);}

/* ===== direct_insurance ===== */
.direct_wr ul {display: flex; flex-direction: column; gap: 1.2rem;}
.direct_wr ul li{aspect-ratio: 335 / 128.64; overflow: hidden; border-radius: 1rem;}
.direct_wr ul li img{width: 100%; height: 100%; object-fit: cover;}
.direct_top {
    background: var(--primary-50) url(../img/direct_bg.webp) no-repeat right bottom;
    background-size: 12rem auto;
}
.login_btm {
    position: fixed;
    bottom: 8.2rem;
    display: inline-flex;
    padding: 0.6rem 1.5rem;
    border-radius: 5rem;
    gap: 0.5rem;
    border: 1px solid var(--gray-200);
    font-weight: 600;
}
.login_btm p{color: var(--gray-600);}
.login_btm a{color: var(--primary-300); text-decoration: underline; text-underline-offset: 0.3rem;}

/* ===== mypage ===== */
.my_pg .my_profile {padding-top: 2rem; display: flex; align-items: flex-start; align-self: stretch; justify-content: space-between; gap: 1.5rem;}
.my_pg .my_profile_left {display: flex; flex-direction: column;}
.my_pg .my_profile_txt h2{font-size: 2rem; font-weight: 700; line-height: 1.4;}
.my_pg .my_profile_img {width: 7rem; height: 7rem; border-radius: 5.5rem; overflow: hidden;}
.my_pg .my_profile_img img{width: 100%;}
.my_pg .my_profile_login a {font-size: 1.2rem; line-height: 1.5; color: var(--gray-500);}
.my_pg .my_profile_login a span{color: var(--gray-500); text-decoration: underline; text-underline-offset: 0.3rem; text-decoration-color: var(--gray-500);}

.my_pg .my_box {background: var(--gray-50); border-radius: 1.6rem !important;}
.my_pg .my_box .quick_menu {padding: 2.1rem 1.6rem;}
.my_pg .my_box .quick_menu ul li a{
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    align-items: center;}
.my_pg .my_box .car_add {padding: 1.5rem 2rem; border-top: 1px solid var(--gray-200);}
.my_pg .my_box .my_car_add {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.my_car_visual {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.my_car_visual img {
    width: 100%;
    height: auto;
    max-width: 28rem;
}
.my_car_visual button {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 1.3rem;
    font-weight: 500;
}
.my_car_date {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.2rem;
    background: rgba(255, 255, 255, 0.85);
    border-radius: 1.0rem;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.07);
    backdrop-filter: blur(7.5px);
}
.my_remain {
    width: 6.5rem;
    height: 6.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: var(--primary-50);
    border-radius: 0.8rem;
}
.my_contract {display: flex; flex-direction: column; gap: 0.5rem;}

.my_pg .my_menu {display: flex; flex-direction: column; gap: 2rem;}
.my_pg .my_menu .my_menu_tit {color: var(--gray-500); margin-bottom: 1.2rem; font-size: 1.3rem; font-weight: 600; line-height: 1.4;}
.my_pg .my_menu .my_menu_wr ul li a {display: block; padding: 0.8rem 0; font-size: 1.6rem; font-weight: 600; line-height: 1.4;}

.bg_transparent {background-color: transparent;}

li.li_dashed {position: relative; padding-left: 1rem;}
li.li_dashed::before {
    content: "-";
    position: absolute;
    left: 0;
}
#change_expert .checks_wr {margin-bottom: 0;}
.bank_logo_thumb {
    width: 2.4rem;
    aspect-ratio: 24 / 24;
    object-fit: cover;
    flex-shrink: 0;
}

.tab_line3 {
    border: unset;
    border-bottom: 1px solid var(--gray-50);
    flex-wrap: nowrap;
}

.touch_scroll .d-flex .image_upload:last-of-type {margin-right: 0;}

.reset_info {display: flex; align-items: center; gap: 0.5rem; line-height: 0;}
.reset_info span{width: 1.6rem; height: 1.6rem;}
.reset_info span img{width: 100%;}


/* ==================== 반응형 ==================== */

/* 반응형 max 1200px xl */
@media (max-width: 1199.98px) {


}

/* 반응형 max 992px lg */
@media (max-width: 991.98px) {

}

/* 반응형 max 767px md */
@media (max-width: 767.98px) {

    /* 모바일 메뉴 */
    .m_menu_wr{width: 100%; left: 50%; transform: translate(-50%); max-width:57.6rem;}
    .menu_bg{width: 100%; left: 50%;}
    .menu_on .m_nav{max-width: 80%;}

}

/* 반응형 max 576px sm */
@media (max-width: 575.98px) {

    .mobile_wr {
        border-left: 0;
        border-right: 0;
    }

    /* 고탑버튼 모바일 사이즈 */
    .go_top {
        right: 1.6rem;
        transform: translateX(0);
    }

    .new_post_btn{ right: 2rem; transform: unset;}

}

/* 반응형 max 374px */
@media (max-width: 374px) {
    html { font-size:9.4px; }

    /* 아이템 */
    .item.brand_item .brand_logo {width: 6.4rem;height: 6.4rem;}
    .item.brand_item .brand_logo img {width: 5.0rem;}
}