/* =========================================================
 * 회원 로그인 (User/Login/login.php) — 그린 테마
 * pages.css 미로드 → 자급 정의. JS 의존 클래스명은 유지.
 * ========================================================= */

.kh-login {
	--kh-teal-1: #eaf7f1;
	--kh-teal-2: #cfede0;
	--kh-teal-3: #7fcbae;
	--kh-teal-4: #28a77b;
	--kh-teal-5: #15835e;
	--kh-ink: #1d2533;
	--kh-ink-2: #33425a;
	--kh-ink-3: #5b6579;
	--line: #eae3d8;
	--line-2: #f0ece4;

	color: var(--kh-ink);
	font-family: var(--font-pretendard);
}

/* ---------- 상단 헤더 ---------- */
.kh-login .content-section-top {
	padding: 0 30px;
	display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 16px;
	text-align: center;
}
.kh-login .content-section-top > span {
	padding: 6px 14px;
	color: var(--kh-teal-5);
	font-size: 0.9rem; font-weight: 700; line-height: 1;
	background: var(--kh-teal-2);
	border-radius: 999px;
}
.kh-login .content-section-top > div {
	color: var(--kh-teal-5);
	font-family: var(--font-jua); font-size: clamp(2.2rem, 4vw, 3.0rem); font-weight: 400;
	line-height: 1.2;
}
.kh-login .content-section-top > p {
	margin: 0;
	color: var(--kh-ink-3);
	font-size: 1.0rem;
}

/* ---------- 카드 ---------- */
.kh-login .kh-login-wrap {
	padding: 44px 24px 80px;
	display: flex; justify-content: center;
}
.kh-login .kh-login-card {
	width: 100%; max-width: 420px;
	padding: 40px 34px;
	background: #fff;
	border: 1px solid var(--line-2); border-radius: 20px;
	box-shadow: 0 14px 40px rgba(29, 37, 51, 0.07);
}

/* ---------- 입력 ---------- */
.kh-login .login_info { display: flex; flex-direction: column; gap: 12px; }
.kh-login .login_info label {
	width: 100%; height: 52px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid #dde1e5; border-radius: 12px;
	display: flex; flex-direction: row; align-items: center; gap: 10px;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.kh-login .login_info label:focus-within {
	border-color: var(--kh-teal-4);
	box-shadow: 0 0 0 3px rgba(40, 167, 123, 0.15);
}
.kh-login .login_info label > img {
	width: 18px; height: 18px;
	opacity: 0.45;
	flex: 0 0 auto;
}
.kh-login .login_info label .toggle_passwd { cursor: pointer; opacity: 0.5; }
.kh-login .login_info input {
	flex: 1;
	height: 100%;
	color: var(--kh-ink);
	font-family: var(--font-pretendard); font-size: 0.98rem;
	background: none;
	border: 0;
	outline: none;
}
.kh-login .login_info input::placeholder { color: #b5bbc1; }

/* ---------- 버튼 ---------- */
.kh-login .kh-btn {
	width: 100%; height: 52px;
	font-family: var(--font-pretendard); font-size: 1.0rem; font-weight: 700;
	border-radius: 12px;
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	transition: background 0.15s, transform 0.15s, border-color 0.15s, color 0.15s;
}
.kh-login .kh-btn-teal {
	color: #fff;
	background: var(--kh-teal-4);
	border: 0;
	box-shadow: 0 8px 18px rgba(40, 167, 123, 0.25);
}
.kh-login .kh-btn-teal:hover { background: var(--kh-teal-5); transform: translateY(-2px); }
.kh-login .kh-btn-ghost {
	color: var(--kh-ink-2);
	background: #fff;
	border: 1.5px solid var(--line);
}
.kh-login .kh-btn-ghost:hover { color: var(--kh-teal-5); border-color: var(--kh-teal-4); }

.kh-login .login_btn { margin-top: 22px; }
.kh-login .login_parent_btn { margin-top: 10px; }

/* ---------- 찾기 링크 ---------- */
.kh-login .login_find {
	margin-top: 22px;
	display: flex; flex-direction: row; justify-content: center; align-items: center; gap: 14px;
}
.kh-login .login_find a {
	color: var(--kh-ink-3);
	font-size: 0.88rem;
	text-decoration: none;
}
.kh-login .login_find a:hover { color: var(--kh-teal-5); }
.kh-login .login_find .sep { color: #d4d8dc; font-size: 0.8rem; }

@media (max-width: 480px) {
	.kh-login .kh-login-card { padding: 32px 22px; }
}
