/**
 * Login Page — X-style modal card with floating labels + two-step flow
 *
 * Sections:
 *   1. Reset & FOUC prevention
 *   2. Float-field inputs (self-contained)
 *   3. Shared (heading, buttons, forgot, signup CTA)
 *   4. Two-step flow
 *   5. Cinematic layout (modal card over background)
 *   6. X-Style layout (split screen)
 *   7. Responsive
 *   8. Dark mode (X-Style right panel)
 *
 * @package    BUZEECI
 * @feature    login-page
 * @version    1.4.0
 */

/* ═══════════════════════════════════════════════════════════════════════════
   1. RESET & FOUC PREVENTION
   ═══════════════════════════════════════════════════════════════════════════ */

body.bzc-login {
	opacity: 0;
	background: #0a0a0a !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100vh;
	font-family: 'Phakelos', -apple-system, BlinkMacSystemFont, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: opacity 0.2s ease;
	overflow-x: hidden;
}

body.bzc-login.bzc-login-ready {
	opacity: 1;
}

body.bzc-login #login {
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

body.bzc-login #login > h1,
body.bzc-login #login > #login_error,
body.bzc-login #login > .message,
body.bzc-login #login > #nav,
body.bzc-login #login > #backtoblog,
body.bzc-login .language-switcher,
body.bzc-login .privacy-policy-page-link {
	display: none !important;
}

body.bzc-login #login > form {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
}

body.bzc-login #login > form p,
body.bzc-login #login > form .user-pass-wrap {
	margin: 0;
}

body.bzc-login .login .message,
body.bzc-login .login #login_error {
	display: none !important;
}

body.bzc-login .wp-hide-pw,
body.bzc-login .wp-pwd {
	display: none !important;
}

/* Screen-reader-only (hides native WP labels). */
body.bzc-login .bzc-sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Also hide native labels via zero-height (belt-and-suspenders). */
body.bzc-login #loginform > p > label {
	display: block;
	font-size: 0;
	line-height: 0;
	height: 0;
	overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════════════════════
   2. FLOAT-FIELD INPUTS (self-contained, scoped to login page)
   ═══════════════════════════════════════════════════════════════════════════ */

.float-field {
	--ff-border:         #cfd9de;
	--ff-border-focus:   #1d9bf0;
	--ff-border-error:   #f4212e;
	--ff-text:           #0f1419;
	--ff-text-secondary: #536471;
	--ff-bg:             transparent;
	--ff-radius:         6px;

	position: relative;
	margin-bottom: 16px;
	border: 1px solid var(--ff-border);
	border-radius: var(--ff-radius);
	transition: border-color 200ms;
}

.float-field:focus-within {
	border-color: #1d9bf0;
	box-shadow: 0 0 0 1px #1d9bf0;
}

/* ── Input ────────────────────────────────────────────────────────────── */

.float-field__input {
	width: 100% !important;
	padding: 24px 16px 8px !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	font-size: 16px;
	font-family: inherit;
	color: var(--ff-text);
	background: var(--ff-bg) !important;
	line-height: 1.3;
	box-sizing: border-box;
	border-radius: var(--ff-radius);
	margin: 0 !important;
}

.float-field__input::placeholder {
	color: transparent;
}

/* ── Label (resting: centered in field) ───────────────────────────────── */

.float-field__label {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px !important;
	color: var(--ff-text-secondary);
	pointer-events: none;
	transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ── Label (floated: focus or has content) ─────────────────────────────── */

.float-field__input:focus ~ .float-field__label,
.float-field__input:not(:placeholder-shown) ~ .float-field__label {
	top: 6px;
	transform: translateY(0);
	font-size: 12px;
	color: #1d9bf0;
}

/* When filled but not focused, label uses muted color. */
.float-field__input:not(:focus):not(:placeholder-shown) ~ .float-field__label {
	color: var(--ff-text-secondary);
}

/* ── Error state ──────────────────────────────────────────────────────── */

.float-field--error {
	border-color: var(--ff-border-error);
}

.float-field--error:focus-within {
	box-shadow: 0 0 0 1px var(--ff-border-error);
}

.float-field--error .float-field__label {
	color: var(--ff-border-error) !important;
}

/* ── Disabled state (read-only email display on step 2) ───────────────── */

.float-field--disabled {
	background: #f7f9f9;
	border-color: #f7f9f9;
	cursor: default;
}

.float-field--disabled .float-field__input {
	color: #536471;
	background: transparent !important;
	cursor: default;
}

.float-field--disabled:focus-within {
	border-color: #f7f9f9;
	box-shadow: none;
}

.float-field--disabled .float-field__label {
	top: 6px;
	transform: translateY(0);
	font-size: 12px;
	color: #536471;
}


/* ═══════════════════════════════════════════════════════════════════════════
   3. SHARED — Heading, buttons, forgot, remember me, signup CTA
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Logo ─────────────────────────────────────────────────────────────── */

.bzc-login-logo {
	text-align: center;
	margin-bottom: 32px;
}

.bzc-login-logo img {
	max-width: 200px;
	height: auto;
	width: auto;
}

.bzc-login-logo--text {
	font-family: 'Buzeeci', -apple-system, BlinkMacSystemFont, sans-serif;
	font-weight: 700;
	color: #0f1419;
	line-height: 1.2;
	letter-spacing: -0.02em;
}

/* ── Heading ──────────────────────────────────────────────────────────── */

.bzc-login-heading {
	margin-bottom: 28px;
}

.bzc-login-heading h1 {
	margin: 0;
	font-family: 'Phakelos', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 28px;
	font-weight: 800;
	color: #0f1419;
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-align: left;
}

.bzc-login-heading p {
	margin: 6px 0 0;
	font-size: 14px;
	color: #536471;
	line-height: 1.5;
	text-align: left;
}

/* ── Background media ─────────────────────────────────────────────────── */

.bzc-login-bg {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.bzc-login-bg-media {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.bzc-login-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	z-index: 1;
}

body.bzc-login-no-media .bzc-login-overlay {
	background: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #0a0a0a 100%);
}

/* ── Remember me ──────────────────────────────────────────────────────── */

.bzc-login-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 8px;
	margin-bottom: 0;
}

.bzc-login-row .forgetmenot {
	margin: 0;
}

.bzc-login-row .bzc-login-forgot-link {
	margin-top: 0;
}

body.bzc-login .forgetmenot label {
	font-size: 13px;
	color: #536471;
	cursor: pointer;
}

body.bzc-login .forgetmenot {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 4px 0 0;
}

body.bzc-login .forgetmenot label {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	white-space: normal !important;
	display: flex !important;
	align-items: center;
	gap: 8px;
	font-size: 13px !important;
	color: #536471;
	line-height: 1.4 !important;
	cursor: pointer;
}

body.bzc-login .forgetmenot input[type="checkbox"] {
	width: 16px;
	height: 16px;
	accent-color: #1d9bf0;
	cursor: pointer;
	margin: 0;
	flex-shrink: 0;
	margin-top: -1px;
}

/* ── Submit button (black pill) ───────────────────────────────────────── */

body.bzc-login .submit {
	margin: 0 !important;
	padding: 0 !important;
}

body.bzc-login #wp-submit {
	width: 100% !important;
	padding: 14px;
	border-radius: 100px;
	border: none;
	background: #0f1419;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s ease;
	text-shadow: none;
	margin-top: 24px;
}

body.bzc-login #wp-submit:hover {
	background: #272c30;
}

body.bzc-login #wp-submit:active {
	background: #1a1d20;
}

/* ── Forgot password (small inline link) ──────────────────────────────── */

.bzc-login-forgot-link {
	display: inline-block;
	font-size: 13px;
	color: #1d9bf0;
	text-decoration: none;
	margin-top: 4px;
	padding: 0;
	border: none;
	background: none;
	border-radius: 0;
	font-weight: 400;
	width: auto;
	text-align: left;
}

.bzc-login-forgot-link:hover {
	text-decoration: underline;
	background: none;
	color: #1d9bf0;
}

/* ── Forgot password pill (step 1 outline button) ─────────────────────── */

.bzc-login-forgot-pill {
	display: block;
	width: 100%;
	padding: 14px;
	margin-top: 12px;
	border: 1px solid #cfd9de;
	border-radius: 100px;
	background: transparent;
	color: #0f1419;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	line-height: normal;
	transition: background 0.2s ease;
}

.bzc-login-forgot-pill:hover {
	background: rgba(15, 20, 25, 0.04);
	color: #0f1419;
}

/* ── Global line-height fix for all buttons ───────────────────────────── */

body.bzc-login #wp-submit,
.bzc-login-next-btn,
.bzc-login-forgot-link,
.bzc-login-forgot-pill,
.bzc-login-back-btn {
	line-height: normal;
}

/* ── Sign up CTA ──────────────────────────────────────────────────────── */

.bzc-login-signup-cta {
	margin-top: 32px;
	text-align: left;
}

.bzc-login-signup-cta p {
	margin: 0;
	font-size: 14px;
	color: #536471;
}

.bzc-login-signup-cta a {
	color: #1d9bf0;
	font-weight: 500;
	text-decoration: none;
}

.bzc-login-signup-cta a:hover {
	text-decoration: underline;
}


/* ═══════════════════════════════════════════════════════════════════════════
   3b. LOST PASSWORD & RESET PASSWORD — form-specific overrides
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Submit button on lostpassword + resetpass forms ──────────────────── */

body.bzc-login #lostpasswordform input[type="submit"],
body.bzc-login #resetpassform input[type="submit"] {
	width: 100% !important;
	padding: 14px;
	border-radius: 100px;
	border: none;
	background: #0f1419;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	line-height: normal;
	transition: background 0.2s ease;
	text-shadow: none;
	margin-top: 24px;
}

body.bzc-login #lostpasswordform input[type="submit"]:hover,
body.bzc-login #resetpassform input[type="submit"]:hover {
	background: #272c30;
}

/* ── Form resets for lostpassword + resetpass ──────────────────────────── */

body.bzc-login #lostpasswordform,
body.bzc-login #resetpassform {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
}

body.bzc-login #lostpasswordform p,
body.bzc-login #resetpassform p {
	margin: 0;
}

body.bzc-login #lostpasswordform .submit,
body.bzc-login #resetpassform .submit {
	margin: 0 !important;
	padding: 0 !important;
}

/* Hide native labels on these forms (float-field replaces them). */
body.bzc-login #lostpasswordform > p > label,
body.bzc-login #resetpassform > p > label,
body.bzc-login #resetpassform .user-pass1-wrap > label {
	display: block;
	font-size: 0;
	line-height: 0;
	height: 0;
	overflow: hidden;
}

/* ── Success/error messages (visible on lostpassword + resetpass) ──────── */

body.bzc-login-lostpassword .login .message,
body.bzc-login-resetpass .login .message {
	display: block !important;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 8px;
	padding: 12px 16px;
	color: #0369a1;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 16px;
}

body.bzc-login-lostpassword #login_error,
body.bzc-login-resetpass #login_error {
	display: block !important;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	padding: 12px 16px;
	color: #dc2626;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 0 16px;
}

body.bzc-login-lostpassword #login_error a,
body.bzc-login-resetpass #login_error a {
	color: #dc2626;
	font-weight: 500;
}

/* ── Hide default WP nav on lostpassword + resetpass ─────────────────── */

body.bzc-login-lostpassword #login #nav,
body.bzc-login-resetpass #login #nav {
	display: none !important;
}

/* ── Back to sign-in link ────────────────────────────────────────────── */

.bzc-login-back-link {
	margin-top: 24px;
	text-align: center;
}

.bzc-login-back-link a {
	font-size: 14px;
	color: #1d9bf0;
	text-decoration: none;
	font-weight: 500;
}

.bzc-login-back-link a:hover {
	text-decoration: underline;
}

/* ── Hide password strength meter noise on resetpass ──────────────────── */

body.bzc-login-resetpass #pass-strength-result,
body.bzc-login-resetpass .pw-weak,
body.bzc-login-resetpass .indicator-hint {
	display: none !important;
}


/* ═══════════════════════════════════════════════════════════════════════════
   4. TWO-STEP FLOW
   ═══════════════════════════════════════════════════════════════════════════ */

.bzc-login-step {
	display: none;
}

.bzc-login-step--active {
	display: flex;
	flex-direction: column;
	animation: bzcStepIn 0.25s ease forwards;
}

/* Push submit button toward bottom on step 2. */
.bzc-login-step--active[data-step="2"] ~ .submit {
	margin-top: 48px !important;
}

.bzc-login-step-hidden {
	display: none !important;
}

@keyframes bzcStepIn {
	from { opacity: 0; transform: translateX(20px); }
	to   { opacity: 1; transform: translateX(0); }
}

/* ── Next button (matches submit style) ───────────────────────────────── */

.bzc-login-next-btn {
	width: 100%;
	padding: 14px;
	border-radius: 100px;
	border: none;
	background: #0f1419;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s ease;
	margin-top: 24px;
}

.bzc-login-next-btn:hover {
	background: #272c30;
}

/* ── Back button ──────────────────────────────────────────────────────── */

.bzc-login-back-btn {
	background: none;
	border: none;
	cursor: pointer;
	padding: 8px;
	border-radius: 50%;
	color: #0f1419;
	display: inline-flex;
	align-items: center;
	margin-right: 4px;
	vertical-align: middle;
	transition: background 0.15s ease;
}

.bzc-login-back-btn:hover {
	background: rgba(15, 20, 25, 0.08);
}


/* ═══════════════════════════════════════════════════════════════════════════
   5. CINEMATIC — Solid white modal card over background
   ═══════════════════════════════════════════════════════════════════════════ */

.bzc-login-card {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	width: 580px;
	padding: 48px 80px 40px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 8px 32px rgba(0, 0, 0, 0.12);
}


/* ═══════════════════════════════════════════════════════════════════════════
   6. X-STYLE — Split screen (media left, form right)
   ═══════════════════════════════════════════════════════════════════════════ */

.bzc-login-split {
	display: flex;
	min-height: 100vh;
	position: relative;
	z-index: 1;
}

/* ── Left panel ───────────────────────────────────────────────────────── */

.bzc-login-split__left {
	position: relative;
	width: 50%;
	flex-shrink: 0;
	overflow: hidden;
}

.bzc-login-split__left .bzc-login-bg {
	position: absolute;
}

.bzc-login-split__left .bzc-login-overlay {
	position: absolute;
}

.bzc-login-left-content {
	position: relative;
	z-index: 10;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 40px;
}

.bzc-login-stats {
	position: absolute;
	bottom: 32px;
	left: 0;
	right: 0;
	text-align: center;
	z-index: 10;
}

.bzc-login-stats span {
	font-size: 14px;
	color: rgba(255, 255, 255, 0.7);
	font-weight: 500;
}

/* ── Right panel ──────────────────────────────────────────────────────── */

.bzc-login-split__right {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 40px;
}

.bzc-login-split__right #login {
	width: 100%;
	max-width: 360px !important;
}

.bzc-login-split__right .bzc-login-signup-cta {
	width: 100%;
	max-width: 360px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   7. RESPONSIVE
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

	.bzc-login-card {
		width: calc(100% - 32px);
		max-width: 580px;
		padding: 36px 28px 32px;
	}

	.bzc-login-split {
		flex-direction: column;
	}

	.bzc-login-split__left {
		width: 100%;
		height: 180px;
		flex-shrink: 0;
	}

	.bzc-login-stats {
		display: none;
	}

	.bzc-login-split__right {
		padding: 32px 20px;
	}

	.bzc-login-split__right #login {
		max-width: 100% !important;
	}

	.bzc-login-split__right .bzc-login-signup-cta {
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.bzc-login-card {
		padding: 28px 20px 24px;
		border-radius: 12px;
	}
}


/* ═══════════════════════════════════════════════════════════════════════════
   8. REGISTRATION PAGE — Wizard
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── FOUC prevention ──────────────────────────────────────────────────── */

body.bzc-register {
	opacity: 0;
	background: #0a0a0a !important;
	margin: 0 !important;
	padding: 0 !important;
	min-height: 100vh;
	font-family: 'Phakelos', -apple-system, BlinkMacSystemFont, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: opacity 0.2s ease;
	overflow-x: hidden;
}

body.bzc-register.bzc-register-ready {
	opacity: 1;
}

/* ── Register card (cinematic) ────────────────────────────────────────── */

.bzc-register-card {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 10;
	width: 580px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 48px 80px 40px;
	box-sizing: border-box;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.04), 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* ── Float-field fix for registration inputs ──────────────────────────── */

body.bzc-register .float-field__input {
	height: auto;
}

/* ── Register inner (x-style right panel) ─────────────────────────────── */

.bzc-register-inner {
	width: 100%;
	max-width: 400px;
}

body.bzc-register .bzc-login-split__right {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 40px;
}

/* ── Progress bars ────────────────────────────────────────────────────── */

.bzc-register-dots {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
	width: 100%;
}

.bzc-register-dot {
	height: 4px;
	border-radius: 2px;
	background: #cfd9de;
	flex: 1;
	transition: background 0.3s ease;
}

.bzc-register-dot--active {
	background: #1d9bf0;
}

.bzc-register-dot--done {
	background: #0f1419;
}

/* ── Step label ───────────────────────────────────────────────────────── */

.bzc-register-step-label {
	display: block;
	font-size: 13px;
	color: #536471;
	margin-bottom: 24px;
}

/* ── Steps ────────────────────────────────────────────────────────────── */

.bzc-register-step {
	display: none;
}

.bzc-register-step--active {
	display: flex;
	flex-direction: column;
	animation: bzcStepIn 0.25s ease forwards;
}

/* ── Heading ──────────────────────────────────────────────────────────── */

.bzc-register-heading {
	display: flex;
	align-items: center;
	margin-bottom: 28px;
}

.bzc-register-heading h1 {
	margin: 0;
	font-family: 'Phakelos', -apple-system, BlinkMacSystemFont, sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: #0f1419;
	line-height: 1.3;
	letter-spacing: -0.02em;
	text-align: left;
}

/* ── Optional badge ───────────────────────────────────────────────────── */

.bzc-register-optional-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	color: #536471;
	background: #eff3f4;
	padding: 2px 10px;
	border-radius: 100px;
	vertical-align: middle;
	margin-left: 8px;
}

/* ── Next button ──────────────────────────────────────────────────────── */

.bzc-register-next-wrap {
	cursor: pointer;
}

.bzc-register-next-btn {
	display: block;
	width: 100%;
	padding: 14px;
	border-radius: 100px;
	border: none;
	background: #0f1419;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease;
	margin-top: 24px;
	box-sizing: border-box;
	line-height: normal;
}

.bzc-register-next-btn:hover {
	background: #272c30;
	color: #fff;
}

/* ── Skip button ──────────────────────────────────────────────────────── */

.bzc-register-skip-wrap {
	cursor: pointer;
}

.bzc-register-skip-btn {
	display: block;
	width: 100%;
	padding: 14px;
	margin-top: 12px;
	border: 1px solid #cfd9de;
	border-radius: 100px;
	background: transparent;
	color: #0f1419;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
	line-height: normal;
	cursor: pointer;
	transition: background 0.2s ease;
}

.bzc-register-skip-btn:hover {
	background: rgba(15, 20, 25, 0.04);
	color: #0f1419;
}

/* ── Bottom link ("Already have an account?") ─────────────────────────── */

.bzc-register-bottom-link {
	margin-top: 32px;
	text-align: left;
}

.bzc-register-bottom-link p {
	margin: 0;
	font-size: 14px;
	color: #536471;
}

.bzc-register-bottom-link a {
	color: #1d9bf0;
	font-weight: 500;
	text-decoration: none;
}

.bzc-register-bottom-link a:hover {
	text-decoration: underline;
}

/* ── Terms/privacy text ───────────────────────────────────────────────── */

.bzc-reg-terms {
	font-size: 12px;
	color: #536471;
	line-height: 1.4;
	margin-top: 0;
	margin-bottom: 16px;
}

.bzc-reg-terms p,
.bzc-reg-terms .register-privacy-info {
	font-size: 12px;
	color: #536471;
	line-height: 1.4;
	margin: 0;
}

.bzc-reg-terms .register-privacy-info a {
	color: #1d9bf0;
	text-decoration: none;
}

.bzc-reg-terms .register-privacy-info a:hover {
	text-decoration: underline;
}

.bzc-reg-terms .checkbox-options {
	margin: 0;
}

.bzc-reg-terms .checkbox-options label {
	font-size: 12px;
	color: #536471;
}

.bzc-reg-terms .checkbox-options a {
	color: #1d9bf0;
	text-decoration: none;
}

/* ── Submit button (inside step 3) ────────────────────────────────────── */

.bzc-reg-submit .submit {
	margin: 0 !important;
	padding: 0 !important;
}

.bzc-reg-submit input[type="submit"] {
	display: block;
	width: 100%;
	padding: 14px;
	height: auto;
	border-radius: 100px;
	border: none;
	background: #0f1419;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s ease;
	margin-top: 24px;
	text-shadow: none;
	line-height: normal;
	box-sizing: border-box;
}

.bzc-reg-submit input[type="submit"]:hover {
	background: #272c30;
}

/* ── Login button (success/disabled states) ───────────────────────────── */

.bzc-register-login-btn {
	display: block;
	text-align: center;
	margin-top: 24px;
}

/* ── Success state ────────────────────────────────────────────────────── */

.bzc-register-success,
.bzc-register-disabled {
	text-align: center;
}

.bzc-register-success .bzc-register-heading,
.bzc-register-disabled .bzc-register-heading {
	margin-bottom: 16px;
}

.bzc-register-success .bzc-register-heading h1,
.bzc-register-disabled .bzc-register-heading h1 {
	text-align: center;
}

/* BB feedback messages inside success state. */
.bzc-register-success .bp-feedback,
.bzc-register-disabled .bp-feedback {
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 8px;
	padding: 12px 16px;
	color: #0369a1;
	font-size: 14px;
	line-height: 1.5;
	text-align: left;
}

/* ── DOB field — title + description + three selects ─────────────────── */

.bzc-dob-section {
	margin-bottom: 16px;
}

.bzc-dob-title {
	font-size: 14px;
	font-weight: 700;
	color: #0f1419;
	margin-bottom: 4px;
}

.bzc-dob-desc {
	font-size: 13px;
	color: #536471;
	line-height: 1.4;
	margin: 0 0 12px;
}

.bzc-dob-row {
	display: flex;
	gap: 12px;
}

.bzc-dob-row select:first-child {
	flex: 1.4;
}

.bzc-dob-row select {
	flex: 1;
	padding: 16px;
	height: 54px;
	font-size: 16px;
	box-sizing: border-box;
}

/* ── Select fields ───────────────────────────────────────────────────── */

body.bzc-register select {
	width: 100%;
	padding: 14px 16px;
	border: 1px solid #cfd9de;
	border-radius: 6px;
	font-size: 16px;
	color: #0f1419;
	background: #fff;
	font-family: inherit;
	appearance: auto;
	box-sizing: border-box;
}

body.bzc-register select:focus {
	border-color: #1d9bf0;
	box-shadow: 0 0 0 1px #1d9bf0;
	outline: none;
}

.bzc-select-section {
	margin-bottom: 16px;
}

.bzc-select-title {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #536471;
	margin-bottom: 6px;
}

/* ── Fallback field wrapper (checkbox, radio, etc.) ───────────────────── */

.bzc-field-fallback {
	margin-bottom: 16px;
}

.bzc-field-fallback fieldset {
	border: none;
	padding: 0;
	margin: 0;
}

.bzc-field-fallback legend {
	font-size: 14px;
	font-weight: 700;
	color: #0f1419;
	margin-bottom: 8px;
}

.bzc-field-fallback label {
	font-size: 14px;
	color: #0f1419;
}

/* ── Inline validation errors (per-field) ─────────────────────────────── */

.bzc-field-error {
	font-size: 13px;
	color: #dc2626;
	line-height: 1.4;
	margin: 4px 0 12px;
}

/* BB validation errors. */
body.bzc-register .bp-feedback.error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	padding: 8px 12px;
	color: #dc2626;
	font-size: 13px;
	line-height: 1.4;
	margin: 4px 0 8px;
}

body.bzc-register .bp-feedback.error .bp-icon {
	display: none;
}

/* BB template notices. */
body.bzc-register .bp-template-notice {
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 8px;
	padding: 12px 16px;
	color: #0369a1;
	font-size: 14px;
	line-height: 1.5;
	margin-bottom: 16px;
}

/* ── Registration responsive ──────────────────────────────────────────── */

@media (max-width: 768px) {
	.bzc-register-card {
		width: calc(100% - 32px);
		max-width: 580px;
		padding: 36px 28px 32px;
	}

	body.bzc-register .bzc-login-split {
		flex-direction: column;
	}

	body.bzc-register .bzc-login-split__left {
		width: 100%;
		height: 180px;
		flex-shrink: 0;
	}

	body.bzc-register .bzc-login-split__right {
		padding: 32px 20px;
	}

	.bzc-register-inner {
		max-width: 100%;
	}
}

@media (max-width: 480px) {
	.bzc-register-card {
		padding: 28px 20px 24px;
		border-radius: 12px;
	}
}
