/* Compact catalogue filters with search in the choice field itself. */
.catalog-layout-top{display:block}
.service-catalog-filters{padding:16px 18px;margin-bottom:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.service-filter-form{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr) auto;align-items:end;gap:12px}
.js .service-filter-form{grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.5fr)}
.service-filter-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.service-filter-field label{font-size:0.75rem;font-weight:700;line-height:1.5}
.service-filter-field select,.service-filter-field input{width:100%;min-width:0;min-height:46px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:var(--white);font:inherit;font-size:0.8125rem;color:var(--ink)}
.service-filter-field select:disabled,.service-filter-field input:disabled{color:var(--muted);background:#f8fafc;opacity:1;cursor:default}
.select-control{position:relative;min-width:0}
.select-control.is-open{z-index:32}
.service-filter-field .select-combobox{padding-right:32px;cursor:text;text-overflow:ellipsis}
.select-combobox::placeholder{color:var(--muted);opacity:1}
.select-control-caret{position:absolute;top:18px;right:14px;width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);color:var(--muted);pointer-events:none}
.select-control.is-open .select-control-caret{top:21px;transform:rotate(225deg)}
.select-options{position:absolute;top:calc(100% + 5px);left:0;right:0;max-height:min(280px,40dvh);padding:5px;overflow-y:auto;overscroll-behavior:contain;scroll-padding:5px;border:1px solid var(--line);border-radius:7px;background:var(--white);box-shadow:0 8px 24px #1421381f;touch-action:pan-y}
.select-option{position:relative;display:block;width:100%;min-height:44px;padding:11px 27px 11px 10px;border:0;border-radius:4px;background:transparent;text-align:left;font:inherit;font-size:0.8125rem;line-height:1.5;color:var(--ink);cursor:pointer;overflow-wrap:anywhere}
.select-option:hover,.select-option.is-highlighted{background:var(--surface)}
.select-option[aria-selected=true]{font-weight:750;color:var(--accent);background:var(--accent-tint)}
.select-option[aria-selected=true]::after{content:'';position:absolute;right:12px;top:16px;width:6px;height:10px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.select-options-empty{padding:14px 10px;color:var(--muted);font-size:0.8125rem}
.service-filter-input{position:relative}
.service-filter-input>.icon{position:absolute;top:50%;left:13px;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}
.service-filter-input input{padding-left:39px}
.service-filter-input input::placeholder{color:var(--muted);opacity:1}
.service-filter-submit{min-height:46px;padding:11px 20px;font-size:0.8125rem}
.js .service-filter-submit{display:none}
.service-filter-reset{display:inline-flex;align-items:center;gap:6px;min-height:32px;font-size:0.75rem;color:var(--muted)}
.service-filter-reset .icon{width:14px;height:14px}
.service-filter-reset:hover{color:var(--accent)}
.service-search-status,.service-filter-form .filter-generation-status{font-size:0.75rem;margin:8px 0 0;line-height:1.5;color:var(--muted)}
.service-search-status:empty{display:none}
[data-catalog-results][aria-busy=true]{opacity:.55;pointer-events:none}
.service-empty-state .service-empty-phones{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:22px 0 12px}
.service-empty-phones .phone-link{display:inline-flex;align-items:center;min-height:44px;font-size:1.5rem;font-weight:800;line-height:1.4}
.service-empty-phones .phone-link:hover{color:var(--accent)}
.service-empty-messengers{justify-content:center;margin-top:8px}
.service-empty-messengers .messenger-link{min-height:48px;min-width:48px}
@media(max-width:767px){
  .service-catalog-filters{padding:12px;margin-bottom:20px}
  .service-filter-form,.js .service-filter-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px}
  .service-filter-field label{font-size:0.6875rem}
  .service-filter-field select,.service-filter-field input{font-size:0.875rem;min-height:44px;padding:10px}
  .service-filter-field .select-combobox{font-size:1rem;padding-right:26px}
  .select-control-caret{right:11px}
  .select-option{font-size:0.875rem;min-height:46px;padding-left:8px}
  .service-filter-input input{font-size:1rem;padding-left:32px}
  .service-filter-input>.icon{left:10px;width:15px;height:15px}
  .service-filter-submit{grid-column:1/-1;min-height:44px}
  .service-filter-reset{min-height:44px;font-size:0.6875rem}
  .service-empty-state .service-empty-phones{flex-direction:column;gap:4px;margin-top:18px}
  .service-empty-phones .phone-link{font-size:1.3125rem}
}
