.container {
  background-color: #000;
  background-image: url(/assets/img/cases.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
}

.cases {
  padding: 9.1146vw 0 9.8958vw;
}

.cases .title {
  margin: 0;
  font-size: var(--font-72);
  font-weight: bold;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
}

.cases .subtitle {
  margin-top: 1.25vw;
  font-size: var(--font-36);
  color: #fff;
  text-align: center;
}

.filter {
  margin-top: min(3.125vw, 60px);
}

.filter .filter-item:nth-child(n + 2) {
  margin-top: 2.3438vw;
}

.filter .filter-search {
  height: 70px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 40px;
  overflow: hidden;
}

.filter .filter-search .icon-search {
  width: 40px;
  height: 40px;
}

.filter .filter-search .inp-search {
  width: 100%;
  padding: 0 30px;
  background-color: transparent;
  border: none;
  outline: none;
  font-size: var(--font-36);
  color: #fff;
}

.filter .filter-category {
  display: flex;
  justify-content: center;
  gap: 1.25vw;
}

.filter .filter-category li {
  width: fit-content;
  height: 40px;
  padding: 0 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  background-color: #2b2b2b;
  font-size: var(--font-16);
  color: #fff;
  cursor: pointer;
  text-transform: uppercase;
}

.filter .filter-category li.active {
  background-color: #fff;
  color: #000;
  font-weight: bold;
}

.result {
  margin-top: min(4.1667vw, 80px);
}

.result .list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.8646vw 2%;
}

.result .list .item {
  width: 32%;
  position: relative;
  display: none;
}

.result .list .item .img {
  overflow: hidden;
  cursor: pointer;
}

.result .list .item:hover .img img {
  transform: scale(1.2);
}

.result .list .item.visible {
  display: block;
  animation: fadeIn 0.5s ease forwards;
}

.result .list .item .img img {
  width: 100%;
  aspect-ratio: 450 / 400;
  transition: all 0.3s;
}

.result .list .item .preview {
  width: 2.5vw;
  aspect-ratio: 48 / 48;
  position: absolute;
  top: 2.6042vw;
  right: 2.1875vw;
  cursor: pointer;
  z-index: 1;
}

.result .list .item .name {
  padding: 15px 0;
  font-size: var(--font-36);
  font-weight: bold;
  color: #fff;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.result .list .item .model {
  font-size: var(--font-24);
  color: #fff;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.result .more {
  margin-top: 6.7708vw;
  display: flex;
  justify-content: center;
}

.result .more .btn-more {
  width: 80px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  font-size: var(--font-16);
  font-weight: bold;
  background-color: #fff;
  text-transform: uppercase;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}