/* MobiLux Elementor Product Category Carousel — WooCommerce-native, RTL-first. */
.mobilux-elementor-categories{
  position:relative;
  width:100%;
  min-width:0;
}
.mobilux-category-carousel{
  --mobilux-cat-columns:8;
  --mobilux-cat-gap:10px;
  position:relative;
  width:100%;
  min-width:0;
}
.mobilux-category-carousel__track{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:calc((100% - (var(--mobilux-cat-gap) * (var(--mobilux-cat-columns) - 1))) / var(--mobilux-cat-columns));
  gap:var(--mobilux-cat-gap);
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  padding:1px 1px 8px;
  touch-action:pan-x pan-y pinch-zoom;
  outline:none;
}
.mobilux-category-carousel__track::-webkit-scrollbar{display:none}
.mobilux-category-carousel__track.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
  scroll-snap-type:none;
  user-select:none;
}
.mobilux-category-carousel__track:focus-visible{
  outline:2px solid rgba(115,87,255,.2);
  outline-offset:5px;
  border-radius:18px;
}
.mobilux-elementor-category-card{
  width:100%;
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
  text-decoration:none!important;
  overflow:hidden;
  isolation:isolate;
}
.mobilux-elementor-category-card .category-icon{
  overflow:hidden;
  flex:0 0 auto;
}
.mobilux-elementor-category-card .category-icon img{
  display:block;
  max-width:100%;
  max-height:100%;
  object-position:center;
  transition:transform .25s cubic-bezier(.2,.7,.2,1),filter .25s ease;
}
.mobilux-elementor-category-card:hover .category-icon img,
.mobilux-elementor-category-card.active .category-icon img{
  transform:scale(1.06);
}
.mobilux-elementor-category-card .category-icon svg{
  width:1em;
  height:1em;
}
.mobilux-category-card__title{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  line-height:1.45;
  transition:color .2s ease;
}
.mobilux-category-card__count{
  display:block;
  max-width:100%;
  font-size:10px;
  line-height:1.35;
  font-weight:500;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mobilux-category-card__count-number{font-variant-numeric:tabular-nums}
.mobilux-category-carousel__arrow{
  position:absolute;
  z-index:8;
  top:50%;
  display:grid;
  place-items:center;
  border:1px solid #e7e8ef;
  border-radius:14px;
  padding:0;
  transform:translateY(-50%);
  transition:opacity .2s ease,transform .2s ease,border-color .2s ease,background-color .2s ease;
  cursor:pointer;
}
.mobilux-category-carousel__arrow--prev{right:-14px}
.mobilux-category-carousel__arrow--next{left:-14px}
.mobilux-category-carousel__arrow:hover{
  border-color:#dcd6ff;
  transform:translateY(-50%) scale(1.04);
}
.mobilux-category-carousel__arrow:focus-visible{
  outline:3px solid rgba(115,87,255,.2);
  outline-offset:2px;
}
.mobilux-category-carousel__arrow[disabled]{
  opacity:0!important;
  pointer-events:none;
}
.mobilux-elementor-categories.arrows-hover .mobilux-category-carousel__arrow{
  opacity:0;
  pointer-events:none;
}
.mobilux-elementor-categories.arrows-hover:hover .mobilux-category-carousel__arrow,
.mobilux-elementor-categories.arrows-hover:focus-within .mobilux-category-carousel__arrow{
  opacity:1;
  pointer-events:auto;
}
.mobilux-category-carousel__progress{
  position:relative;
  width:min(220px,44%);
  height:3px;
  margin:7px auto 0;
  overflow:hidden;
  border-radius:999px;
  background:#eef0f6;
}
.mobilux-category-carousel__progress>span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  transition:width .18s ease;
}
.elementor-editor-active .mobilux-elementor-categories{
  min-width:0;
}
@media(max-width:1024px){
  .mobilux-category-carousel__arrow{display:none}
  .mobilux-category-carousel__track{padding-bottom:6px}
}
@media(max-width:767px){
  .mobilux-category-carousel{--mobilux-cat-columns:2.35}
}
@media(prefers-reduced-motion:reduce){
  .mobilux-category-carousel__track{scroll-behavior:auto!important}
  .mobilux-elementor-category-card,
  .mobilux-elementor-category-card .category-icon img,
  .mobilux-category-carousel__arrow,
  .mobilux-category-carousel__progress>span{transition:none!important}
}

/* Reflow also follows the actual Elementor column, not only the viewport. */
@container mobilux-widget (max-width:1024px){
  .mobilux-category-carousel__arrow{display:none}
  .mobilux-category-carousel__track{padding-bottom:6px}
}
@container mobilux-widget (max-width:767px){
  .mobilux-category-carousel{--mobilux-cat-columns:2.35}
}

/* v1.0.44: component-specific responsive layout. */
.mobilux-category-carousel__track{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;touch-action:pan-x pan-y pinch-zoom}
.mobilux-elementor-category-card{min-width:0}.mobilux-elementor-category-card .category-icon{max-width:100%}

@media(max-width:1024px){.mobilux-category-carousel{--mobilux-cat-columns:4.2}
}
@container mobilux-widget (max-width:1024px){.mobilux-category-carousel{--mobilux-cat-columns:4.2}
}
@media(max-width:767px){.mobilux-category-carousel{--mobilux-cat-columns:2.2}.mobilux-elementor-category-card{white-space:normal}.mobilux-elementor-category-card :is(h3,strong){font-size:13px}
}
@container mobilux-widget (max-width:767px){.mobilux-category-carousel{--mobilux-cat-columns:2.2}.mobilux-elementor-category-card{white-space:normal}.mobilux-elementor-category-card :is(h3,strong){font-size:13px}
}
