/* ===== Базовое ===== */
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#222;background:#fff}

/* ===== Обёртки ===== */
.catalog-page{padding:40px 0}
.container{width:95%;max-width:1260px;margin:0 auto}
.catalog-wrapper{display:flex;gap:30px}

/* ===== Сайдбар-фильтр ===== */
.filter-sidebar{
  flex:0 0 260px;
  background:#f9f9f9;
  border:1px solid #e1e1e1;
  border-radius:8px;
  padding:25px 20px 30px;
  box-shadow:0 2px 6px rgba(0,0,0,.04);
  height:max-content;
  position:sticky; top:50px;  /* остаётся видим при прокрутке */
}
.filter-sidebar h3{
  margin:0 0 20px;
  font-size:20px;
  font-weight:700;
}
/* ===== Пагинация ===== */
.pagination{
    display:flex;
    gap:6px;
    margin:25px 0;
    flex-wrap:wrap;
  }
  .page-link{
    padding:6px 12px;
    border:1px solid #ccc;
    border-radius:4px;
    text-decoration:none;
    color:#333;
    font-size:14px;    line-height: 43px;
  }
  .page-link:hover{background: #f2f2f2;
    text-decoration: unset;
    color: #2a6496;}
  .page-link.active{
    background:#0d6efd;
    border-color:#0d6efd;
    color:#fff;
    cursor:default;
  }
.sort-bar{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:20px;
    font-size:15px;
  }
  .sort-bar select{
    padding:6px 10px;
    border:1px solid #ccc;
    border-radius:4px;
  }
.filter-sidebar .lbl{
  display:block;
  margin:15px 0 6px;
  font-weight:600;
}
.filter-sidebar .group{margin-bottom:12px}
.filter-sidebar input[type=text],
.filter-sidebar select{
  width:100%;
  margin-top:6px;
  padding:8px 10px;
  border:1px solid #ccc;
}
.filter-sidebar button{
  width:100%;
  margin-top:20px;
  padding:10px 0;
  border:none;
  border-radius:25px;
  background:#0d6efd;
  color:#fff;font-weight:600;cursor:pointer;
  transition:background .3s;
}
.filter-sidebar button:hover{background:#0b5ed7}

/* ===== Чекбоксы ===== */
.chk{display:flex;align-items:center;margin-bottom:8px;font-size:15px;cursor:pointer}
.chk input{display:none}
.chk .box{
  width:20px;height:20px;border:2px solid #b0b0a8;border-radius:4px;margin-right:8px;
  display:inline-block;position:relative;transition:background .2s;
}
.chk input:checked + .box{background:#0d6efd;border-color:#0d6efd}
.chk input:checked + .box:after{
  content:'';position:absolute;left:6px;top:1px;width:5px;height:10px;border:2px solid #fff;
  border-top:none;border-left:none;transform:rotate(45deg);
}
.chk .count{color:#555;font-size:13px;margin-left:2px}

/* ===== Сетка карточек ===== */
.catalog-content{flex:1}
.window-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:30px}
.window-item > * {
    width: 100%;
}
.window-item{
    display:flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  background:#fff;border:1px solid #e6e6e6;padding:25px 20px 30px;text-align:center;
  box-shadow:0 4px 10px rgba(0,0,0,.05);transition:.25s;
}
.window-item:hover{transform:translateY(-6px);box-shadow:0 8px 18px rgba(0,0,0,.08)}
.window-item h2{font-size:14px;margin:0 0 20px;color:#0074bd;text-decoration:unset;min-height:90px;}
.window-item img{max-width:100%;height:auto;margin-bottom:20px}
.window-item p{margin:6px 0;font-size:16px}
.window-item p:nth-of-type(2){font-size:24px;font-weight:700}
.window-item .btn{
    max-width: 250px;
  display:inline-block;margin-top:15px;padding:10px 40px;border-radius:25px;background:#0d6efd;
  color:#fff;text-decoration:none;font-weight:600;transition:.25s;
}
.window-item .btn:hover{background:#0b5ed7;transform:translateY(-2px)}

/* === Диапазон «от — до» =================================== */
.filter-sidebar .range-row{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:6px;
  }
  
  .filter-sidebar .range-row input{
    flex:1 1 0;
    border:none;
    border-bottom:1px solid #c8c8c8;
    background:transparent;
    padding:6px 4px 4px;
    font-size:15px;
    text-align:center;
    transition:border-color .2s;
  }
  
  .filter-sidebar .range-row input:focus{
    outline:none;
    border-color:#0d6efd;
  }
  
  .filter-sidebar .range-row .dash{
    user-select:none;
    color:#bdbdbd;
    font-size:18px;
    line-height:1;
  }
  
  /* светло-серый плейсхолдер */
  .filter-sidebar .range-row input::placeholder{
    color:#bdbdbd;
    opacity:1;
  }
  
/* ===== Адаптив ===== */
@media(max-width:992px){
  .catalog-wrapper{flex-direction:column}
  .filter-sidebar{position:static;width:100%;max-width:none;flex:none}
}
