/* Horizontal slide viewer for in-article carousels (007+). Additive. */
.cviewer { position: relative; margin: 8px 0 24px; }
.cviewer__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  border-radius: 14px;
}
.cviewer__track::-webkit-scrollbar { display: none; }
.cviewer__track img {
  flex: 0 0 100%;
  width: 100%;
  aspect-ratio: 1 / 1;
  scroll-snap-align: start;
  scroll-snap-stop: always;
  display: block;
}
.cviewer__btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 0;
  cursor: pointer;
  background: rgba(64, 31, 76, 0.85);
  color: #2dffd9;
  display: grid;
  place-items: center;
  transition: opacity .2s ease, background .2s ease;
}
.cviewer__btn:hover { background: #401f4c; }
.cviewer__btn svg { width: 20px; height: 20px; }
.cviewer__btn--prev { left: 12px; }
.cviewer__btn--next { right: 12px; }
.cviewer__btn[disabled] { opacity: 0.25; cursor: default; }
.cviewer__count {
  margin-top: 12px;
  text-align: center;
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.08em;
  color: rgba(64, 31, 76, 0.6);
}
