/* DJ / Entertainment Booking — narrower cards, smaller photo, more text */

.page--entertainment .dj-catalog__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
}

.page--entertainment .dj-card {
  border-radius: 14px;
}

.page--entertainment .dj-card__media,
.page--entertainment .dj-card__media--cover {
  height: auto;
  aspect-ratio: 1 / 1;
}

.page--entertainment .dj-card__media--cover {
  padding: 0;
  background: #0a0a12;
}

.page--entertainment .dj-card__media--soon {
  background: #fff;
  border-bottom: 1px solid rgba(5, 5, 10, 0.08);
}

.page--entertainment .dj-card__media--soon .dj-card__media-placeholder {
  display: block;
  color: rgba(5, 5, 10, 0.42);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.page--entertainment .dj-card__media--cover:has(img[src]:not([src=""])) {
  background: #0a0a12;
}

.page--entertainment .dj-card__media--cover img {
  object-fit: cover;
  object-position: center;
}

.page--entertainment .dj-card__head {
  padding: 0.9rem 0.95rem 0.45rem;
}

.page--entertainment .dj-card__title {
  font-size: 1.05rem;
  line-height: 1.25;
}

.page--entertainment .ent-card__role {
  display: inline-block;
  margin: 0.3rem 0 0;
  color: rgba(255, 222, 89, 0.88);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.page--entertainment .dj-card__body {
  padding: 0 0.95rem 1rem;
  gap: 0.95rem;
}

.page--entertainment .dj-card__desc {
  display: block;
  -webkit-line-clamp: unset;
  font-size: 0.88rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.8);
  min-height: 0;
}

.page--entertainment .ent-card__meta {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.4rem;
}

.page--entertainment .ent-card__meta li {
  display: grid;
  grid-template-columns: 5.6rem minmax(0, 1fr);
  gap: 0.45rem;
  font-size: 0.78rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.72);
}

.page--entertainment .ent-card__meta span {
  color: #ffde59;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.page--entertainment .dj-card__button {
  border-radius: 999px;
  padding: 0.75rem 1rem;
  font-size: 0.85rem;
  letter-spacing: 0.04em;
}

@media (max-width: 991px) {
  .page--entertainment .dj-catalog__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .page--entertainment .dj-catalog__grid {
    grid-template-columns: 1fr;
    max-width: 26rem;
    margin-inline: auto;
  }

  .page--entertainment .ent-card__meta li {
    grid-template-columns: 5.2rem minmax(0, 1fr);
  }
}
