/**
 * Leboss — minimal overrides on top of the localized TheGem/Elementor CSS.
 * The vendor stylesheets carry the full design; this only fixes the few
 * places where we render markup server-side instead of via the runtime.
 */

/* Positive letter-spacing breaks Arabic/Persian cursive joining on titles */
:root {
  --thegem-to-h1-letter-spacing: 0px;
  --thegem-to-h2-letter-spacing: 0px;
  --thegem-to-h3-letter-spacing: 0px;
  --thegem-to-h4-letter-spacing: 0px;
  --thegem-to-h5-letter-spacing: 0px;
  --thegem-to-h6-letter-spacing: 0px;
  --thegem-to-xlarge-title-letter-spacing: 0px;
  --thegem-to-product-title-letter-spacing: 0px;
  --thegem-to-product-grid-title-letter-spacing: 0px;
  --thegem-to-tabs-title-letter-spacing: 0px;
  --thegem-to-tabs-title-thin-letter-spacing: 0px;
  --thegem-to-styled-subtitle-letter-spacing: 0px;
  --thegem-to-light-title-letter-spacing: 0px;
}
h1, h2, h3, h4, h5, h6,
.title-h1, .title-h2, .title-h3, .title-h4, .title-h5, .title-h6,
.title-xlarge,
.product_title,
.entry-title,
.thegem-heading,
.title-h1.light, .title-h2.light, .title-h3.light,
h1.light, h2.light, h3.light {
  letter-spacing: 0 !important;
}

/* Product carousels: TheGem hides .extended-carousel-item until owl adds
 * .owl-loaded. We render server-side, so reveal it and lay the cards out
 * in a single horizontal strip that mirrors the initial carousel view. */
.extended-carousel-item {
  opacity: 1 !important;
  height: auto !important;
}
.extended-carousel-item.owl-carousel:not(.owl-loaded) {
  display: flex;
  flex-wrap: nowrap;
  gap: 42px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.extended-carousel-item.owl-carousel:not(.owl-loaded)::-webkit-scrollbar { display: none; }
.extended-carousel-item.owl-carousel:not(.owl-loaded) > .portfolio-item {
  flex: 0 0 calc((100% - 3 * 42px) / 4);
  max-width: calc((100% - 3 * 42px) / 4);
  margin: 0 !important;
  float: none !important;
  scroll-snap-align: start;
}
@media (max-width: 1211px) {
  .extended-carousel-item.owl-carousel:not(.owl-loaded) > .portfolio-item {
    flex-basis: calc((100% - 2 * 42px) / 3);
    max-width: calc((100% - 2 * 42px) / 3);
  }
}
@media (max-width: 979px) {
  .extended-carousel-item.owl-carousel:not(.owl-loaded) > .portfolio-item {
    flex-basis: calc((100% - 42px) / 2);
    max-width: calc((100% - 42px) / 2);
  }
}
@media (max-width: 767px) {
  .extended-carousel-item.owl-carousel:not(.owl-loaded) > .portfolio-item {
    flex-basis: 80%;
    max-width: 80%;
  }
}

/* Product carousel — custom L/R arrows (Owl native nav is hidden) */
.extended-products-grid-carousel,
.extended-products-grid-carousel .portfolio-preloader-wrapper,
.extended-products-grid-carousel .portfolio-row-outer,
.extended-products-grid-carousel .portfolio-filter-tabs-content,
.extended-products-grid-carousel .portfolio-row,
.extended-products-grid-carousel .portfolio-set,
.extended-products-grid-carousel .extended-carousel-wrap,
.extended-products-grid-carousel .extended-carousel-item.owl-carousel,
.elementor-widget-thegem-extended-products-carousel,
.elementor-widget-thegem-extended-products-carousel .elementor-widget-container,
.elementor-16803 .elementor-element.elementor-element-472b61f,
.elementor-16803 .elementor-element.elementor-element-c3cdf6d,
.elementor-16803 .elementor-element.elementor-element-cc23185,
.elementor-16803 .elementor-element.elementor-element-fb50180,
.elementor-16803 .elementor-element.elementor-element-72743be,
.elementor-16803 .elementor-element.elementor-element-1a626fc {
  overflow: visible !important;
}
.extended-carousel-wrap.leboss-carousel-nav-host,
.leboss-carousel-nav-host {
  position: relative !important;
  overflow: visible !important;
}
/* Kill Owl / TheGem built-in nav — we use .leboss-carousel-arrow instead */
.extended-products-grid-carousel .extended-carousel-item .owl-nav,
.extended-carousel-item.owl-carousel .owl-nav {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.leboss-carousel-arrow {
  position: absolute !important;
  top: 28% !important;
  transform: translateY(-50%) !important;
  z-index: 120 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 40px !important;
  height: 40px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #e6e6e6 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.16) !important;
  cursor: pointer !important;
  opacity: 1 !important;
  visibility: visible !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  pointer-events: auto !important;
}
/* Inset enough to clear #page { overflow: clip } and edge clipping */
.leboss-carousel-arrow--left {
  left: 20px !important;
  right: auto !important;
}
.leboss-carousel-arrow--right {
  right: 20px !important;
  left: auto !important;
}
.leboss-carousel-arrow span {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
  border: solid #0a0a0a !important;
  border-width: 0 2.5px 2.5px 0 !important;
  box-sizing: border-box !important;
  pointer-events: none !important;
}
.leboss-carousel-arrow--left span {
  transform: translateX(2px) rotate(135deg) !important; /* ‹ */
}
.leboss-carousel-arrow--right span {
  transform: translateX(-2px) rotate(-45deg) !important; /* › */
}
.leboss-carousel-arrow:hover {
  background: #f7f7f7 !important;
  border-color: #0a0a0a !important;
}
@media (max-width: 767px) {
  .leboss-carousel-arrow {
    width: 34px !important;
    height: 34px !important;
    top: 24% !important;
  }
  .leboss-carousel-arrow--left { left: 10px !important; }
  .leboss-carousel-arrow--right { right: 10px !important; }
}

/* Hero / Elementor slides — arrows must sit above full-bleed slide links */
.elementor-widget-slides .elementor-main-swiper,
.elementor-widget-slides .swiper {
  position: relative;
}
.elementor-widget-slides .elementor-swiper-button,
.elementor-widget-slides .elementor-swiper-button-prev,
.elementor-widget-slides .elementor-swiper-button-next {
  position: absolute !important;
  z-index: 40 !important;
  pointer-events: auto !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.18) !important;
  opacity: 1 !important;
  visibility: visible !important;
  color: #0a0a0a !important;
}
.elementor-widget-slides .elementor-swiper-button svg,
.elementor-widget-slides .elementor-swiper-button .e-font-icon-svg {
  width: 18px !important;
  height: 18px !important;
  fill: #0a0a0a !important;
  color: #0a0a0a !important;
  pointer-events: none !important;
}
/*
 * Elementor RTL slides ship prev=chevron-right and next=chevron-left.
 * Place next on the LEFT and prev on the RIGHT so icons read as ‹ left / › right.
 */
.elementor-widget-slides .elementor-swiper-button-next {
  left: 12px !important;
  right: auto !important;
}
.elementor-widget-slides .elementor-swiper-button-prev {
  right: 12px !important;
  left: auto !important;
}
.elementor-widget-slides .swiper-slide-inner,
.elementor-widget-slides .swiper-slide a {
  pointer-events: auto;
}
/* Keep slide tap area, but never cover nav hit-targets */
.elementor-widget-slides .elementor-swiper-button {
  pointer-events: auto !important;
}

/* Static grids without isotope (best-sellers + shop loop): even CSS grid rows. */
.extended-products-grid.disable-isotope:not(.extended-products-grid-carousel) .portfolio-set,
.leboss-shop .extended-products-grid.main-loop-grid .portfolio-set {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 16px;
  align-items: stretch;
}
.extended-products-grid.disable-isotope:not(.extended-products-grid-carousel) .portfolio-set > .portfolio-item,
.leboss-shop .extended-products-grid.main-loop-grid .portfolio-set > .portfolio-item {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media (max-width: 979px) {
  .extended-products-grid.disable-isotope:not(.extended-products-grid-carousel) .portfolio-set,
  .leboss-shop .extended-products-grid.main-loop-grid .portfolio-set {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 600px) {
  .extended-products-grid.disable-isotope:not(.extended-products-grid-carousel) .portfolio-set,
  .leboss-shop .extended-products-grid.main-loop-grid .portfolio-set {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 8px;
  }
}

/* Uniform portrait frames (cards use <a><img>, not <picture> — vendor cover rules miss them). */
.portfolio.extended-products-grid .image {
  width: 100%;
  position: relative;
  background: #f5f5f5;
}
.portfolio.extended-products-grid.aspect-ratio-portrait .image .image-inner,
.portfolio.extended-products-grid.aspect-ratio-custom .image .image-inner {
  width: 100%;
  aspect-ratio: 0.8;
  overflow: hidden;
  position: relative;
}
.portfolio.extended-products-grid .image .image-inner > a.image-link {
  display: block;
  position: absolute;
  inset: 0;
}
.portfolio.extended-products-grid .image .image-inner picture img,
.portfolio.extended-products-grid .image .image-inner > a > img,
.portfolio.extended-products-grid .image .image-inner img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: 100% !important;
  object-fit: cover;
  object-position: center top;
}

/* Equal-height cards: photo on top, caption fills remaining space, price on one baseline */
.portfolio.extended-products-grid.disable-isotope.caption-position-page .wrap,
.leboss-shop .extended-products-grid.main-loop-grid .portfolio-item .wrap,
.portfolio.products.disable-isotope .portfolio-item .wrap {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  height: 100%;
  min-height: 100%;
}
.portfolio.extended-products-grid.disable-isotope.caption-position-page .wrap .caption,
.leboss-shop .extended-products-grid.main-loop-grid .portfolio-item .caption,
.portfolio.products.disable-isotope .portfolio-item .caption {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}
.portfolio.extended-products-grid .portfolio-item .caption .product-info,
.leboss-shop .portfolio-item .caption .product-info,
.portfolio.products .portfolio-item .caption .product-info {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}
.portfolio.extended-products-grid .portfolio-item .caption .list-right,
.leboss-shop .portfolio-item .caption .list-right,
.portfolio.products .portfolio-item .caption .list-right {
  margin-top: auto !important;
  width: 100%;
  padding-top: 8px;
}

/* Categories: one line; titles: two lines — fixed slot so prices line up */
.portfolio.extended-products-grid .portfolio-item .caption .categories,
.leboss-shop .portfolio-item .caption .categories,
.portfolio.products .portfolio-item .caption .categories {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 1 !important;
  line-clamp: 1;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  min-height: 1.35em;
  max-height: 1.35em;
  margin: 0 0 6px !important;
  line-height: 1.35 !important;
}

.portfolio.extended-products-grid .portfolio-item .caption .title,
.leboss-shop .portfolio-item .caption .title,
.portfolio.products .portfolio-item .caption .title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  min-height: calc(1.4em * 2);
  max-height: calc(1.4em * 2);
  margin: 0 !important;
  line-height: 1.4 !important;
}
.portfolio.extended-products-grid .portfolio-item .caption .title a,
.leboss-shop .portfolio-item .caption .title a,
.portfolio.products .portfolio-item .caption .title a {
  display: inline !important;
  margin: 0 !important;
  line-height: inherit !important;
  white-space: inherit !important;
}

/* Mobile: bigger photos, compact title/price (previous storefront proportion)
   NOTE: dense overrides that must win the cascade live at file end
   (see «Mobile catalog density»). */
@media (max-width: 767px) {
  .leboss-shop .block-content > .container,
  .leboss-shop .container {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* Taller image tile so photo dominates the card */
  .portfolio.extended-products-grid .image .image-inner {
    aspect-ratio: 0.72 !important;
  }
  /* Previous mobile look: text centered under the photo */
  .leboss-shop .portfolio-item .caption,
  .leboss-shop .portfolio-item .caption .product-info,
  .leboss-shop .portfolio-item .caption .title,
  .leboss-shop .portfolio-item .caption .title a,
  .leboss-shop .portfolio-item .caption .product-price,
  .leboss-shop .portfolio-item .caption .product-price .price,
  .leboss-shop .portfolio-item .caption .product-price bdi,
  .elementor-16803 .portfolio.products .caption,
  .elementor-16803 .portfolio.products .caption .product-info,
  .elementor-16803 .portfolio.products .caption .title,
  .elementor-16803 .portfolio.products .caption .title a,
  .elementor-16803 .portfolio.products .caption .product-price,
  .elementor-16803 .portfolio.products .caption .product-price .price,
  .elementor-16803 .portfolio.products .caption .product-price bdi {
    text-align: center !important;
  }
}

/* Sale prices in product cards: .product-info sets line-height:0, so when a
 * discounted product's struck price + sale price wrap to two lines on narrow
 * cards they collapse and overlap. Restore a real line-height on the price. */
.portfolio.extended-products-grid .portfolio-item.product .caption .product-price,
.portfolio.extended-products-grid .portfolio-item.product .caption .product-price .price {
  line-height: 1.5;
}
.portfolio.extended-products-grid .portfolio-item.product .caption .product-price .price del,
.portfolio.extended-products-grid .portfolio-item.product .caption .product-price .price ins,
.portfolio.extended-products-grid .portfolio-item.product .caption .product-price .price .amount {
  line-height: 1.5;
}

/* Product badges — exact leboss.shop customizer colors. */
.product .onsale,
.product-labels .label.onsale,
.product-gallery-labels .product-labels .onsale {
  background-color: #0a0a0a !important;
  color: #fff !important;
}
.product .onsale:after,
.product-labels .label.onsale:after {
  border-left-color: #0a0a0a !important;
  border-right-color: #0a0a0a !important;
}
.product .out-of-stock-label,
.product-labels .label.out-of-stock-label,
.product-gallery-labels .product-labels .out-of-stock-label {
  background-color: #e63946 !important;
  color: #fff !important;
}
.product .out-of-stock-label:after,
.product-labels .label.out-of-stock-label:after {
  border-left-color: #e63946 !important;
  border-right-color: #e63946 !important;
}
.product .new-label,
.product-labels .label.new-label {
  background-color: #ababab !important;
  color: #fff !important;
}

/* Stack sale + out-of-stock badges vertically (no overlap). */
.portfolio-item.product .image { position: relative; }
.portfolio-item.product .labels-outer {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 5;
  pointer-events: none;
}
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1,
.product-gallery-labels .product-labels.style-1 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  position: static;
  width: auto;
  transform: none;
}
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .label,
.product-gallery-labels .product-labels.style-1 .label {
  margin: 0 !important;
  position: relative;
  flex-shrink: 0;
}
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .out-of-stock-label + .onsale,
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .out-of-stock-label + .new-label,
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .onsale + .new-label,
.product .onsale + .new-label,
.product .onsale + .out-of-stock-label,
.product .new-label + .out-of-stock-label {
  margin-top: 0 !important;
}
/* Keep badge circles a consistent readable size. */
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .label,
.product-gallery-labels .product-labels.style-1 .label {
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 3px;
  border-radius: 50%;
  line-height: 1.1;
}
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .out-of-stock-label .text,
.product-gallery-labels .product-labels.style-1 .out-of-stock-label .text {
  font-size: 7px;
  line-height: 1.15;
  display: block;
  text-align: center;
  word-break: break-word;
}
.portfolio.extended-products-grid .portfolio-item.product .product-labels.style-1 .onsale .text,
.product-gallery-labels .product-labels.style-1 .onsale .text {
  font-size: 13px;
  font-weight: 700;
}

/* Product card caption: gap under image + title/price right-aligned together
   Covers shop grids, home carousels (elementor-16803), and compact products. */
.portfolio.extended-products-grid .portfolio-item .caption,
.portfolio.products .portfolio-item .caption,
.leboss-shop .portfolio-item .caption,
.elementor-16803 .portfolio.products .portfolio-item .caption,
.products-compact-grid .caption {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  padding-top: 20px !important;
  text-align: right !important;
  direction: rtl;
  min-height: 0;
}

.portfolio.extended-products-grid .portfolio-item .caption .product-info,
.portfolio.products .portfolio-item .caption .product-info,
.elementor-16803 .portfolio.products .caption .product-info,
.products-compact-grid .caption .product-info {
  display: flex !important;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  max-width: 100%;
  line-height: 1.45 !important;
  text-align: right !important;
  direction: rtl;
  min-height: 0;
}

.portfolio.extended-products-grid .portfolio-item .caption .title,
.portfolio.products .portfolio-item .caption .title,
.portfolio-item .caption .title,
.leboss-shop .portfolio-item .caption .title,
.elementor-16803 .portfolio.products .caption .title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  width: 100%;
  min-height: calc(1.4em * 2);
  max-height: calc(1.4em * 2);
  margin: 0 !important;
  line-height: 1.4 !important;
  text-align: right !important;
  direction: rtl;
  unicode-bidi: plaintext;
}
.portfolio.extended-products-grid .portfolio-item .caption .title a,
.portfolio.products .portfolio-item .caption .title a,
.portfolio-item .caption .title a,
.leboss-shop .portfolio-item .caption .title a,
.elementor-16803 .portfolio.products .caption .title a {
  display: inline !important;
  width: auto;
  margin: 0 !important;
  line-height: inherit !important;
  text-align: inherit !important;
  direction: inherit;
  unicode-bidi: plaintext;
  white-space: inherit !important;
}

/* Product card price — same right edge as title */
.portfolio-item .caption .product-price,
.extended-products-grid .product-price,
.portfolio.products .portfolio-item .caption .product-price,
.elementor-16803 .portfolio.products .caption .product-price {
  display: block !important;
  width: 100%;
  margin: 0 !important;
  text-align: right !important;
  direction: rtl;
}

.portfolio.extended-products-grid .portfolio-item .caption .list-right,
.leboss-shop .portfolio-item .caption .list-right,
.portfolio.products .portfolio-item .caption .list-right,
.elementor-16803 .portfolio.products .caption .list-right {
  margin-top: auto !important;
  width: 100%;
  padding-top: 8px;
}

.portfolio-item .caption .product-price .price,
.elementor-16803 .portfolio.products .caption .product-price .price {
  display: block !important;
  width: 100%;
  text-align: right !important;
  direction: rtl;
}

.portfolio-item .caption .product-price .price,
.portfolio-item .caption .product-price .amount,
.portfolio-item .caption .product-price bdi,
.elementor-16803 .portfolio.products .caption .product-price .price,
.elementor-16803 .portfolio.products .caption .product-price .amount,
.elementor-16803 .portfolio.products .caption .product-price bdi {
  color: #0a0a0a !important;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  text-align: right !important;
  direction: rtl;
  unicode-bidi: isolate;
}

.portfolio-item .caption .product-price del,
.portfolio-item .caption .product-price del .amount,
.portfolio-item .caption .product-price del bdi,
.elementor-16803 .portfolio.products .caption .product-price del,
.elementor-16803 .portfolio.products .caption .product-price del .amount,
.elementor-16803 .portfolio.products .caption .product-price del bdi,
.woocommerce .price del,
.woocommerce .price del .amount,
.woocommerce .price del bdi {
  color: #848484 !important;
  font-weight: 400;
  font-size: 12px;
  margin-left: 6px;
}

.portfolio-item .caption .product-price ins { text-decoration: none; }
.portfolio-item .caption .price-wrap { display: block; width: 100%; text-align: right !important; }

/* ============ My Account: sign in / create account ============ */
.woocommerce-account .leboss-main { padding-bottom: 60px; }
.woocommerce-account .leboss-content,
.woocommerce-account #main > .woocommerce {
  max-width: var(--lb-max);
  margin: 0 auto;
  padding: 0 20px;
}
.woocommerce-account .u-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
  justify-content: center;
  margin-top: 30px;
}
.woocommerce-account .u-columns > .col-1,
.woocommerce-account .u-columns > .col-2 {
  flex: 1 1 420px;
  max-width: 460px;
  width: 100%;
  float: none;
}
.woocommerce-account .u-columns h2,
.woocommerce-account .col-1 > h2,
.woocommerce-account .col-2 > h2 {
  font-family: 'YekanBakhFaNum', sans-serif;
  font-weight: 700;
  font-size: 22px;
  text-align: center;
  margin: 0 0 18px;
  color: #0a0a0a;
}
.woocommerce-account form.login,
.woocommerce-account form.register {
  border: 1px solid #ececec;
  border-radius: 12px;
  padding: 28px 26px;
  background: #fff;
  text-align: right;
}
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account form .form-row label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
}
.woocommerce-account form .form-row {
  margin-bottom: 18px;
  padding: 0;
}
.woocommerce-account .woocommerce-Input,
.woocommerce-account form .input-text,
.woocommerce-account form input[type="text"],
.woocommerce-account form input[type="email"],
.woocommerce-account form input[type="password"] {
  width: 100%;
  padding: 13px 14px;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
  background: #fafafa;
  box-sizing: border-box;
}
.woocommerce-account form .input-text:focus {
  outline: none;
  border-color: #0a0a0a;
  background: #fff;
}
.woocommerce-account .password-input { position: relative; display: block; }
.woocommerce-account .show-password-input {
  position: absolute;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  cursor: pointer;
}
.woocommerce-account .woocommerce-form-login__rememberme {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #555;
  margin: 4px 0 16px;
}
.woocommerce-account button.woocommerce-button,
.woocommerce-account button.woocommerce-form-login__submit,
.woocommerce-account button.woocommerce-form-register__submit,
.woocommerce-account .woocommerce-Button {
  background-color: #0a0a0a !important;
  background-image: none !important;
  color: #fff !important;
  border: 0 !important;
  padding: 13px 34px !important;
  border-radius: 8px !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  font-family: inherit !important;
  cursor: pointer;
  text-shadow: none !important;
  box-shadow: none !important;
  width: 100%;
}
.woocommerce-account button.woocommerce-button:hover { background-color: #333 !important; }
.woocommerce-account .woocommerce-LostPassword {
  margin: 16px 0 0;
  text-align: center;
  font-size: 13px;
}
.woocommerce-account .woocommerce-LostPassword a { color: #0a0a0a; text-decoration: underline; }
.woocommerce-account .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: #888;
  line-height: 1.9;
  margin: 6px 0 18px;
}
@media (max-width: 767px) {
  .woocommerce-account .u-columns { flex-direction: column; align-items: center; }
}

/* Generic page content */
.leboss-main .leboss-content {
  max-width: 980px;
  margin: 40px auto 60px;
  padding: 0 20px;
}
.leboss-content__title {
  font-family: 'YekanBakhFaNum', sans-serif;
  font-weight: 700;
  font-size: 28px;
  text-align: center;
  margin: 0 0 24px;
  color: #0a0a0a;
}
.leboss-content__body { text-align: center; line-height: 2; color: #333; }
.leboss-content__body h2 {
  font-family: 'YekanBakhFaNum', sans-serif;
  font-weight: 700; font-size: 24px; margin: 24px 0 16px; color: #0a0a0a;
}
.leboss-content__body img { max-width: 100%; height: auto; }
/* foreign-store logos render inline; keep them in a tidy centered row */
.leboss-content__body p img,
.leboss-content__body > img { margin: 6px 10px; vertical-align: middle; }
/* hide broken image placeholders gracefully */
.leboss-content__body img:-moz-broken { visibility: hidden; }

/* Shop-by-link page (خرید با لینک) */
.leboss-buy-link {
  max-width: 720px;
  margin: 28px auto;
  text-align: center;
}
.leboss-buy-link__form {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: center;
}
.leboss-buy-link__input {
  flex: 1 1 380px;
  min-width: 0;
  padding: 14px 16px;
  border: 1px solid #e2e2e2;
  border-radius: 8px;
  font-family: inherit;
  font-size: 15px;
}
.leboss-buy-link__btn {
  padding: 14px 26px;
  background: #0a0a0a;
  color: #fff;
  border: 0;
  border-radius: 8px;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
}
.leboss-buy-link__btn:hover { background: #333; }
.leboss-buy-link__hint { margin-top: 14px; color: #777; font-size: 14px; line-height: 2; }

/* Product archive (shop / category) */
.leboss-shop .block-content { padding: 40px 0 60px; }
.leboss-archive__head { margin-bottom: 28px; }
.leboss-archive__title {
  font-family: 'YekanBakhFaNum', sans-serif;
  font-weight: 700;
  font-size: 42px;
  text-align: center;
  margin: 24px 0 16px;
  color: #3c3950;
}
/* Breadcrumbs under the archive title, right-aligned like leboss.shop */
.leboss-archive__head .page-breadcrumbs { min-height: 40px; justify-content: flex-start; }

/* Page breadcrumbs (PDP + archive) — layout was in TheGem inline CSS on old site */
.page-breadcrumbs {
  position: relative;
  display: flex;
  width: 100%;
  align-items: center;
  min-height: 48px;
  margin-bottom: 8px;
  z-index: 5;
}
.page-breadcrumbs.page-breadcrumbs--left {
  justify-content: flex-start;
}
.page-breadcrumbs.page-breadcrumbs--right {
  justify-content: flex-end;
}
.page-breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 0;
  margin: 0;
  list-style: none;
}
.page-breadcrumbs ul li {
  position: relative;
  font-size: 14px;
  line-height: 1.6;
  color: #3c3950;
}
.page-breadcrumbs ul li a {
  color: #99a9b5;
  text-decoration: none;
}
.page-breadcrumbs ul li a:hover {
  color: #3c3950;
}
.page-breadcrumbs ul li:not(:last-child) {
  padding-inline-end: 20px;
  margin-inline-end: 5px;
}
.page-breadcrumbs ul li:not(:last-child)::after {
  font-family: 'thegem-icons';
  content: '\e603';
  position: absolute;
  inset-inline-end: 0;
  top: 50%;
  transform: translateY(-50%);
  line-height: 1;
  font-size: 12px;
  color: #99a9b5;
}
.leboss-product-page .page-breadcrumbs {
  min-height: 40px;
  margin-bottom: 16px;
}

.leboss-archive__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  gap: 12px;
  border-bottom: 1px solid #ececec;
  padding-bottom: 14px;
}
.leboss-archive__bar .woocommerce-result-count { margin: 0; color: #99a9b5; font-size: 13px; }
.leboss-archive__bar .woocommerce-ordering select {
  border: 1px solid #e2e2e2;
  border-radius: 6px;
  padding: 8px 12px;
  font-family: inherit;
  background: #fff;
}
.leboss-pagination { margin-top: 40px; display: flex; justify-content: center; }
.leboss-pagination ul.page-numbers,
.leboss-pagination .woocommerce-pagination ul {
  display: flex; gap: 6px; list-style: none; padding: 0; margin: 0;
}
.leboss-pagination ul.page-numbers li { list-style: none; margin: 0; }
.leboss-pagination a.page-numbers,
.leboss-pagination span.page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px; padding: 0 8px;
  border: 1px solid #e2e2e2; border-radius: 6px; text-decoration: none; color: #0a0a0a;
}
.leboss-pagination span.page-numbers.current { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }

/* Catalog toolbar (shop / archive templates) */
.leboss-catalog-toolbar {
  margin-bottom: 24px;
}
.leboss-catalog-toolbar .portfolio-top-panel-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 12px;
}
.leboss-catalog-toolbar .portfolio-top-panel-left {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  flex-wrap: wrap;
  gap: 8px 20px;
}
.leboss-catalog-toolbar .portfolio-filters a.active {
  font-weight: 700;
}
.leboss-catalog-toolbar .portfolio-sorting-select ul {
  display: none;
}
.leboss-catalog-toolbar .portfolio-sorting-select.active ul {
  display: block;
}
.leboss-catalog-toolbar .portfolio-filter-item-list a.active {
  font-weight: 700;
  color: #0a0a0a;
}
/* ============ Catalog filter panel — Figma Juwan 489×880 ============ */
/* Crush TheGem style-hidden drawer (slides from LEFT) and match Figma card. */

.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer,
.leboss-catalog-toolbar .portfolio-filters-list.style-hidden .portfolio-filters-outer {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: transparent !important;
  overflow: hidden !important;
}

.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer.visible,
.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer.leboss-filter-outer--open.visible,
.leboss-catalog-toolbar .portfolio-filters-list.style-hidden .portfolio-filters-outer.visible {
  z-index: 12050 !important;
  pointer-events: auto !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: rgba(0, 0, 0, 0.35) !important;
}

.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer:before,
.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer.visible:before {
  display: none !important;
  content: none !important;
}

.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer:not(.visible) .portfolio-filters-area.leboss-filter-panel {
  display: none !important;
}

/* Kill TheGem: float:left; left:-100%; width:350/480; position:relative */
.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer .portfolio-filters-area.leboss-filter-panel,
.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer.visible .portfolio-filters-area.leboss-filter-panel,
.leboss-catalog-toolbar .portfolio-filters-list.style-hidden .portfolio-filters-outer .portfolio-filters-area.leboss-filter-panel {
  position: fixed !important;
  top: var(--leboss-filter-panel-top, 0px) !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;
  float: none !important;
  clear: none !important;
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  width: 489px !important;
  max-width: min(489px, 100vw) !important;
  min-width: 0 !important;
  height: min(880px, calc(100dvh - var(--leboss-filter-panel-top, 0px))) !important;
  max-height: min(880px, calc(100dvh - var(--leboss-filter-panel-top, 0px))) !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #ffffff !important;
  box-shadow: -12px 0 40px rgba(0, 0, 0, 0.12) !important;
  border: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  transition: none !important;
  visibility: visible !important;
  z-index: 12051 !important;
  font-family: 'YekanBakhFaNum', 'YekanBakh', sans-serif !important;
  direction: ltr !important; /* physical layout; children place RTL labels explicitly */
  box-sizing: border-box !important;
}

.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer .portfolio-filters-area.leboss-filter-panel .portfolio-filters-area-scrollable,
.leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer.visible .portfolio-filters-area.leboss-filter-panel .portfolio-filters-area-scrollable {
  display: block !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4px 48px 40px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  box-sizing: border-box !important;
}

.leboss-native-filters .leboss-filter-panel .widget-area,
.leboss-native-filters .leboss-filter-panel .widget-area > * {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  overflow: visible !important;
}

/* Header: clear LEFT, close RIGHT (physical LTR, matches Figma) */
.leboss-filter-panel__header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 28px 48px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid #eeeeee !important;
  background: #fff !important;
  direction: ltr !important;
  box-sizing: border-box !important;
}
.leboss-filter-panel__clear {
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #e63946 !important;
  text-decoration: none !important;
  order: 0 !important;
}
.leboss-filter-panel__close {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  order: 1 !important;
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #0a0a0a !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
}
.leboss-filter-panel__close-icon {
  position: relative !important;
  width: 12px !important;
  height: 12px !important;
}
.leboss-filter-panel__close-icon::before,
.leboss-filter-panel__close-icon::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 12px !important;
  height: 1.5px !important;
  background: #fff !important;
  border-radius: 1px !important;
}
.leboss-filter-panel__close-icon::before { transform: translate(-50%, -50%) rotate(45deg) !important; }
.leboss-filter-panel__close-icon::after { transform: translate(-50%, -50%) rotate(-45deg) !important; }

.leboss-catalog-filters-form {
  display: block !important;
  width: 100% !important;
  direction: ltr !important;
}

.leboss-filter-accordion {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}
.leboss-filter-accordion__item {
  border-bottom: 1px solid #eeeeee !important;
  padding: 22px 0 !important;
  margin: 0 !important;
  width: 100% !important;
}
.leboss-filter-accordion__item--toggle:last-child {
  border-bottom: 0 !important;
}

/* Trigger: chevron LEFT, title RIGHT */
.leboss-filter-accordion__trigger {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  min-height: 28px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  cursor: pointer !important;
  direction: ltr !important;
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-weight: 600 !important;
  font-size: 18px !important;
  line-height: 1.5 !important;
  color: #5f727f !important;
  box-shadow: none !important;
}
.leboss-filter-accordion__title {
  flex: 1 1 auto !important;
  text-align: right !important;
  direction: rtl !important;
}
.leboss-filter-accordion__item.is-expanded .leboss-filter-accordion__trigger {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}
.leboss-filter-accordion__icon {
  position: relative !important;
  order: 0 !important;
  width: 14px !important;
  height: 14px !important;
  flex-shrink: 0 !important;
  color: inherit !important;
}
.leboss-filter-accordion__title { order: 1 !important; }
.leboss-filter-accordion__icon::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 1.5px solid currentColor !important;
  border-bottom: 1.5px solid currentColor !important;
  transform: translate(-50%, -65%) rotate(45deg) !important;
  transition: transform 0.2s ease !important;
  font: none !important;
}
.leboss-filter-accordion__item.is-expanded .leboss-filter-accordion__icon::before {
  transform: translate(-50%, -35%) rotate(-135deg) !important;
}
.leboss-filter-accordion__body {
  display: none !important;
  padding: 18px 0 0 !important;
  width: 100% !important;
}
.leboss-filter-accordion__item.is-expanded .leboss-filter-accordion__body {
  display: block !important;
}

/* Brand: name LEFT, checkbox RIGHT + left scrollbar */
.leboss-filter-brand-list {
  max-height: 260px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;
  padding: 0 4px 4px 12px !important;
  direction: ltr !important;
  scrollbar-width: thin;
  scrollbar-color: #0a0a0a #e8e8e8;
}
.leboss-filter-brand-list::-webkit-scrollbar { width: 4px; }
.leboss-filter-brand-list::-webkit-scrollbar-track { background: #e8e8e8; border-radius: 4px; }
.leboss-filter-brand-list::-webkit-scrollbar-thumb { background: #0a0a0a; border-radius: 4px; }

.leboss-filter-checkbox {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
  direction: ltr !important;
}
.leboss-filter-checkbox__label {
  flex: 1 1 auto !important;
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  color: #ababab !important;
  text-align: left !important;
  text-transform: none !important;
}
.leboss-filter-checkbox__control {
  position: relative !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
}
.leboss-filter-checkbox__control input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
.leboss-filter-checkbox__box {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  border: 1px solid #dbdbdb !important;
  border-radius: 2px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
.leboss-filter-checkbox__box::after {
  content: "" !important;
  width: 5px !important;
  height: 9px !important;
  border-right: 2px solid transparent !important;
  border-bottom: 2px solid transparent !important;
  transform: rotate(45deg) translateY(-1px) !important;
}
.leboss-filter-checkbox__control input:checked + .leboss-filter-checkbox__box {
  background: #0a0a0a !important;
  border-color: #0a0a0a !important;
}
.leboss-filter-checkbox__control input:checked + .leboss-filter-checkbox__box::after {
  border-color: #fff !important;
}

/* Size */
.leboss-filter-size-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px 8px !important;
  direction: ltr !important;
}
.leboss-filter-size-option {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  margin: 0 !important;
  padding: 0 4px !important;
  border: 1px solid #dbdbdb !important;
  border-radius: 2px !important;
  background: #fff !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.leboss-filter-size-option input {
  position: absolute !important;
  opacity: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
}
.leboss-filter-size-option__label {
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #5f727f !important;
  pointer-events: none !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  line-height: 1 !important;
}
.leboss-filter-size-option.is-selected,
.leboss-filter-size-option:has(input:checked) {
  border-color: #0a0a0a !important;
  border-width: 1.5px !important;
}
.leboss-filter-size-option.is-selected .leboss-filter-size-option__label,
.leboss-filter-size-option:has(input:checked) .leboss-filter-size-option__label {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* Color */
.leboss-filter-color-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 14px 8px !important;
  direction: rtl !important;
}
.leboss-filter-color-option {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  margin: 0 !important;
}
.leboss-filter-color-option input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
.leboss-filter-color-option__frame {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 48px !important;
  height: 48px !important;
  border: 1px solid #ececec !important;
  border-radius: 2px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
.leboss-filter-color-option__swatch {
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  box-sizing: border-box !important;
}
.leboss-filter-color-option__swatch.is-light {
  border: 1px solid #d0d0d0 !important;
}
.leboss-filter-color-option__name {
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #ababab !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: 100% !important;
  line-height: 1.35 !important;
  min-height: 1.35em !important;
}
.leboss-filter-color-option.is-selected .leboss-filter-color-option__frame,
.leboss-filter-color-option:has(input:checked) .leboss-filter-color-option__frame {
  border: 2px solid #0a0a0a !important;
}
.leboss-filter-color-option.is-selected .leboss-filter-color-option__name,
.leboss-filter-color-option:has(input:checked) .leboss-filter-color-option__name {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* Price */
.leboss-filter-price-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  direction: rtl !important;
}
.leboss-filter-price-field {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.leboss-filter-price-field__input-wrap {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 48px !important;
  padding: 0 14px !important;
  border: 1px solid #dbdbdb !important;
  border-radius: 2px !important;
  background: #fff !important;
  direction: rtl !important;
  box-sizing: border-box !important;
}
.leboss-filter-price-field__currency {
  flex-shrink: 0 !important;
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 14px !important;
  color: #ababab !important;
}
.leboss-filter-price-field__input {
  width: 100% !important;
  min-width: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #0a0a0a !important;
  text-align: left !important;
  direction: ltr !important;
  box-shadow: none !important;
}
.leboss-filter-price-field__caption {
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 14px !important;
  color: #ababab !important;
  text-align: center !important;
}

/* Gender */
.leboss-filter-gender-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  direction: rtl !important;
}
.leboss-filter-gender-option {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  margin: 0 !important;
  border: 1px solid #dbdbdb !important;
  border-radius: 2px !important;
  background: #fff !important;
  cursor: pointer !important;
  box-sizing: border-box !important;
}
.leboss-filter-gender-option input {
  position: absolute !important;
  opacity: 0 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  cursor: pointer !important;
}
.leboss-filter-gender-option__label {
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #5f727f !important;
  pointer-events: none !important;
}
.leboss-filter-gender-option.is-selected,
.leboss-filter-gender-option:has(input:checked) {
  border-color: #0a0a0a !important;
  border-width: 1.5px !important;
}
.leboss-filter-gender-option.is-selected .leboss-filter-gender-option__label,
.leboss-filter-gender-option:has(input:checked) .leboss-filter-gender-option__label {
  color: #0a0a0a !important;
  font-weight: 700 !important;
}

/* Toggles: switch LEFT, label RIGHT */
.leboss-filter-toggle {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  min-height: 30px !important;
  margin: 0 !important;
  cursor: pointer !important;
  direction: ltr !important;
}
.leboss-filter-toggle__switch {
  position: relative !important;
  display: inline-flex !important;
  flex-shrink: 0 !important;
  order: 0 !important;
}
.leboss-filter-toggle__label {
  flex: 1 1 auto !important;
  order: 1 !important;
  font-family: 'YekanBakhFaNum', sans-serif !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  color: #0a0a0a !important;
  text-align: right !important;
  direction: rtl !important;
}
.leboss-filter-toggle__switch input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}
.leboss-filter-toggle__track {
  position: relative !important;
  display: block !important;
  width: 46px !important;
  height: 26px !important;
  border-radius: 999px !important;
  background: #2b2b2b !important;
}
.leboss-filter-toggle__thumb {
  position: absolute !important;
  top: 3px !important;
  left: 3px !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.2) !important;
  transition: transform .2s ease !important;
}
.leboss-filter-toggle__switch input:checked + .leboss-filter-toggle__track .leboss-filter-toggle__thumb {
  transform: translateX(20px) !important;
}

@media (max-width: 560px) {
  .leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer .portfolio-filters-area.leboss-filter-panel,
  .leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer.visible .portfolio-filters-area.leboss-filter-panel {
    width: 100vw !important;
    max-width: 100vw !important;
    height: calc(100dvh - var(--leboss-filter-panel-top, 0px)) !important;
    max-height: calc(100dvh - var(--leboss-filter-panel-top, 0px)) !important;
  }
  .leboss-filter-panel__header {
    padding: 20px 20px 14px !important;
  }
  .leboss-native-filters.portfolio-filters-list.style-hidden .portfolio-filters-outer .portfolio-filters-area.leboss-filter-panel .portfolio-filters-area-scrollable {
    padding: 4px 20px 28px !important;
  }
  .leboss-filter-size-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .leboss-filter-color-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
}

body.leboss-filter-panel-open .leboss-filter-panel,
body.leboss-filter-panel-open .leboss-filter-panel .portfolio-filters-area-scrollable {
  touch-action: pan-y;
}

.leboss-shop .portfolio.extended-products-grid {
  margin-top: 8px;
}

/* ============ Single product page (match leboss.shop / TheGem structure) ============ */
.leboss-product-page .block-content {
  padding: 40px 0 60px;
}
.single-product .product-page__wrapper {
  margin: 0;
  padding: 0;
}

/* Production column split (flex — matches thegem-product-page.css) */
.product-page__wrapper .single-product-content.row {
  margin-bottom: 0;
}
@media (min-width: 992px) {
  .product-page__wrapper .single-product-content-left {
    width: 41%;
    float: right;
    order: 0;
    flex: 0 0 41%;
    max-width: 41%;
  }
  .product-page__wrapper .single-product-content-right {
    width: 59%;
    float: left;
    order: 1;
    flex: 0 0 59%;
    max-width: 59%;
    margin-top: 0;
    padding-top: 0;
    z-index: 1;
  }
}
@media (max-width: 991px) {
  .product-page__wrapper .single-product-content-left,
  .product-page__wrapper .single-product-content-right {
    width: 100%;
    float: none;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .product-page__wrapper .single-product-content-right {
    margin-top: 32px;
  }
}
.product-page__wrapper .product-page__left-column,
.product-page__wrapper .product-page__right-column {
  min-width: 0;
}
.product-page__wrapper .single-product-content-bottom {
  clear: both;
  margin-top: 48px;
}

body.single-product .woocommerce-product-gallery,
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image {
  display: none !important;
}
.leboss-product-page .container > .product-page__wrapper ~ .product-page__wrapper {
  display: none !important;
}

/* Summary — minimal overrides; vendor thegem-woocommerce-temp.css does the rest */
.single-product-content .product_title.entry-title.light,
.single-product-content .product_title,
.product-page__wrapper .product_title {
  font-family: 'a-JannatLT', 'YekanBakhFaNum', 'YekanBakh', sans-serif !important;
  font-weight: 300;
  font-size: 24px;
  line-height: 1.5;
  letter-spacing: 0 !important;
  color: #3c3950;
  margin: 0 0 20px;
}
.single-product-content .woocommerce-product-details__short-description {
  color: #5f727f;
  font-size: 14px;
  line-height: 1.9;
}
.leboss-stock-out { color: #e63946; font-weight: 700; margin: 8px 0; }

.single-product-content form.cart { margin-top: 30px; }

/* PDP layout: product-page__wrapper rules, NOT Elementor widget flex. */
.product-page__wrapper .thegem-te-product-add-to-cart {
  position: relative;
  width: 100%;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.variations_form.cart,
.product-page__wrapper .thegem-te-product-add-to-cart form.cart {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
}
.product-page__wrapper .thegem-te-product-add-to-cart table.variations {
  display: table;
  width: auto;
  max-width: 100%;
  margin: 0 0 28px;
  flex: none;
}
.product-page__wrapper .thegem-te-product-add-to-cart table.variations tbody {
  display: table-row-group;
}
.product-page__wrapper .thegem-te-product-add-to-cart table.variations tr {
  display: table-row;
}
.product-page__wrapper .thegem-te-product-add-to-cart table.variations td,
.product-page__wrapper .thegem-te-product-add-to-cart table.variations th {
  display: table-cell;
  vertical-align: top;
  padding: 8px 0;
}
.product-page__wrapper .thegem-te-product-add-to-cart table.variations th.label {
  font-weight: 400;
  color: #99a9b5;
  white-space: nowrap;
  min-width: 60px;
  padding-inline-end: 10px;
  text-align: start;
}
.product-page__wrapper .thegem-te-product-add-to-cart table.variations th.label label {
  line-height: 32px;
  font-weight: 400;
  margin: 0;
}
.product-page__wrapper .thegem-te-product-add-to-cart .single_variation_wrap {
  display: block;
  width: 100%;
  margin-top: 0;
}
.product-page__wrapper .thegem-te-product-add-to-cart .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 16px;
  margin-top: 10px;
}
.product-page__wrapper .thegem-te-product-add-to-cart .woocommerce-variation-price {
  display: none;
}

.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector .field-input {
  display: none;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector {
  padding: 4px 0 0;
  margin-bottom: 0;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector .gem-attribute-options {
  margin: 0;
  padding: 0;
  list-style: none;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector .gem-attribute-options li {
  display: inline-block;
  margin: 4px 0 4px 12px;
  cursor: pointer;
  border: 1px solid #dfe5e8;
  position: relative;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-label .gem-attribute-options li {
  padding: 0 10px;
  line-height: 28px;
  border-radius: 3px;
  height: 30px;
  min-width: 30px;
  text-align: center;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-label .gem-attribute-options li .text {
  display: none;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-label .gem-attribute-options li.selected {
  background-color: #0a0a0a;
  border-color: #0a0a0a;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-label .gem-attribute-options li.selected .label {
  color: #fff;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-color .gem-attribute-options li {
  padding: 2px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-color .gem-attribute-options li .color {
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector.type-color .gem-attribute-options li .text {
  display: none;
}
.product-page__wrapper .thegem-te-product-add-to-cart .gem-attribute-selector .gem-attribute-options li.disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity.buttons_added,
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity {
  display: inline-flex;
  align-items: stretch;
  float: none;
  margin: 0;
  margin-inline-end: 16px;
  margin-bottom: 10px;
  border: 1px solid #dfe5e8;
  border-radius: 3px;
  overflow: hidden;
  max-width: 120px;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity .minus,
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity .plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
  color: #0a0a0a;
  font-size: 22px;
  font-weight: 300;
  cursor: pointer;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity input.qty {
  width: 40px;
  min-width: 40px;
  height: 40px;
  line-height: 38px;
  padding: 0 5px;
  border: 0;
  border-inline: 1px solid #dfe5e8;
  text-align: center;
  -moz-appearance: textfield;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity input.qty::-webkit-outer-spin-button,
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .gem-button-container {
  display: inline-block;
  vertical-align: top;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .gem-button.single_add_to_cart_button {
  margin: 0;
}
.product-page__wrapper .thegem-te-product-add-to-cart form.cart .gem-button.single_add_to_cart_button:hover {
  background-color: #0a0a0a !important;
  border-color: #0a0a0a !important;
  color: #fff !important;
}

.product-page__wrapper .product-page__reset-variations.hidden { display: none; }
.product-page__wrapper .reset_variations { display: none !important; }

.single-product-content table.variations { margin-bottom: 28px; width: 100%; }
.single-product-content table.variations th.label {
  font-weight: 400;
  color: #99a9b5;
  padding-left: 15px;
  vertical-align: top;
  white-space: nowrap;
}
.single-product-content table.variations th.label label {
  line-height: 32px;
  font-weight: 400;
  margin: 0;
}
.single-product-content table.variations td.value { vertical-align: top; padding: 5px 0; }
.single-product-content .gem-attribute-selector .field-input { display: none; }
.single-product-content .product-page__reset-variations.hidden { display: none; }
.single-product-content .reset_variations { display: none !important; }

.single-product-content .woocommerce-variation-add-to-cart {
  display: block;
  margin-top: 10px;
}
.single-product-content .woocommerce-variation-price { display: none; }
.single-product-content form.cart .quantity.buttons_added {
  display: inline-flex;
  align-items: stretch;
  vertical-align: top;
  float: none;
  margin-left: 16px;
  margin-bottom: 20px;
  border: 1px solid #dfe5e8;
  border-radius: 3px;
  overflow: hidden;
}
.single-product-content form.cart .quantity .minus,
.single-product-content form.cart .quantity .plus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  margin: 0;
  padding: 0;
  border: 0;
  background: #fff;
  color: #0a0a0a;
  font-size: 22px;
  font-weight: 300;
  cursor: pointer;
}
.single-product-content form.cart .quantity input.qty {
  width: 40px;
  min-width: 40px;
  height: 40px;
  line-height: 38px;
  padding: 0 5px;
  border: 0;
  border-left: 1px solid #dfe5e8;
  border-right: 1px solid #dfe5e8;
  text-align: center;
  -moz-appearance: textfield;
}
.single-product-content form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product-content form.cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.single-product-content form.cart .gem-button-container {
  display: inline-block;
  vertical-align: top;
}
.single-product-content form.cart .gem-button.single_add_to_cart_button {
  margin-top: 0;
  margin-bottom: 0;
}
.single-product-content form.cart .gem-button.single_add_to_cart_button:hover {
  background-color: #0a0a0a !important;
  border-color: #0a0a0a !important;
  color: #fff !important;
}

.leboss-original-product-link {
  clear: both;
  display: block;
  width: 100%;
  margin-top: 20px;
}
.leboss-original-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  border: 1px solid #ddd;
  border-radius: 6px;
  text-decoration: none;
  background: #fff;
}
.leboss-original-btn:hover { background: #f5f5f5; border-color: #bbb; color: #000; }

/* Meta tags on PDP — plain links like production (not blog-style pills) */
.product-page__wrapper .product-meta.product_meta {
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #ececec;
  font-size: 13px;
  color: #5f727f;
}
.product-page__wrapper .product-meta.product_meta > div {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 7px;
  line-height: 1.8;
}
.product-page__wrapper .product-meta .date-color { color: #99a9b5; padding-left: 5px; }
.product-page__wrapper .product-meta .post-tags-list {
  margin: 0;
}
.product-page__wrapper .product-meta .post-tags-list a {
  display: inline;
  position: static;
  margin: 0 0 0 8px;
  padding: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  color: #5f727f;
  font-size: 13px;
  line-height: inherit;
}
.product-page__wrapper .product-meta .post-tags-list a:before,
.product-page__wrapper .product-meta .post-tags-list a:after {
  display: none !important;
}
.product-page__wrapper .product-meta .post-tags-list a:hover {
  color: #0a0a0a;
  background: none !important;
}
.product-page__wrapper .product-meta .posted_in a {
  color: #5f727f;
  text-decoration: none;
}
.product-page__wrapper .product-meta .posted_in a:hover { color: #0a0a0a; }

/* Related products section header */
.related-products .section-header,
.related-products .related-header,
.single-product-related .related-header {
  text-align: right;
  margin: 0 0 20px;
}
.section-header .colored,
.related-header .colored {
  font-family: 'YekanBakhFaNum', sans-serif;
  font-weight: 700;
  font-size: 26px;
  color: #0a0a0a;
}

/* Related products carousel — compact card layout */
.single-product-related {
  margin-top: 48px;
  margin-bottom: 24px;
  clear: both;
}
/* Owl sets .owl-item width inline — do NOT override it.
   Bootstrap col-xs-6 inside an already-half-width owl-item was
   shrinking the card to ~25% and stacking Persian letters vertically. */
.single-product-related .owl-item {
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.single-product-related .owl-item .portfolio-item,
.single-product-related .extended-carousel-item > .portfolio-item {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.single-product-related .portfolio.extended-products-grid.disable-isotope.caption-position-page .wrap,
.single-product-related .portfolio-item .wrap {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
}
.single-product-related .portfolio-item .wrap > .image {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;
}
.single-product-related .portfolio-item .caption {
  display: flex !important;
  flex-direction: column !important;
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding-top: 12px !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  text-align: right !important;
  direction: rtl;
  box-sizing: border-box !important;
}
.single-product-related .portfolio-item .caption .product-info,
.single-product-related .portfolio-item .caption .list-right,
.single-product-related .portfolio-item .caption .product-price,
.single-product-related .portfolio-item .caption .price-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  text-align: right !important;
  direction: rtl;
}
/* Avoid -webkit-box RTL char-stacking (titles/categories become vertical letters). */
.single-product-related .portfolio-item .caption .categories {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  line-clamp: unset !important;
  font-size: 12px;
  line-height: 1.4 !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 0 6px !important;
  color: #99a9b5;
  text-align: right !important;
  direction: rtl;
  unicode-bidi: isolate;
}
.single-product-related .portfolio-item .caption .title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 8px !important;
  overflow: hidden !important;
  /* 2-line clamp without webkit-box (safer for Persian RTL in Owl) */
  max-height: calc(1.35em * 2) !important;
  min-height: 0 !important;
  line-height: 1.35 !important;
  font-size: 14px;
  text-align: right !important;
  direction: rtl;
  unicode-bidi: isolate;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  line-clamp: unset !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: anywhere;
}
.single-product-related .portfolio-item .caption .title a {
  display: inline !important;
  width: auto !important;
  white-space: normal !important;
  word-break: break-word !important;
  line-height: inherit !important;
  font-size: inherit !important;
  text-align: inherit !important;
  direction: inherit;
  unicode-bidi: isolate;
}
.single-product-related .portfolio-item .caption .product-price .price,
.single-product-related .portfolio-item .caption .product-price bdi {
  text-align: right !important;
  direction: rtl;
  unicode-bidi: isolate;
}
.single-product-related .image .image-inner {
  aspect-ratio: 0.8;
  overflow: hidden;
  width: 100%;
}
@media (max-width: 767px) {
  .single-product-related {
    margin-top: 32px;
    padding: 0 12px;
    overflow: visible;
  }
  .single-product-related .related-header,
  .single-product-related .related-header .colored {
    font-size: 20px;
    text-align: right !important;
    padding-right: 0;
    margin-right: 0;
    width: 100%;
    box-sizing: border-box;
  }
  .single-product-related .extended-products-grid-carousel,
  .single-product-related .portfolio-preloader-wrapper,
  .single-product-related .portfolio-row-outer,
  .single-product-related .extended-carousel-wrap {
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow: visible !important;
  }
  .single-product-related .owl-stage-outer {
    overflow: hidden !important;
  }
  .single-product-related .extended-carousel-item.owl-carousel:not(.owl-loaded) {
    gap: 12px;
  }
  .single-product-related .extended-carousel-item.owl-carousel:not(.owl-loaded) > .portfolio-item {
    flex-basis: calc(50% - 6px);
    max-width: calc(50% - 6px);
  }
  .single-product-related .portfolio-item .caption {
    padding-top: 10px !important;
  }
  /* Match shop grid: hide cramped category crumbs on mobile related cards */
  .single-product-related .portfolio-item .caption .categories {
    display: none !important;
  }
  .single-product-related .portfolio-item .caption .title {
    font-size: 13px !important;
  }
  .single-product-related .extended-carousel-item .owl-nav .owl-prev,
  .single-product-related .extended-carousel-item .owl-nav .owl-next {
    width: 28px;
    height: 28px;
    top: 28% !important;
  }
}

/* Instagram strip (static mirror of the gallery widget) */
.leboss-instagram-strip {
  display: flex;
  gap: 6px;
  width: 100%;
}
.leboss-instagram-strip .leboss-ig-item {
  position: relative;
  flex: 1 1 0;
  display: block;
  overflow: hidden;
}
.leboss-instagram-strip .leboss-ig-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
/* Dark wash + Instagram glyph on hover (matches TheGem gallery hover) */
.leboss-instagram-strip .leboss-ig-item::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(10, 10, 10, 0.42);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}
.leboss-instagram-strip .leboss-ig-item::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 2;
  width: 44px;
  height: 44px;
  margin: 0;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.88);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
  /* White badge + dark Instagram glyph (readable on any photo) */
  background-color: #ffffff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%230a0a0a' d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E");
}
.leboss-instagram-strip .leboss-ig-item:hover img,
.leboss-instagram-strip .leboss-ig-item:focus-visible img {
  transform: scale(1.05);
}
.leboss-instagram-strip .leboss-ig-item:hover::before,
.leboss-instagram-strip .leboss-ig-item:focus-visible::before {
  opacity: 1;
}
.leboss-instagram-strip .leboss-ig-item:hover::after,
.leboss-instagram-strip .leboss-ig-item:focus-visible::after {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}
@media (max-width: 767px) {
  .leboss-instagram-strip { flex-wrap: wrap; }
  .leboss-instagram-strip .leboss-ig-item { flex: 0 0 calc(50% - 3px); }
}

/* Newest products hero banner — removed from site */
.leboss-newest-banner {
  display: none !important;
}

/* Women's products carousel — light grey band (design reference) */
.elementor-16803 .elementor-element.elementor-element-1a626fc {
  background-color: #f2f2f2;
  padding: 48px 24px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .elementor-16803 .elementor-element.elementor-element-1a626fc {
    padding: 32px 16px;
  }
}

/* Homepage mobile parity with leboss.shop Elementor post-16803 */
@media (max-width: 767px) {
  /* Mobile hero must stay visible + keep a real height even before Swiper inits */
  .elementor-16803 .elementor-element.elementor-element-3e18e29.elementor-hidden-desktop {
    display: block !important;
  }
  .elementor-16803 .elementor-element.elementor-element-3e18e29,
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .elementor-widget-container,
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .elementor-slides-wrapper,
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .elementor-main-swiper,
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .swiper {
    width: 100% !important;
    height: calc(100vw * 610 / 393) !important;
    min-height: calc(100vw * 610 / 393) !important;
    max-height: none !important;
  }
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .swiper-wrapper {
    height: 100% !important;
  }
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .swiper-slide {
    height: 100% !important;
    min-height: calc(100vw * 610 / 393) !important;
  }
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .swiper-slide-inner {
    height: 100%;
  }
  .elementor-16803 .elementor-element.elementor-element-3e18e29 .swiper-slide-bg {
    position: absolute !important;
    inset: 0;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
  }

  /* Category banners stack full-width */
  .elementor-16803 .elementor-element.elementor-element-6382419 {
    flex-wrap: wrap !important;
    margin-top: 4rem !important;
    gap: 16px !important;
  }
  .elementor-16803 .elementor-element.elementor-element-633d8ec,
  .elementor-16803 .elementor-element.elementor-element-a7a1abf {
    width: 100% !important;
    flex: 0 0 100% !important;
    min-height: 42vh !important;
  }

  /* Brand split banners stack */
  .elementor-16803 .elementor-element.elementor-element-820021a {
    flex-wrap: wrap !important;
    margin-top: 4rem !important;
    gap: 16px !important;
  }
  .elementor-16803 .elementor-element.elementor-element-b8b142c,
  .elementor-16803 .elementor-element.elementor-element-4d93e24 {
    width: 100% !important;
    flex: 0 0 100% !important;
  }

  /* Mobile "مشاهده همه" buttons: reset desktop negative margins */
  .elementor-16803 .elementor-element.elementor-element-6a1c08a > .elementor-widget-container,
  .elementor-16803 .elementor-element.elementor-element-afba4f3 > .elementor-widget-container,
  .elementor-16803 .elementor-element.elementor-element-53fb693 > .elementor-widget-container {
    margin: 0 !important;
  }
  .elementor-16803 .elementor-element.elementor-element-6a1c08a,
  .elementor-16803 .elementor-element.elementor-element-afba4f3,
  .elementor-16803 .elementor-element.elementor-element-53fb693 {
    align-self: center !important;
  }
  .elementor-16803 .elementor-element.elementor-element-6a1c08a .gem-button-container,
  .elementor-16803 .elementor-element.elementor-element-afba4f3 .gem-button-container,
  .elementor-16803 .elementor-element.elementor-element-53fb693 .gem-button-container {
    text-align: center !important;
  }

  /* Home / carousel product captions — compact + centered on mobile (legacy storefront) */
  .elementor-16803 .portfolio.products .caption,
  .elementor-16803 .portfolio.products .caption .product-info,
  .elementor-16803 .portfolio.products .caption .product-info .title,
  .elementor-16803 .portfolio.products .caption .product-info .title a,
  .elementor-16803 .portfolio.products .caption .product-price,
  .elementor-16803 .portfolio.products .caption .product-price .price,
  .elementor-16803 .portfolio.products .caption .product-price bdi {
    text-align: center !important;
  }
  .elementor-16803 .portfolio.products .caption {
    padding-top: 8px !important;
  }
  .elementor-16803 .portfolio.products .caption .title {
    margin-bottom: 4px !important;
  }
}

/* ------------------------------------------------------------------ */
/* Cart page — visible remove control + clearer mobile hit area        */
/* ------------------------------------------------------------------ */
.woocommerce-cart .shop_table td.product-remove .remove,
.woocommerce .shop_table td.product-remove .remove {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1.5px solid #e63946 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #e63946 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  text-decoration: none !important;
  text-shadow: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative;
  z-index: 2;
}

.woocommerce-cart .shop_table td.product-remove .remove:before,
.woocommerce-cart .shop_table td.product-remove .remove:after,
.woocommerce .shop_table td.product-remove .remove:before,
.woocommerce .shop_table td.product-remove .remove:after {
  content: '' !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 14px !important;
  height: 2px !important;
  margin: 0 !important;
  background: #e63946 !important;
  border: 0 !important;
  font-size: 0 !important;
  line-height: 0 !important;
  font-family: none !important;
}

.woocommerce-cart .shop_table td.product-remove .remove:before,
.woocommerce .shop_table td.product-remove .remove:before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
  right: auto !important;
}

.woocommerce-cart .shop_table td.product-remove .remove:after,
.woocommerce .shop_table td.product-remove .remove:after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
  right: auto !important;
}

.woocommerce-cart .shop_table td.product-remove .remove:hover,
.woocommerce .shop_table td.product-remove .remove:hover {
  background: #e63946 !important;
  border-color: #e63946 !important;
}

.woocommerce-cart .shop_table td.product-remove .remove:hover:before,
.woocommerce-cart .shop_table td.product-remove .remove:hover:after,
.woocommerce .shop_table td.product-remove .remove:hover:before,
.woocommerce .shop_table td.product-remove .remove:hover:after {
  background: #fff !important;
}

@media (max-width: 768px) {
  .woocommerce-cart .shop_table td.product-remove,
  .woocommerce .woocommerce-cart-form table.shop_table_responsive .product-remove {
    padding: 8px 4px !important;
    text-align: end !important;
  }

  .woocommerce-cart .shop_table td.product-remove .remove,
  .woocommerce .shop_table td.product-remove .remove {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px;
    min-height: 36px;
  }
}

/* ------------------------------------------------------------------ */
/* Mobile catalog density — must come AFTER base caption rules so      */
/* padding / display:block / title margin don't undo compact layout.   */
/* Long titles were stretching each row and looking like huge gaps.    */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
  .leboss-shop .extended-products-grid.main-loop-grid .portfolio-set,
  .extended-products-grid.disable-isotope:not(.extended-products-grid-carousel) .portfolio-set {
    gap: 10px 6px !important;
  }

  .portfolio.extended-products-grid .portfolio-item .caption,
  .portfolio.products .portfolio-item .caption,
  .leboss-shop .portfolio-item .caption,
  .elementor-16803 .portfolio.products .portfolio-item .caption,
  .single-product-related .portfolio-item .caption,
  .products-compact-grid .caption {
    padding-top: 6px !important;
  }

  .portfolio.extended-products-grid .caption .categories,
  .leboss-shop .caption .categories,
  .elementor-16803 .portfolio.products .caption .categories {
    display: none !important;
  }

  .portfolio.extended-products-grid .portfolio-item .caption .title,
  .portfolio.products .portfolio-item .caption .title,
  .leboss-shop .portfolio-item .caption .title,
  .elementor-16803 .portfolio.products .caption .title {
    font-size: 12px !important;
    line-height: 1.35 !important;
    margin: 0 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    line-clamp: 2;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: normal !important;
    min-height: calc(1.35em * 2);
    max-height: calc(1.35em * 2);
  }
  .portfolio.extended-products-grid .portfolio-item .caption .title a,
  .portfolio.products .portfolio-item .caption .title a,
  .leboss-shop .portfolio-item .caption .title a,
  .elementor-16803 .portfolio.products .caption .title a {
    display: inline !important;
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
  }

  .portfolio.extended-products-grid .caption .product-price .price,
  .portfolio.extended-products-grid .caption .product-price .amount,
  .portfolio.extended-products-grid .caption .product-price bdi,
  .leboss-shop .caption .product-price .price,
  .leboss-shop .caption .product-price .amount,
  .elementor-16803 .portfolio.products .caption .product-price .price,
  .elementor-16803 .portfolio.products .caption .product-price .amount {
    font-size: 12px !important;
    font-weight: 600;
    line-height: 1.3 !important;
  }

  .portfolio.extended-products-grid .caption .product-price del,
  .portfolio.extended-products-grid .caption .product-price del .amount,
  .leboss-shop .caption .product-price del,
  .elementor-16803 .portfolio.products .caption .product-price del {
    font-size: 10px !important;
  }
}

/* ------------------------------------------------------------------ */
/* Cart page — clearer actions + visible checkout CTA on mobile        */
/* ------------------------------------------------------------------ */

/* Qty auto-updates via cart-page.js — keep the button in DOM but hide
   it so it no longer looks like part of the coupon block. */
.woocommerce-cart .woocommerce-cart-form .actions .submit-buttons .update-cart,
.woocommerce-cart .woocommerce-cart-form .actions .submit-buttons button[name="update_cart"],
.woocommerce-cart form.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .woocommerce-cart-form .actions .update-cart {
  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;
}

/* Coupon block: one clear action — apply code only */
.woocommerce-cart .woocommerce-cart-form .actions,
.woocommerce-cart .woocommerce-cart-form td.actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 12px;
  float: none !important;
  padding: 12px 0 !important;
}

.woocommerce-cart .woocommerce-cart-form .actions .coupon {
  float: none !important;
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form .actions .coupon input.coupon-code,
.woocommerce-cart .woocommerce-cart-form .actions .coupon input[name="coupon_code"] {
  flex: 1 1 180px;
  width: auto !important;
  max-width: 100%;
  margin: 0 !important;
  height: 48px !important;
  line-height: 48px !important;
}

.woocommerce-cart .woocommerce-cart-form .actions .coupon .gem-button-container,
.woocommerce-cart .woocommerce-cart-form .actions .coupon button {
  margin: 0 !important;
}

.woocommerce-cart .woocommerce-cart-form .actions .submit-buttons {
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100%;
}

/* Checkout CTA — always readable, full-width on mobile */
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  display: block !important;
  width: 100% !important;
  margin: 20px 0 8px !important;
  padding: 0 !important;
  border: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button-button {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button,
.woocommerce-cart a.checkout-button.wc-forward,
.woocommerce-cart .thegem-te-cart-totals .checkout-button,
.woocommerce-cart .elementor-widget-woocommerce-cart .checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 14px 20px !important;
  box-sizing: border-box !important;
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  color: #ffffff !important;
  border: 2px solid #0a0a0a !important;
  border-radius: 4px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-shadow: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  float: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout .checkout-button:hover,
.woocommerce-cart a.checkout-button.wc-forward:hover,
.woocommerce-cart .thegem-te-cart-totals .checkout-button:hover,
.woocommerce-cart .elementor-widget-woocommerce-cart .checkout-button:hover {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  color: #ffffff !important;
  border-color: #1a1a1a !important;
}

/* Hide broken icon that can push / obscure the label */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:before,
.woocommerce-cart a.checkout-button.wc-forward:before {
  display: none !important;
  content: none !important;
}

@media (max-width: 767px) {
  .woocommerce-cart .cart_totals {
    width: 100% !important;
    float: none !important;
    margin: 24px 0 0 !important;
  }

  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals .shop_table {
    width: 100% !important;
  }

  .woocommerce-cart .cart_totals table th,
  .woocommerce-cart .cart_totals table td {
    padding: 12px 10px !important;
    font-size: 13px !important;
    vertical-align: top !important;
    word-break: break-word;
  }

  .woocommerce-cart .cart_totals table .shipping th,
  .woocommerce-cart .cart_totals table .shipping td {
    white-space: normal !important;
  }

  .woocommerce-cart .woocommerce-cart-form .actions .coupon {
    flex-direction: column;
    align-items: stretch;
  }

  .woocommerce-cart .woocommerce-cart-form .actions .coupon input.coupon-code,
  .woocommerce-cart .woocommerce-cart-form .actions .coupon input[name="coupon_code"],
  .woocommerce-cart .woocommerce-cart-form .actions .coupon .gem-button-container,
  .woocommerce-cart .woocommerce-cart-form .actions .coupon button,
  .woocommerce-cart .woocommerce-cart-form .actions .coupon .gem-button {
    width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout .checkout-button,
  .woocommerce-cart a.checkout-button.wc-forward {
    min-height: 54px !important;
    font-size: 16px !important;
  }
}

/* ------------------------------------------------------------------ */
/* Mobile footer — Elementor template 336 keeps 50% columns which       */
/* looks like a broken "mobile menu" (links + social + orphan search). */
/* ------------------------------------------------------------------ */
@media (max-width: 767px) {
  .custom-footer .elementor-336 .elementor-section > .elementor-container > .elementor-row {
    flex-wrap: wrap !important;
  }
  .custom-footer .elementor-336 .elementor-column.elementor-element-2db3f1d,
  .custom-footer .elementor-336 .elementor-column.elementor-element-bdb50f8,
  .custom-footer .elementor-336 .elementor-column.elementor-element-5be5ba1,
  .custom-footer .elementor-336 .elementor-column.elementor-element-0d2dfec {
    width: 100% !important;
    max-width: 100% !important;
  }
  .custom-footer .elementor-336 .elementor-column > .elementor-element-populated {
    padding: 24px 20px 8px !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
  }
  .custom-footer .elementor-336,
  .custom-footer .elementor-336 .thegem-heading,
  .custom-footer .elementor-336 .elementor-icon-list-item,
  .custom-footer .elementor-336 .elementor-icon-list-text,
  .custom-footer .elementor-336 .elementor-heading-title {
    text-align: right !important;
    direction: rtl;
  }
  .custom-footer .elementor-336 .elementor-icon-list-items {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    width: 100% !important;
  }
  .custom-footer .elementor-336 .elementor-icon-list-item {
    justify-content: flex-start !important;
    width: 100% !important;
  }
  .custom-footer .elementor-336 .elementor-icon-list-item a {
    display: inline-flex !important;
    flex-direction: row-reverse !important;
    align-items: center !important;
    gap: 10px !important;
    width: auto !important;
    justify-content: flex-start !important;
  }
  .custom-footer .elementor-336 .elementor-element-e272de2 {
    justify-content: flex-start !important;
  }
  .custom-footer .elementor-336 .elementor-element-6059943 img {
    width: auto !important;
    max-width: 120px !important;
  }
}

/* Header search: Elementor sets padding-right: 35rem (desktop-only width hack).
   Only neutralise it in the MOBILE header (<=767px) — the desktop header row
   (logo + search + icons) is still active at 768-1024px, where zeroing the
   padding made the field overrun and squash the logo. */
@media (max-width: 767px) {
  .elementor-334 .elementor-element.elementor-element-d715100 > .elementor-widget-container {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .elementor-334 .elementor-element.elementor-element-d715100 {
    --flex-grow: 1 !important;
    --flex-shrink: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Tablet/small-laptop header (768-1024px): the 35rem right padding is far too
   large for the narrower row and pushes the field over the logo. Scale it down
   so the logo keeps its space. */
@media (min-width: 768px) and (max-width: 1200px) {
  .elementor-334 .elementor-element.elementor-element-d715100 > .elementor-widget-container {
    padding-right: 12rem !important;
  }
}

/* Mobile offcanvas / hamburger menu — keep Persian RTL tidy */
@media (max-width: 767px) {
  .ekit-wid-con,
  .elementskit-menu-container,
  .ekit-menu-offcanvas-container,
  .elementor-334 .e-n-accordion,
  .elementor-334 .elementor-icon-list-items {
    direction: rtl;
    text-align: right;
  }
  .elementor-334 .elementor-icon-list-item,
  .elementor-334 .e-n-accordion-item-title {
    text-align: right !important;
  }
  .elementor-334 .menu-toggle {
    font-size: 0 !important; /* hide English "Menu" label; keep hamburger lines */
    line-height: 0 !important;
  }
  .elementor-334 .menu-toggle .menu-line-1,
  .elementor-334 .menu-toggle .menu-line-2,
  .elementor-334 .menu-toggle .menu-line-3 {
    display: block !important;
  }
}

/* Digits country-code search must stay hidden unless its list is open */
.digit_cs-list[style*="display: none"] .dig-cc-search,
.digit_cs-list[style*="display:none"] .dig-cc-search,
.dig-cc-search-container {
  display: none !important;
}
.digit_cs-list.dig-cc-visible .dig-cc-search-container,
.digit_cs-list:not([style*="display: none"]):not([style*="display:none"]) .dig-cc-search-container {
  display: list-item !important;
}

/* Trendyol sibling colors: independent products, each with its own real image,
   stock, price and sizes. Never present them as WooCommerce variations. */
.leboss-color-siblings {
  margin: 22px 0;
  direction: rtl;
}
.leboss-color-siblings h4 {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 600;
}
.leboss-color-siblings__list {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 2px 2px 8px;
  scrollbar-width: thin;
}
.leboss-color-sibling {
  position: relative;
  flex: 0 0 92px;
  padding: 4px;
  border: 1px solid #ddd;
  color: #222;
  text-align: center;
  text-decoration: none;
  background: #fff;
  transition: border-color .2s ease;
}
.leboss-color-sibling:hover,
.leboss-color-sibling.is-current {
  border-color: #111;
}
.leboss-color-sibling.is-current {
  box-shadow: 0 0 0 1px #111;
}
.leboss-color-sibling img {
  display: block;
  width: 66px;
  height: 82px;
  margin: 0 auto 5px;
  object-fit: cover;
}
.leboss-color-sibling__name {
  display: block;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.leboss-color-sibling__price {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.35;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.leboss-color-sibling__price del {
  display: none;
}
.leboss-color-sibling__price .amount,
.leboss-color-sibling__price bdi {
  font-size: 10px;
  font-weight: 600;
}
.leboss-color-sibling__stock {
  position: absolute;
  top: 6px;
  right: 6px;
  padding: 2px 4px;
  color: #fff;
  font-size: 9px;
  line-height: 1.3;
  background: rgba(0, 0, 0, .72);
}
.leboss-color-sibling.is-out-of-stock img {
  opacity: .55;
}

@media (max-width: 767px) {
  .leboss-color-siblings {
    margin: 18px 0;
  }
  .leboss-color-sibling {
    flex-basis: 84px;
  }
  .leboss-color-sibling img {
    width: 60px;
    height: 74px;
  }
}

