body.login-split-body {
	background: #fff;
}

body.login-split-body .promo_topbar,
body.login-split-body .search_main,
body.login-split-body .search_mobile,
body.login-split-body .header_bottom,
body.login-split-body .my_account,
body.login-split-body .my_collect,
body.login-split-body .my_shopping_cart,
body.login-split-body .ship_to_label,
body.login-split-body .logo_text,
body.login-split-body .footer_centre,
body.login-split-body .pc-back-to-top {
	display: none !important;
}

body.login-split-body .header {
	height: 56px;
	min-width: 0;
	background: #2d2d38;
	color: #fff;
	border-bottom: none;
}

body.login-split-body .header_top,
body.login-split-body .header_top .container,
body.login-split-body .header_top_main {
	height: 56px;
}

body.login-split-body .header_top .container {
	width: 100%;
	max-width: none;
	min-width: 0;
	padding: 0 32px;
	box-sizing: border-box;
}

body.login-split-body .header_top_main {
	align-items: center;
	justify-content: space-between;
}

body.login-split-body .logo_main {
	width: auto;
	height: 56px;
	margin: 0;
}

body.login-split-body .logo_main a {
	flex-direction: row;
	transform: none;
}

body.login-split-body .logo_main img {
	height: 28px;
	width: auto;
	max-width: none;
}

body.login-split-body .account_main,
body.login-split-body .account {
	width: auto;
	height: 56px;
	margin-left: auto;
	justify-content: flex-end;
}

body.login-split-body .account > .country_selector {
	height: 56px;
	margin: 0;
	align-items: center;
	justify-content: center;
}

body.login-split-body .country_lang_currency,
body.login-split-body i.country_dropdown_arrow {
	color: #fff;
}

body.login-split-body .country_lang_currency {
	font-weight: 600;
}

body.login-split-body .footer {
	background: #2d2d38;
}

body.login-split-body .footer_buttom {
	height: 32px;
	min-height: 32px;
	line-height: 32px;
	padding: 0 16px;
	text-align: center;
	background: #2d2d38;
	color: #fff;
	font-size: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
}

body.login-split-body .footer_buttom .footer-copyright-text {
	display: none;
}

body.login-split-body .footer_buttom > a {
	display: inline;
	color: #fff;
	text-decoration: none;
}

body.login-split-body .footer_buttom > a:hover {
	text-decoration: underline;
}

.login-split {
	display: flex;
	width: 100%;
	height: calc(100vh - 56px);
	background: #fff;
}

.login-split-banner {
	position: relative;
	flex: 1 1 50%;
	width: auto;
	height: 100%;
	background: #111;
	overflow: hidden;
}

.login-split-banner .login-banner-swiper,
.login-split-banner .swiper-wrapper,
.login-split-banner .swiper-slide {
	width: 100%;
	height: 100%;
	min-height: 0;
}

.login-split-banner .swiper-slide a,
.login-split-banner .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	-webkit-user-drag: none;
	user-select: none;
	pointer-events: none;
}

.login-split-banner .swiper-slide a {
	pointer-events: auto;
}

.login-split-banner .swiper-pagination,
.login-split-banner .swiper-container-horizontal > .swiper-pagination-bullets {
	bottom: calc(20% - 28px);
	left: 56px;
	width: auto;
	transform: none;
	text-align: left;
}

.login-split-banner .swiper-pagination-bullet {
	width: 28px;
	height: 4px;
	margin: 0 8px 0 0;
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.5);
	opacity: 1;
	vertical-align: middle;
}

.login-split-banner .swiper-pagination-bullet-active {
	background: #fff;
	width: 40px;
	height: 4px;
}

.login-split-banner .swiper-slide {
	position: relative;
}

.login-split-caption {
	position: absolute;
	left: 56px;
	bottom: 20%;
	z-index: 2;
	max-width: 72%;
	color: #fff;
	font-size: 52px;
	font-weight: 700;
	line-height: 1.22;
	letter-spacing: -0.03em;
	white-space: pre-line;
	pointer-events: none;
	text-shadow: 0 1px 8px rgba(0, 0, 0, 0.18);
}

.login-split-panel {
	flex: 1 1 50%;
	max-width: none;
	height: 100%;
	display: flex;
	align-items: safe center;
	justify-content: center;
	padding: 32px 56px;
	background: #fff;
	box-sizing: border-box;
	overflow-y: auto;
}

.login-split-panel-inner {
	width: 100%;
	max-width: 360px;
	margin: auto;
}

.login-split-title {
	margin: 0 0 28px;
	font-size: 32px;
	font-weight: 700;
	color: #191919;
	text-align: left;
}

.login-split .form-group {
	margin-bottom: 16px;
}

.login-split .login-split-input,
.login-split .form-control.login-split-input {
	padding: 16px 18px;
	border: none;
	border-radius: 12px;
	background: #f2f2f2;
	font-size: 15px;
	box-shadow: none;
}

.login-split .input-wrapper .login-split-input {
	padding-right: 44px;
}

.login-split .form-control.login-split-input:hover,
.login-split .form-control.login-split-input:focus {
	border: none;
	background: #ececec;
	box-shadow: none;
}

.login-split .form-control.login-split-input.error,
.login-split .form-control.login-split-input.has-error,
.login-split .form-control.login-split-input.error:focus,
.login-split .form-control.login-split-input.has-error:focus {
	background: #fff1f0;
	padding: 16px 18px;
	box-shadow: none;
}

.login-split .form-options {
	margin: 8px 0 20px;
	align-items: center;
}

.login-split .remember-me {
	display: inline-flex;
	align-items: center;
	line-height: 16px;
}

.login-split .remember-me input[type="checkbox"] {
	margin: 0 8px 0 0;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	align-self: center;
	vertical-align: middle;
	position: relative;
	top: 0;
}

.login-split .remember-me span {
	display: block;
	line-height: 16px;
}

.login-split .btn-login {
	padding: 14px 16px;
	border-radius: 24px;
	background: #e6e6e6;
	color: #191919;
	font-size: 16px;
	font-weight: 600;
}

.login-split .btn-login.is-ready,
.login-split .btn-login:hover {
	background: #f69034;
	color: #fff;
}

.login-split .btn-login:disabled {
	background: #e6e6e6;
	color: #999;
}

.login-split .login-divider {
	margin: 28px 0 20px;
}

.login-split .login-legal {
	text-align: left;
}

.login-split .verification-code-group {
	gap: 10px;
	align-items: stretch;
}

.login-split .verification-code-group .form-control,
.login-split .verification-code-group .form-control.login-split-input,
.login-split .verification-code-group .form-control.error,
.login-split .verification-code-group .form-control.has-error,
.login-split .verification-code-group .form-control.error:focus,
.login-split .verification-code-group .form-control.has-error:focus {
	flex: 1;
	min-width: 0;
	border-radius: 12px;
	border: none;
	padding: 16px 18px;
	min-height: 0;
	height: auto;
}

.login-split .btn-send-code {
	margin-left: 0;
	border: none;
	border-radius: 12px;
	background: #f2f2f2;
	color: #191919;
	min-height: 0;
	height: auto;
	padding: 0 16px;
}

.login-split .btn-send-code:hover:not(:disabled) {
	background: #f69034;
	color: #fff;
}

.login-split .btn-send-code:disabled,
.login-split .verification-code-group .btn-send-code:disabled,
.login-split .verification-code-group.has-error .btn-send-code,
.login-split .verification-code-group.has-error .btn-send-code:disabled {
	border: none;
	background: #e6e6e6;
	color: #999;
}

.login-split .terms-agreement {
	align-items: flex-start;
	color: #666;
}

.login-split .terms-agreement input[type="checkbox"] {
	margin: 3px 8px 0 0;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	align-self: flex-start;
}

.login-split .terms-agreement span {
	line-height: 1.45;
}

.login-split .terms-agreement a {
	color: #191919;
}

@media (max-width: 960px) {
	.login-split {
		flex-direction: column;
		height: auto;
	}

	.login-split-banner,
	.login-split-banner .login-banner-swiper,
	.login-split-banner .swiper-wrapper,
	.login-split-banner .swiper-slide {
		width: 100%;
		height: 42vh;
		flex: none;
	}

	.login-split-caption {
		left: 24px;
		bottom: 22%;
		font-size: 32px;
	}

	.login-split-banner .swiper-pagination,
	.login-split-banner .swiper-container-horizontal > .swiper-pagination-bullets {
		left: 24px;
		bottom: calc(22% - 22px);
	}

	.login-split-panel {
		flex: none;
		height: auto;
		width: 100%;
		padding: 36px 24px 48px;
	}
}

.login-container {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding: 20px;
	background-color: #f5f5f5;
}

.login-page {
	width: 100%;
	max-width: 560px;
	margin: 48px auto 80px;
}

.login-page.has-banner {
	display: flex;
	max-width: 1080px;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.login-banner {
	flex: 1.15;
	min-width: 0;
	background: #f3f3f3;
}

.login-banner-swiper,
.login-banner-swiper .swiper-wrapper,
.login-banner-swiper .swiper-slide {
	height: 100%;
	min-height: 560px;
}

.login-banner-swiper .swiper-slide a,
.login-banner-swiper .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.login-page.has-banner .login-banner-swiper .swiper-pagination {
	bottom: 16px;
}

.login-wrapper {
	width: 100%;
	max-width: 560px;
	margin-top: 100px;
	margin-bottom: 100px;
}

.login-page.has-banner .login-wrapper {
	flex: 0 0 440px;
	max-width: 440px;
	margin: 0;
}

.login-page.has-banner .login-box {
	box-shadow: none;
	border-radius: 0;
	padding: 40px 36px;
}

.login-trust {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	color: #666;
}

.login-trust i {
	color: #2f9e44;
}

.login-legal {
	margin: 16px 0 0;
	font-size: 12px;
	line-height: 1.6;
	color: #999;
	text-align: center;
}

.login-legal a {
	color: #2d2d38;
	text-decoration: underline;
}

.login-legal a:hover {
	color: #f69034;
}

.login-box {
	background-color: #fff;
	border-radius: 8px;
	padding: 48px;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
}

.login-header {
	text-align: center;
	margin-bottom: 40px;
}

.login-header h2 {
	font-size: 32px;
	font-weight: 600;
	color: #2d2d38;
	margin-bottom: 12px;
}

.login-header p {
	font-size: 15px;
	color: #666;
	margin: 0;
}

.login-form {
	width: 100%;
}

.form-group {
	margin-bottom: 28px;
	width: 100%;
	box-sizing: border-box;
}

.form-label {
	display: block;
	margin-bottom: 8px;
	font-weight: 500;
	font-size: 14px;
	color: #2d2d38;
}

.input-wrapper {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
}

.verification-code-group {
	display: flex;
	align-items: stretch;
	gap: 0;
}

.verification-code-group .input-wrapper {
	flex: 1;
	position: relative;
	min-height: 48px;
	display: flex;
	align-items: stretch;
}

.verification-code-group .form-control {
	padding-right: 16px;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-right: none;
	min-height: 48px;
	height: 100%;
}

.verification-code-group .form-control.error,
.verification-code-group .form-control.has-error {
	border-right: none;
	border-color: #e74c3c;
	padding-right: 16px;
	padding-top: 14px;
	padding-bottom: 14px;
	padding-left: 48px;
	min-height: 48px;
	height: 100%;
}

.btn-send-code {
	padding: 14px 20px;
	background-color: #f69034;
	color: #fff;
	border: 1px solid #f69034;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	border-left: 1px solid #f69034;
	margin-left: -1px;
	font-size: 15px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s;
	white-space: nowrap;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	min-height: 48px;
	height: 100%;
}

.verification-code-group.has-error .btn-send-code {
	border-color: #e74c3c;
	border-left: 1px solid #e74c3c;
	height: 100%;
}

.verification-code-group.has-error .btn-send-code:disabled {
	border-color: #ccc;
	border-left-color: #ccc;
}

.btn-send-code:hover {
	background-color: #e57f23;
}

.btn-send-code:disabled {
	background-color: #ccc;
	border-color: #ccc;
	cursor: not-allowed;
}

.verification-code-group .btn-send-code:disabled {
	border-left-color: #ccc;
}

.input-wrapper > i {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: #999;
	z-index: 2;
	pointer-events: none;
}

.form-control {
	width: 100%;
	padding: 14px 16px 14px 48px;
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	font-size: 15px;
	color: #333;
	background-color: #fff;
	transition: all 0.2s ease;
	box-sizing: border-box;
}

.form-control:hover {
	border-color: #ccc;
}

.form-control:focus {
	outline: none;
	border-color: #2d2d38;
	box-shadow: 0 0 0 3px rgba(45, 45, 56, 0.1);
}

.form-control.error,
.form-control.has-error {
	border-color: #e74c3c;
	background-color: #fff5f5;
	padding: 14px 16px 14px 48px;
}

.verification-code-group .form-control.error,
.verification-code-group .form-control.has-error {
	padding: 14px 16px 14px 48px;
}

.form-control.error:focus,
.form-control.has-error:focus {
	border-color: #e74c3c;
	box-shadow: 0 0 0 3px rgba(231, 76, 60, 0.15);
	padding: 14px 16px 14px 48px;
}

.form-control::placeholder {
	color: #999;
}

.password-toggle {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: none;
	cursor: pointer;
	padding: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #999;
	z-index: 10;
	width: 32px;
	height: 32px;
}

.password-toggle:hover {
	color: #2d2d38;
}

.password-toggle i {
	font-size: 18px;
	color: inherit;
}

.form-options {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 28px;
}

.remember-me {
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 14px;
	color: #666;
}

.remember-me input[type="checkbox"] {
	margin-right: 8px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	accent-color: #2d2d38;
}

.terms-agreement {
	display: flex;
	align-items: flex-start;
	cursor: pointer;
	font-size: 14px;
	color: #666;
	line-height: 1.5;
}

.terms-agreement input[type="checkbox"] {
	margin-right: 8px;
	margin-top: 2px;
	width: 16px;
	height: 16px;
	cursor: pointer;
	accent-color: #2d2d38;
	flex-shrink: 0;
}

.terms-agreement a {
	color: #2d2d38;
	text-decoration: underline;
	cursor: pointer;
}

.terms-agreement a:hover {
	color: #f69034;
}

.forgot-password {
	font-size: 14px;
	color: #2d2d38;
	text-decoration: none;
	transition: color 0.2s;
}

.forgot-password:hover {
	color: #f69034;
}

.btn-login {
	width: 100%;
	padding: 16px;
	background-color: #2d2d38;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 17px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.2s;
}

.btn-login:hover {
	background-color: #1a1a22;
}

.btn-login:disabled {
	background-color: #ccc;
	cursor: not-allowed;
}

.login-divider {
	margin: 24px 0 20px 0;
	text-align: center;
	position: relative;
}

.login-divider::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	height: 1px;
	background-color: #e5e5e5;
}

.login-divider span {
	position: relative;
	display: inline-block;
	padding: 0 16px;
	background-color: #fff;
	font-size: 14px;
	color: #999;
}

.social-login {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-bottom: 24px;
}

.btn-social {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 1px solid #e5e5e5;
	border-radius: 50%;
	text-decoration: none;
	background-color: #fff;
	transition: border-color 0.2s, background-color 0.2s;
	box-sizing: border-box;
}

.btn-social svg,
.btn-social img {
	display: block;
	width: 24px;
	height: 24px;
}

.btn-social:hover {
	border-color: #ccc;
	background-color: #f9f9f9;
}

.btn-google:hover {
	border-color: #db4437;
	background-color: #fef5f4;
}

.btn-facebook:hover {
	border-color: #1877f2;
	background-color: #f0f7ff;
}

.login-footer {
	margin-top: 24px;
	text-align: center;
}

.login-footer p {
	font-size: 14px;
	color: #666;
	margin: 0;
}

.login-footer a {
	color: #2d2d38;
	text-decoration: none;
	font-weight: 500;
	transition: color 0.2s;
}

.login-footer a:hover {
	color: #f69034;
}

.oauth-callback-hint {
	margin: 12px 0 0 0;
	font-size: 12px;
	color: #666;
	word-break: break-all;
}

.oauth-callback-hint code {
	display: inline-block;
	margin-top: 4px;
	padding: 6px 8px;
	background: #f5f5f5;
	border-radius: 4px;
	font-size: 11px;
}

label.error {
	display: block;
	color: #e74c3c;
	font-size: 14px;
	font-weight: 500;
	margin-top: 8px;
	padding: 8px 12px;
	background-color: #fff5f5;
	border-left: 3px solid #e74c3c;
	border-radius: 4px;
	line-height: 1.5;
	width: 100%;
	box-sizing: border-box;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

@media (max-width: 768px) {
	.login-page,
	.login-page.has-banner {
		max-width: 100%;
		flex-direction: column;
		margin: 20px auto 40px;
	}

	.login-banner-swiper,
	.login-banner-swiper .swiper-wrapper,
	.login-banner-swiper .swiper-slide {
		min-height: 220px;
	}

	.login-page.has-banner .login-wrapper {
		flex: none;
		max-width: 100%;
	}

	.login-page.has-banner .login-box,
	.login-box {
		padding: 32px 24px;
	}

	.login-wrapper {
		margin-top: 24px;
		margin-bottom: 40px;
	}

	.login-header h2 {
		font-size: 24px;
	}

	.form-options {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}

	.forgot-password {
		align-self: flex-end;
	}
}
