/* =========================================================
   EVENT CARD
   ========================================================= */

.lw-event-card {
  height: 100%;
  overflow: hidden;

  background: var(--lw-card-bg);
  color: var(--lw-card-text);

  border: 1px solid color-mix(in srgb, var(--lw-section-colour) 18%, transparent);

  border-radius: var(--lw-radius);

  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Image
     --------------------------------------------------------- */

.lw-event-card__image {
  margin: 0;
}

.lw-event-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

/* Body
     --------------------------------------------------------- */

.lw-event-card__body {
  padding: 1.25rem;
  gap: 0.75rem;
}

/* Date + time
     --------------------------------------------------------- */

.lw-event-card__datetime {
  display: flex;
  align-items: center;
  gap: 0.4rem;

  color: var(--lw-section-colour);

  font-size: 0.9rem;
  font-weight: 600;
}

.lw-event-card__date,
.lw-event-card__time {
  margin: 0;
}

.lw-event-card__date .elementor-shortcode,
.lw-event-card__time .elementor-shortcode {
  display: inline;
}

/*
   * Add separator between date and time.
   */
.lw-event-card__time .elementor-shortcode::before {
  content: "•";
  margin-right: 0.4rem;
}

/* Title
     --------------------------------------------------------- */

.lw-event-card__title {
  margin: 0;
}

.lw-event-card__title .elementor-heading-title {
  margin: 0;

  color: var(--lw-card-heading);

  font-size: 1.35rem;
  line-height: 1.25;
}

.lw-event-card__description {
  color: var(--lw-card-secondary);
}

/* Description
     --------------------------------------------------------- */

.lw-event-card__description {
  color: var(--lw-text-secondary);
}

.lw-event-card__description p {
  margin: 0;
}

/* Bottom metadata
     --------------------------------------------------------- */

.lw-event-card__meta {
  border-top: 1px solid color-mix(in srgb, var(--lw-section-colour) 12%, transparent);
}

/* Location
     --------------------------------------------------------- */

.lw-event-card__location {
  color: var(--lw-card-secondary);
  font-size: 0.9rem;
}

.lw-event-card__location .elementor-shortcode::before {
  content: "📍";
  margin-right: 0.35rem;
}

/* Price
     --------------------------------------------------------- */

.lw-event-card__price {
  font-weight: 700;
  color: var(--lw-section-colour);
}

/* Hover
     --------------------------------------------------------- */

.lw-event-card:hover {
  transform: translateY(-2px);

  box-shadow: 0 8px 24px color-mix(in srgb, var(--lw-text-primary) 10%, transparent);
}

/* Mobile
     --------------------------------------------------------- */

@media (max-width: 767px) {
  .lw-event-card__body {
    padding: 1rem;
  }

  .lw-event-card__meta {
    align-items: flex-start;
  }
}
