/* ==== BBS SHOP FILTERS AND TOOLBAR ==== */

.bbs-filter-group{margin:0 0 30px;}
.bbs-filter-group h3{font-family:Archivo,sans-serif;font-weight:700;font-size:13px;text-transform:uppercase;
  letter-spacing:.07em;color:#0C0C0E;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid #0C0C0E;}
.bbs-filter-group ul{list-style:none;margin:0;padding:0;}
.bbs-filter-group li{margin:0 0 9px;}
.bbs-filter-group li a{font-family:'Instrument Sans',sans-serif;font-size:15px;color:#71717A;text-decoration:none;
  display:flex;justify-content:space-between;gap:8px;transition:color .15s;}
.bbs-filter-group li a:hover{color:#0C0C0E;}
.bbs-filter-group li.is-active a{color:#0C0C0E;font-weight:600;}
.bbs-filter-group li span{color:#A1A1AA;font-size:13px;flex:0 0 auto;}
.bbs-filter-reset{display:inline-block;font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;
  color:#0C0C0E;border-bottom:1px solid #0C0C0E;padding-bottom:2px;text-decoration:none;}
.bbs-filter-reset:hover{color:#71717A;border-bottom-color:#71717A;}

.bbs-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  padding:0 0 16px;border-bottom:1px solid #E4E4E7;}
.bbs-count{font-family:'Instrument Sans',sans-serif;font-size:14px;color:#71717A;margin:0;}
.bbs-sort{display:flex;align-items:center;gap:10px;margin:0;}
.bbs-sort label{font-family:'Instrument Sans',sans-serif;font-size:14px;color:#71717A;}
.bbs-sort select{font-family:'Instrument Sans',sans-serif;font-size:14px;color:#0C0C0E;
  border:1px solid #E4E4E7;border-radius:0;background:#fff;padding:10px 32px 10px 12px;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#0C0C0E 50%),linear-gradient(135deg,#0C0C0E 50%,transparent 50%);
  background-position:calc(100% - 16px) 50%,calc(100% - 11px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;}
.bbs-sort select:focus{outline:none;border-color:#0C0C0E;}

.bbs-badge{position:absolute;top:14px;left:14px;z-index:3;background:#0C0C0E;color:#fff;
  font-family:'Instrument Sans',sans-serif;font-size:10px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;padding:6px 10px;line-height:1.2;}

.bbs-filter-toggle{display:none;align-items:center;gap:8px;cursor:pointer;
  font-family:'Instrument Sans',sans-serif;font-size:14px;font-weight:600;color:#0C0C0E;
  background:#fff;border:1px solid #0C0C0E;border-radius:0;padding:11px 18px;min-height:44px;}
.bbs-filter-count{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;
  border-radius:50%;background:#0C0C0E;color:#fff;font-size:11px;font-weight:600;padding:0 5px;}

.bbs-drawer-head,.bbs-drawer-foot{display:none;}
.bbs-drawer-scrim{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(12,12,14,.45);
  z-index:120;opacity:0;transition:opacity .25s ease;}
body.bbs-drawer-locked{overflow:hidden;}

/* Astra's on-image quick action overlaps the badge */
.astra-shop-thumbnail-wrap .ast-on-card-button,.ast-quick-view-button,
.astra-shop-thumbnail-wrap .ast-shop-thumbnail-wrap-btn,
ul.products li.product .astra-shop-thumbnail-wrap > a.button,
ul.products li.product .ast-quick-view-text{display:none!important;}

@media(max-width:1024px){
  .bbs-filter-toggle{display:inline-flex;}
  .bbs-toolbar{padding-bottom:14px;row-gap:12px;}
  .bbs-count{flex:1 1 100%;order:1;margin:0;font-size:13px;}
  .bbs-filter-toggle{order:2;flex:0 0 auto;min-height:42px;padding:0 16px;font-size:13px;}
  .bbs-sort{order:3;flex:1 1 auto;gap:8px;min-width:0;}
  .bbs-sort label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
  .bbs-sort select{flex:1 1 auto;width:100%;min-height:42px;padding:0 30px 0 12px;font-size:13px;}

  /* Sidebar becomes a bottom sheet.
     Elementor containers set --flex-wrap-mobile:wrap, which made the filter
     groups wrap into a second column instead of scrolling. Forced to nowrap. */
  .bbs-filters{
    position:fixed!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;
    width:100%!important;max-width:100%!important;
    height:auto!important;max-height:85vh!important;
    z-index:130!important;
    background:#fff!important;border-top:1px solid #E4E4E7;
    box-shadow:0 -8px 40px rgba(12,12,14,.16);
    transform:translateY(100%);transition:transform .28s ease;
    display:flex!important;flex-direction:column!important;
    flex-wrap:nowrap!important;
    padding:0!important;margin:0!important;overflow:hidden!important;
    align-items:stretch!important;
  }
  .bbs-filters.is-open{transform:translateY(0);}
  .bbs-drawer-scrim{display:block;pointer-events:none;}
  .bbs-drawer-scrim.is-open{opacity:1;pointer-events:auto;}

  .bbs-drawer-head{display:flex!important;align-items:center;justify-content:space-between;
    padding:16px 20px;border-bottom:1px solid #E4E4E7;flex:0 0 auto;order:-1;background:#fff;}
  .bbs-drawer-head span{font-family:Archivo,sans-serif;font-weight:700;font-size:18px;
    letter-spacing:-.02em;color:#0C0C0E;}
  .bbs-drawer-close{background:none!important;border:0!important;box-shadow:none!important;
    font-size:30px!important;line-height:1!important;color:#0C0C0E!important;
    cursor:pointer;padding:0!important;margin:0!important;
    width:44px;height:44px;min-height:0!important;
    display:flex;align-items:center;justify-content:center;border-radius:0!important;}

  .bbs-drawer-body{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;width:100%;display:block!important;}

  /* Every filter widget scrolls in one column between head and foot */
  .bbs-drawer-body > .elementor-widget{
    flex:0 0 auto!important;width:100%!important;max-width:100%!important;
    padding:0 20px!important;margin:0!important;}
  .bbs-drawer-body > .elementor-widget:nth-of-type(1){padding-top:18px!important;}
  .bbs-drawer-body > .elementor-widget:last-of-type{padding-bottom:18px!important;}

  .bbs-drawer-foot{display:block!important;flex:0 0 auto;padding:14px 20px;
    padding-bottom:calc(14px + env(safe-area-inset-bottom));
    border-top:1px solid #E4E4E7;background:#fff;order:99;}
  .bbs-drawer-apply{width:100%;min-height:52px;cursor:pointer;
    background:#0C0C0E;color:#fff;border:1px solid #0C0C0E;border-radius:0;
    font-family:'Instrument Sans',sans-serif;font-weight:600;font-size:15px;}
}

@media(max-width:767px){
  .bbs-toolbar{gap:10px;}
  ul.products li.product .bbs-badge{top:10px;left:10px;font-size:9px;padding:5px 8px;}
  ul.products li.product .bbs-loop-subtitle{font-size:12px;}
  ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;line-height:1.25;}
  ul.products li.product .price{font-size:15px!important;}
  ul.products li.product .button{font-size:13px!important;padding:12px 10px!important;}
}
