/* =========================================================
   BeautyPay — Shared venue discovery filters
   ========================================================= */
.venue-discovery-filters{
  --vf-ink:#17151c;
  --vf-muted:#77717e;
  --vf-line:rgba(28,23,36,.10);
  --vf-soft:#f7f5f9;
  --vf-purple:#7b4ce2;
  --vf-purple-soft:#f0e9ff;
  margin:18px 0 24px;
  padding:14px;
  border:1px solid var(--vf-line);
  border-radius:22px;
  background:rgba(255,255,255,.96);
  box-shadow:0 14px 42px rgba(43,31,61,.055);
  color:var(--vf-ink);
}
.venue-filter-toolbar{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.venue-filter-action,
.venue-sort-field{
  min-height:44px;
  border:1px solid var(--vf-line);
  border-radius:14px;
  background:#fff;
  color:var(--vf-ink);
}
.venue-filter-action{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:9px 13px;
  font:inherit;
  font-size:.84rem;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.venue-filter-action:hover{
  transform:translateY(-1px);
  border-color:rgba(123,76,226,.24);
  box-shadow:0 8px 20px rgba(57,42,81,.07);
}
.venue-filter-action svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.venue-near-action[aria-pressed="true"]{
  color:#5f34c8;
  border-color:rgba(123,76,226,.28);
  background:var(--vf-purple-soft);
}
.venue-open-filters b{
  min-width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  padding-inline:5px;
  border-radius:999px;
  background:#17151c;
  color:#fff;
  font-size:.68rem;
  line-height:1;
}
.venue-sort-field{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:5px 10px 5px 7px;
}
.venue-sort-field>span{
  color:var(--vf-muted);
  font-size:.79rem;
  white-space:nowrap;
}
.venue-sort-field select{
  min-height:32px;
  border:0;
  outline:0;
  background:transparent;
  color:var(--vf-ink);
  font:inherit;
  font-size:.84rem;
  font-weight:700;
  padding:0 2px 0 24px;
  cursor:pointer;
}
.venue-location-note{
  display:flex;
  align-items:center;
  gap:7px;
  margin:10px 2px 0;
  color:#8a848e;
  font-size:.76rem;
  line-height:1.8;
}
.venue-location-note svg{
  width:16px;
  height:16px;
  flex:0 0 16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.venue-location-note.is-success{color:#277a58}
.venue-location-note.is-error{color:#a24848}
.venue-filter-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,.72fr);
  gap:16px 22px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid var(--vf-line);
}
.venue-filter-group{min-width:0}
.venue-filter-label{
  margin-bottom:9px;
  color:#56505c;
  font-size:.78rem;
  font-weight:700;
}
.venue-filter-chips{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
}
.venue-filter-chip{
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 11px;
  border:1px solid var(--vf-line);
  border-radius:999px;
  background:#fff;
  color:#4d4853;
  font:inherit;
  font-size:.79rem;
  font-weight:700;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.venue-filter-chip:hover{transform:translateY(-1px);border-color:rgba(123,76,226,.25)}
.venue-filter-chip span{
  min-width:21px;
  height:21px;
  display:inline-grid;
  place-items:center;
  border-radius:999px;
  padding-inline:5px;
  background:#f1eff3;
  color:#7f7885;
  font-size:.67rem;
  line-height:1;
}
.venue-filter-chip.active,
.venue-filter-chip[aria-pressed="true"]{
  color:#5d31c6;
  border-color:rgba(123,76,226,.26);
  background:var(--vf-purple-soft);
}
.venue-filter-chip.active span,
.venue-filter-chip[aria-pressed="true"] span{
  color:#fff;
  background:#7040da;
}
.venue-filter-panel-foot{
  grid-column:1/-1;
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:2px;
}
.venue-filter-panel-foot>span{
  color:#77717e;
  font-size:.76rem;
}
.venue-filter-panel-foot button{
  border:0;
  background:transparent;
  color:#6a42c5;
  font:inherit;
  font-size:.76rem;
  font-weight:700;
  cursor:pointer;
  padding:6px 0;
}
.venue-empty-state{
  margin-top:14px;
  padding:18px;
  border-radius:16px;
  background:#faf8fc;
  border:1px dashed rgba(73,58,91,.14);
  text-align:center;
}
.venue-empty-state strong,
.venue-empty-state span{display:block}
.venue-empty-state strong{font-size:.88rem}
.venue-empty-state span{margin-top:4px;color:#85808a;font-size:.76rem}
.venue-filter-hidden{display:none!important}
.venue-card-distance{
  display:inline;
  color:#8b858f;
  white-space:nowrap;
}
.venue-card-distance:not(:empty)::before{
  content:" · ";
  color:#aaa4ae;
}
.fresha-card-price{
  margin-top:9px;
  color:#39343e;
  font-size:.76rem;
  font-weight:700;
}
.fresha-card-location{display:block}

/* Search results variant */
.results-col>.venue-discovery-filters{margin-top:16px;margin-bottom:14px}
.results-col .venue-filter-panel{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}
.results-col .venue-filter-toolbar{justify-content:flex-start}

@media(max-width:991.98px){
  .venue-filter-panel{grid-template-columns:1fr}
  .venue-filter-panel-foot{grid-column:auto}
}
@media(max-width:767.98px){
  .venue-discovery-filters{
    margin:14px 0 20px;
    padding:11px;
    border-radius:18px;
    box-shadow:0 9px 26px rgba(43,31,61,.045);
  }
  .venue-filter-toolbar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .venue-near-action,.venue-open-filters{width:100%}
  .venue-sort-field{
    grid-column:1/-1;
    width:100%;
    justify-content:space-between;
    padding-inline:12px;
  }
  .venue-sort-field select{flex:1;text-align:end}
  .venue-location-note{align-items:flex-start;margin-top:9px;padding-inline:2px}
  .venue-filter-panel{gap:14px;margin-top:11px;padding-top:12px}
  .venue-filter-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
  .venue-filter-chips::-webkit-scrollbar{display:none}
  .venue-filter-chip{flex:0 0 auto}
  .venue-discovery-filters.filters-collapsed .venue-filter-panel{display:none}
  .venue-filter-panel-foot{padding-top:0}
}
@media(max-width:419.98px){
  .venue-filter-action{font-size:.79rem;padding-inline:10px}
  .venue-sort-field>span,.venue-sort-field select{font-size:.77rem}
}
@media(prefers-reduced-motion:reduce){
  .venue-filter-action,.venue-filter-chip{transition:none}
}
