/* Functional-only CSS. Visual layout belongs to each project. */
[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__grid"] {
  cursor: grab;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  touch-action: pan-x pan-y pinch-zoom;
  -webkit-overflow-scrolling: touch;
}

[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__grid--dragging"] {
  cursor: grabbing;
  scroll-snap-type: none;
  user-select: none;
}

[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__card"],
[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__card-link"],
[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__card-image"] {
  cursor: grab;
  -webkit-user-drag: none;
}

[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__grid--dragging"],
[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__grid--dragging"] * {
  cursor: grabbing !important;
}

[class*="medbr-posts--layout-carousel"] [class*="medbr-posts__card"] {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

[class*="medbr-posts__card-link"]:focus-visible,
[class*="medbr-posts__pagination-link"]:focus-visible,
[class*="medbr-posts__carousel-toggle"]:focus-visible,
[class*="medbr-posts__carousel-bullet"]:focus-visible,
[class*="medbr-author-box__link"]:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

[class*="medbr-posts__carousel-pagination"] {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-block-start: 1.25rem;
}

[class*="medbr-posts__carousel-bullet"] {
  width: 0.75rem;
  height: 0.75rem;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 999px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  opacity: 0.55;
}

[class*="medbr-posts__carousel-bullet--active"] {
  background: currentColor;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  [class*="medbr-posts--layout-carousel"] [class*="medbr-posts__grid"] {
    scroll-behavior: auto !important;
  }
}
