/*
 * Derma Pricelist — wp-login.php 브랜드 스타일
 *
 * 기본 워드프레스 로그인/로그아웃/비밀번호찾기 화면을 대시보드와 같은
 * 톤(블루 액센트 + 글래스 카드)으로 덮어쓴다. WP 코어가 남기는 잔재
 * 스타일(파란 #2271b1 링크·버튼, 비밀번호 토글, 체크박스 등)을 모두
 * 테마 토큰으로 재정의한다. design-tokens.css 를 전제로 하며, 토큰이
 * 빠진 환경을 대비해 모든 var() 에 폴백 값을 둔다.
 */

/* ── 페이지 배경 ───────────────────────────────────────── */
body.login {
	background: var(--dp-bg-page, linear-gradient(180deg,#f0f6ff 0%,#f7f9fc 60%,#f5f7fa 100%));
	background-attachment: fixed;
	font-family: var(--dp-font-sans, "Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR","Segoe UI",sans-serif);
	color: var(--dp-text-primary, #0f172a);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body.login::before {
	content: "";
	position: fixed;
	inset: 0 0 auto 0;
	height: 360px;
	background: radial-gradient(640px 300px at 50% -60px, rgba(37,99,235,0.16), transparent 72%);
	pointer-events: none;
	z-index: 0;
}

#login {
	position: relative;
	z-index: 1;
	width: 360px;
	padding: 7vh 0 24px;
}

/* ── 기본 링크: WP 파란색(#2271b1) 잔재 제거 ─────────────── */
.login a {
	color: var(--dp-text-secondary, #475569);
	transition: color .12s ease;
}
.login a:hover,
.login a:focus {
	color: var(--dp-blue-600, #2563eb);
}

/* ── 로고 → Dboard 텍스트 워드마크 ──────────────────────── */
#login h1 {
	margin-bottom: 6px;
}
#login h1 a {
	background-image: none !important;
	width: auto;
	height: auto;
	text-indent: 0;
	overflow: visible;
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 27px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--dp-text-primary, #0f172a);
}
#login h1 a::before {
	content: "DP";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--dp-blue-500,#3b82f6), var(--dp-blue-700,#1d4ed8));
	color: #fff;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.02em;
	box-shadow: 0 6px 16px rgba(37,99,235,0.35);
}

/* ── 폼 카드 ──────────────────────────────────────────── */
.login form,
#loginform,
#registerform,
#lostpasswordform {
	background: rgba(255,255,255,0.94);
	border: 1px solid var(--dp-border-subtle, rgba(148,163,184,0.24));
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(15,23,42,0.14), 0 8px 16px rgba(15,23,42,0.06);
	padding: 28px 28px 22px;
	margin-top: 16px;
	overflow: hidden;
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"] {
	background: #fff;
	border: 1px solid var(--dp-border-default, rgba(148,163,184,0.40));
	border-radius: 8px;
	font-size: 15px;
	padding: 11px 12px;
	color: var(--dp-text-primary, #0f172a);
	box-shadow: none;
	transition: border-color .12s ease, box-shadow .12s ease;
}
.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus,
.login input[type="email"]:focus {
	border-color: var(--dp-blue-500, #3b82f6);
	box-shadow: 0 0 0 3px rgba(59,130,246,0.30);
	outline: none;
}
.login label {
	font-size: 13px;
	font-weight: 500;
	color: var(--dp-text-secondary, #475569);
}

/* 비밀번호 표시/숨김 토글 (WP 기본 회색 버튼 잔재 제거) */
.login .wp-pwd {
	display: flex;
	align-items: stretch;
}
.login .wp-pwd .input,
.login .wp-pwd input[type="password"],
.login .wp-pwd input[type="text"] {
	border-radius: 8px 0 0 8px;
}
.login .wp-pwd .button.wp-hide-pw {
	margin: 0;
	background: #fff !important;
	border: 1px solid var(--dp-border-default, rgba(148,163,184,0.40)) !important;
	border-left: 0 !important;
	border-radius: 0 8px 8px 0 !important;
	box-shadow: none !important;
	color: var(--dp-text-muted, #64748b) !important;
}
.login .wp-pwd .button.wp-hide-pw:hover {
	color: var(--dp-blue-600, #2563eb) !important;
}

/* 체크박스 — 로그인 상태 유지 */
.login input[type="checkbox"] {
	width: 18px;
	height: 18px;
	border-radius: 4px;
	border: 1px solid var(--dp-border-default, rgba(148,163,184,0.40));
	accent-color: var(--dp-blue-600, #2563eb);
}
.login input[type="checkbox"]:checked::before {
	content: none;
}
.login input[type="checkbox"]:focus {
	border-color: var(--dp-blue-500, #3b82f6);
	box-shadow: 0 0 0 3px rgba(59,130,246,0.30);
	outline: none;
}
.login .forgetmenot label {
	font-size: 13px;
	color: var(--dp-text-secondary, #475569);
}

/* ── 제출 버튼 ─────────────────────────────────────────── */
.login .button-primary,
#wp-submit {
	display: block;
	width: 100%;
	height: 44px;
	margin: 4px 0 0;
	background: var(--dp-blue-600, #2563eb) !important;
	border: 1px solid var(--dp-blue-600, #2563eb) !important;
	border-radius: 8px !important;
	font-size: 15px;
	font-weight: 600;
	color: #fff !important;
	text-shadow: none !important;
	box-shadow: 0 1px 3px rgba(15,23,42,0.10) !important;
	transition: background .12s ease, border-color .12s ease;
}
.login .button-primary:hover,
#wp-submit:hover {
	background: var(--dp-blue-700, #1d4ed8) !important;
	border-color: var(--dp-blue-700, #1d4ed8) !important;
}
.login .button-primary:focus,
#wp-submit:focus {
	box-shadow: 0 0 0 3px rgba(59,130,246,0.35) !important;
	outline: none;
}

/* 보조 버튼 (언어 적용 등) — WP 기본 .button 잔재 제거 */
.login .button:not(.button-primary):not(.wp-hide-pw) {
	background: #fff;
	border: 1px solid var(--dp-border-default, rgba(148,163,184,0.40));
	border-radius: 8px;
	color: var(--dp-text-primary, #0f172a);
	box-shadow: none;
	text-shadow: none;
}

/* ── 알림 / 오류 메시지 (로그아웃 안내 포함) ──────────────── */
.login .message,
.login .notice,
.login #login_error {
	border-radius: 10px;
	border: 1px solid var(--dp-border-subtle, rgba(148,163,184,0.24));
	box-shadow: var(--dp-shadow-sm, 0 1px 3px rgba(15,23,42,0.06));
	font-size: 13px;
	background: rgba(255,255,255,0.94);
	color: var(--dp-text-primary, #0f172a);
	padding: 11px 14px;
}
.login .message,
.login .notice {
	border-left: 4px solid var(--dp-blue-500, #3b82f6);
}
.login #login_error {
	border-left: 4px solid var(--dp-danger-500, #ef4444);
}
.login .message a {
	color: var(--dp-blue-600, #2563eb);
	font-weight: 600;
}

/* 회원가입 안내 줄 (login_message 필터가 출력) */
.login .dp-login-hint {
	text-align: center;
	font-size: 13px;
	color: var(--dp-text-secondary, #475569);
	margin: 0 0 16px;
}
.login .dp-login-hint a {
	color: var(--dp-blue-600, #2563eb);
	font-weight: 600;
}

/* ── 하단 링크 ─────────────────────────────────────────── */
#login #nav,
#login #backtoblog {
	margin: 14px 0 0;
	padding: 0;
	text-align: center;
	font-size: 13px;
	text-shadow: none;
}
#login #backtoblog {
	margin-top: 8px;
}

/* 개인정보 처리방침 링크 / 언어 선택기 */
.login .privacy-policy-page-link {
	margin-top: 14px;
	text-align: center;
	font-size: 12px;
}
.login .privacy-policy-page-link a {
	color: var(--dp-text-muted, #64748b);
}
.login .language-switcher {
	margin-top: 14px;
}
.login .language-switcher select {
	border: 1px solid var(--dp-border-default, rgba(148,163,184,0.40));
	border-radius: 8px;
	padding: 5px 8px;
}
