:root{
  --ve-primary:#348fde;
  --ve-primary-dark:#2b7cc3;
  --ve-primary-soft:#eef6ff;
  --ve-text:#16212f;
  --ve-muted:#667688;
  --ve-border:#dbe5f0;
  --ve-shadow:0 10px 30px rgba(18,33,55,.08);
}
.ve-search-head--premium{padding:30px 0 12px}
.ve-search-head--premium h1{margin:0 0 8px;font-size:56px;line-height:1.02;letter-spacing:-1.4px}
.ve-search-head--premium p{margin:0;color:var(--ve-muted);font-size:18px}
.ve-search-section{padding-top:10px}

.ve-subcats-wrap{margin-bottom:18px}
.ve-subcats-title{font-size:18px;font-weight:800;margin-bottom:12px}
.ve-subcats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.ve-subcat{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:20px;background:#fff;border:1px solid var(--ve-border);box-shadow:var(--ve-shadow);transition:.18s ease;color:var(--ve-text)}
.ve-subcat:hover{transform:translateY(-2px);border-color:#b9d7f2;box-shadow:0 16px 28px rgba(18,33,55,.08)}
.ve-subcat__icon{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:var(--ve-primary-soft);font-size:22px;flex:0 0 44px}
.ve-subcat__name{font-weight:700;line-height:1.25}

.ve-filters--premium{padding:18px;background:#fff;border:1px solid var(--ve-border);border-radius:28px;box-shadow:var(--ve-shadow);margin-bottom:18px}
.ve-filters-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:28px;align-items:start}
.ve-filters-main__title,.ve-dynamic-filters__title{font-size:18px;font-weight:800;line-height:1.2;margin:0 0 14px}
.ve-filter-grid{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(360px,1.1fr);gap:20px;align-items:start}
.ve-filter-box{display:flex;flex-direction:column;gap:8px;min-width:0}
.ve-filter-box label,.ve-dynamic-filters__grid h6,.ve-dynamic-filters__grid label,.ve-dynamic-filters__grid .control-label{margin:0 !important;font-size:14px !important;font-weight:800 !important;color:#334455 !important;line-height:1.3 !important;display:block !important}
.ve-filter-box input,.ve-filter-box select,.ve-dynamic-filters__grid input[type="text"],.ve-dynamic-filters__grid input[type="number"],.ve-dynamic-filters__grid select,.ve-dynamic-filters__grid textarea{width:100% !important;min-height:52px !important;padding:14px 16px !important;border-radius:16px !important;border:1px solid #d8e3ee !important;background:#fff !important;box-sizing:border-box !important;box-shadow:none !important;float:none !important;margin:0 !important}
.ve-filter-box input:focus,.ve-filter-box select:focus,.ve-dynamic-filters__grid input:focus,.ve-dynamic-filters__grid select:focus,.ve-dynamic-filters__grid textarea:focus{border-color:#8dc3f0 !important;box-shadow:0 0 0 4px rgba(52,143,222,.08) !important;outline:none}
.ve-filter-help{font-size:12px;color:var(--ve-muted);line-height:1.45}
.ve-filter-box--city{padding:16px;border:1px solid #e8eef5;border-radius:20px;background:#fbfdff}
.ve-filter-box--price{padding:16px;border:1px solid #e8eef5;border-radius:20px;background:#fbfdff}

.ve-price-slider{display:grid;gap:12px}
.ve-price-values{display:flex;justify-content:space-between;font-weight:800;color:#334455;font-size:14px}
.ve-price-ranges{display:grid;gap:10px}
.ve-price-ranges input[type="range"]{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:999px;background:#d8e3ee;outline:none;padding:0;margin:0}
.ve-price-ranges input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--ve-primary);cursor:pointer;border:0;box-shadow:0 4px 10px rgba(52,143,222,.25)}
.ve-price-ranges input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--ve-primary);cursor:pointer;border:0}
.ve-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}

.ve-radius-box{display:none;margin-top:16px;padding:16px;border:1px solid #e8eef5;border-radius:20px;background:#fbfdff}
.ve-radius-box.is-active{display:block}
.ve-radius-title{font-size:15px;font-weight:800;margin-bottom:10px}
.ve-radius-selected{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ve-radius-selected__city,.ve-radius-selected__km{display:inline-flex;min-height:36px;align-items:center;padding:0 12px;border-radius:999px;font-weight:700}
.ve-radius-selected__city{background:#fff;border:1px solid #d8e3ee;color:#334455}
.ve-radius-selected__km{background:var(--ve-primary-soft);border:1px solid #b9d7f2;color:var(--ve-primary-dark)}
.ve-radius-options{display:flex;flex-wrap:wrap;gap:10px}
.ve-radius-chip{position:relative;cursor:pointer}
.ve-radius-chip input{position:absolute;opacity:0;pointer-events:none}
.ve-radius-chip span{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;border:1px solid #d8e3ee;background:#fff;color:#334455;font-weight:700;transition:.18s ease}
.ve-radius-chip.is-selected span,.ve-radius-chip input:checked + span{background:var(--ve-primary-soft);border-color:#9fcbef;color:var(--ve-primary-dark)}

.ve-dynamic-filters{min-width:0;padding-left:24px;border-left:1px solid #e8eef5}
.ve-dynamic-filters__grid{display:grid;gap:12px}
.ve-dynamic-filters__grid fieldset,.ve-dynamic-filters__grid .row{margin:0 !important;padding:0 !important;border:0 !important}
.ve-dynamic-filters__grid fieldset{display:grid;grid-template-columns:1fr;gap:12px}
.ve-dynamic-filters__grid .row{display:flex;flex-direction:column;gap:8px}
.ve-dynamic-filters__grid textarea{min-height:120px !important}
.ve-dynamic-filters__grid input[type="checkbox"],.ve-dynamic-filters__grid input[type="radio"]{width:auto !important;min-height:auto !important;margin-right:8px !important}
.ve-dynamic-filters__grid .checkbox,.ve-dynamic-filters__grid .radio{display:flex;align-items:center;gap:8px}

.ve-results-meta{color:var(--ve-muted);margin:10px 0 18px;font-size:16px}

@media (max-width:1100px){
  .ve-subcats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ve-filters-layout{grid-template-columns:1fr}
  .ve-dynamic-filters{padding-left:0;border-left:0;border-top:1px solid #e8eef5;padding-top:16px}
}
@media (max-width:860px){
  .ve-search-head--premium h1{font-size:42px}
  .ve-filter-grid,.ve-subcats{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ve-search-head--premium h1{font-size:34px}
  .ve-subcats,.ve-price-inputs{grid-template-columns:1fr}
}
