.bwdcv-auth-page {
	--bwdcv-auth-ink: #18213b;
	--bwdcv-auth-muted: #68738b;
	--bwdcv-auth-line: #dfe4f1;
	--bwdcv-auth-primary: #4d5fe8;
	--bwdcv-auth-primary-dark: #3c32ae;
	--bwdcv-auth-mint: #82edcf;
	box-sizing: border-box;
	width: 100%;
	padding: clamp(32px, 6vw, 76px) 18px;
	color: var(--bwdcv-auth-ink);
	background:
		radial-gradient(circle at 12% 8%, rgba(80, 99, 237, .14), transparent 31%),
		radial-gradient(circle at 88% 80%, rgba(130, 237, 207, .18), transparent 28%),
		#f6f8fd;
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	line-height: 1.55;
}

.bwdcv-auth-page *,
.bwdcv-auth-page *::before,
.bwdcv-auth-page *::after {
	box-sizing: border-box;
}

.bwdcv-auth-page svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.bwdcv-registration-flow,
.bwdcv-login-shell {
	width: min(100%, 1180px);
	margin-inline: auto;
}

.bwdcv-registration-heading {
	max-width: 790px;
	margin: 0 auto clamp(28px, 4vw, 45px);
	text-align: center;
}

.bwdcv-registration-heading > span,
.bwdcv-auth-story > span {
	display: inline-block;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.bwdcv-registration-heading > span {
	color: #5365e9;
}

.bwdcv-registration-heading h1,
.bwdcv-auth-story h1 {
	letter-spacing: -.05em;
}

.bwdcv-registration-heading h1 {
	margin: 12px 0 14px;
	color: var(--bwdcv-auth-ink);
	font-size: clamp(36px, 5vw, 58px);
	line-height: 1.06;
}

.bwdcv-registration-heading p {
	margin: 0;
	color: var(--bwdcv-auth-muted);
	font-size: 16px;
}

.bwdcv-registration-grid {
	display: grid;
	grid-template-columns: minmax(270px, .72fr) minmax(430px, 1.28fr);
	gap: 25px;
	align-items: stretch;
	max-width: 1020px;
	margin-inline: auto;
}

.bwdcv-selected-template-panel,
.bwdcv-auth-page .bwdcv-registration-card {
	padding: 27px !important;
	border: 1px solid var(--bwdcv-auth-line) !important;
	border-radius: 22px !important;
	background: #fff !important;
	box-shadow: 0 22px 58px rgba(26, 38, 90, .09) !important;
}

.bwdcv-auth-page .bwdcv-registration-card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: none !important;
	margin: 0 !important;
}

.bwdcv-selected-label {
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 16px;
	color: #168c68;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.bwdcv-selected-label svg {
	width: 15px;
	height: 15px;
}

.bwdcv-selected-template-image {
	display: grid;
	place-items: center;
	height: 430px;
	overflow: hidden;
	border-radius: 11px;
	color: var(--bwdcv-auth-muted);
	background: #eceff5;
}

.bwdcv-selected-template-image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top center;
}

.bwdcv-selected-template-name {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 15px;
	margin: 17px 0 14px;
}

.bwdcv-selected-template-name > div:first-child {
	display: flex;
	flex-direction: column;
}

.bwdcv-selected-template-name strong {
	color: var(--bwdcv-auth-ink);
	font-size: 18px;
}

.bwdcv-selected-template-name > div:first-child span {
	color: #7b859b;
	font-size: 12px;
}

.bwdcv-template-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: flex-end;
}

.bwdcv-template-tags span {
	padding: 5px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 850;
	text-transform: uppercase;
}

.bwdcv-template-number {
	color: #4b59ba;
	background: #edf0ff;
}

.bwdcv-template-tier.is-free {
	color: #137259;
	background: #ddf7ed;
}

.bwdcv-template-tier.is-pro {
	color: #fff;
	background: #5b3bd1;
}

.bwdcv-selected-template-panel > a {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #4659df !important;
	font-size: 12px;
	font-weight: 800;
	text-decoration: none !important;
}

.bwdcv-selected-template-panel > a svg {
	width: 14px;
	height: 14px;
}

.bwdcv-registration-steps {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
	margin-bottom: 31px;
}

.bwdcv-registration-steps span {
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 38px;
	padding: 9px 10px;
	border-radius: 10px;
	color: #929aab;
	background: #f3f4f8;
	font-size: 11px;
	font-weight: 800;
}

.bwdcv-registration-steps span b {
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .6);
	font-size: 10px;
}

.bwdcv-registration-steps span.done {
	color: #147559;
	background: #e4f8f1;
}

.bwdcv-registration-steps span.active {
	color: #fff;
	background: var(--bwdcv-auth-primary);
}

.bwdcv-auth-page .bwdcv-registration-form {
	display: grid;
	gap: 17px;
}

.bwdcv-auth-page .bwdcv-registration-form .form-group {
	margin: 0 !important;
}

.bwdcv-auth-page .form-group > label,
.bwdcv-login-card form label {
	display: block;
	margin: 0 0 7px;
	color: #3f4b66;
	font-size: 14px;
	font-weight: 760;
}

.bwdcv-auth-page .form-group input[type="text"],
.bwdcv-auth-page .form-group input[type="email"],
.bwdcv-auth-page .form-group input[type="number"],
.bwdcv-auth-page .form-group input[type="password"],
.bwdcv-login-card form input[type="text"],
.bwdcv-login-card form input[type="email"],
.bwdcv-login-card form input[type="password"] {
	width: 100% !important;
	min-height: 50px;
	padding: 13px 15px !important;
	border: 1px solid #dce1ec !important;
	border-radius: 11px !important;
	outline: none;
	color: var(--bwdcv-auth-ink);
	background: #fafbfe !important;
	font: inherit;
	font-size: 15px !important;
	box-shadow: none;
}

.bwdcv-auth-page .form-group input:focus,
.bwdcv-login-card form input:focus {
	border-color: #5365e9 !important;
	box-shadow: 0 0 0 3px rgba(83, 101, 233, .1) !important;
}

.bwdcv-password-field {
	position: relative;
}

.bwdcv-auth-page .bwdcv-password-field input {
	padding-inline-end: 52px !important;
}

.bwdcv-auth-page .bwd-show-pass-icon {
	display: grid !important;
	place-items: center;
	position: absolute !important;
	top: 4px !important;
	inset-inline-end: 5px !important;
	inset-inline-start: auto !important;
	width: 42px !important;
	height: 42px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	color: #7a849b !important;
	background: transparent !important;
	cursor: pointer;
	transform: none !important;
}

.bwdcv-auth-page .bwd-show-pass-icon:hover,
.bwdcv-auth-page .bwd-show-pass-icon:focus-visible {
	color: #4058df !important;
	background: #edf0ff !important;
}

.bwdcv-auth-page .bwd-generate-pass {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	width: max-content;
	margin: 7px 0 0 !important;
	padding: 6px 8px !important;
	border: 0 !important;
	color: #4058df !important;
	background: transparent !important;
	font-size: 12px !important;
	font-weight: 800;
	cursor: pointer;
}

.bwdcv-captcha-question {
	color: #d64f50;
}

.bwdcv-registration-error,
.bwdcv-login-card .woocommerce-error,
.bwdcv-login-card .woocommerce-notices-wrapper:not(:empty) {
	margin: 0 !important;
	padding: 12px 14px !important;
	border: 1px solid #ffc9c9 !important;
	border-radius: 9px !important;
	color: #a43d3d !important;
	background: #fff3f3 !important;
	font-size: 13px !important;
	list-style: none !important;
}

.bwdcv-registration-error[hidden] {
	display: none !important;
}

.bwdcv-registration-error p {
	margin: 0;
}

.bwdcv-registration-error p + p {
	margin-top: 5px;
}

.bwdcv-registration-success {
	display: grid;
	gap: 14px;
	padding: 26px;
	border: 1px solid #a7e8d2;
	border-radius: 16px;
	color: #145a46;
	background: #effcf7;
	text-align: center;
}

.bwdcv-registration-success h2,
.bwdcv-registration-success p {
	margin: 0;
}

.bwdcv-registration-success .btn {
	width: auto !important;
	min-height: 44px;
	padding: 0 20px !important;
}

.bwdcv-auth-page .bwdcv-register-submit,
.bwdcv-login-card form button[type="submit"],
.bwdcv-login-card form input[type="submit"],
.bwdcv-auth-state .btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	min-height: 50px;
	margin: 0 !important;
	padding: 12px 18px !important;
	border: 0 !important;
	border-radius: 11px !important;
	color: #fff !important;
	background: linear-gradient(110deg, var(--bwdcv-auth-primary), #6844db) !important;
	font: inherit;
	font-size: 14px !important;
	font-weight: 800 !important;
	text-decoration: none !important;
	cursor: pointer;
	box-shadow: 0 12px 25px rgba(75, 74, 205, .2);
}

.bwdcv-auth-page .bwdcv-register-submit:hover,
.bwdcv-login-card form button[type="submit"]:hover,
.bwdcv-login-card form input[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(75, 74, 205, .28);
}

.bwdcv-auth-page .bwdcv-register-submit svg {
	width: 17px;
	height: 17px;
}

.bwdcv-access-note {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: -2px 0 0;
	padding: 11px;
	border-radius: 9px;
	color: #6d587f;
	background: #f5effd;
	font-size: 11px;
}

.bwdcv-social-login-group {
	margin-top: 20px;
}

.bwdcv-auth-divider {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 7px 0 14px;
	color: #939bad;
	font-size: 11px;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.bwdcv-auth-divider::before,
.bwdcv-auth-divider::after {
	content: "";
	flex: 1;
	height: 1px;
	background: #e3e6ef;
}

.bwdcv-auth-page .bwd-social-login {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(105px, 1fr));
	gap: 8px;
	font: inherit !important;
}

.bwdcv-auth-page .bwdcv-social-button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 44px;
	padding: 9px 11px;
	border: 1px solid #dfe3ed;
	border-radius: 10px;
	color: #46516a !important;
	background: #fff;
	font-size: 12px;
	font-weight: 750;
	text-decoration: none !important;
}

.bwdcv-social-button:hover,
.bwdcv-social-button:focus-visible {
	border-color: #bdc6f5;
	color: #3549ca !important;
	background: #f8f9ff;
}

.bwdcv-social-icon {
	display: grid;
	place-items: center;
	width: 21px;
	height: 21px;
	color: #435be5;
	font-size: 14px;
}

.bwdcv-auth-switch {
	margin: 20px 0 0;
	color: #70798e;
	font-size: 14px;
	text-align: center;
}

.bwdcv-auth-page .bwdcv-registration-flow .bwdcv-registration-card .bwdcv-auth-switch a,
.bwdcv-auth-page .bwdcv-registration-flow .bwdcv-registration-card .bwdcv-auth-switch a:link,
.bwdcv-auth-page .bwdcv-registration-flow .bwdcv-registration-card .bwdcv-auth-switch a:visited {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 3px 10px;
	border: 1px solid #d9dfff !important;
	border-radius: 999px;
	background: #eef1ff !important;
	color: #243cc8 !important;
	-webkit-text-fill-color: #243cc8 !important;
	font-weight: 800;
	text-decoration: none !important;
}

.bwdcv-auth-page .bwdcv-registration-flow .bwdcv-registration-card .bwdcv-auth-switch a:hover,
.bwdcv-auth-page .bwdcv-registration-flow .bwdcv-registration-card .bwdcv-auth-switch a:focus-visible {
	border-color: #4058df !important;
	background: #4058df !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.bwdcv-login-shell {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(410px, .82fr);
	min-height: 690px;
	overflow: hidden;
	border: 1px solid var(--bwdcv-auth-line);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 35px 90px rgba(24, 36, 84, .12);
}

.bwdcv-auth-story {
	position: relative;
	overflow: hidden;
	padding: clamp(44px, 6vw, 70px);
	color: #fff;
	background: linear-gradient(145deg, #131f48, #3f3bb8 65%, #643bd2);
}

.bwdcv-auth-story::after {
	content: "";
	position: absolute;
	inset-inline-end: -120px;
	bottom: -145px;
	width: 330px;
	height: 330px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 41% 59% 66% 34%;
	background: rgba(255, 255, 255, .06);
	transform: rotate(21deg);
}

.bwdcv-auth-story > span {
	color: var(--bwdcv-auth-mint);
}

.bwdcv-auth-story h1 {
	max-width: 610px;
	margin: 19px 0 22px;
	color: #fff;
	font-size: clamp(40px, 4.5vw, 62px);
	line-height: 1.03;
}

.bwdcv-auth-story > p {
	max-width: 570px;
	margin: 0;
	color: #d8def2;
	font-size: 17px;
	line-height: 1.75;
}

.bwdcv-auth-story ul {
	display: grid;
	gap: 13px;
	margin: 34px 0;
	padding: 0;
	list-style: none;
}

.bwdcv-auth-story li {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #eef1ff;
	font-size: 14px;
}

.bwdcv-auth-story li svg {
	flex: none;
	color: var(--bwdcv-auth-mint);
}

.bwdcv-auth-role-link {
	display: flex;
	gap: 12px;
	max-width: 390px;
	margin-top: 50px;
	padding: 17px;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 15px;
	background: rgba(255, 255, 255, .08);
}

.bwdcv-auth-role-link > span {
	display: grid;
	place-items: center;
	flex: none;
	width: 30px;
	height: 30px;
	color: var(--bwdcv-auth-mint);
}

.bwdcv-auth-role-link > div {
	display: grid;
}

.bwdcv-auth-role-link b {
	font-size: 14px;
}

.bwdcv-auth-role-link a {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 3px;
	color: #dfe5ff !important;
	font-size: 13px;
	text-decoration: none !important;
}

.bwdcv-auth-role-link a svg {
	width: 14px;
	height: 14px;
}

.bwdcv-auth-page .bwdcv-login-card {
	align-self: center;
	max-width: none !important;
	margin: 0 !important;
	padding: clamp(36px, 5vw, 60px) !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

.bwdcv-auth-card-heading {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 31px;
}

.bwdcv-auth-card-heading > span {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	color: #475be9;
	background: #ebeeff;
}

.bwdcv-auth-card-heading small {
	color: #6d78d4;
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .1em;
}

.bwdcv-auth-card-heading h2 {
	margin: 2px 0 0 !important;
	color: var(--bwdcv-auth-ink) !important;
	background: transparent !important;
	font-size: 27px !important;
	letter-spacing: -.035em;
}

.bwdcv-login-card form {
	display: grid;
	gap: 17px;
}

.bwdcv-login-card form p {
	margin: 0 !important;
}

.bwdcv-login-card form .password-input {
	display: block;
	position: relative;
}

.bwdcv-login-card form .show-password-input {
	top: 50%;
	transform: translateY(-50%);
}

.bwdcv-login-card form .form-row:has(.woocommerce-form-login__rememberme),
.bwdcv-login-card form .login-remember {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.bwdcv-login-card form .woocommerce-form-login__rememberme,
.bwdcv-login-card form .login-remember label {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin: 0;
	color: #606b82;
	font-size: 13px;
	font-weight: 600;
}

.bwdcv-login-card form input[type="checkbox"] {
	width: 16px !important;
	height: 16px;
	min-height: 0 !important;
	margin: 0;
}

.bwdcv-login-card form .lost_password,
.bwdcv-login-card form .login-password + .login-remember {
	font-size: 13px;
}

.bwdcv-login-card form .lost_password a {
	color: #4058df !important;
	font-weight: 750;
}

.bwdcv-login-status {
	display: grid;
	gap: 18px;
}

.bwdcv-auth-state {
	max-width: 720px !important;
	margin: 20px auto !important;
	padding: clamp(30px, 5vw, 54px) !important;
	border: 1px solid var(--bwdcv-auth-line) !important;
	border-radius: 22px !important;
	background: #fff !important;
	text-align: center;
	box-shadow: 0 25px 70px rgba(24, 36, 84, .11) !important;
}

.bwdcv-auth-state-icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin: 0 auto 16px;
	border-radius: 17px;
	color: #168c68;
	background: #ddf7ed;
}

.bwdcv-auth-state h2 {
	margin: 0 0 8px !important;
	color: var(--bwdcv-auth-ink) !important;
	font-size: 30px !important;
}

.bwdcv-auth-state p {
	margin: 0 0 22px;
	color: var(--bwdcv-auth-muted);
}

.bwdcv-auth-state-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
}

.bwdcv-auth-state .btn {
	width: auto;
}

.bwdcv-auth-state .btn-secondary {
	color: #46516a !important;
	background: #eef1f8 !important;
	box-shadow: none;
}

[dir="rtl"] .bwdcv-auth-page .bwdcv-register-submit svg,
[dir="rtl"] .bwdcv-selected-template-panel > a svg,
[dir="rtl"] .bwdcv-auth-role-link a svg {
	transform: scaleX(-1);
}

@media (max-width: 960px) {
	.bwdcv-registration-grid,
	.bwdcv-login-shell {
		grid-template-columns: 1fr;
	}

	.bwdcv-selected-template-panel {
		max-width: 520px;
		margin-inline: auto;
	}

	.bwdcv-auth-story {
		padding: 50px;
	}

	.bwdcv-auth-role-link {
		margin-top: 32px;
	}
}

@media (max-width: 620px) {
	.bwdcv-auth-page {
		padding: 28px 14px 52px;
	}

	.bwdcv-registration-heading h1,
	.bwdcv-auth-story h1 {
		font-size: 38px;
	}

	.bwdcv-selected-template-panel,
	.bwdcv-auth-page .bwdcv-registration-card,
	.bwdcv-auth-page .bwdcv-login-card {
		padding: 23px 20px !important;
	}

	.bwdcv-selected-template-image {
		height: min(115vw, 500px);
	}

	.bwdcv-registration-steps span {
		justify-content: center;
		padding-inline: 5px;
		font-size: 10px;
	}

	.bwdcv-auth-story {
		padding: 35px 25px;
	}

	.bwdcv-login-shell {
		border-radius: 20px;
	}

	.bwdcv-auth-story > p {
		font-size: 15px;
	}

	.bwdcv-auth-state-actions {
		flex-direction: column;
	}

	.bwdcv-auth-state .btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.bwdcv-auth-page *,
	.bwdcv-auth-page *::before,
	.bwdcv-auth-page *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
