.m7pf{
  --m7pf-ink:#171717;
  --m7pf-muted:#6c6c6a;
  --m7pf-line:#c9c9c5;
  --m7pf-paper:#f2f2f0;
  --m7pf-white:#fff;
  width:100%;
  color:var(--m7pf-ink);
  font-family:"Inter",Arial,sans-serif;
}
.m7pf *{box-sizing:border-box}
.m7pf button,.m7pf select{font-family:"Inter",Arial,sans-serif!important}
.m7pf button:focus,.m7pf select:focus{outline:none;box-shadow:none}

.m7pf__filter-panel{
  background:var(--m7pf-paper);
  padding:34px 30px 27px;
}
.m7pf__fields{
  display:grid;
  grid-template-columns:repeat(8,minmax(0,1fr));
  gap:20px;
  align-items:end;
}
.m7pf__select{
  position:relative;
  display:block;
  min-width:0;
  margin:0;
}
.m7pf__select select{
  appearance:none!important;
  -webkit-appearance:none!important;
  display:block;
  width:100%;
  height:42px;
  margin:0!important;
  padding:0 25px 0 0!important;
  border:0!important;
  border-bottom:1px solid #9f9f9b!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  color:#222!important;
  font-size:11px!important;
  line-height:42px!important;
  font-weight:500!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  cursor:pointer;
  box-shadow:none!important;
  transition:border-color .2s ease,color .2s ease;
  color-scheme:light;
}
.m7pf__select select:hover,
.m7pf__select select:focus{
  background:transparent!important;
  color:#111!important;
  border-bottom-color:#222!important;
}
.m7pf__select i{
  position:absolute;
  right:3px;
  top:15px;
  width:7px;
  height:7px;
  border-right:1px solid #222;
  border-bottom:1px solid #222;
  transform:rotate(45deg);
  pointer-events:none;
}

/* Kill theme / Elementor accent hover colours inside the filter. */
.m7pf .m7pf__tab,
.m7pf .m7pf__tab:hover,
.m7pf .m7pf__tab:focus,
.m7pf .m7pf__refine,
.m7pf .m7pf__refine:hover,
.m7pf .m7pf__clear,
.m7pf .m7pf__clear:hover,
.m7pf .m7pf__apply,
.m7pf .m7pf__apply:hover{
  text-decoration:none!important;
  box-shadow:none!important;
  outline:none!important;
}

.m7pf__tabs{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:24px;
}
.m7pf__tab{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  min-height:30px;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid transparent!important;
  border-radius:0!important;
  background:#e7e7e5!important;
  color:#282828!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:600!important;
  letter-spacing:.11em!important;
  text-transform:uppercase!important;
  cursor:pointer;
  transition:background .18s ease,color .18s ease,border-color .18s ease;
}
.m7pf__tab:hover,
.m7pf__tab:focus{
  background:#dbdbd8!important;
  color:#111!important;
  border-color:#dbdbd8!important;
}
.m7pf__tab.is-active,
.m7pf__tab.is-active:hover,
.m7pf__tab.is-active:focus{
  background:#292929!important;
  color:#fff!important;
  border-color:#292929!important;
}

.m7pf__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:58px;
  border-top:1px solid var(--m7pf-line);
  border-bottom:1px solid var(--m7pf-line);
  margin-top:34px;
}
.m7pf__count{
  color:#222;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.m7pf__count strong{font-weight:600}
.m7pf__sort{
  align-self:stretch;
  display:flex;
  align-items:center;
  border-left:1px solid var(--m7pf-line);
}
.m7pf__sort>span{
  padding:0 25px;
  font-size:10px;
  font-weight:600;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.m7pf__sort label{
  position:relative;
  display:block;
  height:100%;
  margin:0;
  border-left:1px solid var(--m7pf-line);
}
.m7pf__sort select{
  appearance:none!important;
  -webkit-appearance:none!important;
  height:100%;
  min-width:220px;
  margin:0!important;
  padding:0 42px 0 20px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#222!important;
  outline:0!important;
  box-shadow:none!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  cursor:pointer;
  background-image:linear-gradient(45deg,transparent 50%,#222 50%),linear-gradient(135deg,#222 50%,transparent 50%)!important;
  background-position:calc(100% - 18px) 50%,calc(100% - 14px) 50%!important;
  background-size:4px 4px,4px 4px!important;
  background-repeat:no-repeat!important;
}
.m7pf__sort select:hover,.m7pf__sort select:focus{background-color:transparent!important;color:#111!important}

.m7pf__mobile-actions,.m7pf__drawer-head,.m7pf__apply,.m7pf__backdrop{display:none}

.m7pf.is-loading .m7pf__filter-panel{pointer-events:none}
.m7pf-results-loading{position:relative;opacity:.5;transition:opacity .18s ease;pointer-events:none}

@media(max-width:1250px){
  .m7pf__fields{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:18px}
}

@media(max-width:767px){
  .m7pf__filter-panel{padding:20px 18px 18px}
  .m7pf__mobile-actions{display:flex;align-items:center;justify-content:space-between}
  .m7pf__refine,.m7pf__clear{
    margin:0!important;
    padding:6px 0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#222!important;
    font-size:10px!important;
    line-height:1!important;
    font-weight:600!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    cursor:pointer;
  }
  .m7pf__fields{display:none}
  .m7pf.is-refine-open .m7pf__fields{
    position:fixed;
    z-index:99999;
    left:0;
    right:0;
    bottom:0;
    display:block;
    max-height:86vh;
    overflow:auto;
    padding:20px 20px 26px;
    background:#fff;
    box-shadow:0 -18px 55px rgba(0,0,0,.14);
  }
  .m7pf__drawer-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:14px;
  }
  .m7pf__drawer-head strong{
    font-size:11px;
    font-weight:600;
    letter-spacing:.1em;
    text-transform:uppercase;
  }
  .m7pf__drawer-head button{
    width:34px;
    height:34px;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:#f1f1ef!important;
    color:#222!important;
    font-size:22px!important;
    line-height:34px!important;
    cursor:pointer;
  }
  .m7pf__select{margin-bottom:14px}
  .m7pf__select select{height:47px!important;line-height:47px!important;font-size:11px!important}
  .m7pf__select i{top:18px}
  .m7pf__apply{
    display:block;
    width:100%;
    height:47px;
    margin:8px 0 0!important;
    padding:0!important;
    border:1px solid #222!important;
    border-radius:0!important;
    background:#222!important;
    color:#fff!important;
    font-size:10px!important;
    font-weight:600!important;
    letter-spacing:.12em!important;
    text-transform:uppercase!important;
    cursor:pointer;
  }
  .m7pf__apply:hover,.m7pf__apply:focus{background:#000!important;color:#fff!important;border-color:#000!important}
  .m7pf__backdrop{display:block;position:fixed;z-index:99998;inset:0;background:rgba(0,0,0,.28)}
  .m7pf__backdrop[hidden]{display:none}

  .m7pf__tabs{margin-top:17px;gap:7px;overflow-x:auto;scrollbar-width:none}
  .m7pf__tabs::-webkit-scrollbar{display:none}
  .m7pf__tab{min-height:29px;padding:0 12px!important;white-space:nowrap;font-size:9px!important}

  .m7pf__toolbar{margin-top:20px;min-height:52px}
  .m7pf__count{font-size:9px}
  .m7pf__sort>span{display:none}
  .m7pf__sort select{min-width:155px;padding-left:13px!important;font-size:9px!important}
}
