@charset "utf-8";

/* 여러 회원 스킨이 공유하는 폭과 입력 요소만 관리합니다. */
body .mbskin,
body .new_win {
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
}
body .register {
	width: 100%;
	max-width: 860px;
	margin: 0 auto;
}
body > .mbskin,
body > .new_win {
	margin-top: 60px;
	margin-bottom: 60px;
}
body .mbskin_box,
body .new_win_con {
	background: #fff;
	border: 1px solid #cfd7df;
}
body .frm_input,
body textarea,
body select {
	min-height: 46px;
	padding: 10px 12px;
	background: #fff;
	border: 1px solid #b9c3cc;
	border-radius: 3px;
	font-size: 15px;
	color: #26313c;
}
body .frm_input:focus,
body textarea:focus,
body select:focus {
	border-color: #167087;
	outline: 2px solid rgba(22, 112, 135, .16);
}
body .full_input {
	width: 100%;
}
body .btn_submit,
body .reg_btn_submit,
body .reply_btn {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	background: #0b3543;
	border: 1px solid #0b3543;
	border-radius: 0;
	font-size: 15px;
	font-weight: 700;
	color: #fff;
}
body .btn_close,
body .btn_frmline {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 0 22px;
	background: #fff;
	border: 1px solid #9faab5;
	border-radius: 3px;
	font-size: 15px;
	color: #37424d;
}
body .btn_submit:hover,
body .reg_btn_submit:hover,
body .reply_btn:hover,
body .btn_submit:focus-visible,
body .reg_btn_submit:focus-visible,
body .reply_btn:focus-visible {
	background: #071f29;
	color: #fff;
}
body .btn_close:hover,
body .btn_frmline:hover,
body .btn_close:focus-visible,
body .btn_frmline:focus-visible {
	background: #e3ecee;
	border-color: #167087;
	color: #0b3543;
}
body .btn_submit,
body .reg_btn_submit,
body .reply_btn,
body .btn_close,
body .btn_frmline {
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
body .selec_chk {
	position: static;
	width: 17px;
	height: 17px;
	top: auto;
	left: auto;
	opacity: 1;
	accent-color: #167087;
	vertical-align: -3px;
}
body .chk_box label span,
body .fregister_agree label span,
body .member_cert_refresh_agree label span {
	display: none;
}
body .chk_li {
	padding-left: 5px;
}
body .btn_confirm,
body .btn_confirm_reg,
body .win_btn {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
	text-align: center;
}
body .register .btn_confirm > *,
body .btn_confirm_reg > * {
	min-width: 160px;
}

@media (max-width: 640px) {
	body > .mbskin,
	body > .new_win {
		margin-top: 24px;
		margin-bottom: 24px;
	}
}

/* 목록형 회원 기능은 동일한 창 구조와 상태 표현을 공유합니다. */
body .new_win {
	max-width: 680px;
}
body .new_win #win_title,
body .new_win > #win_title {
	position: static;
	margin: 0;
	padding: 28px 30px;
	background: #0b3543;
	font-size: 25px;
	font-weight: 700;
	line-height: 1.35;
	color: #fff;
}
body .new_win #win_title .win_total {
	float: right;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.5;
	text-align: right;
	color: #b9d0d6;
}
body .new_win_con2 {
	padding: 28px 30px 30px;
	background: #fff;
	border: 1px solid #cfd7df;
	border-top: 0;
}
body .win_ul {
	display: flex;
	margin-bottom: 26px;
	border-bottom: 1px solid #b9c5c9;
}
body .win_ul li {
	list-style: none;
}
body .win_ul a {
	display: block;
	padding: 12px 16px;
	border-bottom: 2px solid transparent;
	font-size: 14px;
	font-weight: 600;
	color: #65757c;
}
body .win_ul .selected a,
body .win_ul a:hover,
body .win_ul a:focus-visible {
	border-color: #167087;
	color: #0b3543;
}
body .new_win .empty_li,
body .new_win .empty_table {
	padding: 46px 16px;
	text-align: center;
	color: #718087;
}
body .new_win .win_desc {
	margin-top: 22px;
	padding: 14px 16px;
	background: #f1f5f5;
	font-size: 13px;
	line-height: 1.6;
	color: #66777d;
}
body .new_win .pg_wrap {
	display: block;
	margin-top: 24px;
	text-align: center;
}
body .new_win .pg_page,
body .new_win .pg_current {
	display: inline-flex;
	min-width: 34px;
	height: 34px;
	align-items: center;
	justify-content: center;
	margin: 0 2px;
	border: 1px solid #c6d0d3;
	background: #fff;
	color: #52636a;
}
body .new_win .pg_current,
body .new_win .pg_page:hover,
body .new_win .pg_page:focus-visible {
	background: #0b3543;
	border-color: #0b3543;
	color: #fff;
}
body .memo_del,
body .scrap_del,
body .btn_b01,
body .btn_left,
body .btn_right {
	color: #65757c;
	transition: color .15s ease, background-color .15s ease;
}
body .memo_del:hover,
body .memo_del:focus-visible,
body .scrap_del:hover,
body .scrap_del:focus-visible,
body .btn_b01:hover,
body .btn_b01:focus-visible,
body .btn_left:hover,
body .btn_left:focus-visible,
body .btn_right:hover,
body .btn_right:focus-visible {
	color: #167087;
}

@media (max-width: 720px) {
	body .new_win,
	body .mbskin,
	body .register {
		width: calc(100% - 36px);
	}
	body .new_win #win_title,
	body .new_win > #win_title {
		padding: 22px 20px;
		font-size: 22px;
	}
	body .new_win_con2 {
		padding: 22px 20px 24px;
	}
	body .win_ul {
		overflow-x: auto;
	}
	body .win_ul a {
		padding: 11px 12px;
		white-space: nowrap;
	}
}

/* 로그인과 보호 페이지는 안내 영역과 기능 카드를 같은 구조로 사용합니다. */
body .member-utility-shell {
	display: flex;
	min-height: 100vh;
	min-height: 100svh;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 24px;
	padding: 40px 20px;
	background: #edf1ee;
}
body .member-utility-shell .mbskin {
	width: 100%;
	max-width: 480px;
	margin: 0;
}
body .member-utility-copy {
	display: flex;
	width: 100%;
	max-width: 480px;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}
body .member-utility-copy > span {
	display: block;
	font-size: 13px;
	line-height: 1.5;
	text-align: right;
	color: #65757c;
}
body .member-utility-brand {
	display: inline-block;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.03em;
	color: #0b2029;
	text-decoration: none;
}
body .member-utility-brand:hover,
body .member-utility-brand:focus-visible,
body .member-utility-return:hover,
body .member-utility-return:focus-visible {
	color: #167087;
}
body .member-utility-return {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-left: auto;
	font-size: 14px;
	font-weight: 700;
	color: #43565e;
	text-decoration: none;
}
@media (max-width: 760px) {
	body .member-utility-shell {
		padding: 28px 18px;
	}
}
