.main {
  align-items: center;
  display: flex;
  flex-direction: column;
}

.carousel {
  width: 100%;
  aspect-ratio: 1/1;
}

.no-gallery {
  width: 100%;
  aspect-ratio: 1/1;
}

.flikity-wiewport,
.flickity-slider {
  width: 100%;
  height: 100%;
}

.carousel-image {
  width: 100%;
  height: 100%;
}
.carousel-image img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.product-item {
  max-width: 700px;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width: 720px) {
  .product-item {
    grid-template-columns: 1fr 1fr;
  }
}

.product-text {
  width: 100%;
  overflow: auto;
  scrollbar-width: none;
  scrollbar-color: #ddd transparent;
  scrollbar-width: thin;
}
.product-text::-webkit-scrollbar {
  width: 6px;
  background-color: #ddd;
  border-radius: 10px;
}
.product-text::-webkit-scrollbar-thumb {
  background: transparent;
}
@media screen and (min-width: 720px) {
  .product-text {
    aspect-ratio: 1/1;
  }
}

.nextprev {
  display: flex;
  gap: 20px;
  margin-top: 20px;
}
.nextprev a {
  flex: 1;
  display: flex;
  gap: 15px;
  color: #bbb;
  transition: all 0.3s ease;
}
.nextprev a img {
  filter: grayscale(100%);
}
.nextprev a:hover {
  color: #78bde8;
}
.nextprev a:hover img {
  filter: grayscale(0);
}
.nextprev a span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.nextprev a:first-child {
  justify-content: flex-end;
  align-items: center;
}
@media screen and (min-width: 720px) {
  .nextprev {
    grid-column: span 2;
  }
}
