/**
 * 会員ログイン／登録画面 — SWELL 上書き（高優先度フォールバック）
 */

body.fcm-login-page .fcm-widePage__content,
body.fcm-login-page .fcm-contentPage__content,
body.fcm-login-page .post_content,
body.fcm-login-page .entry-content,
body.fcm-register-page .fcm-widePage__content,
body.fcm-register-page .fcm-contentPage__content,
body.fcm-register-page .post_content,
body.fcm-register-page .entry-content {
	max-width: var(--fcm-container, 1120px);
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.25rem 3rem;
	box-sizing: border-box;
}

body.fcm-register-page .fcm-memberForm {
	display: block;
	float: none;
	max-width: 640px;
	width: 100%;
	margin: 2rem auto 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 2rem 1.75rem;
	background: var(--fcm-color-surface);
	border: 1px solid var(--fcm-color-border, #e0d9c8);
	border-radius: var(--fcm-radius-md, 14px);
	box-shadow: var(--fcm-shadow-sm, 0 2px 8px rgba(38, 90, 50, 0.06));
	box-sizing: border-box;
}

body.fcm-login-page .fcm-memberForm,
body.fcm-login-page .post_content:has(#loginform),
body.fcm-login-page .post_content:has(#fcm-loginform),
body.fcm-login-page .entry-content:has(#loginform),
body.fcm-login-page .entry-content:has(#fcm-loginform) {
	max-width: 640px;
	margin: 2rem auto 0;
	padding: 2rem 1.75rem;
	background: var(--fcm-color-surface);
	border: 1px solid var(--fcm-color-border, #e0d9c8);
	border-radius: var(--fcm-radius-md, 14px);
	box-shadow: var(--fcm-shadow-sm, 0 2px 8px rgba(38, 90, 50, 0.06));
	box-sizing: border-box;
}

body.fcm-login-page #nav {
	display: none !important;
}

body.fcm-login-page .post_content a,
body.fcm-login-page .entry-content a,
body.fcm-login-page .fcm-memberForm__sublinks a,
body.fcm-login-page .fcm-memberForm__links a {
	color: var(--fcm-color-primary, #2e9478) !important;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

body.fcm-login-page #loginform input[type="submit"],
body.fcm-login-page #fcm-loginform input[type="submit"],
body.fcm-login-page .fcm-memberForm__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.65rem 2rem;
	font-size: 0.9375rem;
	font-weight: 700;
	color: #fff !important;
	background: var(--fcm-color-primary, #2e9478) !important;
	border: 2px solid var(--fcm-color-primary, #2e9478) !important;
	border-radius: var(--fcm-radius-pill, 999px) !important;
	cursor: pointer;
}

body.fcm-login-page #loginform input[type="submit"]:hover,
body.fcm-login-page #fcm-loginform input[type="submit"]:hover,
body.fcm-login-page .fcm-memberForm__button:hover {
	background: var(--fcm-color-primary-dark, #247a63) !important;
	border-color: var(--fcm-color-primary-dark, #247a63) !important;
}

body.fcm-login-page #loginform .login-username,
body.fcm-login-page #loginform .login-password,
body.fcm-login-page #fcm-loginform .login-username,
body.fcm-login-page #fcm-loginform .login-password {
	margin-bottom: 1.75rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--fcm-color-border, #e0d9c8);
}

body.fcm-login-page #loginform .login-password,
body.fcm-login-page #fcm-loginform .login-password {
	margin-bottom: 16px;
	padding-bottom: 0;
	border-bottom: 0;
}

body.fcm-login-page #loginform .login-username label,
body.fcm-login-page #fcm-loginform .login-username label,
body.fcm-login-page #loginform .login-password label,
body.fcm-login-page #fcm-loginform .login-password label,
body.fcm-login-page label[for="user_login"],
body.fcm-login-page label[for="user_pass"] {
	margin-bottom: 0;
}

body.fcm-login-page #loginform label,
body.fcm-login-page #fcm-loginform label {
	display: block;
	font-weight: 700;
	margin-bottom: 0.6rem;
	font-size: 0.9375rem;
}

body.fcm-login-page #loginform input[type="text"],
body.fcm-login-page #loginform input[type="password"],
body.fcm-login-page #fcm-loginform input[type="text"],
body.fcm-login-page #fcm-loginform input[type="password"],
body.fcm-login-page #fcm-lostpasswordform input[type="text"] {
	width: 100%;
	box-sizing: border-box;
	padding: 0.75rem 0.95rem;
	border: 1px solid var(--fcm-color-border, #e0d9c8);
	border-radius: var(--fcm-radius-md, 14px);
	background: var(--fcm-color-surface);
}

/* メールアイコン付き入力：テキストがアイコンに被らない余白 */
body.fcm-login-page .login-username:has(.dashicons) input,
body.fcm-login-page #lostpasswordform:has(.dashicons) #user_login {
	padding-left: 2.75rem !important;
}

body.fcm-login-page #loginform .login-username,
body.fcm-login-page #lostpasswordform .login-username,
body.fcm-login-page .fcm-lostPasswordForm__field {
	position: relative;
}

body.fcm-login-page #loginform .dashicons,
body.fcm-login-page #lostpasswordform .dashicons,
body.fcm-login-page .login-username .dashicons {
	position: absolute;
	left: 0.85rem;
	top: auto;
	bottom: 0.9rem;
	width: 1.25rem;
	height: 1.25rem;
	font-size: 1.25rem;
	color: var(--fcm-color-text-muted, #6b5b45);
	pointer-events: none;
	z-index: 1;
}

body.fcm-login-page .fcm-lostPasswordForm__title {
	margin: 0 0 0.75rem;
	font-family: var(--fcm-font-serif, "Shippori Mincho", serif);
	font-size: 1.35rem;
	font-weight: 600;
	color: var(--fcm-color-text, #2b241b);
}

body.fcm-login-page .fcm-lostPasswordForm__lead {
	margin: 0 0 1.5rem;
	font-size: 0.9375rem;
	line-height: 1.7;
	color: var(--fcm-color-text-muted, #6b5b45);
}

body.fcm-login-page .fcm-logoutPanel__title {
	display: none !important;
}

body.fcm-login-page #loginform .login-submit,
body.fcm-login-page #fcm-loginform .login-submit {
	margin-top: 1.5rem;
	text-align: center;
}

/* マイページ見出し（SWELL .post_content h2 の margin 等を受けない div 用フォールバック） */
.fcm-myApplications__title,
.fcm-mypageProfile__title {
	display: block;
	margin: 0 0 1rem;
	padding: 0.7rem 1rem;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	background: var(--fcm-color-primary, #2e9478);
	border-radius: var(--fcm-radius-sm, 6px);
	border-bottom: 0;
	position: static;
	z-index: auto;
}
