/*
  Desktop Collections thumbnail grid.
  This grid is independent from gallery and future page grids.
*/

:root {
  --collections-cell-width: 382px;
  --collections-image-ratio: 382 / 306;
  --collections-column-gap: 50px;
  --collections-row-gap: 80px;
  --collections-grid-top-gap: 89px;
  --collections-name-top-gap: 23px;
  --collections-line-top-gap: 24px;
  --collections-motion-duration: 0.3s;
}

.collections-grid {
  --collections-column-count: 1;
  position: relative;
  contain: layout;
  display: grid;
  grid-template-columns: repeat(var(--collections-column-count), var(--collections-cell-width));
  column-gap: var(--collections-column-gap);
  row-gap: var(--collections-row-gap);
  justify-content: center;
  margin-top: var(--collections-grid-top-gap);
}

.collections-thumbnail {
  position: relative;
  display: block;
  width: var(--collections-cell-width);
  min-width: 0;
  margin: 0;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.collections-thumbnail:focus-visible {
  outline: 1px solid #c9a875;
  outline-offset: 8px;
}

.collections-thumbnail__media {
  position: relative;
  width: 100%;
  aspect-ratio: var(--collections-image-ratio);
  overflow: hidden;
  background: #1c1c1c;
}

.collections-thumbnail__media::after {
  position: absolute;
  z-index: 2;
  inset: 0;
  border: 1px solid rgba(77, 77, 77, 0.7);
  content: "";
  pointer-events: none;
}

.collections-thumbnail__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transform: scale(1);
  transition:
    opacity var(--collections-motion-duration) ease-out,
    transform var(--collections-motion-duration) cubic-bezier(0.2, 0, 0.2, 1);
}

.collections-thumbnail__image.is-active {
  opacity: 1;
}

.collections-thumbnail:hover .collections-thumbnail__image,
.collections-thumbnail:focus-within .collections-thumbnail__image {
  transform: scale(1.04);
}

.collections-thumbnail__name {
  height: 20px;
  margin: var(--collections-name-top-gap) 0 0;
  overflow: hidden;
  color: #fff;
  font-family: var(--site-font-body);
  font-size: 21px;
  font-style: normal;
  font-weight: 300;
  line-height: 20px;
  letter-spacing: 0;
  text-align: left;
  text-transform: uppercase;
  transition: color var(--collections-motion-duration) ease-out;
}

.collections-thumbnail:hover .collections-thumbnail__name,
.collections-thumbnail:focus-within .collections-thumbnail__name {
  color: #c9a875;
}

.collections-thumbnail__line {
  width: 100%;
  height: 1px;
  margin-top: var(--collections-line-top-gap);
  background: #4e402a;
}

.collections-thumbnail--placeholder .collections-thumbnail__name {
  visibility: hidden;
}

.collections-thumbnail--placeholder .collections-thumbnail__media::after {
  display: none;
}

.collections-thumbnail--placeholder .collections-thumbnail__line {
  background: #242424;
}

/* 2*382 + 50 = 814px content width, plus the existing 122px side gutters. */
@media (min-width: 936px) {
  .collections-grid {
    --collections-column-count: 2;
  }
}

/* 3*382 + 2*50 = 1246px content width, plus the existing 122px side gutters. */
@media (min-width: 1368px) {
  .collections-grid {
    --collections-column-count: 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .collections-thumbnail__image,
  .collections-thumbnail__name {
    transition: none;
  }
}
