/* FlexiType Product – Auth pages (Markoflow-style card) */

.fta-card {
	max-width: 420px; margin: 40px auto; background: #fff;
	border: 1px solid var(--ftp-line, #e5e7eb); border-radius: 14px;
	box-shadow: 0 10px 36px rgba(16, 24, 40, .08);
	padding: 36px 34px;
}

.fta-title { text-align: center; font-size: 26px; font-weight: 800; margin: 0 0 8px; color: var(--ftp-ink, #1f2937); }
.fta-sub { text-align: center; color: var(--ftp-muted, #6b7280); font-size: 14.5px; margin: 0 0 20px; }

.fta-notice { padding: 12px 16px; border-radius: 8px; margin-bottom: 17px; font-size: 14px; text-align: center; }
.fta-notice--success { background: var(--ftp-primary-soft, #ECF6EE); color: #15724d; border: 1px solid #b8e8d2; }
.fta-notice--error { background: #fdecec; color: #b42318; border: 1px solid #f4c7c3; }

.fta-card form { display: grid; gap: 15px; }
.fta-card form label { display: grid; gap: 7px; font-weight: 600; font-size: 14px; color: var(--ftp-ink, #1f2937); }
.fta-card form label small { font-weight: 400; color: var(--ftp-muted, #6b7280); font-size: 12px; }
.fta-card form input[type="text"],
.fta-card form input[type="email"],
.fta-card form input[type="password"] {
	border: 1px solid var(--ftp-line, #e5e7eb); border-radius: 8px;
	padding: 12px 14px; font-size: 15px; width: 100%; font-weight: 400;
}
.fta-card form input:focus { outline: none; border-color: var(--ftp-primary, #3FA34D); box-shadow: 0 0 0 3px rgba(63, 163, 77, .14); }

.fta-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }

.fta-remember { display: flex !important; flex-direction: row !important; align-items: center; gap: 9px; font-weight: 400 !important; font-size: 13.5px !important; }
.fta-remember input { width: 16px; height: 16px; accent-color: var(--ftp-primary, #3FA34D); }
.fta-remember a { color: var(--ftp-primary-dark, #34883F) !important; }

.fta-submit {
	width: 100%; padding: 13px; border: none; border-radius: 8px; cursor: pointer;
	background: var(--ftp-primary, #3FA34D); color: #fff;
	font-size: 15.5px; font-weight: 700; transition: background .15s;
}
.fta-submit:hover { background: var(--ftp-primary-dark, #34883F); }

.fta-links {
	display: flex; justify-content: center; gap: 18px;
	border-top: 1px solid var(--ftp-line, #e5e7eb);
	margin-top: 22px; padding-top: 18px; font-size: 14px;
}
.fta-links a { color: var(--ftp-primary-dark, #34883F) !important; font-weight: 600; text-decoration: none; }
.fta-links a:hover { text-decoration: underline; }

.fta-or { display: flex; align-items: center; gap: 13px; margin: 18px 0; color: var(--ftp-muted, #6b7280); font-size: 12.5px; }
.fta-or::before, .fta-or::after { content: ""; flex: 1; height: 1px; background: var(--ftp-line, #e5e7eb); }

.fta-google {
	display: flex; align-items: center; justify-content: center; gap: 11px;
	width: 100%; padding: 12px; border: 1px solid var(--ftp-line, #e5e7eb); border-radius: 8px;
	background: #fff; color: var(--ftp-ink, #1f2937) !important;
	font-size: 14.5px; font-weight: 600; text-decoration: none !important;
	transition: border-color .15s, background .15s;
}
.fta-google:hover { border-color: var(--ftp-muted, #6b7280); background: #fafafa; }

.cf-turnstile { margin: 2px 0; }

@media (max-width: 520px) {
	.fta-card { padding: 26px 20px; margin: 20px auto; }
	.fta-row { grid-template-columns: 1fr; }
}
