.logo-banner {
  position: relative;
  width: 96vw;
  display: block;
  align-items: center;
  gap: 12px;
  margin: 0 auto;
  position: relative;

}

.logo-banner__viewport {
  overflow: hidden;
  flex: 1;
  width: calc(100% - 120px);
  margin: 0 auto;

}

.logo-banner__list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: translateX(0);
  transition: transform 0.35s ease;
  font-size: 0;
}

/* Item */
.logo-banner__list>li {
  flex-shrink: 0;
  width: 130px;
  margin: 0 15px;
}

/* Bulle */
.logo-banner__bubble {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background: #fff;
  box-shadow: 2px 2px 3px rgba(0, 0, 0, .35);
  position: relative;
  overflow: hidden;
  font-size: 16px;
}

.logo-banner__bubble img {
  position: absolute;
  inset: 50%;
  transform: translate(-50%, -50%);
  max-width: 75%;
  max-height: 75%;
}

/* Flèches */
button.logo-banner__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  border: 0;
  font-size: 32px;
  cursor: pointer;
  line-height: 1;
  user-select: none;
  z-index: 10;
  padding: 0 0;
  width: 45px;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-banner__nav:disabled {
  opacity: .3;
  cursor: default;
}


button.logo-banner__nav--prev {
  left: 0;
}

button.logo-banner__nav--next {
  right: 0;
}