/* ==========================================================================
   LeadVector — «Фильтры компаний» (section.company-quick-filters)
   All .company-filter-* and .cff-* styles. No CSS variables or keyframes used.
   Load after css/styles.css (relies on its Bootstrap compatibility layer for
   button/input fonts).
   ========================================================================== */
.company-quick-filters{
  width:min(1080px,100%);
  margin:0 auto 18px;
  position:relative;
  z-index:18;
}
@media (max-width:1100px){
  .company-quick-filters{width:min(900px,100%)}
}
.company-quick-filters{
  width:min(1180px,100%);
  margin:0 auto 20px;
  padding:0;
  background:#fff;
  border:1px solid #e5e9f1;
  border-radius:12px;
  box-shadow:0 2px 8px rgba(17,24,39,.04),0 16px 36px rgba(17,24,39,.055);
  position:relative;
  z-index:18;
}
.company-filter-panel-head{
  min-height:48px;
  padding:0 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid #eef1f6;
}
.company-filter-panel-title{
  font-size:14px;
  font-weight:650;
  color:#242b39;
  letter-spacing:-.018em;
}
.company-filter-reset{
  border:0;
  background:none;
  color:#4450B2;
  padding:4px 0;
  font:600 12px Onest,sans-serif;
  cursor:pointer;
}
@media (max-width:1120px){
  .company-quick-filters{overflow:visible}
}
.company-filter-form{
  width:min(1180px,100%)!important;
  margin:0 auto 20px!important;
  background:#fff!important;
  border:1px solid #e7eaf0!important;
  border-radius:12px!important;
  box-shadow:0 8px 24px rgba(17,24,39,.055)!important;
  overflow:hidden!important;
}
.company-filter-form .company-filter-panel-head{
  min-height:46px;
  padding:0 20px;
  border-bottom:1px solid #eef1f6;
}
.company-filter-form-body{
  padding:18px 20px 20px;
  display:grid;
  grid-template-columns:1.05fr 1.25fr 1.05fr .78fr 1.25fr 1fr;
  gap:18px;
  align-items:start;
}
.cff-field{min-width:0}
.cff-field label{
  display:block;
  margin:0 0 7px;
  color:#242b39;
  font-size:12px;
  line-height:1.2;
  font-weight:600;
  white-space:nowrap;
}
.cff-range{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.cff-input{
  width:100%;
  min-width:0;
  height:38px;
  border:1px solid #dce2eb;
  border-radius:8px;
  background:#fff;
  outline:none;
  padding:0 9px;
  color:#202636;
  font:500 12px Onest,sans-serif;
  transition:.15s;
}
.cff-input:hover{border-color:#c8d1df}
.cff-input:focus{border-color:#b9c6ff;box-shadow:0 0 0 3px rgba(68,80,178,.08)}
.cff-chips{
  display:flex;
  gap:4px;
  flex-wrap:wrap;
  margin-top:7px;
}
.cff-chip{
  height:25px;
  border:1px solid #e1e6ef;
  border-radius:6px;
  background:#f8f9fb;
  color:#667085;
  padding:0 7px;
  font:600 10px Onest,sans-serif;
  cursor:pointer;
  transition:.14s;
}
.cff-chip:hover,.cff-chip.active{border-color:#c5cdf5;background:#f0f2ff;color:#4450B2}
.cff-box{
  width:17px;height:17px;flex:0 0 17px;
  border:1.5px solid #c9d1e1;border-radius:4px;
  display:grid;place-items:center;
  color:transparent;font-size:10px;font-weight:800;
}
@media (max-width:1180px){
  .company-filter-form-body{grid-template-columns:repeat(3,1fr)}
}
.company-filter-form{
  width:min(1180px,100%)!important;
}
.company-filter-form-body{
  padding:20px 22px 22px!important;
  display:grid!important;
  grid-template-columns:1.05fr 1.25fr 1.05fr!important;
  gap:22px 28px!important;
  align-items:start!important;
}
.cff-field label{
  margin-bottom:8px!important;
  font-size:13px!important;
}
.cff-input{height:40px!important;font-size:13px!important}
.cff-chips{margin-top:8px!important;gap:6px!important}
.cff-chip{
  height:28px!important;
  padding:0 9px!important;
  font-size:11px!important;
}
.cff-business,.cff-direct,.cff-seo{
  align-self:start;
}
@media (max-width:900px){
  .company-filter-form-body{grid-template-columns:1fr 1fr!important}
}
.company-filter-actions{display:flex;align-items:center;gap:14px}
.company-filter-reset{
  color:#98A2B3!important;
  font-weight:600!important;
}
.company-filter-reset:hover{color:#667085!important}
.company-filter-search{
  height:34px;
  border:1px solid #4450B2;
  border-radius:8px;
  background:#4450B2;
  color:#fff;
  padding:0 14px;
  font:600 12px Onest,sans-serif;
  cursor:pointer;
  box-shadow:0 5px 12px rgba(56,68,155,.16);
  transition:.15s;
}
.company-filter-search:hover{background:#3D48A4;border-color:#3D48A4;transform:translateY(-1px)}
.cff-flat-options{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.cff-flat-check{
  min-height:32px;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#475467;
  font:600 12px Onest,sans-serif;
  cursor:pointer;
  text-align:left;
}
.cff-flat-check:hover{color:#202636}
.cff-flat-check .cff-box{
  width:17px;height:17px;flex:0 0 17px;
  border:1.5px solid #c9d1e1;border-radius:4px;
  background:#fff;display:grid;place-items:center;
  color:transparent;font-size:10px;font-weight:800;
  transition:.14s;
}
.cff-flat-check:hover .cff-box{border-color:#9fb0e8;box-shadow:0 0 0 3px rgba(49,92,246,.06)}
.cff-flat-check.active .cff-box{background:#4450B2;border-color:#4450B2;color:#fff;box-shadow:0 0 0 3px rgba(68,80,178,.07)}
.cff-flat-check.active{color:#354093}
.cff-submit-row{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  padding-top:0;
  margin-top:-2px;
}
.cff-submit-row .company-filter-search{
  min-width:180px;
  height:40px;
  padding:0 24px;
  font-size:13px;
}
.cff-flat-check .cff-box{
  width:18px;height:18px;border:1.5px solid #c9d1e1;border-radius:5px;display:grid;place-items:center;
  color:#fff;font-size:12px;font-weight:900;line-height:1;transition:.16s;
  background:linear-gradient(180deg,#fff 0%,#f7f9fd 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 1px 2px rgba(17,24,39,.06);
}
.cff-flat-check:hover .cff-box{
  border-color:#9fb0e8;box-shadow:inset 0 1px 0 rgba(255,255,255,.95),0 0 0 4px rgba(49,92,246,.075),0 2px 6px rgba(17,24,39,.06);transform:scale(1.04)
}
.cff-flat-check.active .cff-box{
  background:linear-gradient(180deg,#5f7fff 0%,#315cf6 100%);border-color:#315cf6;box-shadow:0 4px 10px rgba(49,92,246,.24),0 0 0 3px rgba(49,92,246,.09)
}
