#login-retail.qr-step .retail-layout,
#login-retail.qr-step .retail-benefits {
	display: none;
}

#login-retail {
	margin-top: 50px;
	margin-bottom: 80px;
}

#login-retail .inner {
	width: 100%;
	margin: 0 auto;
}

#login-retail .page-heading {
	font-size: 36px;
	color: #000;
	font-family: 'CPB', sans-serif;
	margin: 0 0 64px;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

#login-retail .retail-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: start;
}

#login-retail .retail-form {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	padding-left: 90px;
}

#login-retail .retail-form form {
	width: 100%;
	max-width: 475px;
}

#login-retail .retail-intro {
	max-width: 540px;
	margin-top: -6px;
}

#login-retail .retail-join-title {
	font-size: 24px;
	font-family: 'CPB', sans-serif;
	line-height: 1.2;
	margin: 0 0 12px;
}

#login-retail .page-description {
	font-size: 17px;
	color: #000;
	font-family: 'CPR', sans-serif;
	line-height: 1.3;
	margin-bottom: 14px;
}

#login-retail .retail-banner {
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	position: relative;
	width: 100%;
	max-width: 561px;
	overflow: hidden;
}

#login-retail .retail-banner > img {
	display: block;
	width: 100%;
	height: auto;
}

#login-retail .retail-banner:after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .3);
	pointer-events: none;
}

#login-retail .retail-banner-caption {
	display:none;
	position: absolute;
	top: 50%;
	left: 20px;
	right: 20px;
	transform: translateY(-50%);
	z-index: 1;
	font-family: 'CPB', sans-serif;
	font-size: 22px;
	line-height: 1.25;
	color: #fff;
	text-align: center;
	text-transform: uppercase;
}

#login-retail .retail-banner-item + .retail-banner-item:before {
	content: '';
	display: block;
	width: 84px;
	height: 1px;
	margin: 16px auto;
	background: #fff;
}

#login-retail .retail-banner-item:last-child {
	max-width: 300px;
	margin: 0 auto;
}

#login-retail .retail-benefits {
	/*display: grid;*/
	display:none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 54px;
}

#login-retail .retail-benefit {
	min-width: 0;
	padding: 18px 18px 24px;
	border: 1px solid #000;
	text-align: center;
}

#login-retail .retail-benefit > img {
	display: block;
	width: 70px;
	height: 70px;
	margin: 0 auto 12px;
}

#login-retail .retail-benefit-title {
	font-family: 'CPB', sans-serif;
	font-size: 20px;
	line-height: 1.3;
	margin: 0 0 12px;
}

#login-retail .retail-benefit-description {
	font-family: 'CPR', sans-serif;
	font-size: 17px;
	line-height: 1.25;
}

#login-retail .retail-form .fields > .line + .line {
	margin-top: 26px;
}

#login-retail .retail-form .field-label {
	font-size: 17px;
	color: #000;
	font-family: 'CPR', sans-serif;
	line-height: 1.3;
	margin-bottom: 10px;
}

#login-retail .retail-form .required-note {
	display: inline-block;
	font-size: 14px;
	color: #767676;
	margin-left: 6px;
	white-space: nowrap;
}

#login-retail .retail-form input[type="text"],
#login-retail .retail-form input[type="tel"],
#login-retail .retail-form input[type="email"],
#login-retail .retail-form input[type="date"] {
	height: 50px;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	background: #fff;
	border: 1px solid #000;
	padding: 0 17px;
	font-size: 17px;
	color: #000;
	font-family: 'CPR', sans-serif;
}

#login-retail .retail-form input::placeholder {
	color: #878787;
}

#login-retail .retail-form [data-error-name].error input {
	animation: shake .2s linear;
	border-color: #f64444;
}

#login-retail .verify-section {
	margin-top: 44px;
}

#login-retail .verify-section .info {
	font-size: 13px;
	color: #878787;
	font-family: 'CPR', sans-serif;
	line-height: 1.4;
	margin-bottom: 16px;
}

#login-retail .verify-section .code-row,
#login-retail .verify-section .call-row {
	display: none;
}

#login-retail .verify-section.code-sent .code-row {
	display: block;
}

#login-retail .verify-section.call-sent .call-row {
	display: block;
}

#login-retail .verify-section.call-sent.phone-verified .call-row {
	display: none;
}

#login-retail .verify-section.code-sent .send-code-wrap,
#login-retail .verify-section.call-sent .send-code-wrap,
#login-retail .verify-section.phone-verified .send-code-wrap {
	display: none;
}

#login-retail .verify-section .info.sms-trouble {
	margin-bottom: 18px;
}

#login-retail .verify-section .info.sms-trouble a {
	color: #000;
	border-bottom: 1px solid #000;
	text-decoration: none;
}

#login-retail .verify-section .call-phone {
	text-align: center;
	margin-bottom: 18px;
}

#login-retail .verify-section .call-phone a {
	font-family: 'CPM', sans-serif;
	font-size: 22px;
	color: #000;
	text-decoration: none;
	border-bottom: 1px solid #000;
}

#login-retail .verify-section .call-status {
	margin-bottom: 10px;
	text-align: center;
}

#login-retail .verify-section .send-code-wrap .form-actions .btn-secondary {
	margin-top: 10px;
	background: #fff;
	color: #000;
}

#login-retail .verify-section .send-code-wrap .form-actions .btn-secondary:hover:not([disabled]) {
	background: #000;
	color: #fff;
}

#login-retail .verify-links {
	margin-top: 14px;
	text-align: center;
}

#login-retail .verify-links #retail-timer {
	font-family: 'CPR', sans-serif;
	font-size: 13px;
	color: #878787;
}

#login-retail .verify-links button.link-btn {
	font-family: 'CPR', sans-serif;
	background: none;
	border: 0;
	border-bottom: 1px solid #878787;
	padding: 0 0 2px;
	font-size: 13px;
	color: #878787;
	cursor: pointer;
}

#login-retail .verify-links button.link-btn + button.link-btn {
	margin-top: 10px;
}

#login-retail .consents_block {
	margin-top: 0;
}

#login-retail .consents_block .consent {
	position: relative;
}

#login-retail .consents_block .consent input[type="checkbox"] {
	display: block;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: 0;
	opacity: 0;
}

#login-retail .consents_block .consent label {
	font-size: 17px;
	line-height: 1.3;
}

#login-retail .consents_block .consent label:before {
	padding: 6px;
	margin-right: 14px;
}

#login-retail .consents_block .consent input:focus-visible + label:before {
	outline: 1px solid #000;
	outline-offset: 3px;
}

#login-retail .consents_block .consent.error label:before {
	border-color: #f64444;
	animation: shake .2s linear;
}

#login-retail .error-block {
	margin-top: 16px;
	color: #f64444;
	font-family: 'CPR', sans-serif;
	font-size: 13px;
	text-align: center;
	line-height: 1.4;
}

#login-retail .success-block {
	margin-top: 16px;
	color: #000;
	font-family: 'CPR', sans-serif;
	font-size: 13px;
	text-align: center;
	line-height: 1.4;
}

#login-retail .form-actions {
	margin-top: 24px;
}

#login-retail .error-block:empty,
#login-retail .success-block:empty {
	display: none;
}

#login-retail .form-actions button,
#login-retail .verify-section button.action-btn {
	font-family: 'CPM', sans-serif;
	font-size: 17px;
	color: #fff;
	background: #000;
	height: 50px;
	padding: 0 10px;
	margin: 0;
	outline: 0;
	border: 1px solid #000;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all .3s ease-in-out !important;
	cursor: pointer;
}

#login-retail .form-actions button:hover:not([disabled]),
#login-retail .verify-section button.action-btn:hover:not([disabled]) {
	color: #000;
	background: #fff;
}

#login-retail .form-actions button[disabled],
#login-retail .verify-section button.action-btn[disabled] {
	cursor: not-allowed;
	background: #ccc;
	border-color: #ccc;
	color: #fff;
}

#login-retail .form-actions button + button {
	margin-top: 12px;
}

#login-retail .form-actions .btn-secondary {
	background: #fff;
	color: #000;
}

#login-retail .form-actions .btn-secondary:hover:not([disabled]) {
	background: #000;
	color: #fff;
}

#login-retail .phone-verified-badge {
	display: none;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: 12px;
	font-size: 13px;
	color: #2e7d32;
	font-family: 'CPR', sans-serif;
}

#login-retail .phone-verified .phone-verified-badge {
	display: flex;
}

#login-retail .phone-verified #retail-code-info,
#login-retail .phone-verified [data-error-name="code"],
#login-retail .phone-verified #retail-timer,
#login-retail .phone-verified .code-row > .form-actions {
	display: none;
}

#login-retail .verify-section.call-sent.phone-verified .call-row,
#login-retail .verify-section.phone-verified .call-row {
	display: none;
}

#login-retail .verify-section.phone-verified .phone-verified-badge {
	display: flex;
}

#login-retail #captcha-container-retail {
	display: none;
}

#login-retail .qr-result {
	display: none;
	width: 100%;
	max-width: 420px;
	margin: 0 auto;
	text-align: center;
	padding: 20px 20px 10px;
}

#login-retail.qr-step .page-heading {
	margin-bottom: 24px;
}

#login-retail .qr-result.visible {
	display: block;
}

#login-retail .qr-result .qr-heading {
	font-size: 20px;
	color: #000;
	font-family: 'CPB', sans-serif;
	margin-bottom: 12px;
}

#login-retail .qr-result .qr-text {
	font-size: 14px;
	color: #878787;
	font-family: 'CPR', sans-serif;
	line-height: 1.5;
	margin-bottom: 28px;
	max-width: 320px;
	margin-left: auto;
	margin-right: auto;
}

#login-retail .qr-result #retail-qrcode img {
	display: block;
	width: 196px;
	height: 196px;
}

#login-retail .qr-result #retail-qrcode {
	width: 220px;
	height: 220px;
	margin: 0 auto 24px;
	padding: 11px;
	background: #fff;
	border: 1px solid #e7e7e7;
}

#login-retail .qr-result .qr-customer {
	font-size: 14px;
	color: #000;
	font-family: 'CPR', sans-serif;
	line-height: 1.6;
	margin-bottom: 24px;
}

#login-retail .qr-result .qr-customer span {
	display: block;
	color: #878787;
	font-size: 12px;
}

#login-retail .retail-form.hidden {
	display: none;
}

#login-retail .retail-extra-fields {
	margin-top: 26px;
}

#login-retail .children-block {
	margin-top: 0;
}

#login-retail .retail-birthday-field {
	display: none;
}

#login-retail .children-list .child-row + .child-row {
	margin-top: 26px;
}

#login-retail .children-list .child-fields {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 26px;
}

#login-retail .children-list .child-remove-btn,
#login-retail .add-child-btn {
	font-family: 'CPR', sans-serif;
	background: none;
	border: 0;
	border-bottom: 1px solid #878787;
	padding: 0 0 2px;
	font-size: 17px;
	color: #878787;
	cursor: pointer;
	margin-top: 14px;
}

#login-retail .children-list .child-remove-btn {
	display: inline-block;
}

@media (max-width: 1279px) {
	#login-retail .retail-form {
		padding-left: 0;
		padding-right: 30px;
	}
}

@media (max-width: 1023px) {
	#login-retail {
		margin-top: 24px;
		margin-bottom: 84px;
		padding-left: 0;
		padding-right: 0;
	}

	#login-retail .page-heading {
		font-size: 32px;
		padding: 0 20px;
		margin-bottom: 40px;
	}

	#login-retail .retail-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	#login-retail .retail-banner {
		grid-column: auto;
		grid-row: auto;
	}

	#login-retail .retail-banner-caption {
		font-size: 20px;
	}

	#login-retail .retail-banner-item + .retail-banner-item:before {
		width: 79px;
	}

	#login-retail .retail-banner-item:last-child {
		max-width: none;
	}

	#login-retail .retail-form {
		grid-column: auto;
		grid-row: auto;
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		padding: 0 28px;
	}

	#login-retail .retail-form form {
		margin: 0 auto;
	}

	#login-retail .retail-intro {
		margin-top: 0;
		text-align: center;
	}

	#login-retail .retail-join-title {
		font-size: 22px;
		margin-bottom: 16px;
	}

	#login-retail .page-description {
		margin-bottom: 30px;
	}

	#login-retail .children-list .child-remove-btn,
	#login-retail .add-child-btn {
		margin-top: 10px;
	}

	#login-retail .verify-section {
		margin-top: 36px;
	}

	#login-retail .consents_block .consent + .consent {
		margin-top: 13px;
	}

	#login-retail .form-actions {
		margin-top: 22px;
	}

	#login-retail .send-code-wrap > .form-actions {
		margin-top: 17px;
	}

	#login-retail .verify-section .send-code-wrap .form-actions .btn-secondary {
		margin-top: 13px;
	}

	#login-retail .retail-benefits {
		grid-template-columns: minmax(0, 1fr);
		gap: 31px;
		max-width: 600px;
		padding: 0 28px;
		margin: 54px auto 0;
	}

	#login-retail .retail-benefit {
		padding: 0;
		border: 0;
	}

	#login-retail .retail-benefit > img {
		width: 56px;
		height: 56px;
		margin-bottom: 7px;
	}

	#login-retail .retail-benefit-title {
		margin-bottom: 10px;
	}
}

@media (max-width: 525px) {
	#login-retail .retail-banner {
		max-width: none;
		aspect-ratio: 525 / 632;
	}

	#login-retail .retail-banner > img {
		height: 100%;
		object-fit: cover;
		object-position: center top;
	}

	#login-retail .page-heading {
		font-size: 28px;
	}

	#login-retail .retail-join-title,
	#login-retail .verify-section .call-phone a {
		font-size: 20px;
	}

	#login-retail .retail-banner-caption,
	#login-retail .retail-benefit-title,
	#login-retail .qr-result .qr-heading {
		font-size: 18px;
	}

	#login-retail .page-description,
	#login-retail .retail-benefit-description,
	#login-retail .retail-form .field-label,
	#login-retail .consents_block .consent label,
	#login-retail .children-list .child-remove-btn,
	#login-retail .add-child-btn {
		font-size: 15px;
	}

	#login-retail .retail-form .required-note {
		font-size: 12px;
	}

	#login-retail .retail-form input[type="text"],
	#login-retail .retail-form input[type="tel"],
	#login-retail .retail-form input[type="email"],
	#login-retail .retail-form input[type="date"],
	#login-retail .form-actions button,
	#login-retail .verify-section button.action-btn {
		font-size: 15px;
        height: 44px;
	}
}

@media (max-width: 360px) {
	#login-retail .retail-form,
	#login-retail .retail-benefits {
		padding-left: 20px;
		padding-right: 20px;
	}
}
