/**
 * @file
 * Grid.
 */

.grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--grid-gap-y, 1rem) var(--grid-gap-x, 1.5rem);
}

@media (min-width: 768px) {
  .grid {
    grid-template-columns: repeat(var(--grid-md, 1), minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .grid {
    grid-template-columns: repeat(var(--grid-lg, var(--grid-md, 1)), minmax(0, 1fr));
  }
}

@media (min-width: 1200px) {
  .grid {
    grid-template-columns: repeat(var(--grid-xl, var(--grid-lg, var(--grid-md, 1))), minmax(0, 1fr));
  }
}

.grid--centered .grid__item {
  text-align: center;
}

.grid--animated .grid__item {
  opacity: 0;
  animation: grid-fade-in 0.7s linear forwards;
}

@media (prefers-reduced-motion: reduce) {
  .grid--animated .grid__item {
    opacity: 1;
    animation: none;
  }
}

@keyframes grid-fade-in {
  to {
    opacity: 1;
  }
}
