/* Réplique fidèle de la carte de sortie de l'app (src/components/EventCard.tsx) */
.gs-event-card {
  background: var(--gs-surface);
  border-radius: var(--gs-radius-xl);
  overflow: hidden;
  box-shadow: var(--gs-shadow-card);
  width: 100%;
  max-width: 320px;
}

.gs-event-card__cover {
  position: relative;
  height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--gs-surface-muted);
}

.gs-event-card__cover img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gs-event-card__cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 35%, rgba(10, 6, 3, 0.72) 100%);
}

.gs-event-card__top {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  display: flex;
  justify-content: space-between;
  z-index: 2;
}

/* Couleurs par catégorie, reprises de `categoryColors` (mobile/src/theme.ts).
   Le texte n'est pas blanc partout comme dans l'app : sur les fonds clairs
   (lime, menthe, ambre, cyan) il passe en noir, sinon il devient illisible. */
.gs-event-card__cat {
  background: var(--gs-cat-bg, #8a8a94);
  color: var(--gs-cat-fg, #fff);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: var(--gs-radius-pill);
}

.gs-event-card__cat--soiree    { --gs-cat-bg: #ff3d77; --gs-cat-fg: #fff; }
.gs-event-card__cat--sport     { --gs-cat-bg: #34d399; --gs-cat-fg: #0a0a0f; }
.gs-event-card__cat--resto     { --gs-cat-bg: #ffb03b; --gs-cat-fg: #0a0a0f; }
.gs-event-card__cat--culture   { --gs-cat-bg: #9d4edd; --gs-cat-fg: #fff; }
.gs-event-card__cat--jeux      { --gs-cat-bg: #5ac8fa; --gs-cat-fg: #0a0a0f; }
.gs-event-card__cat--etude     { --gs-cat-bg: #c4ff3d; --gs-cat-fg: #0a0a0f; }
.gs-event-card__cat--exterieur { --gs-cat-bg: #34d399; --gs-cat-fg: #0a0a0f; }
.gs-event-card__cat--autre     { --gs-cat-bg: #8a8a94; --gs-cat-fg: #fff; }

.gs-event-card__distance {
  display: flex;
  align-items: center;
  gap: 4px;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  padding: 5px 12px;
  border-radius: var(--gs-radius-pill);
}

.gs-event-card__title {
  position: relative;
  z-index: 2;
  color: #fff;
  font-weight: 700;
  font-size: 1.2rem;
  padding: 16px 16px 12px;
}

.gs-event-card__body {
  padding: 14px 16px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.gs-event-card__meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  color: var(--gs-text-secondary);
}

.gs-event-card__meta svg {
  width: 15px;
  height: 15px;
  color: var(--gs-primary);
  flex-shrink: 0;
}

.gs-event-card__social {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}

.gs-event-card__host {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--gs-secondary);
}

.gs-event-card__host img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  object-fit: cover;
}

.gs-event-card__count {
  display: flex;
  align-items: center;
  gap: 5px;
  background: rgba(157, 78, 221, 0.16);
  color: var(--gs-secondary);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: var(--gs-radius-pill);
}

.gs-event-card__count svg {
  width: 13px;
  height: 13px;
}

.gs-event-card__signal {
  display: flex;
  align-items: center;
  gap: 5px;
  align-self: flex-start;
  margin-top: 8px;
  background: rgba(196, 255, 61, 0.14);
  color: var(--gs-primary-dark);
  font-size: 0.72rem;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: var(--gs-radius-pill);
}

.gs-event-card__signal svg {
  width: 15px;
  height: 15px;
}
