/* FT-WORLDS Sidebar Filters 1.0.5 - stable archive layout */
.wcsf-layout,.wcsf-layout *{box-sizing:border-box !important;}
.wcsf-layout{
  display:grid !important;
  grid-template-columns:270px minmax(0,1fr) !important;
  gap:24px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  clear:both !important;
}
.wcsf-sidebar{width:270px !important;max-width:270px !important;margin:0 !important;padding:20px !important;border:1px solid #e3e3e3 !important;background:#fff !important;color:#111 !important;position:sticky !important;top:20px !important;z-index:20 !important;}
.wcsf-products{width:100% !important;min-width:0 !important;max-width:none !important;margin:0 !important;padding:0 !important;overflow:visible !important;}

/* Sidebar black/white */
.wcsf-mobile-head{display:none;align-items:center;justify-content:space-between;padding:0 0 14px;margin:0 0 14px;border-bottom:1px solid #eee;}
.wcsf-close{border:0 !important;background:transparent !important;color:#111 !important;font-size:30px !important;line-height:1 !important;padding:0 !important;cursor:pointer !important;}
.wcsf-section{margin:0 0 24px !important;padding:0 0 20px !important;border-bottom:1px solid #e8e8e8 !important;}
.wcsf-section:last-child{border-bottom:0 !important;}
.wcsf-section-toggle{display:flex !important;align-items:center !important;justify-content:space-between !important;width:100% !important;margin:0 !important;padding:0 !important;border:0 !important;background:none !important;color:#111 !important;font-size:16px !important;font-weight:800 !important;letter-spacing:.02em !important;line-height:22px !important;cursor:pointer !important;text-align:left !important;}
.wcsf-section-toggle span:last-child{font-size:17px !important;line-height:1 !important;}
.wcsf-section:not(.is-open) .wcsf-section-content{display:none !important;}
.wcsf-section-content{padding-top:18px !important;}
.wcsf-check{display:flex !important;align-items:center !important;gap:10px !important;margin:0 0 13px !important;color:#222 !important;font-size:15px !important;line-height:20px !important;cursor:pointer !important;}
.wcsf-check input{width:19px !important;height:19px !important;margin:0 !important;accent-color:#111 !important;}
.wcsf-check em,.wcsf-categories em{font-style:normal !important;color:#777 !important;font-size:12px !important;}
.wcsf-range{position:relative !important;height:34px !important;margin:2px 2px 12px !important;}
.wcsf-range-track{position:absolute !important;left:0 !important;right:0 !important;top:15px !important;height:4px !important;background:#ddd !important;border-radius:5px !important;}
.wcsf-range input[type=range]{position:absolute !important;left:0 !important;top:7px !important;width:100% !important;height:18px !important;margin:0 !important;background:none !important;pointer-events:none !important;appearance:none !important;-webkit-appearance:none !important;}
.wcsf-range input[type=range]::-webkit-slider-runnable-track{height:4px !important;background:transparent !important;}
.wcsf-range input[type=range]::-webkit-slider-thumb{appearance:none !important;-webkit-appearance:none !important;width:18px !important;height:18px !important;border-radius:50% !important;background:#111 !important;border:2px solid #fff !important;box-shadow:0 1px 4px rgba(0,0,0,.22) !important;pointer-events:auto !important;cursor:pointer !important;margin-top:-7px !important;}
.wcsf-range input[type=range]::-moz-range-track{height:4px !important;background:transparent !important;}
.wcsf-range input[type=range]::-moz-range-thumb{width:18px !important;height:18px !important;border-radius:50% !important;background:#111 !important;border:2px solid #fff !important;box-shadow:0 1px 4px rgba(0,0,0,.22) !important;pointer-events:auto !important;cursor:pointer !important;}
.wcsf-price-inputs{display:grid !important;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) !important;gap:7px !important;align-items:center !important;}
.wcsf-price-inputs label{display:flex !important;align-items:center !important;min-width:0 !important;border:1px solid #ddd !important;background:#fff !important;border-radius:2px !important;}
.wcsf-price-inputs label span{font-size:11px !important;color:#777 !important;padding-left:7px !important;}
.wcsf-price-inputs input{width:100% !important;min-width:0 !important;border:0 !important;outline:0 !important;background:transparent !important;padding:9px 6px !important;font-size:13px !important;color:#111 !important;}
.wcsf-to{text-align:center !important;color:#777 !important;font-size:12px !important;}
.wcsf-categories{list-style:none !important;margin:0 !important;padding:0 !important;}
.wcsf-categories li{margin:0 !important;padding:0 !important;}
.wcsf-categories a{display:flex !important;justify-content:space-between !important;gap:10px !important;padding:8px 0 !important;color:#333 !important;text-decoration:none !important;font-size:14px !important;line-height:20px !important;}
.wcsf-categories a:hover,.wcsf-categories li.is-current>a{color:#111 !important;font-weight:700 !important;}
.wcsf-actions{display:flex !important;flex-direction:column !important;gap:9px !important;margin:4px 0 0 !important;}
.wcsf-apply{width:100% !important;border:1px solid #111 !important;background:#111 !important;color:#fff !important;padding:12px 18px !important;font-size:12px !important;font-weight:800 !important;letter-spacing:.08em !important;cursor:pointer !important;}
.wcsf-reset{width:100% !important;border:1px solid #222 !important;background:#fff !important;color:#111 !important;padding:11px 12px !important;font-size:12px !important;cursor:pointer !important;}
.wcsf-filter-toggle{display:none !important;}
body.wcsf-drawer-open{overflow:hidden !important;}

/* Product loop: same proportions as FT-WORLDS category product cards */
.wcsf-products ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.wcsf-products ul.products::before,.wcsf-products ul.products::after{display:none !important;content:none !important;}
.wcsf-products ul.products li.product{
  position:relative !important;
  float:none !important;clear:none !important;
  display:flex !important;flex-direction:column !important;align-items:stretch !important;
  width:auto !important;min-width:0 !important;max-width:none !important;
  height:auto !important;min-height:0 !important;
  margin:0 !important;padding:0 !important;
  border:1px solid #e3e3e3 !important;border-radius:0 !important;
  background:#fff !important;overflow:hidden !important;text-align:left !important;
}
.wcsf-products ul.products li.product::before,.wcsf-products ul.products li.product::after{display:none !important;content:none !important;}

.wcsf-products ul.products li.product > a.woocommerce-loop-product__link,
.wcsf-products ul.products li.product > a.woocommerce-LoopProduct-link{
  display:flex !important;align-items:center !important;justify-content:center !important;
  flex:0 0 250px !important;width:100% !important;height:250px !important;
  min-height:250px !important;max-height:250px !important;margin:0 !important;padding:0 !important;
  background:#fff !important;overflow:hidden !important;text-decoration:none !important;
}
.wcsf-products ul.products li.product > a.woocommerce-loop-product__link img,
.wcsf-products ul.products li.product > a.woocommerce-LoopProduct-link img,
.wcsf-products ul.products li.product > img{
  display:block !important;width:100% !important;height:100% !important;
  max-width:100% !important;max-height:100% !important;margin:0 !important;padding:8px !important;
  object-fit:contain !important;border:0 !important;box-shadow:none !important;
}
.wcsf-products ul.products li.product .onsale{
  position:absolute !important;top:10px !important;right:10px !important;left:auto !important;z-index:3 !important;
  min-width:0 !important;min-height:0 !important;margin:0 !important;padding:5px 9px !important;
  border:1px solid #222 !important;border-radius:4px !important;background:#fff !important;color:#333 !important;
  font-size:12px !important;line-height:16px !important;font-weight:400 !important;
}
.wcsf-products ul.products li.product .woocommerce-loop-product__title{
  display:-webkit-box !important;-webkit-box-orient:vertical !important;-webkit-line-clamp:2 !important;
  overflow:hidden !important;width:100% !important;height:44px !important;min-height:44px !important;max-height:44px !important;
  flex:0 0 44px !important;margin:0 !important;padding:12px 14px 0 !important;
  color:#333 !important;font-size:16px !important;line-height:22px !important;font-weight:400 !important;text-align:left !important;
}
.wcsf-products ul.products li.product .ast-woo-product-category{display:block !important;height:18px !important;min-height:18px !important;max-height:18px !important;flex:0 0 18px !important;margin:0 14px 6px !important;padding:0 !important;color:#888 !important;font-size:11px !important;line-height:18px !important;letter-spacing:1px !important;text-transform:uppercase !important;overflow:hidden !important;}
.wcsf-products ul.products li.product .price{
  display:block !important;width:100% !important;height:54px !important;min-height:54px !important;max-height:54px !important;
  flex:0 0 54px !important;margin:0 !important;padding:6px 14px 0 !important;
  color:#222 !important;font-size:18px !important;line-height:25px !important;font-weight:400 !important;text-align:left !important;overflow:hidden !important;
}
.wcsf-products ul.products li.product .price del{color:#999 !important;margin-right:4px !important;}
.wcsf-products ul.products li.product .price ins{color:#222 !important;text-decoration:none !important;}

/* Native WooCommerce buttons: hard reset theme padding/line-height so text is truly centered. */
.wcsf-products ul.products li.product a.button,
.wcsf-products ul.products li.product .button,
.wcsf-products ul.products li.product .add_to_cart_button,
.wcsf-products ul.products li.product .product_type_simple,
.wcsf-products ul.products li.product .product_type_variable{
  display:flex !important;align-items:center !important;justify-content:center !important;
  flex:0 0 50px !important;width:calc(100% - 28px) !important;height:50px !important;
  min-width:0 !important;min-height:50px !important;max-height:50px !important;
  margin:10px 14px 14px !important;padding:0 !important;
  border:1px solid #222 !important;border-radius:0 !important;background:#fff !important;color:#222 !important;
  font-family:inherit !important;font-size:16px !important;font-weight:400 !important;line-height:1 !important;
  text-align:center !important;text-decoration:none !important;white-space:nowrap !important;
  box-shadow:none !important;box-sizing:border-box !important;
}
.wcsf-products ul.products li.product a.button:hover,.wcsf-products ul.products li.product .button:hover{background:#111 !important;color:#fff !important;border-color:#111 !important;}
.wcsf-products ul.products li.product .added_to_cart{display:none !important;}

.wcsf-products .woocommerce-result-count{margin:0 0 14px !important;}
.wcsf-products .woocommerce-ordering{margin:0 0 14px !important;}
.wcsf-products nav.woocommerce-pagination{clear:both !important;margin:28px 0 0 !important;padding:0 !important;text-align:center !important;}
.wcsf-products nav.woocommerce-pagination ul{border:0 !important;margin:0 !important;padding:0 !important;}
.wcsf-products nav.woocommerce-pagination a,.wcsf-products nav.woocommerce-pagination span{border:1px solid #222 !important;background:#fff !important;color:#222 !important;}

@media (max-width:1100px){
  .wcsf-layout{grid-template-columns:240px minmax(0,1fr) !important;gap:20px !important;}
  .wcsf-sidebar{width:240px !important;max-width:240px !important;padding:18px !important;}
  .wcsf-products ul.products{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:10px !important;}
  .wcsf-products ul.products li.product > a.woocommerce-loop-product__link,.wcsf-products ul.products li.product > a.woocommerce-LoopProduct-link{height:220px !important;min-height:220px !important;max-height:220px !important;flex-basis:220px !important;}
  .wcsf-products ul.products li.product .woocommerce-loop-product__title{font-size:15px !important;line-height:21px !important;height:42px !important;min-height:42px !important;max-height:42px !important;flex-basis:42px !important;}
  .wcsf-products ul.products li.product .price{font-size:16px !important;height:50px !important;min-height:50px !important;max-height:50px !important;flex-basis:50px !important;}
}

@media (max-width:768px){
  .wcsf-layout{display:block !important;width:100% !important;max-width:100% !important;margin:0 !important;padding:0 !important;}
  .wcsf-filter-toggle{display:inline-flex !important;align-items:center !important;justify-content:center !important;border:1px solid #222 !important;background:#fff !important;color:#111 !important;padding:11px 16px !important;margin:0 0 18px !important;font-weight:800 !important;font-size:12px !important;letter-spacing:.05em !important;cursor:pointer !important;}
  .wcsf-layout > .wcsf-sidebar{position:fixed !important;top:0 !important;left:0 !important;bottom:0 !important;width:min(88vw,360px) !important;max-width:none !important;height:100vh !important;overflow-y:auto !important;z-index:100001 !important;transform:translateX(-105%) !important;transition:transform .22s ease !important;box-shadow:8px 0 30px rgba(0,0,0,.15) !important;padding:20px !important;}
  .wcsf-layout > .wcsf-sidebar.is-drawer-open{transform:translateX(0) !important;}
  .wcsf-mobile-head{display:flex !important;}
  .wcsf-products{width:100% !important;max-width:100% !important;min-width:0 !important;}
  .wcsf-products ul.products{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important;width:100% !important;}
  .wcsf-products ul.products li.product{width:auto !important;max-width:none !important;}
  .wcsf-products ul.products li.product > a.woocommerce-loop-product__link,.wcsf-products ul.products li.product > a.woocommerce-LoopProduct-link{height:190px !important;min-height:190px !important;max-height:190px !important;flex-basis:190px !important;}
  .wcsf-products ul.products li.product .woocommerce-loop-product__title{height:42px !important;min-height:42px !important;max-height:42px !important;flex-basis:42px !important;padding:10px 10px 0 !important;font-size:14px !important;line-height:21px !important;}
  .wcsf-products ul.products li.product .price{height:50px !important;min-height:50px !important;max-height:50px !important;flex-basis:50px !important;padding:5px 10px 0 !important;font-size:15px !important;line-height:21px !important;}
  .wcsf-products ul.products li.product a.button,.wcsf-products ul.products li.product .button,.wcsf-products ul.products li.product .add_to_cart_button,.wcsf-products ul.products li.product .product_type_simple,.wcsf-products ul.products li.product .product_type_variable{width:calc(100% - 20px) !important;height:44px !important;min-height:44px !important;max-height:44px !important;flex-basis:44px !important;margin:10px 10px 10px !important;font-size:13px !important;}
  .wcsf-products ul.products li.product .onsale{top:7px !important;right:7px !important;font-size:10px !important;padding:4px 7px !important;}
}
@media (max-width:390px){
  .wcsf-products ul.products{gap:6px !important;}
  .wcsf-products ul.products li.product > a.woocommerce-loop-product__link,.wcsf-products ul.products li.product > a.woocommerce-LoopProduct-link{height:165px !important;min-height:165px !important;max-height:165px !important;flex-basis:165px !important;}
}
