/* My Account — sign-in, dashboard, orders, addresses and account forms. */
body.woocommerce-account {
	--az-red: #db070b;
	--az-red-dark: #b7060a;
	--az-red-soft: #fff0f0;
	--az-ink: #19191b;
	--az-text: #4d4e59;
	--az-muted: #70717d;
	--az-line: #e6e6eb;
	--az-soft: #f6f6f8;
}
body.woocommerce-account .entry-content,
body.woocommerce-account .entry-title { font-family: Urbanist, Arial, sans-serif; color: var(--az-ink); }
body.woocommerce-account .entry-title { margin-block-end: 28px; font-size: clamp(28px, 3vw, 36px); font-weight: 700; line-height: 1.2; letter-spacing: -.01em; }
body.woocommerce-account .entry-content .woocommerce { font-size: 15px; line-height: 1.6; color: var(--az-text); }
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3 { font-family: inherit; color: var(--az-ink); font-weight: 700; letter-spacing: -.01em; }
body.woocommerce-account .woocommerce a { color: var(--az-ink); }
body.woocommerce-account .az-account-icon { width: 20px; height: 20px; flex-shrink: 0; display: block; }

/* ---------- Signed-in layout: menu + content ---------- */
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; align-items: start; max-width: none; margin-inline: 0;
}
/* Astra's clearfix pseudo-elements would otherwise take the first grid cells. */
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after { content: none; display: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; max-width: none; margin: 0; padding: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation {
	position: sticky; inset-block-start: 24px; padding: 8px; border: 1px solid var(--az-line); border-radius: 14px; background: #fff;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; border: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border: 0; list-style: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex; align-items: center; gap: 12px; min-height: 46px; padding: 10px 14px; border-radius: 10px;
	color: var(--az-text); font-size: 15px; font-weight: 600; line-height: 1.3; text-decoration: none; transition: background-color 150ms ease, color 150ms ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: var(--az-soft); color: var(--az-ink); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: var(--az-red-soft); color: var(--az-red); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-block-start: 6px !important; padding-block-start: 6px !important; border-block-start: 1px solid var(--az-line) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible,
body.woocommerce-account .az-account-shortcut:focus-visible,
body.woocommerce-account .az-account-orders a:focus-visible { outline: 2px solid var(--az-ink); outline-offset: 2px; }

body.woocommerce-account .woocommerce-MyAccount-content > :first-child { margin-block-start: 0; }
body.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 22px; margin-block: 0 16px; }
body.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 18px; margin-block: 0 12px; }

/* ---------- Dashboard ---------- */
.az-account-hello { margin-block-end: 24px; }
body.woocommerce-account .az-account-hello h2 { margin: 0 0 4px; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.25; }
.az-account-hello p { margin: 0; color: var(--az-muted); }

.az-account-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-block-end: 32px; }
body.woocommerce-account a.az-account-shortcut {
	display: flex; align-items: center; gap: 14px; padding: 16px; border: 1px solid var(--az-line); border-radius: 12px; background: #fff;
	color: var(--az-ink); text-decoration: none; transition: border-color 150ms ease, box-shadow 150ms ease;
}
body.woocommerce-account a.az-account-shortcut:hover { border-color: #d3d3da; box-shadow: 0 6px 18px rgb(25 25 27 / .06); }
.az-account-shortcut-icon { display: grid; place-items: center; width: 42px; height: 42px; flex-shrink: 0; border-radius: 10px; background: var(--az-red-soft); color: var(--az-red); }
.az-account-shortcut-text { display: grid; gap: 2px; min-width: 0; flex: 1; }
.az-account-shortcut-text strong { font-size: 15px; line-height: 1.3; }
.az-account-shortcut-text span { font-size: 13px; line-height: 1.4; color: var(--az-muted); }
.az-account-shortcut > .az-account-icon { width: 18px; height: 18px; color: #a3a4ad; transition: transform 150ms ease, color 150ms ease; }
.az-account-shortcut:hover > .az-account-icon { color: var(--az-red); transform: translateX(3px); }
[dir=rtl] .az-account-shortcut > .az-account-icon { transform: scaleX(-1); }
[dir=rtl] .az-account-shortcut:hover > .az-account-icon { transform: scaleX(-1) translateX(3px); }

.az-account-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-block-end: 12px; }
body.woocommerce-account .az-account-section-head h3 { margin: 0; font-size: 18px; }
body.woocommerce-account .az-account-section-head a { color: var(--az-red); font-size: 14px; font-weight: 600; text-decoration: none; }
body.woocommerce-account .az-account-section-head a:hover { text-decoration: underline; text-underline-offset: 3px; }

.az-account-orders { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.az-account-orders li { margin: 0; }
body.woocommerce-account .az-account-orders a {
	display: grid; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: 16px; padding: 14px 16px;
	border: 1px solid var(--az-line); border-radius: 12px; background: #fff; color: var(--az-ink); text-decoration: none; transition: border-color 150ms ease;
}
body.woocommerce-account .az-account-orders a:hover { border-color: #d3d3da; }
.az-account-order-main { display: grid; gap: 2px; min-width: 0; }
.az-account-order-main strong { font-size: 15px; }
.az-account-order-main span { font-size: 13px; color: var(--az-muted); }
.az-account-order-total { font-weight: 700; white-space: nowrap; }

.az-account-status { display: inline-block; padding: 3px 10px; border-radius: 99px; background: var(--az-soft); color: var(--az-text); font-size: 12px; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.az-account-status--processing { background: #eef4ff; color: #1d4ed8; }
.az-account-status--completed { background: #ecfdf3; color: #067647; }
.az-account-status--on-hold,
.az-account-status--pending { background: #fff7e6; color: #b54708; }
.az-account-status--cancelled,
.az-account-status--failed,
.az-account-status--refunded { background: #f4f4f5; color: #52525b; }

.az-account-empty { display: grid; justify-items: center; gap: 10px; padding: 32px 20px; border: 1px dashed var(--az-line); border-radius: 12px; text-align: center; }
.az-account-empty .az-account-icon { width: 30px; height: 30px; color: #a3a4ad; }
.az-account-empty p { margin: 0; color: var(--az-muted); }

/* ---------- WooCommerce notices: calm cards instead of Astra's top bar ---------- */
body.woocommerce-account .woocommerce .woocommerce-info,
body.woocommerce-account .woocommerce .woocommerce-message,
body.woocommerce-account .woocommerce .woocommerce-error {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px;
	margin: 0 0 24px; padding: 14px 18px; padding-inline-start: 48px; border: 1px solid var(--az-line); border-radius: 12px;
	background: #fafafb; color: var(--az-text); font-size: 14px; line-height: 1.55;
}
body.woocommerce-account .woocommerce .woocommerce-message { border-color: #c9ead5; background: #f2fbf5; }
body.woocommerce-account .woocommerce .woocommerce-error { border-color: #f6d1d2; background: var(--az-red-soft); }
body.woocommerce-account .woocommerce .woocommerce-info::before,
body.woocommerce-account .woocommerce .woocommerce-message::before,
body.woocommerce-account .woocommerce .woocommerce-error::before { inset-inline-start: 18px; inset-block-start: 50%; transform: translateY(-50%); }
body.woocommerce-account .woocommerce .woocommerce-info .button,
body.woocommerce-account .woocommerce .woocommerce-message .button { order: 2; min-height: 40px; padding: 8px 16px; font-size: 14px; float: none; }

/* ---------- Buttons and fields (all account screens) ---------- */
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce button[type=submit] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 12px 22px;
	border: 1px solid var(--az-red); border-radius: 10px; background: var(--az-red); color: #fff;
	font: 700 15px/1.3 Urbanist, Arial, sans-serif; text-decoration: none; cursor: pointer; transition: background-color 150ms ease, border-color 150ms ease;
}
body.woocommerce-account .woocommerce .button:hover,
body.woocommerce-account .woocommerce button[type=submit]:hover { background: var(--az-red-dark); border-color: var(--az-red-dark); color: #fff; }
body.woocommerce-account .woocommerce .button:focus-visible,
body.woocommerce-account .woocommerce button[type=submit]:focus-visible { outline: 2px solid var(--az-ink); outline-offset: 3px; }

body.woocommerce-account .woocommerce form .form-row { margin: 0 0 16px; padding: 0; }
body.woocommerce-account .woocommerce form .form-row label,
body.woocommerce-account .woocommerce form legend { display: block; margin: 0 0 6px; color: var(--az-ink); font-size: 14px; font-weight: 600; line-height: 1.4; }
body.woocommerce-account .woocommerce form .form-row label.woocommerce-form__label-for-checkbox { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 500; cursor: pointer; }
body.woocommerce-account .woocommerce form .form-row .required { color: var(--az-red); text-decoration: none; }
body.woocommerce-account .woocommerce form input.input-text,
body.woocommerce-account .woocommerce form select,
body.woocommerce-account .woocommerce form textarea {
	width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--az-line); border-radius: 10px; background: #fff;
	color: var(--az-ink); font: 16px/1.4 Urbanist, Arial, sans-serif; box-shadow: none; transition: border-color 150ms ease, box-shadow 150ms ease;
}
body.woocommerce-account .woocommerce form input.input-text:hover,
body.woocommerce-account .woocommerce form select:hover { border-color: #d3d3da; }
body.woocommerce-account .woocommerce form input.input-text:focus,
body.woocommerce-account .woocommerce form select:focus,
body.woocommerce-account .woocommerce form textarea:focus { border-color: var(--az-ink); box-shadow: 0 0 0 3px rgb(25 25 27 / .08); outline: none; }
body.woocommerce-account .woocommerce form .password-input { display: block; position: relative; }
body.woocommerce-account .woocommerce form .password-input input.input-text { padding-inline-end: 48px; }
body.woocommerce-account .woocommerce form .show-password-input { inset-inline-end: 12px; }
body.woocommerce-account .woocommerce form input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: var(--az-red); }
body.woocommerce-account .woocommerce form fieldset { margin: 24px 0 16px; padding: 20px; border: 1px solid var(--az-line); border-radius: 12px; }
body.woocommerce-account .woocommerce form fieldset legend { width: auto; margin: 0; padding: 0 6px; border: 0; font-size: 16px; }
body.woocommerce-account .woocommerce form .form-row em,
body.woocommerce-account .woocommerce-privacy-policy-text,
body.woocommerce-account .woocommerce form.register > p:not(.form-row) { font-size: 13px; color: var(--az-muted); }
body.woocommerce-account .woocommerce-privacy-policy-text p { margin: 0 0 16px; }

/* ---------- Signed out: login + register cards ---------- */
body.woocommerce-account .woocommerce:has(#customer_login),
body.woocommerce-account .woocommerce:has(> form.lost_reset_password),
body.woocommerce-account .woocommerce:has(> form.woocommerce-ResetPassword) { max-width: 1040px; margin-inline: auto; }
body.woocommerce-account:not(.logged-in) .entry-title { text-align: center; }
body.woocommerce-account #customer_login { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px; margin: 0; }
body.woocommerce-account #customer_login::before,
body.woocommerce-account #customer_login::after { display: none; }
body.woocommerce-account #customer_login > .u-column1,
body.woocommerce-account #customer_login > .u-column2 { float: none; width: auto; max-width: none; margin: 0; padding: 32px; border: 1px solid var(--az-line); border-radius: 16px; background: #fff; }
body.woocommerce-account #customer_login h2 { margin: 0 0 20px; font-size: 24px; line-height: 1.25; }
body.woocommerce-account #customer_login form { margin: 0; padding: 0; border: 0; }
body.woocommerce-account #customer_login .button { width: 100%; margin: 4px 0 0; }
body.woocommerce-account #customer_login form.login .form-row:has(.woocommerce-form-login__rememberme) { display: grid; gap: 14px; }
body.woocommerce-account .woocommerce-LostPassword { margin: 16px 0 0; text-align: center; font-size: 14px; }
body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .woocommerce form.lost_reset_password a { color: var(--az-red); font-weight: 600; }
body.woocommerce-account .woocommerce > form.lost_reset_password,
body.woocommerce-account .woocommerce > form.woocommerce-ResetPassword { max-width: 520px; margin-inline: auto; padding: 32px; border: 1px solid var(--az-line); border-radius: 16px; }
body.woocommerce-account .woocommerce > form.lost_reset_password .form-row-first,
body.woocommerce-account .woocommerce > form.woocommerce-ResetPassword .form-row-first,
body.woocommerce-account .woocommerce > form.woocommerce-ResetPassword .form-row-last { float: none; width: 100%; }

/* Wholesale prompts sit on these pages too. */
body.woocommerce-account .az-wholesale-entry { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 20px; padding: 14px 18px; border-radius: 12px; background: var(--az-soft); color: var(--az-text); font-size: 14px; }
body.woocommerce-account .az-wholesale-entry a { color: var(--az-red); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.woocommerce-account .az-wholesale-intro { max-width: none; padding: 20px 24px; border: 1px solid #f6d1d2; border-radius: 14px; background: var(--az-red-soft); }
body.woocommerce-account .az-wholesale-intro h2 { font-size: 22px; }
body.woocommerce-account .az-wholesale-box { border-radius: 12px; background: #fff; }

/* ---------- Orders, order details and addresses ---------- */
body.woocommerce-account .woocommerce table.shop_table {
	width: 100%; margin: 0 0 24px; border: 1px solid var(--az-line); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: 14px;
}
body.woocommerce-account .woocommerce table.shop_table th { padding: 12px 16px; border: 0; background: var(--az-soft); color: var(--az-muted); font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; text-align: start; }
body.woocommerce-account .woocommerce table.shop_table td { padding: 14px 16px; border: 0; border-block-start: 1px solid var(--az-line); color: var(--az-ink); vertical-align: middle; }
body.woocommerce-account .woocommerce table.shop_table tbody tr:first-child td { border-block-start: 0; }
body.woocommerce-account .woocommerce table.shop_table tfoot th { background: #fff; border-block-start: 1px solid var(--az-line); color: var(--az-text); text-transform: none; letter-spacing: 0; font-size: 14px; }
body.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-weight: 700; color: var(--az-ink); }
body.woocommerce-account .woocommerce table.shop_table .button { min-height: 36px; margin: 2px; padding: 6px 14px; border-color: var(--az-line); background: #fff; color: var(--az-ink); font-size: 13px; }
body.woocommerce-account .woocommerce table.shop_table .button:hover { border-color: var(--az-ink); background: #fff; color: var(--az-ink); }
body.woocommerce-account .woocommerce-pagination { display: flex; gap: 8px; justify-content: flex-end; }

body.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; margin: 16px 0 0; }
body.woocommerce-account .woocommerce-Addresses::before,
body.woocommerce-account .woocommerce-Addresses::after { display: none; }
body.woocommerce-account .woocommerce-Addresses > .woocommerce-Address { float: none; width: auto; max-width: none; margin: 0; padding: 20px; border: 1px solid var(--az-line); border-radius: 12px; }
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title,
body.woocommerce-account .woocommerce-Addresses .woocommerce-Address address { border: 0; background: none; padding: 0; }
body.woocommerce-account .woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 10px; }
body.woocommerce-account .woocommerce-Address-title::before,
body.woocommerce-account .woocommerce-Address-title::after { display: none; }
body.woocommerce-account .woocommerce-Address-title h2 { margin: 0; font-size: 17px; }
body.woocommerce-account .woocommerce-Address-title .edit { float: none; padding: 4px 12px; border: 1px solid var(--az-line); border-radius: 99px; color: var(--az-ink); font-size: 13px; font-weight: 600; text-decoration: none; }
body.woocommerce-account .woocommerce-Address-title .edit:hover { border-color: var(--az-ink); }
body.woocommerce-account .woocommerce-Address address { margin: 0; font-style: normal; line-height: 1.7; color: var(--az-text); }

body.woocommerce-account .woocommerce-customer-details address { padding: 16px; border: 1px solid var(--az-line); border-radius: 12px; font-style: normal; }
body.woocommerce-account mark.order-number,
body.woocommerce-account mark.order-date,
body.woocommerce-account mark.order-status { padding: 0; background: none; color: var(--az-ink); font-weight: 700; }

/* ---------- Tablet and phone ---------- */
@media (max-width: 921px) {
	body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); gap: 24px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation { position: static; margin-inline: -4px; padding: 4px; border: 0; border-radius: 0; background: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: 8px; overflow-x: auto; padding-block-end: 4px; scrollbar-width: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li a { min-height: 42px; padding: 8px 14px; border: 1px solid var(--az-line); border-radius: 99px; font-size: 14px; white-space: nowrap; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-color: #f6d1d2; }
	body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	body.woocommerce-account .az-account-icon { width: 18px; height: 18px; }
}
@media (max-width: 600px) {
	body.woocommerce-account .entry-title { margin-block-end: 20px; }
	body.woocommerce-account #customer_login > .u-column1,
	body.woocommerce-account #customer_login > .u-column2,
	body.woocommerce-account .woocommerce > form.lost_reset_password,
	body.woocommerce-account .woocommerce > form.woocommerce-ResetPassword { padding: 22px 18px; border-radius: 14px; }
	.az-account-shortcuts { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account .woocommerce-Address-title { flex-direction: column; align-items: flex-start; gap: 8px; }
	body.woocommerce-account .az-account-orders a { grid-template-columns: minmax(0, 1fr) auto; row-gap: 8px; }
	.az-account-order-main { grid-column: 1 / -1; }
	body.woocommerce-account .woocommerce table.shop_table_responsive tr td { padding: 10px 16px; }
}
