.product-main {
  display: flex;
  gap: 10px;
  min-height: 560px;
  @media (width < 1024px) {
    flex-direction: column;
    min-height: unset;
  }
}

.product-gallery {
  flex: auto;
  min-width: 0;
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(39px);
  border-radius: 12px;
  overflow: hidden;
  will-change: transform;
  position: relative;
  @media (width < 1024px) {
    aspect-ratio: 16/9;
    min-height: 320px;
  }
}

.product-gallery-slider {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  &:not(.slick-initialized) {
    visibility: hidden;
  }
  .slick-arrow {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    margin-top: -22px;
    transform: none;
    background: #6ef3cd
      url("data:image/svg+xml,%3Csvg width='10' height='20' viewBox='0 0 10 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.99635 9.91635C9.97807 9.71106 9.89346 9.51674 9.7547 9.36135L1.77237 0.359533C1.68794 0.258178 1.58346 0.174434 1.46515 0.113285C1.34684 0.0521365 1.21712 0.0148398 1.08372 0.00360753C0.95032 -0.00762474 0.815968 0.00743547 0.688663 0.0479033C0.561359 0.088371 0.443706 0.153407 0.342713 0.239149C0.241719 0.32489 0.159451 0.429577 0.100806 0.546976C0.0421617 0.664376 0.00834072 0.792089 0.00135797 0.922503C-0.00562477 1.05292 0.0143731 1.18337 0.060161 1.30609C0.105949 1.42881 0.17659 1.54128 0.267878 1.63682L7.68117 9.99999L0.267878 18.3632C0.17659 18.4587 0.105949 18.5712 0.060161 18.6939C0.0143731 18.8166 -0.00562477 18.9471 0.00135797 19.0775C0.00834072 19.2079 0.0421617 19.3356 0.100806 19.453C0.159451 19.5704 0.241719 19.6751 0.342713 19.7608C0.443706 19.8466 0.561359 19.9116 0.688663 19.9521C0.815968 19.9926 0.95032 20.0076 1.08372 19.9964C1.21712 19.9852 1.34684 19.9479 1.46515 19.8867C1.58346 19.8256 1.68794 19.7418 1.77237 19.6405L9.7547 10.6386C9.84258 10.5402 9.90926 10.4255 9.95077 10.3015C9.99229 10.1774 10.0078 10.0464 9.99635 9.91635Z' fill='%2309090B'/%3E%3C/svg%3E%0A")
      center center / 10px 20px no-repeat;
    &:before {
      display: none;
    }
  }
  .slick-prev {
    left: 40px;
    transform: rotateY(180deg);
    @media (width < 768px) {
      left: 16px;
    }
  }
  .slick-next {
    right: 40px;
    @media (width < 768px) {
      right: 16px;
    }
  }
  .slick-list {
    margin: 0;
    flex: auto;
    display: flex;
    flex-direction: column;
  }
  .slick-track {
    display: flex;
    height: 100%;
  }
  .slick-slide {
    padding: 0;
  }
}

.product-gallery-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
  float: none;
  img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
  }
  iframe {
    max-height: 100%;
    aspect-ratio: 16/9;
    max-width: 100%;
  }
}

.product-form {
  flex: none;
  width: max(472px, 33.3%);
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(39px);
  border-radius: 12px;
  overflow: hidden;
  will-change: transform;
  padding: 24px 40px;
  display: flex;
  flex-direction: column;
  gap: 40px;
  @media (width < 1440px) {
    padding: 24px;
    gap: 16px;
  }
  @media (width < 1024px) {
    width: auto;
    padding: 24px 16px;
  }
}

.product-title {
  text-align: center;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
  @media (width < 1440px) {
    font-size: 32px;
  }
  @media (width < 1024px) {
    font-size: 24px;
  }
}

.product-form-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  @media (width < 768px) {
    flex-direction: column;
  }
}

.product-price {
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}

.product-btns {
  display: flex;
  align-items: center;
  gap: 32px;
  @media (width < 1024px) {
    gap: 16px;
  }
  .btn {
    min-width: 192px;
  }
}

.product-info {
  padding-top: 28px;
  border-top: solid 1px rgba(255, 255, 255, 0.1);
  display: flex;
  flex-direction: column;
  gap: 28px;
  @media (width < 1024px) {
    margin-top: 8px;
    padding-top: 24px;
    gap: 16px;
  }
}

.product-info-title {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.03em;
  @media (width < 1440px) {
    font-size: 20px;
  }
  @media (width < 1024px) {
    font-size: 18px;
  }
}

table.product-info-table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 16px;
  align-self: flex-start;
  width: auto;
  td {
    padding: 0 80px 20px 0;
    border: 0;
    height: auto;
    font-size: inherit;
    @media (width < 1440px) {
      padding-right: 40px;
    }
    @media (width < 1024px) {
      padding: 0 24px 8px 0;
    }
    &:first-child {
      font-weight: 700;
    }
    &:last-child {
      padding-right: 0;
      padding-top: 0;
      padding-bottom: 20px;
      text-align: left;
      @media (width < 1024px) {
        padding-bottom: 8px;
      }
    }
  }
  tr {
    &:last-child {
      td {
        padding-bottom: 0 !important;
      }
    }
  }
}

.product-desc {
  display: flex;
  flex-direction: column;
  padding: 24px 40px;
  background-color: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(39px);
  border-radius: 12px;
  overflow: hidden;
  will-change: transform;
  margin-top: 40px;
  @media (width < 1024px) {
    padding: 24px 16px;
    margin-top: 24px;
  }
}

.product-desc-title {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: solid 1px rgba(255, 255, 255, 0.1);
  text-align: left;
  display: flex;
  span {
    padding-bottom: 24px;
    margin-bottom: -25px;
    border-bottom: solid 1px #6ef3cd;
  }
}

.product-desc-body {
  display: grid;
  grid-template-columns: 2.05fr 1fr;
  gap: 24px;
  @media (width < 768px) {
    grid-template-columns: 1fr;
  }
}

.product-desc-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.product-desc-section-title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.product-desc-content {
  font-size: 16px;
  letter-spacing: -0.03em;
  line-height: 2.125;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.product-system-requirements-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
  letter-spacing: -0.03em;
  line-height: 1.75;
  font-size: 16px;
}

.product-system-requirements-title {
  font-weight: 700;
}
