@import url("reset.css");

:root{
	--pri:#155bf7;
	--pri2:#1d4ed8;
	--pri_soft:rgba(37,99,235,.12);
	--pri_line:rgba(37,99,235,.22);
	--pri_gra:linear-gradient(130deg, #155bf7, #a128a3);

	--bg:#f8fafc;
	--bg2:#f3f5fb;
	--card:#ffffff;
	--txt:#0f172a;
	--txt2:#1f2937;
	--muted:#64748b;
	--muted2:#9ca3af;
	--line:#e2e8f0;
	--line2:#d1d5db;
	--brand:#4f46e5;
	--brand2:#7c3aed;
	--shadow:0 10px 30px rgba(15,23,42,.08);
	--shadow2:0 16px 40px rgba(0,0,0,.10);
	--round:20px;
	--pagew:1200px;
	--toph:70px;
	--mnav-w:320px;
	
	
	
	--acc_pink:#ec4899;
	--acc_green:#10b981;
	--acc_amber:#f59e0b;
	--acc_red:#ef4444;
	--acc_purple:#8b5cf6;
	--acc_cyan:#06b6d4;
	--g_pri:linear-gradient(135deg, rgba(37,99,235,.18), rgba(29,78,216,.20));
	--g_pink:linear-gradient(135deg, rgba(236,72,153,.16), rgba(37,99,235,.14));
	--g_green:linear-gradient(135deg, rgba(16,185,129,.16), rgba(37,99,235,.12));
	--g_amber:linear-gradient(135deg, rgba(245,158,11,.18), rgba(236,72,153,.12));
	--g_dark:linear-gradient(135deg, rgba(17,24,39,.92), rgba(17,24,39,.72));
	--chip_bg:rgba(37,99,235,.06);
	--chip_txt:#3757d5;
	--chip_line:rgba(37,99,235,.18);
	--ok_bg:rgba(16,185,129,.10);
	--ok_txt:#047857;
	--warn_bg:rgba(245,158,11,.12);
	--warn_txt:#92400e;
	--err_bg:rgba(239,68,68,.10);
	--err_txt:#b91c1c;
	--focus:0 0 0 4px rgba(37,99,235,.18);
	--fs_11:11px;
	--fs_12:12px;
	--fs_13:13px;
	--fs_14:14px;
	--fs_15:15px;
	--fs_16:16px;
	--fs_18:18px;
	--fs_20:20px;
	--fw_400:400;
	--fw_600:600;
	--fw_800:800;
	--sp_5:5px;
	--sp_10:10px;
	--sp_15:15px;
	--sp_20:20px;
	--sp_25:25px;
	--sp_30:30px;
	--sp_35:35px;
	--sp_40:40px;
	--sp_45:45px;
	--sp_50:50px;	
}



html,body{height:100%;}
body{
	transition:padding .35s ease;margin:0;background:var(--bg);
	color:var(--txt);font-size:13px;
	font-family:
		'Paperlogy',
		'Paperlogy Fallback',
		'Pretendard',
		-apple-system,
		BlinkMacSystemFont,
		'Segoe UI',
		'Noto Sans KR',
		'Apple SD Gothic Neo',
		sans-serif;
}
body.modal-open { overflow: hidden; }
body.lock_scroll{overflow:hidden;touch-action:none;}





textarea, input, label, select, checkbox, radio, button,
label:focus, select:focus, checkbox:focus, radio:focus, a{ outline : none !important;text-decoration: none !important;color:inherit; }

input:focus,
textarea:focus,
a:focus,
button:focus{
	outline:0 !important;
	box-shadow:none !important;
}
img{max-width:100%;display:block;}


.page{min-height:100vh;}
h1,h2,h3,h4,h5,h6,.brand_txt .t1,textarea,input{font-family:'Paperlogy', 'Paperlogy Fallback', sans-serif;font-size:15px;}

.hr {height: 1px;background: var(--line);border: 0;margin: var(--sp_20) 0;}


.modal-open .modal { z-index:111111111; }

ul,ol,dl,label { margin:0; }
ul.dot li { list-style-type: disc; }

input[type=checkbox], input[type=radio] { margin:0;vertical-align:top; }

input[type='text'],
input[type='password'] { font-weight:normal !important; }

input:read-only { background-color:#f3f3f3 !important; }
button[disabled] { color: #b3b3b3; }

td { vertical-align:middle !important; }
p { margin:0; }


input::placeholder,
textarea::placeholder { font-size:14px;color:#bababa; }
.form-control { font-size:15px; }



input[type='number']::-webkit-inner-spin-button,
input[type='number']::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Chrome, Safari, Edge, Opera에서의 화살표 숨김 */
input[type='number'] {
    -moz-appearance: textfield;
}


.svg_icon {display:inline-block;line-height: 0;padding: 0;margin: 0;fill: none;stroke-linecap: round;stroke-linejoin: round;width: 16px;stroke-width: 2;stroke:#000;}



.nice-select { height: 35px;display: flex;align-items: center; }



.custom-switch-wrap{display:inline-flex;align-items:center;user-select:none;cursor: pointer;margin:0;}
.custom-switch-wrap input{position:absolute;opacity:0;pointer-events:none;}
.custom-switch-wrap .ui{width:44px;height:24px;border-radius:999px;background:#cfd5df;position:relative;transition:background .18s;}
.custom-switch-wrap .ui::after{content:"";width:20px;height:20px;border-radius:999px;background:#fff;position:absolute;top:2px;left:3px;box-shadow:0px 1px 4px rgba(0,0,0,.5);transition:transform .18s;}
.custom-switch-wrap input:checked + .ui{background:#4e73df;}
.custom-switch-wrap input:checked + .ui::after{transform:translateX(19px);}
.custom-switch-wrap .txt{font-size:13px;color:var(--txt);}
.custom-switch-wrap .ui + .txt{margin-left:7px;}	/* txt에 내용이 있을 때만 margin-left 적용 */
.custom-switch-wrap input:disabled + .ui{background:#e5e7eb;cursor:not-allowed;}
.custom-switch-wrap input:disabled + .ui::after{background:#f9fafb;box-shadow:none;}
.custom-switch-wrap input:disabled ~ .txt{color:#9ca3af;cursor:not-allowed;}
.custom-switch-wrap input:disabled + .ui,
.custom-switch-wrap input:disabled ~ .txt{opacity:.7;}






.shadow_bg { box-shadow:0 0 10px rgb(62 57 107 / 10%); }
.smooth { transition: all .5s;-webkit-transition: all .5s;-moz-transition: all .5s;-ms-transition: all .5s;-o-transition: all .5s; }
.smooth_1 { transition: all .1s;-webkit-transition: all .1s;-moz-transition: all .1s;-ms-transition: all .1s;-o-transition: all .1s; }
.smooth_2 { transition: all .2s;-webkit-transition: all .2s;-moz-transition: all .2s;-ms-transition: all .2s;-o-transition: all .2s; }
.smooth_3 { transition: all .3s;-webkit-transition: all .3s;-moz-transition: all .3s;-ms-transition: all .3s;-o-transition: all .3s; }
.smooth_4 { transition: all .4s;-webkit-transition: all .4s;-moz-transition: all .4s;-ms-transition: all .4s;-o-transition: all .4s; }





/* =========================
   02) Topbar / Header
========================= */
.topbar{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:100;
	height:90px;
	transition:all .35s ease;
	background:#fff;
	backdrop-filter:blur(12px);
	border-bottom:1px solid rgba(226,232,240,.4);
	box-shadow:0 1px 10px rgba(15,23,42,.07);
}
.topbar_shadow{position:relative;height:90px;}
.topbar_in{
	max-width:var(--pagew);
	margin:0 auto;
	height:100%;
	padding:0 20px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	transition:all .35s ease;
}
.logo{display:flex;align-items:center;gap:10px;height:55px;transition:all .35s ease;}

.logo img{height: 100%;transition:height .3s ease;}
.btn_primary{padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900;font-size:13px;box-shadow:var(--shadow);}
.btn_icon{display:none;}
.btn_icon .svg_icon{width:33px;stroke:#373737;}

/* ===============================
   HEADER (스크롤 후 축소)
================================= */
.topbar.is_shrink{height:65px;background:rgba(248,250,252,.6);border-bottom: 1px solid rgba(226, 232, 240, 1);box-shadow:0 6px 20px rgba(15,23,42,.08);}
/* 로고 크기 줄이기 */
.topbar.is_shrink .logo{height:40px;}

@media (max-width:1024px){
	.logo{height:40px;}
	.topbar.is_shrink .logo {height:35px;}
}



/* =========================
   PC Gnav Dropdown
========================= */
.gnav{display:flex;align-items:center;gap:6px;position:relative;}
.gnav_item{position:relative;}
.gnav_item:after{
	content:"";
	position:absolute;
	left:0;
	top:100%;
	width:100%;
	min-width:180px;
	height:14px;
}
.gnav_link{display:inline-flex;align-items:center;padding:10px 12px;border-radius:12px;font-weight:700;font-size:15px;color:var(--txt);}
.gnav_link.active,
.gnav_link:hover{background:rgba(79,70,229,.08);}

.gnav_sub{
	position:absolute;
	left:0;
	top:calc(100% + 10px);
	min-width:180px;
	padding:10px;
	border-radius:14px;
	background:rgba(255,255,255,.95);
	backdrop-filter:blur(10px);
	border:1px solid rgba(226,232,240,.9);
	box-shadow:0 18px 45px rgba(15,23,42,.12);
	opacity:0;
	visibility:hidden;
	transform:translateY(-6px);
	transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
	z-index:120;
}
/* 서브메뉴 */
.gnav_sublink{
	display:flex;
	padding:10px 10px;
	border-radius:12px;
	font-weight:600;
	font-size:13px;
	color:var(--muted);
	white-space:nowrap;
}
.gnav_sublink:hover{background:rgba(79,70,229,.08);color:var(--txt);}

/* hover / focus-open */
.gnav_item:hover .gnav_sub,
.gnav_item:focus-within .gnav_sub{opacity:1;visibility:visible;transform:translateY(0);}

/* 작은 삼각형(선택) */
.gnav_sub:before{
	content:"";
	position:absolute;
	left:18px;
	top:-7px;
	width:14px;
	height:14px;
	background:rgba(255,255,255,.95);
	border-left:1px solid rgba(226,232,240,.9);
	border-top:1px solid rgba(226,232,240,.9);
	transform:rotate(45deg);
}

/* 모바일에서는 PC 드롭다운 숨김(모바일메뉴 사용) */
@media (max-width:1024px){
  .gnav{display:none;}
}
.gnav_item.is_open .gnav_sub{opacity:1;visibility:visible;transform:translateY(0);}





/* =========================
   03) Layout / Common
========================= */
.wrap{max-width:var(--pagew);margin:0 auto;padding:30px 20px 60px 20px;}
.section{margin-top:70px;}
.section:first-child{margin-top:0;}
.sec_head{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin-bottom:15px;}
.sec_head .h{margin:0;font-size:18px;font-weight:950;}
.sec_head .s{margin:0;color:var(--muted);font-size:12px;font-weight:800;}
.card{border-radius:var(--round);background:var(--card);box-shadow:var(--shadow);border:1px solid rgba(226,232,240,.8);padding:20px;}
.card_head{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 5px 0 15px;
	/* background:rgba(248,250,252,.7); */
	background:linear-gradient(180deg, rgba(248, 250, 252, .5), rgb(242 248 253 / 69%));border-bottom: 1px solid rgba(226, 232, 240, .8);}
.card_title{font-weight:600;font-size:15px;}
.card_more{width:30px;display: flex;}
.card_more .svg_icon{width:30px;stroke:#676767;stroke-width: 1.4;}
.card_body{padding:15px;}

/* 2-column home grid */
.grid_wrap_2,
.grid_wrap_3{display:grid;gap:15px;align-items:start;}
.grid_wrap_2{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);}	/* 첫 번째 컬럼비율 1.6, 두 번째 컬럼비율 1, fr = 남은 공간을 나눠 갖는 비율 단위*/
.grid_wrap_2.half{grid-template-columns:minmax(0,1fr) minmax(0,1fr);}
.grid_wrap_3{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);}
.grid_wrap > .card{min-width:0;padding:0;overflow: hidden;}
.grid_wrap > .card *{min-width:0;}




/* =========================
   11) Mobile Nav
========================= */
.mnav_backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease;z-index:90;}
.mnav{position:fixed;top:0;right:0;height:100vh;width:min(var(--mnav-w),88vw);background:rgba(255,255,255,.7);backdrop-filter:blur(14px);border-left:1px solid rgba(226,232,240,.9);transform:translateX(110%);transition:transform .26s ease;z-index:100;display:flex;flex-direction:column;}
.mnav_open .mnav{transform:translateX(0);}
.mnav_open .mnav_backdrop{opacity:1;visibility:visible;}
.mnav_head{padding:20px;border-bottom:1px solid rgba(255,255,255,.7);display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mnav_brand{display:flex;align-items:center;gap:10px;min-width:0;font-size: 15px;}
.mnav_logo{width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand2));box-shadow:var(--shadow);flex:0 0 auto;}
.mnav_txt{min-width:0;}
.mnav_txt .t1{font-weight:950;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mnav_txt .t2{font-weight:800;font-size:12px;color:var(--muted);margin-top:2px;}
.mnav_close{cursor:pointer;}
.mnav_close .svg_icon{width:33px;stroke:#373737;}
.mnav_menu{padding:0 15px;overflow:auto;flex:1 1 auto;}
.mnav_item{border-bottom:1px solid rgba(226,232,240,.7);}
.mnav_item:last-child{border-bottom:none;}
.mnav_row{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.mnav_link{flex:1 1 auto;min-width:0;display:flex;align-items:center;padding:15px 5px;font-weight:500;font-size:14px;}
.mnav_toggle{width:42px;height:42px;border-radius:14px;border:1px solid rgba(226,232,240,.9);background:rgba(255,255,255,.7);cursor:pointer;position:relative;flex:0 0 auto;margin:5px 0 5px 10px;}
.mnav_toggle:before,.mnav_toggle:after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--txt);transform:translate(-50%,-50%);border-radius:2px;}
.mnav_toggle:after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .18s ease;}
.mnav_item.is_open .mnav_toggle:after{transform:translate(-50%,-50%) rotate(0deg);}
.mnav_sub{max-height:0;overflow:hidden;transition:max-height .24s ease;padding:0 5px;}
.mnav_item.is_open .mnav_sub{padding:0 5px 10px 5px;}
.mnav_sublink{display:block;padding:10px 10px;border-radius:12px;color:var(--muted);font-weight:900;font-size:13px;}
.mnav_sublink:hover{background:rgba(79,70,229,.08);color:var(--txt);}
.mnav_foot{padding:15px;border-top:1px solid rgba(226,232,240,.9);}
.mnav_cta{display:flex;align-items:center;justify-content:center;height:46px;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:980;box-shadow:var(--shadow);}
.mnav_info{margin-top:10px;color:var(--muted);font-weight:850;font-size:12px;line-height:1.6;}





.input_text, 
.input_select, 
.input_textarea {width: 100%;border: 1px solid var(--line2);border-radius: 5px;padding: 0 10px;font-size: 13px;box-sizing: border-box;background: #fff;}
.input_text, 
.input_select {height: 50px;}
.input_text.mini, 
.input_select.mini {height:40px !important;}
.input_text:focus,
.input_select:focus,
.input_textarea:focus{outline:none;border-color:var(--pri);box-shadow:0 0 10px rgba(147,196,218,.5) !important;}
.input_textarea{height:auto;min-height:80px;padding:8px 10px;resize:vertical;line-height:1.5;}
	
input[readonly] {background-color: #eef3f7;}

input:disabled {background-color: #e0e0e0;cursor: not-allowed;}





.icon{width:16px;height:16px;display:inline-block;flex:0 0 auto;}
.btn{border:1px solid var(--line2);background:#fff;border-radius:5px;padding:0 15px;font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:5px;user-select:none;height:40px;}
.input-sm,
.btn-sm {font-size:13px;height:30px;}
.btn-xs {padding:0 5px;height:24px;}
.btn-lg {height:50px;padding: 0 25px;font-size:15px;}

.btn:hover{border-color:var(--line2);}
.btn:active{transform:translateY(1px);}
.btn:focus{outline:none;box-shadow:var(--focus);}

.btn.primary{background:var(--pri);border-color:var(--pri);color:#fff;}
.btn.primary .svg_icon{stroke:#fff;}
.btn.primary:hover{background:var(--pri2);border-color:var(--pri2);}

.btn.secondary{background:#6b7280;border-color:#6b7280;color:#fff;}
.btn.secondary .svg_icon{stroke:#fff;}
.btn.secondary:hover{background:#4b5563;border-color:#4b5563;}

.btn.success{background:var(--acc_green);border-color:var(--acc_green);color:#fff;}
.btn.success .svg_icon{stroke:#fff;}
.btn.success:hover{background:#22c55e;border-color:#22c55e;}

.btn.danger{background:var(--acc_red);border-color:var(--acc_red);color:#fff;}
.btn.danger .svg_icon{stroke:#fff;}
.btn.danger:hover{background:#f87171;border-color:#f87171;}

.btn.warning{background:var(--acc_amber);border-color:var(--acc_amber);color:#fff;}
.btn.warning .svg_icon{stroke:#fff;}
.btn.warning:hover{background:#fbbf24;border-color:#fbbf24;}

.btn.info{background:var(--acc_cyan);border-color:var(--acc_cyan);color:#fff;}
.btn.info .svg_icon{stroke:#fff;}
.btn.info:hover{background:#22d3ee;border-color:#22d3ee;}

.btn.dark{background:#111827;border-color:#111827;color:#f9fafb;}
.btn.dark .svg_icon{stroke:#fff;}
.btn.dark:hover{background:#020617;border-color:#020617;}


.btn_sm{padding:6px 10px;border-radius:5px;font-size:var(--fs_11);}
.btn_full{width:100%;justify-content:center;}
.btn_pri{border-color:var(--pri_line);background:var(--g_pri);color:#1f3fbf;}
.btn_ghost{border-color:var(--pri_line);background:#fff;color:#1f3fbf;}
.btn_danger{border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.08);color:#b91c1c;}
.btn_ok{border-color:rgba(16,185,129,.25);background:rgba(16,185,129,.10);color:#047857;}
.btn_cancel{border: 1px solid var(--line);background: #fff;}

.btn_primary{position:relative;width:100%;height:60px;border-radius:5px;background:var(--pri_gra);color:#fff;font-size:18px;font-weight:500;cursor:pointer;
				display:flex;align-items:center;justify-content:center;gap:10px;overflow:hidden;transition:color .3s ease;}
.btn_primary::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg, #3b82ff, #8b3dff);opacity:0;transition:opacity .35s ease;z-index:0;}
.btn_primary span{position:relative;z-index:1;}
.btn_primary svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:3;z-index: 1;}
.btn_primary:hover{color:#fff;}
.btn_primary:hover::after{opacity:1;}					
.btn_primary[disabled]{opacity:.55;cursor:not-allowed;}



.alert {
	font-size: 15px;
    padding: 20px;
    margin-bottom: 20px;
    border: 1px solid transparent;
    border-radius: 5px;
    text-shadow: 0 1px 0 rgba(255,255,255,.2);
    -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)
}

.alert-success {
    background-image: -webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);
    background-image: -o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));
    background-image: linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);
    background-repeat: repeat-x;
    border-color: #b2dba1
}

.alert-info {
    background-image: -webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);
    background-image: -o-linear-gradient(top,#d9edf7 0,#b9def0 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));
    background-image: linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);
    background-repeat: repeat-x;
    border-color: #9acfea
}

.alert-warning {
	color: #8a6d3b;
    background-image: -webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);
    background-image: -o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));
    background-image: linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);
    background-repeat: repeat-x;
    border-color: #f5e79e
}

.alert-danger {
    background-image: -webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);
    background-image: -o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);
    background-image: -webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));
    background-image: linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);
    background-repeat: repeat-x;
    border-color: #dca7a7
}




/* =========================
   12) Responsive
========================= */
@media (max-width:1024px){
	.gnav{display:none;}
	.btn_icon{display:inline-flex;align-items:center;justify-content:center;}
	.wrap{padding:20px 15px 50px 15px;}
	.grid_wrap,
	.grid_wrap_2.half{grid-template-columns:1fr;}
}





/* =========================
  Footer
========================= */
.footer{border-top:1px solid rgba(226,232,240,.9);background:rgba(255,255,255,.55);}
.footer .footer_in{max-width:var(--pagew);margin:0 auto;padding:25px 20px;display:flex;gap:15px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;}
.footer .footer_in .f1{font-weight:950;}
.footer .footer_in .f2{color:var(--muted);font-weight:800;font-size:12px;line-height:1.7;}






/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* 세부페이지 시작 */

.sub_page_wrap { max-width: 1300px;width: calc(100% - 20px);min-height:950px;margin: 0 auto;padding-bottom:100px; }
.sub_page_wrap .content_wrap {  }

.sub_page_wrap .content_wrap .title_wrap  {display: flex;flex-direction: column;align-items: center;margin: 100px auto 70px;}
.sub_page_wrap .content_wrap .title_wrap .marker {display: flex;align-items: center;justify-content: center;background: linear-gradient(135deg, #5bd0e5, #155bf7);width: 100px;height: 100px;border-radius: 50%;margin-bottom:10px;
    box-shadow: 0 5px 20px rgb(14 127 183 / 35%);}
.sub_page_wrap .content_wrap .title_wrap .marker .svg_icon{width:50px;stroke:#fff;stroke-width:1.5;}
.sub_page_wrap .content_wrap .title_wrap h3.sub_title {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: 40px;
    color: #000;
    font-weight: 700;
    text-align: center;
    
}
.sub_page_wrap .content_wrap .title_wrap h3.sub_title:after {content: '';width: 100%;height: 3px;padding: 0 10px;margin-top: 5px;background: #d5d5d5;}
@media (max-width:1024px){
	.sub_page_wrap .content_wrap .title_wrap h3.sub_title {font-size:26px;margin: 15px 0 25px;}
}
/* 세부페이지 종료 */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */









/* 통합 모달 시작 */
#modal_overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(255,255,255,0.5);backdrop-filter: blur(15px);display:none;align-items:center;justify-content:center;z-index:1000;}
#modal_overlay.show{display:flex;}
#modal_overlay #modal_box{min-width:400px;max-width:calc(100% - 30px);width:600px;opacity:0;transform:translateY(-40px);padding:0;overflow: hidden;}
#modal_overlay.show #modal_box{animation: modalDrop 0.45s cubic-bezier(.34,1.56,.64,1) forwards;}
@keyframes modalDrop{
	0%{opacity:0;transform:translateY(-30px);}
	60%{opacity:1;transform:translateY(5px);   /* 살짝 더 내려갔다가 */}
	100%{opacity:1;transform:translateY(0);     /* 제자리로 살짝 튕기듯 복귀 */}
}
#modal_overlay #modal_box .modal_header {position:relative;display: flex;height: 50px;align-items: center;background: var(--bg2);padding: 0 15px;border-bottom:1px solid var(--line);}
#modal_overlay #modal_box .modal_header h3 {font-size: 16px;font-weight: 600;}
#modal_overlay #modal_box .modal_header #modal_close {position:absolute;top:0;right:15px;bottom:0;margin:auto;display: flex;}
#modal_overlay #modal_box .modal_header #modal_close .svg_icon{width:30px;}
#modal_overlay #modal_box .modal_body {}
#modal_overlay #modal_box .modal_body .board_list_wlrap {max-height: 300px;overflow-y: auto;padding: 0 20px;margin:10px 0;}
#modal_overlay #modal_box .modal_body .board_list_wlrap ul {display: flex;flex-direction: column;}
#modal_overlay #modal_box .modal_body .board_list_wlrap ul li {display:flex;height:40px;border-bottom:1px solid #e5e8eb;padding: 0 15px;}
#modal_overlay #modal_box .modal_body .board_list_wlrap ul li:first-child{border-top:1px solid #e5e8eb;}
#modal_overlay #modal_box .modal_body .board_list_wlrap ul li:nth-child(odd){background:var(--bg);}
#modal_overlay #modal_box .modal_body .board_list_wlrap ul li .custom-switch-wrap {width:100%;}
#modal_overlay #modal_box .modal_footer {display:flex;align-items: center;justify-content: flex-end;gap:10px;border-top: 1px solid var(--line);height: 60px;padding: 0 10px;}
/* 통합 모달 종료 */












/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* 게시판 관련 시작 */


/* 카테고리 탭 */
.board_cate_wrap{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px;}
.board_cate_wrap .cate_item{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:5px 15px;
	border-radius:999px;
	border:1px solid var(--line2);
	background:#fff;
	font-size:13px;
	color:var(--muted);
	cursor:pointer;
	transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.board_cate_wrap .cate_item:hover{border-color:#2563eb;color:#2563eb;box-shadow:0 5px 15px rgba(37,99,235,.12);}
.board_cate_wrap .cate_item.is_active{border-color:#2563eb;background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 5px 15px rgba(37,99,235,.18);}


.board_meta_top {display: flex;align-items: flex-end;justify-content: space-between;margin-bottom: 5px;font-size: 14px;color: var(--muted);	}
.board_meta_top .post_total {display: flex;align-items: center;}
.board_meta_top .post_total strong {color: var(--pri);font-weight: 500;margin-left:5px;}	
.board_meta_top .post_total .checkbox_wrap {display:flex;margin-right:10px;}
.board_meta_top .post_total .checkbox_wrap #del_post_all {margin-right:5px;}


/* 검색 박스 */
.search_post_input_wrap { height:50px;background:#eff5fd;border-radius:999px;position:relative;display:flex;align-items: center;justify-content: flex-start;padding:0 20px;overflow: hidden; }
.search_post_input_wrap .searchStr_input { border:0;background:transparent;width:100px;height: 100%;font-size: 15px;color: #000;}
.search_post_input_wrap .searchStr_input.on { width:200px; }
.search_post_input_wrap .searchStr_input::placeholder { color: #777;font-size: 15px;font-weight:bold; }
.search_post_input_wrap .searchStr_input::-webkit-input-placeholder { color: #777;font-size: 15px;font-weight:bold; }
.search_post_input_wrap .searchStr_input:-moz-placeholder { color: #777;font-size: 15px;font-weight:bold; }
.search_post_input_wrap .searchStr_input::-moz-placeholder { color: #777;font-size: 15px;font-weight:bold; }
.search_post_input_wrap .searchStr_input:-ms-input-placeholder { color: #777;font-size: 15px;font-weight:bold; }	
.search_post_input_wrap .button_wrap { position:absolute;right:-30px;height:100%;display: flex;align-items: center; }
.search_post_input_wrap .button_wrap.on { right:10px; }
.search_post_input_wrap .button_wrap button { width:40px;height:100%;background: transparent;border: 0;line-height: 0; }
.search_post_input_wrap .button_wrap button img { margin:0 auto;}
.search_post_input_wrap .button_wrap button.btn_search .svg_icon {width: 30px;stroke-width: 2.3;stroke: #9abce9;transition:stroke .25s ease;}
.search_post_input_wrap .searchStr_input.on + .button_wrap button.btn_search .svg_icon{stroke:#3e659b;}
.search_post_input_wrap .button_wrap button.btn_search_cancel .svg_icon {width: 35px;stroke-width: 2;stroke: #3e659b;}



/* 뱃지들: 오른쪽에 붙는 아이템들 */
.post_badges{display:flex;gap:5px;}
.post_badges > span{flex:0 0 auto;}
.post_badges > span > span{position:relative;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;height:16px;border-radius:999px;font-size:9px;font-weight:500;overflow:hidden;color:#fff;}
.post_badges > span.new > span{background:linear-gradient(135deg,#3b82f6,#6366f1);}
.post_badges > span.hot > span{background:linear-gradient(135deg,#ef4444,#f97316);}
.post_badges > span.cmt > span{background:#1db755;}
.post_badges > span.file > span{background:#6b7280;}
.post_badges > span.img > span{background:#07a7d9;}
.post_badges > span.new > span::after,
.post_badges > span.hot > span::after,
.post_badges > span.cmt > span::after,
.post_badges > span.file > span::after,
.post_badges > span.img > span::after{
	content:'';
	position:absolute;
	top:0;
	left:-100%;
	width:40%;
	height:100%;
	background:linear-gradient(120deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0.4) 50%,rgba(255,255,255,0) 100%);
	transform:skewX(-20deg);
	animation:badgeShineSoft 2.5s ease-in-out infinite;
}
@keyframes badgeShineSoft{0%{left:-100%;} 60%{left:130%;} 100%{left:130%;}}


.post_meta{display:flex;align-items: center;gap:5px;line-height:0;}
.post_meta > span:before{display:block;content:'';width:1px;height:3px;margin:0 10px;background:#989898;}
.post_meta .category {}
.post_meta .writer {}
.post_meta .date {}
.post_meta .hit {}


.post_btn_bottom_wrap{margin-top:50px;display:flex;justify-content:space-between;}
.post_btn_bottom_wrap .left_wrap,
.post_btn_bottom_wrap .right_wrap{display:flex;gap:10px;}
.post_btn_bottom_wrap .btn{padding:0 15px;height:40px;font-size:13px;}
@media (max-width:1024px){
	.post_btn_bottom_wrap .right_wrap{display:flex;gap:5px;}
}
@media (max-width:768px){
	.post_btn_bottom_wrap .btn{padding: 0 10px;}
}


.ck-editor__editable {min-height: 400px;max-height: 500px;overflow-y: auto;}
/* 전체 박스 테두리 + 라운드 */
.ck.ck-editor{border:1px solid #d0d7df !important;width:100%;border-radius:5px;background:#fff;overflow:hidden;}
/* ✨ 툴바 테두리 정리 (위 겹치는 선 제거) */
.ck.ck-editor .ck.ck-toolbar{border:0 !important;/* 상·좌·우 테두리 제거 */border-bottom:1px solid #d0d7df !important;border-radius: 0;background: #f8fafc;}
/* 툴바영역 */
.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content{border:0 !important;}
/* 에디터 본문 테두리 제거 (안쪽 선 제거) */
.ck.ck-editor__main {padding:10px;}
.ck.ck-editor__main > .ck-editor__editable{border:0 !important;box-shadow:none !important;}





/* 페이징 시작 */
#pagging_container { clear:both; }
.pagging_wrap { margin:20px 0;text-align:center; }
.pagging_box { margin:50px auto 0; }
.pagging_box .dot { font-weight:bold;letter-spacing:-8px;padding-right:8px; }
.pagging_box .dot:after { content:'ㆍㆍㆍ'; }
.pagging_box a { color:#777;display:inline-block;vertical-align:middle;padding:4px 10px;margin:0 1px;border:1px solid transparent;border-radius:3px;transition:all 0.2s ease-out;-webkit-transition:all 0.2s ease-out;font-size:13px; }
.pagging_box a.on, 
.pagging_box a:hover { color:#000;font-weight:bold;text-decoration: none;border-color:#DDDFEB;background:#eaecf4; }
.pagging_box .none, 
.pagging_box .none:hover { color:#bababa;font-weight:bold;text-decoration: none;border-color:#dadada;background-color:#efefef !important;cursor:default; }
.paging_head {
	display:inline-block;
	vertical-align:middle;
	width:30px;height:28px;
	cursor:pointer;
	border-radius:3px;
	border:1px solid #DDDFEB;
	background-size:auto 10px;
	background-repeat:no-repeat;
	background-position:center;
	background-color:#fff;
	transition:all 0.2s ease-out;
	-webkit-transition:all 0.2s ease-out;
}
.paging_head.prev { background-image:url('/assets/images/paging-prev.png');margin-right:10px; }
.paging_head.prev:hover,
.paging_head.prev.on { background-color:#dad9d6; }
.paging_head.next { background-image:url('/assets/images/paging-next.png');margin-left:10px; }
.paging_head.next:hover,
.paging_head.next.on { background-color:#dad9d6; }


/* ===== Paging ===== */
.pagging_box{display:flex;justify-content:center;gap:10px;margin-top:25px;flex-wrap:wrap;}
.pagebtn{display: flex;justify-content: center;align-items: center;min-width:40px;height:40px;border-radius:999px;border:1px solid var(--line);background:var(--card);color:var(--txt2);font-weight:700;transition:transform .15s ease, box-shadow .15s ease;}
.pagebtn:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(0,0,0,.06);}
.pagebtn:active{transform:translateY(0);}
.pagebtn.is_on{border-color:transparent;background:linear-gradient(135deg,#2563eb,#7c3aed);color:#fff;box-shadow:none;}
.pagebtn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
/* 페이징 종료 */




/* 게시글 관리 버튼 시작 */
#btn_config_post{position:relative;}
#btn_config_post #post_config_wrap{display:none;position: absolute;width: 150px;top: 0px;left: 80px;border:1px solid var(--line);border-radius: 5px;background: #fff;box-shadow: 0 0 5px rgba(0, 0, 0, 0.05);overflow:hidden;}
#btn_config_post #post_config_wrap.on{display:block;}
#btn_config_post #post_config_wrap ul li{display:flex;border-top:1px solid var(--line);}
#btn_config_post #post_config_wrap ul li:first-child{border-top:0;}
#btn_config_post #post_config_wrap ul li button{display:flex;align-items:center;height: 30px;font-size: 12px;padding: 5px;}
#btn_config_post #post_config_wrap ul li button .svg_icon{margin-right:5px;}
/* 게시글 관리 버튼 종료 */







/* 게시판 관련 종료 */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */
/* ////////////////////////////////////////////////////////////////////////////////////////////////////////////////// */









.tooltip_wrap {position: absolute;z-index: 9999;max-width: 260px;padding: 6px 10px;font-size: 12px;border-radius: 4px;background: #222;color: #fff;white-space: nowrap;opacity: 0;transition: opacity .15s ease;pointer-events: none;}
.tooltip_wrap.is_show {opacity: 1;}
.tooltip_wrap .tooltip_arrow {position: absolute;width: 0;height: 0;border-style: solid;}



.page_header_wrap{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;}
.page_header_wrap .left_wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.page_header_wrap .left_wrap .search_select_wrap{position:relative;max-width:200px;height:50px;background:#eff5fd;border:1px solid #d6dee9;border-radius:30px;box-sizing:border-box;z-index:10;transition:border-radius .2s ease, box-shadow .2s ease;}
.page_header_wrap .left_wrap .search_select_wrap .default_wrap{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:15px;color:#222;cursor:pointer;box-sizing:border-box;}
.page_header_wrap .left_wrap .search_select_wrap .default_wrap span{display:block;line-height:1;}
.page_header_wrap .left_wrap .search_select_wrap .default_wrap svg{flex:0 0 auto;width:16px;height:16px;}
.page_header_wrap .left_wrap .search_select_wrap .select_open_wrap{display:none;position:absolute;top:calc(100% - 1px);left:-1px;width:calc(100% + 2px);background:#eff5fd;border:1px solid #d6dee9;border-top:0;border-bottom-left-radius:30px;border-bottom-right-radius:30px;padding:0 0 5px;box-sizing:border-box;overflow:hidden;z-index:20;box-shadow:0 12px 25px rgba(15,23,42,.08);}
.page_header_wrap .left_wrap .search_select_wrap .select_open_wrap .inner_select_wrap{max-height:300px;overflow-y:auto;}
.page_header_wrap .left_wrap .search_select_wrap .select_open_wrap .inner_select_wrap ul{margin:0;padding:0;list-style:none;}
.page_header_wrap .left_wrap .search_select_wrap .select_open_wrap .inner_select_wrap ul li{margin:0;padding:0;}
.page_header_wrap .left_wrap .search_select_wrap .select_open_wrap .inner_select_wrap ul li a{display:flex;align-items:center;height:40px;padding:0 20px;font-size:14px;color:#0f172a;text-decoration:none;box-sizing:border-box;transition:background .2s ease, color .2s ease;}
.page_header_wrap .left_wrap .search_select_wrap .select_open_wrap .inner_select_wrap ul li a:hover{background:rgba(86,122,227,.08);color:#567ae3;}
.page_header_wrap .left_wrap .search_select_wrap.on{border-bottom-left-radius:0;border-bottom-right-radius:0;box-shadow:0 12px 25px rgba(15,23,42,.08);}
.page_header_wrap .left_wrap .search_select_wrap.on .select_open_wrap{display:block;}
.page_header_wrap .search_post_input_wrap{height:50px;background:#eff5fd;border:1px solid #d6dee9;border-radius:30px;padding:0 20px;box-sizing:border-box;}
@media (max-width:768px){
	.page_header_wrap{flex-direction: column;align-items: stretch;gap:10px;}
	
	.search_post_input_wrap .searchStr_input,
	.search_post_input_wrap .searchStr_input.on {width:100%;}
	
}