/* ============================================================
   OVEX — shop.css
   صفحه‌ی آرشیو فروشگاه، ستون فیلتر، مرتب‌سازی، چیپ فیلترهای فعال،
   نمای گرید/لیست، سبد خرید، تسویه‌حساب، حساب کاربری
   ============================================================ */

/* ============================================================
   ۱) چیدمان کلی فروشگاه
   ============================================================ */

.ovex-shop {
  display: grid;
  grid-template-columns: var(--ovex-side-w) minmax(0, 1fr);
  gap: var(--ovex-gap-lg);
  align-items: start;
  margin-block: 16px 30px;
}

.ovex-shop--full {
  grid-template-columns: minmax(0, 1fr);
}

.ovex-shop__side {
  position: sticky;
  top: calc(var(--ovex-header-h) + 14px);
  align-self: start;
  max-height: calc(100vh - var(--ovex-header-h) - 28px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-inline-end: 4px;
}

.ovex-shop__main {
  min-width: 0;
}

/* سربرگ دسته */
.ovex-shop__hero {
  position: relative;
  border-radius: var(--ovex-r-lg);
  overflow: hidden;
  background: var(--ovex-primary-50);
  padding: 20px 22px;
  margin-block-end: var(--ovex-gap);
  box-shadow: var(--ovex-sh-1);
}

.ovex-shop__hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .45;
}

.ovex-shop__hero-body {
  position: relative;
  z-index: 1;
}

.ovex-shop__title {
  font-size: 22px;
  font-weight: 900;
  color: var(--ovex-ink);
  margin: 0 0 5px;
  display: flex;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
}

.ovex-shop__title .ovex-badge {
  vertical-align: middle;
}

.ovex-shop__desc {
  font-size: 13px;
  color: var(--ovex-ink-2);
  line-height: 2;
  max-width: 78ch;
}

.ovex-shop__desc p {
  margin-block-end: 6px;
}

/* زیر‌دسته‌ها به صورت چیپ */
.ovex-shop__subcats {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-block-start: 12px;
}

.ovex-shop__subcat {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding-inline: 6px 14px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-surface);
  border: 1px solid var(--ovex-line);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ovex-ink-2);
  transition:
    border-color var(--ovex-t-fast) var(--ovex-ease),
    color var(--ovex-t-fast) var(--ovex-ease),
    box-shadow var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-shop__subcat img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
  background: var(--ovex-bg);
}

.ovex-shop__subcat:hover,
.ovex-shop__subcat.is-active {
  border-color: var(--ovex-primary);
  color: var(--ovex-primary);
  box-shadow: 0 3px 10px rgba(251, 119, 1, .14);
}

.ovex-shop__subcat small {
  color: var(--ovex-ink-3);
  font-size: 11px;
}

/* ============================================================
   ۲) نوار ابزار (مرتب‌سازی، تعداد، نما)
   ============================================================ */

.ovex-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  background: var(--ovex-surface);
  border-radius: var(--ovex-r);
  padding: 10px 14px;
  margin-block-end: var(--ovex-gap);
  box-shadow: var(--ovex-sh-1);
}

.ovex-toolbar__left,
.ovex-toolbar__right {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  min-width: 0;
}

.ovex-toolbar__count,
.woocommerce-result-count {
  font-size: 12.5px;
  color: var(--ovex-ink-3);
  margin: 0;
}

.ovex-toolbar__count b {
  color: var(--ovex-ink);
  font-weight: 800;
}

/* مرتب‌سازی به شکل چیپ‌های افقی (مثل Temu) */
.ovex-sort {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.ovex-sort__label {
  font-size: 12.5px;
  color: var(--ovex-ink-3);
  margin-inline-end: 4px;
  white-space: nowrap;
}

.ovex-sort__btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 32px;
  padding-inline: 13px;
  border-radius: var(--ovex-r-pill);
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ovex-ink-2);
  background: var(--ovex-bg);
  transition:
    background-color var(--ovex-t-fast) var(--ovex-ease),
    color var(--ovex-t-fast) var(--ovex-ease);
  white-space: nowrap;
}

.ovex-sort__btn:hover {
  background: var(--ovex-primary-100);
  color: var(--ovex-primary-700);
}

.ovex-sort__btn.is-active {
  background: var(--ovex-primary-grad);
  color: var(--ovex-white);
  box-shadow: 0 3px 8px rgba(251, 119, 1, .24);
}

.ovex-sort__btn .ovex-icon {
  width: 14px;
  height: 14px;
}

/* select مرتب‌سازی پیش‌فرض ووکامرس */
.woocommerce-ordering select,
.ovex-sort select {
  height: 34px;
  padding-block: 0;
  font-size: 12.5px;
  border-radius: var(--ovex-r-pill);
  width: auto;
  min-width: 165px;
}

/* تغییر نما گرید/لیست */
.ovex-view {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  background: var(--ovex-bg);
  border-radius: var(--ovex-r-pill);
  padding: 3px;
}

.ovex-view__btn {
  width: 32px;
  height: 28px;
  border-radius: var(--ovex-r-pill);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ovex-ink-3);
  transition: background-color var(--ovex-t-fast) var(--ovex-ease), color var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-view__btn:hover {
  color: var(--ovex-primary);
}

.ovex-view__btn.is-active {
  background: var(--ovex-surface);
  color: var(--ovex-primary);
  box-shadow: var(--ovex-sh-1);
}

.ovex-view__btn .ovex-icon {
  width: 16px;
  height: 16px;
}

/* دکمه‌ی باز کردن فیلتر (موبایل) */
.ovex-filter__open {
  display: none;
  align-items: center;
  gap: 7px;
  height: 34px;
  padding-inline: 15px;
  border-radius: var(--ovex-r-pill);
  border: 1px solid var(--ovex-line-2);
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ovex-ink-2);
  background: var(--ovex-surface);
}

.ovex-filter__open:hover {
  border-color: var(--ovex-primary);
  color: var(--ovex-primary);
}

.ovex-filter__open .ovex-icon {
  width: 16px;
  height: 16px;
}

.ovex-filter__open-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding-inline: 5px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-primary);
  color: var(--ovex-white);
  font-size: 10.5px;
  line-height: 1;
}

/* ============================================================
   ۳) چیپ فیلترهای فعال
   ============================================================ */

.ovex-activefilters {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  background: var(--ovex-surface);
  border-radius: var(--ovex-r);
  padding: 10px 14px;
  margin-block-end: var(--ovex-gap);
  box-shadow: var(--ovex-sh-1);
}

.ovex-activefilters__label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ovex-ink-3);
  margin-inline-end: 3px;
}

.ovex-activefilters .ovex-chip {
  background: var(--ovex-primary-50);
  border-color: var(--ovex-primary-100);
  color: var(--ovex-primary-700);
}

.ovex-activefilters__clear {
  margin-inline-start: auto;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ovex-danger);
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}

.ovex-activefilters__clear:hover {
  color: var(--ovex-danger);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.ovex-activefilters__clear .ovex-icon {
  width: 15px;
  height: 15px;
}

/* ============================================================
   ۴) ستون فیلتر
   ============================================================ */

.ovex-filter {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r);
  box-shadow: var(--ovex-sh-1);
  overflow: hidden;
}

.ovex-filter__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--ovex-line);
}

.ovex-filter__head b {
  font-size: 14.5px;
  font-weight: 800;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ovex-filter__head .ovex-icon {
  color: var(--ovex-primary);
}

.ovex-filter__reset {
  font-size: 12px;
  font-weight: 700;
  color: var(--ovex-danger);
}

.ovex-filter__reset:hover {
  color: var(--ovex-danger);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* دکمه‌ی بستن فیلتر در حالت شیت موبایل */
.ovex-filter__close {
  display: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--ovex-bg);
  color: var(--ovex-ink-2);
  align-items: center;
  justify-content: center;
}

.ovex-filter__close:hover {
  background: var(--ovex-danger-bg);
  color: var(--ovex-danger);
}

/* گروه فیلتر */
.ovex-filter__group {
  padding: 14px 16px;
  border-bottom: 1px solid var(--ovex-line);
}

.ovex-filter__group:last-child {
  border-bottom: 0;
}

.ovex-filter__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ovex-ink);
  margin-block-end: 12px;
  cursor: pointer;
  background: transparent;
  text-align: start;
  line-height: 1.6;
}

.ovex-filter__title::after {
  content: "";
  width: 8px;
  height: 8px;
  border: 1.7px solid var(--ovex-ink-3);
  border-top: 0;
  border-inline-end: 0;
  transform: rotate(-45deg);
  margin-block-end: 3px;
  flex: 0 0 auto;
  transition: transform var(--ovex-t) var(--ovex-ease), border-color var(--ovex-t) var(--ovex-ease);
}

.ovex-filter__group.is-collapsed .ovex-filter__title::after {
  transform: rotate(135deg);
  margin-block: 3px 0;
}

.ovex-filter__title:hover::after {
  border-color: var(--ovex-primary);
}

.ovex-filter__group.is-collapsed .ovex-filter__body {
  display: none;
}

.ovex-filter__body {
  max-height: 260px;
  overflow-y: auto;
  padding-inline-end: 4px;
}

.ovex-filter__body--tall {
  max-height: 360px;
}

.ovex-filter__body--auto {
  max-height: none;
  overflow: visible;
}

/* لیست چک‌باکسی */
.ovex-filter__list {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-filter__item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 6px 7px;
  border-radius: var(--ovex-r-sm);
  font-size: 13px;
  color: var(--ovex-ink-2);
  cursor: pointer;
  transition: background-color var(--ovex-t-fast) var(--ovex-ease), color var(--ovex-t-fast) var(--ovex-ease);
  user-select: none;
}

.ovex-filter__item:hover {
  background: var(--ovex-primary-50);
  color: var(--ovex-ink);
}

.ovex-filter__item.is-selected {
  color: var(--ovex-primary-700);
  font-weight: 700;
}

.ovex-filter__item input[type="checkbox"] {
  flex: 0 0 auto;
}

.ovex-filter__item-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  line-height: 1.9;
}

.ovex-filter__item-count {
  flex: 0 0 auto;
  font-size: 11px;
  color: var(--ovex-ink-3);
  background: var(--ovex-bg);
  border-radius: var(--ovex-r-pill);
  padding: 1px 7px;
  min-width: 26px;
  text-align: center;
}

.ovex-filter__item.is-disabled {
  opacity: .45;
  pointer-events: none;
}

/* ---------- فیلتر قیمت ---------- */

.ovex-filter__price {
  padding-block-start: 4px;
}

.ovex-filter__price-inputs {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-block-end: 14px;
}

.ovex-filter__price-field {
  flex: 1 1 0%;
  position: relative;
  min-width: 0;
}

.ovex-filter__price-field input {
  height: 36px;
  padding-inline: 10px 42px;
  font-size: 12.5px;
  font-weight: 600;
  text-align: center;
  border-radius: var(--ovex-r-sm);
}

.ovex-filter__price-field span {
  position: absolute;
  inset-inline-end: 9px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10.5px;
  color: var(--ovex-ink-3);
  pointer-events: none;
}

.ovex-filter__price-sep {
  flex: 0 0 auto;
  width: 10px;
  height: 1px;
  background: var(--ovex-line-2);
}

/* ریل دو دستگیره */
.ovex-range {
  position: relative;
  height: 30px;
  margin-block-end: 12px;
  direction: ltr;
}

.ovex-range__rail {
  position: absolute;
  inset-inline: 0;
  top: 13px;
  height: 4px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-line);
}

.ovex-range__fill {
  position: absolute;
  top: 13px;
  height: 4px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-primary-grad);
}

.ovex-range input[type="range"] {
  position: absolute;
  inset-inline: 0;
  top: 0;
  width: 100%;
  height: 30px;
  margin: 0;
  padding: 0;
  background: transparent;
  pointer-events: none;
  appearance: none;
  -webkit-appearance: none;
  border: 0;
}

.ovex-range input[type="range"]:focus {
  box-shadow: none;
}

.ovex-range input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ovex-surface);
  border: 3px solid var(--ovex-primary);
  box-shadow: var(--ovex-sh-2);
  cursor: grab;
  margin-top: 0;
}

.ovex-range input[type="range"]::-webkit-slider-thumb:active {
  cursor: grabbing;
  transform: scale(1.1);
}

.ovex-range input[type="range"]::-moz-range-thumb {
  pointer-events: auto;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ovex-surface);
  border: 3px solid var(--ovex-primary);
  box-shadow: var(--ovex-sh-2);
  cursor: grab;
}

.ovex-range input[type="range"]::-webkit-slider-runnable-track {
  height: 30px;
  background: transparent;
  border: 0;
}

.ovex-range input[type="range"]::-moz-range-track {
  height: 30px;
  background: transparent;
  border: 0;
}

.ovex-filter__price-note {
  font-size: 11.5px;
  color: var(--ovex-ink-3);
  text-align: center;
  margin-block-end: 10px;
  line-height: 1.9;
}

.ovex-filter__price-note b {
  color: var(--ovex-price);
  font-weight: 800;
}

/* بازه‌های آماده */
.ovex-filter__price-quick {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-block-end: 10px;
}

.ovex-filter__price-quick button {
  height: 28px;
  padding-inline: 10px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-bg);
  font-size: 11.5px;
  font-weight: 600;
  color: var(--ovex-ink-2);
  transition: background-color var(--ovex-t-fast) var(--ovex-ease), color var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-filter__price-quick button:hover,
.ovex-filter__price-quick button.is-active {
  background: var(--ovex-primary-100);
  color: var(--ovex-primary-700);
}

/* ---------- فیلتر رنگ (سواچ) ---------- */

.ovex-filter__colors {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  padding-block-start: 2px;
}

.ovex-filter__color {
  position: relative;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid var(--ovex-surface);
  box-shadow: 0 0 0 1px var(--ovex-line-2);
  cursor: pointer;
  flex: 0 0 auto;
  transition:
    transform var(--ovex-t-fast) var(--ovex-ease),
    box-shadow var(--ovex-t-fast) var(--ovex-ease);
  background-clip: padding-box;
}

.ovex-filter__color:hover {
  transform: scale(1.1);
  box-shadow: 0 0 0 2px var(--ovex-primary-100);
}

.ovex-filter__color.is-selected {
  box-shadow: 0 0 0 2px var(--ovex-primary);
}

.ovex-filter__color.is-selected::after {
  content: "";
  position: absolute;
  inset-inline-start: 9px;
  top: 6px;
  width: 7px;
  height: 12px;
  border: 2px solid var(--ovex-white);
  border-top: 0;
  border-inline-start: 0;
  transform: rotate(40deg);
  filter: drop-shadow(0 0 1px rgba(0, 0, 0, .5));
}

/* رنگ‌های روشن تیک تیره می‌گیرند */
.ovex-filter__color.is-light.is-selected::after {
  border-color: var(--ovex-ink);
  filter: none;
}

.ovex-filter__color-name {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

/* حالت فهرستی رنگ‌ها با نام */
.ovex-filter__colorlist .ovex-filter__item {
  gap: 8px;
}

.ovex-filter__colorlist .ovex-filter__dot {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 1px solid var(--ovex-line-2);
  flex: 0 0 auto;
}

/* ---------- فیلتر سایز ---------- */

.ovex-filter__sizes {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-block-start: 2px;
}

.ovex-filter__size {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 32px;
  padding-inline: 10px;
  border-radius: var(--ovex-r-sm);
  border: 1px solid var(--ovex-line-2);
  background: var(--ovex-surface);
  font-size: 12px;
  font-weight: 600;
  color: var(--ovex-ink-2);
  cursor: pointer;
  transition:
    border-color var(--ovex-t-fast) var(--ovex-ease),
    color var(--ovex-t-fast) var(--ovex-ease),
    background-color var(--ovex-t-fast) var(--ovex-ease);
  white-space: nowrap;
}

.ovex-filter__size:hover {
  border-color: var(--ovex-primary);
  color: var(--ovex-primary);
}

.ovex-filter__size.is-selected {
  background: var(--ovex-primary-grad);
  border-color: transparent;
  color: var(--ovex-white);
}

.ovex-filter__size.is-disabled {
  opacity: .4;
  pointer-events: none;
  text-decoration: line-through;
}

/* ---------- فیلتر برند ---------- */

.ovex-filter__search {
  position: relative;
  margin-block-end: 9px;
}

.ovex-filter__search input {
  height: 34px;
  font-size: 12.5px;
  padding-inline: 32px 12px;
  border-radius: var(--ovex-r-pill);
}

.ovex-filter__search .ovex-icon {
  position: absolute;
  inset-inline-start: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  color: var(--ovex-ink-3);
  pointer-events: none;
}

.ovex-filter__more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ovex-primary);
  margin-block-start: 8px;
}

.ovex-filter__more:hover {
  color: var(--ovex-primary-700);
}

/* ---------- سوییچ موجود بودن ---------- */

.ovex-switch {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  cursor: pointer;
  font-size: 13px;
  color: var(--ovex-ink-2);
  user-select: none;
  margin: 0;
  padding: 3px 0;
}

.ovex-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.ovex-switch__track {
  position: relative;
  width: 42px;
  height: 23px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-line-2);
  flex: 0 0 auto;
  transition: background-color var(--ovex-t) var(--ovex-ease);
}

.ovex-switch__track::after {
  content: "";
  position: absolute;
  top: 3px;
  inset-inline-start: 3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
  transition: transform var(--ovex-t) var(--ovex-ease);
}

.ovex-switch input:checked + .ovex-switch__track {
  background: var(--ovex-primary);
}

/* در RTL دستگیره باید به سمت چپ برود */
.ovex-switch input:checked + .ovex-switch__track::after {
  transform: translateX(-19px);
}

.ovex-switch input:focus-visible + .ovex-switch__track {
  outline: 2px solid var(--ovex-primary);
  outline-offset: 2px;
}

/* دکمه‌های پایانی فیلتر (موبایل) */
.ovex-filter__foot {
  display: none;
  gap: 10px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--ovex-line);
  background: var(--ovex-surface);
}

.ovex-filter__foot .ovex-btn {
  flex: 1 1 0%;
}

/* ============================================================
   ۵) گرید و لیست محصولات
   ============================================================ */

.ovex-products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ovex-gap);
}

.ovex-products--5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.ovex-products--6 { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.ovex-products--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* نمای لیست */
.ovex-products.is-list {
  grid-template-columns: minmax(0, 1fr);
}

.ovex-products.is-list .ovex-card {
  flex-direction: row;
  align-items: stretch;
}

.ovex-products.is-list .ovex-card__media {
  width: 210px;
  flex: 0 0 210px;
  border-radius: var(--ovex-r) 0 0 var(--ovex-r);
  aspect-ratio: 1 / 1;
}

.ovex-products.is-list .ovex-card__body {
  padding: 14px 16px;
  gap: 9px;
}

.ovex-products.is-list .ovex-card__title {
  font-size: 15px;
  min-height: 0;
}

.ovex-products.is-list .ovex-card__add {
  position: static;
  opacity: 1;
  transform: none;
  width: 200px;
  margin-block-start: auto;
}

.ovex-products.is-list .ovex-card__actions {
  opacity: 1;
  transform: none;
  flex-direction: row;
  top: auto;
  bottom: 10px;
  inset-inline-end: 10px;
}

/* در حال بارگذاری مجدد گرید (فیلتر آجاکس) */
.ovex-products.is-loading {
  opacity: .5;
  pointer-events: none;
  transition: opacity var(--ovex-t) var(--ovex-ease);
}

/* ردیف نتایج جست‌وجو */
.ovex-searchinfo {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r);
  padding: 14px 16px;
  margin-block-end: var(--ovex-gap);
  box-shadow: var(--ovex-sh-1);
  font-size: 13.5px;
  color: var(--ovex-ink-2);
}

.ovex-searchinfo b {
  color: var(--ovex-primary);
  font-weight: 800;
}

/* ============================================================
   ۶) سبد خرید
   ============================================================ */

.ovex-cart {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: var(--ovex-gap-lg);
  align-items: start;
  margin-block: 16px 30px;
}

.ovex-cart__main {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r-lg);
  padding: 16px;
  box-shadow: var(--ovex-sh-1);
  min-width: 0;
}

.ovex-cart__side {
  position: sticky;
  top: calc(var(--ovex-header-h) + 14px);
}

.ovex-cart__item {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding-block: 14px;
  border-bottom: 1px solid var(--ovex-line);
}

.ovex-cart__item:last-child {
  border-bottom: 0;
}

.ovex-cart__thumb {
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  border-radius: var(--ovex-r);
  overflow: hidden;
  background: var(--ovex-bg);
}

.ovex-cart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ovex-cart__info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ovex-cart__name {
  font-size: 14px;
  font-weight: 700;
  color: var(--ovex-ink);
  line-height: 1.8;
}

.ovex-cart__name:hover {
  color: var(--ovex-primary);
}

.ovex-cart__attrs {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-size: 12px;
  color: var(--ovex-ink-3);
}

.ovex-cart__attrs span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--ovex-bg);
  border-radius: var(--ovex-r-pill);
  padding: 2px 10px;
}

.ovex-cart__attrs i {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1px solid var(--ovex-line-2);
  display: inline-block;
}

.ovex-cart__ctrl {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-block-start: 3px;
}

.ovex-cart__remove {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--ovex-ink-3);
}

.ovex-cart__remove:hover {
  color: var(--ovex-danger);
}

.ovex-cart__remove .ovex-icon {
  width: 15px;
  height: 15px;
}

.ovex-cart__sum {
  flex: 0 0 auto;
  text-align: end;
  min-width: 110px;
}

/* جمع کل */
.ovex-totals {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r-lg);
  padding: 16px;
  box-shadow: var(--ovex-sh-1);
}

.ovex-totals__title {
  font-size: 15px;
  font-weight: 800;
  margin-block-end: 14px;
  padding-block-end: 10px;
  border-bottom: 1px solid var(--ovex-line);
}

.ovex-totals__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
  color: var(--ovex-ink-2);
  padding-block: 7px;
}

.ovex-totals__row--off {
  color: var(--ovex-success);
  font-weight: 700;
}

.ovex-totals__row--total {
  border-top: 1px dashed var(--ovex-line-2);
  margin-block-start: 8px;
  padding-block-start: 12px;
  font-size: 14px;
  font-weight: 800;
  color: var(--ovex-ink);
}

.ovex-totals__row--total b {
  font-size: 20px;
  font-weight: 900;
  color: var(--ovex-price);
}

.ovex-totals .ovex-btn {
  margin-block-start: 14px;
}

/* نوار ارسال رایگان */
.ovex-freeship {
  background: var(--ovex-primary-50);
  border-radius: var(--ovex-r);
  padding: 11px 13px;
  margin-block-end: 14px;
  font-size: 12.5px;
  color: var(--ovex-primary-700);
  line-height: 1.85;
}

.ovex-freeship b {
  font-weight: 800;
}

.ovex-freeship .ovex-bar {
  margin-block-start: 8px;
  background: var(--ovex-surface);
}

.ovex-freeship.is-done {
  background: var(--ovex-success-bg);
  color: var(--ovex-success);
}

.ovex-freeship.is-done .ovex-bar__fill {
  background: var(--ovex-success);
}

/* کوپن */
.ovex-coupon {
  display: flex;
  gap: 8px;
  margin-block-start: 12px;
}

.ovex-coupon input {
  flex: 1 1 auto;
  height: 40px;
  min-width: 0;
  border-radius: var(--ovex-r-pill);
  font-size: 12.5px;
}

/* سبد خالی */
.ovex-cart--empty {
  grid-template-columns: minmax(0, 1fr);
}

/* ============================================================
   ۷) مینی‌سبد (داخل کشو)
   ============================================================ */

.ovex-minicart__list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ovex-minicart__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding-block: 11px;
  border-bottom: 1px solid var(--ovex-line);
  position: relative;
}

.ovex-minicart__item:last-child {
  border-bottom: 0;
}

.ovex-minicart__thumb {
  width: 62px;
  height: 62px;
  flex: 0 0 62px;
  border-radius: var(--ovex-r-sm);
  overflow: hidden;
  background: var(--ovex-bg);
}

.ovex-minicart__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ovex-minicart__info {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.ovex-minicart__name {
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.7;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ovex-minicart__meta {
  font-size: 11.5px;
  color: var(--ovex-ink-3);
}

.ovex-minicart__price {
  font-size: 13px;
  font-weight: 800;
  color: var(--ovex-price);
}

.ovex-minicart__x {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--ovex-bg);
  color: var(--ovex-ink-3);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  align-self: center;
}

.ovex-minicart__x:hover {
  background: var(--ovex-danger-bg);
  color: var(--ovex-danger);
}

/* ============================================================
   ۸) تسویه‌حساب
   ============================================================ */

.ovex-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: var(--ovex-gap-lg);
  align-items: start;
  margin-block: 16px 30px;
}

.ovex-checkout__box {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r-lg);
  padding: 18px;
  box-shadow: var(--ovex-sh-1);
  margin-block-end: var(--ovex-gap);
}

.ovex-checkout__box-title {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 15px;
  font-weight: 800;
  margin-block-end: 16px;
  padding-block-end: 11px;
  border-bottom: 1px solid var(--ovex-line);
}

.ovex-checkout__box-title .ovex-step {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--ovex-primary-grad);
  color: var(--ovex-white);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12.5px;
  font-weight: 800;
  flex: 0 0 auto;
}

.ovex-checkout__side {
  position: sticky;
  top: calc(var(--ovex-header-h) + 14px);
}

.ovex-checkout__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ovex-checkout__fields .ovex-field--full {
  grid-column: 1 / -1;
}

/* روش‌های ارسال و پرداخت */
.ovex-method {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px 14px;
  border: 1.5px solid var(--ovex-line);
  border-radius: var(--ovex-r);
  cursor: pointer;
  margin-block-end: 9px;
  transition:
    border-color var(--ovex-t-fast) var(--ovex-ease),
    background-color var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-method:hover {
  border-color: var(--ovex-primary);
  background: var(--ovex-primary-50);
}

.ovex-method.is-selected {
  border-color: var(--ovex-primary);
  background: var(--ovex-primary-50);
  box-shadow: 0 0 0 3px var(--ovex-primary-100);
}

.ovex-method__logo {
  width: 46px;
  height: 34px;
  flex: 0 0 46px;
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-surface);
  border: 1px solid var(--ovex-line);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 3px;
  overflow: hidden;
}

.ovex-method__logo img,
.ovex-method__logo svg {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.ovex-method__body {
  flex: 1 1 auto;
  min-width: 0;
}

.ovex-method__body b {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.7;
}

.ovex-method__body span {
  display: block;
  font-size: 11.5px;
  color: var(--ovex-ink-3);
  line-height: 1.7;
}

.ovex-method__price {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 800;
  color: var(--ovex-price);
}

.ovex-method__price.is-free {
  color: var(--ovex-success);
}

/* خلاصه‌ی سفارش */
.ovex-review {
  max-height: 320px;
  overflow-y: auto;
  margin-block-end: 12px;
}

.ovex-review__item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-block: 9px;
  border-bottom: 1px solid var(--ovex-line);
  font-size: 12.5px;
}

.ovex-review__item:last-child {
  border-bottom: 0;
}

.ovex-review__item img {
  width: 48px;
  height: 48px;
  border-radius: var(--ovex-r-sm);
  object-fit: cover;
  flex: 0 0 48px;
  background: var(--ovex-bg);
}

.ovex-review__item b {
  display: block;
  font-weight: 600;
  line-height: 1.7;
}

.ovex-review__item span {
  color: var(--ovex-ink-3);
  font-size: 11.5px;
}

.ovex-review__item em {
  margin-inline-start: auto;
  font-style: normal;
  font-weight: 800;
  color: var(--ovex-price);
  white-space: nowrap;
}

/* صفحه‌ی تشکر */
.ovex-thankyou {
  text-align: center;
  background: var(--ovex-surface);
  border-radius: var(--ovex-r-lg);
  padding: 40px 24px;
  box-shadow: var(--ovex-sh-1);
  margin-block: 20px;
}

.ovex-thankyou__icon {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: var(--ovex-success-bg);
  color: var(--ovex-success);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline: auto;
  margin-block-end: 16px;
}

.ovex-thankyou__icon .ovex-icon {
  width: 44px;
  height: 44px;
  stroke-width: 2.2;
}

.ovex-thankyou h2 {
  font-size: 21px;
  font-weight: 900;
  margin-block-end: 8px;
}

.ovex-thankyou p {
  color: var(--ovex-ink-3);
  font-size: 13.5px;
  line-height: 2;
  max-width: 52ch;
  margin-inline: auto;
}

.ovex-thankyou__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ovex-gap);
  margin-block: 24px;
  text-align: center;
}

.ovex-thankyou__grid > div {
  background: var(--ovex-bg);
  border-radius: var(--ovex-r);
  padding: 13px 10px;
}

.ovex-thankyou__grid b {
  display: block;
  font-size: 14px;
  font-weight: 800;
  color: var(--ovex-ink);
  margin-block-start: 3px;
}

.ovex-thankyou__grid span {
  font-size: 11.5px;
  color: var(--ovex-ink-3);
}

/* ============================================================
   ۹) حساب کاربری
   ============================================================ */

.ovex-account {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: var(--ovex-gap-lg);
  align-items: start;
  margin-block: 16px 30px;
}

.ovex-account__nav {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r-lg);
  padding: 14px;
  box-shadow: var(--ovex-sh-1);
  position: sticky;
  top: calc(var(--ovex-header-h) + 14px);
}

.ovex-account__user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-block-end: 13px;
  margin-block-end: 10px;
  border-bottom: 1px solid var(--ovex-line);
}

.ovex-account__user b {
  display: block;
  font-size: 13.5px;
  font-weight: 700;
}

.ovex-account__user span {
  font-size: 11.5px;
  color: var(--ovex-ink-3);
  direction: ltr;
  display: block;
}

.ovex-account__nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-account__nav li a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: var(--ovex-r-sm);
  font-size: 13px;
  font-weight: 600;
  color: var(--ovex-ink-2);
  transition: background-color var(--ovex-t-fast) var(--ovex-ease), color var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-account__nav li a:hover {
  background: var(--ovex-primary-50);
  color: var(--ovex-primary);
}

.ovex-account__nav li.is-active a,
.ovex-account__nav li.is-active > a {
  background: var(--ovex-primary-grad);
  color: var(--ovex-white);
  box-shadow: 0 3px 10px rgba(251, 119, 1, .22);
}

.ovex-account__nav .ovex-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 auto;
}

.ovex-account__body {
  background: var(--ovex-surface);
  border-radius: var(--ovex-r-lg);
  padding: 20px;
  box-shadow: var(--ovex-sh-1);
  min-width: 0;
}

/* کارت‌های آمار داشبورد */
.ovex-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--ovex-gap);
  margin-block-end: 20px;
}

.ovex-stat {
  background: var(--ovex-bg);
  border-radius: var(--ovex-r);
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 11px;
}

.ovex-stat__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: var(--ovex-primary-100);
  color: var(--ovex-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 42px;
}

.ovex-stat b {
  display: block;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.4;
}

.ovex-stat span {
  font-size: 11.5px;
  color: var(--ovex-ink-3);
}

/* جدول سفارش‌ها */
.ovex-table {
  width: 100%;
  border: 1px solid var(--ovex-line);
  border-radius: var(--ovex-r);
  overflow: hidden;
  font-size: 13px;
}

.ovex-table th {
  background: var(--ovex-bg);
  font-size: 12.5px;
  font-weight: 800;
  color: var(--ovex-ink-2);
  padding: 11px 12px;
  text-align: start;
  white-space: nowrap;
}

.ovex-table td {
  padding: 12px;
  border-top: 1px solid var(--ovex-line);
  color: var(--ovex-ink-2);
  vertical-align: middle;
}

.ovex-table tbody tr:hover {
  background: var(--ovex-primary-50);
}

.ovex-table .ovex-badge {
  vertical-align: middle;
}

.ovex-table__wrap {
  overflow-x: auto;
}

/* وضعیت سفارش */
.ovex-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  height: 24px;
  padding-inline: 10px;
  border-radius: var(--ovex-r-pill);
  font-size: 11.5px;
  font-weight: 700;
  background: var(--ovex-ink-bg);
  color: var(--ovex-ink-2);
  white-space: nowrap;
}

.ovex-status--processing { background: var(--ovex-primary-100); color: var(--ovex-primary-700); }
.ovex-status--completed  { background: var(--ovex-success-bg);  color: var(--ovex-success); }
.ovex-status--pending    { background: var(--ovex-warning-bg);  color: var(--ovex-warning-ink); }
.ovex-status--cancelled,
.ovex-status--failed     { background: var(--ovex-danger-bg);   color: var(--ovex-danger); }

/* ============================================================
   ۱۰) سازگاری با مارکاپ پیش‌فرض ووکامرس
   ============================================================ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 15px;
  border-radius: var(--ovex-r);
  font-size: 13px;
  line-height: 1.9;
  margin-block-end: 14px;
  background: var(--ovex-primary-50);
  border-inline-start: 4px solid var(--ovex-primary);
  color: var(--ovex-ink-2);
}

.woocommerce-message {
  background: var(--ovex-success-bg);
  border-inline-start-color: var(--ovex-success);
}

.woocommerce-error {
  background: var(--ovex-danger-bg);
  border-inline-start-color: var(--ovex-danger);
  flex-direction: column;
  align-items: flex-start;
}

.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  margin-inline-start: auto;
}

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 40px;
  padding-inline: 20px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-bg);
  color: var(--ovex-ink);
  font-size: 13.5px;
  font-weight: 700;
  border: 0;
  line-height: 1;
  transition:
    background-color var(--ovex-t-fast) var(--ovex-ease),
    color var(--ovex-t-fast) var(--ovex-ease),
    filter var(--ovex-t-fast) var(--ovex-ease);
}

.woocommerce .button:hover {
  background: var(--ovex-line);
  color: var(--ovex-ink);
}

.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.woocommerce .checkout-button {
  background: var(--ovex-primary-grad);
  color: var(--ovex-white);
  box-shadow: 0 3px 10px rgba(251, 119, 1, .26);
}

.woocommerce .button.alt:hover,
.woocommerce .checkout-button:hover {
  color: var(--ovex-white);
  filter: brightness(1.07);
}

.woocommerce .button:disabled,
.woocommerce .button.disabled {
  background: var(--ovex-line);
  color: var(--ovex-ink-3);
  box-shadow: none;
  cursor: not-allowed;
}

/* پنهان‌سازی عناصر پیش‌فرضی که خودمان جایگزین کرده‌ایم */
.woocommerce-products-header__title.page-title {
  display: none;
}

.woocommerce .products ul,
.woocommerce ul.products {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ============================================================
   ۹۹) تکمیل فروشگاه — افزوده‌ی مرحله‌ی یکپارچه‌سازی
   ============================================================ */

/* ----------------------------------------------------------
   ۹۹.۱) سربرگ و نوار ابزار آرشیو
   ---------------------------------------------------------- */

.ovex-shop__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
  margin-block-end: 14px;
}

.ovex-shop__title {
  margin: 0;
  font-size: 22px;
  font-weight: 900;
  color: var(--ovex-ink);
}

.ovex-shop__count {
  font-size: 12px;
  color: var(--ovex-ink-3);
  font-variant-numeric: tabular-nums;
}

.ovex-shop__row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ovex-shop__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-block-end: 16px;
  padding: 10px 12px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

.ovex-shop__filter-toggle {
  display: none;
  align-items: center;
  gap: 6px;
}

.ovex-result-count {
  margin: 0;
  font-size: 12px;
  color: var(--ovex-ink-3);
  font-variant-numeric: tabular-nums;
}

.ovex-orderby {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.ovex-orderby__label {
  font-size: 12px;
  color: var(--ovex-ink-3);
  white-space: nowrap;
}

.ovex-orderby__select {
  height: 38px;
  padding-inline: 12px 30px;
  border: 1px solid var(--ovex-line-2);
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-surface);
  color: var(--ovex-ink);
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}

.ovex-orderby__select:focus-visible {
  outline: none;
  border-color: var(--ovex-primary);
  box-shadow: 0 0 0 3px var(--ovex-primary-100);
}

/* ستون فیلتر — سر و بستن (روی موبایل bottom-sheet می‌شود) */
.ovex-filter__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-block-end: 12px;
}

.ovex-filter__close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: var(--ovex-bg);
  color: var(--ovex-ink-2);
  cursor: pointer;
}

/*
  ستون فیلتر فقط در همان بریک‌پوینتی به bottom-sheet تبدیل می‌شود که
  responsive.css تعیین کرده (768px)، پس دکمه‌ی بازکردن و بستن هم
  دقیقاً از همان‌جا دیده می‌شود.
*/
@media (max-width: 768px) {
  .ovex-shop__filter-toggle {
    display: inline-flex;
  }

  .ovex-filter__close {
    display: inline-flex;
  }
}

/* ----------------------------------------------------------
   ۹۹.۲) سبد خرید
   ---------------------------------------------------------- */

.ovex-cart__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: var(--ovex-gap-lg);
  align-items: start;
}

.ovex-cart__main {
  min-width: 0;
}

.ovex-cart__side {
  position: sticky;
  inset-block-start: calc(var(--ovex-header-h) + 12px);
}

.ovex-cart__form {
  display: grid;
  gap: var(--ovex-gap);
}

.ovex-cart__items {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-cart__item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
  transition: opacity var(--ovex-t) var(--ovex-ease);
}

.ovex-cart__item.is-updating,
.ovex-cart__item.is-removing {
  opacity: .5;
  pointer-events: none;
}

.ovex-cart__item-img {
  width: 88px;
  height: 88px;
  border-radius: var(--ovex-r-sm);
  object-fit: cover;
  background: var(--ovex-bg);
  display: block;
}

.ovex-cart__item-info {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.ovex-cart__item-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--ovex-ink);
  line-height: 1.8;
}

.ovex-cart__item-title a {
  color: inherit;
}

.ovex-cart__item-title a:hover {
  color: var(--ovex-primary);
}

.ovex-cart__item-price {
  font-size: 12px;
  color: var(--ovex-ink-3);
}

.ovex-cart__item-qty {
  display: flex;
  align-items: center;
  gap: 8px;
}

.ovex-cart__item-total {
  font-size: 15px;
  font-weight: 900;
  color: var(--ovex-price);
  white-space: nowrap;
  text-align: end;
}

.ovex-cart__item-remove,
.ovex-cart__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--ovex-ink-3);
  cursor: pointer;
  transition: background var(--ovex-t-fast) var(--ovex-ease), color var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-cart__item-remove:hover,
.ovex-cart__remove:hover {
  background: var(--ovex-danger-bg);
  color: var(--ovex-danger);
}

.ovex-cart__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

.ovex-cart__update,
.ovex-cart__continue {
  white-space: nowrap;
}

.ovex-cart__collaterals {
  margin-block-start: var(--ovex-gap);
  display: grid;
  gap: var(--ovex-gap);
}

.ovex-cart__loading {
  opacity: .55;
  pointer-events: none;
}

/* ----------------------------------------------------------
   ۹۹.۳) جعبه‌ی جمع‌بندی (سبد و تسویه)
   ---------------------------------------------------------- */

.ovex-summary {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-2);
}

.ovex-summary--sticky {
  position: sticky;
  inset-block-start: calc(var(--ovex-header-h) + 12px);
}

.ovex-summary__title {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  color: var(--ovex-ink);
}

.ovex-summary__rows {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-block: 10px;
  border-block: 1px solid var(--ovex-line);
}

.ovex-summary__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 13px;
}

.ovex-summary__label {
  color: var(--ovex-ink-3);
}

.ovex-summary__value {
  font-weight: 700;
  color: var(--ovex-ink);
  font-variant-numeric: tabular-nums;
}

.ovex-summary__row--total {
  padding-block-start: 8px;
  border-block-start: 1px dashed var(--ovex-line-2);
  font-size: 15px;
}

.ovex-summary__row--total .ovex-summary__label {
  color: var(--ovex-ink);
  font-weight: 800;
}

.ovex-summary__row--total .ovex-summary__value {
  color: var(--ovex-price);
  font-weight: 900;
  font-size: 18px;
}

.ovex-summary__cta {
  width: 100%;
}

.ovex-summary__notes {
  margin: 0;
  font-size: 11px;
  line-height: 1.9;
  color: var(--ovex-ink-3);
}

/* ----------------------------------------------------------
   ۹۹.۴) سبد کوچک (کشوی سبد)
   ---------------------------------------------------------- */

.ovex-minicart {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
}

.ovex-minicart--empty {
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--ovex-ink-3);
}

.ovex-minicart__title {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
}

.ovex-minicart__list {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow-y: auto;
}

.ovex-minicart__item {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding-block-end: 10px;
  border-block-end: 1px solid var(--ovex-line);
}

.ovex-minicart__thumb {
  width: 56px;
  height: 56px;
  border-radius: var(--ovex-r-sm);
  object-fit: cover;
  background: var(--ovex-bg);
  display: block;
}

.ovex-minicart__info {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.ovex-minicart__title-line,
.ovex-minicart__item .ovex-minicart__title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
  color: var(--ovex-ink);
}

.ovex-minicart__qty {
  font-size: 11px;
  color: var(--ovex-ink-3);
  font-variant-numeric: tabular-nums;
}

.ovex-minicart__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 0;
  border-radius: 50%;
  background: none;
  color: var(--ovex-ink-3);
  cursor: pointer;
}

.ovex-minicart__remove:hover {
  background: var(--ovex-danger-bg);
  color: var(--ovex-danger);
}

.ovex-minicart__foot {
  display: grid;
  gap: 10px;
  margin-block-start: auto;
  padding-block-start: 12px;
  border-block-start: 1px solid var(--ovex-line);
}

.ovex-minicart__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  font-size: 14px;
  font-weight: 800;
}

.ovex-minicart__total strong {
  color: var(--ovex-price);
  font-size: 17px;
  font-weight: 900;
}

.ovex-minicart__buttons {
  display: grid;
  gap: 8px;
}

/* ----------------------------------------------------------
   ۹۹.۵) تسویه‌حساب
   ---------------------------------------------------------- */

.ovex-checkout__form {
  display: block;
}

.ovex-checkout__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: var(--ovex-gap-lg);
  align-items: start;
}

.ovex-checkout__main {
  display: grid;
  gap: var(--ovex-gap);
  min-width: 0;
}

.ovex-checkout__box {
  padding: 18px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

.ovex-checkout__title {
  margin: 0 0 14px;
  font-size: 15px;
  font-weight: 800;
  color: var(--ovex-ink);
}

.ovex-checkout__cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ovex-checkout__col {
  min-width: 0;
}

.ovex-checkout__hint {
  margin: 8px 0 0;
  font-size: 11px;
  line-height: 1.9;
  color: var(--ovex-ink-3);
}

.ovex-checkout__review {
  display: grid;
  gap: var(--ovex-gap);
}

/* بازبینی سفارش */
.ovex-review__items {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-review__item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  font-size: 13px;
}

.ovex-review__thumb {
  width: 48px;
  height: 48px;
  border-radius: var(--ovex-r-sm);
  object-fit: cover;
  background: var(--ovex-bg);
  display: block;
}

.ovex-review__name {
  min-width: 0;
  line-height: 1.7;
  color: var(--ovex-ink);
}

.ovex-review__qty {
  font-size: 11px;
  color: var(--ovex-ink-3);
  font-variant-numeric: tabular-nums;
}

.ovex-review__total {
  font-weight: 800;
  color: var(--ovex-ink);
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

/* روش‌های پرداخت */
.ovex-payment {
  display: grid;
  gap: 12px;
}

.ovex-payment__methods {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-payment__none {
  margin: 0;
  padding: 12px;
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-warning-bg);
  color: var(--ovex-warning-ink);
  font-size: 13px;
  line-height: 1.9;
}

.ovex-payment__place {
  width: 100%;
}

/* ----------------------------------------------------------
   ۹۹.۶) صفحه‌ی پرداخت مجدد سفارش (form-pay)
   ---------------------------------------------------------- */

.ovex-pay {
  display: grid;
  gap: var(--ovex-gap);
}

.ovex-pay__table {
  width: 100%;
  border-collapse: collapse;
  background: var(--ovex-surface);
  border-radius: var(--ovex-r);
  overflow: hidden;
  box-shadow: var(--ovex-sh-1);
}

.ovex-pay__head th {
  padding: 12px;
  background: var(--ovex-bg);
  font-size: 12px;
  font-weight: 800;
  color: var(--ovex-ink-2);
  text-align: start;
}

.ovex-pay__row td {
  padding: 12px;
  border-block-start: 1px solid var(--ovex-line);
  font-size: 13px;
  vertical-align: middle;
}

.ovex-pay__col {
  color: var(--ovex-ink-2);
  font-variant-numeric: tabular-nums;
}

.ovex-pay__col--total {
  font-weight: 900;
  color: var(--ovex-price);
  white-space: nowrap;
}

.ovex-pay__name {
  color: var(--ovex-ink);
  font-weight: 700;
}

.ovex-pay__body tr:last-child td {
  border-block-end: 1px solid var(--ovex-line);
}

.ovex-pay__foot td,
.ovex-pay__foot th {
  padding: 12px;
  background: var(--ovex-bg);
  font-size: 13px;
  font-weight: 800;
}

/* ----------------------------------------------------------
   ۹۹.۷) صفحه‌ی تشکر / نتیجه‌ی پرداخت
   ---------------------------------------------------------- */

.ovex-thankyou {
  padding-block: 24px 40px;
}

.ovex-thankyou__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  max-width: 640px;
  margin-inline: auto;
  padding: 32px 24px;
  border-radius: var(--ovex-r-lg);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-2);
  text-align: center;
}

.ovex-thankyou__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px;
  height: 76px;
  border-radius: 50%;
  background: var(--ovex-bg);
  color: var(--ovex-ink-3);
}

.ovex-thankyou__card--success .ovex-thankyou__icon {
  background: var(--ovex-success-bg);
  color: var(--ovex-success);
}

.ovex-thankyou__card--failed .ovex-thankyou__icon {
  background: var(--ovex-danger-bg);
  color: var(--ovex-danger);
}

.ovex-thankyou--unknown .ovex-thankyou__icon {
  background: var(--ovex-warning-bg);
  color: var(--ovex-warning-ink);
}

.ovex-thankyou__title {
  margin: 0;
  font-size: 20px;
  font-weight: 900;
  color: var(--ovex-ink);
}

.ovex-thankyou__text {
  margin: 0;
  max-width: 460px;
  font-size: 14px;
  line-height: 2;
  color: var(--ovex-ink-2);
}

.ovex-thankyou__meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  width: 100%;
  margin-block-start: 8px;
  padding-block-start: 16px;
  border-block-start: 1px solid var(--ovex-line);
}

.ovex-thankyou__meta-item {
  display: grid;
  gap: 4px;
  padding: 10px;
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-bg);
}

.ovex-thankyou__meta-item--refid {
  background: var(--ovex-primary-50);
}

.ovex-thankyou__meta-label {
  font-size: 11px;
  color: var(--ovex-ink-3);
}

.ovex-thankyou__meta-value {
  font-size: 14px;
  font-weight: 800;
  color: var(--ovex-ink);
  font-variant-numeric: tabular-nums;
  word-break: break-all;
}

.ovex-thankyou__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-block-start: 6px;
}

/* ----------------------------------------------------------
   ۹۹.۸) حساب کاربری
   ---------------------------------------------------------- */

.ovex-account__head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-block-end: 18px;
}

.ovex-account__avatar {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  overflow: hidden;
  flex: 0 0 auto;
  background: var(--ovex-bg);
}

.ovex-account__avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.ovex-account__hello {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--ovex-ink);
}

.ovex-account__layout {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: var(--ovex-gap-lg);
  align-items: start;
}

.ovex-account__content {
  min-width: 0;
  padding: 18px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

.ovex-account__nav {
  position: sticky;
  inset-block-start: calc(var(--ovex-header-h) + 12px);
  padding: 10px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

.ovex-account__nav-list {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-account__nav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: var(--ovex-r-sm);
  color: var(--ovex-ink-2);
  font-size: 13px;
  font-weight: 700;
  transition: background var(--ovex-t-fast) var(--ovex-ease), color var(--ovex-t-fast) var(--ovex-ease);
}

.ovex-account__nav-link:hover {
  background: var(--ovex-primary-50);
  color: var(--ovex-primary-700);
}

.ovex-account__nav-item.is-active > .ovex-account__nav-link {
  background: var(--ovex-primary);
  color: var(--ovex-white);
}

/* پیشخوان حساب */
.ovex-dashboard {
  display: grid;
  gap: 18px;
}

.ovex-dashboard__welcome {
  margin: 0;
  font-size: 14px;
  line-height: 2;
  color: var(--ovex-ink-2);
}

.ovex-dashboard__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}

.ovex-dashboard__stat {
  display: grid;
  gap: 4px;
  padding: 14px;
  border-radius: var(--ovex-r);
  background: var(--ovex-primary-50);
  text-align: center;
}

.ovex-dashboard__stat-num {
  font-size: 22px;
  font-weight: 900;
  color: var(--ovex-primary-700);
  font-variant-numeric: tabular-nums;
}

.ovex-dashboard__stat-label {
  font-size: 12px;
  color: var(--ovex-ink-3);
}

.ovex-dashboard__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ----------------------------------------------------------
   ۹۹.۹) واکنش‌گرایی پایه‌ی صفحات فروشگاه
   ---------------------------------------------------------- */

@media (max-width: 1024px) {
  .ovex-cart__layout,
  .ovex-checkout__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .ovex-cart__side,
  .ovex-summary--sticky {
    position: static;
  }

  .ovex-account__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .ovex-account__nav {
    position: static;
  }

  .ovex-account__nav-list {
    grid-auto-flow: column;
    grid-auto-columns: max-content;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .ovex-account__nav-list::-webkit-scrollbar {
    display: none;
  }
}

@media (max-width: 768px) {
  .ovex-cart__item {
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
      "img info"
      "qty total";
  }

  .ovex-cart__item-img {
    grid-area: img;
    width: 64px;
    height: 64px;
  }

  .ovex-cart__item-info {
    grid-area: info;
  }

  .ovex-cart__item-qty {
    grid-area: qty;
  }

  .ovex-cart__item-total {
    grid-area: total;
    text-align: end;
  }

  .ovex-checkout__cols {
    grid-template-columns: minmax(0, 1fr);
  }

  .ovex-pay__table,
  .ovex-pay__head,
  .ovex-pay__body,
  .ovex-pay__row,
  .ovex-pay__col,
  .ovex-pay__foot {
    display: block;
    width: 100%;
  }

  .ovex-pay__head {
    display: none;
  }

  .ovex-pay__row {
    padding: 12px;
    border-block-start: 1px solid var(--ovex-line);
  }

  .ovex-pay__row td {
    padding: 4px 0;
    border: 0;
  }

  .ovex-thankyou__card {
    padding: 24px 16px;
  }
}

/* ============================================================
   ۱۰۰) سبد و کشوی سبد — کلاس‌های زمان اجرا
   منبع: assets/js/cart.js و includes/class-ovex-ajax.php
   ============================================================ */

/* ----------------------------------------------------------
   ۱۰۰.۱) کد تخفیف
   ---------------------------------------------------------- */

.ovex-coupon__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.ovex-coupon__input {
  width: 100%;
  height: 40px;
  padding-inline: 12px;
  border: 1px solid var(--ovex-line-2);
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-surface);
  color: var(--ovex-ink);
  font: inherit;
  font-size: 13px;
}

.ovex-coupon__input:focus-visible {
  outline: none;
  border-color: var(--ovex-primary);
  box-shadow: 0 0 0 3px var(--ovex-primary-100);
}

.ovex-coupon__btn {
  height: 40px;
  padding-inline: 16px;
  border: 0;
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-ink);
  color: var(--ovex-white);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

.ovex-coupon__btn:hover {
  background: var(--ovex-ink-2);
}

.ovex-coupon__btn.is-loading {
  opacity: .6;
  pointer-events: none;
}

/* ----------------------------------------------------------
   ۱۰۰.۲) مقادیری که cart.js در سبد به‌روز می‌کند
   ---------------------------------------------------------- */

.ovex-cart__price,
.ovex-cart__line-total {
  font-variant-numeric: tabular-nums;
}

.ovex-cart__line-total {
  font-weight: 800;
  color: var(--ovex-ink);
  white-space: nowrap;
}

.ovex-cart__qty-input {
  width: 48px;
  height: 36px;
  border: 1px solid var(--ovex-line-2);
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-surface);
  color: var(--ovex-ink);
  font: inherit;
  font-weight: 700;
  text-align: center;
  font-variant-numeric: tabular-nums;
  -moz-appearance: textfield;
  appearance: textfield;
}

.ovex-cart__qty-input::-webkit-outer-spin-button,
.ovex-cart__qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.ovex-cart__qty-value {
  min-width: 26px;
  text-align: center;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}

.ovex-cart__subtotal-value,
.ovex-cart__total-value {
  font-weight: 900;
  color: var(--ovex-price);
  font-variant-numeric: tabular-nums;
}

/* ----------------------------------------------------------
   ۱۰۰.۳) کشوی سبد — نوار ارسال رایگان و جمع کل
   (نشانه‌گذاری از class-ovex-ajax.php می‌آید)
   ---------------------------------------------------------- */

.ovex-drawer__progress {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-radius: var(--ovex-r-sm);
  background: var(--ovex-primary-50);
}

.ovex-drawer__progress-text {
  font-size: 12px;
  font-weight: 700;
  color: var(--ovex-ink-2);
}

.ovex-drawer__progress-bar {
  height: 8px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-line);
  overflow: hidden;
}

.ovex-drawer__progress-fill {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: var(--ovex-primary-grad);
  transition: width var(--ovex-t-slow) var(--ovex-ease);
}

.ovex-drawer__progress.is-reached {
  background: var(--ovex-success-bg);
}

.ovex-drawer__progress.is-reached .ovex-drawer__progress-fill {
  background: var(--ovex-success);
}

.ovex-drawer__total {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding-block: 8px;
}

.ovex-drawer__total-label {
  font-size: 13px;
  color: var(--ovex-ink-3);
}

.ovex-drawer__total-value {
  font-size: 18px;
  font-weight: 900;
  color: var(--ovex-price);
  font-variant-numeric: tabular-nums;
}

.ovex-drawer__buttons {
  display: grid;
  gap: 8px;
}

/* برچسب «رایگان» برای روش ارسال رایگان */
.ovex-free {
  display: inline-block;
  padding: 1px 8px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-success-bg);
  color: var(--ovex-success);
  font-size: 11px;
  font-weight: 800;
}

/* ----------------------------------------------------------
   ۱۰۰.۴) نمای سریع محصول (خروجی class-ovex-ajax.php)
   ---------------------------------------------------------- */

.ovex-quickview__media {
  min-width: 0;
}

.ovex-quickview__summary {
  display: grid;
  gap: 10px;
  align-content: start;
  min-width: 0;
}

.ovex-quickview__short {
  margin: 0;
  font-size: 13px;
  line-height: 2;
  color: var(--ovex-ink-2);
}

.ovex-quickview__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block-start: 6px;
}

/* ----------------------------------------------------------
   ۱۰۰.۵) صفحه‌ی علاقه‌مندی‌ها (شورت‌کد [ovex_wishlist])
   ---------------------------------------------------------- */

.ovex-wishlist {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
  gap: var(--ovex-gap);
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 768px) {
  .ovex-wishlist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ovex-coupon__form {
    grid-template-columns: minmax(0, 1fr);
  }
}


/* ============================================================
   ۱۰۰) چیدمان نهایی آرشیو — یک wrapper، گرید دوستونه
   ساختار: .ovex-shop > (.ovex-shop__top | .ovex-shop__side | .ovex-shop__main)
   ============================================================ */

.ovex-shop {
  display: grid;
  grid-template-columns: var(--ovex-side-w, 264px) minmax(0, 1fr);
  grid-template-areas:
    "top  top"
    "side main";
  gap: var(--ovex-gap-lg, 20px);
  align-items: start;
  margin-block: 14px 34px;
}

.ovex-shop--full {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "top"
    "main";
}

/* نوار بالایی (مسیر راهنما + عنوان) تمام‌عرض است */
.ovex-shop__top {
  grid-area: top;
  min-width: 0;
}

.ovex-shop > .ovex-shop__side {
  grid-area: side;
}

.ovex-shop > .ovex-shop__main {
  grid-area: main;
  min-width: 0;
}

/* سربرگ: عنوان و تعداد کنار هم */
.ovex-shop__top .ovex-shop__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-block: 2px 12px;
}

.ovex-shop__top .ovex-shop__filter-toggle {
  margin-inline-start: auto;
}

/* ------------------------------------------------------------
   ۱۰۰.۱) مسیر راهنما — فقط یکی
   نسخه‌ی عمومی هدر (بدون کلاس woocommerce-breadcrumb) در صفحه‌ی
   آرشیو مخفی می‌شود تا breadcrumb دوتایی نشود.
   ------------------------------------------------------------ */

body.woocommerce-shop .ovex-breadcrumb:not(.woocommerce-breadcrumb),
body.post-type-archive-product .ovex-breadcrumb:not(.woocommerce-breadcrumb),
body.tax-product_cat .ovex-breadcrumb:not(.woocommerce-breadcrumb),
body.tax-product_tag .ovex-breadcrumb:not(.woocommerce-breadcrumb) {
  display: none !important;
}

/* استایل مسیر راهنمای آرشیو (جداکننده‌ی «›») */
.ovex-shop__top .ovex-breadcrumb {
  display: block;
  margin-block: 0 8px;
}

.ovex-shop__top .ovex-breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ovex-shop__top .ovex-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12.5px;
  color: var(--ovex-ink-3);
  list-style: none;
}

.ovex-shop__top .ovex-breadcrumb__link {
  color: var(--ovex-ink-3);
  text-decoration: none;
  transition: color var(--ovex-t-fast, .15s) var(--ovex-ease, ease);
}

.ovex-shop__top .ovex-breadcrumb__link:hover {
  color: var(--ovex-primary);
}

.ovex-shop__top .ovex-breadcrumb__current {
  color: var(--ovex-ink);
  font-weight: 700;
}

.ovex-shop__top .ovex-breadcrumb__sep {
  color: var(--ovex-line-2);
  display: inline-block;
  transform: scaleX(-1); /* در RTL نوک «›» به سمت چپ باشد */
}

/* ------------------------------------------------------------
   ۱۰۰.۲) نوار ابزار — همه در یک ردیف افقی
   ------------------------------------------------------------ */

.ovex-shop__main > .ovex-shop__toolbar {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin-block-end: 14px;
  padding: 9px 14px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

/* شمارش نتایج سمت شروع، بقیه سمت پایان */
.ovex-shop__toolbar .ovex-result-count,
.ovex-shop__toolbar .woocommerce-result-count {
  margin: 0;
  margin-inline-end: auto;
  white-space: nowrap;
}

.ovex-shop__toolbar .ovex-orderby,
.ovex-shop__toolbar .woocommerce-ordering {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.ovex-shop__toolbar .woocommerce-notices-wrapper {
  flex: 1 0 100%;
  order: -1;
}

.ovex-shop__toolbar .woocommerce-notices-wrapper:empty {
  display: none;
}

/* ------------------------------------------------------------
   ۱۰۰.۳) سوییچ گرید/لیست — بدون جاوااسکریپت (رادیوی پنهان + :has)
   ------------------------------------------------------------ */

.ovex-view__radio {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.ovex-view__btn {
  cursor: pointer;
  border: 0;
  background: transparent;
}

.ovex-view__radio:checked + .ovex-view__btn {
  background: var(--ovex-surface);
  color: var(--ovex-primary);
  box-shadow: var(--ovex-sh-1);
}

.ovex-view__radio:focus-visible + .ovex-view__btn {
  outline: 2px solid var(--ovex-primary);
  outline-offset: 2px;
}

/* حالت لیست: گرید تک‌ستونه می‌شود */
.ovex-shop__main:has(#ovex-view-list:checked) ul.products {
  grid-template-columns: minmax(0, 1fr);
}

.ovex-shop__main:has(#ovex-view-list:checked) ul.products > li.product .ovex-card {
  flex-direction: row;
  align-items: stretch;
}

.ovex-shop__main:has(#ovex-view-list:checked) ul.products > li.product .ovex-card__media {
  width: 190px;
  flex: 0 0 190px;
}

/* ------------------------------------------------------------
   ۱۰۰.۴) ستون فیلتر
   ------------------------------------------------------------ */

.ovex-shop > .ovex-shop__side {
  position: sticky;
  top: calc(var(--ovex-header-h, 64px) + 12px);
  align-self: start;
  max-height: calc(100vh - var(--ovex-header-h, 64px) - 24px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 12px 12px 8px;
  border-radius: var(--ovex-r);
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
}

.ovex-filter__groups {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* در دسکتاپ سربرگ «فیلترها» و دکمه‌ی بستن لازم نیست */
@media (min-width: 769px) {
  .ovex-shop > .ovex-shop__side > .ovex-filter__head {
    display: none;
  }

  .ovex-shop__top .ovex-shop__filter-toggle {
    display: none;
  }
}

/* ------------------------------------------------------------
   ۱۰۰.۵) موبایل — تک‌ستونه + فیلتر به صورت bottom-sheet
   (انتخابگرها عمداً خاص‌تر از responsive.css نوشته شده‌اند)
   ------------------------------------------------------------ */

@media (max-width: 768px) {
  .ovex-container.ovex-shop {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "top"
      "main";
    gap: 0;
  }

  .ovex-container.ovex-shop > .ovex-shop__side {
    grid-area: auto;
    position: fixed;
    inset-inline: 0;
    bottom: 0;
    top: auto;
    z-index: var(--ovex-z-drawer, 90);
    width: auto;
    max-height: 86vh;
    padding: 0;
    border-radius: var(--ovex-r-xl) var(--ovex-r-xl) 0 0;
    box-shadow: 0 -6px 28px rgba(0, 0, 0, .18);
    transform: translateY(102%);
    transition: transform var(--ovex-t, .25s) var(--ovex-ease, ease);
    display: flex;
    flex-direction: column;
    overflow: hidden;
  }

  .ovex-container.ovex-shop > .ovex-shop__side.is-open {
    transform: translateY(0);
  }

  .ovex-container.ovex-shop > .ovex-shop__side > .ovex-filter__head {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 14px 16px 10px;
    border-block-end: 1px solid var(--ovex-line);
  }

  .ovex-container.ovex-shop > .ovex-shop__side > .ovex-filter__groups {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 10px 14px 24px;
  }

  .ovex-shop__top .ovex-shop__filter-toggle {
    display: inline-flex;
    margin-inline-start: auto;
  }

  .ovex-shop__main > .ovex-shop__toolbar {
    padding: 8px 10px;
    gap: 8px 10px;
  }

  .ovex-shop__toolbar .ovex-view {
    display: none;
  }

  .ovex-shop__toolbar .ovex-result-count,
  .ovex-shop__toolbar .woocommerce-result-count {
    font-size: 11.5px;
  }

  .ovex-shop__toolbar .ovex-orderby__select {
    height: 34px;
    font-size: 12px;
  }
}

/* ------------------------------------------------------------
   ۱۰۰.۶) عنوان صفحه‌ی آرشیو
   قانون قدیمی‌تر این عنوان را مخفی می‌کرد؛ حالا که جای درستش
   داخل .ovex-shop__top است دوباره نمایش داده می‌شود.
   ------------------------------------------------------------ */

.ovex-shop__top .woocommerce-products-header__title.page-title,
.ovex-shop__top .ovex-shop__title {
  display: block;
  margin: 0;
  font-size: 23px;
  font-weight: 900;
  color: var(--ovex-ink);
  line-height: 1.6;
}

/* ------------------------------------------------------------
   ۱۰۰.۷) ویجت فیلتر قیمت (استایل‌های پیش‌فرض ووکامرس dequeue شده‌اند)
   ------------------------------------------------------------ */

.ovex-shop__side .price_slider_wrapper {
  padding-block: 4px 2px;
}

.ovex-shop__side .price_slider {
  position: relative;
  height: 5px;
  margin: 14px 6px 18px;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-line);
}

.ovex-shop__side .price_slider .ui-slider-range {
  position: absolute;
  top: 0;
  height: 100%;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-primary);
}

.ovex-shop__side .price_slider .ui-slider-handle {
  position: absolute;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-inline-start: -8px;
  transform: translateY(-50%);
  border: 2px solid var(--ovex-primary);
  border-radius: 50%;
  background: var(--ovex-surface);
  box-shadow: var(--ovex-sh-1);
  cursor: grab;
  outline: none;
}

/* ورودی‌های عددی پیش‌فرض ووکامرس لازم نیستند (اسلایدر جایگزینشان است) */
.ovex-shop__side .price_slider_amount input[type="text"] {
  display: none;
}

.ovex-shop__side .price_slider_amount {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--ovex-ink-2);
}

.ovex-shop__side .price_slider_amount .price_label {
  flex: 1 1 100%;
  order: -1;
  font-size: 12px;
  color: var(--ovex-ink-2);
  font-variant-numeric: tabular-nums;
}

.ovex-shop__side .price_slider_amount .button {
  padding: 7px 16px;
  border: 0;
  border-radius: var(--ovex-r-pill);
  background: var(--ovex-primary-grad, var(--ovex-primary));
  color: #fff;
  font: inherit;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
}

.ovex-shop__side .price_slider_amount .clear {
  display: none;
}

/* ------------------------------------------------------------
   ۱۰۰.۸) بج پیش‌فرض «Sale!» — اگر جایی باقی ماند دیده نشود
   (کارت اوکس خودش بج فارسی «٪ تخفیف» دارد)
   ------------------------------------------------------------ */

.ovex-shop__main ul.products > li.product > .onsale {
  display: none;
}

/* ------------------------------------------------------------
   ۱۰۰.۹) یادداشت: استایل داخل ویجت‌های فیلتر (آکاردئون، سواچ رنگ،
   چیپ سایز، فهرست دسته‌ها) متعلق به ماژول ویجت است؛ اینجا دستکاری نمی‌شود
   تا تداخل پیش نیاید. فقط مهار سرریز افقی تصویرها اینجاست.
   ------------------------------------------------------------ */

/* جلوگیری از سرریز افقی درون ستون فیلتر */
.ovex-shop__side img,
.ovex-shop__side svg {
  max-width: 100%;
}

/* ------------------------------------------------------------
   ۱۰۰.۱۱) شیمِ سازگاری با مارک‌آپ پیش‌فرض ویجت‌های ووکامرس
   استایل ovex-filter__* در components.css فرض کرده که <span class="count">
   و تصویر محصول «فرزندِ» <a> هستند، ولی ووکامرس آن‌ها را «خواهر» <a>
   چاپ می‌کند؛ نتیجه این می‌شود که هر کلمه در یک خط می‌افتد.
   این بلوک فقط داخل ستون فیلترِ آرشیو اثر دارد و نام‌گذاری ovex-filter__*
   را تغییر نمی‌دهد. اگر ماژول ویجت مارک‌آپ را اصلاح کرد، این بلوک
   بی‌اثر و قابل حذف است.
   ------------------------------------------------------------ */

/* فهرست دسته‌بندی‌ها: نام و شمارنده در یک خط، زیردسته‌ها در خط بعد */
.ovex-shop__side .ovex-filter__group--cats .ovex-filter__body > ul li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 4px;
}

.ovex-shop__side .ovex-filter__group--cats .ovex-filter__body > ul li > a {
  flex: 1 1 auto;
  min-width: 0;
}

.ovex-shop__side .ovex-filter__group--cats .ovex-filter__body > ul li > .count {
  flex: 0 0 auto;
  margin-inline-end: 8px;
  font-size: 10.5px;
  color: var(--ovex-ink-3);
  font-variant-numeric: tabular-nums;
}

.ovex-shop__side .ovex-filter__group--cats .ovex-filter__body > ul li > ul {
  flex: 1 0 100%;
}

/* فهرست محصول (پرامتیازترین‌ها): تصویر کنار عنوان، امتیاز و قیمت زیر آن */
.ovex-shop__side .ovex-filter__group--products .ovex-filter__body ul.product_list_widget li {
  display: block;
}

.ovex-shop__side .ovex-filter__group--products .ovex-filter__body ul.product_list_widget li > a {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  text-decoration: none;
  color: var(--ovex-ink);
  font-size: 12px;
  font-weight: 600;
  line-height: 1.7;
}

.ovex-shop__side .ovex-filter__group--products .ovex-filter__body ul.product_list_widget li .star-rating,
.ovex-shop__side .ovex-filter__group--products .ovex-filter__body ul.product_list_widget li .ovex-price,
.ovex-shop__side .ovex-filter__group--products .ovex-filter__body ul.product_list_widget li > ins,
.ovex-shop__side .ovex-filter__group--products .ovex-filter__body ul.product_list_widget li > del {
  margin-inline-start: 56px;
  font-size: 11.5px;
}
