@import "tailwindcss/theme";
@import "../variables/theme.css";

.eventCard:has(> *:not(a)),
.eventCard > *:is(a) {
  @apply grid bg-neutral-100;

  grid-template-rows: auto 1fr;
  grid-template-columns: 100%;
  box-shadow: 0 0 0 1px var(--color-neutral-300);
  backdrop-filter: blur(2px);
}

.eventCard > *:is(a) {
  @apply h-full;
}

.eventCard--dark {
  &:has(> *:not(a)),
  & > *:is(a) {
    @apply bg-black/60 text-neutral-100;

    box-shadow: 0 0 0 1px --alpha(var(--color-neutral-300) / 40%);
  }

  .eventCard-type {
    @apply text-neutral-100;
  }

  .eventCard-dateIcon {
    --icon-color: var(--color-neutral-100);
  }

  .eventCard-locationIcon {
    --icon-color: var(--color-neutral-100);
  }
}

.eventCard-visual {
  @apply aspect-video;
}

.eventCard-information {
  @apply grid;

  grid-template-rows: 1fr auto;
  grid-template-columns: 100%;
  gap: var(--spacing-16);
  padding: var(--spacing-16);
}

.eventCard-type {
  @apply text-blue-500;

  margin-bottom: var(--spacing-4);
  font: var(--t4-medium);
}

.eventCard-title {
  display: -webkit-box;
  align-self: stretch;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  font: var(--t3-medium);
}

.eventCard-date {
  @apply flex items-center;

  gap: var(--spacing-8);
  font: var(--t5-medium);
}

.eventCard-dateIcon {
  --icon-color: var(--color-neutral-300);

  width: var(--spacing-20);
  height: var(--spacing-20);
}

.eventCard-location {
  @apply flex items-center;

  gap: var(--spacing-8);
  margin-top: var(--spacing-8);
  font: var(--t5-medium);
}

.eventCard-locationIcon {
  --icon-color: var(--color-neutral-300);

  width: var(--spacing-20);
  height: var(--spacing-20);
}
