/* Trang Tài khoản /tai-khoan/ (inc/ds-account.php, woocommerce/myaccount/dashboard.php). Chỉ dùng token design system.
   Bricks gắn class .woocommerce lên cả khung trang → luôn chọn .brxe-shortcode > .woocommerce (khối của shortcode). */

.woocommerce-account .brxe-shortcode > .woocommerce { --acc-gap: var(--spacing-lg); width: 100%; }
.woocommerce-account .brxe-shortcode > .woocommerce :is(h2, h3) { margin: 0 0 var(--spacing-sm); font-size: var(--font-size-headings-h4); line-height: 1.3; }

/* ---------- Ô nhập + nút (giống trang thanh toán) ---------- */
.woocommerce-account .brxe-shortcode > .woocommerce form .form-row { display: flex; flex-direction: column; gap: var(--spacing-2xs); margin: 0 0 var(--spacing-sm); padding: 0; }
.woocommerce-account .brxe-shortcode > .woocommerce form .form-row label { margin: 0; font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); font-weight: var(--type-font-weight-bold); }
.woocommerce-account .brxe-shortcode > .woocommerce form .form-row .required { color: var(--color-error-default); text-decoration: none; }
.woocommerce-account .brxe-shortcode > .woocommerce form :is(input.input-text, select) {
	box-sizing: border-box; width: 100%; height: var(--scale-900); min-height: 0; padding: 0 var(--spacing-xs);
	font-size: var(--font-size-body-md); line-height: normal;
	border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-xs); background: var(--surface-primary);
}
.woocommerce-account .brxe-shortcode > .woocommerce form :is(input.input-text, select):focus-visible { outline: var(--border-width-sm) solid var(--border-action-focus); outline-offset: 1px; }
.woocommerce-account .brxe-shortcode > .woocommerce .password-input { position: relative; display: block; }
.woocommerce-account .brxe-shortcode > .woocommerce .password-input input { padding-right: var(--scale-900); }
.woocommerce-account .brxe-shortcode > .woocommerce .show-password-input { position: absolute; top: 0; right: 0; width: var(--scale-900); height: var(--scale-900); }
.woocommerce-account .brxe-shortcode > .woocommerce form .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: var(--spacing-xs); font-weight: normal; }
.woocommerce-account .brxe-shortcode > .woocommerce :is(button.button, a.button, input.button):not(.show-password-input) {
	display: inline-flex; align-items: center; justify-content: center; min-height: var(--scale-900); padding: var(--spacing-xs) var(--spacing-md);
	border: 0; border-radius: var(--border-radius-sm); background: var(--surface-on-action); color: var(--text-on-action);
	font-size: var(--font-size-body-sm); font-weight: var(--type-font-weight-bold); text-decoration: none; cursor: pointer;
}
.woocommerce-account .brxe-shortcode > .woocommerce :is(button.button, a.button, input.button):not(.show-password-input):is(:hover, :focus-visible) { background: var(--surface-action-hover); color: var(--text-on-action); }
.woocommerce-account .brxe-shortcode > .woocommerce :is(form.login, form.register, form.lost_reset_password) button[type=submit] { width: 100%; margin-top: var(--spacing-xs); }
.woocommerce-account .brxe-shortcode > .woocommerce a:not(.button):not(.ds-acc-card):not(.ds-acc-order) { color: var(--text-primary); }
.woocommerce-account .ds-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.woocommerce-account .woocommerce-privacy-policy-text { margin-bottom: var(--spacing-sm); color: var(--text-muted); font-size: var(--font-size-body-sm); line-height: var(--line-height-body-sm); }

/* Thông báo */
.woocommerce-account .brxe-shortcode > .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info) {
	margin: 0 0 var(--spacing-md); padding: var(--spacing-sm) var(--spacing-md); list-style: none;
	border: 0; border-radius: var(--border-radius-sm); font-size: var(--font-size-body-sm);
}
.woocommerce-account .brxe-shortcode > .woocommerce .woocommerce-error { background: var(--surface-error); color: var(--text-error); }
.woocommerce-account .brxe-shortcode > .woocommerce .woocommerce-message { background: var(--surface-success); color: var(--text-success); }
.woocommerce-account .brxe-shortcode > .woocommerce .woocommerce-info { background: var(--surface-info); color: var(--text-info); }
.woocommerce-account .brxe-shortcode > .woocommerce :is(.woocommerce-error, .woocommerce-message, .woocommerce-info)::before { display: none; }

/* ---------- Chưa đăng nhập: khung .ds-auth (minh hoạ âm thanh + tab) ---------- */
body.woocommerce-account:not(.logged-in) #brxe-ach1t1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); } /* tiêu đề nằm trong khung minh hoạ */
.ds-auth {
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); width: 100%; max-width: calc(var(--scale-3000) * 9); margin-inline: auto;
	overflow: hidden; border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-lg); background: var(--surface-primary);
}
.ds-auth__visual {
	position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; gap: var(--spacing-md);
	padding: var(--spacing-xl); overflow: hidden; background: var(--surface-inverse); color: var(--text-inverse);
}
.ds-auth__visual::before { /* quầng sáng cam phía sau loa */
	content: ""; position: absolute; z-index: -1; inset: -30% -20% auto auto; width: 80%; aspect-ratio: 1; border-radius: 50%;
	background: radial-gradient(circle, color-mix(in srgb, var(--color-primary-default) 45%, transparent), transparent 65%);
	animation: ds-auth-glow 6s ease-in-out infinite alternate;
}
.ds-auth__stage { position: relative; display: grid; place-items: center; width: calc(var(--scale-1600) * 1.6); aspect-ratio: 1; }
.ds-auth__ico { grid-area: 1 / 1; width: 46%; height: 46%; fill: var(--color-primary-default); transition: transform .5s cubic-bezier(.34, 1.56, .64, 1), opacity .35s; }
.ds-auth[data-mode=login] .ds-auth__ico--register, .ds-auth[data-mode=register] .ds-auth__ico--login { opacity: 0; transform: scale(.4) rotate(-25deg); }
.ds-auth__ring { /* sóng âm lan ra từ icon */
	grid-area: 1 / 1; width: 100%; height: 100%; border: var(--border-width-sm) solid var(--color-primary-default); border-radius: 50%;
	opacity: 0; animation: ds-auth-ring 2.4s ease-out infinite;
}
.ds-auth__ring:nth-child(2) { animation-delay: .8s; }
.ds-auth__ring:nth-child(3) { animation-delay: 1.6s; }
.ds-auth__eq { display: flex; align-items: flex-end; gap: var(--spacing-2xs); height: var(--scale-1600); }
.ds-auth__eq i {
	flex: 1; height: calc(var(--h) * 10%); border-radius: var(--border-radius-xs) var(--border-radius-xs) 0 0;
	background: linear-gradient(to top, var(--color-primary-default), var(--color-primary-100));
	transform-origin: bottom; animation: ds-eq calc(.9s + var(--i) * 37ms) ease-in-out calc(var(--i) * -110ms) infinite alternate;
}
.ds-auth.is-switching .ds-auth__eq i { animation: ds-eq-burst .8s cubic-bezier(.2, .9, .3, 1.2) calc(var(--i) * 25ms) both; }
.ds-auth.is-switching .ds-auth__ring { animation-duration: .9s; }
.ds-auth__title { margin: 0; font-size: var(--font-size-headings-h3); line-height: 1.2; font-weight: var(--type-font-weight-bold); }
.ds-auth__title span, .ds-auth__panel [data-for] { display: none; }
.ds-auth[data-mode=login] [data-for=login], .ds-auth[data-mode=register] [data-for=register] { display: inline; animation: ds-auth-in .45s ease both; }
.ds-auth__perks { display: flex; flex-direction: column; gap: var(--spacing-xs); margin: 0; padding: 0; list-style: none; font-size: var(--font-size-body-sm); opacity: .85; }
.ds-auth__perks li { display: flex; align-items: center; gap: var(--spacing-xs); }
.ds-auth__perks li::before { content: ""; width: var(--scale-200); height: var(--scale-200); border-radius: 50%; background: var(--color-primary-default); box-shadow: 0 0 0 var(--border-width-md) color-mix(in srgb, var(--color-primary-default) 30%, transparent); }

.ds-auth__panel { display: flex; flex-direction: column; gap: var(--spacing-lg); padding: var(--spacing-xl); }
.ds-auth__tabs {
	position: relative; display: grid; grid-template-columns: 1fr 1fr; padding: var(--spacing-2xs);
	border-radius: var(--border-radius-xxl); background: var(--surface-neutral-subtle);
}
.ds-auth__tabs button {
	position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; text-align: center; min-height: var(--scale-900); padding: 0 var(--spacing-sm); border: 0; border-radius: var(--border-radius-xxl);
	background: none; color: var(--text-body); font-size: var(--font-size-body-sm); font-weight: var(--type-font-weight-bold); cursor: pointer; transition: color .3s;
}
.ds-auth__tabs button[aria-selected=true] { color: var(--text-on-action); }
.ds-auth__tabs button:focus-visible { outline: var(--border-width-sm) solid var(--border-action-focus); outline-offset: 2px; }
.ds-auth__pill { /* nền cam trượt dưới tab đang chọn */
	position: absolute; top: var(--spacing-2xs); bottom: var(--spacing-2xs); left: var(--spacing-2xs); width: calc(50% - var(--spacing-2xs));
	border-radius: var(--border-radius-xxl); background: var(--surface-on-action); transition: transform .45s cubic-bezier(.34, 1.4, .64, 1);
}
.ds-auth[data-mode=register] .ds-auth__pill { transform: translateX(100%); }

.ds-auth #customer_login { display: block; width: 100%; margin: 0; }
.ds-auth #customer_login::before, .ds-auth #customer_login::after { display: none; }
.ds-auth #customer_login > div { float: none; width: auto; margin: 0; padding: 0; border: 0; }
.ds-auth #customer_login > div > h2 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.ds-auth[data-mode=login] #customer_login .u-column2, .ds-auth[data-mode=register] #customer_login .u-column1 { display: none; }
.ds-auth[data-mode=login] #customer_login .u-column1, .ds-auth[data-mode=register] #customer_login .u-column2 { animation: ds-auth-in .45s ease both; }
.ds-auth #customer_login form { margin: 0; padding: 0; border: 0; }
.ds-auth__switch-hint { margin: var(--spacing-md) 0 0; text-align: center; color: var(--text-muted); font-size: var(--font-size-body-sm); }
.ds-auth__switch-hint button { padding: 0; border: 0; background: none; color: var(--text-primary); font: inherit; font-weight: var(--type-font-weight-bold); cursor: pointer; }
.woocommerce-account .lost_password { margin: var(--spacing-sm) 0 0; text-align: center; font-size: var(--font-size-body-sm); }
.woocommerce-account form.lost_reset_password {
	max-width: calc(var(--scale-3000) * 5); padding: var(--spacing-lg);
	border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-md); background: var(--surface-primary);
}

/* Nút đang xử lý: equalizer mini */
.woocommerce-account .woocommerce .button.is-loading { gap: var(--spacing-xs); cursor: progress; pointer-events: none; }
.ds-eq-mini { display: inline-flex; align-items: flex-end; gap: 2px; height: 1em; }
.ds-eq-mini i { width: 3px; height: 100%; border-radius: 2px; background: currentColor; transform-origin: bottom; animation: ds-eq .7s ease-in-out infinite alternate; }
.ds-eq-mini i:nth-child(2) { animation-delay: -.45s; }
.ds-eq-mini i:nth-child(3) { animation-delay: -.2s; }
.ds-eq-mini i:nth-child(4) { animation-delay: -.6s; }
.ds-eq-mini i:nth-child(5) { animation-delay: -.3s; }

@keyframes ds-eq { 0% { transform: scaleY(.18); } 55% { transform: scaleY(1); } 100% { transform: scaleY(.45); } }
@keyframes ds-eq-burst { 0% { transform: scaleY(.1); } 45% { transform: scaleY(1.35); } 100% { transform: scaleY(.6); } }
@keyframes ds-auth-ring { 0% { transform: scale(.45); opacity: .7; } 100% { transform: scale(1.25); opacity: 0; } }
@keyframes ds-auth-glow { to { transform: translate(-12%, 18%) scale(1.15); } }
@keyframes ds-auth-in { from { opacity: 0; transform: translateY(var(--spacing-xs)); } to { opacity: 1; transform: none; } }

@media (max-width: 767px) {
	.ds-auth { grid-template-columns: minmax(0, 1fr); border-radius: var(--border-radius-md); }
	.ds-auth__visual { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: var(--spacing-sm) var(--spacing-md); padding: var(--spacing-md); }
	.ds-auth__stage { grid-row: span 2; width: var(--scale-1600); }
	.ds-auth__eq { height: var(--scale-800); }
	.ds-auth__title { font-size: var(--font-size-headings-h4); }
	.ds-auth__perks { display: none; }
	.ds-auth__panel { gap: var(--spacing-md); padding: var(--spacing-md); }
}
@media (prefers-reduced-motion: reduce) {
	.ds-auth *, .ds-auth *::before, .ds-eq-mini i { animation: none !important; transition: none !important; }
	.ds-auth__ring { opacity: .25; }
}

/* ---------- Địa chỉ nhận hàng ---------- */
.woocommerce-account .woocommerce-address-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--spacing-md); }
.woocommerce-account .woocommerce-address-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
.woocommerce-account .woocommerce-address-fields .select2-container .select2-selection--single {
	display: flex; align-items: center; box-sizing: border-box; height: var(--scale-900); min-height: 0; line-height: normal; padding: 0 var(--spacing-xs);
	border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-xs);
}
.woocommerce-account .woocommerce-address-fields .select2-selection__rendered { padding: 0; font-size: var(--font-size-body-md); color: var(--text-body); }
.woocommerce-account .woocommerce-address-fields .select2-selection__arrow { top: 50%; right: var(--spacing-xs); height: auto; transform: translateY(-50%); }
body.woocommerce-account .select2-dropdown { border-color: var(--border-neutral-subtle); border-radius: var(--border-radius-xs); }
body.woocommerce-account .select2-search--dropdown { padding: var(--spacing-xs); }
body.woocommerce-account .select2-search--dropdown .select2-search__field { height: var(--scale-900); padding: 0 var(--spacing-xs); font-size: var(--font-size-body-md); border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-xs); }
body.woocommerce-account .select2-results__option { padding: var(--spacing-2xs) var(--spacing-sm); font-size: var(--font-size-body-sm); }
body.woocommerce-account .select2-results__option--highlighted[aria-selected] { background: var(--surface-on-action); color: var(--text-on-action); }
@media (max-width: 767px) { .woocommerce-account .woocommerce-address-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Đã đăng nhập: menu + nội dung ---------- */
.woocommerce-account.logged-in .brxe-shortcode > .woocommerce { display: grid; grid-template-columns: calc(var(--scale-3000) * 2.5) minmax(0, 1fr); gap: var(--acc-gap); align-items: start; }
.woocommerce-account .brxe-shortcode > .woocommerce::before, .woocommerce-account .brxe-shortcode > .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: flex; flex-direction: column; gap: var(--spacing-2xs); margin: 0; padding: var(--spacing-xs); list-style: none;
	border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-md); background: var(--surface-primary);
}
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block; padding: var(--spacing-xs) var(--spacing-sm); border-radius: var(--border-radius-sm);
	color: var(--text-body) !important; font-size: var(--font-size-body-sm); text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:is(:hover, :focus-visible) { background: var(--surface-subtle); }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--color-primary-50); color: var(--text-primary) !important; font-weight: var(--type-font-weight-bold); }
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: var(--spacing-xs) !important; padding-top: var(--spacing-xs); border-top: var(--border-width-xs) solid var(--border-neutral-subtle); }
.woocommerce-account .woocommerce-MyAccount-content > .woocommerce-notices-wrapper:empty { display: none; }

@media (max-width: 991px) {
	.woocommerce-account.logged-in .brxe-shortcode > .woocommerce { grid-template-columns: minmax(0, 1fr); gap: var(--spacing-md); }
	.woocommerce-account .woocommerce-MyAccount-navigation ul { flex-direction: row; overflow-x: auto; padding: 0; border: 0; background: none; scrollbar-width: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation a { white-space: nowrap; border: var(--border-width-xs) solid var(--border-neutral-subtle); }
	.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-color: var(--border-action-primary); }
	.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0; border: 0; }
}

/* Tổng quan */
.ds-acc-dash__hello { margin: 0 0 var(--spacing-md); font-size: var(--font-size-body-lg); }
.ds-acc-dash__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--spacing-sm); margin: 0 0 var(--spacing-lg); padding: 0; list-style: none; }
.ds-acc-card {
	display: flex; flex-direction: column; gap: var(--spacing-2xs); height: 100%; padding: var(--spacing-md); box-sizing: border-box;
	border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-md); color: var(--text-body); text-decoration: none;
}
.ds-acc-card:is(:hover, :focus-visible) { border-color: var(--border-action-primary); }
.ds-acc-card__title { font-weight: var(--type-font-weight-bold); }
.ds-acc-card__meta { color: var(--text-muted); font-size: var(--font-size-body-sm); }
.ds-acc-dash__h { margin-top: 0; }
.ds-acc-orders { display: flex; flex-direction: column; gap: var(--spacing-xs); margin: 0 0 var(--spacing-sm); padding: 0; list-style: none; }
.ds-acc-order {
	display: grid; grid-template-columns: auto auto 1fr auto; align-items: center; gap: var(--spacing-sm); padding: var(--spacing-sm) var(--spacing-md);
	border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-sm); color: var(--text-body); text-decoration: none;
}
.ds-acc-order:is(:hover, :focus-visible) { border-color: var(--border-action-primary); }
.ds-acc-order__no { font-weight: var(--type-font-weight-bold); }
.ds-acc-order__date { color: var(--text-muted); font-size: var(--font-size-body-sm); }
.ds-acc-order__status { justify-self: start; }
.ds-acc-order__total { font-weight: var(--type-font-weight-bold); }
.ds-acc-empty { color: var(--text-muted); }
@media (max-width: 767px) {
	.ds-acc-dash__cards { grid-template-columns: minmax(0, 1fr); }
	.ds-acc-order { grid-template-columns: 1fr auto; row-gap: var(--spacing-2xs); }
}

/* Nhãn trạng thái đơn (dùng chung Tổng quan + bảng đơn hàng) */
.ds-acc-order__status, .woocommerce-account .woocommerce-orders-table__cell-order-status {
	font-size: var(--font-size-body-sm);
}
.ds-acc-order__status { padding: var(--spacing-2xs) var(--spacing-xs); border-radius: var(--border-radius-xs); background: var(--color-primary-50); color: var(--text-primary); }
.ds-acc-status--completed { background: var(--surface-success); color: var(--text-success); }
.ds-acc-status--processing { background: var(--surface-info); color: var(--text-info); }
.ds-acc-status--cancelled, .ds-acc-status--failed, .ds-acc-status--refunded { background: var(--surface-error); color: var(--text-error); }

/* Bảng đơn hàng + chi tiết đơn */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	width: 100%; margin: 0 0 var(--spacing-md); border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-md);
	border-collapse: separate; border-spacing: 0; overflow: hidden; font-size: var(--font-size-body-sm);
}
.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(th, td) { padding: var(--spacing-sm); border: 0; border-top: var(--border-width-xs) solid var(--border-neutral-subtle); text-align: left; vertical-align: middle; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th { border-top: 0; background: var(--surface-subtle); }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button { min-height: 0; padding: var(--spacing-2xs) var(--spacing-sm); }
.woocommerce-account .woocommerce-MyAccount-content mark { background: none; color: inherit; font-weight: var(--type-font-weight-bold); }
.woocommerce-account .woocommerce-customer-details address { padding: var(--spacing-md); border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-md); font-style: normal; }
@media (max-width: 767px) {
	.woocommerce-account table.shop_table_responsive thead { display: none; }
	.woocommerce-account table.shop_table_responsive tr { display: block; }
	.woocommerce-account table.shop_table_responsive tr td { display: flex; justify-content: space-between; gap: var(--spacing-sm); text-align: right !important; }
	.woocommerce-account table.shop_table_responsive tr td::before { content: attr(data-title); font-weight: var(--type-font-weight-bold); text-align: left; }
	.woocommerce-account table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before { content: ""; }
}

/* Thông tin tài khoản */
.woocommerce-account .woocommerce-EditAccountForm fieldset { margin: var(--spacing-md) 0; padding: var(--spacing-md); border: var(--border-width-xs) solid var(--border-neutral-subtle); border-radius: var(--border-radius-md); }
.woocommerce-account .woocommerce-EditAccountForm legend { padding: 0 var(--spacing-xs); font-weight: var(--type-font-weight-bold); }
.woocommerce-account .woocommerce-EditAccountForm em { color: var(--text-muted); font-size: var(--font-size-body-sm); }
@media (min-width: 768px) {
	.woocommerce-account .woocommerce-EditAccountForm { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--spacing-md); }
	.woocommerce-account .woocommerce-EditAccountForm > :not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
}
.woocommerce-account .woocommerce-EditAccountForm .clear { display: none; }
.woocommerce-account .ds-hidden-row { display: none; }
