/**
 * WooCommerce My Account presentation.
 * Endpoint behavior, authentication, validation and form handling stay native.
 */

.dl-account .entry-content {
	margin-block: clamp(1.5rem, 4vw, 3.5rem);
}

.dl-account .entry-title {
	font-family: var(--dl-font-editorial);
	font-size: clamp(2rem, 4vw, 3rem);
	letter-spacing: -0.025em;
}

.dl-account .entry-content > .woocommerce {
	max-width: min(100%, var(--dl-content));
	margin-inline: auto;
}

.dl-account.logged-in .entry-content > .woocommerce {
	display: grid;
	grid-template-columns: minmax(230px, 280px) minmax(0, 1fr);
	gap: clamp(1.5rem, 3vw, 3rem);
	align-items: start;
}

.dl-account.logged-in .entry-content > .woocommerce::before,
.dl-account.logged-in .entry-content > .woocommerce::after {
	display: none;
}

.dl-account.logged-in .woocommerce-MyAccount-navigation,
.dl-account.logged-in .woocommerce-MyAccount-content {
	float: none;
	width: 100%;
	min-width: 0;
	justify-self: stretch;
}

.dl-account.logged-in .woocommerce-MyAccount-navigation {
	position: sticky;
	top: 8rem;
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-md);
	background: var(--dl-surface);
	overflow: hidden;
}

.dl-account .ast-wooaccount-user-wrapper {
	display: flex;
	gap: 0.85rem;
	align-items: center;
	padding: 1.25rem;
	border-bottom: 1px solid var(--dl-border);
	background: linear-gradient(135deg, var(--dl-surface), var(--dl-bg));
	text-align: left;
}

.dl-account .ast-wooaccount-user-wrapper img {
	width: 48px;
	height: 48px;
	margin: 0;
	border: 1px solid var(--dl-border);
	border-radius: 50%;
}

.dl-account .ast-wooaccount-user-wrapper .ast-username {
	min-width: 0;
	color: var(--dl-muted);
	font-size: 0.875rem;
	line-height: 1.35;
}

.dl-account .ast-wooaccount-user-wrapper strong {
	display: block;
	color: var(--dl-text);
	font-size: 1rem;
}

.dl-account .woocommerce-MyAccount-navigation ul {
	display: block;
	margin: 0;
	padding: 0.5rem;
	background: var(--dl-surface);
}

.dl-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link + .woocommerce-MyAccount-navigation-link {
	border: 0;
}

.dl-account .woocommerce-MyAccount-navigation ul li a {
	display: flex;
	gap: 0.75rem;
	align-items: center;
	width: 100%;
	min-height: 46px;
	padding: 0.7rem 0.85rem;
	border-radius: var(--dl-radius-sm);
	color: var(--dl-text);
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.dl-account .woocommerce-MyAccount-navigation-link .ahfb-svg-iconset {
	flex: 0 0 1.25rem;
	margin: 0;
	color: var(--dl-muted);
}

.dl-account .woocommerce-MyAccount-navigation-link.is-active a,
.dl-account .woocommerce-MyAccount-navigation-link a:hover {
	background: var(--dl-accent-soft);
	color: var(--dl-text);
}

.dl-account .woocommerce-MyAccount-navigation-link.is-active a::after {
	content: "";
	position: absolute;
	inset-block: 0.55rem;
	inset-inline-start: -0.5rem;
	width: 3px;
	border-radius: 999px;
	background: var(--dl-accent);
}

.dl-account .woocommerce-MyAccount-navigation-link.is-active::after,
.dl-account .woocommerce-MyAccount-navigation-link:hover::after {
	display: none;
}

.dl-account .woocommerce-MyAccount-navigation ul li a:focus,
.dl-account .woocommerce-MyAccount-navigation ul li a:focus-visible {
	outline: 2px solid var(--dl-accent);
	outline-offset: 2px;
}

.dl-account .woocommerce-MyAccount-content {
	padding: clamp(1.25rem, 3vw, 2rem);
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-md);
	background: var(--dl-surface);
	box-shadow: 0 1rem 2.5rem rgb(23 22 20 / 4%);
}

.dl-account .woocommerce-MyAccount-content > :first-child,
.dl-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:first-child + * {
	margin-top: 0;
}

.dl-account .woocommerce-MyAccount-content h2,
.dl-account .woocommerce-MyAccount-content h3,
.dl-account .woocommerce-order-details__title,
.dl-account .woocommerce-column__title {
	color: var(--dl-text);
	font-family: var(--dl-font-editorial);
	letter-spacing: -0.015em;
}

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

.dl-account .woocommerce-error,
.dl-account .woocommerce-message,
.dl-account .woocommerce-info {
	padding: 1rem 1.25rem 1rem 3rem;
	border: 1px solid var(--dl-border);
	border-top: 3px solid var(--dl-accent);
	border-radius: var(--dl-radius-sm);
	background: var(--dl-surface);
	box-shadow: none;
}

.dl-account .woocommerce-error {
	border-top-color: var(--dl-danger);
}

.dl-account .woocommerce-message {
	border-top-color: var(--dl-success);
}

.dl-account .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="tel"], select, textarea) {
	min-height: 46px;
	max-width: 100%;
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-sm);
	background: var(--dl-surface);
	color: var(--dl-text);
}

.dl-account .woocommerce :is(input.input-text, input[type="email"], input[type="password"], input[type="tel"], select, textarea):focus {
	border-color: var(--dl-accent);
	box-shadow: var(--dl-focus);
}

.dl-account .woocommerce form .form-row {
	margin-bottom: 1rem;
}

.dl-account .woocommerce form .form-row label {
	margin-bottom: 0.35rem;
	color: var(--dl-text);
	font-weight: 650;
}

.dl-account .woocommerce :is(button.button, a.button, input.button) {
	min-height: 44px;
	padding: 0.7rem 1rem;
	border: 1px solid var(--dl-text);
	border-radius: var(--dl-radius-sm);
	background: var(--dl-text);
	color: #fff;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
}

.dl-account .woocommerce :is(button.button, a.button, input.button):hover {
	border-color: var(--dl-accent);
	background: var(--dl-accent);
	color: #fff;
}

.dl-account:not(.logged-in) .entry-content > .woocommerce,
.dl-account.woocommerce-lost-password .entry-content > .woocommerce {
	max-width: 580px;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-md);
	background: var(--dl-surface);
	box-shadow: var(--dl-shadow-soft);
}

.dl-account:not(.logged-in) .entry-content > .woocommerce h2 {
	margin-bottom: 1.5rem;
	font-family: var(--dl-font-editorial);
	font-size: clamp(1.75rem, 4vw, 2.35rem);
}

.dl-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	align-items: center;
}

.dl-account .woocommerce-form-login__submit {
	margin-inline-start: auto;
}

.dl-account .woocommerce-LostPassword {
	text-align: left;
}

.dl-account .woocommerce-LostPassword a,
.dl-account .woocommerce-MyAccount-content a:not(.button),
.dl-account .dl-account-section-heading a {
	color: #754c28;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.dl-account-dashboard {
	margin-top: 2rem;
}

.dl-account-dashboard__intro {
	padding: 1.25rem;
	border-radius: var(--dl-radius-sm);
	background: var(--dl-bg);
}

.dl-account-dashboard__intro h2 {
	margin: 0 0 0.35rem;
	font-size: clamp(1.45rem, 3vw, 2rem);
}

.dl-account-dashboard__intro p {
	margin: 0;
	color: var(--dl-muted);
}

.dl-account-shortcuts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.75rem;
	margin-block: 1.5rem 2rem;
}

.dl-account .dl-account-shortcut {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.15rem 0.7rem;
	min-width: 0;
	padding: 1rem;
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-sm);
	color: var(--dl-text);
	text-decoration: none;
}

.dl-account .dl-account-shortcut:hover {
	border-color: var(--dl-accent);
	background: var(--dl-bg);
}

.dl-account-shortcut__icon {
	grid-row: 1 / span 2;
	display: grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--dl-accent-soft);
	color: #754c28;
	font-size: 1.15rem;
}

.dl-account-shortcut > span:last-child {
	color: var(--dl-muted);
	font-size: 0.8rem;
}

.dl-account-section-heading {
	display: flex;
	gap: 1rem;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 1rem;
}

.dl-account-section-heading h2 {
	margin: 0;
	font-size: clamp(1.35rem, 3vw, 1.75rem);
}

.dl-account-order-list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-sm);
	list-style: none;
	overflow: hidden;
}

.dl-account-order-list li {
	display: grid;
	grid-template-columns: minmax(150px, 1fr) auto auto auto;
	gap: 1rem;
	align-items: center;
	padding: 0.9rem 1rem;
}

.dl-account-order-list li + li {
	border-top: 1px solid var(--dl-border);
}

.dl-account-order-list li > div span {
	display: block;
	margin-top: 0.2rem;
	color: var(--dl-muted);
	font-size: 0.82rem;
}

.dl-account-order-status {
	padding: 0.3rem 0.55rem;
	border-radius: 999px;
	background: #edf5eb;
	color: #2f6b2a;
	font-size: 0.78rem;
	font-weight: 700;
}

.dl-account-empty {
	padding: clamp(1.5rem, 4vw, 2.5rem);
	border: 1px dashed #cfc4b7;
	border-radius: var(--dl-radius-sm);
	background: var(--dl-bg);
	text-align: center;
}

.dl-account-empty h3 {
	margin: 0 0 0.4rem;
}

.dl-account-empty p {
	max-width: 35rem;
	margin: 0 auto 1rem;
	color: var(--dl-muted);
}

.dl-account .woocommerce-orders-table,
.dl-account .woocommerce-table,
.dl-account .shop_table {
	width: 100%;
	border: 1px solid var(--dl-border);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: var(--dl-radius-sm);
	overflow: hidden;
}

.dl-account .woocommerce-orders-table th,
.dl-account .woocommerce-table th,
.dl-account .shop_table th {
	background: var(--dl-bg);
	color: var(--dl-text);
	font-size: 0.82rem;
	text-transform: none;
}

.dl-account .woocommerce-orders-table :is(th, td),
.dl-account .woocommerce-table :is(th, td),
.dl-account .shop_table :is(th, td) {
	padding: 0.85rem 0.9rem;
	border-color: var(--dl-border);
}

.dl-account .woocommerce-orders-table__cell-order-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
}

.dl-account .woocommerce-orders-table__cell-order-actions .button {
	min-height: 38px;
	padding: 0.5rem 0.7rem;
	font-size: 0.82rem;
}

.dl-account .woocommerce-pagination {
	display: flex;
	gap: 0.75rem;
	justify-content: space-between;
	margin-top: 1.5rem;
}

.dl-account .woocommerce-Addresses {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.dl-account .woocommerce-Addresses::before,
.dl-account .woocommerce-Addresses::after {
	display: none;
}

.dl-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	padding: 1.1rem;
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-sm);
}

.dl-account .woocommerce-Addresses .woocommerce-Address-title {
	display: flex;
	gap: 1rem;
	align-items: baseline;
	justify-content: space-between;
	padding: 0;
	border: 0;
	background: transparent;
}

.dl-account .woocommerce-Addresses .woocommerce-Address-title h2,
.dl-account .woocommerce-Addresses .woocommerce-Address-title h3 {
	margin: 0;
	font-size: 1.35rem;
}

.dl-account .woocommerce-Addresses address,
.dl-account .woocommerce-customer-details address {
	min-height: 0;
	padding: 0;
	border: 0;
	color: var(--dl-muted);
}

.dl-account .woocommerce-EditAccountForm fieldset {
	margin: 2rem 0 1rem;
	padding: 1.25rem;
	border: 1px solid var(--dl-border);
	border-radius: var(--dl-radius-sm);
}

.dl-account .woocommerce-EditAccountForm fieldset legend {
	width: auto;
	padding-inline: 0.5rem;
	border: 0;
	font-family: var(--dl-font-editorial);
	font-size: 1.35rem;
}

.dl-account .woocommerce-order-details,
.dl-account .woocommerce-customer-details {
	max-width: 100%;
	overflow-x: auto;
}

.dl-account-menu-toggle {
	display: none;
}

@media (max-width: 921px) {
	.dl-account.logged-in .entry-content > .woocommerce {
		grid-template-columns: minmax(210px, 240px) minmax(0, 1fr);
		gap: 1.25rem;
	}

	.dl-account-shortcuts {
		grid-template-columns: 1fr;
	}

	.dl-account-order-list li {
		grid-template-columns: minmax(140px, 1fr) auto;
	}

	.dl-account-order-list .button {
		justify-self: start;
	}
}

@media (max-width: 767px) {
	.dl-account .entry-content {
		margin-block: 1.25rem 2rem;
	}

	.dl-account .entry-title {
		font-size: 2rem;
	}

	.dl-account.logged-in .entry-content > .woocommerce {
		display: block;
	}

	.dl-account.logged-in .woocommerce-MyAccount-navigation {
		position: static;
		margin-bottom: 1rem;
	}

	.dl-account .ast-wooaccount-user-wrapper {
		padding: 1rem;
		text-align: left;
	}

	.dl-account-menu-toggle {
		display: flex;
		gap: 1rem;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 58px;
		padding: 0.75rem 1rem;
		border: 0;
		border-bottom: 1px solid var(--dl-border);
		background: var(--dl-surface);
		color: var(--dl-text);
		text-align: left;
	}

	.dl-account-menu-toggle__eyebrow {
		display: block;
		margin-bottom: 0.1rem;
		color: var(--dl-muted);
		font-size: 0.72rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.05em;
	}

	.dl-account-menu-toggle__chevron {
		font-size: 1.35rem;
		transition: transform 180ms ease;
	}

	.dl-account-menu-toggle[aria-expanded="true"] .dl-account-menu-toggle__chevron {
		transform: rotate(180deg);
	}

	.dl-account.dl-account-menu-ready .woocommerce-MyAccount-navigation[data-menu-open="false"] > ul {
		display: none;
	}

	.dl-account .woocommerce-MyAccount-navigation ul {
		display: block;
		margin: 0;
		padding: 0.5rem;
	}

	.dl-account .woocommerce-MyAccount-navigation ul li a {
		padding-inline: 0.85rem;
	}

	.dl-account .woocommerce-MyAccount-content {
		padding: 1rem;
	}

	.dl-account-shortcuts {
		grid-template-columns: 1fr;
		margin-block: 1rem 1.5rem;
	}

	.dl-account-section-heading {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.35rem;
	}

	.dl-account-order-list li {
		grid-template-columns: 1fr auto;
		gap: 0.65rem;
		padding: 0.9rem;
	}

	.dl-account-order-list .dl-account-order-total,
	.dl-account-order-list .button {
		justify-self: start;
	}

	.dl-account .woocommerce-Addresses {
		grid-template-columns: 1fr;
	}

	.dl-account .woocommerce :is(.form-row-first, .form-row-last) {
		float: none;
		width: 100%;
	}

	.dl-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__rememberme) {
		align-items: flex-start;
		flex-direction: column;
	}

	.dl-account .woocommerce-form-login__submit {
		width: 100%;
		margin: 0;
	}

	.dl-account .woocommerce-orders-table,
	.dl-account .woocommerce-orders-table tbody,
	.dl-account .woocommerce-orders-table tr,
	.dl-account .woocommerce-orders-table td {
		display: block;
		width: 100%;
	}

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

	.dl-account .woocommerce-orders-table tr {
		padding: 0.75rem;
		border-bottom: 1px solid var(--dl-border);
	}

	.dl-account .woocommerce-orders-table tr:last-child {
		border-bottom: 0;
	}

	.dl-account .woocommerce-orders-table td {
		display: grid;
		grid-template-columns: minmax(7.5rem, 42%) minmax(0, 1fr);
		gap: 0.75rem;
		align-items: baseline;
		padding: 0.45rem 0;
		border: 0;
		text-align: left;
	}

	.dl-account .woocommerce-orders-table td::before {
		content: attr(data-title);
		color: var(--dl-muted);
		font-size: 0.78rem;
		font-weight: 700;
	}

	.dl-account .woocommerce-orders-table__cell-order-actions {
		display: flex;
		padding-top: 0.75rem;
	}

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

	.dl-account .woocommerce-orders-table__cell-order-actions .button {
		flex: 1 1 9rem;
		text-align: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dl-account .dl-account-menu-toggle__chevron {
		transition: none;
	}
}
