/* Cover: the shop's banner at the top of its event list — its picture or
   accent, the name large over a shade, and a few numbers in frosted tiles */
.cover {
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-card);
  color: white;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  justify-content: flex-end;
  min-block-size: min(26rem, 60dvh);
  overflow: hidden;
  position: relative;

  &::after {
    background: linear-gradient(to top, oklch(0 0 0 / 0.62), oklch(0 0 0 / 0.1) 55%, transparent);
    content: "";
    inset: 0;
    position: absolute;
    z-index: -1;
  }
}

.cover__image {
  block-size: 100%;
  inline-size: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  z-index: -2;
}

.cover__content {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
  justify-content: space-between;
  padding: var(--space-m-l);
}

.cover__title {
  font-family: var(--font-display);
  font-size: calc(var(--step-6) * 1.5);
  font-size-adjust: var(--font-display-adjust);
  font-weight: var(--font-display-weight);
  letter-spacing: var(--font-display-tracking);
  line-height: var(--leading-flat);
  overflow-wrap: anywhere;
}

.cover__tagline {
  font-size: var(--step-1);
  font-weight: var(--weight-medium);
  opacity: 0.85;
}

.cover__stat {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: oklch(1 0 0 / 0.14);
  border-radius: var(--radius-m);
  display: flex;
  flex-direction: column;
  gap: var(--space-3xs);
  min-inline-size: 6rem;
  padding: var(--space-xs) var(--space-s);
}

.cover__stat-value {
  font-size: var(--step-2);
  font-variant-numeric: tabular-nums;
  font-weight: var(--weight-bold);
  line-height: var(--leading-flat);
}

.cover__stat-label {
  font-size: var(--step--1);
  opacity: 0.85;
}
