/* Woo Subcategories List – Elementor v2.4.9 (FA compatibility) */
.wsl2-list{
  display:grid !important;
  grid-auto-flow: row;
  grid-template-columns: repeat(var(--wsl2-cols,3), minmax(0,1fr)) !important;
  column-gap: var(--wsl2-gap-col,16px);
  row-gap: var(--wsl2-gap-row,8px);
  list-style:none; padding:0; margin:.5rem 0; box-sizing:border-box;
}
@media (max-width: 1024px){
  .wsl2-list{
    grid-template-columns: repeat(var(--wsl2-cols-t,2), minmax(0,1fr)) !important;
    column-gap: var(--wsl2-gap-col-t, var(--wsl2-gap-col,16px));
    row-gap: var(--wsl2-gap-row-t, var(--wsl2-gap-row,8px));
  }
}
@media (max-width: 767.98px){
  .wsl2-list{
    grid-template-columns: repeat(var(--wsl2-cols-m,1), minmax(0,1fr)) !important;
    column-gap: var(--wsl2-gap-col-m, var(--wsl2-gap-col-t,16px));
    row-gap: var(--wsl2-gap-row-m, var(--wsl2-gap-row-t,8px));
  }
}
.wsl2-item{ display:flex; align-items:center; gap:.5rem; min-width:0; width:auto; box-sizing:border-box; float:none !important; justify-self:start; }
.wsl2-heading{ margin:0; font: inherit; }

/* Link as inline-flex for proper icon/text alignment */
.wsl2-link{ display:inline-flex; align-items:center; gap: var(--wsl2-icon-gap, .5em); position:relative; }
.wsl2-list:not(.wsl2-inherit-underline) .wsl2-link{ text-decoration:none; transition:color var(--wsl2-underline-duration,.3s) ease; }
.wsl2-list:not(.wsl2-inherit-underline) .wsl2-link::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px;
  height:var(--wsl2-underline-height,2px);
  background:var(--wsl2-underline,currentColor);
  transform:scaleX(0); transform-origin:left center;
  transition:transform var(--wsl2-underline-duration,.3s) ease;
}
.wsl2-list:not(.wsl2-inherit-underline) .wsl2-link:hover::after{ transform:scaleX(1); }
.wsl2-list.wsl2-inherit-underline .wsl2-link{ text-decoration:none; position:static; }

/* ICON – FA/XStore compatibility */
.wsl2-icon{ 
  display:inline-flex; align-items:center; justify-content:center;
  width:1em; height:1em; line-height:1;
  flex:0 0 auto;
  color: currentColor;
  vertical-align: middle;
}
.wsl2-icon i{ display:inline-block; width:1em; text-align:center; line-height:1; vertical-align: middle; }
.wsl2-icon svg{ display:block; width:1em; height:1em; vertical-align: middle; }

/* Label */
.wsl2-label{ display:inline-block; font-size:.75em; line-height:1; padding:.25em .5em; border-radius:.25rem; background:#ffd54f; color:#111; white-space:nowrap; margin-left:.5rem; }

/* Safety */
.wsl2-list, .wsl2-list li{ list-style:none !important; }