.glow-community {
  padding-top: var(--glow-community-padding-top);
  padding-bottom: var(--glow-community-padding-bottom);
  overflow: hidden;
  background: rgb(var(--color-background));
}

.glow-community__header {
  padding-inline: min(3rem, 5%);
  margin-bottom: 38px;
  text-align: center;
}

.glow-community__eyebrow {
  margin: 0;
  font-size: var(--glow-global-label-size);
  font-weight: 700;
  letter-spacing: var(--glow-label-tracking);
  color: rgb(var(--color-light-text));
}

.glow-community__heading {
  margin: 0;
  font-family: var(--sort-title-font);
  font-size: var(--glow-community-heading-size);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.glow-community__social {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  margin-top: 15px;
  padding-bottom: 3px;
  font-size: var(--glow-global-link-size);
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgb(var(--color-text));
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
}

.glow-community__rail {
  display: grid;
  grid-template-columns: repeat(var(--glow-community-columns), minmax(0, 1fr));
  gap: var(--glow-community-gap);
  padding-inline: min(3rem, 5%);
}

.glow-community-card {
  position: relative;
  display: block;
  aspect-ratio: var(--glow-community-ratio);
  min-width: 0;
  overflow: hidden;
  background: rgb(var(--color-media-background));
  border-radius: var(--glow-community-radius);
}

.glow-community-card::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(0deg, rgb(20 18 16 / 58%), transparent 42%);
  opacity: 0;
  transition: opacity var(--glow-transition);
}

.glow-community-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.glow-community-card__placeholder {
  color: #c3b297;
  background: linear-gradient(145deg, #d2c0a4, #6d745f);
}

.glow-community-card__caption {
  position: absolute;
  right: 16px;
  bottom: 14px;
  left: 16px;
  z-index: 1;
  font-size: var(--glow-community-caption-size);
  font-weight: 700;
  letter-spacing: 0.09em;
  color: #fff8ec;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity var(--glow-transition),
    transform var(--glow-transition);
}

.glow-community-card:hover::after,
.glow-community-card:hover .glow-community-card__caption {
  opacity: 1;
}

.glow-community-card:hover .glow-community-card__caption {
  transform: translateY(0);
}

.glow-community-card:hover .glow-community-card__image {
  transform: scale(1.045);
}

@media (max-width: 991px) {
  .glow-community {
    padding-top: min(var(--glow-community-padding-top), 70px);
    padding-bottom: min(var(--glow-community-padding-bottom), 70px);
  }

  .glow-community__header {
    padding-inline: 20px;
    margin-bottom: 26px;
  }

  .glow-community__heading {
    font-size: var(--glow-community-heading-size-mobile);
  }

  .glow-community__social {
    margin-top: 17px;
  }

  .glow-community[data-mobile-layout="slider"] .glow-community__rail {
    grid-auto-columns: var(--glow-community-mobile-width);
    grid-auto-flow: column;
    grid-template-columns: none;
    gap: 10px;
    padding: 0 20px 15px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-color: currentColor transparent;
    scrollbar-width: thin;
  }

  .glow-community[data-mobile-layout="slider"] .glow-community__rail::-webkit-scrollbar {
    height: 6px;
  }

  .glow-community[data-mobile-layout="slider"] .glow-community__rail::-webkit-scrollbar-thumb {
    background: currentColor;
  }

  .glow-community[data-mobile-layout="grid"] .glow-community__rail {
    grid-template-columns: repeat(var(--glow-community-mobile-columns), minmax(0, 1fr));
    gap: var(--glow-community-gap);
    padding-inline: 20px;
  }

  .glow-community-card {
    scroll-snap-align: center;
  }

  .glow-community-card::after,
  .glow-community-card__caption {
    opacity: 1;
  }

  .glow-community-card__caption {
    transform: none;
  }
}
