.acwc-login-shell,
.acwc-login-shell * {
	box-sizing: border-box;
}

body.acwc-login-active {
	background:
		radial-gradient(circle at top left, rgba(214, 169, 91, 0.16), transparent 26%),
		linear-gradient(135deg, #100d0b 0%, #201711 34%, #efe5d9 34%, #f7f2ea 100%);
	overflow-x: hidden;
}

body.acwc-login-active .site-content,
body.acwc-login-active .site-content > .ast-container,
body.acwc-login-active .ast-container,
body.acwc-login-active .content-area,
body.acwc-login-active #primary,
body.acwc-login-active .site-main,
body.acwc-login-active .entry-content,
body.acwc-login-active .elementor-widget-container,
body.acwc-login-active .elementor-shortcode,
body.acwc-login-active .elementor-section .elementor-container,
body.acwc-login-active .elementor-column,
body.acwc-login-active .elementor-widget-wrap {
	box-sizing: border-box;
	max-width: 100% !important;
	width: 100% !important;
}

body.acwc-login-active .site-content .elementor,
body.acwc-login-active .site-content .elementor-section,
body.acwc-login-active .site-content .elementor-container,
body.acwc-login-active .site-content .elementor-column,
body.acwc-login-active .site-content .elementor-widget,
body.acwc-login-active .site-content .elementor-widget-container,
body.acwc-login-active .site-content .elementor-shortcode,
body.acwc-login-active .site-content .elementor-widget-wrap,
body.acwc-login-active .site-content .e-con,
body.acwc-login-active .site-content .e-con-inner,
body.acwc-login-active .site-content [data-elementor-type] {
	box-sizing: border-box;
	max-width: 100% !important;
	width: 100% !important;
}

body.acwc-login-active .site-content .elementor-column,
body.acwc-login-active .site-content .elementor-widget,
body.acwc-login-active .site-content .elementor-widget-wrap,
body.acwc-login-active .site-content .e-con,
body.acwc-login-active .site-content .e-con-inner {
	--width: 100% !important;
	flex-basis: 100% !important;
}

@supports selector(:has(*)) {
	.elementor-section:has(.acwc-login-shell),
	.elementor-container:has(.acwc-login-shell),
	.elementor-column:has(.acwc-login-shell),
	.elementor-widget:has(.acwc-login-shell),
	.elementor-widget-container:has(.acwc-login-shell),
	.elementor-shortcode:has(.acwc-login-shell),
	.elementor-widget-wrap:has(.acwc-login-shell),
	.elementor-element:has(.acwc-login-shell),
	.e-con:has(.acwc-login-shell),
	.e-con-inner:has(.acwc-login-shell) {
		--width: 100% !important;
		box-sizing: border-box;
		flex-basis: 100% !important;
		max-width: 100% !important;
		width: 100% !important;
	}
}

body.acwc-login-active .site-content > .ast-container,
body.acwc-login-active .ast-container,
body.acwc-login-active .content-area,
body.acwc-login-active #primary,
body.acwc-login-active .site-main {
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

body.acwc-login-active .content-area,
body.acwc-login-active #primary {
	float: none;
}

.woocommerce-account.acwc-login-active .woocommerce,
body.acwc-login-active .site-content .woocommerce {
	margin: 0 auto !important;
	max-width: 1220px !important;
	padding: 0 20px 48px !important;
	width: 100% !important;
}

.acwc-login-active .site-main,
.acwc-login-active .entry-content,
.acwc-login-active .post-content,
.acwc-login-active .woocommerce-account .entry-content {
	background: transparent;
}

body.acwc-login-active .entry-title,
body.acwc-login-active .page-title {
	display: none !important;
}

.acwc-login-shell {
	display: flex;
	justify-content: center;
	margin: 0 auto;
	max-width: 1180px;
	padding: 32px 0 44px;
	width: 100%;
}

.acwc-login-wrapper {
	margin: 0 auto;
	max-width: 1180px;
	padding: 24px 20px 32px;
}

.acwc-login-card {
	align-items: stretch;
	background: #ffffff;
	border: 1px solid rgba(94, 63, 29, 0.12);
	border-radius: 30px;
	box-shadow: 0 30px 80px rgba(19, 17, 14, 0.16);
	display: grid;
	flex: 0 1 1180px;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 440px);
	margin: 0 auto !important;
	max-width: 1180px;
	overflow: hidden;
	width: 100%;
}

.acwc-login-card > * {
	min-width: 0;
}

.acwc-login-hero {
	background:
		radial-gradient(circle at top right, rgba(222, 182, 108, 0.18), transparent 28%),
		linear-gradient(165deg, #090806 0%, #17110d 42%, #24190f 100%);
	color: #f6ebda;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 34px 30px;
	position: relative;
}

.acwc-login-hero::before,
.acwc-login-hero::after {
	border: 1px solid rgba(238, 199, 131, 0.12);
	border-radius: 999px;
	content: "";
	position: absolute;
}

.acwc-login-hero::before {
	height: 220px;
	right: -60px;
	top: -60px;
	width: 220px;
}

.acwc-login-hero::after {
	box-shadow: 0 0 0 28px rgba(238, 199, 131, 0.03);
	height: 140px;
	left: -50px;
	width: 140px;
	bottom: -40px;
}

.acwc-login-brand {
	position: relative;
	z-index: 1;
}

.acwc-login-brand__eyebrow {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(238, 199, 131, 0.18);
	border-radius: 999px;
	color: #e7c98f;
	display: inline-flex;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.18em;
	margin-bottom: 16px;
	padding: 7px 12px;
	text-transform: uppercase;
}

.acwc-login-brand h2 {
	color: #fff4df;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(2rem, 3.4vw, 3rem);
	line-height: 1.05;
	margin: 0 0 12px;
	max-width: 420px;
}

.acwc-login-brand p {
	color: rgba(246, 235, 218, 0.78);
	font-size: 15px;
	line-height: 1.65;
	margin: 0;
	max-width: 440px;
}

.acwc-login-form-area {
	background: linear-gradient(180deg, #fcfaf6 0%, #f3eadf 100%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 40px 38px;
	position: relative;
}

.acwc-login-form-area::before {
	background: radial-gradient(circle, rgba(203, 154, 77, 0.16), transparent 72%);
	content: "";
	height: 140px;
	position: absolute;
	right: 12px;
	top: 12px;
	width: 140px;
}

.acwc-login-form-header,
.acwc-login-form-area form {
	position: relative;
	z-index: 1;
}

.acwc-login-form-header {
	margin-bottom: 22px;
	max-width: 420px;
}

.acwc-login-form-header__kicker {
	color: #9a7042;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.14em;
	margin-bottom: 10px;
	text-transform: uppercase;
}

.acwc-login-form-header h1 {
	color: #21160f;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.95rem, 2.4vw, 2.45rem);
	line-height: 1.08;
	margin: 0 0 8px;
}

.acwc-login-form-header p {
	color: #6a5641;
	font-size: 15px;
	line-height: 1.6;
	margin: 0;
}

.acwc-login-form-area .woocommerce-form {
	margin: 0;
	max-width: 420px;
	width: 100%;
}

.acwc-login-form-area .form-row,
.acwc-login-form-area .form-row-wide,
.acwc-login-form-area .woocommerce-form-row {
	clear: both;
	float: none;
	margin-left: 0;
	margin-right: 0;
	width: 100%;
}

.acwc-login-form-area .woocommerce-form[hidden] {
	display: none !important;
}

.acwc-login-field {
	margin-bottom: 16px;
}

.acwc-login-field label {
	color: #4e3a26;
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 8px;
}

.acwc-login-form-area .input-text,
.acwc-login-form-area input[type="email"],
.acwc-login-form-area input[type="password"],
.acwc-login-form-area input[type="text"] {
	background: rgba(255, 255, 255, 0.88);
	border: 1px solid #d9c7af;
	border-radius: 16px;
	box-shadow: inset 0 1px 2px rgba(17, 24, 39, 0.04);
	color: #24170d;
	font-size: 15px;
	margin: 0;
	min-height: 54px;
	padding: 14px 16px;
	width: 100%;
}

.acwc-login-form-area .input-text:focus,
.acwc-login-form-area input[type="email"]:focus,
.acwc-login-form-area input[type="password"]:focus,
.acwc-login-form-area input[type="text"]:focus {
	background: #ffffff;
	border-color: #b48043;
	box-shadow: 0 0 0 4px rgba(180, 128, 67, 0.14);
	outline: none;
}

.acwc-login-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin: 8px 0 22px;
}

.acwc-login-check {
	align-items: center;
	color: #5c4934;
	display: inline-flex;
	font-size: 13px;
	gap: 8px;
}

.acwc-login-check input {
	accent-color: #8f6333;
	height: 16px;
	width: 16px;
}

.acwc-login-link {
	color: #8f6333;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.acwc-login-link:hover {
	text-decoration: underline;
}

.acwc-login-button.button,
.acwc-login-button.button.alt,
.acwc-login-form-area .woocommerce-button.button {
	background: linear-gradient(135deg, #f4d59a 0%, #d4a35c 100%) !important;
	border: 0 !important;
	border-radius: 16px !important;
	box-shadow: 0 18px 34px rgba(180, 128, 67, 0.22) !important;
	color: #24170d !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	letter-spacing: 0.12em;
	line-height: 1;
	margin-top: 6px;
	min-height: 54px;
	padding: 0 22px !important;
	text-transform: uppercase;
	width: 100%;
}

.acwc-login-button.button:hover,
.acwc-login-button.button.alt:hover,
.acwc-login-form-area .woocommerce-button.button:hover {
	filter: brightness(1.02);
	transform: translateY(-1px);
}

.acwc-login-button--ghost.button {
	background: transparent !important;
	border: 1px solid #b7854f !important;
	box-shadow: none !important;
	color: #3d2917 !important;
}

.acwc-login-button--ghost.button:hover {
	background: #21160f !important;
	color: #f8edd9 !important;
}

.acwc-login-switch {
	margin: 20px 0 10px;
	position: relative;
	text-align: center;
}

.acwc-login-switch::before {
	background: linear-gradient(90deg, transparent, rgba(146, 106, 64, 0.34), transparent);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
}

.acwc-login-switch span {
	background: #f5ecdf;
	color: #90755a;
	display: inline-block;
	font-size: 12px;
	padding: 0 12px;
	position: relative;
	z-index: 1;
}

.acwc-login-social {
	background: rgba(82, 55, 24, 0.05);
	border: 1px solid rgba(180, 128, 67, 0.16);
	border-radius: 18px;
	margin: 0 0 16px;
	padding: 14px 16px;
}

.acwc-login-social__title {
	color: #4e3a26;
	font-size: 13px;
	font-weight: 700;
	margin: 0 0 10px;
}

.acwc-login-divider {
	align-items: center;
	display: flex;
	gap: 10px;
	margin: 10px 0 20px;
}

.acwc-login-divider span {
	background: rgba(82, 55, 24, 0.14);
	flex: 1;
	height: 1px;
}

.acwc-login-divider em {
	color: #8f765c;
	font-size: 11px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.acwc-login-state {
	background: linear-gradient(180deg, #fff7ea 0%, #f3e4cc 100%);
	border: 1px solid rgba(180, 128, 67, 0.22);
	border-radius: 20px;
	box-shadow: 0 18px 40px rgba(17, 24, 39, 0.08);
	color: #25180f;
	font-size: 16px;
	font-weight: 600;
	margin: 32px auto;
	max-width: 520px;
	padding: 28px;
	text-align: center;
}

.acwc-login-state a {
	color: #8f6333;
	font-weight: 700;
	margin-left: 6px;
	text-decoration: none;
}

.acwc-login-state a:hover {
	text-decoration: underline;
}

.acwc-login-shell .woocommerce-error,
.acwc-login-shell .woocommerce-info,
.acwc-login-shell .woocommerce-message {
	border-radius: 16px;
	margin-bottom: 18px;
}

@media (max-width: 980px) {
	.acwc-login-card {
		grid-template-columns: minmax(0, 1fr);
	}

	.acwc-login-hero,
	.acwc-login-form-area {
		padding: 30px 24px;
	}
}

@media (max-width: 640px) {
	.acwc-login-shell {
		padding: 16px 0 28px;
	}

	.acwc-login-card {
		border-radius: 22px;
	}

	.acwc-login-brand h2 {
		font-size: 2rem;
	}

	.acwc-login-actions {
		align-items: flex-start;
		flex-direction: column;
	}
}

/* Anhanguera Celulares blue/silver theme overrides */
body.acwc-login-active {
	background:
		radial-gradient(circle at top left, rgba(123, 170, 228, 0.2), transparent 26%),
		linear-gradient(135deg, #08111d 0%, #17304c 34%, #edf4fb 34%, #f8fbff 100%);
	overflow-x: hidden;
}

.acwc-login-card {
	border-color: rgba(57, 96, 141, 0.14);
	box-shadow: 0 30px 80px rgba(9, 27, 49, 0.16);
}

.acwc-login-hero {
	background:
		radial-gradient(circle at top right, rgba(123, 170, 228, 0.2), transparent 28%),
		linear-gradient(165deg, #07111d 0%, #11253d 42%, #1b3a5c 100%);
	color: #eef5ff;
}

.acwc-login-hero::before,
.acwc-login-hero::after {
	border-color: rgba(190, 216, 245, 0.16);
}

.acwc-login-hero::after {
	box-shadow: 0 0 0 28px rgba(164, 198, 237, 0.05);
}

.acwc-login-brand__eyebrow {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(190, 216, 245, 0.24);
	color: #cfe0f5;
}

.acwc-login-brand h2 {
	color: #f4f8fe;
}

.acwc-login-brand p {
	color: rgba(232, 242, 255, 0.8);
}

.acwc-login-form-area {
	background: linear-gradient(180deg, #f9fbfe 0%, #ebf3fb 100%);
}

.acwc-login-form-area::before {
	background: radial-gradient(circle, rgba(92, 142, 205, 0.18), transparent 72%);
}

.acwc-login-form-header__kicker {
	color: #567aa4;
}

.acwc-login-form-header h1 {
	color: #10253f;
}

.acwc-login-form-header p,
.acwc-login-check {
	color: #5f7690;
}

.acwc-login-field label,
.acwc-login-social__title,
.acwc-login-state {
	color: #274564;
}

.acwc-login-form-area .input-text,
.acwc-login-form-area input[type="email"],
.acwc-login-form-area input[type="password"],
.acwc-login-form-area input[type="text"] {
	border-color: #c5d8ee;
	color: #10253f;
}

.acwc-login-form-area .input-text:focus,
.acwc-login-form-area input[type="email"]:focus,
.acwc-login-form-area input[type="password"]:focus,
.acwc-login-form-area input[type="text"]:focus {
	border-color: #5c8ecd;
	box-shadow: 0 0 0 4px rgba(92, 142, 205, 0.14);
}

.acwc-login-check input {
	accent-color: #3a6ea8;
}

.acwc-login-link,
.acwc-login-state a {
	color: #2f5f94;
}

.acwc-login-button.button,
.acwc-login-button.button.alt,
.acwc-login-form-area .woocommerce-button.button {
	background: linear-gradient(135deg, #e5eef9 0%, #80afeb 45%, #2b5f9a 100%) !important;
	box-shadow: 0 18px 34px rgba(24, 68, 116, 0.22) !important;
	color: #081322 !important;
}

.acwc-login-button--ghost.button {
	border-color: #6f9ed6 !important;
	color: #244c79 !important;
}

.acwc-login-button--ghost.button:hover {
	background: #17304c !important;
	color: #eef5ff !important;
}

.acwc-login-switch::before {
	background: linear-gradient(90deg, transparent, rgba(111, 154, 209, 0.34), transparent);
}

.acwc-login-switch span {
	background: #eaf2fb;
	color: #6d86a2;
}

.acwc-login-social {
	background: rgba(54, 93, 139, 0.05);
	border-color: rgba(92, 142, 205, 0.16);
}

.acwc-login-divider span {
	background: rgba(54, 93, 139, 0.14);
}

.acwc-login-divider em {
	color: #6d86a2;
}

.acwc-login-state {
	background: linear-gradient(180deg, #f7fbff 0%, #e7f0fb 100%);
	border-color: rgba(92, 142, 205, 0.22);
}

/* Final hardening: keep the login centered even inside cached theme/Elementor wrappers. */
@supports selector(:has(*)) {
	body:has(.acwc-login-shell) {
		overflow-x: hidden;
	}

	body:has(.acwc-login-shell) .site-content,
	body:has(.acwc-login-shell) .site-content > .ast-container,
	body:has(.acwc-login-shell) .ast-container,
	body:has(.acwc-login-shell) .content-area,
	body:has(.acwc-login-shell) #primary,
	body:has(.acwc-login-shell) .site-main,
	body:has(.acwc-login-shell) .entry-content,
	body:has(.acwc-login-shell) .woocommerce,
	body:has(.acwc-login-shell) [data-elementor-type],
	body:has(.acwc-login-shell) .elementor,
	body:has(.acwc-login-shell) .elementor-section,
	body:has(.acwc-login-shell) .elementor-container,
	body:has(.acwc-login-shell) .elementor-column,
	body:has(.acwc-login-shell) .elementor-widget,
	body:has(.acwc-login-shell) .elementor-widget-container,
	body:has(.acwc-login-shell) .elementor-shortcode,
	body:has(.acwc-login-shell) .elementor-widget-wrap,
	body:has(.acwc-login-shell) .e-con,
	body:has(.acwc-login-shell) .e-con-inner {
		box-sizing: border-box !important;
		float: none !important;
		left: auto !important;
		margin-left: auto !important;
		margin-right: auto !important;
		max-width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: relative !important;
		right: auto !important;
		transform: none !important;
		width: 100% !important;
	}

	body:has(.acwc-login-shell) .entry-title,
	body:has(.acwc-login-shell) .page-title {
		display: none !important;
	}
}

html body .acwc-login-shell {
	display: flex !important;
	justify-content: center !important;
	margin: 0 auto !important;
	max-width: 720px !important;
	padding: 48px 20px !important;
	width: 100% !important;
}

html body .acwc-login-card {
	display: block !important;
	flex: 0 1 680px !important;
	margin: 0 auto !important;
	max-width: 680px !important;
	min-width: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

html body .acwc-login-hero {
	display: none !important;
}

html body .acwc-login-form-area {
	border-radius: 30px !important;
	box-shadow: 0 30px 80px rgba(9, 27, 49, 0.16) !important;
	margin: 0 auto !important;
	max-width: 680px !important;
	overflow: hidden !important;
	padding: 48px 44px !important;
	width: 100% !important;
}

html body .acwc-login-form-header,
html body .acwc-login-form-area .woocommerce-form {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 480px !important;
	width: 100% !important;
}

@media (max-width: 640px) {
	html body .acwc-login-shell {
		max-width: 100% !important;
		padding: 22px 14px 34px !important;
	}

	html body .acwc-login-form-area {
		border-radius: 22px !important;
		padding: 32px 22px !important;
	}
}

/* JS-mounted layout: bypasses narrow page-builder columns entirely. */
body.acwc-login-mounted .acwc-login-original-content {
	display: none !important;
}

body.acwc-login-mounted .acwc-login-page-host {
	align-items: flex-start !important;
	background:
		radial-gradient(circle at top left, rgba(123, 170, 228, 0.2), transparent 26%),
		linear-gradient(135deg, #08111d 0%, #17304c 34%, #edf4fb 34%, #f8fbff 100%) !important;
	box-sizing: border-box !important;
	display: flex !important;
	justify-content: center !important;
	margin: 0 !important;
	min-height: calc(100vh - 145px) !important;
	padding: 56px 28px 72px !important;
	width: 100% !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-shell {
	display: flex !important;
	justify-content: center !important;
	margin: 0 auto !important;
	max-width: 1120px !important;
	padding: 0 !important;
	width: 100% !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-card {
	display: grid !important;
	grid-template-columns: minmax(0, 0.95fr) minmax(440px, 520px) !important;
	margin: 0 auto !important;
	max-width: 1120px !important;
	min-height: 620px !important;
	overflow: hidden !important;
	width: 100% !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-hero {
	align-items: center !important;
	display: flex !important;
	justify-content: center !important;
	min-height: 620px !important;
	padding: 56px 46px !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-brand {
	text-align: center !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-brand h2,
body.acwc-login-mounted .acwc-login-page-host .acwc-login-brand p {
	display: none !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-form-area {
	border-radius: 0 !important;
	box-shadow: none !important;
	display: flex !important;
	justify-content: center !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: 620px !important;
	padding: 56px 48px !important;
	width: 100% !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-form-header,
body.acwc-login-mounted .acwc-login-page-host .acwc-login-form-area .woocommerce-form {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 440px !important;
	width: 100% !important;
}

body.acwc-login-mounted .acwc-login-page-host .acwc-login-form-header h1 {
	font-size: clamp(2.15rem, 3vw, 3rem) !important;
}

@media (max-width: 980px) {
	body.acwc-login-mounted .acwc-login-page-host {
		padding: 28px 16px 48px !important;
	}

	body.acwc-login-mounted .acwc-login-page-host .acwc-login-card {
		grid-template-columns: minmax(0, 1fr) !important;
		min-height: 0 !important;
	}

	body.acwc-login-mounted .acwc-login-page-host .acwc-login-hero {
		display: none !important;
	}

	body.acwc-login-mounted .acwc-login-page-host .acwc-login-form-area {
		border-radius: 24px !important;
		min-height: 0 !important;
		padding: 38px 24px !important;
	}
}
