.event-location {
  margin-top: 20px;
  padding: 24px;
  border: 1px solid #cec8ba;
  background: #fffdf8;
}
.event-location:has(.event-area-map:not([hidden]), .event-interactive-map) {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: stretch;
}
.event-map-description h2 {
  font:
    700 18px / 1.4 "AIRC Work Sans",
    sans-serif;
  margin: 0 0 8px;
}
.event-map-description p {
  font-size: 14px;
  line-height: 1.6;
  margin: 0;
}
.event-map-description a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-top: 8px;
  font-size: 14px;
  font-weight: 600;
}
.event-map-venue-row {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 8px;
  margin-bottom: 8px;
}
.event-map-venue-row a {
  flex: 0 0 auto;
  min-height: auto;
  margin-top: 0;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}
.event-map-venue-separator {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
}
.event-map-description .event-map-venue {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.45;
  margin-bottom: 0;
}
@media (max-width: 950px) {
  .event-location {
    padding: 20px;
  }
}
.event-area-map {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5 / 3;
  border: 0;
  object-fit: contain;
  background: var(--cream);
}
.event-location small {
  display: block;
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.5;
  color: #59554e;
}
.event-location [hidden] {
  display: none;
}

/* The public page already names the city and explains address privacy under Where. */
.event-location.public-event-map {
  padding: 0;
  border: 0;
  background: transparent;
  gap: 8px;
}
.public-event-map .event-map-description {
  order: 1;
}
.public-event-map .event-map-description a {
  margin-top: 0;
}

.creator-area-map {
  margin-block: 20px;
}
.presentation-preview .event-location:has(.event-area-map:not([hidden]), .event-interactive-map) {
  grid-template-columns: 1fr;
}

.event-interactive-map {
  display: block;
  width: 100%;
  height: 100%;
  /* Low enough that the map is usually the flexible one: it grows to meet the
     registration card's bottom edge. A long description wins instead, and then
     the map holds this floor. */
  min-height: 220px;
  border: 0;
  background: #f2efe8;
}
