.replacement-languages {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem 1rem;
  padding: 1rem;
  font: 14px Arial, sans-serif;
  color: #353535;
  background: #fff;
}
.replacement-languages a { color: inherit; text-decoration: underline; }
.replacement-languages a[aria-current] { font-weight: bold; }
.replacement-menu, .replacement-gallery {
  padding: 1.25rem;
  border: 0;
  background: #fff;
  color: #252525;
}
.replacement-menu::backdrop, .replacement-gallery::backdrop { background: rgb(0 0 0 / 65%); }
.replacement-menu { width: min(75vw, 22rem); }
.replacement-menu a {
  display: block;
  padding: .7rem;
  color: inherit;
  font: 18px Arial, sans-serif;
}
.replacement-menu button, .replacement-gallery button {
  display: block;
  margin-left: auto;
  padding: .2rem .65rem;
  border: 1px solid #777;
  background: #fff;
  color: #222;
  cursor: pointer;
  font-size: 1.5rem;
}
.replacement-gallery img {
  display: block;
  max-width: 85vw;
  max-height: 75vh;
  object-fit: contain;
}

li[data-index="__more__"] { display: none; }
.replacement-carousel { width: 100%; padding-top: 1px; }
.replacement-carousel-stage {
  display: grid;
  grid-template-columns: 4rem 1fr 4rem;
  align-items: center;
  height: min(297px, 70vw);
}
.replacement-carousel button {
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
}
.replacement-carousel-stage button:not(.replacement-carousel-arrow) {
  display: grid;
  place-items: center;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}
.replacement-carousel-stage img {
  display: block;
  max-width: 100%;
  height: min(295px, 70vw);
  object-fit: contain;
}
.replacement-carousel .replacement-carousel-arrow {
  font: 54px/1 Arial, sans-serif;
  color: white;
  text-shadow: 0 1px 4px #735f3a;
}
.replacement-carousel-arrow:disabled { visibility: hidden; }
.replacement-carousel-strip {
  position: relative;
  display: flex;
  gap: 9px;
  overflow: auto;
  scrollbar-width: none;
  margin-top: 9px;
}
.replacement-carousel-strip button { flex: 0 0 min(120px, 26vw); }
.replacement-carousel-strip img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.replacement-carousel-strip button[aria-current] { opacity: .55; }
@media (max-width: 600px) {
  .replacement-carousel-stage { grid-template-columns: 2rem 1fr 2rem; }
}


.replacement-language-picker {
  box-sizing: border-box;
  width: 123px;
  height: 42px;
  border: 0;
  border-radius: 10px;
  padding: 0 12px;
  color: white;
  background: #008ff2;
  font: 16px Arial, sans-serif;
  cursor: pointer;
}
.replacement-language-anchor { position: relative; }
.replacement-language-anchor .replacement-language-picker {
  position: absolute;
  top: 0;
  right: calc(100% + 18px);
  z-index: 2;
}
