/* Grid Layout */
.bde-loop {
  --bde-posts-per-row: 1;
  --bde-posts-gap: 20px;
  display: grid;
  grid-template-columns: repeat(var(--bde-posts-per-row), minmax(0, 1fr));
  gap: var(--bde-posts-gap);
  grid-auto-rows: auto;
}

.bde-loop-item {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 20px;
}

/* List Layout */
.bde-loop-list {
  --bde-posts-per-row: 1;
}

/* Slider Layout */
.bde-loop-slider {
  --bde-posts-gap: 0px;
  display: flex;
  flex-wrap: nowrap !important;
}

/* Accordion Layout */
.bde-loop-accordion .bde-loop-item {
  width: 100%;
}

/* Isotope Layout */
.bde-loop-isotope {
  --bde-posts-isotope-width: calc(100% / var(--bde-posts-per-row));
  --bde-posts-isotope-width-diff: calc(
          var(--bde-posts-gap) - (var(--bde-posts-gap) / var(--bde-posts-per-row))
  );
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.bde-loop-isotope > .bde-loop-item,
.bde-loop-isotope .bde-loop-item-sizer {
  width: calc(var(--bde-posts-isotope-width) - var(--bde-posts-isotope-width-diff));
  margin-bottom: var(--bde-posts-gap);
}

.bde-loop-isotope .bde-loop-item-gutter {
  width: var(--bde-posts-gap);
}

/* Pass through html elements from global block */
.bde-loop-item .breakdance {
  display: contents;
}

/* Force cell to be full-width */
.bde-loop-list .bde-loop-item-sizer {
  width: 100%;
}

.breakdance .bde-post-list .bde-loop-list .bde-loop-item-sizer,
.breakdance .bde-post-list .bde-loop-isotope .bde-loop-item-gutter {
  pointer-events: none;
}

/*
 * Pagination
 */

.bde-posts-pagination-infinite-loader-wrapper {
  text-align: center;
}

.bde-posts-pagination-infinite-loader-wrapper {
  margin-top: 32px;
  font-size: 32px;
}

.bde-posts-pagination {
  font-size: 16px;
  gap: 20px;
  margin-top: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.bde-posts-pagination ul {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 0;
  justify-content: inherit;
}

.bde-posts-pagination a,
.bde-posts-pagination a:hover {
  color: inherit;
  text-decoration: none;
}

.bde-posts-pagination ul li a.is-active {
  color: var(--bde-brand-primary-color);
}

.bde-posts-navigation-numbers-prev-next {
  flex-direction: column;
}

.bde-posts-pagination .breakdance-form-loader {
  animation: posts-list-loading-spinner 1.5s linear infinite;
}

@keyframes posts-list-loading-spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}
