/**
 * Login / registration page + modal — card layout, fields, actions.
 * Scope: .jobsearch-login-registration-form, .jobsearch-login-box, #JobSearchModalLogin
 */

:root {
	--rework-login-btn-bg: var(--cfy-primary, #0a65fc);
	--rework-login-btn-bg-hover: #0854d4;
	--rework-login-btn-radius: 30px;
	--rework-login-card-bg: #ffffff;
	--rework-login-card-border: #e8ecef;
	--rework-login-input-border: #e2e2e2;
	--rework-login-muted: #5a6b7d;
}

/* ============================================================
   Page layout
   ============================================================ */
.jobsearch-form.jobsearch-login-registration-form {
	margin: 0 auto !important;
	max-width: 960px;
	padding: 0 24px;
	overflow-x: clip;
	box-sizing: border-box;
}

.jobsearch-login-registration-form .jobsearch-row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 24px;
	margin: 0;
	float: none;
	width: 100%;
}

.jobsearch-login-registration-form .jobsearch-column-6 {
	float: none !important;
	flex: 0 0 calc(50% - 12px);
	min-width: 0;
	max-width: calc(50% - 12px);
	width: auto !important;
	padding: 0 !important;
	margin: 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}

.jobsearch-login-registration-form .jobsearch-column-6 > .jobsearch-login-box {
	flex: 1;
}

@media (min-width: 992px) {
	.jobsearch-login-registration-form .jobsearch-row {
		flex-wrap: nowrap;
	}
}

/* ============================================================
   Cards
   ============================================================ */
.jobsearch-login-box {
	float: none !important;
	width: 100% !important;
	height: 100%;
	margin-bottom: 0 !important;
	padding: 28px !important;
	background-color: var(--rework-login-card-bg) !important;
	border: 1px solid var(--rework-login-card-border);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(13, 59, 94, 0.06);
	box-sizing: border-box;
}

.jobsearch-login-box h2 {
	float: none;
	width: 100%;
	margin: 0 0 8px !important;
	font-size: 22px !important;
	font-weight: 600;
	line-height: 1.25;
	color: var(--cfy-dark, #0d3b5e);
	text-transform: none;
}

.jobsearch-login-box > span,
.jobsearch-login-box .enter-userpass-txt,
.jobsearch-login-box .pt-register > span {
	float: none;
	display: block;
	width: 100%;
	margin: 0 0 20px !important;
	font-size: 14px;
	line-height: 1.45;
	color: var(--rework-login-muted);
	font-style: normal;
}

.jobsearch-login-box form,
.jobsearch-login-box form ul,
.jobsearch-login-box .login-form,
.jobsearch-login-box .pt-register form {
	float: none;
	width: 100%;
}

.jobsearch-login-box form ul,
.entry-content .jobsearch-login-box form ul,
#left-area .jobsearch-login-box form ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.jobsearch-login-box form ul li {
	float: none !important;
	width: 100% !important;
	padding: 0 0 14px !important;
	list-style: none;
	text-align: left !important;
}

.jobsearch-login-box form ul li:last-child {
	padding-bottom: 0 !important;
}

/* ============================================================
   Inputs
   ============================================================ */
.jobsearch-login-box form ul li input[type="text"],
.jobsearch-login-box form ul li input[type="password"],
.jobsearch-login-box form ul li input[type="email"],
.jobsearch-login-box form ul li input[type="tel"],
.jobsearch-login-box form ul li input[type="number"],
.jobsearch-login-box form ul li textarea,
.jobsearch-login-box .jobsearch-profile-select select,
#JobSearchModalLogin .jobsearch-user-form input[type="text"],
#JobSearchModalLogin .jobsearch-user-form input[type="password"],
#JobSearchModalLogin .jobsearch-user-form input[type="email"],
#JobSearchModalLogin .jobsearch-user-form input[type="tel"],
.jobsearch-modal .jobsearch-user-form input[type="text"],
.jobsearch-modal .jobsearch-user-form input[type="password"],
.jobsearch-modal .jobsearch-user-form input[type="email"] {
	display: block;
	width: 100% !important;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid var(--rework-login-input-border);
	border-radius: 8px;
	background-color: #fff;
	font-size: 15px;
	line-height: 1.2;
	color: var(--cfy-dark, #0d3b5e);
	box-sizing: border-box;
	float: none;
}

.jobsearch-login-box form ul li textarea {
	height: 120px;
	padding-top: 12px;
}

.jobsearch-login-box form ul li input:focus,
.jobsearch-login-box form ul li textarea:focus,
#JobSearchModalLogin .jobsearch-user-form input:focus {
	border-color: var(--rework-login-btn-bg);
	outline: none;
	box-shadow: 0 0 0 2px rgba(10, 101, 252, 0.12);
}

/* Registration phone — plain BY input (no intl-tel-input) */
.jobsearch-login-box .rework-reg-phone-wrap,
#JobSearchModalLogin .rework-reg-phone-wrap {
	position: relative;
	display: block;
	width: 100%;
}

.jobsearch-login-box .rework-reg-phone-wrap .rework-reg-phone-input,
#JobSearchModalLogin .rework-reg-phone-wrap .rework-reg-phone-input {
	width: 100% !important;
	padding-right: 40px !important;
}

.jobsearch-login-box .rework-reg-phone-status,
#JobSearchModalLogin .rework-reg-phone-status {
	position: absolute;
	right: 12px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 16px;
	line-height: 1;
	pointer-events: none;
}

.jobsearch-login-box .rework-reg-phone-wrap.rework-reg-phone-valid .rework-reg-phone-status,
#JobSearchModalLogin .rework-reg-phone-wrap.rework-reg-phone-valid .rework-reg-phone-status {
	color: #4caf50;
}

.jobsearch-login-box .rework-reg-phone-wrap.rework-reg-phone-invalid .rework-reg-phone-status,
#JobSearchModalLogin .rework-reg-phone-wrap.rework-reg-phone-invalid .rework-reg-phone-status {
	color: #d32f2f;
}

.jobsearch-login-box .rework-reg-phone-error,
#JobSearchModalLogin .rework-reg-phone-error {
	display: none;
	margin: 6px 0 0;
	font-size: 12px;
	line-height: 1.35;
	color: #d32f2f;
}

.jobsearch-login-box .rework-reg-phone-wrap.rework-reg-phone-invalid .rework-reg-phone-input,
#JobSearchModalLogin .rework-reg-phone-wrap.rework-reg-phone-invalid .rework-reg-phone-input {
	border-color: #d32f2f !important;
	box-shadow: 0 0 0 2px rgba(211, 47, 47, 0.12);
}

.jobsearch-login-box .rework-reg-phone-wrap.rework-reg-phone-valid .rework-reg-phone-input,
#JobSearchModalLogin .rework-reg-phone-wrap.rework-reg-phone-valid .rework-reg-phone-input {
	border-color: #4caf50 !important;
}

/* Password field + show/hide toggle (selectors by name — layout persists when type toggles text/password) */
.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"]),
.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_cpass"]),
.jobsearch-login-box form ul li:has(input[name="pt_user_pass"]),
.jobsearch-login-box form ul li:has(input[name="pt_user_cpass"]),
#JobSearchModalLogin .jobsearch-user-form li:has(input[name="pt_user_pass"]),
#JobSearchModalLogin .jobsearch-user-form li:has(input[name="pt_user_cpass"]),
#JobSearchModalLogin .jobsearch-user-form li:has(input[type="password"]) {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
	position: relative;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > input[name="pt_user_pass"],
.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_cpass"]) > input[name="pt_user_cpass"],
.jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > input[name="pt_user_pass"],
.jobsearch-login-box form ul li:has(input[name="pt_user_cpass"]) > input[name="pt_user_cpass"],
#JobSearchModalLogin .jobsearch-user-form li:has(input[name="pt_user_pass"]) > input[name="pt_user_pass"],
#JobSearchModalLogin .jobsearch-user-form li:has(input[name="pt_user_cpass"]) > input[name="pt_user_cpass"],
#JobSearchModalLogin .jobsearch-user-form li:has(input[type="password"]) > input[type="password"] {
	grid-column: 1;
	grid-row: 1;
	width: 100% !important;
	padding-right: 52px !important;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > a.jobsearch-user-showpass,
.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_cpass"]) > a.jobsearch-user-showpass,
.jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > a.jobsearch-user-showpass,
.jobsearch-login-box form ul li:has(input[name="pt_user_cpass"]) > a.jobsearch-user-showpass,
#JobSearchModalLogin .jobsearch-user-form li:has(input[name="pt_user_pass"]) > a.jobsearch-user-showpass,
#JobSearchModalLogin .jobsearch-user-form li:has(input[name="pt_user_cpass"]) > a.jobsearch-user-showpass,
#JobSearchModalLogin .jobsearch-user-form li:has(input[type="password"]) > a.jobsearch-user-showpass,
.jobsearch-modal .jobsearch-user-form li:has(input[name="pt_user_pass"]) > a.jobsearch-user-showpass,
.jobsearch-modal .jobsearch-user-form li:has(input[name="pt_user_cpass"]) > a.jobsearch-user-showpass,
.jobsearch-modal .jobsearch-user-form li:has(input[type="password"]) > a.jobsearch-user-showpass {
	grid-column: 1;
	grid-row: 1;
	position: relative !important;
	justify-self: end;
	align-self: center;
	z-index: 2;
	inset: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	transform: none !important;
	float: none;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-width: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	line-height: 1;
	font-style: normal;
	text-decoration: none;
	box-sizing: border-box;
	cursor: pointer;
}

/* Disable plugin slash overlay on the anchor — it breaks grid positioning */
.jobsearch-login-registration-form .jobsearch-login-box a.jobsearch-user-showpass.jobsearch-user-hidepass::before,
#JobSearchModalLogin a.jobsearch-user-showpass.jobsearch-user-hidepass::before,
.jobsearch-modal a.jobsearch-user-showpass.jobsearch-user-hidepass::before {
	content: none !important;
	display: none !important;
}

.jobsearch-login-registration-form .jobsearch-login-box a.jobsearch-user-showpass.jobsearch-user-hidepass i,
#JobSearchModalLogin a.jobsearch-user-showpass.jobsearch-user-hidepass i,
.jobsearch-modal a.jobsearch-user-showpass.jobsearch-user-hidepass i {
	opacity: 0.45;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > a.jobsearch-user-showpass i,
.jobsearch-login-box a.jobsearch-user-showpass i,
#JobSearchModalLogin a.jobsearch-user-showpass i,
.jobsearch-modal a.jobsearch-user-showpass i {
	position: static !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: #5a6b7d;
	font-size: 24px !important;
	line-height: 1;
}

.jobsearch-login-box a.jobsearch-user-showpass i.jobsearch-icon::before,
#JobSearchModalLogin a.jobsearch-user-showpass i.jobsearch-icon::before,
.jobsearch-modal a.jobsearch-user-showpass i.jobsearch-icon::before {
	font-size: 24px !important;
	line-height: 1;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > span.passlenth-chk-msg {
	grid-column: 1;
	grid-row: 2;
	justify-self: start;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"]) > a.jobsearch-user-showpass:hover i,
.jobsearch-login-box a.jobsearch-user-showpass:hover i,
#JobSearchModalLogin a.jobsearch-user-showpass:hover i {
	color: var(--rework-login-btn-bg);
}

/* Registration password: strength badge below field */
.jobsearch-login-registration-form .jobsearch-login-box form ul li:has(input[name="pt_user_pass"].jobsearch_chk_passfield) {
	grid-template-rows: auto auto;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li .passlenth-chk-msg,
.page .jobsearch-login-registration-form .jobsearch-login-box span.passlenth-chk-msg {
	grid-column: 1;
	grid-row: 2;
	position: static !important;
	top: auto !important;
	right: auto !important;
	display: none;
	width: auto !important;
	max-width: 100%;
	margin: 8px 0 0 !important;
	padding: 5px 12px !important;
	border-radius: 20px !important;
	font-size: 12px !important;
	line-height: 1.3 !important;
	font-weight: 600;
	align-self: flex-start;
	box-sizing: border-box;
}

.jobsearch-login-registration-form .jobsearch-login-box form ul li .passlenth-chk-msg[style*="inline"],
.jobsearch-login-registration-form .jobsearch-login-box form ul li .passlenth-chk-msg:not(:empty) {
	display: inline-flex !important;
	align-items: center;
}

/* ============================================================
   Role selector (Candidate / Employer)
   ============================================================ */
.jobsearch-login-box .jobsearch-roles-container {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 4px !important;
	float: none;
	width: 100%;
}

.jobsearch-login-box .jobsearch-roles-container .jobsearch-radio-checkbox {
	float: none;
	width: auto;
	flex: 1 1 calc(50% - 4px);
	min-width: 0;
	padding: 0;
	margin: 0;
	line-height: 1.2;
}

.jobsearch-login-box .jobsearch-radio-checkbox input[type="radio"] {
	display: none;
}

.jobsearch-login-box .jobsearch-radio-checkbox label {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 8px 12px;
	border: 1px solid var(--rework-login-input-border);
	border-radius: var(--rework-login-btn-radius);
	background-color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.2 !important;
	color: var(--cfy-dark, #0d3b5e);
	text-align: center;
	cursor: pointer;
	box-sizing: border-box;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.jobsearch-login-box .jobsearch-radio-checkbox label i {
	display: none;
}

.jobsearch-login-box .jobsearch-radio-checkbox input[type="radio"]:checked + label,
.jobsearch-login-box .jobsearch-radio-checkbox input[type="radio"]:hover + label {
	background-color: var(--rework-login-btn-bg);
	border-color: var(--rework-login-btn-bg);
	color: #fff !important;
}

/* ============================================================
   Buttons — shared primary / secondary
   ============================================================ */
.jobsearch-login-box .jobsearch-login-submit-btn,
.jobsearch-login-box .jobsearch-register-submit-btn,
.jobsearch-login-box .jobsearch-reset-password-submit-btn,
.jobsearch-login-box .login-by-code-box .jobsearch-send-login-code-btn,
.jobsearch-login-box .login-by-code-box .jobsearch-login-by-code-submit,
#JobSearchModalLogin .jobsearch-login-submit-btn,
#JobSearchModalLogin .jobsearch-user-form input[type="submit"],
#JobSearchModalLogin .login-by-code-box .jobsearch-send-login-code-btn,
#JobSearchModalLogin .login-by-code-box .jobsearch-login-by-code-submit,
.jobsearch-modal .jobsearch-user-form input[type="submit"] {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	max-width: 100%;
	height: auto;
	min-height: 44px;
	margin: 0;
	padding: 12px 32px;
	border-radius: var(--rework-login-btn-radius) !important;
	border: 1px solid transparent;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	text-align: center;
	color: #fff !important;
	background-color: var(--rework-login-btn-bg) !important;
	cursor: pointer;
	box-sizing: border-box;
	float: none;
	box-shadow: 0 6px 18px rgba(10, 101, 252, 0.22);
	transition: background-color 0.25s ease, box-shadow 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}

.jobsearch-login-box .login-by-code-trigger-btn,
#JobSearchModalLogin .login-by-code-trigger-btn,
.jobsearch-modal .login-by-code-trigger-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	max-width: 100%;
	height: auto;
	min-height: 44px;
	margin: 0;
	padding: 11px 32px;
	border-radius: var(--rework-login-btn-radius) !important;
	border: 1px solid var(--rework-login-btn-bg);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: none;
	text-align: center;
	color: var(--rework-login-btn-bg) !important;
	background-color: transparent !important;
	cursor: pointer;
	box-sizing: border-box;
	float: none;
	box-shadow: none;
	transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
	-webkit-appearance: none;
	appearance: none;
}

.jobsearch-login-box .jobsearch-login-submit-btn:hover,
.jobsearch-login-box .jobsearch-register-submit-btn:hover,
.jobsearch-login-box .jobsearch-reset-password-submit-btn:hover,
.jobsearch-login-box .login-by-code-box .jobsearch-send-login-code-btn:hover,
.jobsearch-login-box .login-by-code-box .jobsearch-login-by-code-submit:hover,
#JobSearchModalLogin .jobsearch-login-submit-btn:hover,
#JobSearchModalLogin .jobsearch-user-form input[type="submit"]:hover,
#JobSearchModalLogin .login-by-code-box .jobsearch-send-login-code-btn:hover,
#JobSearchModalLogin .login-by-code-box .jobsearch-login-by-code-submit:hover {
	background-color: var(--rework-login-btn-bg-hover) !important;
	color: #fff !important;
}

.jobsearch-login-box .login-by-code-trigger-btn:hover,
.jobsearch-login-box .login-by-code-trigger-btn:focus,
#JobSearchModalLogin .login-by-code-trigger-btn:hover,
#JobSearchModalLogin .login-by-code-trigger-btn:focus,
.jobsearch-modal .login-by-code-trigger-btn:hover,
.jobsearch-modal .login-by-code-trigger-btn:focus {
	background-color: rgba(10, 101, 252, 0.08) !important;
	color: var(--rework-login-btn-bg-hover) !important;
	border-color: var(--rework-login-btn-bg-hover);
}

.jobsearch-login-box .jobsearch-login-submit-btn.btn,
.jobsearch-login-box .jobsearch-register-submit-btn.btn,
.jobsearch-login-box .login-by-code-trigger-btn.btn,
#JobSearchModalLogin .login-by-code-trigger-btn.btn {
	padding: 12px 32px !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
}

.jobsearch-login-box .jobsearch-disable-btn {
	opacity: 0.45;
	cursor: not-allowed !important;
}

/* Override wp-jobsearch patch.css + bootstrap .btn */
.jobsearch-login-registration-form .jobsearch-login-box form .jobsearch-login-submit-btn,
.jobsearch-login-registration-form .jobsearch-login-box form .jobsearch-register-submit-btn,
.jobsearch-login-registration-form .jobsearch-login-box form .jobsearch-login-submit-btn.btn,
.jobsearch-login-registration-form .jobsearch-login-box form .jobsearch-register-submit-btn.btn {
	border-radius: var(--rework-login-btn-radius) !important;
}

/* Login actions: «Вход» + «Войти по коду» в один ряд */
.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3),
.jobsearch-login-box .regsend-submit-btncon,
#JobSearchModalLogin .jobsearch-user-form ul > li.jobsearch-user-form-coltwo-full:last-child {
	display: grid !important;
	grid-template-columns: auto auto;
	gap: 10px;
	align-items: center;
	justify-content: start;
	position: relative;
}

.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) .jobsearch-login-submit-btn,
#JobSearchModalLogin .jobsearch-user-form .jobsearch-login-submit-btn {
	grid-column: 1;
	grid-row: 1;
	order: unset;
}

.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) .login-by-code-trigger-wrap,
.jobsearch-login-box .login-form li .login-by-code-trigger-wrap,
.jobsearch-login-box .jobsearch-user-form li .login-by-code-trigger-wrap,
#JobSearchModalLogin .login-by-code-trigger-wrap,
.jobsearch-modal .login-by-code-trigger-wrap {
	grid-column: 2;
	grid-row: 1;
	display: block;
	order: unset;
	margin: 0;
	width: auto;
	max-width: 100%;
}

.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) .form-loader {
	grid-column: 3;
	grid-row: 1;
	align-self: center;
}

.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) input[type="hidden"] {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
}

.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) a.lost-password,
.jobsearch-login-box form a.lost-password,
.jobsearch-login-box form a.login-form-btn {
	grid-column: 1 / -1;
	grid-row: 2;
	order: unset;
	flex: unset;
	float: none !important;
	display: inline-block;
	margin: 2px 0 0 !important;
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	color: var(--rework-login-btn-bg);
	text-decoration: none;
}

.jobsearch-login-box form a.lost-password:hover,
.jobsearch-login-box form a.login-form-btn:hover {
	text-decoration: underline;
	color: var(--rework-login-btn-bg-hover);
}

.jobsearch-login-box .regsend-submit-btncon {
	display: flex !important;
	flex-direction: column;
	flex-wrap: wrap;
}

.jobsearch-login-box .regsend-submit-btncon .jobsearch-register-submit-btn {
	order: 2;
	margin-top: 4px;
}

.jobsearch-login-box .regsend-submit-btncon .terms-priv-chek-con {
	order: 1;
	width: 100%;
}

.jobsearch-login-box .form-loader {
	display: inline-block;
	margin: 8px 0 0;
	font-size: 18px;
	vertical-align: middle;
}

/* ============================================================
   Terms checkbox
   ============================================================ */
.jobsearch-login-box .terms-priv-chek-con {
	display: flex;
	width: 100%;
	margin: 0 0 12px;
	float: none;
}

.jobsearch-login-box .terms-priv-chek-con p {
	display: grid;
	grid-template-columns: 32px minmax(0, 1fr);
	column-gap: 12px;
	align-items: start;
	width: 100%;
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--rework-login-muted);
}

.jobsearch-login-box .terms-priv-chek-con p input[type="checkbox"] {
	grid-column: 1;
	grid-row: 1;
	justify-self: start;
	align-self: start;
	flex-shrink: 0;
	width: 22px;
	height: 22px;
	margin: 1px 0 0;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
	border: 2px solid var(--rework-login-input-border);
	border-radius: 50%;
	background-color: #fff;
	cursor: pointer;
	position: relative;
	box-sizing: border-box;
}

.jobsearch-login-box .terms-priv-chek-con p input[type="checkbox"]:checked {
	background-color: var(--rework-login-btn-bg);
	border-color: var(--rework-login-btn-bg);
}

.jobsearch-login-box .terms-priv-chek-con p input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 8px;
	height: 5px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: translate(-50%, -60%) rotate(-45deg);
}

.jobsearch-login-box .terms-priv-chek-con p input[type="checkbox"]:focus-visible {
	outline: none;
	box-shadow: 0 0 0 2px rgba(10, 101, 252, 0.25);
}

.jobsearch-login-box .terms-priv-chek-con p .terms-priv-check-inner {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.jobsearch-login-box .terms-priv-chek-con p a {
	float: none;
	margin: 0;
	font-style: normal;
	font-weight: 500;
	color: var(--rework-login-btn-bg);
	text-decoration: underline;
}

/* ============================================================
   Errors / alerts
   ============================================================ */
.jobsearch-login-box .login-reg-errors,
.jobsearch-login-box .registration-errors,
.jobsearch-login-box .reset-password-errors,
#JobSearchModalLogin .login-reg-errors {
	float: none;
	width: 100%;
	margin-top: 16px;
}

.jobsearch-login-box .login-reg-errors .alert,
.jobsearch-login-box .registration-errors .alert,
.jobsearch-login-box .reset-password-errors .alert {
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.4;
}

/* ============================================================
   Modal (#JobSearchModalLogin)
   ============================================================ */
#JobSearchModalLogin .jobsearch-user-form ul li {
	text-align: left !important;
}

#JobSearchModalLogin .jobsearch-user-form ul li input[type="text"],
#JobSearchModalLogin .jobsearch-user-form ul li input[type="password"],
#JobSearchModalLogin .jobsearch-user-form ul li input[type="email"] {
	margin-bottom: 0;
}

#JobSearchModalLogin .terms-priv-chek-con {
	margin-bottom: 12px;
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 991px) {
	.jobsearch-form.jobsearch-login-registration-form {
		max-width: 100%;
		padding: 0 16px;
	}

	.jobsearch-login-registration-form .jobsearch-column-6 {
		flex: 0 0 100%;
		max-width: 100%;
		min-width: 100%;
	}

	.jobsearch-login-box {
		padding: 24px 20px !important;
		margin-bottom: 0 !important;
	}
}

@media (max-width: 480px) {
	.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) {
		grid-template-columns: 1fr;
	}

	.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) .jobsearch-login-submit-btn,
	.jobsearch-login-registration-form .jobsearch-login-box .login-form form ul > li:nth-child(3) .login-by-code-trigger-wrap {
		grid-column: 1;
	}

	.jobsearch-login-box .login-form li .login-by-code-trigger-wrap {
		width: 100%;
	}

	.jobsearch-login-box .jobsearch-login-submit-btn,
	.jobsearch-login-box .jobsearch-register-submit-btn,
	.jobsearch-login-box .login-by-code-trigger-btn,
	.jobsearch-login-box .login-by-code-box .jobsearch-send-login-code-btn,
	.jobsearch-login-box .login-by-code-box .jobsearch-login-by-code-submit,
	#JobSearchModalLogin .jobsearch-login-submit-btn,
	#JobSearchModalLogin .login-by-code-trigger-btn,
	#JobSearchModalLogin .jobsearch-user-form input[type="submit"] {
		display: flex;
		width: 100%;
		justify-content: center;
	}
}
