/* =====================================================================
   ParsAccess — customer account area v2 (approved redesign)
   Loaded only on My-Account pages, on top of main.css.
   Everything is scoped under .pa-acc2 (shell) except the design tokens.
   Optical-glass system per the approved reference designs.
   ===================================================================== */

/* ---------- 1. design tokens ---------- */
:root {
	--pa-navy-950: #1F225C;
	--pa-navy-900: #272A68;
	--pa-navy-800: #2E2F6E;

	--pa-indigo-700: #4D4BA0;
	--pa-indigo-600: #5756A6;
	--pa-indigo-500: #716DE0;

	--pa-teal-700: #169B9D;
	--pa-teal-600: #25AEAD;
	--pa-teal-500: #72C6C1;
	--pa-teal-300: #A7E4E0;

	--pa-cyan-300: #A9EEF0;
	--pa-cyan-200: #D9F8F8;

	--pa-pink-500: #EE6D94;
	--pa-pink-300: #F2B3C1;

	--pa-success: #26A878;
	--pa-success-bg: rgba(61, 196, 139, 0.12);

	--pa-processing: #338EE8;
	--pa-processing-bg: rgba(51, 142, 232, 0.12);

	--pa-warning: #C88A20;
	--pa-warning-bg: rgba(239, 181, 77, 0.14);

	--pa-danger: #E75B74;
	--pa-danger-bg: rgba(231, 91, 116, 0.12);

	--pa-page-bg: #F7FAFF;
	--pa-text-primary: #272A68;
	--pa-text-secondary: #686D99;
	--pa-text-muted: #9297B5;

	--pa-acc-radius: 26px;
	--pa-acc-radius-s: 15px;
	--pa-acc-gap: 24px;
	--pa-acc-max: 1380px;
}

[data-theme="dark"] {
	--pa-page-bg: #11152F;
	--pa-text-primary: #F2F5FF;
	--pa-text-secondary: #BBC2DE;
	--pa-text-muted: #858DAC;
}

/* ---------- 2. shell + ambient fields (one page background only) ---------- */
/* No horizontal overflow, ever: clip at the page level on account pages.
   overflow:clip does not create a scroll container, and position:fixed
   descendants (tab bar, sheet, portaled menu) are unaffected. */
body.pa-acc-page { overflow-x: clip; }
.pa-acc2 { position: relative; isolation: isolate; background: transparent; direction: rtl; text-align: right; color: var(--pa-text-primary); padding-block: 28px 64px; overflow-x: clip; }

.pa-acc2-ambient { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: -1; }
.pa-acc2-ambient i { position: absolute; border-radius: 50%; }
.pa-acc2-ambient .amb-cyan { width: 620px; height: 620px; top: -120px; inset-inline-start: 6%; background: rgba(115, 222, 226, 0.20); filter: blur(100px); }
.pa-acc2-ambient .amb-teal { width: 460px; height: 460px; top: 10%; inset-inline-end: 14%; background: rgba(37, 174, 173, 0.10); filter: blur(110px); }
.pa-acc2-ambient .amb-indigo { width: 520px; height: 520px; bottom: 2%; inset-inline-end: 3%; background: rgba(103, 92, 218, 0.12); filter: blur(110px); }
.pa-acc2-ambient .amb-pink { width: 300px; height: 300px; bottom: 18%; inset-inline-start: 12%; background: rgba(238, 109, 148, 0.06); filter: blur(90px); }

.pa-acc2-wrap { max-width: min(var(--pa-acc-max), 100%); min-width: 0; margin-inline: auto; padding-inline: var(--pad); display: flex; flex-direction: column; gap: var(--pa-acc-gap); }
.pa-acc2-wrap > *, .pa-acc2-main > *, .pa-acc2-dashboard > * { min-width: 0; max-width: 100%; }

/* ---------- 3. optical glass primitives ---------- */
.pa-glass {
	position: relative; overflow: hidden;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0.22) 55%, rgba(232, 248, 252, 0.25) 100%);
	border: 1px solid rgba(255, 255, 255, 0.72);
	box-shadow: 0 18px 44px rgba(39, 42, 104, 0.08), 0 5px 15px rgba(39, 42, 104, 0.04), inset 0 1px 0 rgba(255, 255, 255, 0.90), inset 1px 0 0 rgba(255, 255, 255, 0.34), inset 0 -1px 0 rgba(87, 86, 166, 0.10);
	-webkit-backdrop-filter: blur(26px) saturate(145%);
	backdrop-filter: blur(26px) saturate(145%);
	border-radius: var(--pa-acc-radius);
}
.pa-glass::before {
	content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(114, 198, 193, 0.25) 34%, rgba(255, 255, 255, 0.12) 58%, rgba(105, 98, 219, 0.25) 82%, rgba(90, 224, 226, 0.40) 100%);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor; mask-composite: exclude;
	pointer-events: none; z-index: 2;
}
.pa-glass::after {
	content: ""; position: absolute; top: -10%; inset-inline-end: 8%; width: 58%; height: 45%;
	background: radial-gradient(ellipse at top right, rgba(255, 255, 255, 0.34), transparent 68%);
	opacity: 0.58; pointer-events: none;
}
.pa-glass > * { position: relative; z-index: 3; }

.pa-glass--soft {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.17));
	border: 1px solid rgba(255, 255, 255, 0.60);
	box-shadow: 0 12px 30px rgba(39, 42, 104, 0.065), inset 0 1px 0 rgba(255, 255, 255, 0.76);
	-webkit-backdrop-filter: blur(20px) saturate(135%);
	backdrop-filter: blur(20px) saturate(135%);
}
.pa-glass--soft::before { background: linear-gradient(135deg, rgba(255, 255, 255, 0.7), rgba(114, 198, 193, 0.14) 40%, rgba(255, 255, 255, 0.08) 62%, rgba(105, 98, 219, 0.16)); }
.pa-glass--soft::after { display: none; }

.pa-glass-inner {
	position: relative;
	background: rgba(255, 255, 255, 0.21);
	border: 1px solid rgba(255, 255, 255, 0.50);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68), 0 6px 16px rgba(39, 42, 104, 0.04);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border-radius: var(--pa-acc-radius-s);
}

/* cyan/indigo refraction along a card's lower edge (wallet + stats) */
.pa-glass.has-refraction { border-block-end: none; }
.pa-glass.has-refraction .pa-refraction { content: ""; position: absolute; inset-inline: 0; bottom: 0; height: 3px; z-index: 4; border-radius: 0 0 var(--pa-acc-radius) var(--pa-acc-radius); background: linear-gradient(90deg, rgba(90, 224, 226, .85), rgba(114, 198, 193, .5) 30%, rgba(113, 109, 224, .55) 70%, rgba(169, 238, 240, .9)); filter: saturate(1.2); pointer-events: none; }

/* ---------- 4. compact account header ---------- */
.pa-acc2-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pa-acc2-id { display: flex; align-items: center; gap: 14px; min-width: 0; }
.pa-acc2-id .avatar { position: relative; flex: none; }
.pa-acc2-id .avatar img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255, 255, 255, .8); box-shadow: 0 8px 18px rgba(39, 42, 104, .14); display: block; }
.pa-acc2-id .who { min-width: 0; }
.pa-acc2-id .who h1 { font-size: 22px; font-weight: 800; color: var(--pa-text-primary); margin: 0; line-height: 1.3; }
.pa-acc2-id .who small { display: block; font-size: 12.5px; color: var(--pa-text-muted); }

.pa-acc2-tools { display: flex; align-items: center; gap: 10px; }
.pa-acc2-search { display: flex; align-items: center; }
.pa-acc2-search input { min-height: 44px; width: 250px; padding-inline: 42px 16px; border-radius: var(--radius-pill); font: inherit; font-size: 13.5px; color: var(--pa-text-primary); background: rgba(255, 255, 255, 0.30); border: 1px solid rgba(255, 255, 255, 0.62); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 5px 14px rgba(39, 42, 104, .035); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); transition: width var(--t-med), box-shadow var(--t-fast); }
.pa-acc2-search { position: relative; }
.pa-acc2-search .go { position: absolute; inset-inline-start: 6px; top: 50%; translate: 0 -50%; width: 34px; height: 34px; display: grid; place-items: center; border: 0; background: none; color: var(--pa-text-muted); cursor: pointer; border-radius: 50%; }
.pa-acc2-search input::placeholder { color: var(--pa-text-muted); }
.pa-acc2-search input:focus { outline: none; border-color: rgba(37, 174, 173, .55); box-shadow: 0 0 0 3px rgba(114, 198, 193, .12), inset 0 1px 0 rgba(255, 255, 255, .7); }

.pa-acc2-iconbtn { width: 46px; height: 46px; flex: none; display: grid; place-items: center; border-radius: 50%; color: var(--pa-text-primary); background: rgba(255, 255, 255, 0.30); border: 1px solid rgba(255, 255, 255, 0.62); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6), 0 5px 14px rgba(39, 42, 104, .05); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); cursor: pointer; transition: transform var(--t-fast); }
.pa-acc2-iconbtn:hover { transform: translateY(-1px); }
.pa-acc2-iconbtn svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 5. desktop navigation dock ---------- */
/* position+z-index lift the (backdrop-filter-atomic) dock above later sibling
   glass cards so the «بیشتر» dropdown never paints underneath them. */
.pa-acc2-dock { display: flex; align-items: center; gap: 4px; min-height: 72px; padding: 10px; border-radius: 24px; position: relative; z-index: 50; }
.pa-acc2-dock a, .pa-acc2-dock button { display: inline-flex; align-items: center; gap: 9px; padding: 12px 18px; border-radius: 16px; border: 0; background: none; font: inherit; font-size: 14px; font-weight: 600; color: var(--pa-text-secondary); text-decoration: none; cursor: pointer; white-space: nowrap; transition: color var(--t-fast), background var(--t-fast); }
.pa-acc2-dock a svg, .pa-acc2-dock button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-dock a:hover, .pa-acc2-dock button:hover { color: var(--pa-text-primary); }
.pa-acc2-dock a.is-active { color: var(--pa-navy-800); background: linear-gradient(135deg, rgba(169, 238, 240, .55), rgba(114, 198, 193, .30)); border: 1px solid rgba(255, 255, 255, .75); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 8px 18px rgba(37, 174, 173, .14); }
.pa-acc2-dock .spacer { flex: 1; }
.pa-acc2-dock .logout { color: var(--pa-text-secondary); }
.pa-acc2-dock .logout:hover { color: var(--pa-danger); }

/* «بیشتر» dropdown */
.pa-acc2-more { position: relative; }
.pa-acc2-more > button[aria-expanded="true"] { color: var(--pa-text-primary); background: rgba(255, 255, 255, .35); }
/* The menu is PORTALED to <body> by account.js when opened (position:fixed set
   inline) — the dock is a backdrop-filter scroll container, so any in-place
   absolute menu would be clipped by it. These styles cover both states. */
.pa-acc2-more-menu { position: absolute; top: calc(100% + 10px); inset-inline-end: 0; min-width: 224px; padding: 8px; z-index: 240; display: flex; flex-direction: column; gap: 2px; border-radius: 18px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.72), rgba(255, 255, 255, 0.58)); border: 1px solid rgba(255, 255, 255, 0.85); box-shadow: 0 24px 54px rgba(39, 42, 104, 0.16); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
.pa-acc2-more-menu[hidden] { display: none; }
.pa-acc2-more-menu a { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 12px; font-size: 13.5px; font-weight: 600; color: var(--pa-text-primary); text-decoration: none; }
.pa-acc2-more-menu a:hover { background: rgba(114, 198, 193, .14); }
.pa-acc2-more-menu a svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: var(--pa-indigo-600); }

/* ---------- 6. mobile bottom navigation + account sheet ---------- */
.pa-acc2-tabbar { display: none; }
.pa-acc2-sheet { display: none; }

/* ---------- 7. buttons ---------- */
.pa-button-primary { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 22px; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; text-decoration: none; background: linear-gradient(135deg, #72C6C1, #25AEAD); border: 1px solid rgba(255, 255, 255, 0.50); border-radius: var(--pa-acc-radius-s); box-shadow: 0 10px 24px rgba(37, 174, 173, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.48); transition: transform var(--t-fast), box-shadow var(--t-fast), filter var(--t-fast); }
.pa-button-primary:hover { transform: translateY(-1px); filter: brightness(1.04); box-shadow: 0 14px 28px rgba(37, 174, 173, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.48); }
.pa-button-primary svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.pa-button-primary:disabled, .pa-button-primary.is-loading { opacity: .6; pointer-events: none; }

.pa-button-ghost { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; text-decoration: none; color: var(--pa-navy-800); background: rgba(255, 255, 255, 0.26); border: 1px solid rgba(255, 255, 255, 0.62); border-radius: var(--pa-acc-radius-s); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background var(--t-fast); }
.pa-button-ghost:hover { background: rgba(255, 255, 255, 0.4); }
.pa-button-ghost svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.pa-button-danger { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 18px; font: inherit; font-size: 13.5px; font-weight: 700; cursor: pointer; color: var(--pa-danger); background: var(--pa-danger-bg); border: 1px solid rgba(231, 91, 116, 0.25); border-radius: var(--pa-acc-radius-s); transition: background var(--t-fast); }
.pa-button-danger:hover { background: rgba(231, 91, 116, 0.18); }

.pa-acc2 .is-loading { position: relative; color: transparent !important; }
.pa-acc2 .is-loading::after { content: ""; position: absolute; width: 18px; height: 18px; top: calc(50% - 9px); inset-inline-start: calc(50% - 9px); border: 2px solid rgba(255, 255, 255, .5); border-top-color: #fff; border-radius: 50%; animation: pa-acc-spin .7s linear infinite; }
@keyframes pa-acc-spin { to { transform: rotate(360deg); } }

/* ---------- 8. forms ---------- */
.pa-field { display: flex; flex-direction: column; gap: 7px; }
.pa-field > span, .pa-field > label { font-size: 12.5px; font-weight: 700; color: var(--pa-text-secondary); }
.pa-input { min-height: 48px; padding: 0 16px; font: inherit; font-size: 14px; color: var(--pa-text-primary); background: rgba(255, 255, 255, 0.24); border: 1px solid rgba(255, 255, 255, 0.58); border-radius: var(--pa-acc-radius-s); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 5px 14px rgba(39, 42, 104, 0.035); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
textarea.pa-input { min-height: 120px; padding-block: 13px; resize: vertical; }
.pa-input::placeholder { color: var(--pa-text-muted); }
.pa-input:focus { outline: none; border-color: rgba(37, 174, 173, 0.55); box-shadow: 0 0 0 3px rgba(114, 198, 193, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.70); }
.pa-input:disabled { opacity: .55; }
.pa-input.has-error { border-color: rgba(231, 91, 116, .55); }
.pa-field .err { font-size: 12px; color: var(--pa-danger); }
.pa-acc2 .pa-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.pa-acc2 .pa-form-grid .full { grid-column: 1 / -1; }
.pa-acc2 .pa-check { display: flex; align-items: center; gap: 10px; font-size: 13.5px; color: var(--pa-text-secondary); cursor: pointer; }
.pa-acc2 .pa-check input { width: 19px; height: 19px; accent-color: var(--pa-teal-600); }

/* WooCommerce core form fields (address / account forms) mapped onto the glass system */
.pa-acc2 .form-row { display: flex; flex-direction: column; gap: 7px; margin: 0 0 16px; padding: 0; }
.pa-acc2 .form-row label { font-size: 12.5px; font-weight: 700; color: var(--pa-text-secondary); }
.pa-acc2 .form-row label .required { color: var(--pa-danger); text-decoration: none; }
.pa-acc2 .input-text, .pa-acc2 .form-row select, .pa-acc2 .form-row textarea { min-height: 48px; padding: 0 16px; font: inherit; font-size: 14px; color: var(--pa-text-primary); background: rgba(255, 255, 255, 0.24); border: 1px solid rgba(255, 255, 255, 0.58); border-radius: var(--pa-acc-radius-s); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 5px 14px rgba(39, 42, 104, 0.035); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); width: 100%; }
.pa-acc2 .form-row textarea { min-height: 100px; padding-block: 12px; }
.pa-acc2 .input-text:focus, .pa-acc2 .form-row select:focus, .pa-acc2 .form-row textarea:focus { outline: none; border-color: rgba(37, 174, 173, 0.55); box-shadow: 0 0 0 3px rgba(114, 198, 193, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.70); }
.pa-acc2 .form-row .woocommerce-input-wrapper { display: block; }
.pa-acc2 .form-row.woocommerce-invalid .input-text, .pa-acc2 .form-row.woocommerce-invalid select { border-color: rgba(231, 91, 116, .55); }
.pa-acc2 .select2-container .select2-selection--single { min-height: 48px; border-radius: var(--pa-acc-radius-s); background: rgba(255, 255, 255, 0.24); border: 1px solid rgba(255, 255, 255, 0.58); }
.pa-acc2 fieldset { border: 0; margin: 0; padding: 0; }
.pa-acc2 fieldset legend { font-size: 15px; font-weight: 800; color: var(--pa-text-primary); padding: 0; margin: 8px 0 14px; }
[data-theme="dark"] .pa-acc2 .input-text, [data-theme="dark"] .pa-acc2 .form-row select, [data-theme="dark"] .pa-acc2 .form-row textarea { background: rgba(44, 49, 94, 0.35); border-color: rgba(210, 230, 255, 0.14); color: var(--pa-text-primary); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }

/* WooCommerce notices restyled inside the shell */
.pa-acc2 .woocommerce-message, .pa-acc2 .woocommerce-info, .pa-acc2 .woocommerce-error { list-style: none; margin: 0 0 4px; padding: 14px 18px; border-radius: var(--pa-acc-radius-s); font-size: 13.5px; background: rgba(255, 255, 255, .35); border: 1px solid rgba(255, 255, 255, .65); color: var(--pa-text-primary); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
.pa-acc2 .woocommerce-message { border-inline-start: 3px solid var(--pa-success); }
.pa-acc2 .woocommerce-info { border-inline-start: 3px solid var(--pa-processing); }
.pa-acc2 .woocommerce-error { border-inline-start: 3px solid var(--pa-danger); }
.pa-acc2 .woocommerce-error li { margin: 0; }

/* ---------- 9. shared bits: badges / thumbs / tabs / empty / toast / skeleton ---------- */
.pa-acc2-badge { display: inline-flex; align-items: center; min-height: 26px; padding: 2px 12px; border-radius: var(--radius-pill); font-size: 12px; font-weight: 700; font-style: normal; white-space: nowrap; }
.pa-acc2-badge.is-ok { color: var(--pa-success); background: var(--pa-success-bg); }
.pa-acc2-badge.is-info { color: var(--pa-processing); background: var(--pa-processing-bg); }
.pa-acc2-badge.is-warn { color: var(--pa-warning); background: var(--pa-warning-bg); }
.pa-acc2-badge.is-err { color: var(--pa-danger); background: var(--pa-danger-bg); }
.pa-acc2-badge.is-muted { color: var(--pa-text-muted); background: rgba(146, 151, 181, .14); }

.pa-acc2-thumb { width: 52px; height: 52px; flex: none; border-radius: 14px; overflow: hidden; display: grid; place-items: center; background: rgba(255, 255, 255, .4); border: 1px solid rgba(255, 255, 255, .6); }
.pa-acc2-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-acc2-thumb__chip { width: 100%; height: 100%; display: grid; place-items: center; font-size: 13px; font-weight: 800; font-style: normal; color: var(--pa-navy-800); background: var(--tint-neutral); }

.pa-acc2-chips { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pa-acc2-chip { display: inline-flex; align-items: center; gap: 6px; min-height: 38px; padding: 0 16px; border-radius: var(--radius-pill); font-size: 13px; font-weight: 600; color: var(--pa-text-secondary); text-decoration: none; background: rgba(255, 255, 255, 0.26); border: 1px solid rgba(255, 255, 255, 0.6); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: background var(--t-fast), color var(--t-fast); }
.pa-acc2-chip:hover { color: var(--pa-text-primary); background: rgba(255, 255, 255, 0.4); }
.pa-acc2-chip.is-active { color: var(--pa-navy-800); background: linear-gradient(135deg, rgba(169, 238, 240, .55), rgba(114, 198, 193, .32)); border-color: rgba(255, 255, 255, .78); }

.pa-acc2-empty { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; padding: 44px 24px; }
.pa-acc2-empty svg { width: 42px; height: 42px; fill: none; stroke: var(--pa-text-muted); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-empty b { font-size: 15px; color: var(--pa-text-primary); }
.pa-acc2-empty p { margin: 0; font-size: 13px; color: var(--pa-text-secondary); max-width: 46ch; }

/* toast is appended to <body>; physical props keep it dir-independent */
.pa-toast { position: fixed; bottom: 26px; left: 50%; right: auto; transform: translate(-50%, 10px); z-index: 200; display: flex; align-items: center; gap: 8px; max-width: min(92vw, 380px); padding: 12px 20px; border-radius: var(--radius-pill); font-size: 13.5px; font-weight: 600; color: #fff; background: rgba(31, 34, 92, .88); border: 1px solid rgba(255, 255, 255, .18); box-shadow: 0 18px 44px rgba(31, 34, 92, .3); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); opacity: 0; transition: opacity var(--t-med), transform var(--t-med); pointer-events: none; }
.pa-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

.pa-skel { position: relative; overflow: hidden; background: rgba(255, 255, 255, .35); border-radius: 10px; min-height: 14px; }
.pa-skel::after { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .6) 50%, transparent 70%); animation: pa-skel 1.4s infinite; }
@keyframes pa-skel { from { transform: translateX(100%); } to { transform: translateX(-100%); } }

/* card header row used everywhere */
.pa-acc2-cardhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-block-end: 4px; }
.pa-acc2-cardhead h2 { margin: 0; font-size: 16px; font-weight: 800; color: var(--pa-text-primary); }
.pa-acc2-cardhead .more { display: inline-flex; align-items: center; gap: 5px; font-size: 13px; font-weight: 700; color: var(--pa-teal-700); text-decoration: none; }
.pa-acc2-cardhead .more svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }

/* pagination */
.pa-acc2-pagination { display: flex; align-items: center; justify-content: center; gap: 6px; }
.pa-acc2-pagination a, .pa-acc2-pagination span { display: grid; place-items: center; min-width: 40px; height: 40px; padding-inline: 8px; border-radius: 13px; font-size: 13.5px; font-weight: 700; color: var(--pa-text-secondary); text-decoration: none; background: rgba(255, 255, 255, .26); border: 1px solid rgba(255, 255, 255, .58); }
.pa-acc2-pagination .current { color: var(--pa-navy-800); background: linear-gradient(135deg, rgba(169, 238, 240, .55), rgba(114, 198, 193, .32)); }

/* ---------- 10. dashboard ---------- */
.pa-acc2-dashboard { display: flex; flex-direction: column; gap: var(--pa-acc-gap); }
.pa-acc2-overview { display: grid; grid-template-columns: 7fr 5fr; gap: var(--pa-acc-gap); align-items: stretch; }

/* wallet card */
.pa-acc2-wallet { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 30px 34px; min-height: 240px; }
.pa-acc2-wallet .info { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.pa-acc2-wallet .info .label { font-size: 14.5px; font-weight: 700; color: var(--pa-text-secondary); }
.pa-acc2-wallet .info .amount { font-size: clamp(34px, 3.4vw, 46px); font-weight: 800; letter-spacing: -.5px; color: var(--pa-navy-900); font-feature-settings: 'tnum' 1; line-height: 1.15; }
.pa-acc2-wallet .info .unit { font-size: 14px; color: var(--pa-text-muted); }
.pa-acc2-wallet .info .pa-button-primary { margin-block-start: 8px; border-radius: var(--radius-pill); padding-inline: 26px; }

/* reusable glass wallet illustration (inline SVG, scales with viewBox) */
.pa-acc2-wallet .art { position: relative; flex: none; width: 270px; max-width: 40%; filter: drop-shadow(0 18px 30px rgba(87, 86, 166, .18)); }
.pa-acc2-wallet .art svg { width: 100%; height: auto; display: block; }

/* unified statistics card */
.pa-acc2-stats { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: stretch; padding: 26px 10px; }
.pa-acc2-stats .stat { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 12px 8px; text-align: center; }
.pa-acc2-stats .stat + .stat { border-inline-start: 1px solid rgba(146, 151, 181, .18); }
.pa-acc2-stats .stat .ic { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 16px; }
.pa-acc2-stats .stat .ic svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-stats .stat.is-orders .ic { color: var(--pa-pink-500); background: rgba(238, 109, 148, .10); }
.pa-acc2-stats .stat.is-codes .ic { color: var(--pa-indigo-500); background: rgba(113, 109, 224, .10); }
.pa-acc2-stats .stat.is-tickets .ic { color: var(--pa-teal-600); background: rgba(37, 174, 173, .10); }
.pa-acc2-stats .stat .lbl { font-size: 13px; font-weight: 700; color: var(--pa-text-secondary); }
.pa-acc2-stats .stat .val { font-size: 30px; font-weight: 800; color: var(--pa-navy-900); font-feature-settings: 'tnum' 1; line-height: 1.1; }
.pa-acc2-stats .stat .hint { font-size: 11.5px; color: var(--pa-text-muted); }

.pa-acc2-lower { display: grid; grid-template-columns: 1fr; gap: var(--pa-acc-gap); align-items: start; }

/* recent orders (dashboard) + orders table (orders page) share row styles */
.pa-acc2-orders { padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.pa-acc2-table-head { display: grid; grid-template-columns: minmax(0, 2.4fr) 1fr 1fr 1fr; gap: 12px; padding: 8px 14px 10px; font-size: 12px; font-weight: 700; color: var(--pa-text-muted); border-block-end: 1px solid rgba(146, 151, 181, .16); }
.pa-acc2-orderrow { display: grid; grid-template-columns: minmax(0, 2.4fr) 1fr 1fr 1fr; gap: 12px; align-items: center; padding: 12px 14px; border-radius: var(--pa-acc-radius-s); text-decoration: none; color: inherit; transition: background var(--t-fast); }
a.pa-acc2-orderrow:hover { background: rgba(255, 255, 255, .3); }
.pa-acc2-orderrow .prod { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pa-acc2-orderrow .prod b { font-size: 13.5px; font-weight: 700; color: var(--pa-text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-acc2-orderrow .num { font-size: 13px; color: var(--pa-text-secondary); font-feature-settings: 'tnum' 1; direction: ltr; text-align: end; }
.pa-acc2-orderrow .date { font-size: 12.5px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }
.pa-acc2-orderrow .amount { font-size: 13.5px; font-weight: 700; color: var(--pa-text-primary); font-feature-settings: 'tnum' 1; }
.pa-acc2-orderrow .amount small { display: block; font-size: 11px; font-weight: 400; color: var(--pa-text-muted); }

/* quick actions */
.pa-acc2-quick { padding: 24px 22px; display: flex; flex-direction: column; gap: 12px; }
.pa-acc2-quick h2 { margin: 0 0 2px; font-size: 16px; font-weight: 800; }
.pa-acc2-quick a { display: flex; align-items: center; gap: 12px; padding: 15px 16px; border-radius: var(--pa-acc-radius-s); text-decoration: none; color: var(--pa-text-primary); font-size: 14px; font-weight: 700; transition: transform var(--t-fast); }
.pa-acc2-quick a:hover { transform: translateY(-1px); }
.pa-acc2-quick a svg { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-quick a.is-wallet svg { color: var(--pa-teal-600); }
.pa-acc2-quick a.is-codes svg { color: var(--pa-indigo-500); }
.pa-acc2-quick a.is-support svg { color: var(--pa-teal-700); }
.pa-acc2-quick a .chev { margin-inline-start: auto; width: 16px; height: 16px; color: var(--pa-text-muted); }

/* ---------- 11. orders page ---------- */
.pa-acc2-pagehead { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.pa-acc2-pagehead h2 { margin: 0; font-size: 19px; font-weight: 800; }
.pa-acc2-filters { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.pa-acc2-filters form { position: relative; }
.pa-acc2-filters form input { width: 240px; }
.pa-acc2-panel { padding: 24px 26px; display: flex; flex-direction: column; gap: 10px; }

/* orders page (full table: محصول/شماره/تاریخ/مبلغ/وضعیت/جزئیات) */
.pa-acc2-orders.is-page .pa-acc2-table-head,
.pa-acc2-orders.is-page .pa-acc2-orderrow { grid-template-columns: minmax(0, 2.2fr) 1fr 1fr 1fr 1fr auto; }
.pa-acc2-orderrow .view { display: inline-flex; align-items: center; gap: 5px; min-height: 36px; padding: 0 14px; border-radius: var(--radius-pill); font-size: 12.5px; font-weight: 700; color: var(--pa-teal-700); background: rgba(114, 198, 193, .13); border: 1px solid rgba(114, 198, 193, .22); white-space: nowrap; }
.pa-acc2-orderrow .view svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
@media (max-width: 767px) {
	.pa-acc2-orders.is-page .pa-acc2-orderrow { grid-template-columns: 1fr; }
	.pa-acc2-orders.is-page .pa-acc2-orderrow .view { justify-self: end; }
}

/* ---------- 12. order detail ---------- */
.pa-acc2-detail { display: grid; grid-template-columns: 7fr 5fr; gap: var(--pa-acc-gap); align-items: start; }
.pa-acc2-detail .col { display: flex; flex-direction: column; gap: var(--pa-acc-gap); min-width: 0; }
.pa-acc2-detail .pa-glass, .pa-acc2-detail .pa-glass--soft { padding: 24px 26px; }
.pa-acc2-detailhead { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pa-acc2-detailhead .id { display: flex; flex-direction: column; gap: 4px; }
.pa-acc2-detailhead .id b { font-size: 18px; font-weight: 800; direction: ltr; text-align: end; }
.pa-acc2-detailhead .id small { font-size: 12.5px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }

/* progress tracker */
.pa-acc2-tracker { display: flex; align-items: flex-start; justify-content: space-between; padding-block: 14px 4px; }
.pa-acc2-tracker .step { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 12px; font-weight: 700; color: var(--pa-text-muted); text-align: center; }
.pa-acc2-tracker .step .dot { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: rgba(255, 255, 255, .5); border: 1.5px solid rgba(146, 151, 181, .35); color: var(--pa-text-muted); z-index: 1; }
.pa-acc2-tracker .step .dot svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-tracker .step:not(:first-child)::before { content: ""; position: absolute; top: 17px; inset-inline-start: -50%; width: 100%; height: 2px; background: rgba(146, 151, 181, .28); }
.pa-acc2-tracker .step.is-done { color: var(--pa-teal-700); }
.pa-acc2-tracker .step.is-done .dot { background: linear-gradient(135deg, rgba(169, 238, 240, .8), rgba(114, 198, 193, .55)); border-color: rgba(37, 174, 173, .5); color: var(--pa-teal-700); }
.pa-acc2-tracker .step.is-done:not(:first-child)::before { background: linear-gradient(90deg, rgba(37, 174, 173, .5), rgba(114, 198, 193, .4)); }
.pa-acc2-tracker .step.is-now { color: var(--pa-navy-800); }
.pa-acc2-tracker .step.is-now .dot { border-color: var(--pa-teal-600); color: var(--pa-teal-600); box-shadow: 0 0 0 4px rgba(114, 198, 193, .16); }

/* key/value list */
.pa-acc2-kv { display: flex; flex-direction: column; }
.pa-acc2-kv > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 2px; font-size: 13.5px; }
.pa-acc2-kv > div + div { border-block-start: 1px dashed rgba(146, 151, 181, .22); }
.pa-acc2-kv span { color: var(--pa-text-secondary); }
.pa-acc2-kv b { font-weight: 700; color: var(--pa-text-primary); font-feature-settings: 'tnum' 1; }
.pa-acc2-kv .total b { font-size: 15px; }

/* ordered product line */
.pa-acc2-prodline { display: flex; align-items: center; gap: 14px; padding: 6px 0; }
.pa-acc2-prodline .meta { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pa-acc2-prodline .meta b { font-size: 14px; font-weight: 700; }
.pa-acc2-prodline .meta small { font-size: 12px; color: var(--pa-text-muted); }
.pa-acc2-prodline .price { margin-inline-start: auto; font-weight: 700; font-size: 13.5px; white-space: nowrap; font-feature-settings: 'tnum' 1; }

/* masked digital code */
.pa-acc2-code { display: flex; align-items: center; gap: 10px; padding: 12px 14px; }
.pa-acc2-code code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-family: ui-monospace, 'SFMono-Regular', Consolas, monospace; font-size: 13.5px; font-weight: 600; letter-spacing: .8px; direction: ltr; text-align: start; color: var(--pa-navy-800); white-space: nowrap; }
.pa-acc2-code .act { display: flex; gap: 6px; }
.pa-acc2-code .act button { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; border: 1px solid rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .32); color: var(--pa-navy-800); cursor: pointer; transition: background var(--t-fast); }
.pa-acc2-code .act button:hover { background: rgba(255, 255, 255, .5); }
.pa-acc2-code .act button svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.pa-acc2-note { display: flex; align-items: flex-start; gap: 10px; padding: 13px 16px; border-radius: var(--pa-acc-radius-s); font-size: 12.5px; line-height: 1.8; color: var(--pa-text-secondary); background: rgba(37, 174, 173, .07); border: 1px solid rgba(37, 174, 173, .16); }
.pa-acc2-note svg { width: 18px; height: 18px; flex: none; margin-top: 3px; fill: none; stroke: var(--pa-teal-700); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

/* ---------- 13. digital codes page ---------- */
.pa-acc2-codesum { display: flex; align-items: center; gap: 18px; padding: 26px 30px; }
.pa-acc2-codesum .key { width: 74px; height: 74px; flex: none; display: grid; place-items: center; border-radius: 22px; background: linear-gradient(135deg, rgba(255, 255, 255, .7), rgba(217, 248, 248, .4)); border: 1.5px solid rgba(255, 255, 255, .85); box-shadow: 0 12px 26px rgba(39, 42, 104, .1); }
.pa-acc2-codesum .key svg { width: 34px; height: 34px; fill: none; stroke: var(--pa-indigo-500); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-codesum .txt b { display: block; font-size: 22px; font-weight: 800; }
.pa-acc2-codesum .txt small { font-size: 12.5px; color: var(--pa-text-secondary); }
.pa-acc2-coderow { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.6fr) 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; border-radius: var(--pa-acc-radius-s); }
.pa-acc2-coderow:hover { background: rgba(255, 255, 255, .28); }
.pa-acc2-coderow .prod { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pa-acc2-coderow .prod b { font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-acc2-coderow .prod small { display: block; font-size: 11.5px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }

/* ---------- 14. wallet page ---------- */
.pa-acc2-txrow { display: flex; align-items: center; gap: 14px; padding: 13px 14px; border-radius: var(--pa-acc-radius-s); text-decoration: none; color: inherit; }
a.pa-acc2-txrow:hover { background: rgba(255, 255, 255, .28); }
.pa-acc2-txrow .ic { width: 44px; height: 44px; flex: none; display: grid; place-items: center; border-radius: 50%; }
.pa-acc2-txrow .ic svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-txrow.is-deposit .ic { color: var(--pa-success); background: var(--pa-success-bg); }
.pa-acc2-txrow.is-purchase .ic { color: var(--pa-navy-800); background: rgba(46, 47, 110, .08); }
.pa-acc2-txrow.is-refund .ic { color: var(--pa-indigo-500); background: rgba(113, 109, 224, .12); }
.pa-acc2-txrow.is-failed .ic { color: var(--pa-danger); background: var(--pa-danger-bg); }
.pa-acc2-txrow .meta { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.pa-acc2-txrow .meta b { font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-acc2-txrow .meta small { font-size: 11.5px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }
.pa-acc2-txrow .sum { margin-inline-start: auto; text-align: start; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
.pa-acc2-txrow .sum b { font-size: 14px; font-weight: 800; font-feature-settings: 'tnum' 1; white-space: nowrap; }
.pa-acc2-txrow.is-deposit .sum b, .pa-acc2-txrow.is-refund .sum b { color: var(--pa-success); }
.pa-acc2-txrow.is-purchase .sum b { color: var(--pa-navy-800); }
.pa-acc2-txrow.is-failed .sum b { color: var(--pa-danger); }

/* ---------- 15. tickets ---------- */
.pa-acc2-ticketrow { display: flex; align-items: center; gap: 14px; padding: 15px 16px; border-radius: var(--pa-acc-radius-s); text-decoration: none; color: inherit; }
a.pa-acc2-ticketrow:hover { background: rgba(255, 255, 255, .28); }
.pa-acc2-ticketrow .meta { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.pa-acc2-ticketrow .meta b { font-size: 14px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-acc2-ticketrow .meta small { font-size: 11.5px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }
.pa-acc2-ticketrow .pa-acc2-badge { margin-inline-start: auto; }

/* conversation */
.pa-acc2-thread { display: flex; flex-direction: column; gap: 14px; padding-block: 8px; }
.pa-acc2-msg { max-width: 78%; padding: 13px 16px; border-radius: 18px; font-size: 13.5px; line-height: 1.9; }
.pa-acc2-msg small { display: block; margin-top: 6px; font-size: 11px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }
.pa-acc2-msg.is-me { align-self: flex-start; background: rgba(51, 142, 232, .08); border: 1px solid rgba(51, 142, 232, .14); border-end-start-radius: 6px; }
.pa-acc2-msg.is-staff { align-self: flex-end; background: rgba(37, 174, 173, .09); border: 1px solid rgba(37, 174, 173, .16); border-end-end-radius: 6px; }
.pa-acc2-reply { display: flex; flex-direction: column; gap: 10px; }
.pa-acc2-reply .row { display: flex; align-items: center; gap: 10px; }

/* ---------- 16. favorites ---------- */
.pa-acc2-favgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.pa-acc2-fav { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 16px; }
.pa-acc2-fav .media { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 1.15 / 1; background: rgba(255, 255, 255, .35); }
.pa-acc2-fav .media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-acc2-fav .media .pa-acc2-thumb__chip { position: absolute; inset: 0; border-radius: 0; font-size: 20px; }
.pa-acc2-fav > b { font-size: 13.5px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pa-acc2-fav .sub { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.pa-acc2-fav .price { font-size: 13px; font-weight: 700; color: var(--pa-text-primary); font-feature-settings: 'tnum' 1; }
.pa-acc2-fav .price del { color: var(--pa-text-muted); font-weight: 400; margin-inline-end: 5px; }
.pa-acc2-fav .stock { font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: var(--radius-pill); }
.pa-acc2-fav .stock.is-in { color: var(--pa-success); background: var(--pa-success-bg); }
.pa-acc2-fav .stock.is-out { color: var(--pa-danger); background: var(--pa-danger-bg); }
.pa-acc2-fav .acts { display: flex; align-items: stretch; gap: 8px; }
.pa-acc2-fav .acts .pa-button-ghost { flex: 1; min-height: 42px; font-size: 13px; }
.pa-acc2-fav .remove { position: absolute; top: 24px; left: 24px; z-index: 3; width: 34px; height: 34px; flex: none; display: grid; place-items: center; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .6); background: rgba(255, 255, 255, .55); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); color: var(--pa-danger); box-shadow: 0 4px 12px rgba(39, 42, 104, .16); cursor: pointer; transition: transform .15s ease, background .15s ease; }
.pa-acc2-fav .remove:hover { transform: scale(1.07); background: rgba(255, 255, 255, .8); }
.pa-acc2-fav .remove svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-fav.is-removing { opacity: 0; scale: .95; transition: opacity .3s, scale .3s; }

/* ---------- 17. addresses ---------- */
.pa-acc2-addrgrid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--pa-acc-gap); align-items: start; }
.pa-acc2-addr { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; }
.pa-acc2-addr.is-default { border-color: rgba(37, 174, 173, .45); }
.pa-acc2-addr .default-badge { position: absolute; top: 18px; inset-inline-end: 20px; font-size: 11px; font-weight: 700; color: var(--pa-teal-700); background: rgba(114, 198, 193, .18); padding: 4px 12px; border-radius: var(--radius-pill); }
.pa-acc2-addr b.name { font-size: 15px; font-weight: 800; }
.pa-acc2-addr .line { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--pa-text-secondary); }
.pa-acc2-addr .line svg { width: 16px; height: 16px; flex: none; fill: none; stroke: var(--pa-text-muted); stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-addr .acts { display: flex; gap: 8px; margin-block-start: 10px; }

/* ---------- 18. account info + security ---------- */
.pa-acc2-profilehead { display: flex; align-items: center; gap: 18px; padding-block-end: 6px; }
.pa-acc2-profilehead .avatar { position: relative; flex: none; }
.pa-acc2-profilehead .avatar img { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255, 255, 255, .85); box-shadow: 0 10px 24px rgba(39, 42, 104, .16); display: block; }
.pa-acc2-profilehead .who b { display: block; font-size: 16px; font-weight: 800; }
.pa-acc2-profilehead .who small { font-size: 12.5px; color: var(--pa-text-muted); direction: ltr; }
.pa-acc2-security-row { display: flex; align-items: center; gap: 12px; padding: 14px 4px; }
.pa-acc2-security-row + .pa-acc2-security-row { border-block-start: 1px dashed rgba(146, 151, 181, .22); }
.pa-acc2-security-row .ic { width: 42px; height: 42px; flex: none; display: grid; place-items: center; border-radius: 14px; color: var(--pa-indigo-600); background: rgba(87, 86, 166, .09); }
.pa-acc2-security-row .ic svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-security-row .meta b { display: block; font-size: 13.5px; font-weight: 700; }
.pa-acc2-security-row .meta small { font-size: 12px; color: var(--pa-text-muted); }

/* ---------- 19. responsive — tablet ---------- */
@media (max-width: 1099px) {
	.pa-acc2-wrap { gap: 18px; }
	.pa-acc2 { --pa-acc-gap: 18px; }
	.pa-acc2-dock { overflow-x: auto; scrollbar-width: none; }
	.pa-acc2-dock::-webkit-scrollbar { display: none; }
	.pa-acc2-overview { grid-template-columns: 1fr; }
	.pa-acc2-lower { grid-template-columns: 1fr; }
	.pa-acc2-detail { grid-template-columns: 1fr; }
	.pa-acc2-favgrid { grid-template-columns: repeat(3, 1fr); }
	.pa-acc2-search input { width: 190px; }
	.pa-acc2 .pa-form-grid { grid-template-columns: 1fr; }
	.pa-acc2-addrgrid { grid-template-columns: 1fr; }
}

/* ---------- 20. responsive — mobile ---------- */
@media (max-width: 767px) {
	.pa-acc2 { padding-block: 16px calc(112px + env(safe-area-inset-bottom, 0px)); --pa-acc-gap: 16px; }
	.pa-acc2-wrap { padding-inline: 16px; gap: 16px; }

	/* app bar */
	.pa-acc2-id .who h1 { font-size: 18px; }
	.pa-acc2-id .who small { display: none; }
	.pa-acc2-id .avatar img { width: 46px; height: 46px; }
	.pa-acc2-search input { width: 46px; min-height: 46px; padding-inline: 0 0; border-radius: 50%; color: transparent; cursor: pointer; }
	.pa-acc2-search input:focus { width: min(52vw, 210px); border-radius: var(--radius-pill); padding-inline: 42px 14px; color: var(--pa-text-primary); cursor: text; }
	.pa-acc2-search input::placeholder { color: transparent; }
	.pa-acc2-search input:focus::placeholder { color: var(--pa-text-muted); }
	/* collapsed search = a proper icon button (was an empty-looking circle): centre
	   the magnifier and let a tap fall through to the input to open search, so it no
	   longer submits an empty query and bounces to the home page. */
	.pa-acc2-search .go { inset-inline-start: 50%; translate: -50% -50%; color: var(--pa-text-primary); pointer-events: none; }
	.pa-acc2-search .go svg { width: 20px; height: 20px; }
	.pa-acc2-search:focus-within .go { inset-inline-start: 6px; translate: 0 -50%; pointer-events: auto; }

	/* the site-wide bottom quick-nav yields to the account tab bar here */
	body.pa-acc-page .pa-botnav { display: none; }

	/* dock hidden; bottom tab bar shown */
	.pa-acc2-dock { display: none; }
	.pa-acc2-tabbar { display: flex; position: fixed; bottom: calc(12px + env(safe-area-inset-bottom, 0px)); inset-inline: 16px; z-index: 120; height: 72px; align-items: stretch; justify-content: space-around; padding: 8px; border-radius: 26px; background: linear-gradient(135deg, rgba(255, 255, 255, 0.55), rgba(255, 255, 255, 0.38)); border: 1px solid rgba(255, 255, 255, 0.78); box-shadow: 0 18px 44px rgba(39, 42, 104, 0.16), inset 0 1px 0 rgba(255, 255, 255, .85); -webkit-backdrop-filter: blur(26px) saturate(150%); backdrop-filter: blur(26px) saturate(150%); }
	.pa-acc2-tabbar a, .pa-acc2-tabbar button { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 0; background: none; border-radius: 18px; font: inherit; font-size: 10.5px; font-weight: 700; color: var(--pa-text-secondary); text-decoration: none; cursor: pointer; }
	.pa-acc2-tabbar svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	.pa-acc2-tabbar .is-active { color: var(--pa-navy-800); background: linear-gradient(135deg, rgba(169, 238, 240, .6), rgba(114, 198, 193, .32)); }

	/* account sheet */
	.pa-acc2-sheet { display: block; position: fixed; inset: 0; z-index: 150; }
	.pa-acc2-sheet[hidden] { display: none; }
	.pa-acc2-sheet .scrim { position: absolute; inset: 0; background: rgba(31, 34, 92, .3); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
	.pa-acc2-sheet .panel { position: absolute; inset-inline: 0; bottom: 0; padding: 14px 16px calc(20px + env(safe-area-inset-bottom, 0px)); border-radius: 26px 26px 0 0; background: linear-gradient(160deg, rgba(255, 255, 255, 0.9), rgba(240, 250, 252, 0.85)); border-top: 1px solid rgba(255, 255, 255, 0.95); box-shadow: 0 -18px 54px rgba(39, 42, 104, 0.2); -webkit-backdrop-filter: blur(28px) saturate(150%); backdrop-filter: blur(28px) saturate(150%); transform: translateY(8px); animation: pa-sheet-in .22s ease-out forwards; }
	.pa-acc2-sheet .grip { width: 44px; height: 4px; margin: 2px auto 12px; border-radius: 4px; background: rgba(146, 151, 181, .4); }
	.pa-acc2-sheet a { display: flex; align-items: center; gap: 12px; padding: 14px 12px; border-radius: 14px; font-size: 14px; font-weight: 700; color: var(--pa-text-primary); text-decoration: none; }
	.pa-acc2-sheet a:active { background: rgba(114, 198, 193, .14); }
	.pa-acc2-sheet a svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; color: var(--pa-indigo-600); }
	.pa-acc2-sheet a.is-logout { color: var(--pa-danger); }
	.pa-acc2-sheet a.is-logout svg { color: var(--pa-danger); }
	@keyframes pa-sheet-in { to { transform: translateY(0); } }

	/* transaction rows: let the amount block wrap under the title when tight
	   instead of forcing the row wider than the panel */
	.pa-acc2-txrow { flex-wrap: wrap; }
	.pa-acc2-txrow .meta { flex: 1 1 55%; }
	.pa-acc2-txrow .meta small { overflow-wrap: anywhere; }
	.pa-acc2-chips { max-width: 100%; min-width: 0; }

	/* dashboard */
	.pa-acc2-wallet { flex-direction: row-reverse; padding: 22px; min-height: 0; flex-wrap: wrap; }
	.pa-acc2-wallet .info { min-width: 0; flex: 1 1 200px; }
	.pa-acc2-wallet .art { width: 120px; max-width: 34%; }
	.pa-acc2-wallet .info .amount { font-size: 30px; }
	.pa-acc2-stats { padding: 16px 4px; }
	.pa-acc2-stats .stat .val { font-size: 24px; }
	.pa-acc2-stats .stat .ic { width: 40px; height: 40px; }
	.pa-acc2-stats .stat .hint { display: none; }

	/* tables become cards */
	.pa-acc2-table-head { display: none; }
	.pa-acc2-orders { padding: 18px 14px; }
	.pa-acc2-panel { padding: 18px 14px; }
	.pa-acc2-orderrow { grid-template-columns: 1fr; gap: 8px; padding: 14px; background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .5); margin-block-end: 2px; }
	.pa-acc2-orderrow .num, .pa-acc2-orderrow .date { text-align: start; direction: rtl; }
	.pa-acc2-orderrow .num::before { content: "شماره سفارش: "; color: var(--pa-text-muted); font-size: 11.5px; }
	.pa-acc2-orderrow .date::before { content: "تاریخ: "; font-size: 11.5px; }
	.pa-acc2-orderrow .amount { display: flex; align-items: baseline; gap: 6px; }
	/* dashboard: 3 order cards on mobile — children are cardhead(1), table-head(2), rows(3..6) */
	.pa-acc2-orders:not(.is-page) .pa-acc2-orderrow:nth-child(n+6) { display: none; }

	.pa-acc2-coderow { grid-template-columns: 1fr; gap: 10px; padding: 14px; background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .5); }
	.pa-acc2-codesum { padding: 20px; }
	.pa-acc2-favgrid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
	.pa-acc2-fav { padding: 12px; }
	.pa-acc2-fav .remove { top: 20px; left: 20px; }
	.pa-acc2-msg { max-width: 92%; }
	.pa-acc2-filters form { flex: 1; }
	.pa-acc2-filters form input { width: 100%; }
	.pa-acc2-chips { overflow-x: auto; flex-wrap: nowrap; padding-block-end: 4px; scrollbar-width: none; }
	.pa-acc2-chips::-webkit-scrollbar { display: none; }
	.pa-acc2-detail .pa-glass, .pa-acc2-detail .pa-glass--soft { padding: 18px 16px; }
	.pa-acc2-tracker { padding-block: 12px 2px; }
	.pa-acc2-tracker .step { font-size: 9.5px; gap: 6px; line-height: 1.35; }
	.pa-acc2-tracker .step .dot { width: 28px; height: 28px; }
	.pa-acc2-tracker .step .dot svg { width: 13px; height: 13px; }
	.pa-acc2-tracker .step:not(:first-child)::before { top: 14px; }
	.pa-toast { bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
}

@media (max-width: 479px) {
	.pa-acc2-favgrid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.pa-acc2-wallet .info .amount { font-size: 26px; }
	.pa-acc2-quick { padding: 18px 14px; }
}

/* ---------- 21. dark mode ---------- */
[data-theme="dark"] .pa-acc2-ambient .amb-cyan { background: rgba(90, 224, 226, 0.10); }
[data-theme="dark"] .pa-acc2-ambient .amb-teal { background: rgba(37, 174, 173, 0.07); }
[data-theme="dark"] .pa-acc2-ambient .amb-indigo { background: rgba(113, 109, 224, 0.10); }
[data-theme="dark"] .pa-acc2-ambient .amb-pink { background: rgba(238, 109, 148, 0.045); }

[data-theme="dark"] .pa-glass { background: linear-gradient(135deg, rgba(44, 49, 94, 0.50), rgba(26, 31, 66, 0.34)); border-color: rgba(210, 230, 255, 0.15); box-shadow: 0 20px 50px rgba(0, 0, 0, 0.26), inset 0 1px 0 rgba(255, 255, 255, 0.13), inset 0 -1px 0 rgba(114, 198, 193, 0.07); }
[data-theme="dark"] .pa-glass::before { background: linear-gradient(135deg, rgba(210, 230, 255, 0.30), rgba(114, 198, 193, 0.16) 34%, rgba(255, 255, 255, 0.05) 58%, rgba(113, 109, 224, 0.20) 82%, rgba(90, 224, 226, 0.24) 100%); }
[data-theme="dark"] .pa-glass::after { opacity: .2; }
[data-theme="dark"] .pa-glass--soft { background: linear-gradient(135deg, rgba(44, 49, 94, 0.40), rgba(26, 31, 66, 0.26)); border-color: rgba(210, 230, 255, 0.12); box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.10); }
[data-theme="dark"] .pa-glass-inner { background: rgba(44, 49, 94, 0.30); border-color: rgba(210, 230, 255, 0.12); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09), 0 6px 16px rgba(0, 0, 0, 0.18); }

[data-theme="dark"] .pa-acc2-id .who h1, [data-theme="dark"] .pa-acc2-cardhead h2, [data-theme="dark"] .pa-acc2-pagehead h2 { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-search input, [data-theme="dark"] .pa-acc2-iconbtn, [data-theme="dark"] .pa-input { background: rgba(44, 49, 94, 0.35); border-color: rgba(210, 230, 255, 0.14); color: var(--pa-text-primary); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08); }
[data-theme="dark"] .pa-acc2-dock a.is-active, [data-theme="dark"] .pa-acc2-tabbar .is-active, [data-theme="dark"] .pa-acc2-chip.is-active { color: #EAFBFA; background: linear-gradient(135deg, rgba(37, 174, 173, .30), rgba(113, 109, 224, .20)); border-color: rgba(114, 198, 193, .35); }
[data-theme="dark"] .pa-acc2-chip, [data-theme="dark"] .pa-button-ghost { background: rgba(44, 49, 94, 0.35); border-color: rgba(210, 230, 255, 0.14); color: var(--pa-text-secondary); }
[data-theme="dark"] .pa-button-ghost { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-more-menu { background: linear-gradient(135deg, rgba(34, 39, 78, 0.94), rgba(26, 31, 66, 0.9)); border-color: rgba(210, 230, 255, 0.16); }
[data-theme="dark"] .pa-acc2-more-menu a { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-tabbar { background: linear-gradient(135deg, rgba(34, 39, 78, 0.82), rgba(26, 31, 66, 0.72)); border-color: rgba(210, 230, 255, 0.16); }
[data-theme="dark"] .pa-acc2-sheet .panel { background: linear-gradient(160deg, rgba(30, 35, 72, 0.97), rgba(22, 26, 56, 0.95)); border-color: rgba(210, 230, 255, 0.16); }
[data-theme="dark"] .pa-acc2-sheet a { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-wallet .info .amount, [data-theme="dark"] .pa-acc2-stats .stat .val { color: #F2F5FF; }
[data-theme="dark"] .pa-acc2-wallet .art .body { background: linear-gradient(135deg, rgba(210, 230, 255, .18), rgba(90, 224, 226, .10) 50%, rgba(113, 109, 224, .16)); border-color: rgba(210, 230, 255, .28); }
[data-theme="dark"] .pa-acc2-wallet .art .flap { background: linear-gradient(160deg, rgba(210, 230, 255, .22), rgba(90, 224, 226, .12)); border-color: rgba(210, 230, 255, .3); }
[data-theme="dark"] .pa-acc2-orderrow .prod b, [data-theme="dark"] .pa-acc2-orderrow .amount, [data-theme="dark"] .pa-acc2-kv b, [data-theme="dark"] .pa-acc2-code code { color: var(--pa-text-primary); }
[data-theme="dark"] a.pa-acc2-orderrow:hover, [data-theme="dark"] .pa-acc2-coderow:hover, [data-theme="dark"] a.pa-acc2-txrow:hover, [data-theme="dark"] a.pa-acc2-ticketrow:hover { background: rgba(210, 230, 255, .05); }
[data-theme="dark"] .pa-acc2-orderrow, [data-theme="dark"] .pa-acc2-coderow { border-color: rgba(210, 230, 255, .08); }
@media (max-width: 767px) {
	[data-theme="dark"] .pa-acc2-orderrow, [data-theme="dark"] .pa-acc2-coderow { background: rgba(44, 49, 94, .3); }
}
[data-theme="dark"] .pa-acc2-code .act button { background: rgba(44, 49, 94, .45); border-color: rgba(210, 230, 255, .14); color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-txrow.is-purchase .ic { color: #C9CFF2; background: rgba(210, 230, 255, .1); }
[data-theme="dark"] .pa-acc2-txrow.is-purchase .sum b { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-msg.is-me { background: rgba(51, 142, 232, .12); border-color: rgba(51, 142, 232, .2); }
[data-theme="dark"] .pa-acc2-msg.is-staff { background: rgba(37, 174, 173, .12); border-color: rgba(37, 174, 173, .22); }
[data-theme="dark"] .pa-acc2-thumb { background: rgba(44, 49, 94, .4); border-color: rgba(210, 230, 255, .1); }
[data-theme="dark"] .pa-acc2-thumb__chip { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-empty b { color: var(--pa-text-primary); }
[data-theme="dark"] .pa-acc2-pagination a, [data-theme="dark"] .pa-acc2-pagination span { background: rgba(44, 49, 94, .35); border-color: rgba(210, 230, 255, .12); }
[data-theme="dark"] .pa-acc2 .woocommerce-message, [data-theme="dark"] .pa-acc2 .woocommerce-info, [data-theme="dark"] .pa-acc2 .woocommerce-error { background: rgba(44, 49, 94, .4); border-color: rgba(210, 230, 255, .12); }
[data-theme="dark"] .pa-acc2-tracker .step .dot { background: rgba(44, 49, 94, .5); border-color: rgba(210, 230, 255, .2); }
[data-theme="dark"] .pa-acc2-note { background: rgba(37, 174, 173, .1); border-color: rgba(37, 174, 173, .2); }
[data-theme="dark"] .pa-acc2-fav .media { background: rgba(44, 49, 94, .35); }
[data-theme="dark"] .pa-acc2-fav .remove { background: rgba(30, 35, 72, .6); border-color: rgba(210, 230, 255, .2); }
[data-theme="dark"] .pa-acc2-addr.is-default { border-color: rgba(114, 198, 193, .4); }

/* ---------- 22. a11y ---------- */
.pa-acc2 :focus-visible { outline: 2px solid var(--pa-teal-600); outline-offset: 2px; border-radius: 6px; }
.pa-acc2 .visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (prefers-reduced-motion: reduce) {
	.pa-acc2 *, .pa-acc2 *::before, .pa-acc2 *::after,
	.pa-acc2-sheet .panel, .pa-toast {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- notifications ---------- */
.pa-acc2-bell { position: relative; }
.pa-acc2-bellbadge { position: absolute; top: -3px; right: -3px; min-width: 18px; height: 18px; padding: 0 5px; display: grid; place-items: center; border-radius: 999px; background: var(--pa-danger); color: #fff; font-size: 10.5px; font-weight: 800; line-height: 1; box-shadow: 0 2px 7px rgba(224, 81, 122, .5); }
.pa-acc2-notif { display: flex; flex-direction: column; gap: 14px; }
.pa-acc2-notiflist { display: flex; flex-direction: column; gap: 10px; }
.pa-acc2-notifitem { padding: 0; overflow: hidden; }
.pa-acc2-notifitem > a { display: flex; align-items: center; gap: 14px; padding: 14px 16px; text-decoration: none; color: inherit; }
.pa-acc2-notifitem .ic { flex: none; width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; }
.pa-acc2-notifitem .ic svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.pa-acc2-notifitem .ic-order { color: var(--pa-teal-700); background: rgba(114, 198, 193, .16); }
.pa-acc2-notifitem .ic-wallet { color: var(--pa-indigo-600); background: rgba(113, 109, 224, .14); }
.pa-acc2-notifitem .ic-ticket { color: var(--pa-pink-500); background: rgba(238, 109, 148, .14); }
.pa-acc2-notifitem .tx { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.pa-acc2-notifitem .tx b { font-size: 14px; font-weight: 800; color: var(--pa-text-primary); }
.pa-acc2-notifitem .tx small { font-size: 12.5px; color: var(--pa-text-secondary); line-height: 1.7; }
.pa-acc2-notifitem .tx time { font-size: 11px; color: var(--pa-text-muted); font-feature-settings: 'tnum' 1; }
.pa-acc2-notifitem .new { flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--pa-danger); box-shadow: 0 0 0 3px rgba(224, 81, 122, .14); }
.pa-acc2-notifitem.is-unread { border: 1px solid rgba(37, 174, 173, .3); }
.pa-acc2-notifitem.is-unread .tx b { color: var(--pa-navy-900); }
