/*
 * White-Label – alphabetisches Künstlerarchiv
 */

.artists-page-hero p {
  max-width: 720px;
}

.artists-alphabet-bar {
  position: sticky;
  top: 78px;
  z-index: 35;
  padding: 15px 0;
  border-block: 1px solid var(--line);
  background: rgba(11, 11, 12, .92);
  backdrop-filter: blur(18px) saturate(135%);
}

.artists-alphabet {
  display: grid;
  grid-template-columns: repeat(26, minmax(26px, 1fr));
  gap: 4px;
}

.artists-alphabet a,
.artists-alphabet span {
  min-height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .13);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  transition: background .2s ease, border-color .2s ease, color .2s ease;
}

.artists-alphabet a {
  color: var(--white);
}

.artists-alphabet a:hover,
.artists-alphabet a:focus-visible {
  border-color: var(--gold);
  background: var(--gold);
  color: #111;
}

.artists-alphabet span {
  color: rgba(255, 255, 255, .23);
  cursor: default;
}

.artists-archive-section {
  padding-top: clamp(65px, 8vw, 110px);
}

.artists-archive {
  border-top: 1px solid var(--line);
}

.artists-letter-section {
  scroll-margin-top: 155px;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: clamp(25px, 5vw, 75px);
  padding: clamp(38px, 6vw, 78px) 0;
  border-bottom: 1px solid var(--line);
}

.artists-letter {
  position: sticky;
  top: 160px;
  align-self: start;
}

.artists-letter h2 {
  color: var(--gold-light);
  font-size: clamp(4rem, 8vw, 8rem);
  line-height: .75;
}

.artists-letter-list {
  display: grid;
}

.artist-archive-row {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) auto;
  gap: clamp(18px, 3vw, 38px);
  align-items: center;
  min-height: 145px;
  padding: 20px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.artist-archive-row:first-child {
  padding-top: 0;
}

.artist-archive-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.artist-archive-thumb {
  width: 112px;
  height: 112px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .18);
  background: #161618;
}

.artist-archive-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  filter: saturate(.8) contrast(1.04);
  transition: transform .35s ease, filter .35s ease;
}

.artist-archive-row:hover .artist-archive-thumb img {
  transform: scale(1.045);
  filter: saturate(1) contrast(1.02);
}

.artist-archive-copy {
  min-width: 0;
}

.artist-archive-meta span {
  display: block;
  margin-bottom: .45rem;
  color: var(--gold);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.artist-archive-copy h3 {
  font-size: clamp(1.65rem, 3vw, 3rem);
}

.artist-archive-copy p {
  max-width: 730px;
  margin: .65rem 0 0;
  color: var(--muted);
  line-height: 1.65;
}

.artist-archive-link {
  min-width: 178px;
  display: inline-flex;
  justify-content: space-between;
  gap: 1.2rem;
  align-items: center;
  padding: .9rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, .35);
  color: var(--white);
  font-size: .67rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.artist-archive-link span {
  color: var(--gold-light);
  font-size: 1.1rem;
  transition: transform .2s ease;
}

.artist-archive-link:hover {
  border-color: var(--gold);
}

.artist-archive-link:hover span {
  transform: translateX(5px);
}

@media (max-width: 1100px) {
  .artists-alphabet {
    grid-template-columns: repeat(13, 1fr);
  }
}

@media (max-width: 760px) {
  .artists-alphabet-bar {
    top: 0;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  .artists-alphabet {
    width: max-content;
    grid-template-columns: repeat(26, 38px);
  }

  .artists-letter-section {
    grid-template-columns: 1fr;
    gap: 24px;
    scroll-margin-top: 90px;
  }

  .artists-letter {
    position: static;
  }

  .artists-letter h2 {
    font-size: 4rem;
  }

  .artist-archive-row {
    grid-template-columns: 82px minmax(0, 1fr);
    min-height: 110px;
  }

  .artist-archive-thumb {
    width: 82px;
    height: 82px;
  }

  .artist-archive-link {
    grid-column: 2;
    min-width: 0;
    width: max-content;
    margin-top: -.4rem;
  }
}

@media (max-width: 480px) {
  .artist-archive-row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 15px;
  }

  .artist-archive-thumb {
    width: 72px;
    height: 72px;
  }

  .artist-archive-copy h3 {
    font-size: 1.55rem;
  }

  .artist-archive-copy p {
    font-size: .88rem;
  }
}
