/* ============================================================
   پنل کاربری والابی — Valabi Account Panel
   Modern WooCommerce My-Account restyle, Flatsome-integrated.

   Everything is scoped under .valabi-account-panel (body class)
   so it never leaks into the rest of the theme. We restyle WC's
   own markup in place — no template forks for nav/orders/forms.

   Aesthetic: bright & lively — vivid indigo→violet→pink
   gradients on a cool paper background, soft cards, large
   numerals, quiet motion. RTL-first.
   ============================================================ */

@font-face {
	font-family: "YekanBakh";
	src: url("../fonts/yekanbakh/YekanBakhFaNum-Regular.woff2") format("woff2");
	font-weight: 400; font-display: swap;
}
@font-face {
	font-family: "YekanBakh";
	src: url("../fonts/yekanbakh/YekanBakhFaNum-Medium.woff2") format("woff2");
	font-weight: 500; font-display: swap;
}
@font-face {
	font-family: "YekanBakh";
	src: url("../fonts/yekanbakh/YekanBakhFaNum-SemiBold.woff2") format("woff2");
	font-weight: 600; font-display: swap;
}
@font-face {
	font-family: "YekanBakh";
	src: url("../fonts/yekanbakh/YekanBakhFaNum-Bold.woff2") format("woff2");
	font-weight: 700; font-display: swap;
}

.valabi-account-panel {
	/* Lively palette — vivid gradients on cool paper. */
	--va-i1: #6366f1; /* indigo  */
	--va-i2: #a855f7; /* violet  */
	--va-i3: #ec4899; /* pink    */
	--va-grad:      linear-gradient(120deg, var(--va-i1) 0%, var(--va-i2) 52%, var(--va-i3) 100%);
	--va-grad-soft: linear-gradient(120deg, #eef0ff 0%, #fbeefc 100%);

	--va-accent:      #7c3aed; /* solid stand-in for links/focus */
	--va-accent-soft: #efeafe;

	--va-ink:         #1e2235;
	--va-mute:        #727a93;
	--va-paper:       #ffffff;
	--va-cream:       #f7f8ff;
	--va-bg:          #f4f5fb;
	--va-hair:        #ebecf5;
	--va-hair-strong: #d9dbeb;
	--va-star:        #f59e0b;

	--va-radius:      18px;
	--va-radius-sm:   13px;
	--va-shadow:      0 1px 2px rgba(30,34,53,.04), 0 14px 34px -20px rgba(99,102,241,.30);
	--va-shadow-hover:0 2px 6px rgba(30,34,53,.06), 0 26px 52px -22px rgba(168,85,247,.42);

	--va-font: "YekanBakh", "Vazirmatn", Tahoma, system-ui, -apple-system, sans-serif;
}

/* The site-header removal is applied conditionally via inline CSS from
   Valabi_Account_Assets (toggle in settings), not hard-coded here. */

/* ---- Account page shell --------------------------------------- */
.valabi-account-panel .woocommerce-account .woocommerce,
.valabi-account-panel .my-account {
	font-family: var(--va-font);
	color: var(--va-ink);
	direction: rtl;
}
.valabi-account-panel .woocommerce-account a { color: var(--va-accent); }

/* Two-column layout with a sticky sidebar pinned to the start
   side (right in RTL, left in LTR). */
.valabi-account-panel .my-account .row.vertical-tabs { align-items: flex-start; }
@media (min-width: 850px) {
	.valabi-account-panel .my-account .row.vertical-tabs > .large-3.col {
		position: sticky;
		top: 20px;
	}
}
/* Drop Flatsome's column divider — the nav is a card now. */
.valabi-account-panel .my-account .col-border { border: 0; box-shadow: none; }

/* ===========================================================
   Sidebar: user block + home button + navigation
   =========================================================== */

.valabi-account-panel .account-user {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	padding: 4px 6px;
}
.valabi-account-panel .account-user .user-name { font-weight: 700; font-size: 15px; }
.valabi-account-panel .account-user .user-id { color: var(--va-mute); font-style: normal; font-size: 12px; }
.valabi-account-panel .account-user img { border-radius: 50%; }

/* Home / return button */
.valabi-account-panel .va-home-btn {
	display: flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 14px;
	padding: 11px 16px;
	border-radius: var(--va-radius-sm);
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	color: var(--va-ink) !important;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	box-shadow: var(--va-shadow);
	transition: transform .16s ease, box-shadow .16s ease, color .16s ease, background .16s ease;
}
.valabi-account-panel .va-home-btn .va-icon { width: 19px; height: 19px; }
.valabi-account-panel .va-home-btn:hover {
	transform: translateY(-1px);
	box-shadow: var(--va-shadow-hover);
	background: var(--va-grad);
	color: #fff !important;
	border-color: transparent;
}

/* Navigation list — neutralize Flatsome .nav styling, make it a card */
.valabi-account-panel #my-account-nav.nav,
.valabi-account-panel .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 24px;
	padding: 10px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius);
	box-shadow: var(--va-shadow);
}
.valabi-account-panel #my-account-nav.nav > li {
	margin: 2px 0;
	border: 0;
	list-style: none;
}
.valabi-account-panel #my-account-nav.nav > li > a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	margin: 0;
	border: 0;
	border-radius: var(--va-radius-sm);
	color: var(--va-ink);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	transition: background .18s ease, color .18s ease;
}
/* Kill Flatsome's nav-line underline pseudo element */
.valabi-account-panel #my-account-nav.nav > li > a::before { display: none !important; }

.valabi-account-panel #my-account-nav.nav > li > a:hover {
	background: var(--va-cream);
	color: var(--va-accent);
}
.valabi-account-panel #my-account-nav.nav > li.is-active > a,
.valabi-account-panel #my-account-nav.nav > li.active > a,
.valabi-account-panel .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--active a {
	background: var(--va-grad);
	color: #fff !important;
	box-shadow: 0 12px 24px -12px rgba(124,58,237,.7);
}
.valabi-account-panel #my-account-nav.nav > li > a .va-icon { flex: 0 0 auto; width: 20px; height: 20px; opacity: .9; }
.valabi-account-panel #my-account-nav.nav > li.is-active > a .va-icon,
.valabi-account-panel #my-account-nav.nav > li.active > a .va-icon { opacity: 1; }

.valabi-account-panel .woocommerce-MyAccount-navigation-link--customer-logout {
	margin-top: 8px !important;
	padding-top: 8px;
	border-top: 1px solid var(--va-hair);
}
.valabi-account-panel .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--va-mute); }

/* ===========================================================
   Dashboard home
   =========================================================== */

.valabi-account-panel .va-dash { display: flex; flex-direction: column; gap: 26px; }

/* Greeting hero ------------------------------------------------ */
.valabi-account-panel .va-hero {
	position: relative;
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 30px 32px;
	border-radius: var(--va-radius);
	overflow: hidden;
	background: var(--va-grad);
	color: #fff;
	box-shadow: 0 26px 54px -24px rgba(124,58,237,.6);
}
.valabi-account-panel .va-hero__bg {
	position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(120% 150% at 8% -20%, rgba(255,255,255,.22), transparent 45%),
		radial-gradient(90% 120% at 100% 130%, rgba(255,255,255,.16), transparent 55%);
}
.valabi-account-panel .va-hero__avatar { position: relative; flex: 0 0 auto; }
.valabi-account-panel .va-hero .va-avatar,
.valabi-account-panel .va-hero__avatar img {
	width: 74px; height: 74px; border-radius: 50%;
	border: 3px solid rgba(255,255,255,.6);
	box-shadow: 0 10px 22px -8px rgba(0,0,0,.45);
	object-fit: cover;
}
.valabi-account-panel .va-hero__body { position: relative; }
.valabi-account-panel .va-hero__salute { margin: 0 0 4px; font-size: 13px; letter-spacing: .03em; opacity: .9; }
.valabi-account-panel .va-hero__name { margin: 0; font-size: 27px; font-weight: 700; line-height: 1.15; color: #fff; }
.valabi-account-panel .va-hero__meta { margin: 7px 0 0; font-size: 13px; opacity: .85; }

/* Stat tiles --------------------------------------------------- */
.valabi-account-panel .va-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}
.valabi-account-panel .va-stat {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding: 20px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius-sm);
	box-shadow: var(--va-shadow);
	overflow: hidden;
	color: var(--va-ink) !important;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease;
}
.valabi-account-panel a.va-stat:hover { transform: translateY(-3px); box-shadow: var(--va-shadow-hover); }
.valabi-account-panel .va-stat__icon {
	display: grid; place-items: center;
	width: 40px; height: 40px; margin-bottom: 6px;
	border-radius: 12px; color: #fff;
}
.valabi-account-panel .va-stat__icon .va-icon { width: 22px; height: 22px; }
.valabi-account-panel .va-stat--orders     .va-stat__icon { background: linear-gradient(135deg,#6366f1,#3b82f6); }
.valabi-account-panel .va-stat--processing .va-stat__icon { background: linear-gradient(135deg,#f59e0b,#f97316); }
.valabi-account-panel .va-stat--completed  .va-stat__icon { background: linear-gradient(135deg,#10b981,#22d3ee); }
.valabi-account-panel .va-stat--reviews    .va-stat__icon { background: linear-gradient(135deg,#ec4899,#f43f5e); }

.valabi-account-panel .va-stat__num { font-size: 30px; font-weight: 700; line-height: 1.1; letter-spacing: -.01em; }
.valabi-account-panel .va-stat__label { font-size: 13px; color: var(--va-mute); }

/* Section heads ------------------------------------------------ */
.valabi-account-panel .va-section-head {
	display: flex; align-items: baseline; justify-content: space-between; margin: 16px 0 8px;
}
.valabi-account-panel .va-section-head h3 { flex: 1; margin: 0; font-size: 17px; font-weight: 700; color: var(--va-ink); }
.valabi-account-panel .va-section-link { font-size: 13px; font-weight: 600; color: var(--va-accent) !important; text-decoration: none; }
.valabi-account-panel .va-section-link:hover { opacity: .8; }

/* Recent orders ------------------------------------------------ */
.valabi-account-panel .va-order-list {
	list-style: none; margin: 0; padding: 0;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius);
	box-shadow: var(--va-shadow);
	overflow: hidden;
}
.valabi-account-panel .va-order + .va-order { border-top: 1px solid var(--va-hair); }
.valabi-account-panel .va-order__link {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 20px;
	text-decoration: none;
	color: var(--va-ink) !important;
	transition: background .16s ease;
}
.valabi-account-panel .va-order__link:hover { background: var(--va-cream); }
.valabi-account-panel .va-order__main {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	flex: 1 1 auto; min-width: 0;
}
.valabi-account-panel .va-order__id { font-weight: 700; font-size: 15px; color: var(--va-accent); }
.valabi-account-panel .va-order__date { font-size: 13px; color: var(--va-mute); }
.valabi-account-panel .va-order__aside {
	display: flex; flex-direction: column; align-items: flex-start; gap: 2px;
	margin-inline-start: auto; white-space: nowrap;
}
.valabi-account-panel .va-order__total { font-weight: 700; font-size: 15px; }
.valabi-account-panel .va-order__meta { font-size: 12px; color: var(--va-mute); }
.valabi-account-panel .va-order__chevron { flex: 0 0 auto; transform: scaleX(-1); }
.valabi-account-panel .va-order__chevron .va-icon { width: 18px; height: 18px; color: var(--va-hair-strong); }

/* Status pills ------------------------------------------------- */
.valabi-account-panel .va-pill {
	display: inline-flex; align-items: center;
	padding: 4px 12px; border-radius: 999px;
	font-size: 12px; font-weight: 600; white-space: nowrap;
	background: var(--va-accent-soft); color: var(--va-accent);
}
.valabi-account-panel .va-pill--completed  { background: #dcfce7; color: #15803d; }
.valabi-account-panel .va-pill--processing { background: #fef3c7; color: #b45309; }
.valabi-account-panel .va-pill--on-hold    { background: #e0e7ff; color: #4338ca; }
.valabi-account-panel .va-pill--pending    { background: #e0e7ff; color: #4338ca; }
.valabi-account-panel .va-pill--cancelled,
.valabi-account-panel .va-pill--failed     { background: #fee2e2; color: #b91c1c; }
.valabi-account-panel .va-pill--refunded   { background: #e5e7eb; color: #4b5563; }

/* Reviews list (tab + dashboard preview) ----------------------- */
.valabi-account-panel .va-review-list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-direction: column; gap: 12px;
}
.valabi-account-panel .va-review {
	display: flex; gap: 14px; align-items: flex-start;
	padding: 16px 18px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius-sm);
	box-shadow: var(--va-shadow);
}
.valabi-account-panel .va-review__thumb-wrap { display: block; }
.valabi-account-panel .va-review__thumb,
.valabi-account-panel .va-review img { width: 56px; height: 56px; border-radius: 12px; object-fit: cover; display: block; }
.valabi-account-panel .va-review__body { flex: 1 1 auto; min-width: 0; }
.valabi-account-panel .va-review__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.valabi-account-panel .va-review__name { font-weight: 700; font-size: 15px; color: var(--va-ink) !important; text-decoration: none; }
.valabi-account-panel .va-review__name:hover { color: var(--va-accent) !important; }
.valabi-account-panel .va-review__text { margin: 6px 0 4px; color: var(--va-mute); font-size: 13.5px; line-height: 1.7; }
.valabi-account-panel .va-review__date { font-size: 12px; color: var(--va-mute); }

.valabi-account-panel .va-stars { display: inline-flex; gap: 2px; }
.valabi-account-panel .va-star { fill: var(--va-hair-strong); }
.valabi-account-panel .va-star.is-on { fill: var(--va-star); }

/* Empty state -------------------------------------------------- */
.valabi-account-panel .va-empty {
	text-align: center; padding: 40px 24px;
	background: var(--va-paper);
	border: 1px dashed var(--va-hair-strong);
	border-radius: var(--va-radius);
}
.valabi-account-panel .va-empty .va-icon { width: 40px; height: 40px; color: var(--va-hair-strong); margin-bottom: 8px; }
.valabi-account-panel .va-empty p { margin: 0 0 16px; color: var(--va-mute); line-height: 1.8; }
/* Illustrated empty state — soft gradient halo around the glyph */
.valabi-account-panel .va-empty__art {
	width: 86px; height: 86px; margin: 0 auto 16px;
	display: grid; place-items: center;
	border-radius: 50%;
	background: var(--va-grad-soft);
	color: var(--va-accent);
	box-shadow: inset 0 0 0 1px var(--va-hair);
}
.valabi-account-panel .va-empty__art .va-icon { width: 38px; height: 38px; color: inherit; margin: 0; }
.valabi-account-panel .va-empty__title { margin: 0 0 6px; font-size: 17px; font-weight: 700; color: var(--va-ink); }
/* Replace WooCommerce's plain "no downloads" notice with our illustration */
.valabi-account-panel .woocommerce-MyAccount-content .va-empty--downloads ~ .woocommerce-info,
.valabi-account-panel .woocommerce-MyAccount-content .va-empty--downloads ~ .woocommerce-message,
.valabi-account-panel .woocommerce-MyAccount-content .va-empty--downloads ~ .woocommerce-Message { display: none !important; }

/* Shortcut tiles — each a different lively gradient ------------ */
.valabi-account-panel .va-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: 16px;
}
.valabi-account-panel .va-tile {
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	gap: 12px; padding: 24px 14px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius-sm);
	box-shadow: var(--va-shadow);
	color: var(--va-ink) !important;
	text-decoration: none; text-align: center;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.valabi-account-panel .va-tile:hover { transform: translateY(-3px); box-shadow: var(--va-shadow-hover); border-color: transparent; }
.valabi-account-panel .va-tile__icon {
	display: grid; place-items: center;
	width: 52px; height: 52px; border-radius: 15px; color: #fff;
}
.valabi-account-panel .va-tile__icon .va-icon { width: 25px; height: 25px; }
.valabi-account-panel .va-tile__label { font-size: 14px; font-weight: 600; }
.valabi-account-panel .va-tile--0 .va-tile__icon { background: linear-gradient(135deg,#6366f1,#8b5cf6); }
.valabi-account-panel .va-tile--1 .va-tile__icon { background: linear-gradient(135deg,#ec4899,#f43f5e); }
.valabi-account-panel .va-tile--2 .va-tile__icon { background: linear-gradient(135deg,#06b6d4,#3b82f6); }
.valabi-account-panel .va-tile--3 .va-tile__icon { background: linear-gradient(135deg,#10b981,#22d3ee); }
.valabi-account-panel .va-tile--4 .va-tile__icon { background: linear-gradient(135deg,#f59e0b,#fb7185); }

/* ===========================================================
   Single order — updates accordion + receipt card
   =========================================================== */

.valabi-account-panel .va-order-view { max-width: 540px; margin: 0 auto; }

/* Order-updates accordion (native <details>) */
.valabi-account-panel .va-updates {
	margin-bottom: 22px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius);
	box-shadow: var(--va-shadow);
	overflow: hidden;
}
.valabi-account-panel .va-updates__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 16px 20px;
	cursor: pointer;
	list-style: none;
	font-weight: 700;
	color: var(--va-ink);
	user-select: none;
}
.valabi-account-panel .va-updates__head::-webkit-details-marker { display: none; }
.valabi-account-panel .va-updates__title { display: inline-flex; align-items: center; gap: 10px; font-size: 15px; }
.valabi-account-panel .va-updates__title .va-icon { width: 20px; height: 20px; color: var(--va-accent); }
.valabi-account-panel .va-updates__count {
	display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 7px;
	border-radius: 999px; background: var(--va-accent-soft); color: var(--va-accent);
	font-size: 12px; font-weight: 700;
}
.valabi-account-panel .va-updates__chevron .va-icon { width: 20px; height: 20px; color: var(--va-mute); transform: rotate(90deg); transition: transform .2s ease; }
.valabi-account-panel .va-updates[open] .va-updates__chevron .va-icon { transform: rotate(-90deg); }

.valabi-account-panel .va-updates__list { list-style: none; margin: 0; padding: 6px 20px 18px; }
.valabi-account-panel .va-update {
	position: relative;
	display: flex; gap: 14px;
	padding: 12px 0;
	padding-inline-start: 6px;
}
.valabi-account-panel .va-update + .va-update { border-top: 1px dashed var(--va-hair); }
.valabi-account-panel .va-update__dot {
	flex: 0 0 auto; width: 11px; height: 11px; margin-top: 5px;
	border-radius: 50%; background: var(--va-grad);
	box-shadow: 0 0 0 4px var(--va-accent-soft);
}
.valabi-account-panel .va-update__body { flex: 1 1 auto; min-width: 0; }
.valabi-account-panel .va-update__text { color: var(--va-ink); font-size: 14px; line-height: 1.8; }
.valabi-account-panel .va-update__text p { margin: 0 0 4px; }
.valabi-account-panel .va-update__date { display: block; margin-top: 4px; font-size: 12px; color: var(--va-mute); }

.valabi-account-panel .va-receipt__plugin-cta { margin-top: 18px; }
.valabi-account-panel .va-receipt__plugin-cta:empty { display: none; }

/* ===========================================================
   Single order — receipt card
   =========================================================== */

.valabi-account-panel .va-receipt {
	max-width: 540px;
	margin: 0 auto;
	padding: 30px 30px 32px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius);
	box-shadow: var(--va-shadow);
	text-align: center;
}

.valabi-account-panel .va-receipt__track {
	padding: 15px 18px;
	margin-bottom: 26px;
	border: 1.5px dashed var(--va-hair-strong);
	border-radius: var(--va-radius-sm);
	color: var(--va-accent);
	font-weight: 600;
	font-size: 15px;
}
.valabi-account-panel .va-receipt__track strong { font-weight: 700; }

.valabi-account-panel .va-receipt__badge {
	width: 66px; height: 66px;
	margin: 6px auto 16px;
	display: grid; place-items: center;
	border-radius: 19px;
	border: 2px solid;
}
.valabi-account-panel .va-receipt__badge .va-icon { width: 34px; height: 34px; stroke-width: 2.6; }
.valabi-account-panel .va-receipt__badge.is-success {
	border-color: #c4b5fd;
	color: #7c3aed;
	background: linear-gradient(135deg,#f5f0ff,#fdeffb);
}
.valabi-account-panel .va-receipt__badge.is-fail {
	border-color: #fca5a5;
	color: #dc2626;
	background: #fef2f2;
}

.valabi-account-panel .va-receipt__flag {
	display: inline-block;
	margin-bottom: 8px;
	padding: 4px 14px;
	border-radius: 999px;
	background: #fee2e2;
	color: #b91c1c;
	font-size: 13px;
	font-weight: 700;
}

.valabi-account-panel .va-receipt__title { margin: 0 0 14px; font-size: 20px; font-weight: 700; color: var(--va-ink); }
.valabi-account-panel .va-receipt__note { margin: 0 0 24px; color: #dc2626; font-size: 14px; line-height: 1.9; }

.valabi-account-panel .va-receipt__rows {
	text-align: start;
	margin-bottom: 24px;
	border-top: 1px solid var(--va-hair);
}
.valabi-account-panel .va-receipt__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 15px 2px;
	border-bottom: 1px solid var(--va-hair);
	font-size: 15px;
}
.valabi-account-panel .va-receipt__row .lbl { color: var(--va-ink); font-weight: 600; }
.valabi-account-panel .va-receipt__row .val { color: var(--va-mute); text-align: start; }
.valabi-account-panel .va-receipt__qty { color: var(--va-mute); font-size: 13px; }
.valabi-account-panel .va-receipt__row.is-total { background: var(--va-cream); margin: 0 -14px; padding: 16px 16px; border-radius: var(--va-radius-sm); border-bottom: none; }
.valabi-account-panel .va-receipt__row.is-total .lbl,
.valabi-account-panel .va-receipt__row.is-total .val { font-weight: 700; color: var(--va-ink); font-size: 16px; }

.valabi-account-panel .va-receipt__cta { display: flex; flex-direction: column; gap: 12px; }
.valabi-account-panel .va-receipt__btnrow { display: flex; gap: 12px; }
.valabi-account-panel .va-receipt__btnrow .va-receipt__btn { flex: 1 1 0; min-width: 0; }
.valabi-account-panel .va-receipt__btn .va-icon { width: 19px; height: 19px; margin-inline-end: 8px; }
/* "order again" — softer alt fill so the two inline buttons read distinctly */
.valabi-account-panel .va-receipt__btn--alt {
	background: var(--va-accent-soft);
	color: var(--va-accent) !important;
	box-shadow: none;
}
.valabi-account-panel .va-receipt__btn--alt:hover { filter: none; background: var(--va-accent-soft); transform: translateY(-1px); }
@media (max-width: 560px) {
	.valabi-account-panel .va-receipt__btnrow { flex-direction: column; }
}
.valabi-account-panel .va-receipt__btn {
	display: flex; align-items: center; justify-content: center;
	width: 100%;
	padding: 15px 20px;
	border-radius: var(--va-radius-sm);
	background: var(--va-grad);
	color: #fff !important;
	font-weight: 700; font-size: 15px;
	text-decoration: none;
	box-shadow: 0 14px 28px -16px rgba(124,58,237,.7);
	transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.valabi-account-panel .va-receipt__btn:hover { transform: translateY(-1px); filter: brightness(1.05); box-shadow: var(--va-shadow-hover); }
.valabi-account-panel .va-receipt__btn.is-danger {
	background: linear-gradient(120deg,#f43f5e,#dc2626);
	box-shadow: 0 14px 28px -16px rgba(220,38,38,.7);
}
.valabi-account-panel .va-receipt__btn--ghost {
	background: #fff;
	color: var(--va-ink) !important;
	border: 1px solid var(--va-hair-strong);
	box-shadow: none;
}
.valabi-account-panel .va-receipt__btn--ghost:hover { background: var(--va-cream); filter: none; }

/* ===========================================================
   Default WC tabs (orders table, addresses, account details)
   =========================================================== */

.valabi-account-panel .woocommerce-orders-table {
	width: 100%;
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius);
	overflow: hidden;
	box-shadow: var(--va-shadow);
	border-collapse: separate;
	border-spacing: 0;
	background: var(--va-paper);
}
.valabi-account-panel .woocommerce-orders-table thead th {
	background: var(--va-cream); color: var(--va-mute);
	font-weight: 600; font-size: 13px; padding: 15px 18px; border: none;
	text-align: start;
}
.valabi-account-panel .woocommerce-orders-table tbody td {
	padding: 16px 18px;
	border-top: 1px solid var(--va-hair);
	vertical-align: middle;
	text-align: start;
	font-size: 14px;
	color: var(--va-ink);
}
.valabi-account-panel .woocommerce-orders-table tbody tr { transition: background .16s ease; }
.valabi-account-panel .woocommerce-orders-table tbody tr:hover { background: var(--va-cream); }
.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__header-order-actions { text-align: right; }
.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a { display: block; text-align: center; font-weight: 700; color: var(--va-accent); text-decoration: none; }
.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-total { font-weight: 600; }
.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
	display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start;
}
/* Action buttons compact to fit the row */
.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions .button {
	padding: 9px 18px; font-size: 13px;
}

/* Responsive: stack rows into labelled cards (uses WC data-title attrs) */
@media (max-width: 720px) {
	.valabi-account-panel .woocommerce-orders-table thead { display: none; }
	.valabi-account-panel .woocommerce-orders-table tbody tr { display: block; border-top: 1px solid var(--va-hair); padding: 6px 4px; }
	.valabi-account-panel .woocommerce-orders-table tbody td {
		display: flex; align-items: center; justify-content: space-between;
		border: 0; padding: 9px 16px;
	}
	.valabi-account-panel .woocommerce-orders-table tbody td::before {
		content: attr(data-title); color: var(--va-mute); font-weight: 600; font-size: 13px;
	}
	.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions { justify-content: flex-end; }
	.valabi-account-panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions::before { display: none; }
}

/* ===== Orders tab: search + status filter toolbar ===== */
.valabi-account-panel .va-orders-toolbar {
	display: flex; gap: 12px; flex-wrap: wrap; align-items: center;
	margin-bottom: 16px;
}
.valabi-account-panel .va-orders-search {
	position: relative; flex: 1 1 240px; min-width: 0;
	display: flex; align-items: center;
}
.valabi-account-panel .va-orders-search .va-icon {
	position: absolute; inset-inline-start: 14px;
	width: 18px; height: 18px; color: var(--va-mute); pointer-events: none;
}
.valabi-account-panel .va-orders-search__input {
	width: 100%;
	padding: 12px 14px; padding-inline-start: 42px;
	border: 1px solid var(--va-hair-strong); border-radius: 12px;
	background: var(--va-paper); color: var(--va-ink);
	font-family: var(--va-font); font-size: 14px;
	transition: border-color .16s ease, box-shadow .16s ease;
}
.valabi-account-panel .va-orders-search__input:focus {
	outline: none; border-color: var(--va-accent); box-shadow: 0 0 0 3px var(--va-accent-soft);
}
.valabi-account-panel .va-orders-filter {
	flex: 0 0 auto;
	padding: 12px 14px;
	border: 1px solid var(--va-hair-strong); border-radius: 12px;
	background: var(--va-paper); color: var(--va-ink);
	font-family: var(--va-font); font-size: 14px; cursor: pointer;
}
.valabi-account-panel .va-orders-filter:focus {
	outline: none; border-color: var(--va-accent); box-shadow: 0 0 0 3px var(--va-accent-soft);
}
.valabi-account-panel .va-orders-noresult {
	margin: 0 0 16px; padding: 24px;
	text-align: center; color: var(--va-mute);
	background: var(--va-paper);
	border: 1px dashed var(--va-hair-strong); border-radius: var(--va-radius);
}

/* ===== Top-of-panel announcement banner ===== */
.valabi-account-panel .va-announce {
	display: flex; align-items: center; gap: 12px;
	margin: 0 0 22px;
	padding: 15px 18px;
	border-radius: var(--va-radius-sm);
	border: 1px solid;
	font-size: 14.5px; font-weight: 500; line-height: 1.7;
	text-decoration: none;
}
.valabi-account-panel .va-announce__icon { flex: 0 0 auto; display: grid; place-items: center; }
.valabi-account-panel .va-announce__icon .va-icon { width: 24px; height: 24px; }
.valabi-account-panel .va-announce__text { flex: 1 1 auto; }
.valabi-account-panel .va-announce__chevron .va-icon { width: 18px; height: 18px; transform: scaleX(-1); }
.valabi-account-panel .va-announce--warning {
	background: #fffbeb; border-color: #fcd34d; color: #92560a;
}
.valabi-account-panel .va-announce--warning .va-announce__icon { color: #d97706; }
.valabi-account-panel .va-announce--info {
	background: #eff6ff; border-color: #93c5fd; color: #1e40af;
}
.valabi-account-panel .va-announce--info .va-announce__icon { color: #2563eb; }
.valabi-account-panel .va-announce[hidden] { display: none !important; }
/* Inner link variant (when a URL is set) + close button */
.valabi-account-panel .va-announce__link {
	display: flex; align-items: center; gap: 12px; flex: 1 1 auto;
	color: inherit; text-decoration: none;
	transition: filter .15s ease, transform .15s ease;
}
.valabi-account-panel .va-announce__link:hover { filter: brightness(.98); transform: translateY(-1px); }
.valabi-account-panel .va-announce__dismiss {
	flex: 0 0 auto; display: grid; place-items: center;
	width: 30px; height: 30px; padding: 0; margin-inline-start: 4px;
	border: 0; border-radius: 9px; cursor: pointer;
	background: transparent; color: inherit; opacity: .6;
	transition: opacity .15s ease, background .15s ease;
}
.valabi-account-panel .va-announce__dismiss:hover { opacity: 1; background: rgba(0,0,0,.06); }
.valabi-account-panel .va-announce__dismiss .va-icon { width: 17px; height: 17px; }
.valabi-account-panel .va-announce.is-dismissing {
	opacity: 0; transform: translateY(-6px);
	transition: opacity .2s ease, transform .2s ease;
}

/* ===== Address accordion (reuses .va-updates) ===== */
.valabi-account-panel .va-addr { margin-top: 22px; margin-bottom: 0; }
.valabi-account-panel .va-addr__body { padding: 4px 20px 20px; }
.valabi-account-panel .va-addr__body address { font-style: normal; color: var(--va-ink); font-size: 14.5px; line-height: 2; }
.valabi-account-panel .va-addr__phone { margin: 8px 0 0; color: var(--va-mute); font-size: 14px; }

/* ===== Thank-you (order-received) page — same card, normal site layout ===== */
.va-thankyou-page .va-thankyou { padding: 18px 0 36px; }
.va-thankyou-page .va-order-view { max-width: 540px; margin: 0 auto; }
/* Hide WooCommerce's default order-received bits if the theme still prints them
   around our template. */
.va-thankyou-page .woocommerce-order > .woocommerce-notice--success,
.va-thankyou-page .woocommerce-order-overview,
.va-thankyou-page .woocommerce-order-details:not(.va-order-view),
.va-thankyou-page .woocommerce-customer-details { display: none; }

/* Buttons — gradient brand */
.valabi-account-panel .va-btn,
.valabi-account-panel .woocommerce-MyAccount-content .button,
.valabi-account-panel .woocommerce-MyAccount-content button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: var(--va-grad); color: #fff !important;
	border: none; border-radius: 999px; padding: 11px 24px;
	font-family: var(--va-font); font-weight: 700; font-size: 14px; line-height: 1;
	text-decoration: none; cursor: pointer;
	box-shadow: 0 14px 26px -14px rgba(124,58,237,.7);
	transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}
.valabi-account-panel .va-btn:hover,
.valabi-account-panel .woocommerce-MyAccount-content .button:hover,
.valabi-account-panel .woocommerce-MyAccount-content button[type="submit"]:hover {
	transform: translateY(-1px); filter: brightness(1.05); box-shadow: var(--va-shadow-hover);
}

/* Form fields */
.valabi-account-panel .woocommerce-MyAccount-content form .form-row label,
.valabi-account-panel .woocommerce-MyAccount-content form .woocommerce-form-row label {
	font-size: 13px; color: var(--va-mute); font-weight: 500;
}
.valabi-account-panel .woocommerce-MyAccount-content form input.input-text,
.valabi-account-panel .woocommerce-MyAccount-content form input[type="text"],
.valabi-account-panel .woocommerce-MyAccount-content form input[type="email"],
.valabi-account-panel .woocommerce-MyAccount-content form input[type="tel"],
.valabi-account-panel .woocommerce-MyAccount-content form input[type="password"],
.valabi-account-panel .woocommerce-MyAccount-content form input[type="number"],
.valabi-account-panel .woocommerce-MyAccount-content form select,
.valabi-account-panel .woocommerce-MyAccount-content form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 52px;
	padding: 13px 16px;
	border: 1.5px solid var(--va-hair-strong);
	border-radius: 13px;
	background: var(--va-cream);
	color: var(--va-ink);
	font-family: var(--va-font);
	font-size: 15px;
	line-height: 1.6;
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.valabi-account-panel .woocommerce-MyAccount-content form textarea { min-height: 110px; line-height: 1.9; }

/* Native <select>: a fixed height + our own chevron. The fixed height is what
   stops the browser from clipping the option text when padding is applied. */
.valabi-account-panel .woocommerce-MyAccount-content form select {
	height: 52px;
	line-height: normal;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	padding-inline-end: 44px; /* room for the chevron on the start side (left in RTL) */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23727a93' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: left 16px center;
	background-size: 18px 18px;
	cursor: pointer;
}

.valabi-account-panel .woocommerce-MyAccount-content form input.input-text:focus,
.valabi-account-panel .woocommerce-MyAccount-content form input:focus,
.valabi-account-panel .woocommerce-MyAccount-content form select:focus,
.valabi-account-panel .woocommerce-MyAccount-content form textarea:focus {
	outline: none; border-color: var(--va-accent);
	background: var(--va-paper);
	box-shadow: 0 0 0 4px var(--va-accent-soft);
}
.valabi-account-panel .woocommerce-MyAccount-content form input::placeholder,
.valabi-account-panel .woocommerce-MyAccount-content form textarea::placeholder { color: var(--va-mute); opacity: .7; }

/* Country dropdown (WooCommerce renders it through Select2) */
.valabi-account-panel .select2-container--default .select2-selection--single {
	height: 52px;
	border: 1.5px solid var(--va-hair-strong);
	border-radius: 13px;
	background: var(--va-cream);
}
.valabi-account-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 50px;
	padding-inline-start: 16px;
	padding-inline-end: 40px;
	color: var(--va-ink);
	font-size: 15px;
}
.valabi-account-panel .select2-container--default .select2-selection--single .select2-selection__arrow { height: 50px; }
.valabi-account-panel .select2-container--default.select2-container--focus .select2-selection--single,
.valabi-account-panel .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--va-accent);
	background: var(--va-paper);
	box-shadow: 0 0 0 4px var(--va-accent-soft);
}
.valabi-account-panel .select2-dropdown { border: 1.5px solid var(--va-hair-strong); border-radius: 13px; overflow: hidden; }
.valabi-account-panel .select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--va-accent); }
.valabi-account-panel .select2-search--dropdown .select2-search__field { border-radius: 10px; border: 1px solid var(--va-hair-strong); }

/* ===== Addresses list — cards ===== */
.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 8px;
}
.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-Address {
	max-width: 560px;
	background: var(--va-paper);
	border: 1px solid var(--va-hair);
	border-radius: var(--va-radius);
	box-shadow: var(--va-shadow);
	padding: 22px 24px;
}
.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-Addresses .woocommerce-Address { max-width: none; }
.valabi-account-panel .woocommerce-Address-title {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	margin: 0 0 14px; padding-bottom: 14px; border-bottom: 1px solid var(--va-hair);
}
.valabi-account-panel .woocommerce-Address-title h3 { margin: 0; font-size: 16px; font-weight: 700; color: var(--va-ink); }
.valabi-account-panel .woocommerce-Address-title .edit {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 15px; border-radius: 999px;
	background: var(--va-accent-soft); color: var(--va-accent) !important;
	font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap;
	transition: background .15s ease, color .15s ease, transform .15s ease;
}
.valabi-account-panel .woocommerce-Address-title .edit:hover { background: var(--va-accent); color: #fff !important; transform: translateY(-1px); }
.valabi-account-panel .woocommerce-Address address {
	font-style: normal; color: var(--va-ink); font-size: 14.5px; line-height: 2.1;
}
.valabi-account-panel .woocommerce-Address address:empty::before,
.valabi-account-panel .woocommerce-Address .woocommerce-Address--empty { color: var(--va-mute); }
@media (max-width: 720px) {
	.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-Addresses { grid-template-columns: 1fr; }
	.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-Address { max-width: none; }
}

.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-message,
.valabi-account-panel .woocommerce-MyAccount-content .woocommerce-info {
	border-top-color: var(--va-accent); border-radius: var(--va-radius-sm);
}

/* ===========================================================
   Entrance motion — one orchestrated reveal
   =========================================================== */
@media (prefers-reduced-motion: no-preference) {
	.valabi-account-panel .va-dash > * {
		opacity: 0; transform: translateY(10px);
		animation: vaRise .5s cubic-bezier(.2,.7,.2,1) forwards;
	}
	.valabi-account-panel .va-dash > *:nth-child(1) { animation-delay: .02s; }
	.valabi-account-panel .va-dash > *:nth-child(2) { animation-delay: .08s; }
	.valabi-account-panel .va-dash > *:nth-child(3) { animation-delay: .14s; }
	.valabi-account-panel .va-dash > *:nth-child(4) { animation-delay: .20s; }
	.valabi-account-panel .va-dash > *:nth-child(5) { animation-delay: .26s; }
	@keyframes vaRise { to { opacity: 1; transform: none; } }
}

/* ===========================================================
   Responsive
   =========================================================== */
@media (max-width: 849px) {
	.valabi-account-panel .my-account .row.vertical-tabs > .large-3.col { position: static; }
}
@media (max-width: 720px) {
	.valabi-account-panel .va-stats { grid-template-columns: repeat(2, 1fr); }
	.valabi-account-panel .va-hero { padding: 22px; }
	.valabi-account-panel .va-hero__name { font-size: 22px; }
	.valabi-account-panel .va-order__link { flex-wrap: wrap; }
	.valabi-account-panel .va-order__aside { align-items: flex-end; }
	.valabi-account-panel .va-order__chevron { display: none; }
}
