.elementor-2348 .elementor-element.elementor-element-22a7379{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}.elementor-2348 .elementor-element.elementor-element-2f085a4{--display:flex;}.elementor-2348 .elementor-element.elementor-element-8dd26d0{--display:flex;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2348 .elementor-element.elementor-element-3800574 .elementor-heading-title{font-family:"Vazirmatn", Sans-serif;font-size:1.875rem;font-weight:700;line-height:2.25rem;color:var( --e-global-color-accent );}.elementor-2348 .elementor-element.elementor-element-9d12536{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-2348 .elementor-element.elementor-element-e3fafef{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2348 .elementor-element.elementor-element-455fdc0{--display:flex;}.elementor-widget-search{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search.e-focus{--e-search-input-color:var( --e-global-color-text );}.elementor-widget-search .elementor-pagination{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-2348 .elementor-element.elementor-element-12552f9 .e-search-input{background-color:var( --e-global-color-b2e554b );font-family:"Vazirmatn", Sans-serif;font-size:12px;border-radius:55px 55px 55px 55px;}.elementor-2348 .elementor-element.elementor-element-12552f9{--e-search-icon-submit-size:18px;--e-search-submit-icon-gap:0px;--e-search-submit-border-radius:55px 55px 55px 55px;--e-search-submit-padding:19px 19px 19px 19px;}.elementor-2348 .elementor-element.elementor-element-4fa738e{--display:flex;}.elementor-2348 .elementor-element.elementor-element-30afd84{--display:flex;}.elementor-widget-icon-box.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon-box.elementor-view-framed .elementor-icon, .elementor-widget-icon-box.elementor-view-default .elementor-icon{fill:var( --e-global-color-primary );color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-title, .elementor-widget-icon-box .elementor-icon-box-title a{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-icon-box .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box:has(:hover) .elementor-icon-box-title,
					 .elementor-widget-icon-box:has(:focus) .elementor-icon-box-title{color:var( --e-global-color-primary );}.elementor-widget-icon-box .elementor-icon-box-description{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-2348 .elementor-element.elementor-element-2620530 .elementor-icon-box-wrapper{gap:15px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-2348 .elementor-element.elementor-element-a40c376 .elementor-button-content-wrapper{flex-direction:row;}.elementor-2348 .elementor-element.elementor-element-0ccecaa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--gap:5px 5px;--row-gap:5px;--column-gap:5px;}.elementor-2348 .elementor-element.elementor-element-a6aadd5{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:flex-start;}.elementor-2348 .elementor-element.elementor-element-01cb8cc{width:100%;max-width:100%;}.elementor-2348 .elementor-element.elementor-element-a36d1a9{--display:flex;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-2348 .elementor-element.elementor-element-f875c03{--grid-columns:3;}.elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-loop-container{grid-auto-rows:1fr;}.elementor-2348 .elementor-element.elementor-element-f875c03 .e-loop-item > .elementor-section, .elementor-2348 .elementor-element.elementor-element-f875c03 .e-loop-item > .elementor-section > .elementor-container, .elementor-2348 .elementor-element.elementor-element-f875c03 .e-loop-item > .e-con, .elementor-2348 .elementor-element.elementor-element-f875c03 .e-loop-item .elementor-section-wrap  > .e-con{height:100%;}.elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-pagination{text-align:center;}.elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-pagination .page-numbers:not(.dots){color:var( --e-global-color-secondary );}body:not(.rtl) .elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-2348 .elementor-element.elementor-element-f875c03 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}@media(max-width:1024px){.elementor-2348 .elementor-element.elementor-element-22a7379{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2348 .elementor-element.elementor-element-f875c03{--grid-columns:1;}}@media(max-width:767px){.elementor-2348 .elementor-element.elementor-element-22a7379{--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2348 .elementor-element.elementor-element-2f085a4{--margin-top:20px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2348 .elementor-element.elementor-element-9d12536{--flex-direction:column-reverse;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2348 .elementor-element.elementor-element-0ccecaa{--margin-top:-15px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-2348 .elementor-element.elementor-element-f875c03{--grid-columns:1;}}@media(min-width:768px){.elementor-2348 .elementor-element.elementor-element-e3fafef{--width:25%;}.elementor-2348 .elementor-element.elementor-element-0ccecaa{--width:75%;}}@media(max-width:1024px) and (min-width:768px){.elementor-2348 .elementor-element.elementor-element-e3fafef{--width:40%;}.elementor-2348 .elementor-element.elementor-element-0ccecaa{--width:60%;}}/* Start custom CSS for container, class: .elementor-element-e3fafef *//* ============================================================
   LUMENA — Shop Sidebar (Search + Filters)
   Scope: #e3fafef (Sidebar Container)
   RTL Ready | Responsive | Elementor + WooCommerce
   ============================================================ */

/* ---------- Design Tokens (Local Scope) ---------- */
.elementor-element.elementor-element-e3fafef {
  --lumena-primary: #8E44AD;
  --lumena-secondary: #7B5EA7;
  --lumena-accent: #6B7FD4;
  --lumena-bg: #F8F7FF;
  --lumena-surface: #FFFFFF;
  --lumena-text: #1A1A2E;
  --lumena-text-soft: #6A6A6A;
  --lumena-border: rgba(142, 68, 173, .10);
  --lumena-input-bg: #FAFAFF;
  --lumena-input-border: #E5E7EB;
  --lumena-shadow-card: 0 10px 40px rgba(107, 127, 212, .08);
  --lumena-shadow-hover: 0 14px 30px rgba(142, 68, 173, .20);

  /* Layout */
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-family: "Vazirmatn", sans-serif;
  direction: rtl;
}

/* ============================================================
   1) SEARCH BOX — Unified with Sorting Card
   ============================================================ */
.elementor-element-e3fafef .e-search-form {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;

  /* یکسان با کارت مرتب‌سازی */
  background: var(--lumena-surface);
  border: 1px solid var(--lumena-border);
  border-radius: 20px;              /* هم‌اندازه با کارت مرتب‌سازی */
  padding: 10px 12px;
  box-shadow: var(--lumena-shadow-card);

  transition: box-shadow .3s ease, border-color .3s ease, transform .3s ease;
}

/* افکت hover هم مثل کارت مرتب‌سازی (lift) */
.elementor-element-e3fafef .e-search-form:hover {
  transform: translateY(-3px);
  box-shadow: var(--lumena-shadow-hover);
}

.elementor-element-e3fafef .e-search-form:focus-within {
  border-color: var(--lumena-primary);
  box-shadow: 0 0 0 4px rgba(142, 68, 173, .12);
}

/* Input field */
.elementor-element-e3fafef .e-search-input {
  flex: 1;
  width: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  color: var(--lumena-text);
  padding: 12px 16px;
  border-radius: 14px;
}

.elementor-element-e3fafef .e-search-input::placeholder {
  color: var(--lumena-text-soft);
  font-weight: 400;
}

/* Submit button */
.elementor-element-e3fafef .e-search-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  flex-shrink: 0;
  border: none;
  cursor: pointer;
  border-radius: 14px;
  background: linear-gradient(135deg, #8E44AD, #7B5EA7, #6B7FD4);
  box-shadow: 0 6px 16px rgba(142, 68, 173, .25);
  transition: transform .3s ease, box-shadow .3s ease;
}

.elementor-element-e3fafef .e-search-submit:hover {
  transform: translateY(-3px);
  box-shadow: var(--lumena-shadow-hover);
}

.elementor-element-e3fafef .e-search-submit svg {
  width: 18px;
  height: 18px;
  fill: #fff;
}

/* ============================================================
   2) FILTERS CARD WRAPPER
   ============================================================ */
.elementor-element-e3fafef .wpc-filters-widget-content {
  background: var(--lumena-surface);
  border: 1px solid var(--lumena-border);
  border-radius: 24px;
  box-shadow: var(--lumena-shadow-card);
  padding: 24px;
}

/* Hide the mobile open/close trigger on desktop */
.elementor-element-e3fafef .wpc-filters-open-button-container,
.elementor-element-e3fafef .wpc-widget-close-container,
.elementor-element-e3fafef .wpc-edit-filter-set {
  display: none;
}

/* ============================================================
   3) FILTER TITLES
   ============================================================ */
.elementor-element-e3fafef .wpc-filter-set-widget-title .widgettitle {
  font-size: 19px;
  font-weight: 800;
  color: var(--lumena-text);
  margin: 0 0 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--lumena-border);
}

.elementor-element-e3fafef .wpc-filter-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--lumena-primary);
  margin-bottom: 14px;
}

/* ============================================================
   4) CHECKBOX FILTER LIST
   ============================================================ */
.elementor-element-e3fafef .wpc-filters-ul-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.elementor-element-e3fafef .wpc-checkbox-item {
  border-radius: 14px;
  transition: background .25s ease;
}

.elementor-element-e3fafef .wpc-checkbox-item:hover {
  background: var(--lumena-bg);
}

.elementor-element-e3fafef .wpc-term-item-content-wrapper {
  display: flex;
  align-items: center;
  position: relative;
  padding: 6px 10px;
}

/* Native checkbox styling */
.elementor-element-e3fafef .wpc-checkbox-item input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  margin: 0;
  border: 1.5px solid var(--lumena-input-border);
  border-radius: 7px;
  background: var(--lumena-input-bg);
  cursor: pointer;
  position: relative;
  transition: all .25s ease;
}

.elementor-element-e3fafef .wpc-checkbox-item input[type="checkbox"]:hover {
  border-color: var(--lumena-primary);
}

.elementor-element-e3fafef .wpc-checkbox-item input[type="checkbox"]:checked {
  background: linear-gradient(135deg, #8E44AD, #7B5EA7, #6B7FD4);
  border-color: transparent;
}

/* Checkmark */
.elementor-element-e3fafef .wpc-checkbox-item input[type="checkbox"]:checked::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Label + Link */
.elementor-element-e3fafef .wpc-checkbox-item label {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  margin: 0;
  padding: 0 10px;
  cursor: pointer;
  font-size: 14.5px;
  font-weight: 500;
}

.elementor-element-e3fafef .wpc-filter-link {
  color: var(--lumena-text);
  text-decoration: none;
  transition: color .25s ease;
}

.elementor-element-e3fafef .wpc-checkbox-item:hover .wpc-filter-link {
  color: var(--lumena-primary);
}

/* Count badge */
.elementor-element-e3fafef .wpc-term-count {
  margin-inline-start: auto;
  font-size: 12px;
  font-weight: 600;
  color: var(--lumena-text-soft);
  background: var(--lumena-bg);
  padding: 2px 9px;
  border-radius: 20px;
  line-height: 1.6;
}

/* Dim empty categories */
.elementor-element-e3fafef .wpc-term-count-0 {
  opacity: .55;
}

/* ============================================================
   5) CONTROL BUTTONS (Apply / Cancel)
   ============================================================ */
.elementor-element-e3fafef .wpc-filters-widget-controls-wrapper {
  display: flex;
  gap: 12px;
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--lumena-border);
}

.elementor-element-e3fafef .wpc-filters-widget-controls-item {
  flex: 1;
}

/* Apply (Primary) */
.elementor-element-e3fafef .wpc-filters-apply-button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100%;
  padding: 13px 16px;
  border-radius: 14px;
  font-size: 14.5px;
  font-weight: 800;
  text-decoration: none;
  color: #fff;
  background: linear-gradient(135deg, #8E44AD, #7B5EA7, #6B7FD4);
  box-shadow: 0 6px 16px rgba(142, 68, 173, .22);
  transition: transform .3s ease, box-shadow .3s ease;
}

.elementor-element-e3fafef .wpc-filters-apply-button:hover {
  transform: translateY(-3px);
  box-shadow: var(--lumena-shadow-hover);
}

/* Cancel (Ghost) */
.elementor-element-e3fafef .wpc-filters-close-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 13px 16px;
  border-radius: 14px;
  font-size: 14.5px;
  font-weight: 700;
  text-decoration: none;
  color: var(--lumena-text-soft);
  background: var(--lumena-input-bg);
  border: 1px solid var(--lumena-input-border);
  transition: all .3s ease;
}

.elementor-element-e3fafef .wpc-filters-close-button:hover {
  color: var(--lumena-primary);
  border-color: var(--lumena-primary);
  background: var(--lumena-bg);
}

/* Spinner color */
.elementor-element-e3fafef .wpc-spinner {
  border-top-color: var(--lumena-primary) !important;
}

/* ============================================================
   6) RESPONSIVE — TABLET (≤ 768px)
   ============================================================ */
@media (max-width: 768px) {
  .elementor-element.elementor-element-e3fafef {
    gap: 18px;
  }

  .elementor-element-e3fafef .wpc-filters-widget-content {
    padding: 20px;
    border-radius: 20px;
  }

  .elementor-element-e3fafef .e-search-input {
    font-size: 14.5px;
    padding: 11px 14px;
  }

  .elementor-element-e3fafef .wpc-filter-set-widget-title .widgettitle {
    font-size: 17px;
  }
}

/* ============================================================
   7) RESPONSIVE — MOBILE (≤ 480px)
   ============================================================ */
@media (max-width: 480px) {
  .elementor-element.elementor-element-e3fafef {
    gap: 16px;
  }

  .elementor-element-e3fafef .wpc-filters-widget-content {
    padding: 16px;
    border-radius: 18px;
  }

  .elementor-element-e3fafef .e-search-submit {
    width: 42px;
    height: 42px;
  }

  .elementor-element-e3fafef .e-search-submit svg {
    width: 16px;
    height: 16px;
  }

  .elementor-element-e3fafef .e-search-input {
    font-size: 14px;
    padding: 10px 12px;
  }

  /* Stack control buttons vertically on small screens */
  .elementor-element-e3fafef .wpc-filters-widget-controls-wrapper {
    flex-direction: column;
  }

  .elementor-element-e3fafef .wpc-checkbox-item label {
    font-size: 14px;
  }
}
/* ===== LUMENA Support Box — scoped to #30afd84 ===== */

#30afd84.e-con {
  --lumena-primary: #6D28D9;
  --lumena-primary-soft: #f5f3ff;
  --lumena-btn-bg: #f3e8ff;
  --lumena-title: #1e293b;
  --lumena-desc: #64748b;

  background: linear-gradient(145deg, #ffffff, #fbf8ff);
  border: 1px solid rgba(109, 40, 217, 0.06);
  border-radius: 24px;
  padding: 30px 20px;
  box-shadow: 0 10px 30px -5px rgba(109, 40, 217, 0.08);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
              box-shadow 0.4s ease;
  position: relative;
  overflow: hidden;
  text-align: center;
}

/* نوار تزئینی گرادینت بالای باکس */
#30afd84.e-con::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  height: 4px;
  background: linear-gradient(90deg, #8b5cf6, #6D28D9);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 2;
}

#30afd84.e-con:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px -5px rgba(109, 40, 217, 0.15);
}

#30afd84.e-con:hover::before {
  opacity: 1;
}

/* ===== آیکون هدفون ===== */
#30afd84 .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#30afd84 .elementor-icon-box-icon {
  margin-bottom: 15px;
}

#30afd84 .elementor-icon-box-icon .elementor-icon {
  background-color: var(--lumena-primary-soft);
  color: var(--lumena-primary);
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-8deg);
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

#30afd84 .elementor-icon-box-icon .elementor-icon svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

#30afd84.e-con:hover .elementor-icon-box-icon .elementor-icon {
  transform: rotate(0deg) scale(1.08);
  background-color: var(--lumena-primary);
  color: #ffffff;
}

/* ===== تایپوگرافی ===== */
#30afd84 .elementor-icon-box-title {
  color: var(--lumena-title);
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 8px 0;
}

#30afd84 .elementor-icon-box-description {
  color: var(--lumena-desc);
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 24px 0;
}

/* ===== دکمه CTA ===== */
#30afd84 .elementor-widget-button .elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: var(--lumena-btn-bg);
  color: var(--lumena-primary);
  text-decoration: none;
  padding: 14px 20px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  width: 100%;
  box-sizing: border-box;
  border: none;
  transition: transform 0.3s ease, background-color 0.3s ease,
              color 0.3s ease, box-shadow 0.3s ease;
}

#30afd84 .elementor-button:hover,
#30afd84 .elementor-button:focus-visible {
  background: var(--lumena-primary);
  color: #ffffff;
  box-shadow: 0 8px 20px -6px rgba(109, 40, 217, 0.4);
  transform: translateY(-2px);
  outline: none;
}

#30afd84 .elementor-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(109, 40, 217, 0.35);
}

#30afd84 .elementor-button-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

/* رفع جهت آیکون در حالت RTL */
#30afd84 .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

/* ===== LUMENA Support Box — scoped to .elementor-element-30afd84 ===== */

.elementor-element-30afd84 {
  --lumena-primary: #6D28D9;
  --lumena-primary-soft: #f5f3ff;
  --lumena-title: #1e293b;
  --lumena-desc: #64748b;

  background: linear-gradient(145deg, #ffffff, #fbf8ff);
  border: 1px solid rgba(109, 40, 217, 0.06);
  border-radius: 24px;
  padding: 30px 20px;
  box-shadow: 0 10px 30px -5px rgba(109, 40, 217, 0.08);
  transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275),
              box-shadow 0.4s ease;
  position: relative;
  overflow: hidden;
  text-align: center;
}

/* نوار تزئینی گرادینت بالای باکس */
.elementor-element-30afd84::before {
  content: "";
  position: absolute;
  top: 0;
  inset-inline: 0;
  height: 4px;
  background: linear-gradient(90deg, #8b5cf6, #6D28D9);
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 2;
}

.elementor-element-30afd84:hover {
  transform: translateY(-6px);
  box-shadow: 0 15px 35px -5px rgba(109, 40, 217, 0.15);
}

.elementor-element-30afd84:hover::before {
  opacity: 1;
}

/* ===== آیکون هدفون (وسط‌چین) ===== */
.elementor-element-30afd84 .elementor-icon-box-wrapper {
  text-align: center;
}

.elementor-element-30afd84 .elementor-icon-box-icon {
  margin: 0 auto 15px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.elementor-element-30afd84 .elementor-icon-box-icon .elementor-icon {
  background-color: var(--lumena-primary-soft);
  color: var(--lumena-primary);
  width: 64px;
  height: 64px;
  border-radius: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: rotate(-8deg);
  transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.elementor-element-30afd84 .elementor-icon-box-icon .elementor-icon svg {
  width: 30px;
  height: 30px;
  fill: currentColor;
}

.elementor-element-30afd84:hover .elementor-icon-box-icon .elementor-icon {
  transform: rotate(0deg) scale(1.08);
  background-color: var(--lumena-primary);
  color: #ffffff;
}

/* ===== تایپوگرافی ===== */
.elementor-element-30afd84 .elementor-icon-box-title {
  color: var(--lumena-title);
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 8px 0;
}

.elementor-element-30afd84 .elementor-icon-box-description {
  color: var(--lumena-desc);
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 24px 0;
}

/* ===== دکمه CTA (سفید/خاکستری) ===== */
.elementor-element-30afd84 .elementor-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: #ffffff !important;
  color: var(--lumena-primary) !important;
  text-decoration: none;
  padding: 14px 20px;
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 4px 12px -4px rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, background-color 0.3s ease,
              color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.elementor-element-30afd84 .elementor-button:hover,
.elementor-element-30afd84 .elementor-button:focus-visible {
  background: var(--lumena-primary) !important;
  color: #ffffff !important;
  border-color: var(--lumena-primary) !important;
  box-shadow: 0 8px 20px -6px rgba(109, 40, 217, 0.4);
  transform: translateY(-2px);
  outline: none;
}

.elementor-element-30afd84 .elementor-button-icon svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.elementor-element-30afd84 .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-a6aadd5 *//* ============================================================
   LUMENA — Sorting Widget (مرتب‌سازی محصولات)
   Scope: #a6aadd5 (Sorting Container ONLY)
   RTL | Responsive | Elementor + WooCommerce
   ============================================================ */

/* ---------- Design Tokens (Local Scope) ---------- */
.elementor-element.elementor-element-a6aadd5 {
  --lumena-primary: #8E44AD;
  --lumena-secondary: #7B5EA7;
  --lumena-accent: #6B7FD4;
  --lumena-bg: #F8F7FF;
  --lumena-surface: #FFFFFF;
  --lumena-text: #1A1A2E;
  --lumena-text-soft: #6A6A6A;
  --lumena-border: rgba(142, 68, 173, .10);
  --lumena-input-bg: #FAFAFF;
  --lumena-input-border: #E5E7EB;
  --lumena-shadow-card: 0 10px 40px rgba(107, 127, 212, .08);
  --lumena-shadow-hover: 0 14px 30px rgba(142, 68, 173, .20);

  font-family: "Vazirmatn", sans-serif;
  direction: rtl;
}

/* ============================================================
   1) CARD WRAPPER — کارت مرتب‌سازی
   ============================================================ */
.elementor-element-a6aadd5 .widget_wpc_sorting_widget {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 14px;
  background: var(--lumena-surface);
  border: 1px solid var(--lumena-border);
  border-radius: 20px;
  box-shadow: var(--lumena-shadow-card);
  padding: 16px 22px;
  transition: box-shadow .3s ease;
}

.elementor-element-a6aadd5 .widget_wpc_sorting_widget:hover {
  box-shadow: var(--lumena-shadow-hover);
}

/* ============================================================
   2) TITLE — عنوان «مرتب‌سازی بر اساس»
   ============================================================ */
.elementor-element-a6aadd5 .widget_wpc_sorting_widget .widgettitle {
  margin: 0;
  font-size: 16px;
  font-weight: 800;
  color: var(--lumena-text);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* آیکن کوچک تزئینی قبل از عنوان */
.elementor-element-a6aadd5 .widget_wpc_sorting_widget .widgettitle::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-color: var(--lumena-primary);
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 6h18M6 12h12M10 18h4'/></svg>") center / contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 6h18M6 12h12M10 18h4' stroke='%238E44AD' stroke-width='2.2' fill='none' stroke-linecap='round'/></svg>") center / contain no-repeat;
}

/* ============================================================
   3) FORM
   ============================================================ */
.elementor-element-a6aadd5 .wpc-sorting-form {
  margin: 0;
  flex: 1;
  min-width: 200px;
}

/* ============================================================
   4) SELECT — کشوی مرتب‌سازی
   ============================================================ */
.elementor-element-a6aadd5 .wpc-orderby-select {
  width: 100%;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  font-family: inherit;
  font-size: 14.5px;
  font-weight: 600;
  color: var(--lumena-text);
  background-color: var(--lumena-input-bg);
  border: 1px solid var(--lumena-input-border);
  border-radius: 14px;
  padding: 12px 18px;
  cursor: pointer;
  line-height: 1.6;
  transition: border-color .3s ease, box-shadow .3s ease, background .3s ease;

  /* فلش سفارشی سمت چپ (RTL) */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6 9l6 6 6-6' stroke='%238E44AD' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: left 16px center;
  background-size: 16px;
  padding-left: 44px;
}

/* Hover */
.elementor-element-a6aadd5 .wpc-orderby-select:hover {
  border-color: var(--lumena-primary);
  background-color: var(--lumena-surface);
}

/* Focus */
.elementor-element-a6aadd5 .wpc-orderby-select:focus {
  outline: none;
  border-color: var(--lumena-primary);
  box-shadow: 0 0 0 4px rgba(142, 68, 173, .12);
}

/* استایل گزینه‌ها در منوی باز */
.elementor-element-a6aadd5 .wpc-orderby-select option {
  color: var(--lumena-text);
  background: var(--lumena-surface);
  font-weight: 500;
  padding: 10px;
}

/* عنصر کمکی پس از فرم */
.elementor-element-a6aadd5 .wpc-after-sorting-form:empty {
  display: none;
}

/* ============================================================
   5) RESPONSIVE — TABLET (≤ 768px)
   ============================================================ */
@media (max-width: 768px) {
  .elementor-element-a6aadd5 .widget_wpc_sorting_widget {
    padding: 14px 18px;
    border-radius: 18px;
    gap: 12px;
  }

  .elementor-element-a6aadd5 .widget_wpc_sorting_widget .widgettitle {
    font-size: 15px;
  }

  .elementor-element-a6aadd5 .wpc-orderby-select {
    font-size: 14px;
    padding: 11px 16px;
    padding-left: 42px;
  }
}

/* ============================================================
   6) RESPONSIVE — MOBILE (≤ 480px)
   ============================================================ */
@media (max-width: 480px) {
  .elementor-element-a6aadd5 .widget_wpc_sorting_widget {
    /* چیدمان عمودی: عنوان بالا، کشو پایین تمام‌عرض */
    flex-direction: column;
    align-items: stretch;
    padding: 14px 16px;
    border-radius: 16px;
    gap: 10px;
  }

  .elementor-element-a6aadd5 .widget_wpc_sorting_widget .widgettitle {
    font-size: 14.5px;
    justify-content: flex-start;
  }

  .elementor-element-a6aadd5 .wpc-sorting-form {
    width: 100%;
    min-width: 0;
  }

  .elementor-element-a6aadd5 .wpc-orderby-select {
    font-size: 14px;
    padding: 12px 14px;
    padding-left: 40px;
  }
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-f875c03 *//* ============================================================
   LUMENA — Pagination (Global)
   هر جای سایت که .elementor-pagination باشد اعمال می‌شود
   ============================================================ */

/* --- کانتینر اصلی --- */
.elementor-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;

  margin: 40px 0 0;
  padding: 0;

  font-family: "Vazirmatn", sans-serif;
  direction: rtl;
}

/* --- آیتم پایه (اعداد و لینک‌ها) --- */
.elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 46px;
  height: 46px;
  padding: 0 14px;

  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;

  color: #1A1A2E;
  background: #FFFFFF;
  border: 1px solid rgba(142, 68, 173, .10);
  border-radius: 14px;

  box-shadow: 0 10px 40px rgba(107, 127, 212, .08);
  transition: transform .3s ease, box-shadow .3s ease,
              background .3s ease, color .3s ease, border-color .3s ease;
}

/* --- حالت hover برای لینک‌های قابل کلیک --- */
.elementor-pagination a.page-numbers:hover {
  color: #8E44AD;
  border-color: rgba(142, 68, 173, .35);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(142, 68, 173, .20);
}

/* --- صفحه فعلی (گرادینت برند) --- */
.elementor-pagination .page-numbers.current {
  color: #FFFFFF;
  background: linear-gradient(135deg, #8E44AD, #7B5EA7, #6B7FD4);
  border-color: transparent;
  box-shadow: 0 14px 30px rgba(142, 68, 173, .20);
  cursor: default;
}

/* --- فلش‌های قبلی/بعدی (در صورت وجود) --- */
.elementor-pagination .page-numbers.prev,
.elementor-pagination .page-numbers.next {
  font-weight: 800;
  color: #6A6A6A;
}

.elementor-pagination a.page-numbers.prev:hover,
.elementor-pagination a.page-numbers.next:hover {
  color: #8E44AD;
}

/* --- سه‌نقطه (dots) --- */
.elementor-pagination .page-numbers.dots {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: #6A6A6A;
  cursor: default;
}

/* --- متن مخفی screen reader (دست نخورد، فقط مخفی بماند) --- */
.elementor-pagination .elementor-screen-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ============================================================
   ریسپانسیو
   ============================================================ */

/* تبلت */
@media (max-width: 768px) {
  .elementor-pagination {
    gap: 8px;
    margin-top: 32px;
  }
  .elementor-pagination .page-numbers {
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    font-size: 14px;
    border-radius: 12px;
  }
}

/* موبایل */
@media (max-width: 480px) {
  .elementor-pagination {
    gap: 6px;
    margin-top: 24px;
  }
  .elementor-pagination .page-numbers {
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    font-size: 13px;
    border-radius: 10px;
  }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-0ccecaa *//* ===========================
   LUMENA Shop Sorting
=========================== */

.elementor-element-def255e .widget_wpc_sorting_widget{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    padding:18px 24px;

    background:#fff;
    border:1px solid rgba(142,68,173,.10);
    border-radius:20px;

    box-shadow:0 10px 30px rgba(107,127,212,.08);
}

/* Title */

.elementor-element-def255e .widgettitle{
    margin:0 !important;

    font-family:'Vazirmatn',sans-serif;
    font-size:15px;
    font-weight:700;
    color:#1A1A2E;

    white-space:nowrap;
}

/* Form */

.elementor-element-def255e .wpc-sorting-form{
    margin:0;
}

/* Select */

.elementor-element-def255e .wpc-orderby-select{
    min-width:220px;
    height:50px;

    padding:0 18px;
    border-radius:14px;
    border:1px solid #E5E7EB;

    background:#FAFAFF;
    color:#1A1A2E;

    font-family:'Vazirmatn',sans-serif;
    font-size:14px;
    font-weight:600;

    cursor:pointer;
    transition:.3s ease;
}

/* Focus */

.elementor-element-def255e .wpc-orderby-select:focus{
    outline:none;

    border-color:#8E44AD;

    background:#fff;

    box-shadow:
        0 0 0 4px rgba(142,68,173,.12);
}

/* Hover */

.elementor-element-def255e .wpc-orderby-select:hover{
    border-color:#8E44AD;
}

/* ===========================
   Tablet
=========================== */

@media (max-width:768px){

.elementor-element-def255e .widget_wpc_sorting_widget{
    flex-direction:column;
    align-items:stretch;
    gap:12px;

    padding:18px;
}

.elementor-element-def255e .widgettitle{
    text-align:center;
}

.elementor-element-def255e .wpc-orderby-select{
    width:100%;
    min-width:100%;
}

}

/* ===========================
   Mobile
=========================== */

@media (max-width:480px){

.elementor-element-def255e .widget_wpc_sorting_widget{
    padding:15px;
    border-radius:16px;
}

.elementor-element-def255e .widgettitle{
    font-size:14px;
}

.elementor-element-def255e .wpc-orderby-select{
    height:48px;
    font-size:13px;
}

}/* End custom CSS */
/* Start custom CSS */.woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product p.price, .woocommerce:where(body:not(.woocommerce-uses-block-theme)) div.product span.price {
    color: #8c45ac;
    font-size: 1.25em;
}
.elementor-widget.elementor-list-item-link-full_width a {
    width: 100%;
    color: #6c7280;
}
/* ============================================================
   LUMENA — Pagination (Global) — نسخه مقاوم به override
   ============================================================ */

body .elementor-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 40px 0 0;
  padding: 0;
  font-family: "Vazirmatn", sans-serif;
  direction: rtl;
}

body .elementor-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  height: 46px;
  padding: 0 14px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  color: #1A1A2E;
  background: #FFFFFF;
  border: 1px solid rgba(142, 68, 173, .10);
  border-radius: 14px;
  box-shadow: 0 10px 40px rgba(107, 127, 212, .08);
  transition: transform .3s ease, box-shadow .3s ease,
              background .3s ease, color .3s ease, border-color .3s ease;
}

body .elementor-pagination a.page-numbers:hover {
  color: #8E44AD;
  border-color: rgba(142, 68, 173, .35);
  transform: translateY(-3px);
  box-shadow: 0 14px 30px rgba(142, 68, 173, .20);
}

/* صفحه فعلی — رنگ متن تثبیت‌شده */
body .elementor-pagination .page-numbers.current,
body .elementor-pagination .page-numbers.current * {
  color: #FFFFFF !important;
}
body .elementor-pagination .page-numbers.current {
  background: linear-gradient(135deg, #8E44AD, #7B5EA7, #6B7FD4) !important;
  border-color: transparent !important;
  box-shadow: 0 14px 30px rgba(142, 68, 173, .20);
  cursor: default;
}

body .elementor-pagination .page-numbers.prev,
body .elementor-pagination .page-numbers.next {
  font-weight: 800;
  color: #6A6A6A;
}
body .elementor-pagination a.page-numbers.prev:hover,
body .elementor-pagination a.page-numbers.next:hover {
  color: #8E44AD;
}

body .elementor-pagination .page-numbers.dots {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  color: #6A6A6A;
  cursor: default;
}

body .elementor-pagination .elementor-screen-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ریسپانسیو */
@media (max-width: 768px) {
  body .elementor-pagination { gap: 8px; margin-top: 32px; }
  body .elementor-pagination .page-numbers {
    min-width: 42px; height: 42px; padding: 0 12px;
    font-size: 14px; border-radius: 12px;
  }
}
@media (max-width: 480px) {
  body .elementor-pagination { gap: 6px; margin-top: 24px; }
  body .elementor-pagination .page-numbers {
    min-width: 38px; height: 38px; padding: 0 10px;
    font-size: 13px; border-radius: 10px;
  }
}/* End custom CSS */