.location-performances {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: min(1600px, calc(100vw - 2rem));
	margin-block: clamp(2.5rem, 6vw, 5rem);
	padding-inline: clamp(1rem, 4vw, 5rem);
	box-sizing: border-box;
}
.location-performances__intro {
	max-width: 48rem;
	margin-bottom: 1.5rem;
}

.location-performance-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
	gap: 1rem;
}

.location-performance-card {
	--performance-accent: var(--blue);
	--performance-accent-soft: rgba(10, 110, 180, 0.1);
	padding: 1.4rem;
	border: 1px solid rgba(0,0,0, 0.16);
	border-top: 4px solid var(--performance-accent);
	border-radius: 0.75rem;
	background: #fff;
	box-shadow: 0 0.4rem 1.25rem rgba(40, 38, 42, 0.08);
}

.location-performance-card--party-band {
	--performance-accent: var(--pink);
	--performance-accent-soft: rgba(202, 22, 96, 0.1);
}

.location-performance-card--pop-up {
	--performance-accent: var(--purp);
	--performance-accent-soft: rgba(114, 48, 104, 0.1);
}

.location-performance-card__title {
	max-width: 100%;
	margin: 0 0 1rem;
	font-size: 1.15rem;
}

.location-performance-card__details {
	display: grid;
	gap: 0.3rem;
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.25;
}

.location-performance-card__details div {
	display: grid;
	grid-template-columns: 5.25rem 1fr;
	gap: 0.5rem;
}

.location-performance-card__details dt {
	font-weight: 700;
}

.location-performance-card__details dd {
	justify-self: start;
	margin: 0;
	padding: 0.15rem 0.45rem;
	border-radius: 0.35rem;
	background: rgba(40, 38, 42, 0.07);
}

.location-performance-card__details dd.location-performance-card__act {
	padding: 0;
	background: var(--performance-accent-soft);
	color: var(--performance-accent);
	font-weight: 700;
}

.location-performance-card__act a {
	display: block;
	padding: 0.15rem 0.45rem;
	border-radius: inherit;
	color: inherit;
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease;
}

.location-performance-card__act a:hover {
	background: var(--performance-accent);
	color: #fff;
}

.location-performance-card__act a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.location-performances.is-collapsible .location-performance-card--extra {
	display: none;
}

.location-performances.is-expanded .location-performance-card--extra {
	display: block;
}

.location-performances__toggle {
	margin: 1.5rem auto 0;
	border: 0;
	cursor: pointer;
}

.location-performances__toggle[hidden] {
	display: none;
}
.location-performances__toggle {
	display: none;
	margin: 1.5rem auto 0;
	border: 0;
	cursor: pointer;
}

.location-performances.has-desktop-extra-cards.is-collapsible
.location-performances__toggle {
	display: block;
}

.location-performances__toggle[hidden] {
	display: none !important;
}

@media (max-width: 800px) {
	.location-performances.is-collapsible:not(.is-expanded)
	.location-performance-card:nth-child(n + 5) {
		display: none;
	}

	.location-performances.is-collapsible
	.location-performances__toggle {
		display: block;
	}
}