/* metta-shows — single event page additions (3.6.0).
 * Loaded only on single event pages. Tokens come from the child theme
 * (:root --m-*); the fallbacks below keep it readable if the theme changes. */

/* ---- about. (event description from See Tickets) ---- */
.m-event-about {
	margin-top: 2.5rem;
	max-width: 62ch;
}
.m-event-about h2,
.m-event-listen h2,
.m-event-notes h2 {
	font-size: clamp(1.5rem, 3vw, 2.2rem);
	margin: 0 0 1rem;
}
.m-event-about p {
	margin: 0 0 1rem;
	color: var(--m-muted, #8b93a5);
	font-size: 1rem;
	line-height: 1.6;
}
.m-event-about p:last-child { margin-bottom: 0; }
.m-event-about b, .m-event-about strong { color: var(--m-sand, #ede7dc); font-weight: 500; }
.m-event-about a { color: var(--m-sand, #ede7dc); text-decoration: underline; text-underline-offset: 3px; }
.m-event-about a:hover { color: var(--m-coral, #ff6b52); }
.m-event-about ul, .m-event-about ol { color: var(--m-muted, #8b93a5); padding-left: 1.2rem; margin: 0 0 1rem; }

.m-event-about-sub {
	font-size: 1.05rem;
	margin: 1.5rem 0 .5rem;
	color: var(--m-sand, #ede7dc);
}
.m-event-about-body > .m-event-about-sub:first-child { margin-top: 0; }
.m-event-lineup { list-style: none; padding: 0; margin: 0 0 1rem; color: var(--m-sand, #ede7dc); }
.m-event-lineup li { padding: .15rem 0; }
.m-event-notice {
	border-left: 2px solid var(--m-coral, #ff6b52);
	padding: .35rem 0 .35rem 1rem;
	margin: 0 0 1.25rem;
	color: var(--m-sand, #ede7dc) !important;
	font-weight: 500;
}

/* Long bios collapse to a few lines with a "read more" toggle (no JS needed). */
.m-event-about.is-long .m-event-about-body {
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.m-event-about.is-long.is-open .m-event-about-body { display: block; -webkit-line-clamp: none; }
.m-event-about-more {
	background: none;
	border: 0;
	padding: .5rem 0 0;
	cursor: pointer;
	font-family: var(--m-font-mono, 'JetBrains Mono', monospace);
	font-size: .72rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--m-coral, #ff6b52);
}
.m-event-about-more:hover { color: var(--m-sand, #ede7dc); }
.m-event-about:not(.is-long) .m-event-about-more { display: none; }

/* ---- good to know. (age / sales policy lines the feed carries) ---- */
.m-event-notes { margin-top: 2rem; max-width: 62ch; }
.m-event-notes ul { list-style: none; margin: 0; padding: 0; }
.m-event-notes li {
	color: var(--m-muted, #8b93a5);
	font-size: .92rem;
	padding: .55rem 0;
	border-bottom: 1px solid var(--m-line, rgba(237,231,220,.12));
}
.m-event-notes li:last-child { border-bottom: 0; }

/* ---- listen. (Spotify artist embeds) ---- */
.m-event-listen {
	margin-top: 3rem;
	max-width: 62ch;
}
.m-listen-grid { display: grid; gap: 1.25rem; }
.m-listen-card { margin: 0; }
.m-listen-card iframe {
	display: block;
	width: 100%;
	border: 0;
	border-radius: 12px;
	background: var(--m-surface, #111624);
}
.m-listen-card figcaption { margin-top: .5rem; }
.m-listen-card figcaption a { color: var(--m-muted, #8b93a5); text-decoration: none; }
.m-listen-card figcaption a:hover { color: var(--m-coral, #ff6b52); }

@media (max-width: 820px) {
	.m-event-about, .m-event-listen, .m-event-notes { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
	.m-event-about-more { transition: none; }
}
