/* Utchi Food + Shopping advanced filter dialog */
html.utchi-filter-panel-open,
html.utchi-filter-panel-open body{overflow:hidden}

.utchi-filter-layer{
  position:fixed;
  inset:0;
  z-index:1400;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.utchi-filter-layer[hidden]{display:none!important}
.utchi-filter-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,19,27,.52);
  backdrop-filter:blur(3px);
}
.utchi-filter-panel{
  position:relative;
  z-index:1;
  width:min(760px,100%);
  max-height:min(82vh,820px);
  max-height:min(82dvh,820px);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid #dfe7e3;
  border-radius:24px;
  background:#fff;
  box-shadow:0 28px 80px rgba(7,19,27,.26);
}
.utchi-filter-panel-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:20px 22px 14px;
  border-bottom:1px solid #edf1ef;
  background:#fff;
}
.utchi-filter-panel-head h2{
  margin:0;
  color:#12191f;
  font-size:22px;
  letter-spacing:-.5px;
}
.utchi-filter-panel-head p{
  margin:4px 0 0;
  color:#68747d;
  font-size:13px;
}
.utchi-filter-close{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:1px solid #dfe6e2;
  border-radius:50%;
  background:#f7faf8;
  color:#173d2c;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}
.utchi-filter-close:hover,
.utchi-filter-close:focus-visible{
  background:#eafff4;
  border-color:#aee9cb;
}
.utchi-filter-panel-body{
  overflow:auto;
  overscroll-behavior:contain;
  padding:20px 22px 8px;
}
.utchi-filter-panel-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 22px 20px;
  border-top:1px solid #edf1ef;
  background:#fff;
}
.utchi-filter-done{
  margin-left:auto;
  min-height:44px;
  padding:11px 20px;
  border:0;
  border-radius:12px;
  background:#10d978;
  color:#052418;
  font-weight:900;
  cursor:pointer;
}
.utchi-filter-done:hover,
.utchi-filter-done:focus-visible{background:#0dca70}

#foodAdvancedFilters.utchi-directory-filters,
#shoppingAdvancedFilters.utchi-directory-filters{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.utchi-filter-panel .utchi-directory-filters>.utchi-taxonomy{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0!important;
}
.utchi-filter-panel .utchi-directory-filters>.utchi-taxonomy:first-child{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.utchi-filter-panel .utchi-directory-filters .filter-reset{
  align-self:flex-start!important;
  min-height:44px!important;
  margin:0!important;
  background:#eef4f1!important;
  color:#173d2c!important;
}
.utchi-filter-panel .utchi-directory-filters select,
.utchi-filter-panel .utchi-directory-filters input{height:46px!important}

.filter-toggle .utchi-filter-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:22px;
  padding:0 7px;
  border-radius:999px;
  background:#103c2b;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.filter-toggle.active .utchi-filter-count{
  background:#10d978;
  color:#052418;
}

@media(max-width:700px){
  .utchi-filter-layer{align-items:flex-end;padding:0}
  .utchi-filter-panel{
    width:100%;
    max-height:88vh;
    max-height:88dvh;
    border-radius:24px 24px 0 0;
    border-bottom:0;
  }
  .utchi-filter-panel-head{padding:18px 18px 12px}
  .utchi-filter-panel-body{padding:16px 18px 8px}
  .utchi-filter-panel-foot{
    padding:12px 18px calc(16px + env(safe-area-inset-bottom));
  }
  .utchi-filter-panel .utchi-directory-filters>.utchi-taxonomy,
  .utchi-filter-panel .utchi-directory-filters>.utchi-taxonomy:first-child{
    grid-template-columns:1fr!important;
  }
  .utchi-filter-panel .utchi-directory-filters select,
  .utchi-filter-panel .utchi-directory-filters input{font-size:16px!important}
}

@media(prefers-reduced-motion:no-preference){
  .utchi-filter-panel{animation:utchiFilterIn .18s ease-out}
  @keyframes utchiFilterIn{
    from{opacity:.65;transform:translateY(10px) scale(.99)}
    to{opacity:1;transform:none}
  }
}
