/**
 * Laatukangas My Account v2
 *
 * Everything is intentionally scoped below .lk-account-v2 so the stylesheet
 * can coexist with the current Elementor My Account widget during testing.
 * WooCommerce continues to render and process all account functionality.
 */

.lk-account-v2 {
	--lk-account-ink: #2a2024;
	--lk-account-muted: #74696d;
	--lk-account-accent: #d3b7ab;
	--lk-account-accent-hover: #c6a497;
	--lk-account-button-hover: #b4988f;
	--lk-account-button-text: #fff;
	--lk-account-accent-dark: #745548;
	--lk-account-surface: #fbf8f6;
	--lk-account-surface-strong: #f3e8e3;
	--lk-account-border: #e5d8d2;
	--lk-account-white: #fff;
	--lk-account-success: #49654d;
	--lk-account-danger: #8a3f48;
	--lk-account-shadow: 0 14px 38px rgba(42, 32, 36, 0.07);
	--lk-account-radius: 16px;
	--lk-account-radius-small: 10px;
	color: var(--lk-account-ink);
	font-size: 14px;
	line-height: 1.55;
}

.lk-account-v2 *,
.lk-account-v2 *::before,
.lk-account-v2 *::after {
	box-sizing: border-box;
}

.lk-account-v2 a {
	color: var(--lk-account-accent-dark);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.lk-account-v2 a:hover,
.lk-account-v2 a:focus-visible {
	color: var(--lk-account-ink);
}

.lk-account-v2 h1,
.lk-account-v2 h2,
.lk-account-v2 h3,
.lk-account-v2 h4 {
	color: var(--lk-account-ink);
}

/* Keep native bold/strong emphasis refined rather than heavy. */
.lk-account-v2 strong,
.lk-account-v2 b {
	font-weight: 600;
}

/* -------------------------------------------------------------------------
 * Logged-in account shell
 * ---------------------------------------------------------------------- */

/* Elementor containers/widgets may carry their own intrinsic widths. Make the
 * shortcode branch itself a dependable full-width layout context before
 * placing WooCommerce's native navigation and content into columns. */
.lk-account-v2,
.lk-account-v2 .elementor-widget-shortcode,
.lk-account-v2 .elementor-widget-shortcode > .elementor-widget-container,
.lk-account-v2 .elementor-shortcode {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

body.woocommerce-account.logged-in .lk-account-v2 .elementor-shortcode > .woocommerce,
body.woocommerce-account.logged-in .lk-account-v2 > .woocommerce,
body.logged-in .lk-account-v2 .woocommerce {
	display: grid !important;
	grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) !important;
	grid-auto-flow: row !important;
	column-gap: clamp(24px, 3.2vw, 40px) !important;
	row-gap: 0 !important;
	align-items: start !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

/* Explicit placement is intentional. WooCommerce and extensions may add
 * empty notice wrappers or other siblings, and relying on grid auto-placement
 * can otherwise put navigation/content into the wrong cells. */
body.logged-in .lk-account-v2 .woocommerce > .woocommerce-MyAccount-navigation {
	grid-column: 1 !important;
	grid-row: 2 !important;
}

body.logged-in .lk-account-v2 .woocommerce > .woocommerce-MyAccount-content {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

body.logged-in .lk-account-v2 .woocommerce > .woocommerce-notices-wrapper,
body.logged-in .lk-account-v2 .woocommerce > .woocommerce-message,
body.logged-in .lk-account-v2 .woocommerce > .woocommerce-info,
body.logged-in .lk-account-v2 .woocommerce > .woocommerce-error {
	grid-column: 1 / -1 !important;
	grid-row: 1 !important;
}

/* Empty notice wrappers must not create visual space above the account grid. */
body.logged-in .lk-account-v2 .woocommerce > .woocommerce-notices-wrapper:empty {
	display: none !important;
}

.lk-account-v2 .woocommerce-MyAccount-navigation,
.lk-account-v2 .woocommerce-MyAccount-content {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
}

.lk-account-v2 .woocommerce-MyAccount-navigation {
	padding: 10px;
	border: 1px solid var(--lk-account-border);
	border-radius: var(--lk-account-radius);
	background: var(--lk-account-surface);
	box-shadow: 0 10px 28px rgba(42, 32, 36, 0.045);
}


.lk-account-v2 .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lk-account-v2 .woocommerce-MyAccount-navigation li {
	margin: 0;
	padding: 0;
	border: 0;
}

.lk-account-v2 .woocommerce-MyAccount-navigation li + li {
	margin-top: 2px;
}

.lk-account-v2 .woocommerce-MyAccount-navigation a {
	display: block;
	position: relative;
	padding: 10px 12px 10px 14px;
	border-radius: 9px;
	color: var(--lk-account-ink);
	font-size: 14px;
	font-weight: 520;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 0.16s ease, color 0.16s ease;
}

.lk-account-v2 .woocommerce-MyAccount-navigation a:hover,
.lk-account-v2 .woocommerce-MyAccount-navigation a:focus-visible {
	background: rgba(211, 183, 171, 0.23);
	color: var(--lk-account-ink);
	outline: 0;
}

.lk-account-v2 .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--lk-account-surface-strong);
	color: var(--lk-account-ink);
	font-weight: 600;
}

.lk-account-v2 .woocommerce-MyAccount-navigation li.is-active a::before {
	position: absolute;
	top: 9px;
	bottom: 9px;
	left: 0;
	width: 3px;
	border-radius: 0 3px 3px 0;
	background: var(--lk-account-accent-dark);
	content: "";
}

.lk-account-v2 .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px !important;
	padding-top: 8px !important;
	border-top: 1px solid var(--lk-account-border) !important;
}

.lk-account-v2 .woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--lk-account-muted);
}

.lk-account-v2 .woocommerce-MyAccount-content {
	min-width: 0;
	color: var(--lk-account-ink);
}

.lk-account-v2 .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

.lk-account-v2 .woocommerce-MyAccount-content > p {
	max-width: 780px;
	color: var(--lk-account-muted);
}

.lk-account-v2 .woocommerce-MyAccount-content > p strong,
.lk-account-v2 .woocommerce-MyAccount-content > p mark {
	color: var(--lk-account-ink);
}


/* -------------------------------------------------------------------------
 * Endpoint-aware content heading
 * ---------------------------------------------------------------------- */

/* The PHP hook is shared by every native My Account renderer. Keep the title
 * invisible unless this is the opt-in v2 wrapper, so a legacy Elementor My
 * Account widget can coexist during rollout without displaying a duplicate. */
.lk-account-page-heading {
	display: none;
}

.lk-account-v2 .lk-account-page-heading {
	display: block;
	margin: 0 0 20px;
	padding: 0 2px;
}

.lk-account-v2 .lk-account-page-title {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--lk-account-ink) !important;
	font-size: clamp(30px, 3.1vw, 38px) !important;
	font-weight: 500 !important;
	line-height: 1.14 !important;
	letter-spacing: 0 !important;
}


/* -------------------------------------------------------------------------
 * Notices
 * ---------------------------------------------------------------------- */

.lk-account-v2 .woocommerce-message,
.lk-account-v2 .woocommerce-info,
.lk-account-v2 .woocommerce-error {
	position: relative;
	margin: 0 0 22px !important;
	padding: 15px 18px 15px 46px !important;
	border: 1px solid var(--lk-account-border) !important;
	border-radius: 12px;
	background: var(--lk-account-surface) !important;
	box-shadow: none;
	color: var(--lk-account-ink) !important;
	font-size: 14px;
	line-height: 1.5;
}

.lk-account-v2 .woocommerce-message::before,
.lk-account-v2 .woocommerce-info::before,
.lk-account-v2 .woocommerce-error::before {
	position: absolute !important;
	top: 15px !important;
	left: 18px !important;
	margin: 0 !important;
	transform: none !important;
	width: 16px;
	line-height: 1.5 !important;
	text-align: center;
	color: var(--lk-account-accent-dark) !important;
}

.lk-account-v2 .woocommerce-error {
	border-color: rgba(138, 63, 72, 0.28) !important;
}

/* -------------------------------------------------------------------------
 * Shared buttons
 * ---------------------------------------------------------------------- */

.lk-account-v2 .button,
.lk-account-v2 button.button,
.lk-account-v2 input.button,
.lk-account-v2 a.button,
.lk-account-v2 .woocommerce-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 12px 28px !important;
	border: 1px solid var(--lk-account-accent) !important;
	border-radius: 9999px !important;
	background: var(--lk-account-accent) !important;
	box-shadow:
		inset 0 -1px 0 rgba(0, 0, 0, 0.04),
		0 1px 0 rgba(0, 0, 0, 0.02),
		0 2px 6px rgba(0, 0, 0, 0.04) !important;
	color: var(--lk-account-button-text) !important;
	font-family: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: 0.005em;
	text-align: center;
	text-decoration: none !important;
	text-shadow: 0 0.5px 0.6px rgba(0, 0, 0, 0.16) !important;
	-webkit-text-stroke: 0.25px rgba(0, 0, 0, 0.12);
	transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.02s ease;
}

.lk-account-v2 .button:hover,
.lk-account-v2 button.button:hover,
.lk-account-v2 input.button:hover,
.lk-account-v2 a.button:hover,
.lk-account-v2 .woocommerce-button:hover,
.lk-account-v2 .button:focus-visible,
.lk-account-v2 button.button:focus-visible,
.lk-account-v2 input.button:focus-visible,
.lk-account-v2 a.button:focus-visible,
.lk-account-v2 .woocommerce-button:focus-visible {
	border-color: var(--lk-account-button-hover) !important;
	background: var(--lk-account-button-hover) !important;
	color: var(--lk-account-button-text) !important;
	box-shadow:
		inset 0 -1px 0 rgba(0, 0, 0, 0.05),
		0 1px 0 rgba(0, 0, 0, 0.03),
		0 3px 10px rgba(0, 0, 0, 0.06) !important;
	outline: 0;
}

.lk-account-v2 .button:focus-visible,
.lk-account-v2 button.button:focus-visible,
.lk-account-v2 input.button:focus-visible,
.lk-account-v2 a.button:focus-visible,
.lk-account-v2 .woocommerce-button:focus-visible {
	box-shadow: 0 0 0 3px rgba(211, 183, 171, 0.3) !important;
}

/* -------------------------------------------------------------------------
 * Orders listing
 * ---------------------------------------------------------------------- */

.lk-account-v2 table.shop_table,
.lk-account-v2 table.woocommerce-orders-table,
.lk-account-v2 table.woocommerce-table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--lk-account-border) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	border-radius: 12px;
	background: var(--lk-account-white);
	font-size: 14px;
	line-height: 1.45;
	overflow: hidden;
}

.lk-account-v2 table.shop_table th,
.lk-account-v2 table.shop_table td,
.lk-account-v2 table.woocommerce-orders-table th,
.lk-account-v2 table.woocommerce-orders-table td,
.lk-account-v2 table.woocommerce-table th,
.lk-account-v2 table.woocommerce-table td {
	padding: 13px 15px;
	border: 0 !important;
	border-bottom: 1px solid var(--lk-account-border) !important;
	background: var(--lk-account-white);
	color: var(--lk-account-ink);
	vertical-align: middle;
}

.lk-account-v2 table.shop_table thead th,
.lk-account-v2 table.woocommerce-orders-table thead th,
.lk-account-v2 table.woocommerce-table thead th {
	padding-top: 11px;
	padding-bottom: 11px;
	background: var(--lk-account-surface-strong);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.045em;
	text-transform: uppercase;
}

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

.lk-account-v2 .woocommerce-orders-table__cell-order-number a {
	color: var(--lk-account-ink);
	font-weight: 600;
}

.lk-account-v2 .woocommerce-orders-table__cell-order-actions {
	white-space: nowrap;
}

.lk-account-v2 .woocommerce-orders-table__cell-order-actions .button {
	min-height: 36px;
	margin: 2px 0 2px 5px;
	padding: 8px 15px !important;
	border-radius: 9999px !important;
	font-size: 12px !important;
}

.lk-account-v2 .woocommerce-pagination {
	margin-top: 20px;
}

.lk-account-v2 .woocommerce-pagination .woocommerce-button + .woocommerce-button {
	margin-left: 8px;
}

/* -------------------------------------------------------------------------
 * Single order: same visual language as guest tracking
 * ---------------------------------------------------------------------- */

.lk-account-v2 .woocommerce-MyAccount-content > .order-info {
	position: relative;
	margin: 0 0 26px;
	padding: 17px 20px 17px 24px;
	border: 1px solid var(--lk-account-border);
	border-radius: 12px;
	background: var(--lk-account-surface);
	color: var(--lk-account-ink);
	font-size: 15px;
	line-height: 1.6;
}

.lk-account-v2 .woocommerce-MyAccount-content > .order-info::before {
	position: absolute;
	top: 14px;
	bottom: 14px;
	left: 0;
	width: 4px;
	border-radius: 0 4px 4px 0;
	background: var(--lk-account-accent);
	content: "";
}

.lk-account-v2 .woocommerce-MyAccount-content > .order-info mark {
	padding: 0;
	background: transparent;
	color: var(--lk-account-ink);
	font-weight: 600;
}

.lk-account-v2 .lk-jt-delivery-status,
.lk-account-v2 .lk-jt-summary,
.lk-account-v2 .woocommerce-order-details,
.lk-account-v2 .woocommerce-order-downloads,
.lk-account-v2 .woocommerce-customer-details {
	margin: 0 0 28px !important;
	padding: clamp(20px, 3vw, 30px) !important;
	border: 1px solid var(--lk-account-border) !important;
	border-radius: var(--lk-account-radius) !important;
	background: var(--lk-account-white) !important;
	box-shadow: var(--lk-account-shadow);
}

.lk-account-v2 .lk-jt-delivery-status,
.lk-account-v2 .lk-jt-summary {
	background: var(--lk-account-surface) !important;
	box-shadow: none;
}

.lk-account-v2 .lk-jt-delivery-status h2,
.lk-account-v2 .lk-jt-summary h2,
.lk-account-v2 .woocommerce-order-details__title,
.lk-account-v2 .woocommerce-order-downloads__title,
.lk-account-v2 .woocommerce-customer-details > h2 {
	margin: 0 0 18px !important;
	color: var(--lk-account-ink);
	font-size: clamp(21px, 2.4vw, 27px) !important;
	font-weight: 600;
	line-height: 1.25 !important;
}

.lk-account-v2 .lk-jt-delivery-status ul {
	margin: 10px 0 0 !important;
	padding-left: 24px !important;
	border-left: 2px solid var(--lk-account-accent);
	list-style: none;
}

.lk-account-v2 .lk-jt-delivery-status li {
	position: relative;
	margin: 0 0 12px;
}

.lk-account-v2 .lk-jt-delivery-status li:last-child {
	margin-bottom: 0;
}

.lk-account-v2 .lk-jt-delivery-status li::before {
	position: absolute;
	top: 0.45em;
	left: -30px;
	width: 10px;
	height: 10px;
	border: 2px solid var(--lk-account-surface);
	border-radius: 50%;
	background: var(--lk-account-accent-dark);
	box-shadow: 0 0 0 1px var(--lk-account-accent);
	content: "";
}

.lk-account-v2 .lk-jt-delivery-status small,
.lk-account-v2 .lk-jt-summary small {
	color: var(--lk-account-muted);
}

.lk-account-v2 .woocommerce-order-details table.shop_table {
	margin: 0;
	box-shadow: none;
}

.lk-account-v2 .woocommerce-order-details table.shop_table .product-name {
	width: 72%;
}

.lk-account-v2 .woocommerce-order-details table.shop_table .product-total {
	width: 28%;
	text-align: right;
}

.lk-account-v2 .woocommerce-order-details table.shop_table tbody .product-name > a,
.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-title > a {
	color: var(--lk-account-ink);
	font-weight: 600;
}

.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-heading {
	align-items: flex-start !important;
	gap: 11px !important;
}

.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-thumb-wrap {
	flex: 0 0 48px !important;
}

.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-thumb {
	display: block !important;
	width: 48px !important;
	height: 48px !important;
	max-width: 48px !important;
	border-radius: 6px !important;
	object-fit: cover !important;
}

.lk-account-v2 .woocommerce-order-details .wc-item-meta {
	margin: 5px 0 0;
	padding: 0;
	color: var(--lk-account-muted);
	font-size: 12px;
	list-style: none;
}

.lk-account-v2 .woocommerce-order-details .wc-item-meta li,
.lk-account-v2 .woocommerce-order-details .wc-item-meta p {
	display: inline;
	margin: 0;
}

.lk-account-v2 .woocommerce-order-details .lk-jt-inventory-item-status {
	margin: 5px 0 0 !important;
	color: var(--lk-account-accent-dark) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

.lk-account-v2 .woocommerce-order-details .lk-jt-inventory-item-status--received {
	color: var(--lk-account-success) !important;
}

.lk-account-v2 .woocommerce-order-details table.shop_table tfoot th,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot td {
	background: var(--lk-account-surface);
}

.lk-account-v2 .woocommerce-order-details table.shop_table tfoot th,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot td,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot td .amount,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot td bdi,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot td strong {
	font-weight: 500 !important;
}

.lk-account-v2 .woocommerce-order-details table.shop_table tfoot th {
	font-weight: 550 !important;
}

.lk-account-v2 .woocommerce-order-details table.shop_table tfoot td {
	text-align: right;
}

/* Keep the final grand total distinct without returning to WooCommerce's
 * rather heavy default 700 weight. */
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child th,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child td,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child td .amount,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child td bdi,
.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child td strong {
	font-weight: 600 !important;
	border-bottom: 0 !important;
}

/* Customer / billing / shipping details. Keep WooCommerce content intact.
 * WooCommerce themes/plugins often attach float, width or even grid-placement
 * rules to col-1 / col-2. Make these native two-column groups deterministic so
 * cards cannot jump diagonally into separate rows. */
.lk-account-v2 .woocommerce-customer-details .woocommerce-columns,
.lk-account-v2 .woocommerce-customer-details .col2-set,
.lk-account-v2 .woocommerce-Addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	grid-auto-flow: row !important;
	grid-auto-columns: minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.lk-account-v2 .woocommerce-customer-details .woocommerce-columns > :nth-child(1),
.lk-account-v2 .woocommerce-customer-details .col2-set > :nth-child(1),
.lk-account-v2 .woocommerce-Addresses > :nth-child(1) {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.lk-account-v2 .woocommerce-customer-details .woocommerce-columns > :nth-child(2),
.lk-account-v2 .woocommerce-customer-details .col2-set > :nth-child(2),
.lk-account-v2 .woocommerce-Addresses > :nth-child(2) {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

.lk-account-v2 .woocommerce-customer-details .woocommerce-column,
.lk-account-v2 .woocommerce-customer-details .col-1,
.lk-account-v2 .woocommerce-customer-details .col-2,
.lk-account-v2 .woocommerce-Address {
	float: none !important;
	clear: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 18px !important;
	border: 1px solid var(--lk-account-border);
	border-radius: 12px;
	background: var(--lk-account-surface);
}

.lk-account-v2 .woocommerce-customer-details .woocommerce-column__title,
.lk-account-v2 .woocommerce-Address-title h2,
.lk-account-v2 .woocommerce-Address-title h3 {
	margin: 0 0 12px !important;
	font-size: 17px !important;
	font-weight: 600;
	line-height: 1.3;
}

.lk-account-v2 .woocommerce-customer-details address,
.lk-account-v2 .woocommerce-Address address {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--lk-account-ink);
	font-style: normal;
	line-height: 1.65;
}

/* Pickup-point extensions commonly inject a bare H3 inside the shipping
 * address. Keep it as a compact address subheading instead of inheriting the
 * site's full H3 display typography. */
.lk-account-v2 .woocommerce-customer-details address h3,
.lk-account-v2 .woocommerce-Address address h3 {
	margin: 14px 0 4px !important;
	padding: 0 !important;
	font-family: Poppins, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.lk-account-v2 .woocommerce-Address-title {
	display: flex;
	gap: 12px;
	align-items: baseline;
	justify-content: space-between;
}

.lk-account-v2 .woocommerce-Address-title .edit {
	float: none;
	color: var(--lk-account-accent-dark);
	font-size: 12px;
	font-weight: 600;
}

/* -------------------------------------------------------------------------
 * Forms and account data
 * ---------------------------------------------------------------------- */

.lk-account-v2 form.woocommerce-EditAccountForm,
.lk-account-v2 form.woocommerce-address-fields,
.lk-account-v2 form.woocommerce-ResetPassword,
.lk-account-v2 form.woocommerce-form-login,
.lk-account-v2 form.woocommerce-form-register {
	margin: 0;
	padding: clamp(20px, 3vw, 28px);
	border: 1px solid var(--lk-account-border);
	border-radius: var(--lk-account-radius);
	background: var(--lk-account-white);
	box-shadow: var(--lk-account-shadow);
}

.lk-account-v2 .form-row {
	float: none;
	margin: 0 0 16px;
	padding: 0;
}

.lk-account-v2 .form-row-first,
.lk-account-v2 .form-row-last {
	width: calc(50% - 8px);
}

.lk-account-v2 .form-row-first {
	float: left;
}

.lk-account-v2 .form-row-last {
	float: right;
}

.lk-account-v2 .form-row-wide {
	clear: both;
	width: 100%;
}

.lk-account-v2 label {
	display: block;
	margin: 0 0 7px;
	color: var(--lk-account-ink);
	font-size: 13px;
	font-weight: 600;
}

.lk-account-v2 input.input-text,
.lk-account-v2 input[type="text"],
.lk-account-v2 input[type="email"],
.lk-account-v2 input[type="password"],
.lk-account-v2 input[type="tel"],
.lk-account-v2 input[type="number"],
.lk-account-v2 textarea,
.lk-account-v2 select,
.lk-account-v2 .select2-container .select2-selection--single {
	width: 100%;
	min-height: 44px;
	padding: 9px 11px;
	border: 1px solid var(--lk-account-border) !important;
	border-radius: 7px !important;
	background: var(--lk-account-white) !important;
	box-shadow: none !important;
	color: var(--lk-account-ink) !important;
	font: inherit;
	font-size: 14px;
}

.lk-account-v2 textarea {
	min-height: 110px;
	resize: vertical;
}

.lk-account-v2 .select2-container .select2-selection--single {
	padding-top: 6px;
	padding-bottom: 6px;
}

.lk-account-v2 .select2-container .select2-selection--single .select2-selection__rendered {
	padding-left: 0;
	color: var(--lk-account-ink);
	line-height: 30px;
}

.lk-account-v2 input.input-text:focus,
.lk-account-v2 input[type="text"]:focus,
.lk-account-v2 input[type="email"]:focus,
.lk-account-v2 input[type="password"]:focus,
.lk-account-v2 input[type="tel"]:focus,
.lk-account-v2 input[type="number"]:focus,
.lk-account-v2 textarea:focus,
.lk-account-v2 select:focus,
.lk-account-v2 .select2-container--focus .select2-selection--single,
.lk-account-v2 .select2-container--open .select2-selection--single {
	border-color: var(--lk-account-accent-dark) !important;
	box-shadow: 0 0 0 3px rgba(211, 183, 171, 0.28) !important;
	outline: 0;
}

.lk-account-v2 fieldset {
	clear: both;
	margin: 24px 0 18px;
	padding: 18px;
	border: 1px solid var(--lk-account-border);
	border-radius: 12px;
	background: var(--lk-account-surface);
}

.lk-account-v2 fieldset legend {
	padding: 0 8px;
	color: var(--lk-account-ink);
	font-size: 14px;
	font-weight: 600;
}

.lk-account-v2 .woocommerce-form__label-for-checkbox,
.lk-account-v2 .woocommerce-form-login__rememberme {
	display: inline-flex;
	gap: 7px;
	align-items: center;
	font-weight: 500;
}

.lk-account-v2 .woocommerce-form__label-for-checkbox input,
.lk-account-v2 .woocommerce-form-login__rememberme input {
	width: auto;
	margin: 0;
}

.lk-account-v2 .woocommerce-LostPassword {
	margin-bottom: 0;
}

/* Logged-out login/register page, still using native WooCommerce forms.
 * On desktop the two related actions sit side by side; narrower screens stack
 * them so neither form becomes cramped. */
.lk-account-v2 #customer_login {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(24px, 3vw, 36px);
	align-items: start;
	width: 100%;
}

/* Place both native WooCommerce columns explicitly. Themes and Elementor can
 * attach their own float/position/grid rules to .col-1 and .col-2; without an
 * explicit grid cell they can otherwise end up diagonally on separate rows. */
.lk-account-v2 #customer_login > .col-1,
.lk-account-v2 #customer_login > .col-2 {
	float: none !important;
	clear: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	bottom: auto !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.lk-account-v2 #customer_login > .col-1 {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.lk-account-v2 #customer_login > .col-2 {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* A legacy site-wide rule may give the login form a fixed height. The v2
 * account layout must be allowed to size naturally to its native content. */
.lk-account-v2 #customer_login form.woocommerce-form-login,
.lk-account-v2 #customer_login form.woocommerce-form-register {
	height: auto !important;
	min-height: 100%;
}

.lk-account-v2 #customer_login h2 {
	margin: 0 0 14px;
	font-size: 24px;
}

/* -------------------------------------------------------------------------
 * Misc native WooCommerce account sections
 * ---------------------------------------------------------------------- */

.lk-account-v2 .woocommerce-PaymentMethods,
.lk-account-v2 .woocommerce-payment-methods,
.lk-account-v2 .woocommerce-table--order-downloads {
	margin-bottom: 24px;
}

.lk-account-v2 .woocommerce-MyAccount-content .woocommerce-info .button {
	margin-left: 12px;
}

.lk-account-v2 .woocommerce-MyAccount-content .woocommerce-Addresses + form,
.lk-account-v2 .woocommerce-MyAccount-content .woocommerce-address-fields {
	margin-top: 22px;
}

/* -------------------------------------------------------------------------
 * Responsive
 * ---------------------------------------------------------------------- */

@media (max-width: 900px) {
	/* Tablet and mobile: use the SAME selector strength as the desktop shell.
	 * The desktop rule is intentionally !important, so a shorter selector would
	 * lose the cascade even when declared later. */
	body.woocommerce-account.logged-in .lk-account-v2 .elementor-shortcode > .woocommerce,
	body.woocommerce-account.logged-in .lk-account-v2 > .woocommerce,
	body.logged-in .lk-account-v2 .woocommerce {
		display: block !important;
		grid-template-columns: minmax(0, 1fr) !important;
		grid-auto-flow: row !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
	}

	body.logged-in .lk-account-v2 .woocommerce > .woocommerce-MyAccount-navigation,
	body.logged-in .lk-account-v2 .woocommerce > .woocommerce-MyAccount-content {
		display: block !important;
		width: 100% !important;
		max-width: none !important;
		grid-column: auto !important;
		grid-row: auto !important;
	}

	.lk-account-v2 .woocommerce-MyAccount-navigation {
		margin-bottom: 24px;
	}

	/* Login/register: stack before the forms become too narrow. */
	.lk-account-v2 #customer_login {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.lk-account-v2 #customer_login > .col-1,
	.lk-account-v2 #customer_login > .col-2 {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

@media (max-width: 767px) {

	.lk-account-v2 .woocommerce-MyAccount-navigation {
		position: static;
		margin: 0 0 24px;
		padding: 8px;
	}

	.lk-account-v2 .woocommerce-MyAccount-navigation ul {
		display: grid;
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 3px;
	}

	.lk-account-v2 .woocommerce-MyAccount-navigation li + li {
		margin-top: 0;
	}

	.lk-account-v2 .woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 3px !important;
		padding-top: 0 !important;
		border-top: 0 !important;
	}

	.lk-account-v2 .woocommerce-MyAccount-navigation a {
		height: 100%;
		padding: 9px 10px 9px 12px;
		font-size: 13px;
	}

	.lk-account-v2 .woocommerce-MyAccount-content > .order-info {
		padding: 15px 16px 15px 20px;
		font-size: 14px;
	}

	.lk-account-v2 .lk-jt-delivery-status,
	.lk-account-v2 .lk-jt-summary,
	.lk-account-v2 .woocommerce-order-details,
	.lk-account-v2 .woocommerce-order-downloads,
	.lk-account-v2 .woocommerce-customer-details {
		padding: 17px !important;
		border-radius: 12px !important;
	}

	.lk-account-v2 .woocommerce-customer-details .woocommerce-columns,
	.lk-account-v2 .woocommerce-customer-details .col2-set,
	.lk-account-v2 .woocommerce-Addresses,
	.lk-account-v2 #customer_login {
		grid-template-columns: 1fr !important;
	}

	.lk-account-v2 .woocommerce-customer-details .woocommerce-columns > :nth-child(1),
	.lk-account-v2 .woocommerce-customer-details .woocommerce-columns > :nth-child(2),
	.lk-account-v2 .woocommerce-customer-details .col2-set > :nth-child(1),
	.lk-account-v2 .woocommerce-customer-details .col2-set > :nth-child(2),
	.lk-account-v2 .woocommerce-Addresses > :nth-child(1),
	.lk-account-v2 .woocommerce-Addresses > :nth-child(2) {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.lk-account-v2 .form-row-first,
	.lk-account-v2 .form-row-last {
		float: none;
		width: 100%;
	}

	/* Native WooCommerce responsive order-table markup as clean cards. */
	.lk-account-v2 table.woocommerce-orders-table,
	.lk-account-v2 table.woocommerce-orders-table tbody,
	.lk-account-v2 table.woocommerce-orders-table tr,
	.lk-account-v2 table.woocommerce-orders-table td {
		display: block;
		width: 100%;
	}

	.lk-account-v2 table.woocommerce-orders-table {
		border: 0 !important;
		border-radius: 0;
		background: transparent;
		overflow: visible;
	}

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

	.lk-account-v2 table.woocommerce-orders-table tr {
		margin: 0 0 14px;
		padding: 9px 14px;
		border: 1px solid var(--lk-account-border);
		border-radius: 12px;
		background: var(--lk-account-white);
		box-shadow: 0 8px 22px rgba(42, 32, 36, 0.04);
	}

	.lk-account-v2 table.woocommerce-orders-table td {
		display: flex;
		gap: 14px;
		align-items: baseline;
		justify-content: space-between;
		padding: 9px 0;
		border-bottom: 1px solid var(--lk-account-border) !important;
		text-align: right !important;
	}

	.lk-account-v2 table.woocommerce-orders-table td:last-child {
		border-bottom: 0 !important;
	}

	.lk-account-v2 table.woocommerce-orders-table td::before {
		float: none !important;
		flex: 0 0 42%;
		color: var(--lk-account-muted);
		font-size: 11px;
		font-weight: 600;
		letter-spacing: 0.035em;
		text-align: left;
		text-transform: uppercase;
	}

	.lk-account-v2 .woocommerce-orders-table__cell-order-actions {
		align-items: center !important;
		justify-content: flex-end !important;
		padding-top: 12px !important;
	}

	.lk-account-v2 .woocommerce-orders-table__cell-order-actions::before {
		display: none;
	}

	.lk-account-v2 .woocommerce-orders-table__cell-order-actions .button {
		margin-left: 6px;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table {
		font-size: 12px;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table th,
	.lk-account-v2 .woocommerce-order-details table.shop_table td {
		padding: 10px 9px;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table .product-name {
		width: 65%;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table .product-total {
		width: 35%;
	}

	.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-thumb-wrap {
		flex-basis: 42px !important;
	}

	.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-thumb {
		width: 42px !important;
		height: 42px !important;
		max-width: 42px !important;
	}
}

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

	.lk-account-v2 .woocommerce-order-details table.shop_table .product-name {
		width: 68%;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table .product-total {
		width: 32%;
	}

	.lk-account-v2 .woocommerce-order-details .lk-jt-order-product-heading {
		gap: 8px !important;
	}
}

/* 2.4.1: Keep order-detail product cells isolated from generic mobile cart CSS.
   Some site-wide cart styling targets td.product-name without a cart scope and
   otherwise removes the left padding from My Account order details. */
@media (max-width: 900px) {
	body.woocommerce-account.logged-in .lk-account-v2 .woocommerce-order-details table.shop_table td.product-name {
		display: table-cell !important;
		width: 65% !important;
		margin-top: 0 !important;
		padding: 10px 9px !important;
		vertical-align: top !important;
	}

	body.woocommerce-account.logged-in .lk-account-v2 .woocommerce-order-details table.shop_table td.product-total {
		display: table-cell !important;
		width: 35% !important;
		margin-top: 0 !important;
		padding: 10px 9px !important;
		vertical-align: top !important;
	}
}

@media (max-width: 480px) {
	body.woocommerce-account.logged-in .lk-account-v2 .woocommerce-order-details table.shop_table td.product-name {
		width: 68% !important;
	}

	body.woocommerce-account.logged-in .lk-account-v2 .woocommerce-order-details table.shop_table td.product-total {
		width: 32% !important;
	}
}


@media (max-width: 900px) {
	.lk-account-v2 .lk-account-page-heading {
		margin-bottom: 16px;
	}

	.lk-account-v2 .lk-account-page-title {
		font-size: clamp(26px, 8vw, 32px) !important;
	}
}


/* 2.4.7: On narrow screens the order-details section is already a card.
 * Remove the table's second nested card frame so useful content gets the width. */
@media (max-width: 767px) {
	.lk-account-v2 .woocommerce-order-details {
		padding: 14px !important;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table {
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		overflow: visible !important;
		background: transparent !important;
	}
}


/* 2.4.8: Keep the compact mobile order table visually aligned with guest tracking.
 * The section itself is the only card, but the coloured header and final summary
 * row retain rounded outer corners. */
@media (max-width: 767px) {
	.lk-account-v2 .woocommerce-order-details table.shop_table thead th:first-child {
		border-top-left-radius: 10px !important;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table thead th:last-child {
		border-top-right-radius: 10px !important;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child th:first-child {
		border-bottom-left-radius: 10px !important;
	}

	.lk-account-v2 .woocommerce-order-details table.shop_table tfoot tr:last-child td:last-child {
		border-bottom-right-radius: 10px !important;
	}
}
