/* Malimen Albums 0.3.0: locked compositions that scale without flattening. */
.malimen-albums-card__media {
  display: grid;
  gap: 3px;
  isolation: isolate;
  position: relative;
}

.malimen-albums-card__image {
  background: #171218;
  display: block;
  min-height: 0;
  min-width: 0;
  overflow: hidden;
  position: relative;
}

.malimen-albums-card__image img {
  height: 100%;
  object-fit: contain;
  width: 100%;
}

.malimen-albums-card__media--grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.malimen-albums-card__media--grid .malimen-albums-card__image:nth-child(n + 5) {
  display: none;
}

.malimen-albums-card__media--mosaic {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(6, minmax(0, 1fr));
}

.malimen-albums-card__media--mosaic .malimen-albums-card__image--1 {
  grid-column: 1 / 5;
  grid-row: 1 / 7;
}

.malimen-albums-card__media--mosaic .malimen-albums-card__image--2 {
  grid-column: 5 / 7;
  grid-row: 1 / 4;
}

.malimen-albums-card__media--mosaic .malimen-albums-card__image--3 {
  grid-column: 5 / 7;
  grid-row: 4 / 7;
}

.malimen-albums-card__media--mosaic .malimen-albums-card__image:nth-child(n + 4) {
  display: none;
}

.malimen-albums-card__media--editorial {
  display: block;
}

.malimen-albums-card__media--editorial .malimen-albums-card__image--1 {
  inset: 0;
  position: absolute;
}

.malimen-albums-card__media--editorial .malimen-albums-card__image--2,
.malimen-albums-card__media--editorial .malimen-albums-card__image--3 {
  border: 3px solid #fff;
  box-shadow: 0 15px 35px rgb(0 0 0 / 28%);
  position: absolute;
  z-index: 2;
}

.malimen-albums-card__media--editorial .malimen-albums-card__image--2 {
  bottom: 5%;
  height: 39%;
  right: 5%;
  width: 43%;
}

.malimen-albums-card__media--editorial .malimen-albums-card__image--3 {
  height: 31%;
  left: 5%;
  top: 5%;
  width: 34%;
}

.malimen-albums-card__media--editorial .malimen-albums-card__image:nth-child(n + 4) {
  display: none;
}

/* A two-by-two group remains a two-by-two group on every screen. */
.malimen-album[data-layout="grid"] .malimen-album__gallery {
  gap: clamp(9px, 2.6vw, 38px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* A real mosaic keeps the same twelve-column rhythm at every width. */
.malimen-album[data-layout="mosaic"] .malimen-album__gallery {
  columns: auto;
  display: grid;
  gap: clamp(18px, 2.4vw, 34px);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.malimen-album[data-layout="mosaic"] .malimen-album__item {
  margin: 0;
}

.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 1) { grid-column: span 7; }
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 2) { grid-column: span 5; }
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 3) { grid-column: span 5; }
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 4) { grid-column: span 7; }
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 5) { grid-column: span 4; }
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 6) { grid-column: span 8; }

.malimen-album[data-layout="mosaic"] .malimen-album__media {
  aspect-ratio: 4 / 3;
}

.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 1) .malimen-album__media,
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 4) .malimen-album__media {
  aspect-ratio: 4 / 5;
}

.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 3) .malimen-album__media,
.malimen-album[data-layout="mosaic"] .malimen-album__item:nth-child(6n + 6) .malimen-album__media {
  aspect-ratio: 16 / 9;
}

.malimen-album[data-layout="mosaic"] .malimen-album__media img {
  height: 100%;
  max-height: none;
  width: 100%;
}

/* Editorial placement is album-owned as well; only its measurements flex. */
.malimen-album[data-layout="editorial"] .malimen-album__gallery {
  display: grid;
  gap: clamp(16px, 7vw, 100px);
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.malimen-album[data-layout="editorial"] .malimen-album__item {
  grid-column: 2 / span 7;
}

.malimen-album[data-layout="editorial"] .malimen-album__item:nth-child(even) {
  grid-column: 6 / span 6;
}

.malimen-album[data-layout="editorial"] .malimen-album__item:nth-child(3n) {
  grid-column: 1 / span 12;
}

.malimen-album[data-layout="editorial"] .malimen-album__media,
.malimen-album[data-layout="editorial"] .malimen-album__media img {
  min-height: 0;
}

.malimen-album[data-layout="editorial"] .malimen-album__media {
  aspect-ratio: 4 / 5;
}

.malimen-album[data-layout="editorial"] .malimen-album__item:nth-child(3n) .malimen-album__media {
  aspect-ratio: 16 / 10;
}

@media (max-width: 1000px) and (min-width: 681px) {
  .malimen-albums-index__grid .malimen-albums-card:nth-child(3) {
    grid-column: 1 / -1;
  }

  .malimen-albums-index__grid .malimen-albums-card:nth-child(3) .malimen-albums-card__link {
    grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
  }

  .malimen-albums-index__grid .malimen-albums-card:nth-child(3) .malimen-albums-card__media {
    aspect-ratio: 16 / 8;
  }

}

@media (max-width: 680px) {
  .malimen-albums-card__media {
    aspect-ratio: 5 / 4;
  }

  .malimen-albums-card__body {
    padding: 22px;
  }

  .malimen-albums-card__body strong {
    font-size: 30px;
  }

  .malimen-album[data-layout="mosaic"] .malimen-album__gallery,
  .malimen-album[data-layout="editorial"] .malimen-album__gallery {
    gap: 9px;
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }

  .malimen-album__item[data-hide-mobile="true"] {
    display: none;
  }

  .malimen-album__item figcaption,
  .malimen-album[data-layout="editorial"] .malimen-album__item figcaption {
    font-size: 12px;
    line-height: 1.35;
    margin: 7px 1px 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .malimen-albums-card__media img {
    transition: none;
  }
}
