/**
 * WooCommerce My Account — Batt Wrapz chrome.
 * Uses Elementor Site Settings tokens (primary, accent, text, Brookline/Montserrat).
 */

.woocommerce-error::after,
.woocommerce-error::before,
.woocommerce-info::after,
.woocommerce-info::before,
.woocommerce-message::after,
.woocommerce-message::before,
.woocommerce .col2-set::after,
.woocommerce .col2-set::before,
.woocommerce-page .col2-set::after,
.woocommerce-page .col2-set::before {
	display: none;
}

.woocommerce-account {
	--bw-ac-bg: var(--e-global-color-2e0bf74, #ffffff);
	--bw-ac-ink: var(--e-global-color-primary, #1a1a1a);
	--bw-ac-text: var(--e-global-color-text, #11111c);
	--bw-ac-muted: #6b6b75;
	--bw-ac-line: rgba(26, 26, 26, 0.1);
	--bw-ac-border: var(--e-global-color-af7023d, #3a3a3a);
	--bw-ac-accent: var(--e-global-color-accent, #f7b500);
	--bw-ac-accent-alt: #ff6b00;
	--bw-ac-font: var(--e-global-typography-text-font-family, Montserrat), sans-serif;
	--bw-ac-heading: var(--e-global-typography-primary-font-family, Brookline), var(--bw-ac-font);
	--bw-ac-radius: 10px;
	--bw-ac-shadow: 0 8px 32px rgba(17, 17, 28, 0.08);
}

/* Shell below Elementor page banner */
.woocommerce-account .woocommerce,
.woocommerce-account .e-my-account-tab .woocommerce {
	color: var(--bw-ac-text);
	font-family: var(--bw-ac-font);
	font-size: 15px;
	line-height: 1.55;
	width: 100%;
	max-width: min(1120px, 100%);
	margin: 0 auto;
	padding: 0 clamp(16px, 3vw, 24px) 48px;
	box-sizing: border-box;
}

/* ── Logged-in layout: sidebar + content ── */
.woocommerce-account.logged-in .woocommerce,
.woocommerce-account.logged-in .e-my-account-tab .woocommerce {
	display: grid;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
	gap: 28px;
	align-items: start;
}

.woocommerce-account.logged-in .woocommerce-notices-wrapper,
.woocommerce-account.logged-in .woocommerce > .woocommerce-message,
.woocommerce-account.logged-in .woocommerce > .woocommerce-error,
.woocommerce-account.logged-in .woocommerce > .woocommerce-info {
	grid-column: 1 / -1;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-navigation {
	grid-column: 1;
	grid-row: 2;
	float: none !important;
	width: auto !important;
}

.woocommerce-account.logged-in .woocommerce-MyAccount-content {
	grid-column: 2;
	grid-row: 2;
	float: none !important;
	width: auto !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
	background: var(--bw-ac-bg);
	border: 1px solid var(--bw-ac-line);
	border-radius: var(--bw-ac-radius);
	box-shadow: var(--bw-ac-shadow);
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	padding: 12px;
	position: sticky;
	top: 24px;
}

.woocommerce-account .woocommerce-MyAccount-content {
	padding: clamp(20px, 3vw, 32px);
	min-width: 0;
}

/* ── Account navigation ── */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 4px;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 8px;
	color: var(--bw-ac-ink) !important;
	font-family: var(--bw-ac-font);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none !important;
	transition:
		background-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease;
}

.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus {
	background: color-mix(in srgb, var(--bw-ac-accent) 18%, white);
	color: var(--bw-ac-ink) !important;
	outline: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--bw-ac-accent);
	color: var(--bw-ac-ink) !important;
	box-shadow: 0 4px 16px color-mix(in srgb, var(--bw-ac-accent) 42%, transparent);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a:focus {
	background: color-mix(in srgb, var(--bw-ac-accent-alt) 18%, var(--bw-ac-accent));
	color: var(--bw-ac-ink) !important;
}

/* ── Headings ── */
.woocommerce-account .woocommerce h2,
.woocommerce-account .woocommerce h3,
.woocommerce-account .woocommerce-MyAccount-content > h2,
.woocommerce-account .woocommerce-Addresses h2,
.woocommerce-account .woocommerce-Addresses h3 {
	font-family: var(--bw-ac-heading);
	font-weight: 700;
	color: var(--bw-ac-ink);
	line-height: 1.15;
	margin: 0 0 1rem;
	padding-bottom: 0.65rem;
	border-bottom: 3px solid var(--bw-ac-accent);
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type,
.woocommerce-account .bwbc-my-account__intro {
	color: var(--bw-ac-muted);
	margin-top: -0.25rem;
	margin-bottom: 1.5rem;
}

/* ── Login / Register (logged out) ── */
.woocommerce-account #customer_login.col2-set {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

.woocommerce-account #customer_login .col-1,
.woocommerce-account #customer_login .col-2 {
	padding: clamp(22px, 3vw, 32px);
	float: none !important;
	width: auto !important;
}

.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
	margin: 0;
}

.woocommerce-account .woocommerce-form-row label {
	display: block;
	margin-bottom: 6px;
	color: var(--bw-ac-ink);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.woocommerce-account .woocommerce-form-row .required {
	color: var(--bw-ac-accent-alt);
}

.woocommerce-account .input-text,
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"],
.woocommerce-account input[type="text"],
.woocommerce-account input[type="tel"],
.woocommerce-account input[type="number"],
.woocommerce-account select,
.woocommerce-account textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid color-mix(in srgb, var(--bw-ac-border) 55%, transparent);
	border-radius: 8px;
	background: #fff;
	color: var(--bw-ac-text);
	font-family: var(--bw-ac-font);
	font-size: 15px;
	line-height: 1.4;
	box-shadow: inset 0 1px 2px rgba(17, 17, 28, 0.04);
	transition:
		border-color 0.2s ease,
		box-shadow 0.2s ease;
}

.woocommerce-account .input-text:focus,
.woocommerce-account input:focus,
.woocommerce-account select:focus,
.woocommerce-account textarea:focus {
	border-color: var(--bw-ac-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--bw-ac-accent) 28%, transparent);
	outline: none;
}

.woocommerce-account .password-input {
	display: block;
}

.woocommerce-account .show-password-input {
	border-radius: 0 8px 8px 0;
}

.woocommerce-account .woocommerce-form__label-for-checkbox {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	color: var(--bw-ac-muted);
	cursor: pointer;
}

.woocommerce-account .woocommerce-LostPassword a {
	color: var(--bw-ac-accent-alt);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-account .woocommerce-LostPassword a:hover,
.woocommerce-account .woocommerce-LostPassword a:focus {
	color: var(--bw-ac-ink);
	text-decoration: underline;
}

/* ── Buttons ── */
.woocommerce-account .woocommerce .button,
.woocommerce-account .woocommerce button.button,
.woocommerce-account .woocommerce a.button,
.woocommerce-account .woocommerce input.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 12px 22px !important;
	border-radius: 8px !important;
	font-family: var(--bw-ac-font) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none !important;
	transition:
		background-color 0.2s ease,
		border-color 0.2s ease,
		color 0.2s ease,
		box-shadow 0.2s ease,
		transform 0.15s ease;
}

.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit,
.woocommerce-account .woocommerce-MyAccount-content .button:not(.bwbc-profiles__view),
.woocommerce-account .woocommerce-orders-table__cell .button,
.woocommerce-account .woocommerce-Address .edit {
	background-color: var(--bw-ac-accent) !important;
	background-image: none !important;
	border: 2px solid var(--bw-ac-accent) !important;
	color: var(--bw-ac-ink) !important;
}

.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-login__submit:focus,
.woocommerce-account .woocommerce-form-register__submit:hover,
.woocommerce-account .woocommerce-form-register__submit:focus,
.woocommerce-account .woocommerce-MyAccount-content .button:not(.bwbc-profiles__view):hover,
.woocommerce-account .woocommerce-MyAccount-content .button:not(.bwbc-profiles__view):focus,
.woocommerce-account .woocommerce-orders-table__cell .button:hover,
.woocommerce-account .woocommerce-Address .edit:hover {
	background-color: color-mix(in srgb, var(--bw-ac-accent-alt) 22%, var(--bw-ac-accent)) !important;
	border-color: var(--bw-ac-accent) !important;
	color: var(--bw-ac-ink) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px color-mix(in srgb, var(--bw-ac-accent) 35%, transparent);
}

.woocommerce-account .button.bwbc-profiles__view,
.woocommerce-account .woocommerce-MyAccount-content .button.alt,
.woocommerce-account .woocommerce-MyAccount-content .button.secondary {
	background-color: transparent !important;
	border: 2px solid var(--bw-ac-ink) !important;
	color: var(--bw-ac-ink) !important;
}

.woocommerce-account .button.bwbc-profiles__view:hover,
.woocommerce-account .woocommerce-MyAccount-content .button.alt:hover,
.woocommerce-account .woocommerce-MyAccount-content .button.secondary:hover {
	background-color: var(--bw-ac-ink) !important;
	color: #fff !important;
}

.woocommerce-account .button.button-primary.bwbc-reorder,
.woocommerce-account .woocommerce-MyAccount-content .button-primary {
	background-color: var(--bw-ac-accent) !important;
	border-color: var(--bw-ac-accent) !important;
	color: var(--bw-ac-ink) !important;
}

/* ── Notices ── */
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	border-radius: 8px;
	border-top: 0;
	border-left: 4px solid var(--bw-ac-accent);
	padding: 16px 20px;
	margin-bottom: 20px;
	font-family: var(--bw-ac-font);
	box-shadow: 0 2px 10px rgba(17, 17, 28, 0.06);
	background: color-mix(in srgb, var(--bw-ac-ink) 3%, white);
	list-style: none;
}

.woocommerce-account .woocommerce-error {
	border-left-color: #d63638;
}

.woocommerce-account .woocommerce-info {
	border-left-color: var(--bw-ac-accent);
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
	display: none !important;
	content: none !important;
}

.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-error .button,
.woocommerce-account .woocommerce-message a.button,
.woocommerce-account .woocommerce-info a.button,
.woocommerce-account .woocommerce-error a.button {
	float: none !important;
	margin: 0 !important;
	flex-shrink: 0;
}

/* ── Orders table ── */
.woocommerce-account .woocommerce-orders-table,
.woocommerce-account table.shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--bw-ac-line);
	border-radius: var(--bw-ac-radius);
	overflow: hidden;
	background: #fff;
}

.woocommerce-account .woocommerce-orders-table thead th,
.woocommerce-account table.shop_table thead th {
	background: color-mix(in srgb, var(--bw-ac-ink) 4%, white);
	color: var(--bw-ac-ink);
	font-family: var(--bw-ac-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 14px 16px;
	border-bottom: 1px solid var(--bw-ac-line);
}

.woocommerce-account .woocommerce-orders-table tbody td,
.woocommerce-account table.shop_table tbody td {
	padding: 16px;
	border-bottom: 1px solid var(--bw-ac-line);
	vertical-align: middle;
	color: var(--bw-ac-text);
}

.woocommerce-account .woocommerce-orders-table tbody tr:last-child td,
.woocommerce-account table.shop_table tbody tr:last-child td {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a,
.woocommerce-account table.shop_table a {
	color: var(--bw-ac-accent-alt);
	font-weight: 600;
	text-decoration: none;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover,
.woocommerce-account table.shop_table a:hover {
	color: var(--bw-ac-ink);
	text-decoration: underline;
}

.woocommerce-account mark {
	background: color-mix(in srgb, var(--bw-ac-accent) 24%, transparent);
	color: var(--bw-ac-ink);
	padding: 0.1em 0.45em;
	border-radius: 4px;
	font-weight: 700;
}

/* ── Addresses / account details ── */
.woocommerce-account .woocommerce-Addresses,
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields {
	margin-top: 0;
}

.woocommerce-account .woocommerce-Addresses.col2-set {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	float: none;
	clear: both;
}

.woocommerce-account .woocommerce-Addresses.col2-set::before,
.woocommerce-account .woocommerce-Addresses.col2-set::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address,
.woocommerce-account .woocommerce-Addresses .u-column1,
.woocommerce-account .woocommerce-Addresses .u-column2 {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0;
}

.woocommerce-account .woocommerce-Address {
	background: color-mix(in srgb, var(--bw-ac-ink) 3%, white);
	border: 1px solid var(--bw-ac-line);
	border-radius: var(--bw-ac-radius);
	padding: 20px;
	box-shadow: 0 2px 12px rgba(17, 17, 28, 0.04);
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 16px;
}

.woocommerce-account .woocommerce-Address-title h2 {
	flex: 0 0 auto;
	width: 100%;
	margin: 0;
}

.woocommerce-account .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 8px 16px !important;
	font-size: 12px !important;
	white-space: nowrap;
	border-radius: 8px !important;
}

.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	line-height: 1.6;
	color: var(--bw-ac-text);
	margin: 0;
}

.woocommerce-account fieldset {
	border: 1px solid var(--bw-ac-line);
	border-radius: var(--bw-ac-radius);
	padding: 18px 20px 8px;
	margin: 0 0 20px;
}

.woocommerce-account fieldset legend {
	padding: 0 8px;
	font-family: var(--bw-ac-heading);
	font-weight: 700;
	color: var(--bw-ac-ink);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* ── My BattWrapz cards ── */
.woocommerce-account .bwbc-my-account__empty {
	padding: 24px;
	text-align: center;
	background: color-mix(in srgb, var(--bw-ac-accent) 8%, white);
	border: 1px dashed color-mix(in srgb, var(--bw-ac-accent) 45%, transparent);
	border-radius: var(--bw-ac-radius);
}

.woocommerce-account .bwbc-profiles__card {
	border-color: var(--bw-ac-line);
	box-shadow: 0 2px 12px rgba(17, 17, 28, 0.05);
	transition:
		box-shadow 0.2s ease,
		transform 0.2s ease;
}

.woocommerce-account .bwbc-profiles__card:hover {
	box-shadow: var(--bw-ac-shadow);
	transform: translateY(-2px);
}

.woocommerce-account .bwbc-profiles__title {
	border-bottom: 0;
	padding-bottom: 0;
	text-transform: none;
	letter-spacing: normal;
	font-family: var(--bw-ac-heading);
}

.woocommerce-account .bwbc-profiles__meta dt {
	color: var(--bw-ac-ink);
}

.woocommerce-account .bwbc-profiles__actions {
	margin-top: 4px;
}

/* ── Elementor My Account widget parity ── */
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-navigation,
.elementor-widget-woocommerce-my-account .woocommerce-MyAccount-content {
	background: var(--bw-ac-bg);
	border: 1px solid var(--bw-ac-line);
	border-radius: var(--bw-ac-radius);
	box-shadow: var(--bw-ac-shadow);
}

.elementor-widget-woocommerce-my-account .e-my-account-tab .woocommerce {
	max-width: none;
	padding-bottom: 0;
}

/* ── Responsive ── */
@media (max-width: 900px) {
	.woocommerce-account.logged-in .woocommerce,
	.woocommerce-account.logged-in .e-my-account-tab .woocommerce {
		grid-template-columns: 1fr;
	}

	.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
	.woocommerce-account.logged-in .woocommerce-MyAccount-content {
		grid-column: 1;
		grid-row: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		position: static;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-account #customer_login.col2-set,
	.woocommerce-account .woocommerce-Addresses.col2-set {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 560px) {
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
	}

	.woocommerce-account .woocommerce-orders-table thead {
		display: none;
	}

	.woocommerce-account .woocommerce-orders-table tbody tr {
		display: grid;
		gap: 8px;
		padding: 14px 0;
		border-bottom: 1px solid var(--bw-ac-line);
	}

	.woocommerce-account .woocommerce-orders-table tbody td {
		display: flex;
		justify-content: space-between;
		gap: 12px;
		padding: 0 16px;
		border: 0;
	}

	.woocommerce-account .woocommerce-orders-table tbody td::before {
		content: attr(data-title);
		font-weight: 700;
		color: var(--bw-ac-muted);
		font-size: 12px;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}
}
