/**
 * Rossoland custom styles — GSM.ir product page look
 * Loaded via mu-plugin; does not patch ionCube theme PHP.
 */

/*
 * Homepage features (rb-feats digitali): one row of 4 with short copy.
 * Theme uses flex + nowrap; grid keeps equal columns and allows wrap.
 */
.rb-feats.is-digitali {
  --rb-feats-cols: 4;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px 20px !important;
  justify-content: stretch !important;
  align-items: start !important;
}

.rb-feats.is-digitali .rb-feats__item {
  flex: none !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  align-items: flex-start !important;
}

.rb-feats.is-digitali .rb-feats__txt {
  white-space: normal !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.rb-feats.is-digitali .rb-feats__txt b,
.rb-feats.is-digitali .rb-feats__txt span {
  white-space: normal !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}

/* Card style: keep surface, drop outline */
.rb-feats.is-card .rb-feats__item {
  border: none !important;
  box-shadow: none !important;
}

/*
 * Stack feats icon wells: theme tints with accent (now Digikala red → pink).
 * Use site gray → white tokens instead.
 */
.rb-feats.is-stack .rb-feats__icon,
.rb-feats.is-stack .rb-feats__icon.has-tint {
  background: linear-gradient(
    160deg,
    var(--rafina-bg-2, var(--rsl-page-bg, #f7f8fa)) 0%,
    var(--rafina-card-bg, var(--rsl-card, #ffffff)) 100%
  ) !important;
  box-shadow: none !important;
}

.rb-feats.is-stack .rb-feats__icon.has-tint .rb-feats__tile {
  background: linear-gradient(
    160deg,
    var(--rafina-bg-2, var(--rsl-page-bg, #f7f8fa)) 0%,
    var(--rafina-card-bg, var(--rsl-card, #ffffff)) 100%
  ) !important;
}

@media (max-width: 900px) {
  .rb-feats.is-digitali {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px 16px !important;
  }
}

@media (max-width: 520px) {
  .rb-feats.is-digitali {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
}

:root {
  /*
   * Container width — reversible bump:
   * Set --rsl-container-add-cols to 0 to restore previous 1140px.
   * Extra = N × (one of 4 shop product columns of the base width).
   * The latest filter share is --rsl-flt-extra-cols (currently 0.2 of a shop col).
   */
  --rafina-container-base: 1140px;
  --rsl-shop-col: calc(var(--rafina-container-base) / 4); /* ~285px */
  --rsl-container-add-cols: 0.55; /* was 0.9; modest site-wide shrink */
  --rsl-flt-base: 240px; /* theme .rafina-archive-layout > .rf-flt */
  --rsl-flt-extra-cols: 0.2; /* was 0.3; modest filter shrink */
  --rsl-flt-width: calc(
    var(--rsl-flt-base) + var(--rsl-shop-col) * var(--rsl-flt-extra-cols)
  ); /* → ~297px */
  --rafina-container: calc(
    var(--rafina-container-base) + var(--rsl-shop-col) *
      var(--rsl-container-add-cols)
  );
  /* → ~1297px while add-cols=0.55; 1140px when add-cols=0 */
  --rsl-page-bg: #f7f8fa;
  --rsl-card: #ffffff;
  --rsl-ink: #020617;
  --rsl-muted: #64748b;
  --rsl-line: #e3e8ef;
  --rsl-line-2: #cbd5e1;
  /* Brand accent — Digikala red (token names kept for compatibility) */
  --rsl-blue: #ef394e;
  --rsl-blue-600: #c8102e;
  --rsl-blue-soft: #fff0f3;
  --rsl-blue-soft-10: rgba(239, 57, 78, 0.1);
  /* Shared soft brand surface — active product tabs + installment hover */
  --rsl-blue-tint: #fdecef;
  /* Filter accordion chevron — rest / hover / open */
  --rsl-flt-chev-bg: var(--rsl-page-bg);
  --rsl-flt-chev-fg: var(--rsl-muted);
  --rsl-flt-chev-bg-hover: var(--rsl-blue-tint);
  --rsl-flt-chev-fg-hover: var(--rsl-blue);
  --rsl-flt-chev-bg-on: var(--rsl-blue-soft);
  --rsl-flt-chev-fg-on: var(--rsl-blue);
  /* Success green — calmer than neon #22c55e; soft wash for chips */
  --rsl-green: #16a34a;
  --rsl-green-soft: #f2faf4;
  --rsl-green-soft-10: rgba(22, 163, 74, 0.1);
  --rsl-radius: 24px;
  --rsl-radius-sm: 16px;
  /* Home hero offset under header — survives theme updates */
  --rsl-home-hero-gap: 0;
  /* Sticky panels under fixed header (cart summary / filter / product cards) */
  --rsl-sticky-top: calc(var(--header-h, 72px) + 2rem);
  /* Home modules (offers / banners / rails): one standard gap between sections */
  --rsl-home-section-gap: 40px;
  /* Home cattiles — pinned by category icon (order-independent) */
  --rsl-cat-pin-headphones: #eb9140; /* orange soft */
  --rsl-cat-pin-watch: #cea858; /* gold soft */
  --rsl-cat-pin-mobile: #a484b8; /* lilac soft */
  --rsl-cat-pin-laptop: #c75a62; /* red soft */
  --rsl-cat-pin-accessories: #da6894; /* pink soft */
  --rsl-cat-pin-gadget: #9caa5c; /* moss soft */
  --rsl-cat-pin-av: #3ea6e0; /* screen blue soft */
  --rsl-cat-pin-camping: #c49256; /* russet soft */
  --rsl-cat-pin-more: #111827;
  --rsl-cat-pin-icon: #ffffff;
  /* legacy aliases (nth fallback) */
  --rsl-cat-pin-1: var(--rsl-cat-pin-headphones);
  --rsl-cat-pin-2: var(--rsl-cat-pin-watch);
  --rsl-cat-pin-3: var(--rsl-cat-pin-mobile);
  --rsl-cat-pin-4: var(--rsl-cat-pin-laptop);
  --rsl-cat-pin-5: var(--rsl-cat-pin-accessories);
  --rsl-cat-pin-6: var(--rsl-cat-pin-gadget);
  --rsl-cat-pin-7: var(--rsl-cat-pin-av);
  --rafina-border-2: #e3e8ef;
  --rafina-line-soft: var(--rafina-border-2, #e3e8ef);
  --rafina-success-color: var(--rsl-green);
  --rafina-success-bg: var(--rsl-green-soft);
  --rafina-success: 22 163 74;
}

/* Keep light soft green even if theme attr is dark (page canvas is light) */
html[data-rafina-theme="dark"] {
  --rafina-success-color: var(--rsl-green, #16a34a);
  --rafina-success-bg: var(--rsl-green-soft, #f2faf4);
  --rafina-success: 22 163 74;
}

.hover\:bg-brand-500\/5:hover {
  background-color: var(--rsl-blue-soft, #fff0f3) !important;
}

.text-brand-600 {
  color: var(--rafina-mp-tab-on, var(--rafina-accent-2)) !important;
}

/* Theme maps Black.woff as format(woff2) — browser may skip it. Load correctly. */
@font-face {
  font-family: "Alibaba Black";
  src: url("../fonts/Alibaba-Black.woff") format("woff");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* Page canvas — same gray as shop (homepage included) */
html,
body,
body #page,
body .site,
body main,
body.home,
body.front-page,
body.home #page,
body.front-page #page,
body.home .site,
body.front-page .site,
body.home main,
body.front-page main,
body.home .rb-page,
body.front-page .rb-page,
body.home .rb-page__inner,
body.front-page .rb-page__inner,
body.single-product,
body.single-product #page,
body.woocommerce-shop,
body.tax-product_cat,
body.tax-product_tag,
body.post-type-archive-product,
body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account {
  background-color: var(--rsl-page-bg) !important;
}

html[data-rafina-theme="light"] body,
html:not([data-rafina-theme="dark"]) body,
html[data-rafina-theme="light"] body.home,
html[data-rafina-theme="light"] body.front-page,
html:not([data-rafina-theme="dark"]) body.home,
html:not([data-rafina-theme="dark"]) body.front-page {
  background-color: var(--rsl-page-bg) !important;
}

/*
 * Homepage header→slider gap.
 * Builder panel spaceTop is already 0; theme still adds first-block offset.
 * Custom gap locked to 0 (was 28px).
 */
body.home .rb-page.is-tpl-home .rb-page__inner > .rb-block:first-child:has(.rafina-hero-wrap),
body .rb-page.is-tpl-home .rb-page__inner > .rb-block:first-child:has(.rafina-hero-wrap) {
  --rb-space-top: 0px;
  --rb-shift-top: var(--rsl-home-hero-gap, 0);
  margin-block-start: var(--rsl-home-hero-gap, 0) !important;
}

/* Homepage slider→categories: one standard gap (theme stacked ~78px) */
body.home .rb-page.is-tpl-home .rafina-hero-wrap,
body .rb-page.is-tpl-home .rafina-hero-wrap {
  margin-block-end: 0 !important;
}

body.home .rb-page.is-tpl-home .rb-page__inner > .rb-block:has(.rafina-cats--circle),
body .rb-page.is-tpl-home .rb-page__inner > .rb-block:has(.rafina-cats--circle) {
  --rb-space-top: 0px;
  margin-block-start: 0 !important;
  /* Extra air before the next home module (offers / rails) */
  margin-block-end: 28px !important;
}

body.home .rb-page.is-tpl-home .rafina-cats--circle,
body.home .rb-page.is-tpl-home .rafina-cats-section.rafina-cats--circle,
body .rb-page.is-tpl-home .rafina-cats--circle,
body .rb-page.is-tpl-home .rafina-cats-section.rafina-cats--circle {
  margin-block-start: 28px !important;
  margin-block-end: 0 !important;
}

/*
 * Home section rhythm: one standard gap between modules.
 * Theme stacks rb-block (22px) + section self-margins (24–32px) unevenly;
 * collapse those and use --rsl-home-section-gap instead.
 */
body.home .rb-page.is-tpl-home .rb-page__inner > .rb-block:not(:first-child):not(:has(.rafina-cats--circle)),
body .rb-page.is-tpl-home .rb-page__inner > .rb-block:not(:first-child):not(:has(.rafina-cats--circle)) {
  --rb-space-top: 0px;
  margin-block-start: var(--rsl-home-section-gap, 40px) !important;
}

body.home .rb-page.is-tpl-home .rb-page__inner > .rb-block:not(:first-child):not(:has(.rafina-cats--circle)) > :first-child,
body .rb-page.is-tpl-home .rb-page__inner > .rb-block:not(:first-child):not(:has(.rafina-cats--circle)) > :first-child {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

body.home .rb-page.is-tpl-home .rafina-offers-section,
body.home .rb-page.is-tpl-home .rafina-banner-row-section,
body.home .rb-page.is-tpl-home .rafina-deals,
body.home .rb-page.is-tpl-home .rafina-drail-section,
body.home .rb-page.is-tpl-home .rb-products,
body .rb-page.is-tpl-home .rafina-offers-section,
body .rb-page.is-tpl-home .rafina-banner-row-section,
body .rb-page.is-tpl-home .rafina-deals,
body .rb-page.is-tpl-home .rafina-drail-section,
body .rb-page.is-tpl-home .rb-products {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

/* Home banners: same corner curve as product-slider offers box */
body.home .rb-image__box,
.rb-page.is-tpl-home .rb-image__box,
body.home .rafina-banner-row__item,
.rb-page.is-tpl-home .rafina-banner-row__item {
  border-radius: 24px !important;
  overflow: hidden !important;
}

body.home .rb-image__box img,
.rb-page.is-tpl-home .rb-image__box img,
body.home .rafina-banner-row__item img,
.rb-page.is-tpl-home .rafina-banner-row__item img {
  border-radius: inherit !important;
}

/*
 * TEST: selected home image banners — full page width, no radius.
 * 612361-1 = جانبی خودرو (زرد) · 612359 = خانه هوشمند (قرمز)
 * Scoped to these uploads only; remove if the look is rejected.
 */
body.home .rb-block:has(.rb-image img[src*="612361-1"]) > .rafina-container,
.rb-page.is-tpl-home .rb-block:has(.rb-image img[src*="612361-1"]) > .rafina-container,
body.home .rb-block:has(.rb-image img[src*="612359"]) > .rafina-container,
.rb-page.is-tpl-home .rb-block:has(.rb-image img[src*="612359"]) > .rafina-container {
  max-width: none !important;
  width: 100% !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}

body.home .rb-image:has(img[src*="612361-1"]),
.rb-page.is-tpl-home .rb-image:has(img[src*="612361-1"]),
body.home .rb-image:has(img[src*="612361-1"]) .rb-image__box,
.rb-page.is-tpl-home .rb-image:has(img[src*="612361-1"]) .rb-image__box,
body.home .rb-image:has(img[src*="612359"]),
.rb-page.is-tpl-home .rb-image:has(img[src*="612359"]),
body.home .rb-image:has(img[src*="612359"]) .rb-image__box,
.rb-page.is-tpl-home .rb-image:has(img[src*="612359"]) .rb-image__box {
  width: 100% !important;
  max-width: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body.home .rb-image:has(img[src*="612361-1"]) img,
.rb-page.is-tpl-home .rb-image:has(img[src*="612361-1"]) img,
body.home .rb-image:has(img[src*="612359"]) img,
.rb-page.is-tpl-home .rb-image:has(img[src*="612359"]) img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  border-radius: 0 !important;
}

/*
 * Builder products block (.rb-products) — panel layout element.
 * Styles are element-scoped (any page). Not shop archive.
 * Title chrome like .rafina-drail__title; cards like shop chrome.
 */
.rb-products {
  width: 100% !important;
  max-width: calc(var(--rafina-container, 1220px) - 1.5rem) !important;
  margin-inline: auto !important;
  padding: 20px 16px 16px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  position: relative !important;
}

@media (min-width: 640px) {
  .rb-products {
    max-width: calc(var(--rafina-container, 1220px) - 2.5rem) !important;
    padding: 20px 20px 16px !important;
  }
}

.rb-products__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
}

.rb-products__head .rb-products__title {
  margin: 0 !important;
  min-width: 0 !important;
}

/* Same view-all chrome as .rafina-drail__all / محبوب‌ترین‌ها */
.rb-products__more {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.rb-products__more::after {
  content: none !important;
  display: none !important;
}

.rb-products__more > span {
  font-weight: 700 !important;
  color: inherit !important;
}

.rb-products__more svg {
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  color: inherit !important;
  flex: 0 0 auto !important;
}

.rb-products__more:hover,
.rb-products__more:focus-visible {
  color: var(--rsl-blue-600, #c8102e) !important;
}

.rb-products__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: right !important;
}

.rb-products__title::before {
  content: "" !important;
  display: inline-block !important;
  width: 3px !important;
  height: 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e),
    var(--rsl-blue-600, #c8102e)
  ) !important;
  flex: 0 0 auto !important;
}

@media (min-width: 640px) {
  .rb-products__title {
    font-size: 18px !important;
  }
}

.rb-products__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  width: 100% !important;
}

@media (min-width: 640px) {
  .rb-products__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 960px) {
  .rb-products__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

/* Cards inside this builder element only (not .rafina-product-card) */
.rb-products .rb-pcard {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px 14px 18px !important;
  overflow: visible !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  /* Internal grid lines only — drop outer edges of last col / last row */
  border-inline-end: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  border-bottom: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  box-shadow: none !important;
  color: #0f172a !important;
  transform: none !important;
  transition: none !important;
}

@media (min-width: 960px) {
  .rb-products__grid > .rb-pcard:nth-child(5n) {
    border-inline-end: none !important;
  }

  .rb-products__grid
    > .rb-pcard:nth-child(5n + 1):nth-last-child(-n + 5),
  .rb-products__grid
    > .rb-pcard:nth-child(5n + 1):nth-last-child(-n + 5)
    ~ .rb-pcard {
    border-bottom: none !important;
  }
}

@media (min-width: 640px) and (max-width: 959px) {
  .rb-products__grid > .rb-pcard:nth-child(3n) {
    border-inline-end: none !important;
  }

  .rb-products__grid
    > .rb-pcard:nth-child(3n + 1):nth-last-child(-n + 3),
  .rb-products__grid
    > .rb-pcard:nth-child(3n + 1):nth-last-child(-n + 3)
    ~ .rb-pcard {
    border-bottom: none !important;
  }
}

@media (max-width: 639px) {
  .rb-products__grid > .rb-pcard:nth-child(2n) {
    border-inline-end: none !important;
  }

  .rb-products__grid
    > .rb-pcard:nth-child(2n + 1):nth-last-child(-n + 2),
  .rb-products__grid
    > .rb-pcard:nth-child(2n + 1):nth-last-child(-n + 2)
    ~ .rb-pcard {
    border-bottom: none !important;
  }
}

.rb-products .rb-pcard:hover,
.rb-products .rb-pcard:focus-within {
  transform: none !important;
  box-shadow: none !important;
  background: #fff !important;
}

.rb-products .rb-pcard__img {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 4px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.rb-products .rb-pcard__img img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}

.rb-products .rb-pcard__off {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 24px !important;
  padding: 0 8px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  pointer-events: none !important;
}

.rb-products .rb-pcard .rsl-card-colors {
  margin: 2px 0 10px !important;
}

.rb-products .rb-pcard__body {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  padding: 0 !important;
  margin: 0 !important;
  min-width: 0 !important;
  background: transparent !important;
}

.rb-products .rb-pcard__name {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 0 !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-align: right !important;
  text-decoration: none !important;
}

.rb-products .rb-pcard__buy {
  display: block !important;
  margin-top: auto !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: none !important;
}

.rb-products .rb-pcard__cart,
.rb-products .rb-pcard .rf-cact {
  display: none !important;
}

.rb-products .rb-pcard .rsl-drail-card__pricerow {
  margin-top: 14px !important;
}

.rb-products .rb-pcard .rf-price,
.rb-products .rb-pcard__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: inherit !important;
  order: 1;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: inherit !important;
}

.rb-products .rb-pcard .rf-price__now,
.rb-products .rb-pcard .rf-price__now .amount,
.rb-products .rb-pcard .rf-price__now bdi {
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rb-products .rb-pcard .rf-price__now .woocommerce-Price-currencySymbol {
  margin-inline-start: 4px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rb-products .rb-pcard .rf-price__was,
.rb-products .rb-pcard .rf-price__was .amount,
.rb-products .rb-pcard .rf-price__was bdi,
.rb-products .rb-pcard .rf-price__was del {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

/* Line 1: sale/now — Line 2: was (before discount) */
.rb-products .rb-pcard .rf-price > .rf-price__now {
  order: 1 !important;
}
.rb-products .rb-pcard .rf-price > .rf-price__was {
  order: 2 !important;
}

.rb-products .rb-pcard .rf-price__was .woocommerce-Price-currencySymbol {
  display: none !important;
}

.rb-products .rb-pcard .rsl-drail-card__pricerow > .rf-drail-card__off,
.rb-products .rb-pcard > .rf-drail-card__off {
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
}

/*
 * Products skin: rsl_skin=center → data-rsl-skin="center"
 * Digikala-like: two white panels (3×2 each), centered tiles.
 * Never key off title text.
 */
.rb-products[data-rsl-skin="center"] {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

.rb-products[data-rsl-skin="center"] .rb-products__title {
  margin: 0 0 14px !important;
  padding-inline: 4px !important;
}

.rb-products[data-rsl-skin="center"] .rb-products__panels {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
}

@media (min-width: 960px) {
  .rb-products[data-rsl-skin="center"] .rb-products__panels {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

.rb-products[data-rsl-skin="center"] .rb-products__panel {
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  padding: 18px 10px 14px !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

@media (min-width: 640px) {
  .rb-products[data-rsl-skin="center"] .rb-products__panel {
    padding: 22px 14px 18px !important;
  }
}

/* Fallback before JS splits into panels */
.rb-products[data-rsl-skin="center"] > .rb-products__grid,
.rb-products[data-rsl-skin="center"] .rb-products__panel .rb-products__grid {
  display: grid !important;
  gap: 18px 8px !important;
  width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (min-width: 480px) {
  .rb-products[data-rsl-skin="center"] > .rb-products__grid,
  .rb-products[data-rsl-skin="center"] .rb-products__panel .rb-products__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 20px 10px !important;
  }
}

.rb-products[data-rsl-skin="center"] .rb-pcard,
.rb-products[data-rsl-skin="center"] .rb-pcard:hover,
.rb-products[data-rsl-skin="center"] .rb-pcard:focus-within {
  align-items: center !important;
  padding: 8px 6px 10px !important;
  border: none !important;
  border-inline-end: none !important;
  border-bottom: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

.rb-products[data-rsl-skin="center"] .rb-pcard__img {
  width: 72% !important;
  max-width: 112px !important;
  margin: 0 auto 14px !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;
}

.rb-products[data-rsl-skin="center"] .rb-pcard__img img {
  mix-blend-mode: multiply;
}

.rb-products[data-rsl-skin="center"] .rb-pcard__body {
  align-items: center !important;
  width: 100% !important;
}

.rb-products[data-rsl-skin="center"] .rb-pcard__name {
  margin: 0 0 12px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  color: var(--rsl-ink, #0f172a) !important;
  -webkit-line-clamp: 2;
}

.rb-products[data-rsl-skin="center"] .rb-pcard__buy {
  width: 100% !important;
  margin-top: auto !important;
}

.rb-products[data-rsl-skin="center"] .rb-pcard .rsl-drail-card__pricerow,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price,
.rb-products[data-rsl-skin="center"] .rb-pcard__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__now,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__now .amount,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__now bdi {
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.rb-products[data-rsl-skin="center"]
  .rb-pcard
  .rf-price__now
  .woocommerce-Price-currencySymbol {
  margin-inline-start: 4px !important;
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__was,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__was .amount,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__was bdi,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-price__was del,
.rb-products[data-rsl-skin="center"] .rb-pcard .rf-drail-card__off,
.rb-products[data-rsl-skin="center"] .rb-pcard > .rf-drail-card__off,
.rb-products[data-rsl-skin="center"] .rb-pcard__off,
.rb-products[data-rsl-skin="center"] .rb-pcard .rsl-card-colors {
  display: none !important;
}

/*
 * Products skin: rsl_skin=card → data-rsl-skin="card"
 * Digikala-like titled card + مشاهده همه; pair consecutive cards side-by-side.
 * Never key off title text.
 */
.rsl-products-pair {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: calc(var(--rafina-container, 1220px) - 1.5rem) !important;
  margin-inline: auto !important;
  /* Same home section rhythm as .rb-block (--rsl-home-section-gap) */
  margin-block-start: var(--rsl-home-section-gap, 40px) !important;
  margin-block-end: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  .rsl-products-pair {
    max-width: calc(var(--rafina-container, 1220px) - 2.5rem) !important;
  }
}

@media (min-width: 960px) {
  .rsl-products-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

.rsl-products-pair > .rb-block {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
}

.rb-products[data-rsl-skin="card"] {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  /* Match default .rb-products / drail head breathing room */
  padding: 20px 16px 18px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  .rb-products[data-rsl-skin="card"] {
    padding: 24px 20px 20px !important;
  }
}

.rb-products[data-rsl-skin="card"] .rb-products__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
}

/* Title chrome same as default .rb-products__title (جدیدترین‌ها): blue bar + weight */
.rb-products[data-rsl-skin="card"] .rb-products__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
  text-align: right !important;
}

.rb-products[data-rsl-skin="card"] .rb-products__title::before {
  content: "" !important;
  display: inline-block !important;
  width: 3px !important;
  height: 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e),
    var(--rsl-blue-600, #c8102e)
  ) !important;
  flex: 0 0 auto !important;
}

@media (min-width: 640px) {
  .rb-products[data-rsl-skin="card"] .rb-products__title {
    font-size: 18px !important;
  }
}

/* card more-link inherits .rb-products__more (= drail / محبوب‌ترین‌ها) */

.rb-products[data-rsl-skin="card"] .rb-products__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px 8px !important;
  width: 100% !important;
}

@media (min-width: 480px) {
  .rb-products[data-rsl-skin="card"] .rb-products__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px 10px !important;
  }
}

.rb-products[data-rsl-skin="card"] .rb-pcard:nth-child(n + 7) {
  display: none !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard,
.rb-products[data-rsl-skin="card"] .rb-pcard:hover,
.rb-products[data-rsl-skin="card"] .rb-pcard:focus-within {
  align-items: center !important;
  padding: 6px 4px 8px !important;
  border: none !important;
  border-inline-end: none !important;
  border-bottom: none !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard__img {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 58% !important;
  max-width: 78px !important;
  margin: 0 auto 10px !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard__img img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard__body {
  align-items: center !important;
  width: 100% !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard__name {
  margin: 0 0 10px !important;
  text-align: center !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  color: var(--rsl-ink, #0f172a) !important;
  -webkit-line-clamp: 2;
}

.rb-products[data-rsl-skin="card"] .rb-pcard__buy {
  width: 100% !important;
  margin-top: auto !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard .rsl-drail-card__pricerow,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price,
.rb-products[data-rsl-skin="card"] .rb-pcard__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__now,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__now .amount,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__now bdi {
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.rb-products[data-rsl-skin="card"]
  .rb-pcard
  .rf-price__now
  .woocommerce-Price-currencySymbol {
  margin-inline-start: 4px !important;
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
}

.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__was,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__was .amount,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__was bdi,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-price__was del,
.rb-products[data-rsl-skin="card"] .rb-pcard .rf-drail-card__off,
.rb-products[data-rsl-skin="card"] .rb-pcard > .rf-drail-card__off,
.rb-products[data-rsl-skin="card"] .rb-pcard__off,
.rb-products[data-rsl-skin="card"] .rb-pcard .rsl-card-colors {
  display: none !important;
}

/* Amazing offers title card: green gradient + smile-% icon (no star) */
.rafina-offers-title-card {
  background: linear-gradient(
    225deg,
    rgb(107, 185, 39) 0%,
    rgb(157, 196, 77) 100%
  ) !important;
}

.rafina-offers-title-card h2 {
  font-size: 20px !important;
}

/*
 * Dayprice title card: pink panel + digikala timer between title and link.
 * No hang-tag. Skin via data-rsl-skin only (survives block reorder by title sticky).
 */
.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card {
  position: relative !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 24px 16px !important;
  text-align: center !important;
  background: linear-gradient(
    225deg,
    rgb(210, 44, 78) 0%,
    rgb(238, 56, 78) 100%
  ) !important;
}

.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card h2 {
  display: block !important;
  margin: 0 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  white-space: normal !important;
  font-size: 17px !important;
  font-weight: 800 !important;
}

.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card > .rafina-offers-badge {
  order: 0 !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
}

.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card > h2 {
  order: 1 !important;
}

.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card > .rsl-dayprice-timer {
  order: 2 !important;
}

.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card > .rafina-offers-link {
  order: 3 !important;
  margin-top: 0 !important;
}

/* Countdown on plain offers title card (theme only rendered it for style=deal) */
.rafina-offers-title-card .rafina-deal__timer {
  display: flex !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 4px !important;
  margin: 10px 0 4px !important;
  color: #fff !important;
}

.rafina-offers-title-card .rafina-deal__timer b {
  display: inline-block !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  padding: 4px 2px !important;
  border-radius: 7px !important;
  background: rgba(0, 0, 0, 0.25) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-variant-numeric: tabular-nums !important;
  text-align: center !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.rafina-offers-title-card .rafina-deal__timer span {
  display: block !important;
  margin-top: 1px !important;
  font-size: 7px !important;
  font-weight: 400 !important;
  opacity: 0.85 !important;
}

/* Dayprice: hide native 4-unit timer; custom HH:MM:SS digikala-style */
.rafina-offers-section.rsl-offers--dayprice .rafina-offers-title-card > .rafina-deal__timer {
  display: none !important;
}

.rafina-offers-section.rsl-offers--dayprice .rsl-dayprice-timer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 3px;
  margin: 0;
  /* Left → right: روز : دقیقه : ثانیه */
  direction: ltr;
  pointer-events: none;
}

.rafina-offers-section.rsl-offers--dayprice .rsl-dayprice-timer b {
  display: grid;
  place-items: center;
  min-width: 28px;
  height: 28px;
  padding: 0 5px;
  border-radius: 8px;
  background: #fff;
  color: #1a1a2e;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.rafina-offers-section.rsl-offers--dayprice .rsl-dayprice-timer i {
  display: grid;
  place-items: center;
  height: 28px;
  padding: 0 1px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  font-style: normal;
  line-height: 1;
  opacity: 0.95;
}

/* Same smile-% icon as شگفت‌انگیز, kept above title inside the red title card */
.rafina-offers-section.rsl-offers--dayprice .rafina-offers-badge {
  display: block !important;
  background-image: url("../images/offers-smile-percent.svg") !important;
}

/* Hang-tag removed from dayprice skin */
.rafina-offers-section.rsl-offers--dayprice .rsl-dayprice-hang {
  display: none !important;
}

/* «نمایش همه»: underline only on hover, draws RTL (right → left) */
.rafina-offers-link {
  position: relative !important;
  border-bottom: 0 !important;
  text-decoration: none !important;
  padding-bottom: 3px !important;
  /* Theme used .85 white — solid line looked brighter than glyphs; unify */
  color: #fff !important;
}

.rafina-offers-link svg {
  color: #fff !important;
  stroke: #fff !important;
}

.rafina-offers-link::after {
  content: "";
  position: absolute;
  inset-inline: 0 0;
  inset-block-end: 0;
  height: 1px;
  background-color: #fff !important;
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 0.28s ease;
  pointer-events: none;
}

.rafina-offers-link:hover::after,
.rafina-offers-link:focus-visible::after {
  transform: scaleX(1);
}

@media (prefers-reduced-motion: reduce) {
  .rafina-offers-link::after {
    transition: none;
  }
}

/* Amazing offers outer box — no border; clip track edges */
.rafina-offers-box {
  position: relative;
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* Kill any theme divider between title card and first product card */
.rafina-offers-box > .rafina-offers-title-card {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.rafina-offers-track .rafina-offer-card:first-child,
.rafina-offers-track .rafina-offer-card:first-child:hover,
.rafina-offers-track .rafina-offer-card:first-child:focus-within {
  border: 0 !important;
  border-inline-start: none !important;
  border-inline-end: none !important;
  box-shadow: none !important;
}

.rafina-offers-track .rafina-offer-card:first-child::before,
.rafina-offers-track .rafina-offer-card:first-child::after {
  content: none !important;
  display: none !important;
}


/*
 * Special-offers rails (شگفت‌انگیز + پاییز…): 6 cards/view,
 * gray image pad, discount badge on image top.
 */
.rafina-offers-track {
  --rsl-offers-cols: 6;
  gap: 0 !important;
  padding-inline: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scroll-padding-inline: 0 !important;
  -webkit-overflow-scrolling: touch;
}

/* Free drag must not fight mandatory snap; JS settles to card edges on release */
.rafina-offers-track.is-rsl-rail-drag,
.rafina-offers-track.is-grabbing {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

.rafina-offers-track .rafina-offer-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  flex: 0 0 calc(100% / var(--rsl-offers-cols, 6)) !important;
  width: calc(100% / var(--rsl-offers-cols, 6)) !important;
  min-width: calc(100% / var(--rsl-offers-cols, 6)) !important;
  max-width: calc(100% / var(--rsl-offers-cols, 6)) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 12px 10px 14px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  border-inline-start: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  box-shadow: none !important;
  color: #0f172a !important;
  text-decoration: none !important;
  transform: none !important;
  transition: none !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

.rafina-offers-track .rafina-offer-card:first-child {
  border-inline-start: none !important;
}

.rafina-offers-track .rafina-offer-card:hover,
.rafina-offers-track .rafina-offer-card:focus-within {
  background: #fff !important;
  transform: none !important;
  box-shadow: none !important;
}

.rafina-offers-track .rafina-offer-card:not(:last-child)::after {
  display: none !important;
}

.rafina-offers-track .rafina-offer-card__image {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 10px !important;
  padding: 18px !important;
  background: var(--rsl-page-bg, #f3f4f6) !important;
  border: none !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.rafina-offers-track .rafina-offer-card__image img {
  width: 72% !important;
  height: 72% !important;
  max-width: 72% !important;
  max-height: 72% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply !important;
}

.rafina-offers-track .rafina-offer-card__sale-badge {
  display: none !important;
}

/* Discount badge on image — same chrome as محبوب‌ترین‌ها (.rf-drail-card__off) */
.rafina-offers-track .rafina-offer-card__image .rf-drail-card__off {
  position: absolute !important;
  top: 8px !important;
  inset-inline-start: 8px !important;
  inset-inline-end: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 24px !important;
  padding: 0 8px !important;
  border-radius: 999px !important;
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.rafina-offers-track .rafina-offer-card .rsl-card-colors {
  margin: -2px 0 8px !important;
}

.rafina-offers-track .rafina-offer-card__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  min-height: 0 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  text-align: right !important;
}

.rafina-offers-track .rafina-offer-card__buy {
  display: none !important;
}

.rafina-offers-track .rafina-offer-card .rsl-drail-card__pricerow {
  margin-top: auto !important;
}

.rafina-offers-track .rafina-offer-card .rsl-drail-card__pricerow > .rf-drail-card__off {
  display: none !important;
}

.rafina-offers-track .rafina-offer-card .rf-price,
.rafina-offers-track .rafina-offer-card__price {
  display: flex !important;
  /* DOM is was→now; reverse so sale price is line 1 */
  flex-direction: column-reverse !important;
  align-items: flex-end !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  order: 1;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: inherit !important;
}

.rafina-offers-track .rafina-offer-card .rf-price__now,
.rafina-offers-track .rafina-offer-card .rf-price__now .amount,
.rafina-offers-track .rafina-offer-card .rf-price__now bdi {
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rafina-offers-track .rafina-offer-card .rf-price__now .woocommerce-Price-currencySymbol {
  margin-inline-start: 4px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rafina-offers-track .rafina-offer-card .rf-price__was,
.rafina-offers-track .rafina-offer-card .rf-price__was .amount,
.rafina-offers-track .rafina-offer-card .rf-price__was bdi,
.rafina-offers-track .rafina-offer-card .rf-price__was del {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

.rafina-offers-track .rafina-offer-card .rf-price__was .woocommerce-Price-currencySymbol {
  display: none !important;
}

@media (max-width: 782px) {
  .rafina-offers-track {
    --rsl-offers-cols: 2;
  }
}

.rafina-offers-badge > svg {
  display: none !important;
}

/* Crisp vector smile-% — no frosted circle behind it */
.rafina-offers-badge {
  width: 64px !important;
  height: 64px !important;
  background: transparent !important;
  background-image: url("../images/offers-smile-percent.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  box-shadow: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  image-rendering: auto !important;
}

@media (max-width: 768px) {
  .rafina-offers-badge {
    width: 48px !important;
    height: 48px !important;
  }
}

/*
 * Header mega menu — GSM all-products via ::before.
 * Do NOT depend on an injected class/node: React rewrites the button on
 * hover/open and briefly drops custom classes / restores the hamburger SVG.
 */
button.rafina-mega-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  /* Same ink as header login «ورود | ثبت نام» */
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

button.rafina-mega-btn:hover,
button.rafina-mega-btn.open,
button.rafina-mega-btn:focus-visible,
button.rafina-mega-btn:active,
button.rafina-mega-btn[aria-expanded="true"] {
  color: #0f172a !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

/* Hide theme hamburger (any nesting). Final glyph is a CSS mask, not the icon font. */
button.rafina-mega-btn svg,
button.rafina-mega-btn .rsl-mega-icon,
button.rafina-mega-btn i.rl {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

/* GSM-style all-products: outline 3 tiles + search. Mask paints with CSS, no font swap. */
button.rafina-mega-btn::before {
  content: "" !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: currentColor !important;
  color: inherit !important;
  transform: none !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='13.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='3.5' y='13.5' width='7' height='7' rx='1'/%3E%3Ccircle cx='16.5' cy='16.5' r='3.15'/%3E%3Cpath d='M18.85 18.85L21.3 21.3'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='13.5' y='3.5' width='7' height='7' rx='1'/%3E%3Crect x='3.5' y='13.5' width='7' height='7' rx='1'/%3E%3Ccircle cx='16.5' cy='16.5' r='3.15'/%3E%3Cpath d='M18.85 18.85L21.3 21.3'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

button.rafina-mega-btn > span {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  transform: none !important;
  position: relative !important;
  top: 0 !important;
}

/*
 * Mega submenu panel — GSM-like columns:
 * see-all on top, titled columns with accent bar, quiet link list.
 */
.rafina-mega-panel {
  grid-template-columns: 260px minmax(520px, 1fr) !important;
  width: min(1100px, calc(100vw - 32px)) !important;
  max-width: min(1100px, calc(100vw - 32px)) !important;
  background: #fff !important;
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Bridge must cover real gap (~40px); theme ::before is only 12px */
.rafina-mega-panel::before {
  top: -48px !important;
  height: 48px !important;
}

.rafina-mega-panel.has-promo {
  grid-template-columns: 260px minmax(520px, 1fr) !important;
}

.rafina-mega-side {
  background: var(--rsl-page-bg, #f7f8fa) !important;
  border-inline-end: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  padding-block: 12px !important;
  padding-inline-start: 10px !important;
  padding-inline-end: 0 !important;
  /* Theme max-height + overflow:auto + overhang caused a phantom scrollbar */
  max-height: none !important;
  overflow: hidden !important;
}

.rafina-mega-side-item {
  color: #000 !important; /* trial: pure black; revert if not liked */
  font-size: 14px !important;
  font-weight: 600 !important;
  box-sizing: border-box !important;
  position: relative !important;
  /* Full width to the content seam — no gap, no overhang, no jump */
  margin-inline-end: 0 !important;
  border-block: 1px solid transparent !important;
  border-inline-start: 1px solid transparent !important;
  border-inline-end: 0 !important;
  border-start-start-radius: 10px !important;
  border-end-start-radius: 10px !important;
  border-start-end-radius: 0 !important;
  border-end-end-radius: 0 !important;
}

.rafina-mega-side-item:hover:not(.active) {
  background: var(--rsl-blue-soft-10, rgba(239, 57, 78, 0.1)) !important;
  color: #ef394e !important;
}

/* Active = white + 3-side border; cover divider with shadow (no ::after overflow) */
.rafina-mega-side-item.active {
  background: var(--rsl-card, #fff) !important;
  color: var(--rafina-accent, #ef394e) !important;
  border-block-color: var(--rafina-line-soft, #e3e8ef) !important;
  border-inline-start-color: var(--rafina-line-soft, #e3e8ef) !important;
  /* Physical left in RTL = toward content; covers the 1px side|content line */
  box-shadow: -1px 0 0 0 var(--rsl-card, #fff) !important;
  z-index: 2 !important;
}

.rafina-mega-side-item span {
  font-size: inherit !important;
}

.rafina-mega-side-item.active span {
  color: inherit !important;
}

.rafina-mega-side-item:hover:not(.active) span {
  color: inherit !important;
}

/* Kill any leftover overhang pseudo from older CSS */
.rafina-mega-side-item.active::after {
  content: none !important;
  display: none !important;
}

/* Theme chevron (left arrow) — hide */
.rafina-mega-side-item > svg {
  display: none !important;
}

.rafina-mega-content {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  /*
   * Vertical sync with sidebar rows:
   * see-all mid ↔ side item 1 mid; col-title mid ↔ side item 2 mid.
   * Side: pad-top 12 + item ~49px pitch; content pad-top tuned to match.
   */
  padding: 27px 22px 22px !important;
  min-width: 0 !important;
  background: #fff !important;
}

/* First paint: paint see-all before JS injects the real <a> */
.rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات";
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  box-sizing: border-box !important;
  position: relative !important;
  margin: 0 0 30px !important; /* pitch to 2nd sidebar row for col titles */
  /* Flush with col-title accent bar (no own bar); chevron on end */
  padding-block: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 22px !important;
  color: #ef394e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  pointer-events: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f172a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 15px 15px;
  background-position: left 0 center;
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/mobile"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات موبایل و تبلت";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/accessories"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات لوازم جانبی موبایل";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/headphone"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات هدفون و هندزفری";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/smartwatch"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات ساعت هوشمند";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/laptop"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات لپ تاپ";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/gadget"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات گجت";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="/product-category/camping"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات لوازم سفر و کمپینگ";
}

.rafina-mega-panel:has(.rafina-mega-side-item.active[href*="multimedia"])
  .rafina-mega-content:not(:has(> .rsl-mega-seeall))::before {
  content: "همه محصولات صوتی و تصویری";
}

.rafina-mega-content > .rsl-mega-seeall,
.rafina-mega-content > a.rsl-mega-seeall {
  display: inline-flex !important;
  align-items: center !important;
  align-self: flex-start !important;
  gap: 6px !important;
  position: relative !important;
  margin: 0 0 30px !important; /* pitch to 2nd sidebar row for col titles */
  /* Text starts on the col-title accent bar axis (no own bar) */
  padding-block: 0 !important;
  padding-inline-start: 0 !important;
  padding-inline-end: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  color: #ef394e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  line-height: 1.35 !important;
  transition: color 0.16s ease !important;
}

/* No accent bar on see-all — only column titles keep the accent pipe */
.rafina-mega-content > .rsl-mega-seeall::before {
  content: none !important;
  display: none !important;
}

.rafina-mega-content > .rsl-mega-seeall::after {
  content: "" !important;
  display: block !important;
  width: 15px !important;
  height: 15px !important;
  flex: 0 0 15px !important;
  background-color: #0f172a !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 6-6 6 6 6'/%3E%3C/svg%3E");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
}

.rafina-mega-content > .rsl-mega-seeall:hover,
.rafina-mega-content > a.rsl-mega-seeall:hover {
  color: #0b5fd6 !important;
}

.rafina-mega-cols {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-template-rows: none !important;
  grid-auto-flow: row !important;
  grid-auto-columns: unset !important;
  gap: 22px 22px !important;
  width: 100% !important;
  align-content: start !important;
}

.rafina-mega-cols:has(.rafina-mega-col:nth-child(1):last-child) {
  grid-template-columns: minmax(0, 1fr) !important;
}

.rafina-mega-cols:has(.rafina-mega-col:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.rafina-mega-cols:has(.rafina-mega-col:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.rafina-mega-col {
  min-width: 0 !important;
}

/* Column headings are labels only — not navigable links */
.rafina-mega-col a.rafina-mega-col-title,
.rafina-mega-col .rafina-mega-col-title,
.rafina-mega-group a.rafina-mega-group-title,
.rafina-mega-group .rafina-mega-group-title {
  display: block !important;
  position: relative !important;
  margin: 0 0 12px !important;
  padding-block: 0 !important;
  padding-inline-start: 10px !important;
  padding-inline-end: 0 !important;
  color: #0f172a !important;
  font-family: Alibaba, Tahoma, sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-decoration: none !important;
  cursor: default !important;
  pointer-events: none !important;
  -webkit-font-smoothing: antialiased;
}

.rafina-mega-col a.rafina-mega-col-title::before,
.rafina-mega-col .rafina-mega-col-title::before,
.rafina-mega-group a.rafina-mega-group-title::before,
.rafina-mega-group .rafina-mega-group-title::before {
  content: "" !important;
  position: absolute !important;
  inset-inline-start: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  width: 3px !important;
  height: 16px !important;
  margin-top: -8px !important;
  border-radius: 9999px !important;
  background: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e) 0%,
    var(--rsl-blue-600, #c8102e) 100%
  ) !important;
}

.rafina-mega-col a.rafina-mega-col-title:hover,
.rafina-mega-col .rafina-mega-col-title:hover,
.rafina-mega-group a.rafina-mega-group-title:hover,
.rafina-mega-group .rafina-mega-group-title:hover {
  color: #0f172a !important;
}

.rafina-mega-col ul {
  gap: 8px !important;
}

.rafina-mega-col a:not(.rafina-mega-col-title),
.rafina-mega-col span:not(.rafina-mega-col-title) {
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.rafina-mega-col a:hover {
  color: #ef394e !important;
}

/* Icon-as-promo looks broken; hide decorative promo in content */
.rafina-mega-content > .rafina-mega-promo {
  display: none !important;
}

@media (max-width: 900px) {
  .rafina-mega-panel,
  .rafina-mega-panel.has-promo {
    grid-template-columns: 1fr !important;
    width: min(100vw - 24px, 420px) !important;
  }
}

/*
 * Login weight/size = mega «تمامی محصولات» (theme ghost is 700).
 * Search keeps same weight/color family, slightly smaller type.
 * Classic singular pages link to /account — keep same chrome as /login.
 */
.rafina-header a.rafina-btn-ghost[href*="/login"],
.rafina-header a.rafina-btn-ghost[href*="/account"],
.rafina-header a.rafina-btn-ghost.rsl-hdr-login,
.rafina-header .rafina-user__btn {
  font-size: 15px !important;
  font-weight: 500 !important;
}

.rafina-header .rafina-search-wrap .rafina-nav-search input {
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  /* White search field: ink text (not header-text / light-on-dark tokens) */
  color: #0f172a !important;
  caret-color: var(--rsl-blue, #ef394e) !important;
}

.rafina-search-clear,
.rf-flt__q-clear,
.rafina-nav-search > button[aria-label="پاک کردن"],
.rf-flt button.rf-flt__q-clear {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
}

.rafina-header .rafina-nav-search input::-webkit-search-cancel-button,
.rafina-header .rafina-nav-search input::-webkit-search-decoration,
.rafina-header .rafina-nav-search input::-ms-clear,
.rf-flt__q-input::-webkit-search-cancel-button,
.rf-flt__q-input::-webkit-search-decoration,
.rf-flt__q-input::-ms-clear {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.rafina-header .rafina-search-wrap .rafina-nav-search input::placeholder {
  color: #475569 !important;
  opacity: 1 !important;
}

.rafina-header .rafina-search-wrap .rafina-nav-search input::-webkit-input-placeholder {
  color: #475569 !important;
  opacity: 1 !important;
}

/*
 * Cart icon was themed via --rafina-header-icon (fallback text-dim);
 * login text uses --rafina-header-text. Lock both to the same token.
 * Header: fully opaque solid (no glass, no translucent “matte”).
 */
html {
  --rafina-header-bg: var(--rafina-bg);
  --rafina-header-bg-solid: var(--rafina-bg);
}

.rafina-header,
html .rafina-header {
  --rafina-header-icon: var(--rafina-header-text, var(--rafina-text));
  --rafina-header-bg: var(--rafina-bg);
  --rafina-header-bg-solid: var(--rafina-bg);
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: var(--rafina-bg) !important;
  background-color: var(--rafina-bg) !important;
  border-bottom: 3px solid var(--rafina-border) !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
  /* Above .rsl-scrim so search/mega stay undimmed */
  z-index: 100 !important;
}

/*
 * DigiShahr-like page dim: when search is focused or mega is open,
 * darken everything except topbar + header (search box, suggest, mega).
 */
.rsl-scrim {
  position: fixed !important;
  inset: 0 !important;
  z-index: 50 !important;
  background: rgba(0, 0, 0, 0.31) !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.18s ease, visibility 0.18s ease;
}

body.rsl-scrim-on .rsl-scrim {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.rafina-topbar {
  position: relative !important;
  z-index: 60 !important;
}

.rafina-header.is-modern .rafina-nav-wrap,
.rafina-header.is-split .rafina-split-main,
html .rafina-header.is-modern .rafina-nav-wrap,
html .rafina-header.is-split .rafina-split-main {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: var(--rafina-bg) !important;
  background-color: var(--rafina-bg) !important;
}

/* Login / logged-in account + cart: same fill/border as search. Both use slate-900. */
.rafina-header a.rafina-btn-ghost[href*="/login"],
.rafina-header a.rafina-btn-ghost[href*="/account"],
.rafina-header a.rafina-btn-ghost.rsl-hdr-login,
.rafina-header .rafina-user__btn,
.rafina-header .rafina-icon-btn.rafina-hdr-cart,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"] {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid var(--rafina-border-2) !important;
  box-shadow: none !important;
  filter: none !important;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

.rafina-header a.rafina-btn-ghost[href*="/login"],
.rafina-header a.rafina-btn-ghost[href*="/account"],
.rafina-header a.rafina-btn-ghost.rsl-hdr-login,
.rafina-header .rafina-user__btn {
  color: #0f172a !important;
}

/* Header cart → icon font rl-shopping-bag (Material wght 300). Same ink as login. */
.rafina-header .rafina-icon-btn.rafina-hdr-cart,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #0f172a !important;
}

.rafina-header .rafina-cart-count {
  font-weight: 300 !important;
}

/* Classic PHP prints a zero badge; React header omits it until count > 0 */
.rafina-header .rafina-cart-count.is-zero {
  display: none !important;
}

.rafina-header .rafina-icon-btn.rafina-hdr-cart > svg,
.rafina-header .rafina-icon-btn.rafina-hdr-cart > i.rl,
.rafina-header .rafina-icon-btn.rafina-hdr-cart > .rsl-hdr-cart-icon,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"] > svg {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

.rafina-header .rafina-icon-btn.rafina-hdr-cart::before,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"]::before {
  content: "\f12b" !important; /* rl-shopping-bag, Material wght 300 */
  display: block !important;
  font-family: "rossoland" !important;
  font-style: normal !important;
  font-weight: normal !important; /* glyph itself is weight 300; font is not variable */
  font-size: 18px !important; /* same box as mega ::before */
  line-height: 1 !important;
  width: 18px !important;
  height: 18px !important;
  flex: 0 0 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #0f172a !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Login / logged-in account hover: keep white fill, accent border/text */
.rafina-header a.rafina-btn-ghost[href*="/login"]:hover,
.rafina-header a.rafina-btn-ghost[href*="/login"]:focus-visible,
.rafina-header a.rafina-btn-ghost[href*="/account"]:hover,
.rafina-header a.rafina-btn-ghost[href*="/account"]:focus-visible,
.rafina-header a.rafina-btn-ghost.rsl-hdr-login:hover,
.rafina-header a.rafina-btn-ghost.rsl-hdr-login:focus-visible,
.rafina-header.is-modern a.rafina-btn-ghost[href*="/login"]:hover,
.rafina-header.is-modern a.rafina-btn-ghost[href*="/login"]:focus-visible,
.rafina-header.is-digitali a.rafina-btn-ghost[href*="/login"]:hover,
.rafina-header .rafina-user__btn:hover,
.rafina-header .rafina-user__btn:focus-visible,
.rafina-header.is-modern .rafina-user__btn:hover,
.rafina-header.is-modern .rafina-user__btn:focus-visible {
  color: var(--rafina-header-link-hover, var(--rafina-accent-2)) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: var(--rafina-accent-2) !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Cart hover: blue fill on the button only; ::before stays transparent (white glyph). */
.rafina-header .rafina-icon-btn.rafina-hdr-cart:hover,
.rafina-header .rafina-icon-btn.rafina-hdr-cart:focus-visible,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"]:hover,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"]:focus-visible,
.rafina-header.is-modern .rafina-icon-btn.rafina-hdr-cart:hover,
.rafina-header.is-modern .rafina-icon-btn.rafina-hdr-cart:focus-visible,
.rafina-header.is-digitali .rafina-icon-btn.rafina-hdr-cart:hover {
  color: #ffffff !important;
  background: var(--rafina-header-link-hover, var(--rafina-accent-2)) !important;
  background-color: var(--rafina-header-link-hover, var(--rafina-accent-2)) !important;
  border-color: var(--rafina-header-link-hover, var(--rafina-accent-2)) !important;
  box-shadow: none !important;
  filter: none !important;
}

.rafina-header .rafina-icon-btn.rafina-hdr-cart:hover::before,
.rafina-header .rafina-icon-btn.rafina-hdr-cart:focus-visible::before,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"]:hover::before,
.rafina-header .rafina-nav-actions > a.rafina-icon-btn[href*="cart"]:focus-visible::before,
.rafina-header.is-modern .rafina-icon-btn.rafina-hdr-cart:hover::before,
.rafina-header.is-modern .rafina-icon-btn.rafina-hdr-cart:focus-visible::before,
.rafina-header.is-digitali .rafina-icon-btn.rafina-hdr-cart:hover::before {
  color: #ffffff !important;
  background: transparent !important;
  background-color: transparent !important;
}

/*
 * Logged-in account: same ghost chrome as «ورود | ثبت نام»,
 * only the label changes to «حساب کاربری».
 */
.rafina-header .rafina-user__btn {
  box-sizing: border-box !important;
  height: 42px !important;
  min-height: 42px !important;
  width: auto !important;
  min-width: 0 !important;
  padding: 0 18px !important;
  border-radius: 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  overflow: visible !important;
  font-family: inherit !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.rafina-header .rafina-user__btn > svg,
.rafina-header .rafina-user__btn > img {
  display: none !important;
}

.rafina-header .rafina-user__btn::before {
  content: none !important;
  display: none !important;
}

.rafina-header .rafina-user__btn::after {
  content: "حساب کاربری" !important;
  display: inline !important;
  font: inherit !important;
  color: inherit !important;
  line-height: 1 !important;
}

@media (max-width: 640px) {
  .rafina-header .rafina-user__btn {
    display: none !important;
  }
}

/*
 * Header wordmark sits on the text baseline, so the mark rides high
 * inside a taller line box. Center the image on the same line as the buttons.
 */
.rafina-header .rafina-logo-link {
  display: flex;
  align-items: center;
  line-height: 0;
}

.rafina-header .rafina-logo-img {
  display: block;
}

/*
 * Desktop header composition (premium):
 * - Logo + «تمامی محصولات» as a tight brand cluster
 * - Search absolutely centered in the container
 * - Actions on the opposite edge
 */
@media (min-width: 1024px) {
  .rafina-header .rafina-nav-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 14px !important;
    position: relative !important;
  }

  /* Brand cluster: logo → mega, ~14px (was ~99px via space-between) */
  .rafina-header .rafina-nav-wrap > .rafina-logo {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  .rafina-header .rafina-nav-wrap > .rafina-main-links {
    flex: 0 0 auto !important;
    gap: 0 !important;
    margin: 0 !important;
  }

  /* True center of header container (not the free space between sides) */
  .rafina-header .rafina-nav-wrap > .rafina-search-wrap.rafina-search-desktop,
  /* Classic singular pages: theme outputs bare .rafina-nav-search */
  .rafina-header .rafina-nav-wrap > .rafina-nav-search {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    flex: none !important;
    width: min(420px, 36%) !important;
    max-width: 420px !important;
    margin: 0 !important;
    z-index: 2;
  }

  /* Match cart / login button height (42px) */
  .rafina-header .rafina-search-wrap .rafina-nav-search,
  .rafina-header .rafina-nav-wrap > .rafina-nav-search {
    max-width: none !important;
    width: 100% !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
    box-sizing: border-box !important;
    /* Same solid fill + border as header cart button */
    background: #ffffff !important;
    background-color: #ffffff !important;
    border: 1px solid var(--rafina-border-2) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    isolation: isolate;
  }

  .rafina-header .rafina-search-wrap .rafina-nav-search input,
  .rafina-header .rafina-nav-wrap > .rafina-nav-search input {
    -webkit-appearance: textfield !important;
    appearance: textfield !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    height: 100% !important;
    color: #0f172a !important;
    caret-color: var(--rsl-blue, #ef394e) !important;
  }

  .rafina-header .rafina-search-wrap .rafina-nav-search input::placeholder,
  .rafina-header .rafina-nav-wrap > .rafina-nav-search input::placeholder {
    color: #475569 !important;
    opacity: 1 !important;
  }

  .rafina-header .rafina-search-wrap .rafina-nav-search input::-webkit-input-placeholder,
  .rafina-header .rafina-nav-wrap > .rafina-nav-search input::-webkit-input-placeholder {
    color: #475569 !important;
    opacity: 1 !important;
  }

  /* Icon sits between placeholder and ink; brand blue when focused */
  .rafina-header .rafina-search-wrap .rafina-nav-search > svg,
  .rafina-header .rafina-nav-wrap > .rafina-nav-search > svg {
    color: #475569 !important;
    transition: color 0.18s ease !important;
  }

  .rafina-header .rafina-search-wrap .rafina-nav-search:focus-within > svg,
  .rafina-header .rafina-nav-wrap > .rafina-nav-search:focus-within > svg {
    color: var(--rsl-blue, #ef394e) !important;
  }

  /* Actions to the far opposite edge */
  .rafina-header .rafina-nav-wrap > .rafina-nav-actions {
    flex: 0 0 auto !important;
    margin-inline-start: auto !important;
  }
}

/* Panel show_theme=false — hide toggle everywhere (classic singular headers still print it) */
.rafina-header .rafina-theme-toggle {
  display: none !important;
}

/* Top notice bar: full-bleed bg, content width = header container */
.rafina-topbar__inner {
  max-width: var(--rafina-container, 1220px) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 1.25rem !important; /* match .rafina-nav-wrap */
  box-sizing: border-box !important;
  align-items: center !important;
  gap: 10px !important;
}

/* Bold promo copy */
.rafina-topbar,
.rafina-topbar__text,
.rafina-topbar__side,
.rafina-topbar__centre,
.rafina-topbar__centre .rafina-topbar__text {
  font-weight: 700 !important;
}

/* Code chip — white pill, brand-blue label (like GSM promo badge) */
.rafina-topbar__btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 4px 12px !important;
  border: none !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  box-shadow: none !important;
}

.rafina-topbar__btn:hover,
.rafina-topbar__btn:focus-visible {
  background: #ffffff !important;
  color: var(--rsl-blue-600, #c8102e) !important;
}

/* Product frame uses soft gray like GSM */
.rafina-mp.rmp,
.rmp-grid {
  background: transparent !important;
}

/*
 * Product main column must match site container (header / slider / footer).
 * Theme ships max-w-[1320px] on .rafina-mp; site --rafina-container is 1140px.
 */
body.single-product .rafina-mp.rmp {
  background: transparent !important;
  max-width: var(--rafina-container, 1140px) !important;
  width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

/* Shared card surface — the three main product columns */
.rmp {
  --rmp-radius: var(--rsl-radius);
  --rmp-card: var(--rsl-card);
  --rmp-soft: var(--rsl-blue-soft);
  --rmp-line: var(--rsl-line);
  --rmp-ink: var(--rsl-ink);
  --rmp-muted: var(--rsl-muted);
}

/* Three main product columns — no border / no shadow */
.rmp-card,
.rmp-benefits,
.rmp-why {
  background: var(--rsl-card) !important;
  border: 0 !important;
  border-radius: var(--rsl-radius) !important;
  box-shadow: none !important;
}

/* Gallery column: white surface, no border / no shadow */
.rmp .rmp-left > div:first-child,
.rmp .rmp-left > div:first-child > div,
.rmp .rmp-left .group\/gal,
.rmp .rmp-left [class*="aspect-square"] {
  background: var(--rsl-card) !important;
  border-color: transparent !important;
  border-radius: var(--rsl-radius) !important;
}

.rmp .rmp-left > div:first-child {
  border: 0 !important;
  border-radius: var(--rsl-radius) !important;
  overflow: hidden;
  box-shadow: none !important;
}

.rmp .rmp-left > div:first-child > .min-w-0,
.rmp .rmp-left > div:first-child > div {
  border-radius: var(--rsl-radius) !important;
}

/*
 * Side columns stick while scrolling the taller middle card, then stop
 * flush with the middle column bottom (sticky containing block = stretched col).
 * overflow:clip keeps sticky paint inside .rmp-grid so cards cannot cover
 * «محصولات مشابه» (clip ≠ scrollport, so sticky still tracks the viewport).
 */
@media (min-width: 1024px) {
  /*
   * Product columns — gallery + buy equal; middle flexes.
   * Revert: --rsl-mp-side: 22.5rem and third track 300px
   *   (previous: minmax(0, 22.5rem) minmax(0, 1fr) 300px).
   */
  .rmp-grid {
    --rsl-mp-side: 24rem; /* ~384px; was gallery 22.5rem / buy 300px */
    align-items: stretch !important;
    grid-template-columns:
      minmax(0, var(--rsl-mp-side))
      minmax(0, 1fr)
      minmax(0, var(--rsl-mp-side)) !important;
    overflow-x: clip !important;
    overflow-y: clip !important;
  }

  .rmp-left,
  .rmp-grid > .min-w-0 {
    align-self: stretch !important;
    min-height: 100%;
    overflow: clip !important;
  }

  /* Sticky the gallery card itself */
  .rmp-left > .rsl-gallery-card,
  .rmp-left > div:first-child {
    position: sticky !important;
    top: var(--rsl-sticky-top, calc(var(--header-h, 72px) + 2rem)) !important;
    z-index: 1;
  }

  /* Theme puts sticky on an inner wrapper — disable so the card sticks as one unit */
  .rmp-left > div:first-child > .min-w-0[class*="sticky"],
  .rmp-left > div:first-child > [class*="lg:sticky"] {
    position: static !important;
    top: auto !important;
  }

  /*
   * Buy card: CSS sticky under header; stops when bottoms align with the
   * stretched column / middle card (لب مشخصات). No JS fixed affix — that
   * rewrote top every scroll and caused dock jitter (تقه).
   */
  .rmp-grid > .min-w-0 {
    position: relative !important;
  }

  .rmp-grid > .min-w-0 > .rmp-card:has(.rmp-price) {
    position: sticky !important;
    top: var(--rsl-sticky-top, calc(var(--header-h, 72px) + 2rem)) !important;
    z-index: 1;
    max-height: none !important;
    overflow: visible !important;
  }

  /*
   * One paint layer for the product row, a higher layer for everything
   * after it. Sticky sides stay inside the row and cannot cover «محصولات مشابه».
   * Do not set width, max-width, margin, or padding on the rail.
   */
  .rafina-mp.rmp > .rmp-grid {
    position: relative !important;
    z-index: 0 !important;
    isolation: isolate !important;
  }

  .rafina-mp.rmp > .rmp-grid ~ * {
    position: relative !important;
    z-index: 2 !important;
    isolation: isolate !important;
  }

  .rafina-mp.rmp > .rafina-drail-section.rsl-drail-above-tabs {
    background: #fff !important;
  }

  /*
   * Home template zeroes .rafina-drail-section margin (is-tpl-home).
   * Product rail needs that gap so sticky sides stop above it.
   * Width is unchanged.
   */
  body.single-product .rafina-mp.rmp > .rafina-drail-section.rsl-drail-above-tabs {
    margin-block-start: 1.5rem !important;
  }
}

/*
 * Thumbs row: theme uses px-6; side controls use start-3/end-3 (0.75rem).
 * Match horizontal inset so thumbs align with action pill + prev/next.
 */
.rmp-left :has(> .rafina-mp-thumbs) {
  padding-inline: 0.75rem !important;
}

/* Thumbs scrollbar: space above bar; thumb = --rmp-soft */
.rafina-mp-thumbs.scrollbar-thin,
.rafina-mp-thumbs {
  padding-bottom: 18px !important;
  color-scheme: light;
  scrollbar-width: thin !important;
  scrollbar-color: var(--rmp-soft) transparent !important;
}

.rafina-mp-thumbs.scrollbar-thin::-webkit-scrollbar,
.rafina-mp-thumbs::-webkit-scrollbar {
  height: 6px !important;
  width: 6px !important;
  background: transparent !important;
}

.rafina-mp-thumbs.scrollbar-thin::-webkit-scrollbar-track,
.rafina-mp-thumbs::-webkit-scrollbar-track {
  background: transparent !important;
  border-radius: 999px !important;
}

.rafina-mp-thumbs.scrollbar-thin::-webkit-scrollbar-thumb,
.rafina-mp-thumbs::-webkit-scrollbar-thumb {
  background: var(--rmp-soft) !important;
  border-radius: 999px !important;
  border: none !important;
  box-shadow: none !important;
}

.rafina-mp-thumbs.scrollbar-thin::-webkit-scrollbar-thumb:hover,
.rafina-mp-thumbs::-webkit-scrollbar-thumb:hover {
  background: var(--rmp-soft) !important;
}

/* Gallery thumbs — soft slate fill; blue border only when active */
.rafina-mp-thumbs > button {
  background: color-mix(
    in srgb,
    var(--rafina-gallery-muted, #7e8c9e) 8%,
    transparent
  ) !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
  transform: none !important;
  transition: none !important;
}

.rafina-mp-thumbs > button:hover {
  border-color: transparent !important;
  background: color-mix(
    in srgb,
    var(--rafina-gallery-muted, #7e8c9e) 8%,
    transparent
  ) !important;
}

.rafina-mp-thumbs > button.border-brand-500,
.rafina-mp-thumbs > button[class*="border-brand"],
.rafina-mp-thumbs > button.rsl-gal-thumb-on {
  border-width: 1px !important;
  border-color: var(--rsl-line-2) !important; /* #cbd5e1 — soft, not dark */
  background: color-mix(
    in srgb,
    var(--rafina-gallery-muted, #7e8c9e) 8%,
    transparent
  ) !important;
}

.rafina-mp-thumbs > button > img {
  transform: none !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

.rmp-left .group\/gal > span.absolute.bottom-3,
.rmp-left [class*="aspect-square"] > span.absolute.bottom-3.start-3 {
  display: none !important;
}

/* Sliders + gallery: browser pointer (like dgland), never grab/zoom */
.rafina-drag,
.rafina-hero-slider,
.rafina-hero-track,
.rafina-hero-slide,
.rafina-pslider-track,
.rafina-pslider-track *,
.rafina-pslider2-track,
.rafina-pslider2-track *,
.rafina-offers-track,
.rafina-offers-track *,
.rafina-cats-row,
.rafina-drail,
.rafina-drail *,
.rafina-digitali-row,
.rafina-mp-thumbs,
.rafina-bsec-track,
.rafina-bsec-dg-grid,
.rmp2-gal__list,
.rsl-gallery-surface,
.rmp-left .group\/gal,
.rmp-left [class*="aspect-square"] {
  cursor: pointer !important;
}

.rafina-drag.is-grabbing,
.rafina-hero-slider:active,
.rafina-pslider-track.is-grabbing,
.rafina-pslider-track.is-grabbing *,
.rafina-pslider2-track.is-grabbing,
.rafina-pslider2-track.is-grabbing *,
.rafina-offers-track.is-grabbing,
.rafina-offers-track.is-grabbing *,
.rafina-cats-row.is-grabbing,
.rafina-drail.is-grabbing,
.rafina-drail.is-grabbing *,
.rafina-digitali-row.is-grabbing,
.rafina-digitali-row.is-grabbing *,
.rafina-bsec-dg-grid.is-grabbing,
.rsl-gallery-surface.is-rsl-dragging,
.rsl-gallery-surface.is-rsl-dragging img,
.rmp-left .group\/gal.is-rsl-dragging,
.rmp-left .group\/gal.is-rsl-dragging img {
  cursor: pointer !important;
}

.rsl-gallery-surface img,
.rmp-left .group\/gal img,
.rmp-left [class*="aspect-square"] img {
  cursor: pointer !important;
  -webkit-user-drag: none !important;
  user-select: none;
}

.rafina-drag img {
  -webkit-user-drag: none !important;
}

/* Smooth drag like dgland: follow the pointer, no card-by-card snap
 * (offers track excluded — needs snap so borders don't peek mid-scroll) */
.rafina-drag:not(.rafina-offers-track),
.rafina-pslider-track,
.rafina-pslider2-track,
.rafina-digitali-row,
.rafina-drail,
.rafina-cats-row,
.rafina-bsec-dg-grid {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

.rafina-pslide-card,
.rf-drail-card,
.rafina-deal__card,
.rafina-shopcat {
  scroll-snap-align: none !important;
}

.rafina-drag.is-grabbing .rafina-pslide-card,
.rafina-pslider-track.is-rsl-rail-drag .rafina-pslide-card,
.rafina-digitali-row.is-rsl-rail-drag .rafina-deal__card,
.rafina-drail.is-rsl-rail-drag .rf-drail-card {
  transition: none !important;
  transform: none !important;
}

.rsl-gallery-surface,
.rmp-left .group\/gal,
.rmp-left [class*="aspect-square"] {
  touch-action: pan-y;
}

.rsl-gal-track {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: row;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: none;
  scroll-behavior: auto;
  scrollbar-width: none;
  direction: rtl;
  touch-action: pan-x;
}

.rsl-gal-track::-webkit-scrollbar {
  display: none;
}

.rsl-gal-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: grid;
  place-items: center;
  padding: 1.5rem;
  box-sizing: border-box;
}

.rsl-gal-slide img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.rsl-gallery-surface.rsl-gal-has-track > .absolute.inset-0 {
  visibility: hidden;
}

/* Gallery actions — GSM vertical soft pill (like / share / compare) */
.rsl-gal-actions,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 {
  background: #f1f5f9 !important;
  border-radius: 24px !important;
  padding: 12px 4px !important;
  gap: 8px !important;
  align-items: center !important;
  border: none !important;
  box-shadow: none !important;
  width: auto !important;
}

.rsl-gal-actions > button,
.rsl-gal-actions > .rsl-gal-action,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button {
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  color: var(--rsl-blue) !important;
  transform: none !important;
}

.rsl-gal-actions > button:hover,
.rsl-gal-actions > button:focus-visible,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:hover,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:focus-visible,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:hover,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:focus-visible {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: var(--rsl-blue-600) !important;
  transform: none !important;
}

.rsl-gal-actions > button:active,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:active,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:active {
  transform: scale(0.92) !important;
}

.rsl-gal-actions > button svg,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button svg,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button svg {
  display: none !important;
}

/* Instant Material icons via CSS (no wait for JS inject) */
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button::before,
.rsl-gal-actions > button::before {
  display: block !important;
  font-family: "rossoland" !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: inherit !important;
  speak: never;
}

.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="علاقه"]::before,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="لایک"]::before,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="wishlist" i]::before,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="favorite" i]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="علاقه"]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="لایک"]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="wishlist" i]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="favorite" i]::before,
.rsl-gal-actions > button[aria-label*="علاقه"]::before,
.rsl-gal-actions > button[aria-label*="لایک"]::before {
  content: "\f102" !important;
}

.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="اشتراک"]::before,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="share" i]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="اشتراک"]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="share" i]::before,
.rsl-gal-actions > button[aria-label*="اشتراک"]::before {
  content: "\f105" !important;
}

.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="مقایسه"]::before,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="compare" i]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="مقایسه"]::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button[aria-label*="compare" i]::before,
.rsl-gal-actions > button[aria-label*="مقایسه"]::before {
  content: "\f103" !important;
}

/* Avoid double glyph if JS already injected <i> */
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:has(> .rsl-gal-action-icon)::before,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button:has(> .rsl-gal-action-icon)::before,
.rsl-gal-actions > button:has(> .rsl-gal-action-icon)::before {
  content: none !important;
  display: none !important;
}

.rsl-gal-actions > button > .rsl-gal-action-icon.rl,
.rmp-left .group\/gal > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button > .rsl-gal-action-icon.rl,
.rmp-left [class*="aspect-square"] > .absolute.start-3.top-3.z-10.flex.flex-col.gap-2 > button > .rsl-gal-action-icon.rl {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: inherit !important;
  vertical-align: middle !important;
  speak: never;
}

.rsl-gal-actions > button > .rsl-gal-action-icon.rl-thumb-up:before {
  content: "\f102" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rsl-gal-actions > button > .rsl-gal-action-icon.rl-text-compare:before {
  content: "\f103" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rsl-gal-actions > button > .rsl-gal-action-icon.rl-share:before {
  content: "\f105" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

/* Buy / trust / pay nested boxes — white cards with soft blue tint when emphasized */
.rmp-card > div:has(> .rmp-paytitle) {
  display: none !important;
}

.rsl-rel {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}

.rsl-rel__title {
  margin: 0 0 4px !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.rsl-rel__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border: 1px solid var(--rsl-line, #e3e8ef);
  border-radius: 10px;
  background: var(--rsl-card, #fff);
  text-decoration: none !important;
  color: inherit !important;
}

.rsl-rel__item:hover .rsl-rel__name {
  color: var(--rsl-blue, #ef394e);
}

.rsl-rel__item img {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  object-fit: contain;
  border-radius: 8px;
  background: var(--rsl-page-bg, #f7f8fa);
}

.rsl-rel__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.rsl-rel__name {
  color: var(--rsl-ink, #0f172a);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.6;
}

.rsl-rel__price {
  color: var(--rsl-ink, #0f172a);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.5;
}

.rmp-pay {
  background: var(--rsl-card) !important;
  border: 1px solid var(--rsl-line) !important;
  border-radius: var(--rsl-radius-sm) !important;
}

.rmp-pay:hover {
  border-color: var(--rsl-blue) !important;
  background: var(--rsl-blue-tint, #fdecef) !important;
}

/* Selected option chips / version — GSM primary soft (not color pills) */
.rmp-fchips .is-active,
.rmp button.is-active:not(.rmp-swatch),
.rmp [aria-checked="true"]:not(.rmp-swatch),
.rmp .is-selected:not(.rmp-swatch) {
  border-color: var(--rsl-blue) !important;
  background: var(--rsl-blue-soft-10) !important;
  color: var(--rsl-blue-600) !important;
}

/* Color picker — GSM pills on first paint (theme ships empty 34px circles) */
.rmp-colors {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-bottom: 20px !important;
}

.rmp-opt-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-bottom: 10px !important;
}

.rmp-opt-title:has(+ .rmp-colors) {
  font-size: 0 !important;
  line-height: 0 !important;
}

.rmp-opt-title:has(+ .rmp-colors)::before {
  content: "رنگ";
  display: block;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
}

.rmp-colors .rmp-swatch {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  position: relative !important;
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 36px !important;
  max-height: none !important;
  inline-size: auto !important;
  block-size: auto !important;
  padding: 4px 12px !important;
  padding-inline-start: 34px !important;
  border-radius: 9999px !important;
  border: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  box-shadow: none !important;
  color: #475569 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  overflow: hidden !important;
  cursor: pointer;
  /* Keep theme inline background-color; white face + color hole via image overlay */
  background-image: radial-gradient(
    circle 9px at calc(100% - 16px) 50%,
    transparent 8px,
    var(--rafina-line-soft, #e3e8ef) 8px,
    var(--rafina-line-soft, #e3e8ef) 9px,
    #fff 9.5px
  ) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: 0 0 !important;
}

html[dir="ltr"] .rmp-colors .rmp-swatch {
  background-image: radial-gradient(
    circle 9px at 16px 50%,
    transparent 8px,
    var(--rafina-line-soft, #e3e8ef) 8px,
    var(--rafina-line-soft, #e3e8ef) 9px,
    #fff 9.5px
  ) !important;
}

.rmp-colors .rmp-swatch.is-on,
.rmp-colors .rmp-swatch.is-active,
.rmp-colors .rmp-swatch[aria-pressed="true"] {
  border-color: #ef394e !important;
  border-width: 1px !important;
  box-shadow: none !important;
  inline-size: auto !important;
  block-size: auto !important;
  width: auto !important;
  height: auto !important;
  border-radius: 9999px !important;
}

.rmp-colors .rmp-swatch:not(:has(.rsl-color-name))::after {
  content: attr(aria-label) !important;
  position: relative !important;
  z-index: 1;
  white-space: nowrap !important;
  color: #475569 !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  block-size: auto !important;
  background: none !important;
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

.rmp-colors .rmp-swatch:has(.rsl-color-dot) {
  background: #fff !important;
  background-image: none !important;
  overflow: visible !important;
  padding-inline-start: 12px !important;
}

.rmp-colors .rmp-swatch .rsl-color-dot {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  box-shadow: 0 0 0 1px var(--rafina-line-soft, #e3e8ef) !important;
  flex: none !important;
}

.rmp-colors .rmp-swatch .rsl-color-name {
  white-space: nowrap !important;
}

/* Spec highlight cards — GSM-style 2-col rows (icon + text) */
.rsl-specs-title {
  margin: 18px 0 8px !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: start !important;
}

.rmp-specs {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
  text-align: start !important;
}

.rmp-specs::before {
  content: "ویژگی‌های اصلی";
  grid-column: 1 / -1 !important;
  margin: 18px 0 8px !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-align: start !important;
}

.rsl-specs-title + .rmp-specs::before {
  content: none !important;
  display: none !important;
  margin: 0 !important;
}

.rmp-spec {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 10px !important;
  row-gap: 2px !important;
  align-items: center !important;
  justify-content: stretch !important;
  box-sizing: border-box !important;
  min-height: 0 !important;
  min-width: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: #0f172a !important;
  text-align: start !important;
}

.rmp-spec > svg {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  color: #64748b !important;
  flex: none !important;
}

.rmp-spec::before {
  content: none !important;
  display: none !important;
}

.rmp-spec > b,
.rmp-spec > strong,
.rmp-spec > .font-bold {
  grid-column: 2 !important;
  grid-row: 1 !important;
}

.rmp-spec > span {
  grid-column: 2 !important;
  grid-row: 2 !important;
}

.rmp-spec .rsl-spec-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 2px !important;
  min-width: 0 !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
}

.rmp-spec strong,
.rmp-spec b,
.rmp-spec .font-bold,
.rmp-spec .rsl-spec-body strong,
.rmp-spec .rsl-spec-body b,
.rmp-spec .rsl-spec-body .font-bold {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  color: #0f172a !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  text-align: start !important;
  overflow-wrap: anywhere !important;
}

.rmp-spec span,
.rmp-spec .rsl-spec-body span {
  display: block !important;
  margin: 0 !important;
  width: 100% !important;
  color: #94a3b8 !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-align: start !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 480px) {
  .rmp-specs {
    grid-template-columns: 1fr !important;
  }
}

/* Product soft links — same blue + hover for specs / contact / read-more */
.rmp-more,
.rmp-contact,
.rmp-card:has(.rmp-price) .rmp-contact,
.rafina-mp button.group\/m,
.rafina-mp button.group\/s,
.rafina-mp button.text-brand-600.font-semibold {
  color: var(--rsl-blue, #ef394e) !important;
  transition: color 0.15s ease !important;
}

.rmp-more {
  margin-top: 6px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.rmp-more svg,
.rmp-more:hover svg,
.rafina-mp button.group\/m svg,
.rafina-mp button.group\/s svg,
.rafina-mp button.text-brand-600.font-semibold svg {
  color: inherit !important;
  stroke: currentColor !important;
}

.rmp-more:hover,
.rmp-contact:hover,
.rmp-card:has(.rmp-price) .rmp-contact:hover,
.rafina-mp button.group\/m:hover,
.rafina-mp button.group\/s:hover,
.rafina-mp button.text-brand-600.font-semibold:hover {
  color: var(--rsl-blue-600, #c8102e) !important;
}

/* Highlighted selectable boxes (warranty / installments / options) */
.rsl-selected-box,
.rmp-pay.rsl-selected-box {
  background: var(--rsl-blue-soft-10) !important;
  border-color: var(--rsl-blue) !important;
}

.rsl-gallery-card,
.rsl-gallery-surface {
  background: var(--rsl-card) !important;
  border-color: var(--rsl-line) !important;
  border-radius: var(--rsl-radius) !important;
}

/* Feature checklist — blue ticks, not green */
.rmp-sum li:before {
  color: var(--rsl-blue) !important;
}

/* Hide redundant «مشخصات کلیدی» bullets (already shown in .rmp-specs cards) */
.rmp-sum-title,
.rmp-sum {
  display: none !important;
}

.rmp-sum li svg,
.rmp-trust svg,
.rmp-benefit svg,
.rmp-ship svg,
.rmp-store svg {
  color: var(--rsl-blue);
  stroke: var(--rsl-blue);
}

/* Primary CTA — only the button, not the .rmp-cta wrapper
   (wrapper also hosts .rafina-mp-incart after add-to-cart) */
.rmp .rmp-card .rmp-cta {
  background: transparent !important;
  border: none !important;
  color: inherit !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.rmp .rmp-card button[type="submit"],
.rmp .rmp-card .single_add_to_cart_button,
.rmp .rmp-card .rmp-cta > .rmp-btn,
.rmp .rmp-card .rmp-cta button.rmp-btn,
.rmp .rmp-card a.button,
.rmp button.rmp-cta {
  background: var(--rsl-blue) !important;
  border-color: var(--rsl-blue) !important;
  color: #fff !important;
  border-radius: var(--rsl-radius-sm) !important;
}

.rmp button.rmp-cta:hover,
.rmp .rmp-card .single_add_to_cart_button:hover,
.rmp .rmp-card .rmp-cta > .rmp-btn:hover,
.rmp .rmp-card .rmp-cta button.rmp-btn:hover {
  background: var(--rsl-blue-600) !important;
  border-color: var(--rsl-blue-600) !important;
}

/* In-cart qty between + / remove — keep dark text on white chip */
.rafina-mp-incart,
.rmp .rmp-card .rmp-cta .rafina-mp-incart {
  color: #0f172a !important;
  background: var(--rsl-blue-soft) !important;
}

.rafina-mp-incart span.w-8,
.rafina-mp-incart .tabular-nums,
.rmp .rmp-card .rmp-cta .rafina-mp-incart span.w-8,
.rmp .rmp-card .rmp-cta .rafina-mp-incart .tabular-nums {
  color: #0f172a !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Hide «در سبد شما» row; keep only cart link */
.rafina-mp-incart .min-w-0 > p,
.rafina-mp-incart > div.min-w-0 > p,
.rmp-cta .rafina-mp-incart p.flex {
  display: none !important;
}

.rafina-mp-incart a[href="/cart"],
.rafina-mp-incart a[href*="/cart"],
.rmp2-buy.is-incart a[href*="/cart"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: #475569 !important; /* ink-500 — مشکی قبلی */
  font-size: 11.5px !important;
  font-weight: 300 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

/* Qty field has no compiled w-10/border-0, so the native input
   stays ~155px with a gray inset border and squeezes the cart link. */
.rafina-mp-incart > .flex,
.rmp2-buy.is-incart > .flex {
  flex: 0 0 auto !important;
  width: auto !important;
}

.rafina-mp-incart > .min-w-0,
.rmp2-buy.is-incart > .min-w-0 {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: max-content !important;
}

.rafina-mp-incart input,
.rmp2-buy.is-incart input {
  width: 2.5rem !important;
  max-width: 2.5rem !important;
  flex: 0 0 2.5rem !important;
  box-sizing: border-box !important;
  border: 0 !important;
  outline: none !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-align: center !important;
  color: var(--rsl-ink, #0f172a) !important;
  appearance: none !important;
}

.rafina-mp-incart input:focus,
.rmp2-buy.is-incart input:focus {
  border-radius: 8px !important;
  box-shadow: 0 0 0 2px var(--rsl-blue, #ef394e) !important;
}

.rafina-mp-incart a[href*="/cart"]:hover,
.rmp2-buy.is-incart a[href*="/cart"]:hover {
  text-decoration: none !important;
  color: #334155 !important;
}

.rafina-mp-incart a[href*="/cart"] > .rsl-cart-link-label,
.rmp2-buy.is-incart a[href*="/cart"] > .rsl-cart-link-label {
  text-decoration: none !important;
}

.rafina-mp-incart a[href*="/cart"]:hover > .rsl-cart-link-label,
.rmp2-buy.is-incart a[href*="/cart"]:hover > .rsl-cart-link-label {
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.rafina-mp-incart a[href*="/cart"] > .rsl-cart-link-icon.rl,
.rmp2-buy.is-incart a[href*="/cart"] > .rsl-cart-link-icon.rl {
  display: inline-block !important;
  width: 13px !important;
  height: 13px !important;
  font-size: 13px !important;
  line-height: 1 !important;
  color: inherit !important;
  flex: none !important;
  speak: never;
  direction: ltr !important; /* prevent RTL glyph mirror of North West */
  unicode-bidi: isolate !important;
  transform: none !important;
  text-decoration: none !important;
}

.rafina-mp-incart a[href*="/cart"] > .rsl-cart-link-icon.rl-north-west:before,
.rmp2-buy.is-incart a[href*="/cart"] > .rsl-cart-link-icon.rl-north-west:before {
  content: "\f11a" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
  direction: ltr !important;
}

/* In-cart qty: Add 2 / Minimize — same blue, optically aligned */
.rafina-mp-incart button[aria-label*="افزایش"],
.rafina-mp-incart button[aria-label*="کاهش"],
.rafina-mp-incart button[aria-label*="حذف"],
.rmp2-buy.is-incart button[aria-label*="افزایش"],
.rmp2-buy.is-incart button[aria-label*="کاهش"],
.rmp2-buy.is-incart button[aria-label*="حذف"] {
  color: var(--rmp-primary, #ef394e) !important;
}

.rafina-mp-incart button:has(> .rsl-qty-icon),
.rmp2-buy.is-incart button:has(> .rsl-qty-icon) {
  display: grid !important;
  place-items: center !important;
}

.rafina-mp-incart button:has(> .rsl-qty-icon) > svg,
.rmp2-buy.is-incart button:has(> .rsl-qty-icon) > svg {
  display: none !important;
}

.rafina-mp-incart button > .rsl-qty-icon.rl,
.rmp2-buy.is-incart button > .rsl-qty-icon.rl {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  font-size: 16px !important;
  line-height: 16px !important;
  text-align: center !important;
  color: var(--rmp-primary, #ef394e) !important;
  speak: never;
  direction: ltr !important;
  unicode-bidi: isolate !important;
}

.rafina-mp-incart button > .rsl-qty-icon.rl-add-2:before,
.rmp2-buy.is-incart button > .rsl-qty-icon.rl-add-2:before {
  content: "\f11b" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rafina-mp-incart button > .rsl-qty-icon.rl-minimize:before,
.rmp2-buy.is-incart button > .rsl-qty-icon.rl-minimize:before {
  content: "\f11d" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

/* Lower product tabs / description cards */
body.single-product .rmp ~ section,
body.single-product [class*="rmp-tabs"],
body.single-product .rmp-tabs,
body.single-product .woocommerce-tabs,
.rafina-mp .rmp-desc,
.rafina-mp [class*="product-desc"],
.rafina-mp .rmp-section {
  background: var(--rsl-card);
  border: 1px solid var(--rsl-line);
  border-radius: var(--rsl-radius);
}

/* Shop / archive cards sit on the same gray canvas */
body.woocommerce-shop .rafina-page,
body.tax-product_cat .rafina-page,
body.post-type-archive-product .rafina-page,
body.woocommerce-shop main,
body.tax-product_cat main {
  background: transparent;
}

/* DigiShahr-like footer — soft gray panel */
footer.rafina-footer,
.rafina-footer,
body:not(.home) footer,
body:not(.home) .rafina-footer {
  background-color: var(--rsl-ft-bg, #f7f8fa) !important;
  color: var(--rsl-ft-text, #334155) !important;
  border: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.rafina-footer.rsl-footer-dg {
  --rsl-ft-bg: #f7f8fa;
  --rsl-ft-bar-bg: #f7f8fa;
  --rsl-ft-line: var(--rafina-border-2, #e3e8ef);
  --rsl-ft-ink: #0f172a;
  --rsl-ft-text: #334155;
  --rsl-ft-muted: #64748b;
  --rafina-footer-bottom-bg: var(--rsl-ft-bg);
  --rafina-footer-bg: var(--rsl-ft-bg);
  --rafina-footer-text: var(--rsl-ft-muted);
  --rafina-footer-bottom-color: var(--rsl-ft-text);
  --rafina-footer-field-bg: #ffffff;
  --rafina-footer-field-text: #0f172a;
  --rafina-footer-field-line: var(--rsl-ft-line);
  --rafina-footer-social-icon: var(--rsl-ft-muted);
  padding: 0 !important;
  background: var(--rsl-ft-bg) !important;
  background-color: var(--rsl-ft-bg) !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Footer content = same width as header / body container */
.rafina-footer.rsl-footer-dg .rafina-container,
.rafina-footer.rsl-footer-dg > .rafina-container,
footer.rafina-footer.rsl-footer-dg .rafina-container {
  --rsl-ft-pad-x: 20px;
  background: transparent !important;
  border: 0 !important;
  border-top: 0 !important;
  border-right: 0 !important;
  border-bottom: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  color: var(--rsl-ft-text, #334155) !important;
  padding-top: 32px !important;
  padding-bottom: 24px !important;
  padding-left: var(--rsl-ft-pad-x) !important;
  padding-right: var(--rsl-ft-pad-x) !important;
  max-width: var(--rafina-container, 1140px) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 640px) {
  .rafina-footer.rsl-footer-dg .rafina-container,
  .rafina-footer.rsl-footer-dg > .rafina-container,
  footer.rafina-footer.rsl-footer-dg .rafina-container {
    --rsl-ft-pad-x: 16px;
  }
}

.rafina-footer.rsl-footer-dg .rafina-footer-grid,
.rafina-footer.rsl-footer-dg .rafina-footer-brand,
.rafina-footer.rsl-footer-dg .rafina-footer-col,
.rafina-footer.rsl-footer-dg .rafina-footer-bottom,
.rafina-footer.rsl-footer-dg .rafina-footer-news,
.rafina-footer.rsl-footer-dg .rafina-footer-contact {
  display: none !important;
}

.rsl-ft-top {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  padding-bottom: 24px !important;
  margin-bottom: 24px !important;
  border-bottom: 1px solid var(--rsl-ft-line, #e3e8ef) !important;
}

.rsl-ft-top__logo {
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
  min-width: 120px !important;
  min-height: 28px !important;
  /* TEMP: keep space, hide from view */
  visibility: hidden !important;
  pointer-events: none !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-top__logo .rafina-logo,
.rafina-footer.rsl-footer-dg .rsl-ft-top__logo .rafina-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-width: 120px !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-top__logo img,
.rafina-footer.rsl-footer-dg .rsl-ft-top__logo .rafina-logo-img,
.rafina-footer.rsl-footer-dg .rsl-ft-top__logo .rafina-logo-light,
.rafina-footer.rsl-footer-dg .rsl-ft-top__logo .rafina-logo-dark {
  display: none !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-top__logo .rafina-logo-link > img:first-child {
  display: block !important;
  width: 140px !important;
  max-width: 160px !important;
  height: 28px !important;
  object-fit: contain !important;
  object-position: right center !important;
  opacity: 1 !important;
  /* TEMP: stay in layout, invisible (child visibility:visible would undo parent hide) */
  visibility: hidden !important;
  pointer-events: none !important;
}

.rsl-ft-top__meta {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
}

.rsl-ft-socials {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-socials a,
.rafina-footer.rsl-footer-dg .rsl-ft-socials .rafina-social-btn,
.rafina-footer.rsl-footer-dg .rsl-ft-socials a.rafina-social-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  color: var(--rsl-ft-muted, #64748b) !important;
  border: 1px solid var(--rsl-ft-line, #e3e8ef) !important;
  box-shadow: none !important;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-socials a:hover,
.rafina-footer.rsl-footer-dg .rsl-ft-socials .rafina-social-btn:hover {
  color: var(--rafina-accent, #ef394e) !important;
  background: #ffffff !important;
  border-color: var(--rafina-accent, #ef394e) !important;
}

.rsl-ft-socials a svg,
.rsl-ft-socials .rafina-social-btn svg,
.rafina-footer.rsl-footer-dg .rsl-ft-socials a svg,
.rafina-footer.rsl-footer-dg .rsl-ft-socials .rafina-social-btn svg {
  width: 18px !important;
  height: 18px !important;
  color: inherit !important;
  fill: currentColor !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-socials a svg *,
.rafina-footer.rsl-footer-dg .rsl-ft-socials .rafina-social-btn svg * {
  fill: currentColor !important;
  stroke: none !important;
  color: inherit !important;
}

.rsl-ft-phone {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  text-decoration: none !important;
  color: inherit !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-phone__label {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--rsl-ft-muted, #64748b) !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-phone__num {
  margin: 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--rsl-ft-ink, #0f172a) !important;
  letter-spacing: 0.08em !important;
  font-variant-numeric: tabular-nums;
  direction: ltr !important;
  unicode-bidi: isolate !important;
  text-align: right !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-col__title,
.rafina-footer.rsl-footer-dg .rsl-ft-about__title {
  color: var(--rsl-ft-ink, #0f172a) !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-col__links a,
.rafina-footer.rsl-footer-dg .rsl-ft-about__text {
  color: var(--rsl-ft-muted, #64748b) !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-col__links a:hover,
.rafina-footer.rsl-footer-dg .rsl-ft-col__links a:focus-visible {
  color: var(--rafina-accent, #ef394e) !important;
}

.rsl-ft-mid {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 24px !important;
  padding-bottom: 8px !important;
}

.rsl-ft-cols {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  flex: 1 1 auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}

.rsl-ft-col {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  min-width: 140px !important;
  padding-inline: 28px !important;
  padding-bottom: 28px !important;
}

.rsl-ft-col:first-child {
  padding-inline-start: 0 !important;
}

.rsl-ft-col__title {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rsl-ft-ink, #0f172a) !important;
  line-height: 1.5 !important;
}

.rsl-ft-col__links {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

.rsl-ft-col__links a {
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--rsl-ft-muted, #64748b) !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
}

.rsl-ft-col__links a:hover {
  color: var(--rafina-accent, #ef394e) !important;
}

/* Left aside: badges (hours strip removed) — sit lower in mid row */
.rsl-ft-aside {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  flex: 0 0 auto !important;
  align-self: flex-end !important;
  max-width: 300px !important;
  /* Sit a little below mid top */
  margin-top: 40px !important;
  padding-bottom: 28px !important;
}

.rsl-ft-hours {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  width: auto !important;
  max-width: 100% !important;
  padding: 0 !important;
  text-align: right !important;
}

.rsl-ft-hours__line {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--rsl-ft-text, #334155) !important;
  line-height: 1.8 !important;
}

.rsl-ft-hours__lead {
  color: var(--rsl-ft-text, #334155) !important;
  font-weight: 500 !important;
}

.rsl-ft-hours__schedule {
  color: var(--rsl-ft-text, #334155) !important;
}

.rsl-ft-hours__time {
  color: #6f9f78 !important;
  font-weight: 600 !important;
}

.rsl-ft-hours__contacts {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
}

.rsl-ft-hours__item {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  width: auto !important;
  text-decoration: none !important;
  color: var(--rsl-ft-ink, #0f172a) !important;
}

.rsl-ft-hours__item:hover {
  color: var(--rafina-accent, #ef394e) !important;
}

.rsl-ft-hours__icon.rl,
.rsl-ft-hours__icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 20px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: var(--rafina-accent, #ef394e) !important;
  vertical-align: middle !important;
}

.rsl-ft-hours__icon.rl:before {
  font-family: "rossoland" !important;
  color: inherit !important;
  line-height: 1 !important;
}

.rsl-ft-hours__value {
  margin: 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: inherit !important;
  line-height: 1.4 !important;
  letter-spacing: 0.01em !important;
  direction: ltr !important;
  unicode-bidi: isolate !important;
  text-align: right !important;
  white-space: nowrap !important;
}

.rsl-ft-badges {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
}

.rsl-ft-badge {
  width: 88px !important;
  height: 88px !important;
  padding: 10px !important;
  border: 1px solid var(--rsl-ft-line, #e3e8ef) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  flex: 0 0 88px !important;
}

.rsl-ft-badge a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  line-height: 0 !important;
  text-decoration: none !important;
}

.rsl-ft-badge img {
  width: 100% !important;
  height: 100% !important;
  max-width: 68px !important;
  max-height: 68px !important;
  object-fit: contain !important;
  display: block !important;
  background: transparent !important;
}

.rsl-ft-about {
  /* Align with top border / left badges — no extra horizontal inset */
  padding: 20px 0 24px !important;
  border-top: 1px solid var(--rsl-ft-line, #e3e8ef) !important;
  box-sizing: border-box !important;
}

.rsl-ft-about__title {
  margin: 0 0 8px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rsl-ft-ink, #0f172a) !important;
  line-height: 1.6 !important;
}

.rsl-ft-about__text {
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: var(--rsl-ft-muted, #64748b) !important;
  line-height: 1.9 !important;
  max-width: 920px !important;
}

/* Inside main .rafina-container — same width as footer content */
.rafina-footer.rsl-footer-dg .rsl-ft-bottom {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  font: inherit !important;
  color: inherit !important;
  text-align: inherit !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-bottom__bar {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important; /* copyright → RTL right; chip → left */
  width: 100% !important;
  gap: 16px !important;
  margin: 0 !important;
  /* Container already has side pad; keep bar flush like left badges */
  padding: 16px 0 !important;
  background: var(--rsl-ft-bar-bg, #f7f8fa) !important;
  border-top: 1px solid var(--rsl-ft-line, #e3e8ef) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-copyright {
  display: block !important;
  margin: 0 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  color: var(--rsl-ft-muted, #64748b) !important;
  line-height: 1.6 !important;
  text-align: right !important;
  direction: rtl !important;
}

@media (max-width: 767px) {
  .rafina-footer.rsl-footer-dg .rsl-ft-bottom__bar {
    padding: 16px !important; /* DigiShahr px-4 */
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .rafina-footer.rsl-footer-dg .rsl-ft-copyright {
    flex: 1 1 100% !important;
    order: 2 !important;
  }

  .rafina-footer.rsl-footer-dg .rsl-ft-totop {
    order: 1 !important;
  }
}

/* Match header login ghost button */
.rafina-footer.rsl-footer-dg .rsl-ft-totop {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: fit-content !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--rafina-border-2, #e3e8ef) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-totop__label {
  margin: 0 !important;
  color: inherit !important;
  font: inherit !important;
}

/* Only the chip itself — not the whole bottom row */
.rafina-footer.rsl-footer-dg .rsl-ft-totop:hover,
.rafina-footer.rsl-footer-dg .rsl-ft-totop:focus-visible {
  color: var(--rafina-header-link-hover, var(--rafina-accent-2, #ef394e)) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: var(--rafina-header-link-hover, var(--rafina-accent-2, #ef394e)) !important;
  box-shadow: none !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-bottom,
.rafina-footer.rsl-footer-dg .rsl-ft-bottom__bar,
.rafina-footer.rsl-footer-dg .rsl-ft-copyright {
  cursor: default !important;
  pointer-events: auto !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-copyright {
  user-select: text !important;
}

.rafina-footer.rsl-footer-dg .rsl-ft-totop__icon {
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  border: 0 !important;
  transform: none !important;
  margin: 0 !important;
  color: inherit !important;
}

@media (max-width: 900px) {
  .rsl-ft-top {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .rsl-ft-top__meta {
    justify-content: space-between !important;
  }

  .rsl-ft-mid {
    flex-direction: column !important;
  }

  .rsl-ft-aside {
    max-width: none !important;
    width: 100% !important;
  }

  .rsl-ft-col {
    padding-inline: 0 24px !important;
    min-width: 120px !important;
  }
}

/* Specs rows — keep theme gray fill; only fix label/value typography */
.rafina-mp-spec,
.rafina-mp [class*="mp-spec"].mb-2 {
  background: #f7f8fa !important;
  border: none !important;
  border-radius: 12px !important;
  color: var(--rsl-ink);
}

.rafina-mp-spec__label,
.rafina-mp-spec > .w-24,
.rafina-mp-spec > [class*="shrink-0"],
.rmp-spec-label,
[class*="mp-spec__label"],
.rafina-mp .mb-2.flex.items-start > .w-24,
.rafina-mp .mb-2.flex.items-start > [class*="shrink-0"] {
  color: #64748b !important;
  font-weight: 400 !important;
}

.rafina-mp-spec__value,
.rafina-mp-spec > .rafina-mp-spec__value,
.rafina-mp-spec > [class*="flex-1"],
.rafina-mp-spec > .min-w-0.flex-1,
.rmp-spec-value,
[class*="mp-spec__value"],
.rafina-mp .mb-2.flex.items-start > .min-w-0.flex-1,
.rafina-mp .mb-2.flex.items-start > [class*="flex-1"].font-medium {
  color: #020617 !important;
  font-weight: 700 !important;
}

.rafina-mp-spec__value a,
.rafina-mp-spec__value .hover\:text-brand-600,
.rafina-mp .mb-2.flex.items-start > .min-w-0.flex-1 a {
  color: #020617 !important;
  font-weight: 700 !important;
}

.rafina-mp-spec__value a:hover,
.rafina-mp .mb-2.flex.items-start > .min-w-0.flex-1 a:hover {
  color: var(--rsl-blue) !important;
}

/* Specs section title */
.rafina-mp h3:has(+ * .rafina-mp-spec),
.rafina-mp [class*="specs"] h3,
.rafina-mp h3 {
  color: #020617;
}


/* Product section tabs: معرفی / مشخصات / دیدگاه / پرسش */
.rafina-mp-tab,
button.rafina-mp-tab,
[role="tab"].rafina-mp-tab {
  font-weight: 700 !important;
  color: #020617 !important;
}

.rafina-mp-tab.is-on,
button.rafina-mp-tab.is-on,
.rafina-mp-tab[data-active],
button.rafina-mp-tab[data-active],
.rafina-mp-tab[aria-selected="true"],
button.rafina-mp-tab[aria-selected="true"] {
  font-weight: 700 !important;
  color: #ef394e !important;
  background: var(--rsl-blue-tint, #fdecef) !important;
  background-color: var(--rsl-blue-tint, #fdecef) !important;
}

/* Sticky product tabs — leave air under the fixed header */
.rafina-mp nav[aria-label="بخش‌های محصول"],
nav[aria-label="بخش‌های محصول"].sticky {
  top: calc(var(--header-h, 72px) + 14px) !important;
  padding-block: 8px !important;
  padding-inline: 8px !important;
}


/* Hide seller identity block (panel: show_seller_box=0; CSS fallback) */
.rmp-store {
  display: none !important;
}
/* ── Buy box (sticky purchase card) ───────────────────────── */
.rmp-card:has(.rmp-price) {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  padding: 18px 16px 16px !important;
}

.rmp-card:has(.rmp-price) .rmp-store {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 14px !important;
  padding: 0 0 14px !important;
  border-bottom: 1px solid #eef2f6 !important;
}

.rmp-store__logo {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  min-height: 40px !important;
  border-radius: 12px !important;
  background-color: #f3e7e2 !important;
  background-image: linear-gradient(145deg, #f7e9e4 0%, #efe0f3 48%, #dde8f7 100%) !important;
  border: 1px solid #eadfdf !important;
  color: #6b5a5a !important;
  box-shadow: none !important;
  overflow: hidden !important;
  position: relative !important;
  display: grid !important;
  place-items: center !important;
}

.rmp-store__logo svg {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.rmp-store__logo::after {
  content: "ر" !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  color: #7a5c5c !important;
}

.rmp-store__name {
  margin: 0 !important;
  color: #0f172a !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.rmp-store__sub {
  display: block !important;
  margin-top: 2px !important;
  color: #94a3b8 !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
}

/* Price block — Digikala/GSM hierarchy, centered */
.rmp-card:has(.rmp-price) .rmp-pricerow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 0 0 4px !important;
  width: 100% !important;
  text-align: center !important;
}

/*
 * Discount chip — same chrome as cards/cart (.rf-drail-card__off).
 * JS may rewrite the label; only hide confirmed zeros.
 */
.rmp-card:has(.rmp-price) .rmp-off {
  order: 2 !important;
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 24px !important;
  padding: 0 8px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}

.rmp-card:has(.rmp-price) .rmp-off.rsl-off-zero {
  display: none !important;
}

.rmp-card:has(.rmp-price) .rmp-oldprice {
  order: 1 !important;
  color: #94a3b8 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

.rmp-card:has(.rmp-price) .rmp-price {
  display: flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  gap: 6px !important;
  margin: 0 0 6px !important;
  width: 100% !important;
  color: #0f172a !important;
  text-align: center !important;
}

.rmp-card:has(.rmp-price) .rmp-price b {
  font-size: 26px !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
}

.rmp-card:has(.rmp-price) .rmp-price span {
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.rmp-card:has(.rmp-price) .rmp-save {
  margin: 0 0 14px !important;
  width: 100% !important;
  color: #ef394e !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: center !important;
}

.rmp-card:has(.rmp-price) .rmp-save.rsl-save-zero {
  display: none !important;
}

/* CTA */
.rmp-card:has(.rmp-price) .rmp-cta {
  margin: 0 0 14px !important;
}

.rmp-card:has(.rmp-price) .rmp-cta .rmp-btn,
.rmp-card:has(.rmp-price) button.rmp-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 16px !important;
  border-radius: 14px !important;
  background: var(--rsl-blue) !important;
  border: none !important;
  color: #fff !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
}

/*
 * Stock/warranty: do NOT hide until JS — that made them appear late.
 * JS still moves them above the title as soon as the title exists.
 */
.rmp-card:has(.rmp-price) .rsl-buy-meta:not(:has(.rmp-warranty)):not(:has(.rmp-stock)) {
  display: none !important;
}

/* Middle meta row: SKU + chips … stock+warranty opposite Tehran chip */
.rmp-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px 10px !important;
  width: 100% !important;
}

.rmp-meta .rsl-meta-status {
  display: none !important;
}

/* Hide authenticity «اصل» badge */
.rmp-meta .rmp-chip--new {
  display: none !important;
}

.rmp-chip--soft {
  color: #3c3c4e !important;
}

.rmp-meta .rmp-stock,
.rmp-meta .rsl-meta-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  color: var(--rsl-green, #16a34a) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

/* Stock + warranty on one row above title: stock then warranty (RTL → stock right, warranty left of it) */
.rsl-stock-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 0 8px !important;
}

.rmp-stock.rsl-title-stock,
.rsl-title-stock {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  color: var(--rsl-green, #16a34a) !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  white-space: nowrap !important;
}

.rmp-stock.rsl-title-stock .rmp-dot,
.rsl-title-stock .rmp-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--rsl-green, #16a34a) !important;
  box-shadow: 0 0 0 3px var(--rsl-green-soft-10, rgba(22, 163, 74, 0.1)) !important;
  flex: none !important;
}

.rsl-stock-row .rmp-warranty,
.rsl-stock-row .rsl-title-warranty,
.rsl-title-warranty {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 4px 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--rsl-green-soft, #f2faf4) !important;
  color: var(--rsl-green, #16a34a) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  min-height: 30px !important;
  box-sizing: border-box !important;
}

.rmp-warranty svg,
.rsl-stock-row .rmp-warranty svg,
.rsl-stock-row .rsl-title-warranty svg,
.rsl-title-warranty svg {
  display: none !important;
}

/* Warranty glyph from first paint (before JS injects <i>) */
.rmp-warranty::before,
.rsl-title-warranty::before {
  content: "\f101";
  font-family: "rossoland" !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--rsl-green, #16a34a) !important;
  flex: none !important;
  speak: never;
}

.rmp-warranty:has(> .rsl-warranty-icon)::before,
.rsl-title-warranty:has(> .rsl-warranty-icon)::before {
  content: none !important;
  display: none !important;
}

.rsl-stock-row .rmp-warranty > .rsl-warranty-icon.rl,
.rsl-stock-row .rsl-title-warranty > .rsl-warranty-icon.rl,
.rsl-title-warranty > .rsl-warranty-icon.rl {
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: var(--rsl-green, #16a34a) !important;
  flex: none !important;
  speak: never;
}

.rsl-stock-row .rmp-warranty > .rsl-warranty-icon.rl-verified-user:before,
.rsl-stock-row .rsl-title-warranty > .rsl-warranty-icon.rl-verified-user:before,
.rsl-title-warranty > .rsl-warranty-icon.rl-verified-user:before {
  content: "\f101" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

/* legacy rating-row cleanup */
.rsl-rating-row {
  display: contents !important;
}

.rmp-meta .rmp-warranty,
.rmp-meta .rsl-meta-warranty {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 4px 12px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--rsl-green-soft, #f2faf4) !important;
  color: var(--rsl-green, #16a34a) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
  min-height: 30px !important;
  box-sizing: border-box !important;
}

.rmp-meta .rmp-warranty svg,
.rmp-meta .rsl-meta-warranty svg {
  width: 14px !important;
  height: 14px !important;
  color: var(--rsl-green, #16a34a) !important;
  stroke: var(--rsl-green, #16a34a) !important;
  stroke-width: 1.5 !important;
  flex: none !important;
}

.rmp-meta .rmp-dot,
.rmp-stock .rmp-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: var(--rsl-green, #16a34a) !important;
  box-shadow: 0 0 0 3px var(--rsl-green-soft-10, rgba(22, 163, 74, 0.1)) !important;
  flex: none !important;
}

/* Hide empty buy-box warranty slot after move */
.rmp-card:has(.rmp-price) .rsl-buy-meta:empty,
.rmp-card:has(.rmp-price) .rsl-buy-meta:not(:has(.rmp-warranty)):not(:has(.rmp-stock)) {
  display: none !important;
}

/* Shipping — hide theme line only after our accordion exists (no blank gap) */
.rmp-card:has(.rsl-ship-methods) .rmp-ship {
  display: none !important;
}

/* Shipping accordion v4 — max-height panel (immune to details/display fights) */
.rsl-ship-methods {
  margin: 0 0 16px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--rafina-border, #e3e8ef) !important;
  border-radius: 14px !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

.rsl-ship-methods__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 4px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #0f172a !important;
  cursor: pointer !important;
  font: inherit !important;
  text-align: start !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  z-index: 2 !important;
}

.rsl-ship-methods__title {
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.rsl-ship-methods__chev {
  color: #64748b !important;
  stroke: #64748b !important;
  flex: none !important;
  transition: transform 0.18s ease !important;
  transform: rotate(180deg) !important;
  pointer-events: none !important;
}

.rsl-ship-methods.is-open .rsl-ship-methods__chev {
  transform: rotate(0deg) !important;
}

.rsl-ship-methods__panel {
  overflow: hidden !important;
  max-height: 0 !important;
  opacity: 0 !important;
  transition: max-height 0.22s ease, opacity 0.18s ease !important;
}

.rsl-ship-methods.is-open > .rsl-ship-methods__panel {
  max-height: 480px !important;
  opacity: 1 !important;
}

.rsl-ship-methods__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.rsl-ship-methods__list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  color: #475569 !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.rsl-ship-methods__list svg {
  display: none !important;
}

.rsl-ship-methods__list .rsl-ship-icon.rl {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: 1px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: #ef394e !important;
  flex: none !important;
  speak: never;
}

.rsl-ship-methods__list .rl-storefront:before {
  content: "\f104" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rsl-ship-methods__list .rl-moped:before {
  content: "\f108" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rsl-ship-methods__list .rl-delivery-truck-speed:before {
  content: "\f10f" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

/*
 * CTA add-to-cart — Material Local Mall from first paint.
 * Paint ::before on the button; hide theme SVG; suppress ::before if JS added <i>.
 */
.rmp-cta > .rmp-btn > svg,
.rmp-cta button.rmp-btn > svg,
.rmp-card .single_add_to_cart_button > svg {
  display: none !important;
}

.rmp-card:has(.rmp-price) .rmp-cta > .rmp-btn::before,
.rmp-card:has(.rmp-price) .rmp-cta button.rmp-btn::before,
.rmp-card:has(.rmp-price) .single_add_to_cart_button::before {
  content: "\f10a";
  font-family: "rossoland" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-synthesis: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: inherit !important;
  flex: none !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rmp-card:has(.rmp-price) .rmp-cta > .rmp-btn:has(> .rsl-cta-mall-icon)::before,
.rmp-card:has(.rmp-price) .rmp-cta button.rmp-btn:has(> .rsl-cta-mall-icon)::before,
.rmp-card:has(.rmp-price) .single_add_to_cart_button:has(> .rsl-cta-mall-icon)::before {
  content: none !important;
  display: none !important;
}

.rmp-cta > .rmp-btn > .rsl-cta-mall-icon.rl,
.rmp-cta button.rmp-btn > .rsl-cta-mall-icon.rl,
.rmp-card .single_add_to_cart_button > .rsl-cta-mall-icon.rl {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: inherit !important;
  flex: none !important;
  speak: never;
}

.rmp-cta .rsl-cta-mall-icon.rl-local-mall:before,
.rmp-card .rsl-cta-mall-icon.rl-local-mall:before {
  content: "\f10a" !important;
  font-family: "rossoland" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  color: inherit !important;
}

/* legacy ship-row cleanup if left behind */
.rmp-card:has(.rmp-price) .rsl-ship-row {
  display: contents !important;
}

/* Trust — compact 2×2 chips under the fold, no heavy blue box */
.rmp-card:has(.rmp-price) .rmp-trust {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 6px !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

.rmp-card:has(.rmp-price) .rmp-trust li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 8px 9px !important;
  border: 1px solid #eef2f6 !important;
  border-radius: 10px !important;
  background: #fafbfc !important;
  color: #475569 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.rmp-card:has(.rmp-price) .rmp-trust li svg {
  width: 15px !important;
  height: 15px !important;
  margin-top: 1px !important;
  color: #ef394e !important;
  stroke: #ef394e !important;
  stroke-width: 1.35 !important;
  flex: none !important;
}

.rmp-card:has(.rmp-price) .rmp-contact {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin: 16px 0 0 !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.rmp-contact svg,
.rmp-card:has(.rmp-price) .rmp-contact svg {
  display: none !important;
}

.rmp-contact::before,
.rmp-card:has(.rmp-price) .rmp-contact::before {
  content: "\f107";
  font-family: "rossoland" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: inherit !important;
  flex: none !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
}

.rmp-contact:has(> .rsl-contact-icon)::before,
.rmp-card:has(.rmp-price) .rmp-contact:has(> .rsl-contact-icon)::before {
  content: none !important;
  display: none !important;
}

.rmp-card:has(.rmp-price) .rmp-contact > .rsl-contact-icon.rl {
  display: inline-block !important;
  width: 15px !important;
  height: 15px !important;
  font-size: 15px !important;
  line-height: 1 !important;
  color: inherit !important;
  flex: none !important;
  speak: never;
}

.rmp-card:has(.rmp-price) .rmp-contact > .rsl-contact-icon.rl-phone-in-talk:before {
  content: "\f107" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

/* Breadcrumb strip under header — match product page rhythm everywhere */
.rafina-mp > nav[aria-label="مسیر"].scrollbar-thin,
.rafina-mp nav[aria-label="مسیر"].scrollbar-thin,
nav[aria-label="مسیر"].scrollbar-thin.overflow-x-auto {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  padding-right: 0 !important; /* theme sm:px-4 physical right */
}

/*
 * Unify crumb offset from header with product page:
 * product = .rb-block first-child margin-top 28px + nav py-3 (12px).
 * Archive/shop are also inside .rb-block — zero wrap top margin so we
 * don't stack 28+28 (=56px). Only add 28px when no builder block wraps it.
 */
.rafina-archive-wrap {
  margin-top: 0 !important;
}

/*
 * Shop + category pages — hide archive page title (h1) and the
 * category thumbnail. Panel has no image switch (only crumb/title/count).
 * Thumbnail stays on the term for other surfaces.
 */
.rafina-archive-wrap .rafina-archive-header h1,
.rafina-archive-header h1,
.rafina-shop-archive h1,
body.post-type-archive-product .rafina-archive-header h1,
body.tax-product_cat .rafina-archive-header h1,
body.tax-product_tag .rafina-archive-header h1 {
  display: none !important;
}

.rafina-archive-wrap .rafina-archive-header__img,
body.post-type-archive-product .rafina-archive-header__img,
body.tax-product_cat .rafina-archive-header__img,
body.tax-product_tag .rafina-archive-header__img {
  display: none !important;
}

.rafina-archive-wrap > .rafina-archive-header:not(:has(.rafina-archive-desc)) {
  display: none !important;
}

/* Toolbar mode: flatten empty header so count can sit beside sort (React-safe). */
.rafina-archive-wrap.rsl-archive--toolbar > .rafina-archive-header:not(:has(.rafina-archive-desc)) {
  display: contents !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-archive-header:not(:has(.rafina-archive-desc)) .rafina-archive-header__text {
  display: contents !important;
}

.rf-flt__top > h4,
.rf-flt__sheet-title {
  font-size: 18px !important;
  font-weight: 700 !important;
}

/* «حذف فیلترها» — plain text link, sale red */
.rf-flt__clear,
.rf-flt__active .rf-flt__clear,
.rf-flt__sheet-head .rf-flt__clear {
  display: inline !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  color: var(--rafina-deal-sale, #d32f2f) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.rf-flt__clear:hover,
.rf-flt__clear:focus-visible,
.rf-flt__active .rf-flt__clear:hover,
.rf-flt__sheet-head .rf-flt__clear:hover {
  color: var(--rafina-deal-sale, #d32f2f) !important;
  background: transparent !important;
  background-color: transparent !important;
  text-decoration: underline !important;
}

/*
 * Archive Digikala-like top row — CSS only (no DOM moves; React-safe).
 * display:contents flattens layout/main so breadcrumb + sort share row 1.
 */
.rafina-archive-wrap.rsl-archive--toolbar {
  display: grid !important;
  grid-template-columns: var(--rsl-flt-width, var(--rsl-flt-base, 240px)) minmax(0, 1fr) !important;
  column-gap: 24px !important;
  row-gap: 0 !important;
  align-items: start !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 12px 0 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  color: #475569 !important;
  align-self: center !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb a {
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb a:hover {
  color: var(--rsl-blue, #ef394e) !important;
  -webkit-text-fill-color: var(--rsl-blue, #ef394e) !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb .rafina-breadcrumb-current,
.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb > span:not(.rafina-breadcrumb-sep):not(.rsl-crumb-sep) {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-archive-header {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  margin: 8px 0 0 !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-archive-layout.rsl-archive-layout--flat {
  display: contents !important;
}

.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-layout > .rf-flt,
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-layout > .rafina-archive-sidebar {
  grid-column: 1 !important;
  grid-row: 3 !important;
  margin-top: 18px !important;
}

.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main.rsl-archive-main--flat {
  display: contents !important;
}

.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > .rafina-archive-sort {
  grid-column: 2 !important;
  grid-row: 1 !important;
  align-self: center !important;
  justify-self: start !important;
  margin: 0 !important;
  padding: 12px 0 0 !important;
  max-width: calc(100% - 5.5rem) !important;
}

/* Product count — same row as sort, opposite edge of product column */
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-count,
.rafina-archive-wrap.rsl-archive--toolbar .rsl-archive-count--inline {
  grid-column: 2 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: center !important;
  display: inline-flex !important;
  margin: 0 !important;
  padding: 12px 0 0 !important;
  color: var(--rsl-muted, #64748b) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > .rafina-product-grid,
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > .rafina-archive-empty {
  grid-column: 2 !important;
  grid-row: 3 !important;
  margin-top: 18px !important;
}

/*
 * Shop / category empty results — premium empty state.
 * Illustration sits above theme copy «محصولی یافت نشد.»
 */
.rafina-archive-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-height: 320px !important;
  margin: 24px 0 32px !important;
  padding: 40px 24px 48px !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  text-align: center !important;
  background: transparent !important;
}

.rafina-archive-empty::before {
  content: "" !important;
  display: block !important;
  width: min(168px, 48vw) !important;
  height: min(178px, 51vw) !important;
  margin: 0 0 18px !important;
  background: var(--rsl-shop-empty) center / contain no-repeat !important;
  opacity: 1 !important;
  pointer-events: none !important;
}

.rafina-archive-empty > p {
  margin: 0 !important;
  max-width: 28ch !important;
  color: var(--rafina-text-dim, var(--rsl-muted, #64748b)) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.7 !important;
  letter-spacing: -0.01em !important;
}

@media (max-width: 640px) {
  .rafina-archive-empty {
    min-height: 260px !important;
    padding: 28px 16px 36px !important;
  }

  .rafina-archive-empty::before {
    width: min(136px, 42vw) !important;
    height: min(144px, 45vw) !important;
    margin-bottom: 14px !important;
  }

  .rafina-archive-empty > p {
    font-size: 14px !important;
  }
}

.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > *:not(.rafina-archive-sort):not(.rafina-product-grid):not(.rafina-archive-empty) {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

/*
 * Sentinel must sit under the grid. The flat toolbar uses display:contents,
 * so an unspecified row stacks it on top of the products and the observer
 * treats it as visible — every page loads at once.
 */
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main.rsl-archive-main--flat > .rafina-infinite-sentinel:not(.rafina-archive-sort):not(.rafina-product-grid),
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main.rsl-archive-main--flat > .rafina-infinite-status:not(.rafina-archive-sort):not(.rafina-product-grid) {
  grid-column: 2 !important;
  grid-row: 4 !important;
  align-self: start !important;
  justify-self: stretch !important;
  margin-top: 8px !important;
}

.rafina-archive-layout {
  align-items: flex-start !important;
}

.rafina-archive-layout > .rafina-archive-main,
.rafina-archive-layout > .rf-flt {
  margin-top: 0 !important;
  align-self: flex-start !important;
  box-sizing: border-box !important;
  background: var(--rafina-panel, var(--rsl-card, #fff)) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}

.rafina-archive-layout > .rf-flt,
.rafina-archive-layout > .rafina-archive-sidebar,
.rafina-archive-sidebar,
.rf-flt {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.rafina-archive-layout > .rafina-archive-main {
  border: 0 !important;
  padding: 0 !important;
  min-width: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
}

.rafina-archive-layout > .rafina-archive-main .rafina-product-grid,
.rafina-archive-wrap.rsl-archive--toolbar .rafina-product-grid {
  background: var(--rafina-panel, var(--rsl-card, #fff)) !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.rafina-archive-sort.rsl-archive-sort--tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.rafina-archive-sort.rsl-archive-sort--tabs::before {
  content: "\f12a" !important;
  font-family: "rossoland" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  margin-inline-end: 6px !important;
  padding: 0 !important;
  color: #0f172a !important;
  speak: never !important;
  -webkit-font-smoothing: antialiased !important;
  order: -2 !important;
  flex: 0 0 16px !important;
}

.rafina-archive-sort.rsl-archive-sort--tabs::after {
  content: "مرتب‌سازی بر اساس:" !important;
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  margin-inline-end: 8px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  order: -1 !important;
  flex: 0 0 auto !important;
}

.rafina-archive-sort.rsl-archive-sort--tabs > .rsl-archive-sort__label {
  color: #0f172a !important;
  font-weight: 500 !important;
}

.rafina-archive-sort.rsl-archive-sort--tabs .rafina-sort-pill {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--rsl-muted, #64748b) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  transition: color 0.15s ease !important;
}

.rafina-archive-sort.rsl-archive-sort--tabs .rafina-sort-pill:hover {
  color: var(--rsl-blue, #ef394e) !important;
  background: transparent !important;
}

.rsl-sort-picked .rafina-archive-sort.rsl-archive-sort--tabs .rafina-sort-pill.is-active,
.rsl-sort-picked .rafina-archive-sort.rsl-archive-sort--tabs .rafina-sort-pill.rsl-selected,
.rsl-sort-picked .rafina-archive-sort.rsl-archive-sort--tabs .rafina-sort-pill.is-active:hover,
.rsl-sort-picked .rafina-archive-sort.rsl-archive-sort--tabs .rafina-sort-pill.rsl-selected:hover {
  color: var(--rsl-blue, #ef394e) !important;
  background: transparent !important;
  font-weight: 500 !important;
}

.rsl-flt-title--no-icon > i,
.rsl-flt-title--no-icon > svg,
.rsl-flt-title--no-icon .rl {
  display: none !important;
}

.rsl-archive-toolbar {
  display: none !important;
}

@media (max-width: 900px) {
  .rafina-archive-wrap.rsl-archive--toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > .rafina-archive-sort {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-top: 8px !important;
    max-width: 100% !important;
  }

  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-count,
  .rafina-archive-wrap.rsl-archive--toolbar .rsl-archive-count--inline {
    grid-column: 1 !important;
    grid-row: 2 !important;
    justify-self: end !important;
    padding-top: 8px !important;
  }

  .rafina-archive-wrap.rsl-archive--toolbar > .rafina-archive-header {
    grid-column: 1 !important;
    grid-row: 3 !important;
  }

  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-layout > .rf-flt,
  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > .rafina-product-grid,
  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > .rafina-archive-empty,
  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main > *:not(.rafina-archive-sort) {
    grid-column: 1 !important;
    grid-row: 4 !important;
  }

  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main.rsl-archive-main--flat > .rafina-infinite-sentinel:not(.rafina-archive-sort):not(.rafina-product-grid),
  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-main.rsl-archive-main--flat > .rafina-infinite-status:not(.rafina-archive-sort):not(.rafina-product-grid) {
    grid-column: 1 !important;
    grid-row: 5 !important;
  }

  .rafina-archive-sort.rsl-archive-sort--tabs {
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
  }

  .rafina-archive-sort.rsl-archive-sort--tabs::-webkit-scrollbar {
    display: none !important;
  }
}

body:not(:has(.rb-block .rafina-archive-wrap)) .rafina-archive-wrap {
  margin-top: 28px !important;
}

/* Hide end-of-list notice under the product grid */
.rafina-infinite-status.is-end {
  display: none !important;
}

/* Archive / blog / compare crumbs — same strip rhythm as product page */
.rafina-breadcrumb,
.rafina-post__crumbs,
.rf-lrn-crumb,
.rmp2-crumbs__in {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  margin: 0 0 12px !important;
  padding: 12px 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* In-card product crumbs: same type/spacing as shop (no strip padding) */
.rmp-crumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

/* Builder pages that put crumbs outside rafina-mp — same top offset as product rb-block */
.rb-page__inner > .rb-block:first-child:has(nav[aria-label="مسیر"]),
.rb-page.is-boxed-w .rb-page__inner > .rb-block:first-child:has(.rafina-breadcrumb),
.rb-page.is-boxed-w .rb-page__inner > .rb-block:first-child:has(.rafina-post__crumbs) {
  margin-block-start: 28px !important;
}

/* Breadcrumbs — match GSM.ir / product-page path colors */
.rafina-mp > nav[aria-label="مسیر"] a,
.rafina-mp nav[aria-label="مسیر"] ol,
.rafina-mp nav[aria-label="مسیر"] ol a,
nav[aria-label="مسیر"] ol,
nav[aria-label="مسیر"] ol a,
.rmp-crumbs,
.rmp-crumbs a,
.rafina-breadcrumb,
.rafina-breadcrumb a,
.rafina-post__crumbs,
.rafina-post__crumbs a,
.rf-lrn-crumb,
.rf-lrn-crumb a,
.rmp2-crumbs__in,
.rmp2-crumbs__in a {
  color: #475569 !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

.rafina-mp > nav[aria-label="مسیر"] a:hover,
.rafina-mp nav[aria-label="مسیر"] ol a:hover,
nav[aria-label="مسیر"] ol a:hover,
.rmp-crumbs a:hover,
.rafina-breadcrumb a:hover,
.rafina-post__crumbs a:hover,
.rf-lrn-crumb a:hover,
.rmp2-crumbs__in a:hover {
  color: var(--rsl-blue, #ef394e) !important;
  -webkit-text-fill-color: var(--rsl-blue, #ef394e) !important;
}

.rafina-mp > nav[aria-label="مسیر"] [aria-current="page"],
.rafina-mp nav[aria-label="مسیر"] ol [aria-current="page"],
.rafina-mp nav[aria-label="مسیر"] ol .truncate.text-ink-400,
.rafina-mp nav[aria-label="مسیر"] ol li[aria-current="page"],
nav[aria-label="مسیر"] ol [aria-current="page"],
nav[aria-label="مسیر"] ol .truncate.text-ink-400,
nav[aria-label="مسیر"] ol li[aria-current="page"],
.rafina-breadcrumb-current,
.rafina-breadcrumb > span:not(.rafina-breadcrumb-sep):not(.rsl-crumb-sep),
.rafina-post__crumbs > span:not([aria-hidden]):not(.rsl-crumb-sep),
.rf-lrn-crumb > span:not(.rsl-crumb-sep):last-child,
.rmp2-crumbs__in > span:not(.rsl-crumb-sep):last-child {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

/* In-card product crumbs (middle box): last item regular, not bold */
.rmp-card .rmp-crumbs > span:not(.rsl-crumb-sep),
.rmp-crumbs > span:not(.rsl-crumb-sep) {
  color: #1e293b !important;
  font-weight: 500 !important;
  font-size: 13px !important;
}

/* Product top path: kill theme gap-1.5 so spacing = sep margin only (like shop) */
.rafina-mp nav[aria-label="مسیر"] ol,
nav[aria-label="مسیر"] ol,
.rafina-mp nav[aria-label="مسیر"] ol > li,
nav[aria-label="مسیر"] ol > li {
  gap: 0 !important;
  column-gap: 0 !important;
  row-gap: 0 !important;
}

.rafina-mp nav[aria-label="مسیر"] ol,
nav[aria-label="مسیر"] ol {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  color: #475569 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.rafina-mp nav[aria-label="مسیر"] ol > li,
nav[aria-label="مسیر"] ol > li {
  display: inline-flex !important;
  align-items: center !important;
}

/* Shop + category archive: last crumb same weight as the rest of the path */
.rafina-archive-wrap.rsl-archive--toolbar .rafina-breadcrumb .rafina-breadcrumb-current,
.rafina-archive-wrap.rsl-archive--toolbar .rafina-breadcrumb > span.rafina-breadcrumb-current,
.rafina-archive-wrap.rsl-archive--toolbar .rafina-breadcrumb > span:not(.rafina-breadcrumb-sep):not(.rsl-crumb-sep) {
  font-weight: 500 !important;
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

/* Shop + category archive: sort title same weight as sort items */
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-sort.rsl-archive-sort--tabs::after,
.rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-sort.rsl-archive-sort--tabs > .rsl-archive-sort__label {
  font-weight: 500 !important;
}

/* Product / global path nav — lock 13px on the strip itself */
.rafina-mp > nav[aria-label="مسیر"],
.rafina-mp nav[aria-label="مسیر"],
nav[aria-label="مسیر"] {
  font-size: 13px !important;
}

/*
 * Breadcrumb separators — PHP emits <i class="rl rl-arrow-back-ios"> (icon font).
 * Size stays the previous shop chevron (11px). Icon a touch lighter than links.
 */
.rafina-mp nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep,
nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep,
nav[aria-label="مسیر"] ol > li > span.text-ink-300,
.rmp-crumbs > span.rsl-crumb-sep,
.rafina-breadcrumb-sep,
.rafina-breadcrumb > span.rsl-crumb-sep,
.rafina-post__crumbs > span.rsl-crumb-sep,
.rf-lrn-crumb > span.rsl-crumb-sep,
.rmp2-crumbs__in > span.rsl-crumb-sep {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
  flex: none !important;
  vertical-align: middle !important;
  line-height: 1 !important;
  margin-inline: 4px !important;
  opacity: 1 !important;
  font-size: 11px !important;
}

.rafina-mp nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep > .rl,
nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep > .rl,
.rmp-crumbs > span.rsl-crumb-sep > .rl,
.rafina-breadcrumb-sep > .rl,
.rafina-breadcrumb > span.rsl-crumb-sep > .rl,
.rafina-post__crumbs > span.rsl-crumb-sep > .rl,
.rmp2-crumbs__in > span.rsl-crumb-sep > .rl {
  display: inline-block !important;
  font-family: "rossoland" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 11px !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
  width: auto !important;
  height: auto !important;
}

.rafina-mp nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep > .rl-arrow-back-ios:before,
nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep > .rl-arrow-back-ios:before,
.rmp-crumbs > span.rsl-crumb-sep > .rl-arrow-back-ios:before,
.rafina-breadcrumb-sep > .rl-arrow-back-ios:before,
.rafina-breadcrumb > span.rsl-crumb-sep > .rl-arrow-back-ios:before,
.rafina-post__crumbs > span.rsl-crumb-sep > .rl-arrow-back-ios:before,
.rmp2-crumbs__in > span.rsl-crumb-sep > .rl-arrow-back-ios:before {
  content: "\f113" !important;
  font-family: "rossoland" !important;
  font-size: 11px !important;
  color: #94a3b8 !important;
  -webkit-text-fill-color: #94a3b8 !important;
}

.rafina-mp nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep svg,
nav[aria-label="مسیر"] ol > li > span.rsl-crumb-sep svg,
.rmp-crumbs > span.rsl-crumb-sep svg,
.rafina-breadcrumb-sep svg,
.rafina-breadcrumb > span.rsl-crumb-sep svg,
.rafina-post__crumbs > span.rsl-crumb-sep svg,
.rmp2-crumbs__in > span.rsl-crumb-sep svg {
  display: none !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb a,
.rafina-mp > nav[aria-label="مسیر"] a,
.rafina-mp nav[aria-label="مسیر"] ol a,
nav[aria-label="مسیر"] ol a,
.rmp-crumbs a,
.rafina-breadcrumb a {
  color: #475569 !important;
  -webkit-text-fill-color: #475569 !important;
  cursor: pointer !important;
  transition: color 0.15s ease, -webkit-text-fill-color 0.15s ease !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb a:hover,
.rafina-mp > nav[aria-label="مسیر"] a:hover,
.rafina-mp nav[aria-label="مسیر"] ol a:hover,
nav[aria-label="مسیر"] ol a:hover,
.rmp-crumbs a:hover,
.rafina-breadcrumb a:hover {
  color: var(--rsl-blue, #ef394e) !important;
  -webkit-text-fill-color: var(--rsl-blue, #ef394e) !important;
}

.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb .rafina-breadcrumb-current,
.rafina-archive-wrap.rsl-archive--toolbar > .rafina-breadcrumb > span:not(.rafina-breadcrumb-sep):not(.rsl-crumb-sep),
.rafina-mp nav[aria-label="مسیر"] ol [aria-current="page"],
.rafina-mp nav[aria-label="مسیر"] ol li[aria-current="page"],
nav[aria-label="مسیر"] ol [aria-current="page"],
nav[aria-label="مسیر"] ol li[aria-current="page"] {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}


/* Rossoland icon font — embedded to defeat SW/stale woff2 cache */
@font-face {
  font-family: "rossoland";
  src: url(data:font/woff2;base64,d09GMgABAAAAABPEAAsAAAAAJZwAABN2AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHFQGYACISAqyRKkmATYCJAOBVAtsAAQgBYQiB4U+G88fZQRsHAAS/DeE7P8/JHBjKPSGWRcSaU5TxONGTvXymGtmdN6MS2yz3a+wfgXPL0H5LNs0FuxBUKjn24W4FLtk/e2IS4Hrl82GUvI8//f99n1/HppmG2awKEq4FVCArQgCipqJAuzcp/s1tptMXL6IlTyanqaBu+Npzn6yQSwJGywB3wVPgnocCfYWtVBHj5T7ScXgpGb0BPrLIhWlJ0DFqftVLanlhACYd7816qeaN7EqlnlUD4mSCZ3zdI6JbO77U6sQUuuiYVN6/W5/qZfh22YGJE6I2RABCUAAc2gzm1mdv5iR1gHC8pm6gGC9DtgcZD9IrdQGCLoHBPv/dOoqu3Fo6nvuRKDiLwx71kV3slvf6QIXlhQiSSHZSVu5QDxs3YEmnZOCm5Jc4o1g6khjx45jl3UspE7LwbBgR6GUvteY1i3XGgzWj7wSsqNECU00fKnPoqDr3Be6lWdSwH6sbpsBzgQ9uXBYsTxObqgGi8cqdcWKRVvRxN6wxsoyDaonbIqX+veXPxcFAyqNGqD3da+W1cGB5M3Mm5iVMKt3c30bwOgVGqjh2LCa8q4232qtc4x1ZWbdM8lcV8h7YiJYqma7qTS1Hv8TXk/fyFSu1pmYmltau7i5K7E1C8aZ1MtKITRUXFGrHs4qM2JTz7Nl4+ToYGNvZysBpQno8D5UL9B7A4JcVhGgSRhoEQHaxAA9YoE+cYARcYEpiAIzEA9YAfGBdZAA2AYJgR2QCNgDiYEDkAQ4AkmBU5AMOAfJgQuQQrYAAWqkAtZAamAfpAEapAXOQDpqPtYDcA0yAIcgIwVsAsCATIEhmQGFzIErkAXQIUtgFWQFXIKsgROQDWUD2wKll+0AqJM9ZR47ALABcgS65ESZzc5A6WUXoFTsCtQYdgNKF7uDimUPoOZjT6DMYC+gzGNvqDVOvrHxAOCX1iedf6ATyivTFcprqYQZNo84wsIerkNWR6bUBXKNGW6JSzQHGUNvxEr5zYPILDo4sbWI6/oREm0ciZJIZOJ5GpatqDYzly4KwgSPIp4+dRV5GkWKqL3jSKhVQlKlpW8SNo1Kep5ON1FY+maM1sTEqomIE01vyJCoCL06PDcik9JsOkVllv742mK/Y1Zrv0Nzc5AlIeGzqlEN/lPIv+YB14Kdddq4QQN8/v+saOTeCGLHrjf9tYdj4r81NlP2y/ivPDI//2/ccGiHDhhLUDiGCiUSlEDAsRQ2UYJjlOhbMhHPrTy3YJVm0zdegNQDRrPe6rVNlSYz66dkGDBJNzU4XujcBuRR3WkFhexxRk2kiLESCDPyYy1dG3KBQk4IxjykbkWloAhs1oE9O6c8Tqfp05/LTygna7tfriaCYuop9b1va87YTkuxPMMSfxGgdQx+IM642wzWp4sUVSflfa/h5DRZ+bm8KL5zckY8FfYvV5A/e5NyS8A1/fxztjsXVyoti7j0q0QCVhF61AxqxjmKQCDGIBID4DQD8lNqqfQyaDwTnbX5LmLNY+Eof9p8chYcIWwQu6OvdS4/o21Clse3Yf1HvH4Fnt/4QmqW9qvfOUWbx4Hxc7oojDKVdBjhXqfAnbJu0/cuIxlOtyyJuGDUgiwkVOFSn/dumKrbURtM7H9P/4t8iJQKNN3xkAr4K+qfc55y3lOfU9/jK4ak6LttsJe8j4KfylPsY/cZ4wXDedtt2/GsUBx30NPAw4v6c1kPIw4koUFMnfyZpNMmozv1MWWIoUwUi8mG7ls5VbBXZfkcBkGas01z4Af7zNf9yD3o8bSDobH01xf32zdqALsUPsOUX4aRvnW8CD8ux64XumzQy0gokN3B6spCwKAJKdL/ANhryJU2stuBaTU66FhG9sWSgXY6Nebpcu25RnyR4lhajV8fPQ+7qs8sD5lOoj6XaD9+KDjtFsPNY3c7a2EXVk4+vZvBHmd+wM2nyv6o+KbxdMbH1F8Je7tMO/EG5IdLPlHhC+nKI4Q1LSgbrb25aLYH5CNs2Y50pFUE3PJaMKCw+XNrLqqNeP8GybP/kxjV+vK3wZ5WhLBoHdksCEOEVZ+nAVDGICHlkA4cDa9BBS3rjOPZNx5af/BwJl8S7TwWQZyKmySewFCWgx9kZSqh3GakHlRxj0LZTmy9PNtY0iepTSvAD1BZl7W2XW/c2ne5/0JH4+FT/+nG5OdPvPnTkw4cfkGveP7dWPR30r1wt2jsTdVUgpE012WEyuqpN9cPvg8A9iMjA0MhOJNIqICgPJB3gxipVAFnqxhHAVWfIhVJ2hwjXQJp3Aq6LKg1dlhGKDVWrHxbVcisl4uyaNwXMnJ8b5I+Xs51OTPbuTQbTX4DUSyvk+OZlnY41tYpXViCLSpTjXc3MpSooHFXs4vMrqQsszkRY5/CUsUQrMo2RplwRFkv0V2JODpPUaIpAOOvo256hDwh8jdDkc+xusLeHjLDvH0lr2/3XEVNu8yz0ovS89LKvOU+269Y1wxt9/vXIXa9bXsS2sIHS/F+rHeRHHBjVSxjJVR46XebSkDxZ5KQY3yiNNmgEjfnM6jmjavVCdWlR7rNZkHP5/R0UaagZLvDZW2fjNw2/Z7uHradruttt1zNRTozGoBeNlqv3I/GleEmQAlucxIrB0syGsA4siH1kcPQdkBpzzfjJfGQLeEZwGlJ8iXu90tq8J0nlmZNsSsOQej/WJMyFgVKUC0WlPVJSQ2ninH8cCemsuXQ+JQDmuIg/fEArniPUVtmXrSOfHXS8/c6qFcc7xKkUyurhfTiqpwpkNnRdQtXDf46syC93HwZ9ZLcAXhI/Nv7jK0hk0MaUFpB+mS+lKpAaQ/l8yW0Gsf1dN/Q1Ck4PgQWJrnprgqX3atXazSr1+yRtCUoINXtVXmDg7ja07WgoyvPO98PtIspI/VVT/VSG5CKUiFEfXrUT/UjZNTTkgaaRq+PByM8f7f2OfLph91nuB+ePkeucfWr0W2jtqWmDNL0bQ1BO0/j/MMarU+5LSKBMPcbs3HmnsRxDdlLgJd+z57ouxqkJTWZPbSBhp6p6AIBhJILLiC0iuy7QOkQi5cHXtAc815QnldROkpLP/pDLON+4PDUXW4S191T1vDZZ2O4Uglx2iMTYVIi9uz8g0HDJaYPeHYn7ZxO0rmOo/7YeWf7e44jZjtL7hHHt4L72F6PgGHEO6n8Uth0W0FHceCCf5a7GLiaWGcD7mUSZSAIg/Pyf6Az3Klh4yq20nFjoPVkX9RFodXx0fUv/jjqYUAGYV4OaWw555NEku9kkmDSLAJkq4CZ0HOz502PHJRrnVJSOs+DU6xzPUc8brKg542km6Ya07VzK1i4M86qGK1Zruz1rgwdtfarz6r325BggNe7Rcn+W0J4IT5DIaHEHL6UN1c6l0fYhPoMhYYSc3ligliB/LcmsrzMZ4tnm4vNmzw/4Z1kJ8GdB+14F8FqH5D9KwBjtZIOXh+sWVcE+bGIT/LevHqt4Ifzenjh/M+iL4sgPbw17OKlG5WbxQX9XPocHUxLW8Tilk6Pb5F0SWI/VCJQBaVnCDIFe0NpyjYFquHe2w/KFMLpuD2y0QHJ+nfbgpjKdbfCQjhd16YIXj/8tOdTrKzMOPK8eYFEkW0hH60P67jHFhGCDjtLu+xORxKkION3ABG2p1Vyp11UZ2lpoeDHHwVFh49GFuQkV3E1+ArE3GXR8yJmHz48O2Je9LLua1mBa+KWI3VYQShFhRaEqVG2xC/V1zfVT0JnodjoioroWOQuH9BrIpTKBmXaJCvlpywUypxvb9j8jWs7d795w21nmVuAwYXt9MVvmnPTNL7/Fyf2V5ww5doy8EJzIaQJf/DAjurtpewON4TOE5FAJuz1Zyzbs+J8vzBTIMgQ6SjCYnmIxH+OvmxaG0ACgXT+2gVbCNfUjadyiuI8scxSql5Nyp/j1cfVkMwDDCI9Qbp+IAL6HX5YJEhYnRzOGxyUev38WXonKIi8CovP8LXTQBlAPiwXKdh+LjELJd/5u/op7bw+KUQKlp9L9KuoK8DmelUqhMqJ0YvEXa+Ym37icqlDqK/COuFntzS2b2glb12AvWNbUJIAOdaVzOR9st60x1zNj0podc/KSv+EKDXffM8m60+8mSV13FSQ1BYEsXlFBJDdJBCGugXpM89pnvX67t7M88gpVUWUvxMtVqYeSxEojdyhhERzmTYIGQkjwZsrO6w0KEm6uyPCEjSMs9zjqQvCqNBQFFaoJgn+HEKn6kc5fhLf1FQfid8voQ37eHNQv6o/0BsZN0cy0aMOKwxFwb8joHnIgCzGX7wsKHr9Ytu2l6+KC69Hqme4u3d7eEDTENn9jtIjd7wLV9B9vfhMXJOufTTSuKOVlMtJmm7mdkJPLY1osge9QU2kp/m4LcLH+D7CUOaidCkzLGIUewJSzpj+ZDfoz3/92r2fvu5ugIPprKCnTwefPhEVT1cq683tzNSD6lxudX6a0m9KV1IDNQgMkcLIXe+zzodz7rJWZW97iel8Dm77hevAmc924H6xxc89VD9sq5rNKeTo7SnOt7ZSez3H/N4j9aP6ZQ+3PQK3m0jXj/p16Jy+F/UaGqL6iudldtIBdqYn8Al+Jkdp1KeIC4lbC0SRWnqGKHMlbUiukYEe73zMXr79f9vZDx4/PEca287fXvNFDfL/VBGm7+Km9Pn6erJQFrWKVvv40SM4GTEeYxKe1273Meojc1th+4nQssPut3z7vtXS/ueofZaY5MoIuvbtJ8YjM9W1v35nn/eYiuVrM8GhMa8EX/vlu/bAnTXVon5EZ1LeFNmHjOj110DUn6yb0ChAQwJpJICEcattPj2kIFxN5fkWkkKUPMWVMY39BJmNA//OQlppvEjnLHGeZKzozapMGSc4co6Mr1oVoBNJ47So/OeReiuNk/lSWFz7+vWfO3fqdH/CYjGbXV62Y4dWW36wOGdCpdq5Q6eNZFhc+vGjRIxQSILFzXfujgzmMAKL55w9e2fHTq3uDiz+7ugR6bi/TAK2c/0f4PwMk9zrhqzWpBwTFT+54/rVuhyfyb3edeaa46fupcLIzACA7Uyf2iybOtIk3dvFZgGr5+cECyV0J6CfPV5nBqv2/2L3WSunOXZDHg9pLg40dC/QkhGUsiNfGaElEWIc+S/vvyMMhCRSfpjKsqC7YeCiBt3L/Ek1PHW4qGRP93/Y22KaKdN6qFL9BQXwcE9HyvfV/9dcFVMRFVURU/XAylS2cr9G83nqfLFKmC4QpAtVu7rS0feBWuGu3gWKE/iFoYX8hO1NW9pbxwZmepyOT/X08Rf7+Ir9k5unqm5y+8amSctLgA3DHiycJSoO2yMcKKklhzHn75wJ53XVkfnNzR6cJA7bnVS7sw+n4clJ5uxnyzAcNHc5YFQMG0Th4fr3ftckoSAjQyBc1Ofhtu8fgWZk/oq+TuxXZ92SRPIWUaVp/kyMODCu9HAwvTOi/slLXpF/t9IxiRhXwzhP9fNWHAyYPUEFXwAmnvJGpk3tWsnTmAEA7cxBLFhmTsWukHGdxhPer0IYbSoxn/J6MmOMp2ETMy6yEHshHcBi4XB3FcCtJsY2jtEtXeFpKQBMHtZSR8XYvPBqZ/gwcw7QduwNo0vWuB/bomJb5oqbEJlGVwMCteYAc2tFwNLGtGNvMDOd4cLqYZossw3JtDaRjJmwq4m5dl6rM6rESszJmPY2WopNj+ZgNdFYLD0aiMWd4IWF2to5vJrpNmfcVGRSrN7psekrTRziZdhV02L/YxHDpXXBzZWchI8W1sxnN6eA1mfHnFukV42LDRaAATUZAP8/YYA8FHP/e/yvnljxz8BVC2dFwu/gaWEAYMW6ACaANtrCMT80MsASbQFgYC7EHgizLbWFkEmEL5uCNRCyGViCULaCIIjKYA12UA1MYJhoauRCG8gYsGGRzAQurAqZRGjZFBzhd9kMuHBWtoICuP9w1uDLkH7+Sa2SiMMvjC2Risubq/2D1ijc3V7d9D/GBxhKhtD1311djHdmQzeo5O5d2JCSdEVlBm9Xk1l5u74eZIIrL3lJpbKxJRGHXxibuDtVbeZ9xj8oiY8Od7f/W9sMJvShMW5+MgS9/y69dTHeGdOHjuORJLfauz6MJIkRedOK3JrB35pX0wirvF2zXQ1Y88prie0dLWE2S8cG3oSMggYtOuii/vkY/+Xme4swxiTN8qKs6qbt+mGcTGfzxXK13mx3+8PxdL5cb/fH8/XO4uN8xjDC6v4CGoeI4FqFrjUOsmaVjH2LyVzwBZ+ulS2bWu4b157hy1zABIUUO9VEEePbs+3XSUqJPDpPanuCq6dxvU44Y7OG4bcRNhQl0ff+/4ZqUdhl0vl+mYThIjujNN8o0Cq8w6I2uU+MaD1LQdjMwnG2nq0cOWbQH2xncHO9yHwtU0w7STylyR4rpd0JFCrM5ejXR1ogrQ+iLe8OFq0FdSlW2zk8JiXbxVchDi6LYg0h2mrguh9i9eIa6nyhHwZoQEsgejZkQ9puQPUai/nWWUCKJ2X5dqbNz10tQNgbyBkGVz+BcumFGd7cZ7RJmvdGZCNv636Cn2+Xne7524KngseC+4I76ZZ0uUnpvCezuYl3Mx19PvrQUtrsKRF7HEewdRD9XHSvi1IPeryn8eij8pCckMRkcHAi2ZvOxxWV0LzVdezg7gA=) format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}


/* Product Q&A — ask/login row: Material Forum font icon before label */
.rafina-mp-qa > a[href] {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0.5rem !important;
}

.rafina-mp-qa > a[href] > svg {
  display: none !important;
}

.rafina-mp-qa > a[href]::before {
  content: "\f10b";
  font-family: "rossoland" !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  flex: 0 0 auto !important;
  speak: never;
}

.rafina-mp-qa > a[href]:has(> .rsl-qa-ask-icon)::before {
  content: none !important;
  display: none !important;
}

.rafina-mp-qa > a[href] > .rsl-qa-ask-icon.rl-forum {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin: 0 !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
  vertical-align: middle !important;
  speak: never;
}

.rafina-mp-qa > a[href] > .rsl-qa-ask-icon.rl-forum:before {
  content: "\f10b" !important;
  display: block !important;
  font-family: "rossoland" !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: inherit !important;
}

.rafina-mp-qa > a[href] > span {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* Reviews + Q&A — main body boxes without outer border
   (keep .rafina-mp-qa ask/login box border) */
#mp-reviews > .rafina-mp-review,
#mp-reviews > .overflow-hidden.rounded-2xl,
#mp-qa ul > li.rounded-2xl,
#mp-qa li > .rounded-2xl {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

#mp-qa .rafina-mp-qa {
  border: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  box-shadow: none !important;
}

/* «ثبت دیدگاه» — link-like hover (color only), not solid brand fill */
#mp-reviews button.border-brand-500.text-brand-600:hover,
#mp-reviews button[aria-expanded].border-brand-500:hover {
  background: #fff !important;
  background-color: #fff !important;
  color: var(--rsl-blue-600, #c8102e) !important;
  border-color: var(--rsl-blue-600, #c8102e) !important;
}

/* Review compose / login-gate / success panel under «ثبت دیدگاه» */
#mp-reviews .mb-4 > .rounded-2xl,
#mp-reviews .mb-4 > form.rounded-2xl,
#mp-reviews form.rounded-2xl.border,
#mp-reviews .mb-4 > .bg-success-soft,
#mp-reviews .mb-4 > [class*="border-success"] {
  border: 0 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: none !important;
}

/* Product Q&A — answer panel was flush on inline-end (left in RTL)
   while the question row is padded; pull it in to match the chevron. */
#mp-qa > ul > li > ul {
  margin-inline-end: 0.875rem !important;
  box-sizing: border-box !important;
}

@media (min-width: 640px) {
  #mp-qa > ul > li > ul {
    margin-inline-end: 1rem !important;
  }
}

#mp-qa > ul > li > ul .rounded-xl {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

#mp-qa > ul > li > ul .rounded-xl > .flex {
  width: 100% !important;
  min-width: 0 !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 0.5rem !important;
}

#mp-qa > ul > li > ul .rounded-xl > .flex > .ms-auto {
  margin-inline-start: auto !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}

/* راهنما و شرایط — title size = «محصولات مشابه» (.rafina-drail__title) */
.rsl-guides > h2,
.rsl-guides-after-intro > h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  color: #0f172a !important;
}

@media (min-width: 640px) {
  .rsl-guides > h2,
  .rsl-guides-after-intro > h2 {
    font-size: 18px !important;
  }
}

/* راهنما و شرایط — Material Question Mark / Replay / Balance */
.rsl-guides a.group\/g > span.grid > svg,
.rsl-guides a[href] > span.grid > svg {
  display: none !important;
}

.rsl-guides a > span.grid > .rsl-guides-icon.rl {
  display: inline-block !important;
  width: 18px !important;
  height: 18px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  color: inherit !important;
  speak: never;
}

.rsl-guides .rsl-guides-icon.rl-question-mark:before {
  content: "\f11f" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rsl-guides .rsl-guides-icon.rl-replay:before {
  content: "\f11e" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

.rsl-guides .rsl-guides-icon.rl-balance:before {
  content: "\f119" !important;
  font-family: "rossoland" !important;
  color: inherit !important;
}

/* ------------------------------------------------------------------ */
/* Product rail — GSM “محصولات مشابه” (section + reusable .rf-drail-card) */
/* ------------------------------------------------------------------ */

/* Match intro card width: .rafina-mp content = container − sm:px-5×2 */
.rafina-drail-section.rafina-container,
.rafina-drail-section {
  width: 100% !important;
  max-width: calc(var(--rafina-container, 1220px) - 1.5rem) !important; /* px-3×2 */
  margin-inline: auto !important;
  padding: 20px 16px 16px !important;
  box-sizing: border-box !important;
  background: #fff !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 16px !important; /* rounded-2xl like intro */
  overflow: visible !important;
  position: relative !important;
}

@media (min-width: 640px) {
  .rafina-drail-section.rafina-container,
  .rafina-drail-section {
    max-width: calc(var(--rafina-container, 1220px) - 2.5rem) !important; /* sm:px-5×2 */
    padding: 20px 20px 16px !important; /* sm:p-5 like intro */
  }
}

/* Inside product page, above tabs: already padded by .rafina-mp */
.rafina-mp .rafina-drail-section.rsl-drail-above-tabs,
.rafina-drail-section.rsl-drail-above-tabs {
  max-width: none !important;
  width: 100% !important;
  margin-inline: 0 !important;
  margin-block: 1.5rem 0 !important;
}

.rafina-drail-section .rafina-drail__head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding-inline: 0 !important;
  margin-bottom: 12px !important;
}

/* Same title treatment as «معرفی محصول» */
.rafina-drail-section .rafina-drail__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

@media (min-width: 640px) {
  .rafina-drail-section .rafina-drail__title {
    font-size: 18px !important; /* sm:text-lg */
  }
}

.rafina-drail-section .rafina-drail__title::before {
  content: "" !important;
  display: inline-block !important;
  width: 3px !important;
  height: 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e),
    var(--rsl-blue-600, #c8102e)
  ) !important;
  flex: 0 0 auto !important;
}

/* View-all: heavier text only; same brand blue for text + icon */
.rafina-drail-section .rafina-drail__all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

.rafina-drail-section .rafina-drail__all > span {
  font-weight: 700 !important;
  color: inherit !important;
}

.rafina-drail-section .rafina-drail__all svg {
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important; /* keep icon lighter than text */
  color: inherit !important;
  flex: 0 0 auto !important;
}

.rafina-drail-section .rafina-drail__all:hover,
.rafina-drail-section .rafina-drail__all:focus-visible {
  color: var(--rsl-blue-600, #c8102e) !important;
}

.rsl-drail-trackwrap {
  position: relative !important;
  min-width: 0 !important;
}

/* Fixed whole columns — no half-cut card */
.rafina-drail {
  --rsl-drail-cols: 2;
  gap: 0 !important;
  padding-block: 4px !important;
  scrollbar-width: none !important;
  scroll-snap-type: none !important;
}

@media (min-width: 640px) {
  .rafina-drail {
    --rsl-drail-cols: 3;
  }
}

@media (min-width: 900px) {
  .rafina-drail {
    --rsl-drail-cols: 4;
  }
}

@media (min-width: 1100px) {
  .rafina-drail {
    --rsl-drail-cols: 5;
  }
}

.rafina-drail::-webkit-scrollbar {
  display: none !important;
}

/* GSM-like prev/next — soft circle, brand blue chevron */
.rsl-drail-nav {
  position: absolute !important;
  top: 42% !important;
  z-index: 6 !important;
  display: none !important;
  place-items: center !important;
  width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: #f7f8fa !important;
  color: var(--rsl-blue, #ef394e) !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transform: translateY(-50%) !important;
}

@media (min-width: 1024px) {
  .rsl-drail-nav {
    display: grid !important;
  }
}

/* Physical sides: prev = right, next = left (matches GSM RTL) */
.rsl-drail-nav--prev {
  right: -12px !important;
  left: auto !important;
}

.rsl-drail-nav--next {
  left: -12px !important;
  right: auto !important;
}

.rsl-drail-nav:hover:not(:disabled) {
  background: #fff0f3 !important;
  color: var(--rsl-blue-600, #c8102e) !important;
}

.rsl-drail-nav:disabled {
  color: #94a3b8 !important;
  cursor: not-allowed !important;
  background: #f7f8fa !important;
}

.rsl-drail-nav svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
  fill: none !important;
}

.rf-drail-card {
  position: relative !important;
  display: flex !important;
  flex: 0 0 calc(100% / var(--rsl-drail-cols, 5)) !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  width: calc(100% / var(--rsl-drail-cols, 5)) !important;
  min-width: calc(100% / var(--rsl-drail-cols, 5)) !important;
  max-width: calc(100% / var(--rsl-drail-cols, 5)) !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 16px 14px 18px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  border-inline-start: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  box-shadow: none !important;
  color: #0f172a !important;
  transform: none !important;
  transition: none !important;
}

.rf-drail-card:first-child {
  border-inline-start: none !important;
}

.rf-drail-card:hover,
.rf-drail-card:focus-within {
  transform: none !important;
  box-shadow: none !important;
  border-color: transparent !important;
  border-inline-start-color: var(--rafina-line-soft, #e3e8ef) !important;
}

.rf-drail-card:first-child:hover,
.rf-drail-card:first-child:focus-within {
  border-inline-start-color: transparent !important;
}

/* Hide wishlist / compare / cart — GSM similar items are browse-only */
.rf-drail-card > .rf-cact,
.rf-drail-card .rf-drail-card__buy {
  display: none !important;
}

.rf-drail-card__img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  margin: 0 0 12px !important;
  padding: 4px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/*
 * Color pill under product image (archive + similar cards).
 * Soft surface = site page bg (not foreign #f0f0f1).
 * Default when product has no pa_color: single black dot.
 */
.rsl-card-colors {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  pointer-events: none !important;
}

.rsl-card-colors__pill {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  min-height: 18px !important;
  padding: 4px 9px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--rsl-page-bg, #f7f8fa) !important;
  box-shadow: none !important;
}

.rsl-card-colors__dot {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  flex: 0 0 10px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  border-radius: 50% !important;
  /* Color comes from --rsl-dot (set inline). Do NOT force a hex here —
     background:!important would override style.backgroundColor and paint every dot black. */
  background: var(--rsl-dot, #111827) !important;
}

.rsl-card-colors__dot.is-light {
  border-color: rgba(15, 23, 42, 0.18) !important;
}

.rafina-product-card .rsl-card-colors {
  margin: 2px 0 10px !important;
}

.rf-drail-card .rsl-card-colors,
.rf-dcard .rsl-card-colors {
  margin: -4px 0 10px !important;
}

.rf-drail-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}

.rf-drail-card__name {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-align: right !important;
  text-decoration: none !important;
}

.rf-drail-card__attr {
  display: block !important;
  margin: 0 0 14px !important;
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-align: right !important;
}

.rf-drail-card__attr-text {
  color: inherit !important;
  margin: 0 !important;
}

/* Discount + price row (JS wraps into .rsl-drail-card__pricerow) */
.rsl-drail-card__pricerow {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 8px !important;
  width: 100% !important;
  margin-top: auto !important;
}

.rf-drail-card__off,
.rsl-drail-card__pricerow > .rf-drail-card__off {
  position: static !important;
  inset: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 24px !important;
  padding: 0 8px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  box-shadow: none !important;
  white-space: nowrap !important;
  order: 0;
  flex: 0 0 auto !important;
}

.rf-drail-card .rf-price,
.rf-drail-card__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  order: 1;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.rf-drail-card .rf-price__now,
.rf-drail-card .rf-price__now .amount,
.rf-drail-card .rf-price__now bdi {
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rf-drail-card .rf-price__now .woocommerce-Price-currencySymbol {
  margin-inline-start: 4px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rf-drail-card .rf-price__was,
.rf-drail-card .rf-price__was .amount,
.rf-drail-card .rf-price__was bdi,
.rf-drail-card .rf-price__was del {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

/* Line 1: sale/now — Line 2: was (before discount) */
.rf-drail-card .rf-price > .rf-price__now {
  order: 1 !important;
}
.rf-drail-card .rf-price > .rf-price__was {
  order: 2 !important;
}

.rf-drail-card .rf-price__was .woocommerce-Price-currencySymbol {
  display: none !important;
}

/* Before JS wrap: keep badge in flow (not over image) */
.rf-drail-card > .rf-drail-card__off {
  position: static !important;
  align-self: flex-start !important;
  margin-bottom: 8px !important;
}

/* ------------------------------------------------------------------ */
/* Product card hover — show second gallery image                      */
/* ------------------------------------------------------------------ */

.rafina-product-card__image.rsl-has-hover-img,
.rafina-deal__img.rsl-has-hover-img,
.rf-drail-card__img.rsl-has-hover-img,
.rf-dcard__img.rsl-has-hover-img {
  position: relative !important;
  overflow: hidden !important;
}

.rsl-has-hover-img > img:not(.rsl-hover-img) {
  transition: opacity 0.28s ease !important;
}

.rsl-has-hover-img > img.rsl-hover-img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 0.28s ease !important;
  z-index: 1 !important;
}

/* Drail image wrap has 4px padding — keep hover image inside content box */
.rf-drail-card__img.rsl-has-hover-img > img.rsl-hover-img {
  inset: 4px !important;
  width: auto !important;
  height: auto !important;
}

.rafina-product-card:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rafina-deal__card:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rf-drail-card:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rf-dcard:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rafina-product-card.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rafina-deal__card.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rf-drail-card.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img),
.rf-dcard.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img) {
  opacity: 0 !important;
}

.rafina-product-card:hover .rsl-has-hover-img > img.rsl-hover-img,
.rafina-deal__card:hover .rsl-has-hover-img > img.rsl-hover-img,
.rf-drail-card:hover .rsl-has-hover-img > img.rsl-hover-img,
.rf-dcard:hover .rsl-has-hover-img > img.rsl-hover-img,
.rafina-product-card.is-rsl-img-hover .rsl-has-hover-img > img.rsl-hover-img,
.rafina-deal__card.is-rsl-img-hover .rsl-has-hover-img > img.rsl-hover-img,
.rf-drail-card.is-rsl-img-hover .rsl-has-hover-img > img.rsl-hover-img,
.rf-dcard.is-rsl-img-hover .rsl-has-hover-img > img.rsl-hover-img {
  opacity: 1 !important;
}

@media (hover: none) {
  .rsl-has-hover-img > img.rsl-hover-img {
    display: none !important;
  }

  .rafina-product-card:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rafina-deal__card:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rf-drail-card:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rf-dcard:hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rafina-product-card.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rafina-deal__card.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rf-drail-card.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img),
  .rf-dcard.is-rsl-img-hover .rsl-has-hover-img > img:not(.rsl-hover-img) {
    opacity: 1 !important;
  }
}

/* Search idle suggest → popular list (hide theme chips; reserve height) */
.rafina-search-wrap .rafina-search-panel:not(:has(.rafina-search-list)) {
  min-height: 236px !important;
}
.rafina-search-wrap
  .rafina-search-panel:not(:has(.rafina-search-list))
  .rafina-search-heading,
.rafina-search-wrap
  .rafina-search-panel:not(:has(.rafina-search-list))
  .rafina-search-chips {
  display: none !important;
}

/* Idle open (empty / suggest / our popular) — same white card shell */
.rafina-search-wrap .rafina-search-panel:not(:has(.rafina-search-list)),
.rafina-search-wrap .rafina-search-panel.rsl-search-panel--popular {
  position: absolute !important;
  top: calc(100% + 14px) !important;
  width: 100% !important;
  inset-inline: 0 !important;
  left: auto !important;
  right: auto !important;
  margin-left: 0 !important;
  padding: 12px 10px 10px !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  /* Same border token as .rafina-nav-search */
  border: 1px solid var(--rafina-border-2) !important;
  border-radius: var(--rsl-radius-sm, 16px) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08) !important;
  z-index: 80 !important;
}

.rafina-search-wrap .rafina-search-panel.rsl-classic-search-panel[hidden],
.rafina-search-wrap .rafina-search-panel.rsl-classic-search-panel[style*="display: none"] {
  display: none !important;
}

/* Classic pages keep panel in DOM — force visible when open */
.rafina-search-wrap.is-open > .rafina-search-panel.rsl-classic-search-panel {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.rsl-classic-search-empty {
  padding: 18px 12px;
  text-align: center;
  color: var(--rsl-muted, #64748b);
  font-size: 13px;
  font-weight: 500;
}

.rsl-search-popular {
  display: block;
  direction: rtl;
  /* Reserve idle-panel height so it does not pop after fetch */
  min-height: 220px;
}

.rsl-search-popular--skel {
  pointer-events: none;
}

.rsl-search-popular__skel-title {
  display: block;
  width: 120px;
  height: 14px;
  border-radius: 8px;
}

.rsl-search-popular__card--skel {
  cursor: default;
}

.rsl-search-popular__skel-media {
  display: block;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 10px;
}

.rsl-search-popular__skel-name {
  display: block;
  width: 72%;
  height: 13px;
  border-radius: 6px;
}

.rsl-search-popular__skel-price {
  display: block;
  width: 40%;
  height: 12px;
  margin-top: 4px;
  border-radius: 6px;
}

.rsl-search-popular__head {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 2px 6px 10px;
  margin-bottom: 2px;
}

.rsl-search-popular__bar {
  width: 3px;
  height: 16px;
  flex: 0 0 3px;
  border-radius: 9999px;
  background: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e) 0%,
    var(--rsl-blue-600, #c8102e) 100%
  );
}

.rsl-search-popular__star,
.rsl-search-popular__count,
.rsl-search-popular__index,
.rsl-search-popular__chev {
  display: none !important;
}

.rsl-search-popular__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--rsl-ink, #020617);
}

.rsl-search-popular__rail {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
}

.rsl-search-popular__card {
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  padding: 8px 6px;
  border-radius: 10px;
  text-decoration: none !important;
  color: inherit;
  border: 0;
  background: transparent;
  box-shadow: none;
  min-width: 0;
  transition: background 0.15s ease;
}

.rsl-search-popular__card:hover {
  background: var(--rsl-page-bg, #f7f8fa);
}

.rsl-search-popular__card:hover .rsl-search-popular__name {
  color: #ef394e !important;
}

.rsl-search-popular__media,
.rsl-search-popular__noimg {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 10px;
  background: var(--rsl-page-bg, #f7f8fa);
  border: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rsl-search-popular__media > img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  padding: 3px;
  box-sizing: border-box;
}

.rsl-search-popular__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1 1 auto;
  text-align: right;
}

.rsl-search-popular__name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  overflow: hidden;
  font-size: 13px;
  font-weight: 400 !important;
  line-height: 1.35;
  color: var(--rsl-ink, #020617);
  transition: color 0.15s ease;
}

.rsl-search-popular__price {
  display: block;
  font-size: 12px;
  font-weight: 700 !important;
  line-height: 1.3;
  color: var(--rsl-ink, #020617);
}

.rsl-search-popular__price del,
.rsl-search-popular__price .woocommerce-Price-currencySymbol {
  color: inherit;
}

.rsl-search-popular__price del {
  opacity: 0.45;
  font-weight: 500;
  margin-inline-start: 4px;
  font-size: 11px;
}

/* ------------------------------------------------------------------ */
/* Archive / shop product cards → same look as .rf-drail-card (similar) */
/* ------------------------------------------------------------------ */

.rafina-product-grid.has-cols,
.rafina-archive-wrap .rafina-product-grid,
.rafina-shop-archive .rafina-product-grid,
[class*="shop_archive"] .rafina-product-grid {
  gap: 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-color: transparent !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  outline: none !important;
  overflow: hidden !important;
  padding: 0 !important;
}


/*
 * Shop filter column — spend the latest +0.5 container col here so the
 * product grid stays 4 equal columns at the same card width.
 * Revert: --rsl-container-add-cols: 1 and --rsl-flt-extra-cols: 0
 *   (or drop this block; theme default is flex 0 0 240px).
 * Current filter share: +0.2 col (was +0.3).
 */
@media (min-width: 901px) {
  /*
   * Keep the sticky filter's containing grid at least one viewport tall.
   * Otherwise a short filtered result set pulls the whole filter upward.
   */
  .rafina-archive-wrap.rsl-archive--toolbar {
    min-height: 100vh !important;
    align-content: start !important;
  }

  .rafina-archive-layout > .rf-flt,
  .rafina-archive-layout > .rafina-archive-sidebar {
    flex: 0 0 var(--rsl-flt-width, 240px) !important;
    width: var(--rsl-flt-width, 240px) !important;
    max-width: var(--rsl-flt-width, 240px) !important;
  }
}

/*
 * Sticky filter offset = same air under header as product sticky cards
 * (.rsl-gallery-card / .rmp-card → top: header-h + 2rem ≈ 104px).
 * Theme default --rf-flt-top: 90px was too tight (~2px under header).
 */
.rf-flt,
.rafina-archive-sidebar,
.rafina-archive-sidebar .rf-flt {
  --rf-flt-top: calc(var(--header-h, 72px) + 2rem) !important;
}

.rf-flt {
  top: var(--rf-flt-top) !important;
}

/* Filter title — no leading icon */
.rf-flt__top > h4 > .rsl-flt-title-icon,
.rf-flt__sheet-title > .rsl-flt-title-icon,
.rf-flt__top > h4 > i.rl,
.rf-flt__sheet-title > i.rl,
.rf-flt__top > h4 > svg,
.rf-flt__sheet-title > svg {
  display: none !important;
}

/*
 * Filter stock/sale switches — Digikala PLP outline switch shape
 * (38×20 track, 10px knob), Rossoland tokens for color.
 */
.rf-flt__sec.is-plain {
  padding-block: 12px !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
  line-height: 1.5 !important;
  color: #0f172a !important;
}

/* Text on the start edge (right in RTL); switch opposite — Digikala row. */
.rf-flt__sec.is-plain .rf-flt__toggle > span {
  order: 1 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  text-align: start !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #0f172a !important;
  line-height: 1.5 !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle > input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  order: 2 !important;
  position: relative !important;
  box-sizing: border-box !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 2px solid var(--rsl-blue, #ef394e) !important;
  border-radius: 9999px !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition:
    background-color 0.2s ease-out,
    border-color 0.2s ease-out !important;
  accent-color: transparent !important;
  filter: none !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle > input[type="checkbox"]::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 3px !important;
  right: auto !important;
  width: 10px !important;
  height: 10px !important;
  margin: 0 !important;
  border-radius: 50% !important;
  background-color: var(--rsl-blue, #ef394e) !important;
  transform: translateY(-50%) !important;
  transition:
    left 0.2s ease-out,
    right 0.2s ease-out,
    background-color 0.2s ease-out !important;
  pointer-events: none !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle > input[type="checkbox"]:checked {
  background-color: var(--rsl-blue, #ef394e) !important;
  border-color: var(--rsl-blue, #ef394e) !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle > input[type="checkbox"]:checked::before {
  left: auto !important;
  right: 3px !important;
  background-color: #ffffff !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle > input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--rsl-blue, #ef394e) !important;
  outline-offset: 2px !important;
}

/*
 * Every checkbox filter — category, brand, operating system, and future
 * checkbox groups — uses the same Digikala-like row and control proportions.
 */
.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__body {
  padding-bottom: 0 !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__list {
  gap: 0 !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__list > li {
  min-height: 57px !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt {
  position: relative !important;
  min-height: 57px !important;
  padding: 12px 0 !important;
  gap: 16px !important;
  border-bottom: 1px solid var(--rsl-line, #e3e8ef) !important;
  border-radius: 0 !important;
  color: var(--rsl-ink, #0f172a) !important;
  background: transparent !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt:hover {
  background: transparent !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt-mark {
  display: none !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--rsl-ink, #0f172a) !important;
  border-radius: 4px !important;
  background: var(--rsl-card, #ffffff) !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"]::after {
  content: "\f133" !important; /* rl-check-600, Material Symbols outlined wght 600 */
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  font-family: "rossoland" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: var(--rsl-ink, #0f172a) !important;
  opacity: 0 !important;
  transform: none !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"]:checked {
  border-color: var(--rsl-blue, #ef394e) !important;
  background: var(--rsl-blue, #ef394e) !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"]:checked::after {
  opacity: 1 !important;
  color: #ffffff !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--rsl-blue, #ef394e) !important;
  outline-offset: 2px !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt-label {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 32px !important;
  color: var(--rsl-ink, #0f172a) !important;
}

/*
 * Price filter — Digikala PLP proportions with Rossoland theme tokens.
 * Reuse the existing React values/slider; CSS only changes their visual order.
 * Keep every collapsible head at the same size so opening the price body
 * (which React mounts on demand) does not make its closed header jump.
 */
.rf-flt__sec:not(.is-plain) .rf-flt__head {
  min-height: 56px !important;
  padding-block: 12px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--rsl-ink, #0f172a) !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__chev {
  color: var(--rsl-flt-chev-fg, var(--rsl-muted, #64748b)) !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__body {
  padding: 0 20px 24px !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__price {
  display: flex !important;
  flex-direction: column !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-values {
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  width: 100% !important;
  height: auto !important;
  color: var(--rafina-text-dim, var(--rsl-muted, #475569)) !important;
  font-size: 15px !important;
  line-height: 1 !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-values > span {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) 30px !important;
  align-items: center !important;
  width: 100% !important;
  height: 55px !important;
  color: var(--rafina-text-dim, var(--rsl-muted, #475569)) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-values > span > b {
  display: block !important;
  height: 55px !important;
  border-bottom: 1px solid var(--rsl-line, #e3e8ef) !important;
  color: var(--rsl-ink, #020617) !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  line-height: 55px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-values > span::after {
  content: "تومان" !important;
  display: block !important;
  white-space: nowrap !important;
  color: var(--rsl-muted, #64748b) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  text-align: center !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider {
  order: 2 !important;
  width: auto !important;
  height: 38px !important;
  margin: 38px 10px 0 !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-track,
.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-fill {
  top: 8px !important;
  height: 5px !important;
  border-radius: 3px !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-track {
  background: var(--rsl-line, #e3e8ef) !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider-fill {
  background: var(--rsl-blue, #ef394e) !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__handle {
  top: 8px !important;
  box-sizing: border-box !important;
  width: 20px !important;
  height: 20px !important;
  border: 5px solid var(--rsl-blue, #ef394e) !important;
  border-radius: 50% !important;
  background: var(--rsl-card, #ffffff) !important;
  box-shadow: none !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__slider::after {
  content: "" !important;
  position: absolute !important;
  z-index: 0 !important;
  top: 25px !important;
  left: 0 !important;
  width: 100% !important;
  height: 5px !important;
  background: linear-gradient(
    to right,
    var(--rsl-line-2, #cbd5e1) 0 2px,
    transparent 2px calc(20% - 1px),
    var(--rsl-line-2, #cbd5e1) calc(20% - 1px) calc(20% + 1px),
    transparent calc(20% + 1px) calc(40% - 1px),
    var(--rsl-line-2, #cbd5e1) calc(40% - 1px) calc(40% + 1px),
    transparent calc(40% + 1px) calc(60% - 1px),
    var(--rsl-line-2, #cbd5e1) calc(60% - 1px) calc(60% + 1px),
    transparent calc(60% + 1px) calc(80% - 1px),
    var(--rsl-line-2, #cbd5e1) calc(80% - 1px) calc(80% + 1px),
    transparent calc(80% + 1px) calc(100% - 2px),
    var(--rsl-line-2, #cbd5e1) calc(100% - 2px) 100%
  ) !important;
  pointer-events: none !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__price-hint {
  order: 3 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  margin: 0 !important;
  color: var(--rsl-muted, #64748b) !important;
  font-size: 0 !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__price-hint::before,
.rf-flt__sec:has(.rf-flt__price) .rf-flt__price-hint::after {
  font-size: 12px !important;
  color: var(--rsl-muted, #64748b) !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__price-hint::before {
  content: "ارزان‌ترین" !important;
}

.rf-flt__sec:has(.rf-flt__price) .rf-flt__price-hint::after {
  content: "گران‌ترین" !important;
}

/*
 * Color filter — five rounded cards per row.
 * Card chrome uses site tokens; the chip keeps each term's own color.
 */
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__body {
  padding-bottom: 16px !important;
  overflow: visible !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatches {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  grid-auto-rows: auto !important;
  gap: 14px 8px !important;
  width: 100% !important;
  padding: 6px 0 2px !important;
  overflow: visible !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch {
  justify-self: stretch !important;
  align-self: start !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 0 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
  transition: none !important;
  filter: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:hover,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:active,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:focus,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch.is-on,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch[aria-pressed="true"] {
  transform: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:hover::after,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:active::after {
  box-shadow: none !important;
  transform: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch::after {
  content: "" !important;
  display: block !important;
  width: 100% !important;
  height: 42px !important;
  border: 1px solid var(--rsl-line, #e3e8ef) !important;
  border-radius: 9px !important;
  background: var(--rsl-card, #ffffff) !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch::before {
  content: "" !important;
  position: absolute !important;
  z-index: 1 !important;
  top: 9px !important;
  left: 50% !important;
  width: calc(100% - 14px) !important;
  height: 24px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: linear-gradient(
    to left,
    var(--rsl-swatch, #64748b),
    color-mix(in srgb, var(--rsl-swatch, #64748b) 62%, white),
    color-mix(in srgb, var(--rsl-swatch, #64748b) 32%, white)
  ) !important;
  transform: translateX(-50%) !important;
  pointer-events: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch.is-light::before,
.rf-flt__sec:has(.rf-flt__swatches)
  .rf-flt__swatch[aria-label="سفید"]::before {
  border: 1px solid var(--rsl-line, #e3e8ef) !important;
}

.rf-flt__sec:has(.rf-flt__swatches)
  .rf-flt__swatch[aria-pressed="true"]::after,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch.is-on::after {
  border: 1px solid var(--rsl-blue, #ef394e) !important;
  box-shadow: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:focus-visible {
  outline: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch:focus-visible::after {
  border-color: var(--rsl-blue, #ef394e) !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch-tip {
  display: block !important;
  position: absolute !important;
  top: 46px !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--rsl-ink, #020617) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 18px !important;
  text-align: center !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: none !important;
}

.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch-tip::before,
.rf-flt__sec:has(.rf-flt__swatches) .rf-flt__swatch-tip::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

/*
 * Premium Rossoland filter treatment.
 * Keep the existing React structure and behavior; only refine hierarchy,
 * surfaces and states with the site's own color tokens.
 */
.rf-flt__clear {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--rafina-deal-sale, #d32f2f) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.rf-flt__clear:hover,
.rf-flt__clear:focus-visible {
  border: 0 !important;
  background: transparent !important;
  color: var(--rafina-deal-sale, #d32f2f) !important;
  text-decoration: underline !important;
}

.rf-flt__sec.is-plain,
.rf-flt__sec:not(.is-plain) {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--rsl-line, #e3e8ef) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.rf-flt .rf-flt__sec:last-child {
  border-bottom: 0 !important;
}

.rf-flt__sec.is-plain {
  padding: 12px 4px !important;
}

.rf-flt__sec.is-plain .rf-flt__toggle > span {
  font-size: 14px !important;
  font-weight: 700 !important;
}

.rf-flt__sec:not(.is-plain) {
  padding: 0 !important;
  overflow: visible !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__head {
  min-height: 0 !important;
  padding: 12px 4px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rsl-ink, #0f172a) !important;
  background: transparent !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__title {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  color: var(--rsl-ink, #0f172a) !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__head:hover,
.rf-flt__sec.is-open > .rf-flt__head,
.rf-flt__sec.is-open > .rf-flt__head .rf-flt__title {
  color: var(--rsl-ink, #0f172a) !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__chev {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 9px !important;
  background: var(--rsl-flt-chev-bg) !important;
  color: var(--rsl-flt-chev-fg, var(--rsl-muted, #64748b)) !important;
  transform: none !important;
  transition:
    background-color 0.18s ease,
    color 0.18s ease !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__chev > svg,
.rf-flt__sec:not(.is-plain) .rf-flt__chev > i.rl {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}

.rf-flt__sec:not(.is-plain) .rf-flt__chev::before {
  content: "\f12c" !important; /* rl-expand-more, Material Symbols outlined wght 400 */
  display: block !important;
  font-family: "rossoland" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 1 !important;
  width: 16px !important;
  height: 16px !important;
  flex: 0 0 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  transform: rotate(0deg) !important;
  transform-origin: center !important;
  transition: transform 0.18s ease !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rf-flt__sec:not(.is-plain):not(.is-open) .rf-flt__head:hover .rf-flt__chev {
  background: var(--rsl-flt-chev-bg-hover) !important;
  color: var(--rsl-flt-chev-fg-hover, var(--rsl-blue, #ef394e)) !important;
}

.rf-flt__sec.is-open > .rf-flt__head .rf-flt__chev,
.rf-flt__sec.is-open > .rf-flt__head:hover .rf-flt__chev {
  background: var(--rsl-flt-chev-bg-on) !important;
  color: var(--rsl-flt-chev-fg-on, var(--rsl-blue, #ef394e)) !important;
  transform: none !important;
}

.rf-flt__sec.is-open > .rf-flt__head .rf-flt__chev::before {
  transform: rotate(180deg) !important;
}

.rf-flt__badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 20px !important;
  height: 20px !important;
  margin-inline-start: 7px !important;
  padding: 0 6px !important;
  border-radius: 999px !important;
  background: var(--rsl-blue-soft, #fff0f3) !important;
  color: var(--rsl-blue-600, #c8102e) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

/* Active section: small presence dot, same fill as the accordion chip. */
.rf-flt__sec .rf-flt__title .rf-flt__badge {
  display: block !important;
  width: 4px !important;
  height: 4px !important;
  min-width: 4px !important;
  min-height: 4px !important;
  max-width: 4px !important;
  max-height: 4px !important;
  flex: 0 0 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--rsl-flt-chev-fg-hover, var(--rsl-blue, #ef394e)) !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  overflow: hidden !important;
  text-indent: 100% !important;
  white-space: nowrap !important;
  align-self: center !important;
  position: relative !important;
  top: -2px !important;
}

.rf-flt__search {
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
  height: 42px !important;
  padding: 10px 12px !important;
  border: 1px solid var(--rsl-line, #e3e8ef) !important;
  border-radius: 11px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
}

.rf-flt__q-input {
  -webkit-appearance: textfield !important;
  appearance: textfield !important;
}

.rf-flt__search:focus,
.rf-flt__search:focus-visible {
  border-color: var(--rsl-line, #e3e8ef) !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.rf-flt__search::-webkit-search-cancel-button,
.rf-flt__search::-webkit-search-decoration,
.rf-flt__search::-ms-clear {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

.rf-flt,
.rf-flt__panel {
  overflow-x: hidden !important;
}

.rf-flt__scroll {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: var(--rsl-line-2, #cbd5e1) transparent !important;
}

.rf-flt__scroll::-webkit-scrollbar {
  width: 4px !important;
  height: 0 !important;
}

.rf-flt__scroll::-webkit-scrollbar-track {
  background: transparent !important;
}

.rf-flt__scroll::-webkit-scrollbar-thumb {
  border-radius: 999px !important;
  background: var(--rsl-line-2, #cbd5e1) !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__list > li {
  min-height: 52px !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt {
  min-height: 52px !important;
  padding: 10px 0 !important;
  gap: 12px !important;
  border-bottom: 1px solid var(--rsl-line, #e3e8ef) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt:hover,
.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt:has(> input[type="checkbox"]:checked),
.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt:has(> input[type="checkbox"]:checked):hover {
  background: transparent !important;
  border-bottom-color: var(--rsl-line, #e3e8ef) !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"] {
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  border-width: 1px !important;
  border-color: var(--rsl-ink, #0f172a) !important;
  border-radius: 6px !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt
  > input[type="checkbox"]:checked {
  border-color: var(--rsl-blue, #ef394e) !important;
  background: var(--rsl-blue, #ef394e) !important;
  box-shadow: none !important;
}

.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"]) .rf-flt__opt-label,
.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt:hover
  .rf-flt__opt-label,
.rf-flt__sec:has(.rf-flt__opt > input[type="checkbox"])
  .rf-flt__opt:has(> input[type="checkbox"]:checked)
  .rf-flt__opt-label {
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 30px !important;
  color: var(--rsl-ink, #0f172a) !important;
}

.rf-flt__sec:not(.is-plain)
  .rf-flt__list
  > li:last-child
  .rf-flt__opt {
  border-bottom: 0 !important;
}

@media (min-width: 901px) {
  .rafina-archive-layout > .rf-flt,
  .rafina-archive-wrap.rsl-archive--toolbar .rafina-archive-layout > .rf-flt {
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 16px !important;
    box-shadow: none !important;
  }

  .rf-flt__panel {
    padding: 0 !important;
  }

  .rf-flt .rf-flt__sec:last-child.is-open .rf-flt__body {
    padding-bottom: 12px !important;
  }

  .rf-flt__top {
    min-height: 0 !important;
    margin: 0 !important;
    padding: 12px 16px 10px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .rf-flt .rf-flt__sec.is-plain {
    padding: 12px 16px !important;
  }

  .rf-flt .rf-flt__sec:not(.is-plain) .rf-flt__head {
    padding-inline: 16px !important;
  }

  .rf-flt .rf-flt__sec:not(.is-plain) .rf-flt__body {
    padding-inline: 16px !important;
  }

  .rf-flt__top > h4 {
    font-size: 18px !important;
    font-weight: 700 !important;
  }
}

.rafina-product-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 16px 14px 18px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  /* Internal grid lines only — outer frame is on .rafina-product-grid */
  border-inline-end: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  border-bottom: 1px solid var(--rafina-line-soft, #e3e8ef) !important;
  box-shadow: none !important;
  color: #0f172a !important;
  overflow: visible !important;
  transform: none !important;
}

/*
 * Last column / last row: drop the inner edge so the grid’s own border
 * draws the complete outer perimeter (no double line).
 */
@media (max-width: 639px) {
  .rafina-product-grid.has-cols > .rafina-product-card:nth-child(2n) {
    border-inline-end: none !important;
  }
  .rafina-product-grid.has-cols
    > .rafina-product-card:nth-child(2n + 1):nth-last-child(-n + 2),
  .rafina-product-grid.has-cols
    > .rafina-product-card:nth-child(2n + 1):nth-last-child(-n + 2)
    ~ .rafina-product-card {
    border-bottom: none !important;
  }
}

@media (min-width: 640px) and (max-width: 899px) {
  .rafina-product-grid.has-cols > .rafina-product-card:nth-child(3n) {
    border-inline-end: none !important;
  }
  .rafina-product-grid.has-cols
    > .rafina-product-card:nth-child(3n + 1):nth-last-child(-n + 3),
  .rafina-product-grid.has-cols
    > .rafina-product-card:nth-child(3n + 1):nth-last-child(-n + 3)
    ~ .rafina-product-card {
    border-bottom: none !important;
  }
}

@media (min-width: 900px) {
  .rafina-product-grid.has-cols > .rafina-product-card:nth-child(4n) {
    border-inline-end: none !important;
  }
  .rafina-product-grid.has-cols
    > .rafina-product-card:nth-child(4n + 1):nth-last-child(-n + 4),
  .rafina-product-grid.has-cols
    > .rafina-product-card:nth-child(4n + 1):nth-last-child(-n + 4)
    ~ .rafina-product-card {
    border-bottom: none !important;
  }
}

.rafina-product-card:hover,
.rafina-product-card:focus-within {
  transform: none !important;
  box-shadow: none !important;
  background: #fff !important;
}

.rafina-product-card__link {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  min-height: 0 !important;
  color: inherit !important;
  text-decoration: none !important;
}

.rafina-product-card__image {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  margin: 0 0 12px !important;
  padding: 4px !important;
  background: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

.rafina-product-card__image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  mix-blend-mode: multiply;
}

.rafina-product-card__body {
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  color: inherit !important;
}

.rafina-product-card__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
  margin: 0 0 8px !important;
  padding: 0 !important;
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  text-align: right !important;
}

.rafina-product-card__foot {
  display: block !important;
  margin-top: auto !important;
  padding: 0 !important;
  min-height: 0 !important;
  background: transparent !important;
  border: none !important;
  color: inherit !important;
}

/* Browse-only like similar rail — hide cart / wishlist / compare on cards */
.rafina-product-card__cart-btn,
.rafina-product-card .rf-cact,
.rafina-product-card [class*="wishlist"],
.rafina-product-card [class*="compare"],
.rafina-product-grid .rf-cact {
  display: none !important;
}

.rafina-product-card .rsl-drail-card__pricerow {
  margin-top: 14px !important;
}

.rafina-product-card .rf-price,
.rafina-product-card__price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  color: inherit !important;
  order: 1;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

.rafina-product-card .rf-price__now,
.rafina-product-card .rf-price__now .amount,
.rafina-product-card .rf-price__now bdi {
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
}

.rafina-product-card .rf-price__now .woocommerce-Price-currencySymbol {
  margin-inline-start: 4px !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rafina-product-card .rf-price__was,
.rafina-product-card .rf-price__was .amount,
.rafina-product-card .rf-price__was bdi,
.rafina-product-card .rf-price__was del {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
}

/* Line 1: sale/now — Line 2: was (before discount) */
.rafina-product-card .rf-price > .rf-price__now {
  order: 1 !important;
}
.rafina-product-card .rf-price > .rf-price__was {
  order: 2 !important;
}

.rafina-product-card .rf-price__was .woocommerce-Price-currencySymbol {
  display: none !important;
}

/* Native off chip before JS promote — keep readable */
.rafina-product-card .rf-price__off {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 40px !important;
  height: 24px !important;
  padding: 0 8px !important;
  margin-inline-start: 6px !important;
  border-radius: 999px !important;
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.rafina-product-card .rsl-drail-card__pricerow > .rf-drail-card__off,
.rafina-product-card > .rf-drail-card__off {
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
}

/*
 * Home cattiles — soft cool plate (restored blue gradient).
 * Form: rounded square ≈ 24.5%. Gradient: transparent → #d8e0e7 → soft blue tip.
 */
.rafina-cats--circle,
.rafina-container.rafina-cats--circle,
.rafina-cats-section.rafina-cats--circle {
  --rafina-cat-tile-1: transparent;
  --rafina-cat-tile-2: transparent;
  --rsl-cat-tile-top: transparent;
  --rsl-cat-tile-mid: rgb(216 224 231 / 0.42);
  --rsl-cat-tile-foot: #d8e0e7;
  --rsl-cat-tile-foot-deep: #b7c5d3;
  --rsl-cat-tile-radius: 24.5%;
  background: transparent !important;
  width: 100% !important;
  max-width: var(--rafina-container, 1220px) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

.rafina-cats--circle .rafina-cats-box,
.rafina-cats--circle .rafina-cats-box.rsl-cats-box--split {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding-block: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

/* Same chrome as .rafina-drail__head / محبوب‌ترین‌ها */
.rafina-cats--circle .rsl-cats-heading {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.rafina-cats--circle .rsl-cats-heading__title {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
}

.rafina-cats--circle .rsl-cats-heading__title::before {
  content: "" !important;
  display: inline-block !important;
  width: 3px !important;
  height: 16px !important;
  border-radius: 999px !important;
  background: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e),
    var(--rsl-blue-600, #c8102e)
  ) !important;
  flex: 0 0 auto !important;
}

.rafina-cats--circle .rsl-cats-heading__all {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

.rafina-cats--circle .rsl-cats-heading__all > span {
  font-weight: 700 !important;
  color: inherit !important;
}

.rafina-cats--circle .rsl-cats-heading__all svg {
  width: 14px !important;
  height: 14px !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  color: inherit !important;
  flex: 0 0 auto !important;
}

.rafina-cats--circle .rsl-cats-heading__all:hover,
.rafina-cats--circle .rsl-cats-heading__all:focus-visible {
  color: var(--rsl-blue-600, #c8102e) !important;
}

@media (min-width: 640px) {
  .rafina-cats--circle .rsl-cats-heading__title {
    font-size: 18px !important;
  }
}

.rafina-cats--circle .rafina-cats-row {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 12px 10px !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-block: 4px 2px !important;
  padding-inline: 0 !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  box-sizing: border-box !important;
}

.rafina-cats--circle .rafina-cats-row::-webkit-scrollbar {
  display: none !important;
}

.rafina-cats--circle .rafina-cat-item,
.rafina-cats--circle a.rafina-cat-item.rsl-cat-more {
  width: 121px !important;
  flex: 0 0 121px !important;
  text-decoration: none !important;
  color: inherit !important;
}

.rafina-cats--circle .rafina-cat-label-slot {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
}

.rafina-cats--circle .rafina-cat-icon {
  width: 110px !important;
  height: 110px !important;
  margin-inline: auto !important;
  border-radius: var(--rsl-cat-tile-radius) !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  position: relative !important;
  /* Transparent top → soft cool foot → gently deeper blue tip */
  background: linear-gradient(
    180deg,
    var(--rsl-cat-tile-top) 0%,
    var(--rsl-cat-tile-top) 18%,
    var(--rsl-cat-tile-mid) 52%,
    var(--rsl-cat-tile-foot) 72%,
    var(--rsl-cat-tile-foot) 82%,
    color-mix(in srgb, var(--rsl-cat-tile-foot) 55%, var(--rsl-cat-tile-foot-deep) 45%) 92%,
    var(--rsl-cat-tile-foot-deep) 100%
  ) !important;
  transform: none !important;
}

/* Colored stroke icons (current assets) centered on DigiShahr tile */
.rafina-cats--circle .rafina-cat-item:not(.rsl-cat-more) .rafina-cat-icon::after {
  content: "";
  position: absolute;
  inset: 26px;
  background: color-mix(
    in srgb,
    var(--rsl-cat-pin, var(--rsl-cat-pin-1)) 90%,
    #cfd4dc 10%
  );
  -webkit-mask-image: var(--rsl-cat-mask);
  mask-image: var(--rsl-cat-mask);
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  pointer-events: none;
  z-index: 1;
}

.rafina-cats--circle .rafina-cat-item:has(img[src*="airpod"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-headphones);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/airpod-03-stroke-rounded.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="smart-watch"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-watch);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/smart-watch-04-stroke-rounded.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="tablet-smartphone"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-mobile);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/tablet-smartphone-stroke-rounded.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="laptop"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-laptop);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/laptop-minimal-stroke-rounded-1.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="cable"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-accessories);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/cable-stroke-rounded.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="vr-glasses"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-gadget);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/vr-glasses-stroke-rounded.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="monitor-speaker"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-av);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/monitor-speaker-stroke-rounded.svg");
}
.rafina-cats--circle .rafina-cat-item:has(img[src*="pocket-knife"]) .rafina-cat-icon {
  --rsl-cat-pin: var(--rsl-cat-pin-camping);
  --rsl-cat-mask: url("/wp-content/uploads/2026/10/pocket-knife-stroke-rounded.svg");
}

.rafina-cats--circle .rafina-cat-icon > img.is-vector,
.rafina-cats--circle .rafina-cat-icon > img[src$=".svg"] {
  opacity: 0 !important;
}

/* WooCommerce category featured photo (non-SVG): show image, hide stroke mask */
.rafina-cats--circle
  .rafina-cat-item:has(.rafina-cat-icon > img:not([src$=".svg"]):not(.is-vector))
  .rafina-cat-icon::after {
  content: none !important;
  display: none !important;
}
.rafina-cats--circle
  .rafina-cat-item:has(.rafina-cat-icon > img:not([src$=".svg"]):not(.is-vector))
  .rafina-cat-icon
  > img {
  opacity: 1 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  position: relative;
  z-index: 2;
}

/* Hide leftover product-photo injects if any remain in DOM */
.rafina-cats--circle .rsl-cat-photo {
  display: none !important;
}

.rafina-cats--circle .rafina-cat-name-slot {
  height: auto !important;
  min-height: 0 !important;
  margin-top: 14px !important;
  overflow: visible !important;
  text-align: center !important;
}

.rafina-cats--circle .rafina-cat-label {
  color: var(--rafina-brand-400, var(--rsl-blue, #2852e4)) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2 !important;
  word-break: break-word !important;
}

/* Hover: soft product zoom only */
.rafina-cats--circle .rafina-cat-item:not(.rsl-cat-more) .rafina-cat-icon > img {
  transition: transform 0.22s ease !important;
  transform-origin: center center !important;
  will-change: transform;
}

.rafina-cats--circle .rafina-cat-item:not(.rsl-cat-more):hover .rafina-cat-icon > img,
.rafina-cats--circle .rafina-cat-item:not(.rsl-cat-more):focus-visible .rafina-cat-icon > img {
  transform: scale(1.04) !important;
}

.rafina-cats--circle .rsl-cat-more .rsl-cat-more__dots {
  transition: transform 0.22s ease !important;
}

.rafina-cats--circle .rsl-cat-more:hover .rsl-cat-more__dots,
.rafina-cats--circle .rsl-cat-more:focus-visible .rsl-cat-more__dots {
  transform: scale(1.08);
}

.rafina-cats--circle .rafina-cat-item:hover .rafina-cat-label,
.rafina-cats--circle .rafina-cat-item.is-active .rafina-cat-label {
  color: var(--rafina-brand-600, var(--rsl-blue-600, #153bbf)) !important;
}

/* «بیشتر» removed from home cattiles */
.rafina-cats--circle .rsl-cat-more {
  display: none !important;
}

.rafina-cats--circle .rsl-cat-more .rafina-cat-icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.rafina-cats--circle .rsl-cat-more .rafina-cat-icon::after {
  content: none !important;
  display: none !important;
}

.rafina-cats--circle .rsl-cat-more__dots {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  filter: none !important;
  position: relative;
  z-index: 1;
}

.rafina-cats--circle .rsl-cat-more__dots i {
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--rsl-ink, #0f172a) !important;
}

@media (max-width: 900px) {
  .rafina-cats--circle .rafina-cats-row {
    width: 100% !important;
    gap: 10px 12px !important;
    justify-content: flex-start !important;
    padding-inline: 4px !important;
  }

  .rafina-cats--circle .rafina-cat-item,
  .rafina-cats--circle a.rafina-cat-item.rsl-cat-more {
    width: 96px !important;
    flex: 0 0 96px !important;
  }

  .rafina-cats--circle .rafina-cat-icon {
    width: 84px !important;
    height: 84px !important;
    border-radius: var(--rsl-cat-tile-radius) !important;
  }

  .rafina-cats--circle .rafina-cat-item:not(.rsl-cat-more) .rafina-cat-icon::after {
    inset: 20px;
  }

  .rafina-cats--circle .rafina-cat-name-slot {
    margin-top: 10px !important;
  }

  .rafina-cats--circle .rafina-cat-label {
    font-size: 11px !important;
  }
}

/*
 * Form notices → toast: hide inline banners once JS opts in (.rsl-form-toast).
 * Keep in DOM for screen readers / React state; chrome is the floating toast.
 */
html.rsl-form-toast .rf-co__msg,
html.rsl-form-toast .rf-ac__msg:not(.is-idle),
html.rsl-form-toast .rf-mc__msg,
html.rsl-form-toast .rf-login__msg,
html.rsl-form-toast .rafina-ct-alert,
html.rsl-form-toast .rafina-cmt-form__msg,
html.rsl-form-toast .rf-c2c__msg,
html.rsl-form-toast .rf-c2c__notice {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
  pointer-events: none !important;
}

/*
 * Cart toast — single bar, bottom corner (mobile: full-bleed bottom).
 * Font and size come from the theme body; surface uses site success/error.
 */
.rafina-toast-wrap {
  top: auto !important;
  bottom: 2.5rem !important;
  right: 1rem !important;
  left: auto !important;
  max-width: calc(100vw - 2rem) !important;
  align-items: stretch !important;
  overflow: visible !important;
}

.rafina-toast {
  min-width: 320px !important;
  width: max-content !important;
  max-width: min(440px, calc(100vw - 2rem)) !important;
  min-height: 64px !important;
  margin: 0 !important;
  padding: 0 14px 0 8px !important;
  gap: 10px !important;
  align-items: center !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--rsl-green, #16a34a) !important;
  color: var(--rsl-card, #fff) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  animation: rslToastInRight 0.34s cubic-bezier(0.22, 1, 0.36, 1) both !important;
}

.rafina-toast-wrap.is-leaving {
  pointer-events: none !important;
}

.rafina-toast-wrap.is-leaving .rafina-toast {
  animation: rslToastOutRight 0.28s cubic-bezier(0.4, 0, 1, 1) both !important;
}

.rafina-toast--error {
  background: #b32d2e !important;
}

.rafina-toast-icon {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  background: var(--rsl-card, #fff) !important;
  color: var(--rsl-green, #16a34a) !important;
}

.rafina-toast--error .rafina-toast-icon {
  background: var(--rsl-card, #fff) !important;
  color: #b32d2e !important;
}

.rafina-toast-icon svg {
  width: 14px !important;
  height: 14px !important;
}

.rafina-toast-body {
  flex-direction: row !important;
  align-items: center !important;
  gap: 0 !important;
}

.rafina-toast-body strong {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
}

.rafina-toast-body span {
  display: none !important;
}

.rafina-toast-cta {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-shrink: 0 !important;
  height: 2rem !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 0 !important;
  border-radius: 0 !important;
  border-inline-start: 1px solid rgba(255, 255, 255, 0.35) !important;
  background: transparent !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.rafina-toast-cta:hover {
  background: transparent !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}

.rafina-toast-close {
  width: 28px !important;
  height: 28px !important;
  color: inherit !important;
  border-radius: 6px !important;
}

.rafina-toast-close:hover {
  background: rgba(255, 255, 255, 0.14) !important;
}

@keyframes rslToastInRight {
  from {
    opacity: 0;
    transform: translateX(110%);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes rslToastOutRight {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateX(110%);
  }
}

@keyframes rslToastInUp {
  from {
    opacity: 0;
    transform: translateY(calc(100% + 60px));
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes rslToastOutDown {
  from {
    opacity: 1;
    transform: none;
  }
  to {
    opacity: 0;
    transform: translateY(calc(100% + 60px));
  }
}

@media (max-width: 782px) {
  .rafina-toast-wrap {
    right: 0 !important;
    left: 0 !important;
    /* Sit on the bottom nav (.rf-bn is 60px), not under it. */
    bottom: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
    max-width: none !important;
    width: 100% !important;
    padding: 0 !important;
  }

  .rafina-toast {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    border-radius: 0 !important;
    padding-bottom: 0 !important;
    animation: rslToastInUp 0.34s cubic-bezier(0.22, 1, 0.36, 1) both !important;
  }

  .rafina-toast-wrap.is-leaving .rafina-toast {
    animation: rslToastOutDown 0.28s cubic-bezier(0.4, 0, 1, 1) both !important;
  }

  .rafina-toast-body strong {
    white-space: normal !important;
  }
}

/* Cart page qty — blue minus, plain number, blue plus */
.rafina-qty {
  width: max-content !important;
  background: var(--rsl-card, #fff) !important;
  border: 1px solid var(--rsl-line, #e3e8ef) !important;
  border-radius: 12px !important;
  padding: 4px 6px !important;
  gap: 2px !important;
}

.rafina-qty-btn,
.rafina-qty-btn--danger {
  color: var(--rsl-blue, #ef394e) !important;
}

.rafina-qty-btn--danger svg {
  display: none !important;
}

.rafina-qty-btn--danger::before {
  content: "";
  width: 12px;
  height: 2px;
  border-radius: 1px;
  background: currentColor;
}

.rafina-qty input.rafina-qty-value {
  width: 2.5rem !important;
  min-width: 2.5rem !important;
  max-width: 2.5rem !important;
  flex: 0 0 2.5rem !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  appearance: none !important;
  color: var(--rsl-ink, #020617) !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 600 !important;
  text-align: center !important;
}

.rafina-qty input.rafina-qty-value:focus {
  box-shadow: 0 0 0 2px var(--rsl-blue, #ef394e) !important;
}

/* Cart: remove «پیش‌فاکتور» tab (auto-injected; no panel toggle). */
.rafina-cart-tab.is-doc {
  display: none !important;
}

.rafina-cart-tabs:not(:has(button)):not(:has(a:not(.is-doc))) {
  display: none !important;
}

/* Cart summary column — wider than theme 350px. */
.rafina-cart-page .rafina-cart-grid {
  grid-template-columns: minmax(0, 1fr) 420px !important;
}

@media (max-width: 900px) {
  .rafina-cart-page .rafina-cart-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Cart: hide saved/later tab strip if theme still renders it. */
.rafina-cart-page .rafina-cart-tabs {
  display: none !important;
}

/*
 * Cart title (RTL): «سبد خرید» then muted «N کالا» snug to its left
 * — compact Digikala-style pair, not stretched across the row.
 */
.rafina-cart-page > h1.rafina-cart-title,
.rafina-cart-page h1.rafina-cart-title {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 0.625rem !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 0 1.5rem !important;
  color: var(--rsl-ink, var(--rafina-text, #020617)) !important;
  font-family: inherit !important;
  /* Theme .rafina-cart-title default */
  font-size: 21px !important;
  font-weight: 800 !important;
}

.rafina-cart-page .rsl-cart-title-count {
  margin: 0 !important;
  position: relative !important;
  top: -0.45em !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  color: var(--rsl-muted, var(--rafina-text-dim, #64748b)) !important;
  white-space: nowrap !important;
}

/* Cart: drop borders on summary + product thumbs. */
.rafina-cart-page .rafina-cart-summary,
.rafina-cart-page .rafina-cart-thumb {
  border: 0 !important;
  box-shadow: none !important;
}

/*
 * Cart summary — site type + tokens (ink / muted / blue).
 * Theme accent-2 can wash out; lock profit + payable to --rsl-blue.
 */
.rafina-cart-page .rafina-cart-summary {
  background: var(--rsl-card, var(--rafina-panel, #ffffff)) !important;
  border-radius: var(--rsl-radius-sm, 16px) !important;
  font-family: inherit !important;
  /* Same air under header as filter / product sticky cards (not theme 88px) */
  top: var(--rsl-sticky-top, calc(var(--header-h, 72px) + 2rem)) !important;
}

/* Checkout summary — theme top:90px; match cart sticky under header */
.rafina-checkout .rf-co__side.is-sticky,
.rf-co .rf-co__side.is-sticky {
  top: var(--rsl-sticky-top, calc(var(--header-h, 72px) + 2rem)) !important;
}

/* No divider line above alt-address / invoice checks */
.rafina-checkout .rf-co__check,
.rf-co .rf-co__check {
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* Alt-address / invoice expand — drop nested fill; keep dashed border */
.rafina-checkout .rf-co__sub,
.rf-co .rf-co__sub {
  background: transparent !important;
}

/* Pay button — no leading icon */
.rafina-checkout .rf-co__pay-icon,
.rf-co .rf-co__pay-icon {
  display: none !important;
}

/*
 * Checkout summary side — align with cart summary + site type scale.
 * Tokens: ink / ft-text / muted / blue / line / card.
 */
.rafina-checkout .rf-co__side .rf-co__box,
.rf-co .rf-co__side .rf-co__box {
  background: var(--rsl-card, var(--rafina-panel, #ffffff)) !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: var(--rsl-radius-sm, 16px) !important;
  padding: 20px 18px !important;
}

.rafina-checkout .rf-co__side-title,
.rf-co .rf-co__side-title {
  margin: 0 0 4px !important;
  color: var(--rsl-ink, var(--rafina-text, #0f172a)) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.rafina-checkout .rf-co__lines,
.rf-co .rf-co__lines {
  margin: 12px 0 0 !important;
}

.rafina-checkout .rf-co__lines li,
.rf-co .rf-co__lines li {
  padding: 10px 0 !important;
  border-bottom-color: var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
  color: var(--rsl-ft-text, #334155) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.rafina-checkout .rf-co__lines li > span:last-child,
.rf-co .rf-co__lines li > span:last-child {
  color: var(--rsl-ink, #0f172a) !important;
  font-weight: 700 !important;
}

.rafina-checkout .rf-co__lines li.is-off > span:last-child,
.rafina-checkout .rf-co__lines li.is-wallet > span:last-child,
.rf-co .rf-co__lines li.is-off > span:last-child,
.rf-co .rf-co__lines li.is-wallet > span:last-child {
  color: var(--rsl-blue, #ef394e) !important;
}

.rafina-checkout .rf-co__total,
.rf-co .rf-co__total {
  margin-top: 4px !important;
  padding: 14px 0 4px !important;
  border-top: 1px solid var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.rafina-checkout .rf-co__total strong,
.rf-co .rf-co__total strong {
  color: var(--rsl-blue, #ef394e) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.rafina-checkout .rf-co__method,
.rf-co .rf-co__method {
  margin-top: 16px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
}

.rafina-checkout .rf-co__method-title,
.rf-co .rf-co__method-title {
  margin: 0 0 12px !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  gap: 8px !important;
}

.rafina-checkout .rf-co__method-title svg,
.rf-co .rf-co__method-title svg {
  width: 18px !important;
  height: 18px !important;
  color: var(--rsl-blue, #ef394e) !important;
}

.rafina-checkout .rf-co__method .rf-co__hint,
.rf-co .rf-co__method .rf-co__hint,
.rafina-checkout .rf-co__method .rf-co__wallet-line,
.rf-co .rf-co__method .rf-co__wallet-line,
.rafina-checkout .rf-co__method .rf-co__paid-note,
.rf-co .rf-co__method .rf-co__paid-note {
  color: var(--rsl-muted, #64748b) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
}

.rafina-checkout .rf-co__gw,
.rf-co .rf-co__gw {
  border: 1px solid var(--rsl-line, var(--rafina-border-2, #e3e8ef)) !important;
  border-radius: 12px !important;
  background: var(--rsl-card, #ffffff) !important;
  padding: 12px 14px !important;
  gap: 10px !important;
}

.rafina-checkout .rf-co__gw + .rf-co__gw,
.rf-co .rf-co__gw + .rf-co__gw {
  margin-top: 8px !important;
}

.rafina-checkout .rf-co__gw:hover,
.rf-co .rf-co__gw:hover {
  border-color: var(--rsl-blue, #ef394e) !important;
  background: var(--rsl-card, #ffffff) !important;
}

.rafina-checkout .rf-co__gw.is-on,
.rf-co .rf-co__gw.is-on {
  border-color: var(--rsl-blue, #ef394e) !important;
  background: var(--rsl-blue-soft, #fff0f3) !important;
}

.rafina-checkout .rf-co__gw-dot,
.rf-co .rf-co__gw-dot {
  width: 18px !important;
  height: 18px !important;
  border: 1.5px solid var(--rsl-line-2, #cbd5e1) !important;
}

.rafina-checkout .rf-co__gw.is-on .rf-co__gw-dot,
.rf-co .rf-co__gw.is-on .rf-co__gw-dot {
  border-color: var(--rsl-blue, #ef394e) !important;
}

.rafina-checkout .rf-co__gw.is-on .rf-co__gw-dot::after,
.rf-co .rf-co__gw.is-on .rf-co__gw-dot::after {
  background: var(--rsl-blue, #ef394e) !important;
}

.rafina-checkout .rf-co__gw-text strong,
.rf-co .rf-co__gw-text strong {
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.rafina-checkout .rf-co__gw-text em,
.rf-co .rf-co__gw-text em {
  color: var(--rsl-muted, #64748b) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.rafina-checkout .rf-co__ship-cost,
.rf-co .rf-co__ship-cost {
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.rafina-checkout .rf-co__ship-cost.is-free,
.rf-co .rf-co__ship-cost.is-free {
  color: var(--rsl-blue, #ef394e) !important;
}

.rafina-checkout .rf-co__pay,
.rf-co .rf-co__pay {
  margin-top: 16px !important;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  background: var(--rsl-blue, var(--rafina-accent, #ef394e)) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  gap: 10px !important;
  justify-content: space-between !important;
}

.rafina-checkout .rf-co__pay:hover:not(:disabled),
.rf-co .rf-co__pay:hover:not(:disabled) {
  background: var(--rsl-blue-600, #c8102e) !important;
  filter: none !important;
  box-shadow: none !important;
}

.rafina-checkout .rf-co__pay-text,
.rf-co .rf-co__pay-text {
  flex: 1 1 auto !important;
  text-align: start !important;
}

.rafina-checkout .rf-co__pay-amount,
.rf-co .rf-co__pay-amount {
  font-size: 12px !important;
  font-weight: 700 !important;
  background: rgba(255, 255, 255, 0.18) !important;
  border-radius: 8px !important;
  padding: 6px 10px !important;
}

.rafina-checkout .rf-co__badges,
.rf-co .rf-co__badges {
  border-top-color: var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
}

.rafina-checkout .rf-co__badges li,
.rf-co .rf-co__badges li {
  color: var(--rsl-muted, #64748b) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
}

.rafina-checkout .rf-co__badges svg,
.rf-co .rf-co__badges svg {
  color: var(--rsl-blue, #ef394e) !important;
}

/* Checkout checkboxes — same control as shop filter (.rf-flt__opt checkbox) */
.rafina-checkout .rf-co__check input[type="checkbox"],
.rf-co .rf-co__check input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  box-sizing: border-box !important;
  position: relative !important;
  display: inline-block !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid var(--rsl-ink, #0f172a) !important;
  border-radius: 4px !important;
  background: var(--rsl-card, #ffffff) !important;
  box-shadow: none !important;
  accent-color: unset !important;
  cursor: pointer !important;
}

.rafina-checkout .rf-co__check input[type="checkbox"]::after,
.rf-co .rf-co__check input[type="checkbox"]::after {
  content: "\f133" !important; /* rl-check-600 */
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  font-family: "rossoland" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-size: 16px !important;
  line-height: 1 !important;
  color: var(--rsl-ink, #0f172a) !important;
  opacity: 0 !important;
  transform: none !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rafina-checkout .rf-co__check input[type="checkbox"]:checked,
.rf-co .rf-co__check input[type="checkbox"]:checked {
  border-color: var(--rsl-blue, #ef394e) !important;
  background: var(--rsl-blue, #ef394e) !important;
}

.rafina-checkout .rf-co__check input[type="checkbox"]:checked::after,
.rf-co .rf-co__check input[type="checkbox"]:checked::after {
  opacity: 1 !important;
  color: #ffffff !important;
}

.rafina-checkout .rf-co__check input[type="checkbox"]:focus-visible,
.rf-co .rf-co__check input[type="checkbox"]:focus-visible {
  outline: 2px solid var(--rsl-blue, #ef394e) !important;
  outline-offset: 2px !important;
}

.rafina-cart-page .rafina-cart-summary h2 {
  margin: 0 0 1rem !important;
  color: var(--rsl-ink, var(--rafina-text, #0f172a)) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
}

.rafina-cart-page .rafina-cart-row {
  /* Soft black — site footer text token, between ink and muted */
  color: var(--rsl-ft-text, #334155) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

.rafina-cart-page .rafina-cart-row--save {
  color: var(--rsl-ft-text, #334155) !important;
  font-weight: 500 !important;
}

/* Values — same colors as cart line .rf-price__now */
.rafina-cart-page .rafina-cart-row:not(.rafina-cart-row--total) > span:last-child,
.rafina-cart-page .rafina-cart-row:not(.rafina-cart-row--total) .rafina-money {
  color: #0f172a !important;
  font-weight: 700 !important;
}

/* «سود شما از خرید» amount — site blue */
.rafina-cart-page .rafina-cart-row--save > span:last-child,
.rafina-cart-page .rafina-cart-row--save .rafina-money {
  color: var(--rsl-blue, var(--rafina-accent-2, #ef394e)) !important;
}

/*
 * Cart page «تومان» — one size + one gap everywhere (product-card: 4px).
 */
.rafina-cart-page .rafina-money {
  display: inline-flex !important;
  align-items: baseline !important;
  flex-wrap: nowrap !important;
  gap: 4px !important;
}

.rafina-cart-page .rafina-money .rsl-toman,
.rafina-cart-page .rafina-money .rafina-toman-wrap,
.rafina-cart-page .rafina-money .woocommerce-Price-currencySymbol,
.rafina-cart-page .rafina-cart-item-price .rf-price__now .woocommerce-Price-currencySymbol,
.rafina-cart-page .rafina-cart-item-price .rf-price__now .rsl-toman,
.rafina-cart-page .rafina-cart-total .rsl-toman,
.rafina-cart-page .rafina-cart-total .rafina-toman-wrap,
.rafina-cart-page .rafina-cart-total .woocommerce-Price-currencySymbol {
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  margin: 0 !important;
  margin-inline-start: 0 !important;
  padding: 0 !important;
}

/* Line-item amount↔تومان: same 4px as product cards (not row gap) */
.rafina-cart-page .rafina-cart-item-price .rf-price__now .woocommerce-Price-currencySymbol,
.rafina-cart-page .rafina-cart-item-price .rf-price__now .rsl-toman,
.rafina-cart-page .rafina-cart-item-price .rf-price__now .rafina-toman-wrap {
  margin-inline-start: 4px !important;
}

.rafina-cart-page .rafina-cart-row--cashback {
  color: var(--rsl-green, var(--rafina-accent, #16a34a)) !important;
  font-weight: 700 !important;
}

.rafina-cart-page .rafina-cart-row--total {
  margin-bottom: 1rem !important;
  padding-top: 1rem !important;
  border-top: 1px solid var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
  color: var(--rsl-ink, var(--rafina-text, #0f172a)) !important;
  /* Site scale: 14 (used in archive/UI), was 14.5 */
  font-size: 14px !important;
  font-weight: 700 !important;
}

.rafina-cart-page .rafina-cart-total {
  color: var(--rsl-blue, var(--rafina-accent-2, #ef394e)) !important;
  /* Site scale: same as .rb-pcard / shop price now */
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.rafina-cart-page .rafina-coupon {
  border-bottom-color: var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
}

/* Keep coupon input; hide title «کد تخفیف دارید؟» only */
.rafina-cart-page .rafina-coupon > label {
  display: none !important;
}

/* Hide coupon field leading icon */
.rafina-cart-page .rafina-coupon-icon {
  display: none !important;
}

.rafina-cart-page .rafina-coupon form {
  border-color: var(--rafina-border-2, var(--rsl-line, #e3e8ef)) !important;
  /* Match checkout / form fields (not ghost-bg slate) */
  background: var(--rafina-bg-2, var(--rsl-page-bg, #f7f8fa)) !important;
  border-radius: 12px !important;
}

.rafina-cart-page .rafina-coupon input {
  color: var(--rsl-ink, var(--rafina-text, #0f172a)) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  /* Theme was 8px 2px — room after icon removed */
  padding-block: 8px !important;
  padding-inline: 12px !important;
}

/* Checkout coupon — same surface as .rf-co__field inputs */
.rafina-checkout .rafina-coupon form,
.rafina-checkout .rafina-coupon-row,
.rf-co .rafina-coupon form,
.rf-co .rafina-coupon-row {
  border: 1px solid var(--rafina-border-2, var(--rsl-line, #e3e8ef)) !important;
  background: var(--rafina-bg-2, var(--rsl-page-bg, #f7f8fa)) !important;
  border-radius: 12px !important;
  color: var(--rafina-text, var(--rsl-ink, #0f172a)) !important;
}

.rafina-checkout .rafina-coupon input,
.rafina-checkout #rf-co-coupon,
.rf-co .rafina-coupon input,
.rf-co #rf-co-coupon {
  color: var(--rafina-text, var(--rsl-ink, #0f172a)) !important;
  background: transparent !important;
}

.rafina-checkout .rafina-coupon input::placeholder,
.rf-co .rafina-coupon input::placeholder {
  color: var(--rafina-text-dimmer, var(--rsl-muted, #94a3b8)) !important;
}

.rafina-cart-page .rafina-coupon button {
  background: var(--rsl-blue, var(--rafina-accent, #ef394e)) !important;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
}

.rafina-cart-page .rafina-cart-summary .rafina-cart-btn {
  background: var(--rsl-blue, var(--rafina-btn-bg, var(--rafina-accent, #ef394e))) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}

/* Empty cart CTA — same ghost chrome as header «ورود | ثبت نام» */
.rafina-cart-page .rafina-cart-empty .rafina-cart-btn,
.rafina-cart-empty .rafina-cart-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: 0 !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 0 18px !important;
  border: 1px solid var(--rafina-border-2, var(--rsl-line, #e3e8ef)) !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.4 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  text-decoration: none !important;
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

.rafina-cart-page .rafina-cart-empty .rafina-cart-btn:hover,
.rafina-cart-page .rafina-cart-empty .rafina-cart-btn:focus-visible,
.rafina-cart-empty .rafina-cart-btn:hover,
.rafina-cart-empty .rafina-cart-btn:focus-visible {
  color: var(--rafina-header-link-hover, var(--rsl-blue, var(--rafina-accent-2, #ef394e))) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: var(--rsl-blue, var(--rafina-accent-2, #ef394e)) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
}

.rafina-cart-page .rafina-cart-trust {
  border-top-color: var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
}

.rafina-cart-page .rafina-cart-trust li {
  color: var(--rsl-muted, var(--rafina-text-dim, #64748b)) !important;
  font-size: 12.5px !important;
  font-weight: 500 !important;
}

.rafina-cart-page .rafina-cart-trust svg {
  color: var(--rsl-blue, var(--rafina-accent-2, #ef394e)) !important;
}

/* Cart thumbs — a bit smaller than theme 84px. */
.rafina-cart-page .rafina-cart-thumb {
  width: 68px !important;
  height: 68px !important;
  border-radius: 12px !important;
}

/*
 * Cart line items: one shared card surface, hairline between rows.
 * (Freeship / actions are siblings after the last article.)
 */
.rafina-cart-page .rafina-cart-items {
  gap: 0 !important;
  background: var(--rsl-card, var(--rafina-panel, #ffffff)) !important;
  border-radius: var(--rsl-radius-sm, 16px) !important;
  padding: 0.25rem 1rem 0.75rem !important;
  box-shadow: none !important;
}

.rafina-cart-page article.rafina-cart-item {
  border: 0 !important;
  border-bottom: 1px solid var(--rsl-line, var(--rafina-border, #e3e8ef)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding-block: 1rem !important;
  padding-inline: 0 !important;
}

.rafina-cart-page article.rafina-cart-item:last-of-type {
  border-bottom: 0 !important;
}

/* Cart: remove free-shipping bar entirely. */
.rafina-cart-page .rafina-freeship {
  display: none !important;
}

/* Cart: hide lead-time banner («زودترین زمان ارسال…»). */
.rafina-cart-page .rafina-cart-delivery {
  display: none !important;
}

/* Cart: remove «ادامه‌ی خرید» (theme always falls back to /shop). */
.rafina-cart-page .rafina-cart-continue-inline {
  display: none !important;
}

/* Cart: hide clear-all — remove only per line via qty danger button. */
.rafina-cart-page .rafina-cart-actions,
.rafina-cart-page .rafina-cart-clear {
  display: none !important;
}

/* Cart: never show per-line save-for-later. */
.rafina-cart-page .rafina-cart-save-btn,
.rafina-cart-page .rsl-cart-save {
  display: none !important;
}

/*
 * Cart line price — site .rf-price stack (not shop horizontal pricerow).
 * Keeps every line’s price block on the same edge whether or not it has %off.
 */
/* Cart item: thumb + main on row 1; shared bottom row wraps full width. */
.rafina-cart-page article.rafina-cart-item {
  position: relative !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  padding-bottom: 1rem !important;
}

.rafina-cart-page .rafina-cart-item-main {
  position: relative !important;
  padding-inline-start: 0 !important;
  /* Room for absolute price on the visual left (RTL inline-end). */
  padding-inline-end: 7.5rem !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  align-self: stretch !important;
}

.rafina-cart-page .rafina-cart-item-name,
.rafina-cart-page .rafina-cart-meta,
.rafina-cart-page .rafina-cart-services,
.rafina-cart-page .rafina-cart-oos {
  padding-inline-end: 0 !important;
  box-sizing: border-box !important;
}

/* Price pinned top-left (visual left in RTL). */
.rafina-cart-page .rafina-cart-item-main > .rafina-cart-item-price[data-rsl-price-top="1"] {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: auto !important;
  inset-inline-start: auto !important;
  inset-inline-end: 0 !important;
  bottom: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  justify-content: flex-start !important;
  margin: 0 !important;
  z-index: 1 !important;
}

/*
 * Cart attributes — one line, e.g. «رنگ مشکی» (no colon).
 * Same color/weight for whole phrase; gap between features.
 */
.rafina-cart-page .rafina-cart-meta {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: baseline !important;
  justify-content: flex-start !important;
  gap: 0 1rem !important;
  margin: 0.55rem 0 0 !important;
  padding-block: 0 !important;
}

.rafina-cart-page .rafina-cart-meta span {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  color: var(--rsl-muted, var(--rafina-text-dim, #64748b)) !important;
}

.rafina-cart-page .rafina-cart-meta > span {
  display: inline !important;
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
}

/* Theme foot emptied — qty/price live in .rsl-cart-bottom. */
.rafina-cart-page .rafina-cart-item-foot[data-rsl-foot-empty="1"] {
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Thumb column: image only. */
.rafina-cart-page .rsl-cart-thumbcol {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  flex: 0 0 auto !important;
  align-self: flex-start !important;
  min-width: 68px !important;
}

.rafina-cart-page .rsl-cart-thumbcol > a {
  display: block !important;
  line-height: 0 !important;
  flex: 0 0 auto !important;
}

/* Bottom row: qty only (visual right). */
.rafina-cart-page .rsl-cart-bottom {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1rem !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  margin: 0.85rem 0 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.rafina-cart-page .rsl-cart-bottom > .rafina-qty {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  z-index: 1 !important;
}

.rafina-cart-page .rafina-cart-item-price .rf-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 2px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  min-width: 0 !important;
}

/* Line 1: % + current — Line 2: struck was */
.rafina-cart-page .rafina-cart-item-price .rf-price > .rf-price__now {
  order: 1 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: baseline !important;
  gap: 0 !important; /* toman uses 4px margin; badge uses its own margin */
  width: 100% !important;
}
.rafina-cart-page .rafina-cart-item-price .rf-price > .rf-price__was {
  order: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 0 !important;
  width: 100% !important;
  text-decoration: none !important;
}

/*
 * Cart line type — same scale as homepage .rb-products / shop cards:
 * name 13/700; now 16/700; toman 11/500; was 12/500.
 */
.rafina-cart-page .rafina-cart-item-price .rf-price__now,
.rafina-cart-page .rafina-cart-item-price .rf-price__now .amount,
.rafina-cart-page .rafina-cart-item-price .rf-price__now bdi {
  color: #0f172a !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1.35 !important;
}

.rafina-cart-page .rafina-cart-item-price .rf-price__was .amount,
.rafina-cart-page .rafina-cart-item-price .rf-price__was bdi,
.rafina-cart-page .rafina-cart-item-price .rf-price__was del {
  color: #94a3b8 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-decoration: line-through !important;
  min-height: 0 !important;
}

.rafina-cart-page .rafina-cart-item-price .rf-price__was .woocommerce-Price-currencySymbol {
  display: none !important;
}

/* % badge beside current price (visual left of amount in RTL flex-end) */
.rafina-cart-page .rafina-cart-item-price .rf-price__now .rf-drail-card__off {
  background: var(--rafina-deal-sale, #d32f2f) !important;
  color: #fff !important;
  text-decoration: none !important;
  -webkit-text-decoration: none !important;
  text-decoration-line: none !important;
  flex: 0 0 auto !important;
  order: -1 !important;
  margin: 0 !important;
  margin-inline-end: 6px !important;
}

/* Cart item title */
.rafina-cart-page .rafina-cart-item-name {
  color: #0f172a !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
}

/* Cart item title hover — same accent cue as product cards. */
.rafina-cart-page .rafina-cart-item-name:hover {
  color: var(--rsl-blue, var(--rafina-accent-2, #ef394e)) !important;
}


/* About page — DigiShahr blue hero + single card, Rossoland tokens */
/* Match footer inner .rafina-container (same max-width + pad-x) */
.rafina-page-content:has(.rsl-about) {
  --rsl-about-pad-x: 20px;
  margin-top: 28px !important; /* same first-block offset as shop .rb-block */
  margin-bottom: 48px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: var(--rafina-container, 1140px) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  padding-left: var(--rsl-about-pad-x) !important;
  padding-right: var(--rsl-about-pad-x) !important;
}

/* Shop-style path strip under header (same markup/classes as archive) */
.rafina-page-content:has(.rsl-about) > .rafina-breadcrumb {
  margin: 0 0 12px !important;
  padding: 12px 0 0 !important;
}

.rsl-about {
  /* DigiShahr-like: short title band, then white card */
  --rsl-about-hero-h: 320px;
  /* Title + chevrons only — tight pad (title~28 + gap + chev~29 ≈ 90) */
  --rsl-about-band: 92px;
  --rsl-about-card-inset: 28px;
  /* Fill the same outer box as footer .rafina-container */
  position: relative;
  width: calc(100% + (2 * var(--rsl-about-pad-x, 20px)));
  margin-inline: calc(-1 * var(--rsl-about-pad-x, 20px));
  color: var(--rsl-ink, #0f172a);
  box-sizing: border-box;
}

.rsl-about__hero {
  height: var(--rsl-about-hero-h);
  border-radius: 24px;
  background-color: var(--rsl-blue, #ef394e);
  background-image: linear-gradient(
    to bottom,
    var(--rsl-blue, #ef394e) 0%,
    var(--rsl-blue-600, #c8102e) 100%
  );
}

.rsl-about__shell {
  position: relative;
  /* Pull shell to the top of the blue hero; label height = blue band */
  margin-top: calc(0px - var(--rsl-about-hero-h));
  padding: 0 var(--rsl-about-card-inset) 8px;
  z-index: 1;
  box-sizing: border-box;
}

.rsl-about__hero-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  height: var(--rsl-about-band);
  min-height: var(--rsl-about-band);
  padding: 6px 0 4px;
  margin: 0;
  box-sizing: border-box;
  color: #fff;
  text-align: center;
}

/* wpautop wraps the chevron span in <p> — flatten so span stays in the flex column */
.rsl-about__hero-label > p {
  display: contents !important;
}

.rsl-about__hero-title {
  margin: 0 !important;
  color: #fff !important;
  font-size: 21px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.rsl-about__hero-chev {
  position: relative;
  display: block;
  width: 28px;
  height: 29px;
  color: #fff;
  animation: rsl-about-chev-shake 10s linear infinite;
}

.rsl-about__hero-chev::before,
.rsl-about__hero-chev::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 12px;
  height: 12px;
  border-right: 2.8px solid currentColor;
  border-bottom: 2.8px solid currentColor;
  transform: translateX(-50%) rotate(45deg);
  border-radius: 1px;
}

.rsl-about__hero-chev::before {
  top: 2px;
  opacity: 0.55;
}

.rsl-about__hero-chev::after {
  top: 11px;
  opacity: 0.9;
}

@keyframes rsl-about-chev-shake {
  0% {
    transform: translateY(0);
  }
  10% {
    transform: translateY(-4px);
  }
  20% {
    transform: translateY(4px);
  }
  30% {
    transform: translateY(-4px);
  }
  40% {
    transform: translateY(4px);
  }
  50% {
    transform: translateY(-4px);
  }
  60% {
    transform: translateY(4px);
  }
  70% {
    transform: translateY(-4px);
  }
  80% {
    transform: translateY(3.2px);
  }
  90% {
    transform: translateY(-3.2px);
  }
  100% {
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rsl-about__hero-chev {
    animation: none;
  }
}

.rsl-about__card {
  background: var(--rsl-card, #ffffff);
  border: 1px solid var(--rsl-blue-soft, #fff0f3);
  border-radius: 24px;
  padding: 28px 28px 32px;
  box-shadow: none;
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.rsl-about__lead,
.rsl-about__card p {
  margin: 0 !important;
  color: var(--rsl-ft-text, #334155) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 2 !important;
}

.rsl-about__block {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.rsl-about__h {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin: 0 !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
}

.rsl-about__h-mark {
  position: absolute;
  inset-inline-start: -6px;
  top: 50%;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--rsl-blue-soft-10, rgba(239, 57, 78, 0.12));
  transform: translateY(-50%);
  pointer-events: none;
  z-index: -1;
}

.rsl-about__list {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.rsl-about__list li {
  position: relative;
  padding-inline-start: 18px;
  color: var(--rsl-ft-text, #334155) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.9 !important;
}

.rsl-about__list li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--rsl-ink, #0f172a);
}

.rsl-about__list--num {
  counter-reset: rsl-about;
}

.rsl-about__list--num li {
  padding-inline-start: 1.6em;
  counter-increment: rsl-about;
}

.rsl-about__list--num li::before {
  content: counter(rsl-about) ".";
  top: 0;
  width: auto;
  height: auto;
  border-radius: 0;
  background: transparent;
  color: var(--rsl-ink, #0f172a);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.9;
}

@media (min-width: 768px) {
  .rsl-about {
    --rsl-about-hero-h: 340px;
    --rsl-about-band: 96px;
    --rsl-about-card-inset: 40px;
  }

  .rsl-about__hero {
    border-radius: 32px;
    margin-top: 8px;
  }

  .rsl-about__card {
    padding: 32px 36px 40px;
  }
}

@media (max-width: 640px) {
  .rafina-page-content:has(.rsl-about) {
    --rsl-about-pad-x: 16px;
  }

  .rsl-about {
    --rsl-about-hero-h: 260px;
    --rsl-about-band: 84px;
    --rsl-about-card-inset: 16px;
  }

  .rsl-about__hero {
    border-radius: 18px;
  }

  .rsl-about__hero-title {
    font-size: 18px !important;
  }

  .rsl-about__card {
    padding: 20px 16px 24px;
    border-radius: 18px;
    gap: 22px;
  }
}

/* Contact page — DigiShahr info stack, Rossoland tokens; map frame 501×383 */
.rsl-contact__row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 28px;
}

.rsl-contact__map {
  position: relative;
  flex: 0 0 501px;
  width: 501px;
  height: 383px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid var(--rsl-line, #e3e8ef);
  background: var(--rsl-page-bg, #f7f8fa);
  box-sizing: border-box;
}

.rsl-contact__map > p {
  display: contents !important;
  margin: 0 !important;
}

.rsl-contact__map iframe {
  display: block;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
}

.rsl-contact__neshan {
  position: absolute;
  z-index: 2;
  inset-inline-end: 10px;
  top: 10px;
  padding: 4px 10px;
  border-radius: 8px;
  background: var(--rsl-card, #fff);
  border: 1px solid var(--rsl-line, #e3e8ef);
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
  text-decoration: none !important;
}

.rsl-contact__neshan:hover {
  color: var(--rsl-blue, #ef394e) !important;
}

.rsl-contact__info {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex: 1 1 auto;
  min-width: 0;
}

.rsl-contact__item {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

.rsl-contact__head {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.rsl-contact__ico-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  border-radius: 8px;
  background: var(--rsl-page-bg, #f7f8fa);
  color: var(--rsl-blue, #ef394e);
}

.rsl-contact__ico-box .rl {
  font-size: 20px;
  line-height: 1;
  color: inherit;
}

.rsl-contact__ico-box .rl:before {
  color: inherit !important;
}

.rsl-about.rsl-contact .rsl-contact__label {
  margin: 0 !important;
  color: var(--rsl-ink, #0f172a) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

.rsl-contact__line {
  display: block;
  width: 100%;
  height: 1px;
  background: var(--rsl-line, #e3e8ef);
}

.rsl-contact__values {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.rsl-contact__value,
.rsl-contact__hint {
  margin: 0 !important;
  color: var(--rsl-ft-text, #334155) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
}

.rsl-about.rsl-contact .rsl-contact__hint {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--rsl-muted, #64748b) !important;
}

.rsl-contact__value a {
  color: inherit !important;
  text-decoration: none !important;
}

.rsl-contact__value a:hover {
  color: var(--rsl-blue, #ef394e) !important;
}

@media (max-width: 900px) {
  .rsl-contact__row {
    flex-direction: column;
  }

  .rsl-contact__map {
    flex-basis: auto;
    width: 100%;
    max-width: 501px;
    height: 383px;
  }

  .rsl-contact__info {
    gap: 28px;
  }
}

/*
 * Login — light page with a soft dim veil, same idea as the GSM dialog.
 * Logo slot stays empty until a mark is chosen.
 */
html:has(.rf-login.is-center),
body:has(.rf-login.is-center) {
  background: var(--rsl-page-bg) !important;
}

body:has(.rf-login.is-center) .rf-bn {
  display: none !important;
}

.rf-login.is-center {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  min-height: 100dvh;
  padding: 24px 16px;
  background: transparent !important;
  /* Same gray the phone field placeholder paints. */
  --rsl-login-ph: #757575;
}

.rf-login.is-center::before {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  pointer-events: none;
}

.rf-login.is-center .rf-login__main {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  max-width: 560px;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
}

.rf-login.is-center .rf-login__card {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: 560px;
  margin: 0;
  padding: 80px 24px 24px;
  border: 0;
  border-radius: var(--rsl-radius);
  background: var(--rsl-card) !important;
  box-shadow: none !important;
  text-align: center;
  color: var(--rsl-ink);
}

.rf-login.is-center .rf-login__form {
  display: contents;
}

.rf-login.is-center .rf-login__form > * {
  order: 2;
}

.rf-login.is-center .rf-login__label {
  order: 1;
}

.rf-login.is-center .rf-login__terms {
  order: 3;
}

.rf-login.is-center .rf-login__btn {
  order: 4;
}

.rf-login.is-center .rf-login__logo {
  display: none !important;
}

.rf-login.is-center .rf-login__back {
  position: absolute;
  top: 14px;
  inset-inline-start: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: 0;
  font-size: 0;
  line-height: 1;
  color: var(--rsl-muted);
  text-decoration: none;
}

.rf-login.is-center .rf-login__back::before {
  content: "\f138";
  font-family: "rossoland" !important;
  font-weight: 400 !important;
  font-style: normal !important;
  font-synthesis: none !important;
  font-size: 28px;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.rf-login.is-center .rf-login__title {
  margin: 0;
  font-size: 21px !important;
  font-weight: 700 !important;
  line-height: 1.6;
  color: var(--rsl-ink) !important;
}

.rf-login.is-center .rf-login__sub {
  display: block !important;
  margin: 24px 0;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 28px;
  text-align: center;
  color: #1e293b !important;
}

.rf-login.is-center .rf-login__label {
  margin: 0 0 8px;
  font-size: 16px !important;
  font-weight: 500 !important;
  text-align: start;
  color: var(--rsl-ink) !important;
}

.rf-login.is-center .rf-login__field {
  box-sizing: border-box;
  height: 54px;
  border: 1px solid var(--rsl-line) !important;
  border-radius: var(--rsl-radius) !important;
  background: var(--rsl-page-bg) !important;
  box-shadow: none !important;
  padding: 0 16px;
}

.rf-login.is-center .rf-login__field:focus-within {
  border-color: var(--rsl-blue) !important;
  box-shadow: 0 0 0 4px var(--rsl-blue-soft-10) !important;
}

.rf-login.is-center .rf-login__field input {
  height: 100%;
  min-height: 0;
  padding: 0;
  font-size: 14px !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  text-align: left;
  color: var(--rsl-ink);
}

.rf-login.is-center .rf-login__terms {
  margin: 12px 0 0;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 1.7;
  text-align: center;
  color: var(--rsl-login-ph) !important;
}

.rf-login.is-center .rf-login__terms a,
.rf-login.is-center .rf-login__terms span {
  color: var(--rsl-login-ph) !important;
  font-weight: 500;
  text-decoration: none;
}

.rf-login.is-center .rf-login__terms:not([data-rf-vendor-signup])::before {
  content: "\200F*\00a0";
  color: var(--rsl-login-ph);
}

.rf-login.is-center .rf-login__btn {
  box-sizing: border-box;
  height: 56px;
  min-height: 56px;
  margin-top: 16px;
  padding: 0 16px;
  border-radius: 8px !important;
  background: var(--rsl-blue) !important;
  color: #fff !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  box-shadow: none !important;
  opacity: 1 !important;
  cursor: pointer !important;
  transition: background-color 0.16s, opacity 0.16s, transform 0.12s !important;
}

.rf-login.is-center .rf-login__btn:hover:not(:disabled) {
  background: var(--rsl-blue-600) !important;
  transform: translateY(-1px);
}

.rf-login.is-center .rf-login__btn:active:not(:disabled) {
  transform: translateY(0);
}

.rf-login.is-center .rf-login__code {
  order: 2;
  margin: 4px 0 8px;
}

.rf-login.is-center .rf-login__code input {
  border: 1px solid var(--rsl-line);
  border-radius: var(--rsl-radius-sm);
  background: var(--rsl-page-bg);
  color: var(--rsl-ink);
}

.rf-login.is-center .rf-login__code input:focus {
  border-color: var(--rsl-blue);
  box-shadow: 0 0 0 4px var(--rsl-blue-soft-10);
}

.rf-login.is-center .rf-login__resend {
  order: 5;
  font-size: 12px;
  font-weight: 500;
  color: var(--rsl-muted);
}

@media (max-width: 700px) {
  .rf-login.is-center {
    align-items: flex-end;
    padding: 0;
  }

  .rf-login.is-center .rf-login__main,
  .rf-login.is-center .rf-login__card {
    width: 100%;
    max-width: none;
  }

  .rf-login.is-center .rf-login__card {
    border-radius: var(--rsl-radius) var(--rsl-radius) 0 0;
    padding-bottom: calc(24px + env(safe-area-inset-bottom, 0px));
  }
}
