body.login {
	min-height: 100vh;
	background: radial-gradient(circle at 12% 18%, rgba(26, 106, 188, .26) 0, rgba(26, 106, 188, 0) 38%), linear-gradient(145deg, #f2f6fb 0%, #e7eff8 48%, #dde9f7 100%);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 24px;
}

body.login #login {
	width: min(100%, 420px);
	padding: 30px 28px;
	margin: 0;
	background: rgba(255, 255, 255, .95);
	border: 1px solid #cfdded;
	border-radius: var(--v-radius-xl);
	box-shadow: var(--v-shadow-xl);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
	animation: fadeInUp .4s ease-out both;
}

body.login #login h1 { margin-bottom: 20px; }

body.login #login h1 a {
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	background: none;
	text-indent: 0;
	font-family: var(--v-font);
	font-size: 28px;
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: .9px;
	text-transform: uppercase;
	text-align: center;
	color: var(--v-brand);
	text-decoration: none;
	position: relative;
}

body.login #login h1 a::after {
	content: 'Сайт работает под управлением ООО Омега-М';
	display: block;
	margin-top: 6px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.3px;
	text-transform: uppercase;
	color: var(--v-text-muted);
}

body.login .message,
body.login #login_error,
body.login .success {
	border: 1px solid #d0e0f2;
	border-left-width: 4px;
	border-left-color: var(--v-brand);
	border-radius: var(--v-radius);
	box-shadow: none;
	background: #f4f8fd;
	color: var(--v-text-secondary);
	font-size: 13px;
}

body.login form {
	margin-top: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
}

body.login form .input,
body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"] {
	height: 46px;
	font-size: 15px;
	padding: 10px 14px;
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius);
	background: #fff;
	box-shadow: none;
	transition: border-color var(--v-transition), box-shadow var(--v-transition);
}

body.login form .input:focus,
body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus {
	border-color: var(--v-brand);
	box-shadow: 0 0 0 3px rgba(15, 91, 168, .15);
	outline: none;
}

body.login label {
	font-size: 13px;
	font-weight: 600;
	color: var(--v-text-secondary);
}

body.login .forgetmenot { margin: 8px 0 14px; }
body.login .forgetmenot label { font-size: 12px; font-weight: 500; color: var(--v-text-muted); }
body.login .button.wp-hide-pw { border: 0; background: transparent; color: var(--v-text-muted); }
body.login .button.wp-hide-pw:hover { color: var(--v-brand); }

body.login #wp-submit,
body.login .button.button-primary {
	width: 100%;
	min-height: 46px;
	padding: 0 16px;
	border: 0;
	border-radius: var(--v-radius);
	background: var(--v-bg-hero);
	box-shadow: 0 6px 16px rgba(15, 91, 168, .24);
	font-family: var(--v-font);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .4px;
	text-transform: uppercase;
	transition: transform var(--v-transition), box-shadow var(--v-transition);
}

body.login #wp-submit:hover,
body.login .button.button-primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 20px rgba(15, 91, 168, .28);
}

body.login #nav,
body.login #backtoblog { padding: 0; margin-top: 12px; text-align: center; }

body.login #nav a,
body.login #backtoblog a {
	font-size: 13px;
	font-weight: 600;
	color: var(--v-brand);
	text-decoration: none;
	transition: color var(--v-transition);
}

body.login #nav a:hover,
body.login #backtoblog a:hover {
	color: var(--v-brand-dark);
	text-decoration: underline;
}

body.login .privacy-policy-page-link { margin: 10px 0 0; text-align: center; }
body.login .privacy-policy-page-link a { font-size: 12px; color: var(--v-text-muted); text-decoration: none; }

body.login .language-switcher {
	margin: 0;
	padding: 10px 14px;
	border: 1px solid #cfdded;
	border-radius: var(--v-radius-lg);
	background: rgba(255, 255, 255, .84);
	box-shadow: var(--v-shadow-sm);
	backdrop-filter: blur(2px);
	-webkit-backdrop-filter: blur(2px);
}

body.login .language-switcher label { font-size: 12px; font-weight: 600; color: var(--v-text-muted); }
body.login .language-switcher select { min-width: 174px; margin-right: 8px; }

body .hp-page,
body .hp-template { color: var(--v-text); }

body .hp-form {
	background: #fff;
	border: 1px solid var(--v-line);
	border-radius: var(--v-radius-lg);
	box-shadow: var(--v-shadow-sm);
	padding: 22px;
}

body .hp-form__field { margin-bottom: 14px; }

body .hp-form__field label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--v-text-secondary);
}

body .hp-form__field small,
body .hp-form__field-description {
	font-size: 12px;
	color: var(--v-text-muted);
}

body .hp-form .hp-field--error input,
body .hp-form .hp-field--error select,
body .hp-form .hp-field--error textarea,
body .hp-form .hp-form__field--error input,
body .hp-form .hp-form__field--error select,
body .hp-form .hp-form__field--error textarea {
	border-color: #e2675f;
	box-shadow: 0 0 0 3px rgba(217, 48, 37, .12);
}

body .hp-form .hp-form__messages,
body .hp-form .hp-form__message,
body .hp-form .hp-message {
	border-radius: var(--v-radius);
	font-size: 13px;
	border: 1px solid var(--v-line);
	background: #f6f9fd;
	color: var(--v-text-secondary);
}

body .hp-form .hp-form__messages:empty { display: none; }
body .hp-form .hp-form__messages { display: grid; gap: 8px; margin-bottom: 10px; }

.vostok-inline-auth-message { padding: 12px 14px; font-weight: 700; line-height: 1.5; }
.vostok-inline-auth-message.hp-message--error { border-color: #efc4bf; background: #fff4f2; color: #b9382d; }
.vostok-inline-auth-message.hp-message--success { border-color: #b8ddc3; background: #eefaf1; color: #1e7c3a; }

.vostok-auth-role-field { margin-bottom: 2px; }
.vostok-auth-field-hint { margin-top: 6px; font-size: 12px; line-height: 1.5; color: #60748b; }

body .hp-form button,
body .hp-form .button,
body .hp-form__actions .button,
body .hp-form__actions button,
body .hp-form input[type="submit"] {
	min-height: 42px;
	padding: 10px 18px;
	border: 0;
	border-radius: var(--v-radius);
	background: var(--v-bg-hero);
	color: #fff;
	font-weight: 700;
	letter-spacing: .2px;
	transition: transform var(--v-transition), box-shadow var(--v-transition);
	box-shadow: 0 4px 14px rgba(15, 91, 168, .2);
}

body .hp-form button:hover,
body .hp-form .button:hover,
body .hp-form__actions .button:hover,
body .hp-form__actions button:hover,
body .hp-form input[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px rgba(15, 91, 168, .25);
}

body .hp-form .button.hp-button--secondary,
body .hp-form .button.alt,
body .hp-form .button:not(.hp-button--primary):not(.button-primary):not([type="submit"]) {
	background: #fff;
	color: var(--v-brand);
	border: 1px solid #bdd1e8;
	box-shadow: none;
}

body .hp-form .button.hp-button--secondary:hover,
body .hp-form .button.alt:hover,
body .hp-form .button:not(.hp-button--primary):not(.button-primary):not([type="submit"]):hover {
	background: var(--v-brand-pale);
	border-color: var(--v-brand);
	color: var(--v-brand-dark);
}

body .hp-form--listing-submit,
body .hp-form--listing-update,
body .hp-form--user-login,
body .hp-form--user-register,
body .hp-form--user-update {
	max-width: 860px;
	margin: 0 auto;
	padding: 24px;
	border-top: 4px solid var(--v-brand);
	box-shadow: var(--v-shadow-lg);
}

body .hp-form--listing-submit .hp-form__header,
body .hp-form--listing-update .hp-form__header {
	margin-bottom: 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid #dbe6f2;
}

body .hp-form--listing-submit .hp-form__title,
body .hp-form--listing-update .hp-form__title,
body .hp-form--user-login .hp-form__title,
body .hp-form--user-register .hp-form__title,
body .hp-form--user-update .hp-form__title {
	margin: 0;
	font-size: 24px;
	line-height: 1.2;
	color: var(--v-brand);
}

body .hp-form--listing-submit .hp-form__field:has(input[name="title"]),
body .hp-form--listing-update .hp-form__field:has(input[name="title"]) {
	display: none;
}

body .hp-form--listing-submit .vostok-form-alert {
	margin: 0 0 16px;
	padding: 12px 14px;
	border: 1px solid #f3b5b5;
	border-radius: 10px;
	background: #fff5f5;
	color: #9f1d1d;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
}

body .hp-form--listing-submit .vostok-field--invalid input:not([type="hidden"]),
body .hp-form--listing-submit .vostok-field--invalid textarea,
body .hp-form--listing-submit .vostok-field--invalid select,
body .hp-form--listing-submit .vostok-field--invalid .select2-selection {
	border-color: #d43838 !important;
	box-shadow: 0 0 0 3px rgba(212, 56, 56, 0.12) !important;
}

body .hp-form--listing-submit .vostok-field-error {
	margin-top: 7px;
	color: #a11f1f;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
}

body .hp-form--listing-submit .vostok-button--loading {
	cursor: wait;
	opacity: 0.82;
}

.vostok-submit-complete {
	max-width: 820px;
	margin: 40px auto;
	padding: 34px;
	border: 1px solid #d6e4f3;
	border-top: 5px solid var(--v-brand);
	border-radius: var(--v-radius-xl);
	background: #fff;
	box-shadow: var(--v-shadow-lg);
}

.vostok-submit-complete__eyebrow {
	margin-bottom: 8px;
	color: #4e6f96;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.vostok-submit-complete h1 {
	margin: 0 0 12px;
	color: var(--v-brand);
	font-size: 30px;
	line-height: 1.15;
}

.vostok-submit-complete p {
	margin: 0;
	color: #33506f;
	font-size: 16px;
	line-height: 1.6;
}

.vostok-submit-complete__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}

.vostok-submit-complete__actions .button {
	margin: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 10px 16px;
	border-radius: 8px;
	text-decoration: none;
	font-weight: 800;
	line-height: 1.2;
}

.vostok-submit-complete__actions .hp-button--primary {
	background: var(--v-brand);
	border: 1px solid var(--v-brand);
	color: #fff;
}

.vostok-submit-complete__actions .hp-button--secondary {
	background: #fff;
	border: 1px solid #bdd1e8;
	color: var(--v-brand);
}

body .hp-form--user-update {
	max-width: 100%;
	padding: 26px;
	border-top-width: 5px;
	border-radius: var(--v-radius-xl);
	background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

body .hp-form--user-update .hp-form__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 18px;
}

body .hp-form--user-update .hp-form__field--textarea,
body .hp-form--user-update .hp-form__field--content,
body .hp-form--user-update .hp-form__field--file,
body .hp-form--user-update .hp-form__field--attachment,
body .hp-form--user-update .hp-form__field--email,
body .hp-form--user-update .hp-form__field--password { grid-column: span 2; }

body .hp-form--user-update .hp-form__footer {
	margin-top: 18px;
	padding-top: 18px;
	border-top: 1px solid #dbe6f2;
}

body .hp-form--user-update .hp-form__actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
}

body .hp-form--user-update .hp-form__action { margin: 0; }

body.hp-template--user-edit-settings-page .hp-page__sidebar,
body.hp-template--listings-edit-page .hp-page__sidebar,
body.hp-template--user-edit-settings-page .hp-form--user-update,
body.hp-template--user-edit-settings-page .hp-form--user-delete,
body .hp-form__action--user-delete,
body .hp-form__action--vendor-view,
body #user_delete_modal { display: none !important; }

body.hp-template--user-edit-settings-page .hp-page,
body.hp-template--listings-edit-page .hp-page {
	max-width: 1120px;
	margin: 0 auto;
	padding-left: 16px;
	padding-right: 16px;
}

body.hp-template--user-edit-settings-page .hp-page > .hp-row,
body.hp-template--listings-edit-page .hp-page > .hp-row { display: block; }

.vostok-auth-context-note {
	padding: 10px 12px;
	border: 1px solid #d7e2ee;
	border-radius: 12px;
	background: linear-gradient(180deg, #f7fbff 0%, #eef5fd 100%);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	color: #1f4f84;
	white-space: pre-line;
}

#user_register_modal .hp-modal__title {
	max-width: 240px;
	line-height: 1.15;
}

@media (max-width: 900px) {
	body .hp-form--user-update .hp-form__fields { grid-template-columns: 1fr; }
	body .hp-form--user-update .hp-form__field--textarea,
	body .hp-form--user-update .hp-form__field--content,
	body .hp-form--user-update .hp-form__field--file,
	body .hp-form--user-update .hp-form__field--attachment,
	body .hp-form--user-update .hp-form__field--email,
	body .hp-form--user-update .hp-form__field--password { grid-column: span 1; }
}

@media (max-width: 640px) {
	body.login { padding: 12px; gap: 12px; }
	body.login #login { padding: 22px 18px; }
	body.login .language-switcher { width: min(100%, 420px); text-align: center; }
	body.login .language-switcher select { min-width: 0; width: 100%; margin: 0 0 8px; }
	body.login #login h1 a { font-size: 23px; }
	body .hp-form,
	body .hp-form--listing-submit,
	body .hp-form--listing-update,
	body .hp-form--user-login,
	body .hp-form--user-register,
	body .hp-form--user-update { padding: 16px; }
	body .hp-form__actions { display: grid; gap: 8px; }
	body .hp-form button,
	body .hp-form .button,
	body .hp-form input[type="submit"] { width: 100%; }
}
