/*
 * Locked In Fightwear: My Account as the old site's customer portal (includes/account.php).
 * Loaded on account pages after shop.css.
 */

.logged-in.woocommerce-account .page-header {
	display: none;
}
.lfw-eyebrow {
	margin: 0 0 12px;
	color: var(--lfw-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.35em;
	text-transform: uppercase;
}

/* Portal header. */
.lfw-portal__header {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	margin: 0 0 32px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
.lfw-portal__title {
	margin: 0;
	color: var(--lfw-text);
	font-family: var(--lfw-font-heading);
	font-size: clamp(2.25rem, 1.6rem + 2.6vw, 3.75rem);
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
}
.lfw-portal__welcome {
	margin: 12px 0 0;
	color: var(--lfw-text-muted);
}
.woocommerce a.button.lfw-portal__logout {
	flex: none;
}

/* Tabs: WooCommerce's account menu as a row of tabs, scrolling sideways on phones. */
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
	margin: 0 0 32px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	overflow-x: auto;
	scrollbar-width: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar {
	display: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex;
	gap: 32px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	flex: none;
	margin: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 0 0 14px;
	border-bottom: 2px solid transparent;
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
	color: var(--lfw-text);
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
	border-bottom-color: var(--lfw-gold);
	color: var(--lfw-gold);
}

/* Panels and stat cards. */
.lfw-portal {
	display: grid;
	gap: 24px;
}
.lfw-portal__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}
.lfw-stat,
.lfw-panel {
	min-width: 0;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: var(--lfw-surface);
}
.lfw-panel--gold {
	border-color: rgba(212, 175, 55, 0.3);
}
@media (min-width: 768px) {
	.lfw-panel {
		padding: 32px;
	}
}
.lfw-portal-icon {
	width: 22px;
	height: 22px;
	flex: none;
	fill: none;
	stroke: var(--lfw-gold);
	stroke-width: 1.75;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.lfw-stat .lfw-portal-icon {
	display: block;
	margin-bottom: 20px;
}
.lfw-stat__label {
	margin: 0;
	color: var(--lfw-text-muted);
	font-size: 0.8125rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.lfw-stat__value {
	margin: 8px 0 0;
	color: var(--lfw-text);
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.2;
}
.lfw-belt-pill {
	display: inline-flex;
	margin-top: 12px;
	padding: 4px 12px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.lfw-panel h2,
.lfw-panel .lfw-panel__title {
	margin: 0;
	color: var(--lfw-text);
	font-family: var(--lfw-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: none;
}
.lfw-panel .lfw-panel__title {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}
.lfw-muted {
	margin: 0;
	color: var(--lfw-text-muted);
	font-size: 0.875rem;
	line-height: 1.6;
}

/* Rank panel. */
.lfw-rank__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 20px;
}
.lfw-rank .lfw-eyebrow {
	margin-bottom: 8px;
	letter-spacing: 0.3em;
}
.lfw-rank__togo {
	margin: 0;
	color: var(--lfw-text-muted);
	font-size: 0.875rem;
}
.lfw-rank__bar {
	height: 8px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.1);
}
.lfw-rank__bar span {
	display: block;
	height: 100%;
	background: var(--lfw-gold);
}
.lfw-rank__ends {
	display: flex;
	justify-content: space-between;
	margin-top: 12px;
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.lfw-rank__note {
	margin: 20px 0 0;
	color: #c9c9c9;
	font-size: 0.875rem;
	line-height: 1.6;
}

/* Reward codes. */
.lfw-codes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}
.lfw-code {
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(13, 13, 13, 0.4);
}
.lfw-code__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
}
.lfw-code__title {
	margin: 0;
	color: var(--lfw-text);
	font-weight: 700;
}
.lfw-code__status {
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.lfw-code.is-available .lfw-code__status {
	color: var(--lfw-gold);
}
.lfw-code__meta {
	margin: 12px 0 0;
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
}
.lfw-code__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
}
.lfw-code__row code {
	padding: 0;
	background: none;
	color: var(--lfw-gold);
	font-size: 0.875rem;
	font-weight: 700;
	word-break: break-all;
}
/* .lfw-code__row: beats the Elementor kit's button style (big filled gold), which is for actions. */
.lfw-code__row .lfw-copy {
	min-height: 0;
	padding: 8px 14px;
	border: 1px solid rgba(212, 175, 55, 0.4);
	border-radius: 0;
	background: none;
	color: var(--lfw-gold);
	font-family: var(--lfw-font-body);
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}
.lfw-code__row .lfw-copy:hover,
.lfw-code__row .lfw-copy:focus-visible {
	background: var(--lfw-gold);
	color: #000;
}

/* Orders and saved details. */
.lfw-portal__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.7fr);
	gap: 24px;
	align-items: start;
}
.lfw-portal__side {
	display: grid;
	gap: 24px;
}
.lfw-orders {
	display: grid;
	gap: 16px;
}
.lfw-order {
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: rgba(13, 13, 13, 0.4);
}
.lfw-order summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px;
	cursor: pointer;
	list-style: none;
}
.lfw-order summary::-webkit-details-marker {
	display: none;
}
.lfw-order summary::after {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	margin-left: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-3px) rotate(45deg);
	transition: transform 0.2s ease;
}
.lfw-order[open] summary::after {
	transform: translateY(2px) rotate(-135deg);
}
.lfw-order summary > span:first-child {
	flex: 1;
	min-width: 0;
}
.lfw-order summary strong {
	display: block;
	color: var(--lfw-text);
}
.lfw-order summary small {
	display: block;
	margin-top: 4px;
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.lfw-order__total {
	color: var(--lfw-gold);
	font-weight: 700;
}
.lfw-order__body {
	padding: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Status tracker: Placed, Paid, Dispatched. */
.lfw-track {
	display: flex;
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.lfw-track li {
	position: relative;
	flex: 1;
	padding-top: 22px;
	color: var(--lfw-text-muted);
	font-size: 0.6875rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.lfw-track li:last-child {
	flex: none;
}
.lfw-track li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
}
.lfw-track li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 6px;
	left: 12px;
	right: 0;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}
.lfw-track li.is-done {
	color: var(--lfw-text);
}
.lfw-track li.is-done::before,
.lfw-track li.is-done:has(+ .is-done)::after {
	background: var(--lfw-gold);
}
.lfw-order__items {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.lfw-order__items li {
	display: flex;
	align-items: center;
	gap: 16px;
}
.lfw-order__items img {
	width: 56px;
	height: 56px;
	object-fit: cover;
}
.lfw-order__items div {
	flex: 1;
	min-width: 0;
}
.lfw-order__items p {
	margin: 0;
	color: var(--lfw-text);
	font-size: 0.875rem;
	font-weight: 600;
}
.lfw-order__items small {
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
}
.lfw-order__items li > span {
	color: #c9c9c9;
	font-size: 0.875rem;
}
.woocommerce-account a.lfw-order__link,
.woocommerce-account .lfw-orders__all a,
.woocommerce-account .lfw-empty a {
	display: inline-block;
	color: var(--lfw-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
}
.woocommerce-account a.lfw-order__link {
	margin-top: 20px;
}
.lfw-orders__all {
	margin: 20px 0 0;
}
.lfw-empty {
	padding: 32px;
	border: 1px dashed rgba(255, 255, 255, 0.2);
	text-align: center;
}
.lfw-empty p {
	margin: 0 0 12px;
	color: var(--lfw-text);
}
.lfw-details {
	display: grid;
	gap: 16px;
	margin: 0 0 24px;
}
.lfw-details dt {
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
	font-weight: 400;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.lfw-details dd {
	margin: 4px 0 0;
	color: var(--lfw-text);
	overflow-wrap: anywhere;
}
.lfw-panel address {
	margin: 0;
	color: var(--lfw-text);
	font-style: normal;
	line-height: 1.7;
}
.lfw-details__saved {
	margin: 12px 0 0;
	color: var(--lfw-gold);
	font-size: 0.875rem;
}
.lfw-details__note {
	margin: 16px 0 24px;
	font-size: 0.8125rem;
}
.woocommerce .lfw-panel a.button.lfw-button--outline {
	display: block;
	text-align: center;
}

@media (max-width: 1024px) {
	.lfw-portal__grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.lfw-portal__side {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 767px) {
	.lfw-codes,
	.lfw-portal__side {
		grid-template-columns: minmax(0, 1fr);
	}
	/* Phones: orders and rank side by side, total invested across the row below. */
	.lfw-portal__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.lfw-stat {
		padding: 16px;
	}
	.lfw-stat:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
	.lfw-stat__label {
		font-size: 0.6875rem;
	}
	.lfw-stat__value {
		font-size: 1.5rem;
	}
	.lfw-stat .lfw-portal-icon {
		margin-bottom: 12px;
	}
	.lfw-portal__header {
		align-items: flex-start;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		gap: 24px;
	}
	.lfw-order summary,
	.lfw-order__body {
		padding: 16px;
	}
}

/* Intro lines on the account tabs ("The following addresses will be used..."). */
.woocommerce-MyAccount-content > p:first-child {
	margin: 0 0 24px;
	color: var(--lfw-text-muted);
}

/* Account details: the password section as a panel with a gold eyebrow, clear of Save. */
.woocommerce-EditAccountForm fieldset {
	margin: 32px 0;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: var(--lfw-surface);
}
.woocommerce-EditAccountForm fieldset legend {
	padding: 0 8px;
	margin-left: -8px;
	color: var(--lfw-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}
.woocommerce-EditAccountForm #account_display_name_description,
.woocommerce-EditAccountForm .form-row em {
	display: block;
	margin-top: 8px;
	color: var(--lfw-text-muted);
	font-size: 0.8125rem;
	font-style: normal;
}
.woocommerce-EditAccountForm > p:last-of-type {
	margin: 0;
}

/* Addresses: each address a panel, its title and Edit link on one line. */
.woocommerce-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
	display: none;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	margin: 0;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: var(--lfw-surface);
}
.woocommerce-account .woocommerce-Address-title {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 0 0 16px;
}
.woocommerce-account .addresses .woocommerce-Address-title::before,
.woocommerce-account .addresses .woocommerce-Address-title::after {
	display: none;
}
.woocommerce-account .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: 1.25rem;
}
.woocommerce-account .woocommerce-Address-title a.edit {
	float: none;
	color: var(--lfw-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-decoration: none;
	text-transform: uppercase;
}
.woocommerce-account .woocommerce-Address-title a.edit:hover {
	color: var(--lfw-text);
}
.woocommerce-account .woocommerce-Address address {
	margin: 0;
	color: #c9c9c9;
	font-style: normal;
	line-height: 1.7;
}
@media (max-width: 767px) {
	.woocommerce-account .woocommerce-Addresses {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Orders table: plain header row, small outline action buttons. */
.woocommerce-account table.shop_table thead th {
	border-bottom: 0;
}
.woocommerce-account table.shop_table td a:not(.button) {
	color: var(--lfw-gold);
	text-decoration: none;
}
.woocommerce-account table.shop_table td a.button {
	min-height: 36px;
	margin: 0 8px 0 0;
	padding: 8px 16px;
	background: none;
	border: 1px solid rgba(212, 175, 55, 0.5);
	color: var(--lfw-gold);
	font-size: 0.75rem;
}
.woocommerce-account table.shop_table td a.button:hover {
	background: var(--lfw-gold);
	color: #000;
}

/* My Belt tab (CC Rewards): the rank as a gold-edged panel, like the dashboard. */
.woocommerce-account .cc-rank-account .cc-rank {
	margin: 0 0 24px;
	padding: 24px;
	border: 1px solid rgba(212, 175, 55, 0.3);
	background: var(--lfw-surface);
}
.woocommerce-account .cc-rank-account__stats > div {
	border-color: rgba(255, 255, 255, 0.1);
	background: var(--lfw-surface);
}
.woocommerce-account .cc-rank-account__stats dt {
	color: var(--lfw-text-muted);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.woocommerce-account .cc-rank-account h3 {
	margin: 32px 0 12px;
}

/* View order: the sentence above the table and the addresses, as on order received. */
.woocommerce-account .woocommerce-MyAccount-content mark {
	padding: 0;
	background: none;
	color: var(--lfw-text);
	font-weight: 700;
}
/* Product names white, gold on hover, as at checkout (the table's other links stay gold). */
.woocommerce-account table.shop_table.woocommerce-table--order-details td.product-name a:not(.button) {
	color: var(--lfw-text);
	text-decoration: none;
}
.woocommerce-account table.shop_table.woocommerce-table--order-details td.product-name a:not(.button):hover {
	color: var(--lfw-gold);
}
.woocommerce-account .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}
.woocommerce-account .woocommerce-columns--addresses::before,
.woocommerce-account .woocommerce-columns--addresses::after {
	display: none;
}
.woocommerce-account .woocommerce-columns--addresses .woocommerce-column {
	display: flex;
	flex-direction: column;
	width: auto;
	float: none;
	margin: 0;
}
.woocommerce-account .woocommerce-customer-details address {
	flex: 1;
	padding: 16px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 0;
	background: var(--lfw-surface);
	color: #c9c9c9;
	font-style: normal;
}
@media (max-width: 767px) {
	.woocommerce-account .woocommerce-columns--addresses {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Sign in page: the "Create account" link in the account dropdown lands on Register. */
#cc-register {
	display: block;
	scroll-margin-top: 140px;
}

/* Preferences tab (CC Review Coupon, Mailchimp newsletter): the same panel as the password
   section on Account details. */
.woocommerce-account .cc-prefs-title {
	margin: 0 0 8px;
	font-size: 1.25rem;
}
.woocommerce-account .cc-prefs-intro {
	margin: 0 0 24px;
	color: var(--lfw-text-muted);
}
.woocommerce-account .cc-prefs-fieldset {
	margin: 0 0 32px;
	padding: 24px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	background: var(--lfw-surface);
}
.woocommerce-account .cc-prefs-legend {
	margin-left: -8px;
	padding: 0 8px;
	color: var(--lfw-gold);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
}
.woocommerce-account .cc-prefs-option label {
	gap: 10px;
	color: var(--lfw-text);
	font-size: 0.9375rem;
	line-height: 1.5;
}
.woocommerce-account .cc-prefs-option input[type="checkbox"] {
	margin-top: calc((1lh - 14px) / 2);
}
.woocommerce-account .cc-prefs-pending {
	color: var(--lfw-text-muted);
	font-size: 0.8125rem;
}

/*
 * Saved addresses (CC Saved Addresses) under Billing and Shipping: the same title-and-link
 * line and panels as the two address boxes above (colours and fonts come from shop.css).
 */
body.woocommerce-account .cchsa-address-book {
	margin-top: 40px !important;
	padding-top: 32px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-book__header {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin: 0 0 24px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-book__header h2 {
	margin: 0 !important;
	font-size: 1.25rem !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-form > h2 {
	font-size: 1.5rem !important;
}
body.woocommerce-account .woocommerce-MyAccount-content a.cchsa-add-address.button,
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card .cchsa-address-card__actions > a {
	font-family: var(--lfw-font-body) !important;
	font-size: 0.75rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.15em !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
	text-transform: uppercase !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card .cchsa-address-card__actions > a {
	color: var(--lfw-gold) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card .cchsa-address-card__actions > .cchsa-address-delete {
	color: var(--lfw-text-muted) !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card .cchsa-address-card__actions > a:hover {
	color: var(--lfw-text) !important;
}
body.woocommerce-account .cchsa-empty {
	color: var(--lfw-text-muted) !important;
	font-weight: 400 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-grid {
	gap: 24px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card {
	padding: 24px !important;
	border-radius: 0 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card h3 {
	margin: 0 0 16px !important;
	font-size: 1rem !important;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-grid .cchsa-address-card > address {
	min-height: 0 !important;
	margin: 0 0 20px !important;
	font-size: 1rem !important;
	font-weight: 400 !important;
	line-height: 1.7 !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .cchsa-address-card .cchsa-address-card__actions {
	padding-top: 16px !important;
}
