// Image gallery / carousel
.gallery {
  position: relative;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.45);

  &-track {
    position: relative;
    width: 100%;
    height: 460px;

    @media (max-width: $m-break) { height: 360px; }
    @media (max-width: $xs-break) { height: 260px; }
  }

  &-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 0.6s ease;

    &.is-active { opacity: 1; }
  }

  &-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    border: none;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
    color: $black;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: background 0.2s, transform 0.15s;

    &:hover { background: $white; }
    &:active { transform: translateY(-50%) scale(0.92); }

    svg { width: 22px; height: 22px; }

    &.prev { left: 14px; }
    &.next { right: 14px; }
  }

  &-dots {
    position: absolute;
    bottom: 14px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    z-index: 3;
  }

  &-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    border: none;
    padding: 0;
    background: rgba(255, 255, 255, 0.55);
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;

    &.is-active { background: $gold; transform: scale(1.25); }
  }
}
