.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%);
}

body.woocommerce-account.acwc-login-active .site-content > .ast-container,
body.woocommerce-account.acwc-login-active .ast-container,
body.woocommerce-account.acwc-login-active .content-area,
body.woocommerce-account.acwc-login-active .site-main,
body.woocommerce-account.acwc-login-active .entry-content,
body.woocommerce-account.acwc-login-active .post-content,
body.woocommerce-account.acwc-login-active .woocommerce,
body.woocommerce-account.acwc-login-active .entry-content .elementor,
body.woocommerce-account.acwc-login-active .entry-content .elementor-section,
body.woocommerce-account.acwc-login-active .entry-content .elementor-section-wrap,
body.woocommerce-account.acwc-login-active .entry-content .elementor-container,
body.woocommerce-account.acwc-login-active .entry-content .elementor-column,
body.woocommerce-account.acwc-login-active .entry-content .elementor-widget-wrap,
body.woocommerce-account.acwc-login-active .entry-content .elementor-widget-container,
body.woocommerce-account.acwc-login-active .entry-content .elementor-shortcode,
body.woocommerce-account.acwc-login-active .entry-content .e-con,
body.woocommerce-account.acwc-login-active .entry-content .e-con-inner,
body.woocommerce-account.acwc-login-active .entry-content .e-parent,
body.woocommerce-account.acwc-login-active .entry-content .e-child {
	box-sizing: border-box;
	max-width: 100% !important;
	min-width: 0;
	overflow: visible !important;
	width: 100% !important;
}

.woocommerce-account.acwc-login-active .woocommerce {
	margin: 0 auto;
	max-width: min(1180px, calc(100vw - 32px)) !important;
	padding: 0 12px 40px;
	width: 100%;
}

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

.acwc-login-shell {
	margin: 0 auto;
	max-width: min(1180px, calc(100vw - 32px));
	padding: 32px 20px 44px;
	width: min(1180px, calc(100vw - 32px));
}

.acwc-login-wrapper {
	margin: 0 auto;
	max-width: min(1180px, calc(100vw - 32px));
	padding: 24px 20px 32px;
	width: min(1180px, calc(100vw - 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;
	grid-template-columns: minmax(0, 1.05fr) minmax(360px, 440px);
	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;
}

.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 12px 28px;
		width: 100%;
		max-width: 100%;
	}

	.acwc-login-wrapper {
		width: 100%;
		max-width: 100%;
	}

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

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

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

/* Big Store palette overrides */
body.acwc-login-active {
	background:
		radial-gradient(circle at top left, rgba(18, 59, 138, 0.24), transparent 26%),
		radial-gradient(circle at top right, rgba(179, 38, 72, 0.12), transparent 24%),
		linear-gradient(135deg, #101847 0%, #0d3478 34%, #eef3ff 34%, #f9fbff 100%);
}

.acwc-login-card {
	border-color: rgba(16, 37, 89, 0.14);
	box-shadow: 0 30px 80px rgba(16, 31, 79, 0.16);
}

.acwc-login-hero {
	background:
		radial-gradient(circle at top right, rgba(255, 255, 255, 0.12), transparent 28%),
		linear-gradient(165deg, #101847 0%, #0d3478 42%, #4a1431 100%);
	color: #f4f7ff;
}

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

.acwc-login-hero::after {
	box-shadow: 0 0 0 28px rgba(255, 255, 255, 0.04);
}

.acwc-login-brand__eyebrow {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.22);
	color: #ffd6df;
}

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

.acwc-login-brand p {
	color: rgba(239, 245, 255, 0.82);
}

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

.acwc-login-form-area::before {
	background: radial-gradient(circle, rgba(23, 62, 141, 0.16), transparent 72%);
}

.acwc-login-form-header__kicker {
	color: #173e8d;
}

.acwc-login-form-header h1 {
	color: #11234a;
}

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

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

.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: #ccd8f5;
	color: #11234a;
}

.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: #173e8d;
	box-shadow: 0 0 0 4px rgba(23, 62, 141, 0.14);
}

.acwc-login-check input {
	accent-color: #173e8d;
}

.acwc-login-link,
.acwc-login-state a {
	color: #173e8d;
}

.acwc-login-button.button,
.acwc-login-button.button.alt,
.acwc-login-form-area .woocommerce-button.button {
	background: linear-gradient(135deg, #0d3d95 0%, #27479f 48%, #b32648 100%) !important;
	box-shadow: 0 18px 34px rgba(28, 36, 101, 0.24) !important;
	color: #f7f9ff !important;
}

.acwc-login-button--ghost.button {
	border-color: #6f85c9 !important;
	color: #173e8d !important;
}

.acwc-login-button--ghost.button:hover {
	background: linear-gradient(135deg, #101847 0%, #4a1431 100%) !important;
	color: #f4f7ff !important;
}

.acwc-login-switch::before {
	background: linear-gradient(90deg, transparent, rgba(23, 62, 141, 0.28), rgba(179, 38, 72, 0.28), transparent);
}

.acwc-login-switch span {
	background: #eef2ff;
	color: #667594;
}

.acwc-login-social {
	background: rgba(23, 62, 141, 0.05);
	border-color: rgba(23, 62, 141, 0.14);
}

.acwc-login-divider span {
	background: rgba(23, 62, 141, 0.14);
}

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

.acwc-login-state {
	background: linear-gradient(180deg, #fbfcff 0%, #eef2ff 100%);
	border-color: rgba(179, 38, 72, 0.16);
}

/* Force the login page out of narrow Elementor/Astra columns. */
body.acwc-login-active {
	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 .site-main,
body.acwc-login-active .entry-content,
body.acwc-login-active .post-content,
body.acwc-login-active .page-content,
body.acwc-login-active .woocommerce,
body.acwc-login-active .entry-content .elementor,
body.acwc-login-active .entry-content .elementor-section,
body.acwc-login-active .entry-content .elementor-section-wrap,
body.acwc-login-active .entry-content .elementor-container,
body.acwc-login-active .entry-content .elementor-column,
body.acwc-login-active .entry-content .elementor-widget-wrap,
body.acwc-login-active .entry-content .elementor-widget-container,
body.acwc-login-active .entry-content .elementor-shortcode,
body.acwc-login-active .entry-content .e-con,
body.acwc-login-active .entry-content .e-con-inner,
body.acwc-login-active .entry-content .e-parent,
body.acwc-login-active .entry-content .e-child {
	box-sizing: border-box !important;
	max-width: none !important;
	min-width: 0 !important;
	overflow: visible !important;
	width: 100% !important;
}

body.acwc-login-active .entry-content .elementor-column,
body.acwc-login-active .entry-content .e-child {
	flex-basis: 100% !important;
	flex-grow: 1 !important;
}

body.acwc-login-active .acwc-login-shell,
body.acwc-login-active .acwc-login-wrapper {
	box-sizing: border-box;
	left: auto;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	max-width: none !important;
	min-width: 0;
	overflow: visible;
	padding-left: max(16px, calc((100vw - 1180px) / 2)) !important;
	padding-right: max(16px, calc((100vw - 1180px) / 2)) !important;
	position: relative;
	right: auto;
	transform: translateX(var(--acwc-login-viewport-shift, 0px));
	width: 100vw !important;
}

body.acwc-login-active .acwc-login-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 1180px;
	width: 100%;
}

@media (max-width: 980px) {
	body.acwc-login-active .acwc-login-shell,
	body.acwc-login-active .acwc-login-wrapper {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
		padding-left: 12px !important;
		padding-right: 12px !important;
		transform: none !important;
		width: 100% !important;
	}
}
