:root {
	--blue:#004E89;
	--orange:#FD6B34;
	--orange-bg:#FFF0EB;
	--disabled:#D2D2D2;
	--grey:#726E6E;
	--label:#464646;
	--border:#D2D2D2;
}

.ecbt-gate-page *,
.ecbt-gate-page *::before,
.ecbt-gate-page *::after {
	box-sizing:border-box;
}

html,
body.ecbt-gate-page {
	margin:0;
	padding:0;
	min-width:100%;
	min-height:100%;
}

body.ecbt-gate-page {
	background:var(--blue);
	font-family:"Poppins",Arial,Helvetica,sans-serif;
	color:#000;
	-webkit-font-smoothing:antialiased;
}

.ecbt-gate-shell {
	width:100%;
	min-height:100vh;
	min-height:100svh;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:30px 15px;
}

.ecbt-gate-card {
	width:460px;
	max-width:100%;
	min-height:675px;
	padding:40px 32px 34px;
	background:#fff;
	border-radius:20px;
	text-align:center;
	box-sizing:border-box;
}

.ecbt-gate-logo {
	display:inline-block;
	margin:0 auto 18px;
}


.ecbt-gate-logo-main {
	color:var(--orange);
	font-size:42px;
	line-height:.9;
	font-weight:700;
	letter-spacing:-2px;
}

.ecbt-gate-logo-sub {
	margin-top:9px;
	color:#AAA6A4;
	font-size:11px;
	line-height:1;
	font-weight:600;
	letter-spacing:2px;
}

.ecbt-gate-badges {
	display:flex;
	align-items:center;
	justify-content:center;
	gap:13px;
	margin-bottom:16px;
}

.ecbt-gate-badges span {
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:26px;
	padding:6px 13px;
	background:var(--orange-bg);
	border-radius:30px;
	color:var(--orange);
	font-size:12px;
	line-height:1;
	white-space:nowrap;
}

.ecbt-gate-card h1 {
	margin:0;
	color:var(--blue);
	font-size:18px;
	line-height:1.3;
	font-weight:500;
}

.ecbt-gate-divider {
	width:100%;
	height:1px;
	margin:24px 0;
	background:#DEDEDE;
}

.ecbt-gate-card h2 {
	margin:0 0 8px;
	font-size:15px;
	line-height:1.35;
	font-weight:600;
}

.ecbt-gate-intro {
	max-width:380px;
	margin:0 auto 24px;
	color:var(--grey);
	font-size:15px;
	line-height:1.3;
}

/* Login / Create Account tabs */

.ecbt-gate-tabs {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:4px;
	margin:0 0 18px;
	padding:4px;
	background:var(--orange-bg);
	border-radius:12px;
}

.ecbt-gate-tabs button {
	height:36px;
	margin:0;
	padding:0 10px;
	border:0;
	border-radius:9px;
	background:transparent;
	color:var(--grey);
	font:inherit;
	font-size:13px;
	font-weight:500;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ecbt-gate-tabs button.active {
	background:var(--orange);
	color:#fff;
}

/* Messages */

.ecbt-gate-error,
.ecbt-gate-message {
	margin:0 0 18px;
	padding:10px 12px;
	border-radius:8px;
	font-size:12px;
	line-height:1.4;
	text-align:left;
}

.ecbt-gate-error {
	border:1px solid #E32626;
	background:#fff;
	color:#E32626;
}

.ecbt-gate-message {
	border:1px solid #B9DDC2;
	background:#F0FAF2;
	color:#26733A;
}

/* Forms */

.ecbt-gate-form {
	width:100%;
	text-align:left;
}

.ecbt-gate-form[hidden] {
	display:none !important;
}

.ecbt-gate-field {
	margin-bottom:14px;
}

.ecbt-gate-field label {
	display:block;
	margin-bottom:4px;
	color:var(--label);
	font-size:14px;
	line-height:1.2;
}

.ecbt-gate-field .required,
.ecbt-gate-field label span {
	color:#E32626;
}

.ecbt-gate-field input {
	display:block;
	width:100%;
	height:46px;
	margin:0;
	padding:0 13px;
	border:1px solid var(--border);
	border-radius:12px;
	outline:0;
	background:#fff;
	color:var(--label);
	font:inherit;
	font-size:14px;
	box-shadow:none;
	appearance:none;
	-webkit-appearance:none;
	box-sizing:border-box;
}

.ecbt-gate-field input::placeholder {
	color:#B8B8B8;
	opacity:1;
}

.ecbt-gate-field input:focus {
	border-color:var(--label);
}

.ecbt-gate-field input:-webkit-autofill,
.ecbt-gate-field input:-webkit-autofill:hover,
.ecbt-gate-field input:-webkit-autofill:focus {
	-webkit-text-fill-color:var(--label);
	-webkit-box-shadow:0 0 0 1000px #fff inset;
	box-shadow:0 0 0 1000px #fff inset;
}

/* Buttons */

.ecbt-gate-submit {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	height:51px;
	margin-top:24px;
	margin-bottom:24px;
	padding:0 20px;
	border:0;
	border-radius:12px;
	background:var(--disabled);
	color:#fff;
	font:inherit;
	font-size:16px;
	font-weight:600;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
	transition:background .15s ease,opacity .15s ease;
}

.ecbt-gate-submit.is-ready {
	background:var(--orange);
}

.ecbt-gate-submit.is-ready:hover {
	opacity:.92;
}

/* Forgot password / Back to login */

.ecbt-gate-link {
	display:block;
	margin:-10px auto 0;
	padding:0;
	border:0;
	background:none;
	color:var(--grey);
	font:inherit;
	font-size:14px;
	line-height:1.4;
	text-decoration:underline;
	text-underline-offset:2px;
	cursor:pointer;
	appearance:none;
	-webkit-appearance:none;
}

.ecbt-gate-link:hover {
	color:var(--label);
}

.ecbt-forgot-text {
	margin:0 0 18px;
	color:var(--grey);
	font-size:14px;
	line-height:1.4;
	text-align:center;
}

/* Kept for compatibility with old markup */

.ecbt-gate-forgot {
	color:var(--grey);
	font-size:14px;
	text-decoration:underline;
	text-underline-offset:2px;
}

/* Bottom */

.ecbt-gate-divider-bottom {
	margin-top:28px;
	margin-bottom:23px;
	display:none;
}

.ecbt-gate-support {
	margin:10px 0 0;
	color:var(--grey);
	font-size:14px;
	line-height:1.4;
}

.ecbt-gate-support a {
	color:var(--orange);
	text-decoration:underline;
	text-underline-offset:2px;
}

/* Successful login / registration notice */

.ecbt-login-success {
	position:fixed;
	top:20px;
	left:50%;
	z-index:999999;
	transform:translateX(-50%);
	max-width:calc(100% - 30px);
	padding:12px 22px;
	border-radius:10px;
	background:var(--blue);
	color:#fff;
	font-family:"Poppins",Arial,Helvetica,sans-serif;
	font-size:14px;
	font-weight:500;
	line-height:1.4;
	text-align:center;
	box-shadow:0 5px 25px rgba(0,0,0,.18);
}

/* WooCommerce My Account */

.woocommerce-account .woocommerce-MyAccount-navigation {
	padding:18px;
	background:var(--orange-bg);
	border-radius:16px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin:0;
	padding:0;
	list-style:none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin:0 0 5px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	margin-bottom:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display:block;
	padding:10px 13px;
	border-radius:9px;
	color:var(--label);
	text-decoration:none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	background:var(--blue);
	color:#fff;
}

.woocommerce-account .woocommerce-MyAccount-content {
	color:var(--label);
}

.woocommerce-account .woocommerce-MyAccount-content a {
	color:var(--orange);
}

.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button,
.woocommerce-account form .button {
	border:0 !important;
	border-radius:10px !important;
	background:var(--orange) !important;
	color:#fff !important;
}

.woocommerce-account input.input-text,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account select,
.woocommerce-account textarea {
	border:1px solid var(--border) !important;
	border-radius:10px !important;
}

.woocommerce-account table.shop_table {
	border-color:var(--border);
	border-radius:12px;
	overflow:hidden;
}

/* Mobile */

@media (max-width:520px) {
	.ecbt-gate-shell {
		align-items:flex-start;
		padding:40px 14px;
	}

	.ecbt-gate-card {
		width:100%;
		min-height:0;
		padding:38px 24px 34px;
		border-radius:20px;
	}

	.ecbt-gate-intro {
		max-width:310px;
	}

	.ecbt-gate-submit {
		margin-bottom:0;
	}

	.ecbt-gate-link {
		margin:14px auto 0;
	}

	.ecbt-gate-divider-bottom {
		display:block;
	}

	.ecbt-gate-tabs button {
		font-size:12px;
	}

	.ecbt-login-success {
		top:12px;
		width:calc(100% - 24px);
	}
}

@media (max-width:768px) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		width:100%;
		float:none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		margin-bottom:25px;
	}
}

@media (max-width:360px) {
	.ecbt-gate-card {
		padding-left:20px;
		padding-right:20px;
	}

	.ecbt-gate-badges {
		gap:8px;
	}

	.ecbt-gate-badges span {
		padding-left:10px;
		padding-right:10px;
		font-size:11px;
	}
}