.elementor-977 .elementor-element.elementor-element-107d30d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-977 .elementor-element.elementor-element-87ad859{--display:flex;--margin-top:35px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-977 .elementor-element.elementor-element-b47094d .elementor-heading-title{font-family:"IBM Plex Sans", Sans-serif;font-size:30px;font-weight:600;font-style:normal;color:#2B2827;}.elementor-977 .elementor-element.elementor-element-e2bfbb8{--display:flex;}#elementor-popup-modal-977 .dialog-message{width:436px;height:906px;align-items:flex-start;}#elementor-popup-modal-977{justify-content:flex-end;align-items:center;pointer-events:all;background-color:rgba(0,0,0,.8);}#elementor-popup-modal-977 .dialog-close-button{display:flex;}#elementor-popup-modal-977 .dialog-widget-content{animation-duration:1s;box-shadow:2px 8px 23px 3px rgba(0,0,0,0.2);}@media(max-width:1100px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}/* Start custom CSS for shortcode, class: .elementor-element-c55d64e *//* ====== PANEL LAYOUT & SECTIONS ====== */
.vj-filter,
.elementor-popup-modal .dialog-message .vj-filter{
  display:flex; flex-direction:column; height:100%;
  color:#2B2827; font-family:inherit;
}
.vj-filter .tfpf-groups,.vj-filter .tf-filter-groups,.vj-filter .tfpf-sections{
  flex:1 1 auto; overflow-y:auto; padding:4px 0 24px;
}
.vj-filter .tfpf-group,.vj-filter .tf-filter-group,.vj-filter .tfpf-section{
  padding:12px 0 10px; border-bottom:1px solid #E7E2DB;
}

/* Head row is turned into a button for collapse/expand */
.vj-filter .wpf_item_name{
    font-family: Work Sans;
    font-weight: 600 !important;
    font-size: 16px !important;
    line-height: 117%;
    border: none !important;
}

.vj-filter .vj-head{
  all:unset; display:flex; align-items:center; justify-content:space-between;
  width:100%; cursor:pointer; margin:0 0 10px; font-weight:700; font-size:14px;
}


.vj-filter .vj-body{ display:block; }
.vj-filter .vj-body[hidden]{ 
    display:none !important; }

/* ====== OPTIONS LAYOUT ====== */
.vj-filter .size-group .vj-options.is-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px 24px;
}

.vj-filter .size-group .vj-options{
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
}

.vj-filter .size-group .opt .lbl{
  font-family: Work Sans;
  font-weight: 400;       
  font-size: 14px;
  letter-spacing: 117%;
}

.vj-filter .opt{ display:inline-flex; align-items:center; gap:6px; }
.vj-filter .opt input{ order:1; }               
.vj-filter .opt.has-color::before{
  order:2;
  content:""; width:21px; height:21px; border-radius:50%;
  border:1px solid rgba(0,0,0,.15); display:inline-block;
  background:var(--dot,#eee);
}
.vj-filter .opt .lbl{ order:3; }

/* each option: checkbox + (optional) dot + label */
.vj-filter .opt{ display:inline-flex; align-items:center; gap:4px; }
.vj-filter .opt input[type="checkbox"],
.vj-filter .opt input[type="radio"]{
  appearance:checkbox !important; margin:0; width:11px; height:11px; border-radius: 0;
  border:1px solid #2B2827;
  background: var(--primary-color)
}

/* Color dot (appears after the checkbox) */
.vj-filter .opt.has-color::before{
  content:""; width:21px; height:21px; border-radius:50%;
  border:1px solid rgba(0,0,0,.15); display:inline-block;
  background: var(--dot, #eee);
}

.vj-filter .opt .lbl{ 
    font-family: Work Sans;
    font-weight: 400;
    font-size:11px; 
    line-height:1.2; }

.vj-filter .size-group .opt{
    gap:6px; 
}


.vj-filter .tfpf-actions,.vj-filter .tf-filter-actions{
  flex:0 0 auto; margin-top:auto; position:sticky; bottom:0;
  background:#fff; padding:14px 0; border-top:1px solid #E7E2DB;
  display:flex; gap:12px; align-items:center;
}
.vj-filter .tfpf-apply,.vj-filter .tf-filter-apply,.vj-filter button[type="submit"]{
  background:var(--text-color);
  color:var(--primary-color); 
  border:0;
  border-radius: 0;
  padding:10px 20px; 
  font-family: Work Sans;
  font-weight:400;
  font-size: 14px;
  text-transform: none;
}
.vj-filter .tfpf-reset,.vj-filter .tf-filter-reset,.vj-filter .reset-filters{
  background:transparent; border:1px solid #DAD6D0; color:#2B2827;
  padding:12px 18px; border-radius:8px; font-weight:600;
}

@media (max-width: 420px){
  .vj-filter .color-group .vj-options{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}/* End custom CSS */