.dsaf-filter-wrapper{width:100%;box-sizing:border-box;margin:0 0 28px;font-size:14px}.dsaf-sidebar{width:100%;max-width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:18px;box-sizing:border-box}.dsaf-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dsaf-header h3{font-size:22px!important;line-height:1.25!important;margin:0!important}.dsaf-close{display:none}.dsaf-group{border-bottom:1px solid #e5e7eb}.dsaf-title{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%!important;padding:15px 10px!important;background:transparent!important;border:0!important;color:#172033!important;font-size:15px!important;font-weight:600!important;text-align:left!important;cursor:pointer}.dsaf-content{display:none;padding:4px 10px 16px!important}.dsaf-group.open .dsaf-content{display:block}.dsaf-group.open .dsaf-toggle{transform:rotate(45deg)}.dsaf-label{display:flex;align-items:center;gap:8px;padding:9px 0!important;line-height:1.4!important;cursor:pointer}.dsaf-label input{margin:0!important}.dsaf-count{margin-left:auto;color:#777;font-size:12px}.dsaf-buttons{display:flex;flex-direction:column;gap:8px;padding-top:16px}.dsaf-apply,.dsaf-clear{padding:12px 14px!important;border-radius:5px!important;border:0!important;cursor:pointer;font-weight:600}.dsaf-apply{background:#111;color:#fff}.dsaf-clear{background:#f3f4f6;color:#111}.dsaf-mobile-btn,.dsaf-overlay{display:none}.dsaf-products-wrapper{width:100%;min-width:0}.dsaf-results-meta{margin:0 0 16px;color:#555;font-size:14px}.dsaf-products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:24px!important;margin:0!important;padding:0!important;list-style:none!important}.dsaf-products li.dsaf-product{width:auto!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}.dsaf-product-image{width:100%;aspect-ratio:1/1;overflow:hidden;background:#f6f6f6}.dsaf-product-image img{width:100%!important;height:100%!important;object-fit:cover!important;display:block}.dsaf-product .woocommerce-loop-product__title{font-size:15px!important;line-height:1.35!important;font-weight:600!important;margin:10px 0 7px!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;color:#172033!important}.dsaf-product .price{font-size:14px!important;line-height:1.4!important;display:block;margin-bottom:10px}.dsaf-product-button .button{font-size:13px!important;padding:10px 14px!important}.dsaf-pagination-wrap{grid-column:1/-1!important}.dsaf-pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:20px}.dsaf-page{padding:8px 12px;border:1px solid #ddd;background:#fff;cursor:pointer}.dsaf-page.active{background:#111;color:#fff}.dsaf-no-products{grid-column:1/-1}.woocommerce .dsaf-filter-wrapper{margin-bottom:25px}.woocommerce .dsaf-filter-wrapper+.dsaf-products-wrapper{margin-top:10px}@media(max-width:1024px){.dsaf-products{grid-template-columns:repeat(3,minmax(0,1fr))!important}}@media(max-width:767px){.dsaf-sidebar{max-width:none}.dsaf-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}.dsaf-product .woocommerce-loop-product__title{font-size:14px!important}.dsaf-mobile-btn{display:inline-block!important;padding:11px 18px!important;background:#111;color:#fff;border:0;border-radius:5px}.dsaf-filter-wrapper{position:relative}.dsaf-sidebar{display:block}.dsaf-filter-wrapper.mobile-collapsed .dsaf-sidebar{display:none}.dsaf-header h3{font-size:20px!important}}

/* Automatic category archive layout */
.dsaf-auto-archive{width:100%;margin:0 0 28px;}
.dsaf-archive-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:32px;align-items:start;}
.dsaf-archive-layout .dsaf-filter-wrapper{margin:0;}
.dsaf-archive-layout .dsaf-products-wrapper{min-width:0;}
body.dsaf-auto-archive-active .woocommerce ul.products:not(.dsaf-products){display:none!important;}
body.dsaf-auto-archive-active .woocommerce .woocommerce-result-count,body.dsaf-auto-archive-active .woocommerce .woocommerce-ordering{display:none!important;}
@media(max-width:767px){.dsaf-archive-layout{grid-template-columns:1fr;gap:18px;}.dsaf-archive-layout .dsaf-sidebar{max-width:none;}.dsaf-archive-layout .dsaf-products{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}

/* V2.5 title sizing hard override */
.dsaf-products li.dsaf-product h2.woocommerce-loop-product__title,
.dsaf-products li.dsaf-product h2.woocommerce-loop-product__title a,
.dsaf-products li.dsaf-product .woocommerce-loop-product__title {
  font-size:16px !important;
  line-height:1.35 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
  margin:10px 0 7px !important;
  padding:0 !important;
  min-height:0 !important;
  max-height:43.2px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.dsaf-archive-layout {
  display:flex !important;
  align-items:flex-start !important;
  gap:32px !important;
  width:100% !important;
}
.dsaf-archive-layout > .dsaf-filter-wrapper {
  flex:0 0 280px !important;
  width:280px !important;
  max-width:280px !important;
  margin:0 !important;
}
.dsaf-archive-layout > .dsaf-products-wrapper {
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 !important;
}
@media(max-width:767px){
 .dsaf-archive-layout{display:block !important;}
 .dsaf-archive-layout > .dsaf-filter-wrapper{width:100% !important;max-width:none !important;}
 .dsaf-archive-layout > .dsaf-products-wrapper{width:100% !important;margin-top:18px !important;}
 .dsaf-products li.dsaf-product h2.woocommerce-loop-product__title,
 .dsaf-products li.dsaf-product .woocommerce-loop-product__title{font-size:14px !important;line-height:1.35 !important;max-height:37.8px !important;}
}

/* V2.6 final title override */
.dsaf-products .dsaf-product-title{font-size:16px!important;line-height:1.35!important;font-weight:600!important;margin:10px 0 7px!important;padding:0!important;max-height:43.2px!important;overflow:hidden!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;}
@media(max-width:767px){.dsaf-products .dsaf-product-title{font-size:14px!important;line-height:1.35!important;max-height:37.8px!important;}}

/* V2.7 mobile filter behavior: collapsed by default, opens from Filter button */
@media (max-width:767px){
  .dsaf-filter-wrapper .dsaf-sidebar{display:none!important;}
  .dsaf-filter-wrapper:not(.mobile-collapsed) .dsaf-sidebar{display:block!important;}
  .dsaf-filter-wrapper .dsaf-mobile-btn{display:inline-block!important;margin:0 0 10px!important;}
  .dsaf-filter-wrapper.mobile-collapsed .dsaf-mobile-btn{display:inline-block!important;}
  .dsaf-archive-layout .dsaf-products-wrapper{margin-top:0!important;}
  .dsaf-products .dsaf-product-title,
  .dsaf-products li.dsaf-product h2.woocommerce-loop-product__title{font-size:14px!important;line-height:1.35!important;}
}


/* V2.8 mobile drawer: floating trigger + left off-canvas panel */
@media (max-width:767px){
  .dsaf-filter-wrapper{position:static!important;margin:0!important;padding:0!important;}
  .dsaf-filter-wrapper .dsaf-mobile-btn{
    position:fixed!important;left:18px!important;bottom:22px!important;z-index:100001!important;
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    min-height:44px!important;padding:11px 18px!important;border-radius:7px!important;
    background:#111!important;color:#fff!important;box-shadow:0 5px 18px rgba(0,0,0,.22)!important;
    margin:0!important;font-size:14px!important;font-weight:600!important;
  }
  .dsaf-filter-wrapper .dsaf-overlay{
    display:block!important;position:fixed!important;inset:0!important;background:rgba(0,0,0,.45)!important;
    z-index:100002!important;opacity:0!important;visibility:hidden!important;pointer-events:none!important;
    transition:opacity .2s ease,visibility .2s ease!important;
  }
  .dsaf-filter-wrapper .dsaf-sidebar{
    display:block!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;
    width:min(86vw,360px)!important;max-width:none!important;height:100vh!important;max-height:100vh!important;
    overflow-y:auto!important;z-index:100003!important;border-radius:0 12px 12px 0!important;
    padding:22px!important;box-shadow:8px 0 28px rgba(0,0,0,.18)!important;
    transform:translateX(-105%)!important;transition:transform .25s ease!important;
  }
  .dsaf-filter-wrapper:not(.mobile-collapsed) .dsaf-sidebar{transform:translateX(0)!important;}
  .dsaf-filter-wrapper:not(.mobile-collapsed) .dsaf-overlay{opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
  .dsaf-filter-wrapper .dsaf-close{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:32px!important;height:32px!important;font-size:26px!important;line-height:1!important;border:0!important;background:transparent!important;cursor:pointer!important;}
  .dsaf-filter-wrapper .dsaf-header{margin-bottom:16px!important;}
  .dsaf-filter-wrapper .dsaf-title{padding:15px 8px!important;}
  .dsaf-filter-wrapper .dsaf-content{padding:5px 8px 14px!important;}
  .dsaf-filter-wrapper .dsaf-buttons{padding-bottom:20px!important;}
  body.dsaf-drawer-open{overflow:hidden!important;}
  .dsaf-archive-layout .dsaf-products-wrapper{margin-top:0!important;}
}


/* V2.9 mobile spacing fix: remove excessive blank area above results */
@media (max-width:767px){
  .dsaf-auto-archive,
  .dsaf-archive-layout,
  .dsaf-filter-wrapper,
  .dsaf-products-wrapper{
    margin-top:0!important;
    padding-top:0!important;
  }
  .dsaf-auto-archive{
    margin-bottom:12px!important;
  }
  .dsaf-archive-layout{
    gap:0!important;
  }
  .dsaf-archive-layout > .dsaf-products-wrapper{
    margin-top:8px!important;
  }
  .dsaf-results-meta{
    margin-top:0!important;
    margin-bottom:10px!important;
  }
  .dsaf-products{
    margin-top:0!important;
  }
  /* Avoid theme/archive wrappers creating a large mobile top offset */
  body.dsaf-auto-archive-active .site-main,
  body.dsaf-auto-archive-active .content-area,
  body.dsaf-auto-archive-active .woocommerce{
    padding-top:0!important;
    margin-top:0!important;
  }
}
