body.woocommerce-account.ilpca-active .ilcore-auth-intro {
	max-width: 780px;
	margin: 0 auto 18px;
	padding: clamp(22px, 4vw, 34px);
	border: 1px solid rgba(255, 106, 0, .42);
	border-radius: 18px;
	background: radial-gradient(circle at 92% 0, rgba(255, 106, 0, .16), transparent 32%), linear-gradient(145deg, #151515, #0b0b0b);
	box-shadow: 0 20px 55px rgba(0, 0, 0, .28);
	text-align: center;
}

body.woocommerce-account.ilpca-active .ilcore-auth-intro > span {
	color: #ff7a18;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .12em;
}

body.woocommerce-account.ilpca-active .ilcore-auth-intro h1 {
	margin: 8px 0 6px;
	font-size: clamp(1.75rem, 5vw, 2.7rem);
}

body.woocommerce-account.ilpca-active .ilcore-auth-intro p { margin: 0; }

body.woocommerce-account.ilpca-active .ilcore-auth-tabs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 5px;
	margin-top: 22px;
	padding: 5px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 12px;
	background: rgba(0,0,0,.26);
}

body.woocommerce-account.ilpca-active .ilcore-auth-tabs button,
body.woocommerce-account.ilpca-active .ilcore-auth-tabs a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 0;
	padding: 9px 12px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #c8c8c8;
	font-size: .84rem;
	font-weight: 750;
	text-decoration: none;
	cursor: pointer;
}

body.woocommerce-account.ilpca-active .ilcore-auth-tabs button.is-active,
body.woocommerce-account.ilpca-active .ilcore-auth-tabs a:hover {
	background: rgba(255,106,0,.16);
	color: #ff7a18;
	box-shadow: inset 0 0 0 1px rgba(255,106,0,.42);
}

body.woocommerce-account.ilpca-active #customer_login {
	display: block;
	max-width: 620px;
	margin-inline: auto;
}

body.woocommerce-account.ilpca-active #customer_login .u-column1,
body.woocommerce-account.ilpca-active #customer_login .u-column2 {
	float: none;
	width: 100%;
}

body.woocommerce-account.ilpca-active #customer_login [hidden] { display: none !important; }

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px 14px;
}

/* The registration form already owns a two-column grid. Neutralize the
 * generic 50% float widths from account.css so CPF and phone do not become
 * half of an already half-width grid column. */
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .form-row-first,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .form-row-last {
	float: none;
	width: 100%;
	min-width: 0;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > h2,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .form-row-wide,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .ilcore-register-benefits,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .ilcore-password-guidance,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .ilcore-account-consent,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .ilcore-cpf-reason,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .woocommerce-privacy-policy-text,
body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > .clear {
	grid-column: 1 / -1;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > p.form-row:last-of-type {
	grid-column: 1 / -1;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > p {
	margin: 0;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register label {
	display: block;
	margin-bottom: 7px;
	color: #f3f3f3;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .01em;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register input.input-text {
	width: 100%;
	min-height: 50px;
	border: 1px solid #353535 !important;
	border-radius: 12px !important;
	background: #090909 !important;
	color: #fff !important;
	box-shadow: 0 0 0 0 rgba(255, 106, 0, 0) !important;
	transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register input.input-text:hover {
	border-color: #515151 !important;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register input.input-text:focus {
	border-color: #ff6a00 !important;
	background: #0d0d0d !important;
	box-shadow: 0 0 0 3px rgba(255, 106, 0, .16) !important;
	outline: 0;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register input[aria-invalid="true"] {
	border-color: #ff5656 !important;
	box-shadow: 0 0 0 3px rgba(255, 86, 86, .12) !important;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register small {
	display: block;
	margin-top: 6px;
	color: #9d9d9d;
	font-size: .72rem;
	line-height: 1.45;
}

body.woocommerce-account.ilpca-active .ilcore-register-benefits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
	margin: 0 0 3px;
}

body.woocommerce-account.ilpca-active .ilcore-register-benefits span {
	display: flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 10px 9px 30px;
	border: 1px solid rgba(255, 106, 0, .23);
	border-radius: 10px;
	background: rgba(255, 106, 0, .055);
	color: #d8d8d8;
	font-size: .7rem;
	font-weight: 750;
	line-height: 1.3;
	position: relative;
}

body.woocommerce-account.ilpca-active .ilcore-register-benefits span::before {
	content: "✓";
	position: absolute;
	left: 10px;
	color: #ff7a18;
	font-weight: 900;
}

body.woocommerce-account.ilpca-active #customer_login form.register .password-input,
body.woocommerce-account.ilpca-active .ilcore-password-control {
	display: block;
	width: 100%;
	position: relative;
}

body.woocommerce-account.ilpca-active .ilcore-password-guidance {
	margin-top: -8px;
	padding: 0 2px;
}

body.woocommerce-account.ilpca-active .ilcore-password-guidance > small {
	display: block;
	margin: 0 0 7px;
	color: #9d9d9d;
	font-size: .72rem;
	line-height: 1.45;
}

body.woocommerce-account.ilpca-active #customer_login form.register .password-input input.input-text,
body.woocommerce-account.ilpca-active .ilcore-password-control input.input-text {
	padding-right: 58px !important;
}

body.woocommerce-account.ilpca-active #customer_login form.register :where(.show-password-input, button.show-password-input),
body.woocommerce-account.ilpca-active .ilcore-password-toggle {
	position: absolute !important;
	top: 50% !important;
	right: 5px !important;
	left: auto !important;
	z-index: 3;
	display: grid !important;
	place-items: center;
	width: 42px !important;
	height: 42px !important;
	min-width: 42px !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 9px !important;
	background: transparent !important;
	color: #bdbdbd !important;
	font-size: 0 !important;
	line-height: 1 !important;
	box-shadow: none !important;
	cursor: pointer;
	transform: translateY(-50%) !important;
	overflow: hidden;
}

body.woocommerce-account.ilpca-active #customer_login form.register :where(.show-password-input, button.show-password-input)::before,
body.woocommerce-account.ilpca-active .ilcore-password-toggle::before {
	content: "" !important;
	display: block !important;
	width: 17px !important;
	height: 17px !important;
	border: 2px solid currentColor !important;
	border-radius: 75% 16% !important;
	background: transparent !important;
	box-sizing: border-box !important;
	transform: rotate(45deg) !important;
}

body.woocommerce-account.ilpca-active #customer_login form.register :where(.show-password-input, button.show-password-input)::after,
body.woocommerce-account.ilpca-active .ilcore-password-toggle::after {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	width: 5px !important;
	height: 5px !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: currentColor !important;
	transform: translate(-50%, -50%) !important;
}

body.woocommerce-account.ilpca-active #customer_login form.register :where(.show-password-input, button.show-password-input):hover,
body.woocommerce-account.ilpca-active #customer_login form.register :where(.show-password-input, button.show-password-input):focus-visible,
body.woocommerce-account.ilpca-active .ilcore-password-toggle:hover,
body.woocommerce-account.ilpca-active .ilcore-password-toggle:focus-visible {
	background: rgba(255, 106, 0, .12) !important;
	color: #ff8a35 !important;
	outline: 0 !important;
}

body.woocommerce-account.ilpca-active .ilcore-password-guidance small.is-valid { color: #6ddd98; }
body.woocommerce-account.ilpca-active .ilcore-password-guidance small.is-invalid { color: #ffad4d; }

body.woocommerce-account.ilpca-active #customer_login form.register .woocommerce-password-strength {
	margin: 8px 0 0;
	padding: 7px 10px;
	border: 1px solid #303030;
	border-radius: 8px;
	background: #111;
	color: #bdbdbd;
	font-size: .7rem;
	font-weight: 800;
	line-height: 1.3;
}

body.woocommerce-account.ilpca-active #customer_login form.register .woocommerce-password-strength.short,
body.woocommerce-account.ilpca-active #customer_login form.register .woocommerce-password-strength.bad { border-color: rgba(255, 86, 86, .45); color: #ff7777; }
body.woocommerce-account.ilpca-active #customer_login form.register .woocommerce-password-strength.good { border-color: rgba(255, 201, 71, .4); color: #ffd166; }
body.woocommerce-account.ilpca-active #customer_login form.register .woocommerce-password-strength.strong { border-color: rgba(82, 206, 130, .42); color: #6ddd98; }
body.woocommerce-account.ilpca-active #customer_login form.register .woocommerce-password-hint { color: #929292; font-size: .68rem; line-height: 1.4; }

body.woocommerce-account.ilpca-active .ilcore-password-match.is-valid { color: #6ddd98 !important; }
body.woocommerce-account.ilpca-active .ilcore-password-match.is-invalid { color: #ff7777 !important; }

body.woocommerce-account.ilpca-active .ilcore-account-consent {
	padding: 13px 14px;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 11px;
	background: rgba(255, 255, 255, .025);
}

body.woocommerce-account.ilpca-active .ilcore-account-consent label.checkbox {
	display: grid !important;
	grid-template-columns: 18px 1fr;
	gap: 10px;
	align-items: start;
	margin: 0 !important;
	color: #bcbcbc !important;
	font-size: .74rem !important;
	font-weight: 600 !important;
	line-height: 1.5;
}

body.woocommerce-account.ilpca-active .ilcore-account-consent input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 1px 0 0 !important;
	accent-color: #ff6a00;
}

body.woocommerce-account.ilpca-active .ilcore-account-consent a { color: #ff8a35; font-weight: 800; }

body.woocommerce-account.ilpca-active .ilcore-registration-trap {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register button[type="submit"] {
	width: 100%;
	min-height: 50px;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #ff8a1f, #ff5a00) !important;
	color: #080808 !important;
	font-weight: 900 !important;
	box-shadow: 0 10px 26px rgba(255, 90, 0, .22) !important;
}

body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register button[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 13px 30px rgba(255, 90, 0, .3) !important;
}

body.woocommerce-account.ilpca-active .ilcore-cpf-reason {
	margin: 10px 0 18px;
	padding: 12px 14px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: 10px;
	background: rgba(255,255,255,.025);
}

body.woocommerce-account.ilpca-active .ilcore-cpf-reason summary {
	color: #ff7a18;
	font-weight: 750;
	cursor: pointer;
}

body.woocommerce-account.ilpca-active .ilcore-cpf-reason p { margin: 9px 0 0; font-size: .85rem; }

body.woocommerce-account.ilpca-active .ilcore-identity-card {
	margin-top: 20px;
	padding: 16px 18px;
	border: 1px solid rgba(255,106,0,.3);
	border-radius: 12px;
	background: rgba(255,106,0,.07);
}

body.woocommerce-account.ilpca-active .ilcore-identity-card p { margin: 6px 0 2px; color: #fff; }
body.woocommerce-account.ilpca-active .ilcore-identity-card small { color: #aaa; }

body.woocommerce-account.ilpca-active .ilcore-customer-benefits {
	grid-column: 1 / -1;
	margin-top: 14px;
	padding: clamp(20px, 3vw, 28px);
	border: 1px solid rgba(255,106,0,.32);
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255,106,0,.09), rgba(255,255,255,.025));
}

body.woocommerce-account.ilpca-active .ilcore-customer-benefits h2 { margin: 0 0 14px; }
body.woocommerce-account.ilpca-active .ilcore-customer-benefits__grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(210px,1fr)); gap: 10px; }
body.woocommerce-account.ilpca-active .ilcore-customer-benefits article { display: flex; flex-direction: column; gap: 6px; padding: 15px; border: 1px dashed rgba(255,122,24,.5); border-radius: 11px; background: #101010; }
body.woocommerce-account.ilpca-active .ilcore-customer-benefits code { width: fit-content; padding: 4px 7px; border-radius: 5px; background: rgba(255,106,0,.13); color: #ff8a35; font-weight: 800; letter-spacing: .08em; }
body.woocommerce-account.ilpca-active .ilcore-customer-benefits small { color: #aaa; }

body.ilco-checkout #billing_full_name_field .optional,
body.ilco-checkout #billing_cpf_field .optional { display: none; }

body.ilco-checkout #billing_cpf_field .description {
	display: block;
	margin-top: 7px;
	color: #a9a9a9;
	font-size: .75rem;
	line-height: 1.45;
}

.ilcore-cpf-error[hidden] { display: none !important; }
.ilcore-cpf-error {
	display: block;
	margin-top: 5px;
	color: #d63638;
	font-size: .82rem;
	line-height: 1.4;
}

body.ilco-checkout .ilcore-checkout-account-note {
	display: flex;
	flex-direction: column;
	gap: 3px;
	margin: 0 0 16px;
	padding: 13px 15px;
	border: 1px solid rgba(255,106,0,.28);
	border-radius: 10px;
	background: rgba(255,106,0,.07);
}

body.ilco-checkout .ilcore-checkout-account-note strong { color: #fff; font-size: .86rem; }
body.ilco-checkout .ilcore-checkout-account-note span { color: #aaa; font-size: .76rem; line-height: 1.45; }

@media (max-width: 560px) {
	body.woocommerce-account.ilpca-active .ilcore-auth-tabs { grid-template-columns: 1fr 1fr; }
	body.woocommerce-account.ilpca-active .ilcore-auth-tabs a { grid-column: 1 / -1; min-height: 38px; }
	body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register { grid-template-columns: 1fr; gap: 14px; }
	body.woocommerce-account.ilpca-active #customer_login .u-column2 form.register > * { grid-column: 1 !important; }
	body.woocommerce-account.ilpca-active .ilcore-register-benefits { grid-template-columns: 1fr; gap: 6px; }
	body.woocommerce-account.ilpca-active .ilcore-register-benefits span { min-height: 38px; }
}

@media (prefers-reduced-motion: reduce) {
	body.woocommerce-account.ilpca-active .ilcore-auth-tabs * { transition: none !important; }
}
