.dhe-card-carousel.dhe-card-carousel {
  --dhe-card-gap: var(--theme-content-spacing, 2rem);
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - 2 * var(--dhe-card-gap)) / 3);
  gap: var(--dhe-card-gap);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  align-items: stretch;
  padding-bottom: .5rem;
}
.dhe-card-carousel > * { min-width: 0; scroll-snap-align: start; }
.dhe-card-carousel > li { display: flex; }
.dhe-card-carousel > li > .wp-block-group { width: 100%; min-width: 0; }
.dhe-card-carousel-controls { display: flex; gap: .75rem; justify-content: flex-end; margin-top: .75rem; }
.dhe-card-carousel-controls[hidden] { display: none; }
.dhe-card-carousel-controls button { min-width: 44px; min-height: 44px; }
.dhe-card-carousel-controls button:disabled { opacity: .4; cursor: default; }
.dhe-card-carousel:focus-visible { outline: 2px solid var(--theme-palette-color-2, currentColor); outline-offset: 3px; }
@media (max-width: 689px) {
  .dhe-card-carousel.dhe-card-carousel { grid-auto-columns: 86%; --dhe-card-gap: 1rem; }
  .dhe-card-carousel.dhe-card-carousel > :only-child { width: 100%; }
  .dhe-card-carousel.dhe-card-carousel:has(> :only-child) { grid-auto-columns: 100%; }
}
