/* Shared main carousel: property + guide */

.sn-detail-main-carousel {
  position: relative;
  background: transparent !important;
}

.sn-detail-main-carousel > .carousel-wrap {
  overflow: hidden !important;
  isolation: isolate;
}

/* <= 767 */
@media (max-width: 767px) {
  .sn-detail-main-carousel > .carousel-wrap {
    aspect-ratio: 750 / 563 !important;
  }

  .sn-detail-main-carousel .carousel-slide {
    width: 100% !important;
    flex-basis: 100% !important;
  }
}

/* 768–1023 */
@media (min-width: 768px) and (max-width: 1023px) {
  .sn-detail-main-carousel > .carousel-wrap {
    aspect-ratio: 1500 / 563 !important;
  }

  .sn-detail-main-carousel .carousel-slide {
    width: 50% !important;
    flex-basis: 50% !important;
  }
}

/* 1024–1365 */
@media (min-width: 1024px) and (max-width: 1365px) {
  .sn-detail-main-carousel > .carousel-wrap {
    aspect-ratio: 1500 / 563 !important;
  }

  .sn-detail-main-carousel .carousel-slide {
    width: 50% !important;
    flex-basis: 50% !important;
  }
}

/* 1366–1599 */
@media (min-width: 1366px) and (max-width: 1599px) {
  .sn-detail-main-carousel > .carousel-wrap {
    aspect-ratio: 2250 / 563 !important;
  }

  .sn-detail-main-carousel .carousel-slide {
    width: 33.333333% !important;
    flex-basis: 33.333333% !important;
  }
}

/* >= 1600 */
@media (min-width: 1600px) {
  .sn-detail-main-carousel > .carousel-wrap {
    aspect-ratio: 2250 / 563 !important;
  }

  .sn-detail-main-carousel .carousel-slide {
    width: 33.333333% !important;
    flex-basis: 33.333333% !important;
  }
}

/* Shared main carousel control sizing: property + guide */

@media (max-width: 767px) {
  .sn-detail-main-carousel .carousel-btn {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    min-height: 32px !important;
  }

  .sn-detail-main-carousel .carousel-btn::before {
    width: 8px;
    height: 8px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .sn-detail-main-carousel .carousel-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    min-height: 36px !important;
  }

  .sn-detail-main-carousel .carousel-btn::before {
    width: 9px;
    height: 9px;
  }
}

@media (min-width: 1024px) and (max-width: 1365px) {
  .sn-detail-main-carousel .carousel-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .sn-detail-main-carousel .carousel-btn::before {
    width: 10px;
    height: 10px;
  }
}

@media (min-width: 1366px) and (max-width: 1599px) {
  .sn-detail-main-carousel .carousel-btn {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    min-height: 40px !important;
  }

  .sn-detail-main-carousel .carousel-btn::before {
    width: 10px;
    height: 10px;
  }
}

@media (min-width: 1600px) {
  .sn-detail-main-carousel .carousel-btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
  }

  .sn-detail-main-carousel .carousel-btn::before {
    width: 11px;
    height: 11px;
  }
}
