.container {
  background-color: #000;
  background-image: url(/assets/img/products.png);
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-position: center top;
}

.products {
  padding: 16vw 0 9.2vw;
}

.products > .title {
  margin: 0;
  font-size: var(--font-50);
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.products > .subtitle {
  margin-top: 2.4vw;
  font-size: var(--font-25);
  color: #fff;
  text-align: center;
}

.filter {
  margin-top: 6vw;
  padding: 0 7.2vw;
}

.filter .filter-item:nth-child(n + 2) {
  margin-top: 4vw;
}

.filter .filter-search {
  height: 6.6667vw;
  padding: 0 2vw;
  display: flex;
  align-items: center;
  border: 1px solid #fff;
  border-radius: 3.2vw;
  overflow: hidden;
}

.filter .filter-search .icon-search {
  width: 4vw;
  height: 4vw;
}

.filter .filter-search .inp-search {
  width: 100%;
  padding: 0 4vw;
  background-color: transparent;
  border: none;
  outline: none;
  font-size: var(--font-25);
  color: #fff;
}

.filter .filter-category {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25vw;
}

.filter .filter-category li {
  width: fit-content;
  height: 5.8vw;
  padding: 0 2vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  background-color: #2b2b2b;
  font-size: var(--font-16);
  color: #fff;
  cursor: pointer;
}

.filter .filter-category li.active {
  background-color: #fff;
  color: #000;
  font-weight: bold;
}

.result {
  margin-top: 5.6vw;
}

.result .list {
  padding: 0 7.2vw;
  display: flex;
  flex-wrap: wrap;
  gap: 4vw 0;
}

.result .list .item {
  width: 49%;
  position: relative;
  margin-right: 2%;
}

.result .list .item:nth-child(2n){
  margin-right: 0;
}

.result .list .item.visible {
  display: block;
  animation: fadeIn 0.5s ease forwards;
}

.result .list .item .img img {
  width: 100%;
  aspect-ratio: 450 / 400;
}

.result .list .item .preview {
  width: 4.8vw;
  aspect-ratio: 48 / 48;
  position: absolute;
  top: 4.8vw;
  right: 4vw;
  cursor: pointer;
  z-index: 1;
}

.result .list .item .name {
  padding: 1.6vw 0;
  font-size: var(--font-25);
  font-weight: bold;
  color: #fff;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.result .list .item .model {
  font-size: var(--font-17);
  color: #fff;
  text-align: center;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.result .more {
  margin-top: 8vw;
  display: flex;
  justify-content: center;
}

.result .more .btn-more {
  width: 26.5333vw;
  height: 4.8vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 2.2667vw;
  font-size: var(--font-25);
  font-weight: bold;
  background-color: #fff;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.product-detail .swiper {
  aspect-ratio: 750 / 750;
  --swiper-pagination-color: #fff;
  --swiper-pagination-bullet-inactive-color: #999999;
  --swiper-pagination-bullet-inactive-opacity: 1;
}

.product-detail .swiper img {
  width: 100%;
  height: 100%;
}

.product-detail .baseinfo {
  padding: 11.6vw 6vw;
  background-color: #fff;
}

.product-detail .baseinfo .name {
  font-size: var(--font-60);
  font-weight: bold;
}

.product-detail .baseinfo .model {
  margin-top: 3.2vw;
  font-size: var(--font-45);
  font-weight: bold;
}

.product-detail .baseinfo .cells {
  margin-top: 10vw;
}

.product-detail .baseinfo .cells .cell:nth-child(n + 2) {
  margin-top: 6vw;
}

.product-detail .baseinfo .cells .cell .label {
  font-size: var(--font-30);
  font-weight: bold;
}

.product-detail .baseinfo .cells .cell .value {
  margin-top: 1.2vw;
  font-size: var(--font-20);
  line-height: normal;
}

.product-detail .props {
  padding: 7.4667vw 6vw;
  background-color: #efefef;
}

.product-detail .props .prop {
  height: 6.8vw;
  padding: 0 3.2vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: var(--font-19);
}

.product-detail .props .prop:nth-child(2n + 1) {
  background-color: #fff;
}

.product-detail .props .prop .value {
  text-align: right;
}
