/*
 * گروهِ «حسابِ کاربری» — داشبورد و سفارش‌ها (xaa-)، نشانی و اطلاعات و احراز (x-accb-)،
 * اقساط و پشتیبانی و علاقه‌مندی‌ها (x-accc-). فقط چیزهایی که main.css و commerce-suite.css ندارند.
 */

/*
 * x-account-a.css — تکه‌هایی از صفحه‌های «حساب من»، «سفارش‌های من» و
 * «جزئیات سفارش» که `main.css` / `commerce-suite.css` قالبِ «مهرگان» ندارند.
 * پیشوندِ همهٔ کلاس‌های تازه `xaa-` است. فایل‌های قالب دست نمی‌خورند؛
 * فقط از متغیرهای خودِ قالب (`--mg-*`) استفاده می‌شود. اول موبایل.
 */

/* ------------------------------------------------------------
   عنوان‌های h2 داخلِ قاب
   قانونِ عمومیِ `.mg-account-content h2` قالب (خطِ زیر + نوارِ رنگی) برای
   عنوانِ صفحه است؛ روی عنوان‌های درونِ کارت‌ها (خوش‌آمد، سرِ سفارش،
   کارت‌های فرم، جدولِ کالاها) خط و فاصلهٔ اضافه می‌انداخت.
   ------------------------------------------------------------ */
.mg-account-content .mg-dashboard-welcome-text h2,
.mg-account-content .mg-vo-title,
.mg-account-content .mg-eac-section-title,
.mg-account-content .woocommerce-order-details__title,
.mg-account-content .woocommerce-column__title {
    border-bottom: 0;
    padding-bottom: 0;
}
.mg-account-content .mg-dashboard-welcome-text h2::after,
.mg-account-content .mg-vo-title::after,
.mg-account-content .mg-eac-section-title::after,
.mg-account-content .woocommerce-order-details__title::after,
.mg-account-content .woocommerce-column__title::after {
    content: none;
}
.mg-account-content .mg-dashboard-welcome-text h2 {
    font-size: 1.1rem;
    margin: 0 0 0.25rem;
}
.mg-account-content .mg-vo-title {
    font-size: 1.1rem;
    margin: 0 0 0.25rem;
}
.mg-account-content .mg-eac-section-title {
    font-size: 0.95rem;
    margin: 0;
}
.mg-account-content .woocommerce-order-details__title,
.mg-account-content .woocommerce-column__title {
    font-size: 0.9rem;
    margin: 0 0 0.75rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--mg-border);
}

/* ------------------------------------------------------------
   داشبورد
   ------------------------------------------------------------ */
.xaa-phone {
    display: inline-block;
    unicode-bidi: isolate;
}

/* دکمهٔ خروج: در قالب لینک است، این‌جا دکمهٔ فرمِ POST */
button.mg-dashboard-logout-link {
    background: transparent;
    font-family: inherit;
    line-height: 1.4;
    cursor: pointer;
}
.mg-dashboard-welcome form {
    margin: 0;
}

/* قالب ردیفِ آمار را نمی‌شکند؛ با سه کارت روی موبایل بیرون می‌زد. */
.xaa-stats {
    flex-wrap: wrap;
}
.xaa-stats .mg-dashboard-stat {
    flex: 1 1 100%;
    min-width: 0;
    align-items: flex-start;
}
.xaa-stats .mg-dashboard-stat-value {
    white-space: normal;
}
.xaa-stat-note {
    font-size: 0.75rem;
    line-height: 1.7;
    color: var(--mg-text-muted);
}

@media (min-width: 768px) {
    .xaa-stats .mg-dashboard-stat {
        flex-basis: 220px;
    }
}

/* بدنهٔ کارتِ فرم (`mg-eac-section`) — قالب فقط برای فیلدها فاصله دارد. */
.xaa-section-body {
    padding: 1rem 1.1rem 1.25rem;
}
.xaa-section-body > :last-child {
    margin-bottom: 0;
}
.xaa-section-actions {
    padding: 0 1.1rem 1.25rem;
}
.mg-eac-section-desc + .xaa-section-body .mg-eac-actions {
    padding-top: 0;
}

@media (min-width: 601px) {
    .xaa-section-body {
        padding: 1.25rem 1.5rem 1.5rem;
    }
    .xaa-section-actions {
        padding: 0 1.5rem 1.5rem;
    }
}

/* ------------------------------------------------------------
   «سفارش‌های من» — حالتِ خالی
   ------------------------------------------------------------ */
.xaa-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
    text-align: center;
}

/* ------------------------------------------------------------
   جزئیاتِ سفارش
   ------------------------------------------------------------ */
.mg-vo-header .mg-vo-status {
    gap: 0.25rem;
}

/* هشدارِ مهلتِ پرداخت — قالب برای `mg-cart-notice` رنگِ هشدار ندارد. */
.xaa-notice-warn {
    background: #fffbeb;
    color: #92400e;
    border: 1px solid #fde68a;
}

.xaa-or {
    margin: 1rem 0 0.5rem;
}
.xaa-bnpl-list {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.xaa-bnpl-list form {
    margin: 0;
}

.xaa-table-wrap {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.mg-vo-details .woocommerce-table--order-details td.product-total,
.mg-vo-details .woocommerce-table--order-details th.product-total {
    text-align: left;
    vertical-align: top;
}
.xaa-item-title {
    display: block;
    font-weight: 600;
    color: var(--mg-text);
}
.xaa-item-qty {
    display: block;
    margin-top: 0.15rem;
    font-size: 0.78rem;
    color: var(--mg-text-muted);
}
.xaa-nowrap {
    white-space: nowrap;
}

/* فهرستِ سطری (درخواست‌های مرجوعی) */
.xaa-rows {
    list-style: none;
    margin: 0;
    padding: 0.5rem 1.1rem;
}
.xaa-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.75rem 0;
    font-size: 0.85rem;
    color: var(--mg-text);
    border-bottom: 1px solid var(--mg-border);
}
.xaa-row:last-child {
    border-bottom: 0;
}

/* فرمِ مرجوعی */
.xaa-return-line {
    padding-bottom: 0.75rem;
    border-bottom: 1px dashed var(--mg-border);
}
.xaa-return-line label:first-child {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 0.25rem 0.75rem;
}
.xaa-qty {
    max-width: 8rem;
}
.xaa-check {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.8rem;
    color: var(--mg-text-muted);
    cursor: pointer;
}
.xaa-check input[type="checkbox"] {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--mg-primary);
}

/* لغو */
.xaa-icon-danger {
    background: rgba(239, 68, 68, 0.1);
    color: #dc2626;
}
.xaa-btn-danger {
    background: rgba(239, 68, 68, 0.08);
    color: #b91c1c;
    border: 1px solid rgba(239, 68, 68, 0.3);
}
.xaa-btn-danger:hover,
.xaa-btn-danger:focus-visible {
    background: #dc2626;
    color: #fff;
    border-color: #dc2626;
}

@media (min-width: 601px) {
    .xaa-rows {
        padding: 0.5rem 1.5rem;
    }
}


/*
 * گروهِ «حساب — ب»: آدرس‌ها، اطلاعات من، احراز هویت.
 *
 * فقط چیزهایی که خودِ قالب (`main.css` / `commerce-suite.css`) ندارد یا برای
 * دادهٔ ما فرق می‌کند: برچسبِ «پیش‌فرض» و دکمه‌های کوچکِ کارتِ آدرس، ردیفِ
 * چک‌باکس، خانهٔ قفل‌شده، فهرستِ وضعیتِ احراز، متنِ تاشوی قرارداد، فیلدِ فایل.
 * همه با متغیرهای قالب، موبایل‌اول. پیشوندِ همهٔ کلاس‌ها `x-accb-` و همه زیرِ
 * `.x-accb` تا به صفحه‌های دیگر نشت نکند.
 */

/* ── تیترها ──
 * قالب به هر h2ِ درونِ `.mg-account-content` خطِ زیر و فاصلهٔ ۱٫۵rem می‌دهد؛
 * تیترِ درونِ سرِ بخش/کارت خودش قاب دارد و آن خط دوتایی می‌شد. */
.x-accb .mg-eac-section-title,
.x-accb .mg-ea-title,
.x-accb .x-accb-empty-title {
  margin: 0;
  padding: 0;
  border: 0;
}
.x-accb .mg-eac-section-title { font-size: .95rem; }
.x-accb .mg-ea-title { font-size: 1.05rem; }
.x-accb .mg-eac-section-title::after,
.x-accb .mg-ea-title::after,
.x-accb .x-accb-empty-title::after { content: none; }

/* رنگ‌های خاکستریِ قالب (`--mg-gray-*`) در این سایت تعریف نشده‌اند */
.x-accb .mg-eac-hint,
.x-accb .mg-eac-section-desc,
.x-accb .mg-address-empty { color: var(--mg-text-muted); }
.x-accb .mg-eac-hint { display: block; line-height: 1.8; }
.x-accb .mg-eac-section-desc { line-height: 1.9; }

/* ── برچسبِ کوچک (پیش‌فرض / سطحِ حساب) ── */
.x-accb-badge {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  padding: .15rem .65rem;
  border-radius: var(--mg-radius-full, 9999px);
  background: rgba(var(--mg-primary-rgb), .1);
  color: var(--mg-primary-dark, var(--mg-primary));
  font-size: .75rem;
  font-weight: 700;
  line-height: 1.7;
  white-space: nowrap;
}

/* ── دکمه‌های کوچکِ قالب روی <button> ── */
.x-accb button.mg-dash-btn {
  font-family: inherit;
  line-height: 1.6;
  min-height: 40px;
}
.x-accb .x-accb-btn-danger { color: var(--mg-error, #ef4444); }
.x-accb .x-accb-btn-danger:hover {
  background: rgba(239, 68, 68, .08);
  border-color: rgba(239, 68, 68, .35);
  color: var(--mg-error, #ef4444);
}

/* ── آدرس‌ها ── */
.x-accb-address--default { border-color: rgba(var(--mg-primary-rgb), .45); }
.x-accb-address-meta {
  margin: .35rem 0 0;
  font-size: .8rem;
  line-height: 1.9;
  color: var(--mg-text-muted);
  overflow-wrap: anywhere;
}
.x-accb .mg-address-card-body address { overflow-wrap: anywhere; }
.x-accb-address-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .85rem;
  padding-top: .85rem;
  border-top: 1px dashed var(--mg-border);
}
.x-accb-address-actions form { margin: 0; }

.x-accb-empty .mg-address-empty p { margin: 0; }
.x-accb .x-accb-empty-title {
  font-size: .95rem;
  font-weight: 700;
  color: var(--mg-text);
}

/* فرمِ افزودن: یک قابِ جدا زیرِ کارت‌ها */
.x-accb-add {
  padding: 1.1rem;
  border: 1px solid var(--mg-border);
  border-radius: 14px;
  background: var(--mg-bg, #fff);
}
.x-accb .mg-ea-form .form-row { margin: 0; }
.x-accb .mg-ea-form input,
.x-accb .mg-ea-form select,
.x-accb .mg-ea-form textarea { font-family: inherit; }
.x-accb .mg-ea-form textarea {
  min-height: 6rem;
  resize: vertical;
  box-sizing: border-box;
}
.x-accb .mg-ea-form .x-accb-check label {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0;
  cursor: pointer;
}
.x-accb .x-accb-check input[type="checkbox"],
.x-accb .x-accb-accept input[type="checkbox"] {
  width: 1.1rem;
  height: 1.1rem;
  margin: 0;
  flex-shrink: 0;
  accent-color: var(--mg-primary);
}

/* ── اطلاعات من ── */
.x-accb .mg-eac-input:disabled {
  background: var(--mg-surface);
  color: var(--mg-text-muted);
  cursor: not-allowed;
}
.x-accb-lock {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  margin: 0;
  padding: .7rem .85rem;
  border-radius: var(--mg-radius-sm, 8px);
  background: rgba(var(--mg-accent-rgb), .1);
  border: 1px solid rgba(var(--mg-accent-rgb), .35);
  color: var(--mg-text);
  font-size: .8rem;
  line-height: 1.9;
}
.x-accb-lock svg { flex-shrink: 0; margin-top: .3rem; color: var(--mg-accent); }

/* ── احراز هویت ── */
.x-accb-status {
  list-style: none;
  margin: 0;
  padding: .35rem 1.1rem .6rem;
}
.x-accb-status li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .35rem 1rem;
  padding: .7rem 0;
  border-bottom: 1px solid var(--mg-border);
  font-size: .875rem;
}
.x-accb-status li:last-child { border-bottom: 0; }
.x-accb-status-label { color: var(--mg-text-muted); }
.x-accb-status-value { font-weight: 600; color: var(--mg-text); overflow-wrap: anywhere; }

.x-accb-section-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .85rem;
  padding: 1rem 1.1rem 0;
}
.x-accb-section-body form { margin: 0; }

.x-accb-contract {
  align-self: stretch;
  border: 1px solid var(--mg-border);
  border-radius: var(--mg-radius-sm, 8px);
  background: var(--mg-surface);
}
.x-accb-contract summary {
  padding: .75rem 1rem;
  font-size: .85rem;
  font-weight: 600;
  color: var(--mg-primary-dark, var(--mg-primary));
  cursor: pointer;
}
.x-accb-contract[open] summary { border-bottom: 1px solid var(--mg-border); }
.x-accb-contract summary + * {
  padding: .75rem 1rem;
  font-size: .82rem;
  color: var(--mg-text-muted);
}
.x-accb-contract summary + * p { margin: 0 0 .35rem; }

.x-accb .x-accb-file { padding: .45rem .5rem; cursor: pointer; }
.x-accb .x-accb-file::file-selector-button {
  margin-inline-end: .75rem;
  padding: .35rem .8rem;
  border: 0;
  border-radius: 6px;
  background: rgba(var(--mg-primary-rgb), .1);
  color: var(--mg-primary-dark, var(--mg-primary));
  font: inherit;
  font-size: .8rem;
  cursor: pointer;
}

.x-accb .x-accb-accept label {
  display: flex;
  align-items: flex-start;
  gap: .55rem;
  font-weight: 500;
  line-height: 1.8;
  cursor: pointer;
}
.x-accb .x-accb-accept input[type="checkbox"] { margin-top: .3rem; }

@media (min-width: 601px) {
  .x-accb-add { padding: 1.5rem; }
  .x-accb-status { padding: .5rem 1.5rem .75rem; }
  .x-accb-section-body { padding: 1.25rem 1.5rem 0; }
}


/*
 * گروهِ «حساب — ج»: اقساط من، پشتیبانی (فهرست + رشتهٔ تیکت)، علاقه‌مندی‌ها.
 *
 * فقط چیزهایی که خودِ قالب (`main.css` / `commerce-suite.css`) ندارد یا برای
 * دادهٔ ما فرق می‌کند: جدولِ کوتاهِ اقساط/تیکت (جدولِ سفارشِ قالب حداقل ۷۶۰px
 * است)، جدولِ درونِ بخشِ `mg-eac-section`، حباب‌های گفت‌وگوی تیکت، تیترِ h2ِ
 * حالتِ خالی. همه با متغیرهای قالب، موبایل‌اول. پیشوندِ همهٔ کلاس‌ها `x-accc-`.
 */

/* ── جدول‌های کوتاه ── */
.mg-orders-table-scroll .woocommerce-orders-table.x-accc-table--installments { min-width: 420px; }
.mg-orders-table-scroll .woocommerce-orders-table.x-accc-table--tickets { min-width: 560px; }
.mg-orders-table-scroll .woocommerce-orders-table.x-accc-table .x-accc-col-subject {
  width: 40%;
  white-space: normal;
  text-align: start !important;
  overflow-wrap: anywhere;
}
.x-accc-muted { color: var(--mg-text-muted); }

/* جدولِ اقساط درونِ بخش: قابِ بخش کافی است، جدول قابِ دوم نمی‌گیرد */
.x-accc-section .mg-orders-table-scroll {
  margin: 0;
  border: 0;
  border-radius: 0;
}
.x-accc-section .mg-orders-table-scroll:not(:last-child) { border-bottom: 1px solid var(--mg-border); }
.x-accc-section .mg-orders-table-scroll .woocommerce-orders-table thead th { border-radius: 0; }

/* سرِ بخشِ اقساط: برچسبِ وضعیت به تهِ ردیف می‌رود و روی موبایل می‌شکند */
.x-accc-section-header { flex-wrap: wrap; padding-inline: 1rem; }
.x-accc-section-header .mg-order-status { margin-inline-start: auto; }
.x-accc-section-header a { color: var(--mg-primary); text-decoration: none; }
.x-accc-section-header a:hover { text-decoration: underline; }

/* ── حالتِ خالی ── */
.x-accc-empty .x-accc-empty-title,
.mg-account-wishlist-empty h2 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--mg-text);
  margin: 0;
}
.x-accc-empty p { margin: 0; }

/* کارتِ کامل در شبکهٔ علاقه‌مندی: متنِ بلند ستون را از قاب بیرون نزند */
.mg-account-wishlist-grid > * { min-width: 0; }

/* ── فرم‌ها ── */
.x-accc-textarea { resize: vertical; min-height: 7rem; line-height: 1.9; }
.x-accc .mg-eac-input:is(select) { min-height: 44px; }
.x-accc-pay .mg-eac-fields { padding-top: 1rem; }

/* ── رشتهٔ تیکت ── */
.x-accc-thread {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .75rem;
}
.x-accc-msg {
  max-width: 100%;
  padding: .8rem 1rem;
  border-radius: var(--mg-radius);
  background: var(--mg-surface);
  border: 1px solid var(--mg-border);
  color: var(--mg-text);
}
.x-accc-msg--mine {
  background: rgba(var(--mg-primary-rgb), .07);
  border-color: rgba(var(--mg-primary-rgb), .18);
}
.x-accc-msg-meta {
  font-size: .78rem;
  color: var(--mg-text-muted);
  margin-bottom: .35rem;
}
.x-accc-msg-meta b { color: var(--mg-text); font-weight: 700; }
.x-accc-msg-body {
  white-space: pre-line;
  overflow-wrap: anywhere;
  font-size: .92rem;
  line-height: 1.9;
}

/* دکمه‌های پایینِ تیکت (بازگشت + بستن) کنارِ هم و روی موبایل زیرِ هم */
.x-accc-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.x-accc-actions form { margin: 0; }

@media (min-width: 600px) {
  .x-accc-section-header { padding-inline: 1.5rem; }
  .x-accc-msg { max-width: 88%; }
  .x-accc-msg--mine { margin-inline-start: auto; }
}

/* ── «خروج» در منوی حساب: فرمِ POST است (نه لینکِ GET)، پس دکمه باید همان شکلِ لینک‌های منو را بگیرد ── */
.woocommerce-MyAccount-navigation li form { margin: 0; }
.woocommerce-MyAccount-navigation li form button {
    display: flex; align-items: center; gap: .75rem; width: 100%;
    padding: .75rem 1rem; border: 0; border-radius: var(--mg-radius);
    background: none; color: #dc2626; font: inherit; text-align: start; cursor: pointer;
    transition: var(--mg-transition);
}
.woocommerce-MyAccount-navigation li form button:hover { background: rgba(220, 38, 38, .07); }
.woocommerce-MyAccount-navigation li form button:hover .mg-nav-icon { opacity: 1; }
@media (max-width: 1280px) {
    .woocommerce-MyAccount-navigation li form button {
        padding: .5rem .875rem; font-size: .82rem; gap: .4rem; white-space: nowrap;
        border: 1px solid var(--mg-border); background: var(--mg-surface);
    }
}
@media (max-width: 400px) {
    .woocommerce-MyAccount-navigation li form button { padding: .5rem .625rem; gap: .25rem; font-size: .74rem; }
}

/* ── جزئیاتِ سفارش در موبایل: قالب کارت‌های مبلغ را ستونی می‌کند ولی `flex-basis:120px` می‌ماند
   و هر کارت ۱۲۰ پیکسل *ارتفاع* می‌گیرد؛ در حالتِ ستونی اندازه از محتوا بیاید و عنوان و عدد کنارِ هم. ── */
@media (max-width: 600px) {
    .mg-vo-cards .mg-vo-card { flex: 0 0 auto; flex-direction: row; align-items: center; justify-content: space-between; }
}
