.tag {
  padding: 0.2em 0.75em;
  font-size: x-small;
  font-weight: 500;
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: middle;
  border: 0.1px solid var(--pico-primary);
  background: var(--pico-background-color);
  white-space: nowrap;
  border-radius: 1em;
}

.tag.active {
  border-color: transparent;
}

.tag::before {
  content: "";
  display: inline-block;
  width: 0.5em;  /* Scales with font size */
  height: 0.5em; /* Scales with font size */
  margin-right: 0.5rem;
  background-color: var(--tag-color);
  border-radius: 50%; /* Makes it a perfect circle */
  vertical-align: middle;
}

[data-theme=dark] .tag {
  border: 0.1px solid grey;
}


time, address, .homepage, .tickets, .meeting-url {
  display: flex;
  align-items: center;
  gap: 1rem;
  /* make all items below the description have the same height, they have a logo on the left, 
  so a height diff is very to distinguish, ensure they look the same */
  min-height: 2.5em;
  margin-bottom: var(--pico-typography-spacing-vertical);
}

time::before, address::before, .homepage::before, .tickets::before, .meeting-url::before {
  font-size: 16px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 4px; /* Adjusting, since the icon is not centered correctly. */
  flex-shrink: 0;
}

time::before {
  content: url("/static/icon/lucide/calendar.svg");
}

time.end::before {
  content: url("/static/icon/lucide/calendar-off.svg");
}

address::before {
  content: url("/static/icon/lucide/map-pin.svg");
}

.homepage::before {
  content: url("/static/icon/lucide/link.svg");
}

.tickets::before {
  content: url("/static/icon/lucide/ticket.svg");
}

.meeting-url::before {
  content: url("/static/icon/lucide/monitor.svg");
}
