/* LBS Leikminjar: the theatre database's search form, results and record pages. Colours, spacing and
   sizes are the LBS Foundation theme's design tokens (assets/css/tokens.css); the search box itself is
   the theme's own .lbs-search. Breakpoints: 576 / 768. */

.lbs-lm > * { margin-block: 0 var(--lbs-space-5); }
.lbs-lm > :last-child { margin-bottom: 0; }
.lbs-lm h2 { margin-block: var(--lbs-space-7) var(--lbs-space-3); font-size: var(--lbs-fs-xl); }
.lbs-lm h3 { margin-block: var(--lbs-space-5) var(--lbs-space-2); font-size: var(--lbs-fs-lg); }
.lbs-lm-meta { color: var(--lbs-muted); font-size: var(--lbs-fs-sm); }

/* Search form */
.lbs-lm-search .lbs-search { max-width: none; }
.lbs-lm-search__groups {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--lbs-space-2) var(--lbs-space-4);
	margin: var(--lbs-space-3) 0 0;
	padding: 0;
	border: 0;
}
.lbs-lm-search__groups legend { float: left; margin-right: var(--lbs-space-2); padding: 0; font-weight: 500; }
.lbs-lm-search__groups label { display: inline-flex; align-items: center; gap: var(--lbs-space-1); }
.lbs-lm-search__groups input { width: 1.1em; height: 1.1em; margin: 0; accent-color: var(--lbs-red); }
.lbs-lm-search__hint { color: var(--lbs-muted); font-size: var(--lbs-fs-sm); }

/* Results */
.lbs-lm-results__title { margin-top: var(--lbs-space-7); }
.lbs-lm-count { color: var(--lbs-muted); font-weight: 400; }
.lbs-lm-list { margin: 0; padding: 0; list-style: none; }
.lbs-lm-list > li { padding-block: var(--lbs-space-2); border-top: 1px solid var(--lbs-border-soft); }
.lbs-lm-list > li:last-child { border-bottom: 1px solid var(--lbs-border-soft); }
.lbs-lm-list a { text-decoration: none; }
.lbs-lm-list a:is(:hover, :focus-visible) { text-decoration: underline; }
.lbs-lm-role { font-weight: 500; }
.lbs-lm-more { margin-top: var(--lbs-space-3); font-weight: 500; }
.lbs-lm-more a::before { content: '+'; margin-right: var(--lbs-space-1); color: var(--lbs-red); font-weight: 700; }
.lbs-lm-pages { display: flex; flex-wrap: wrap; gap: var(--lbs-space-4); align-items: baseline; margin-top: var(--lbs-space-4); }
.lbs-lm-none { padding: var(--lbs-space-4); background: var(--lbs-panel); }

/* Record pages */
.lbs-lm-back { font-size: var(--lbs-fs-sm); }
.lbs-lm-back a::before { content: '← '; }

.lbs-lm-facts { margin: 0; }
.lbs-lm-facts__row { padding-block: var(--lbs-space-2); }
.lbs-lm-facts__row + .lbs-lm-facts__row { border-top: 1px solid var(--lbs-border); }
.lbs-lm-facts dt { color: var(--lbs-muted); font-weight: 500; }
.lbs-lm-facts dd { margin: 0; }
@media (min-width: 576px) {
	.lbs-lm-facts__row { display: grid; grid-template-columns: 14rem 1fr; gap: 0 var(--lbs-space-5); }
}

.lbs-lm-text p { margin-block: 0 var(--lbs-space-4); }

.lbs-lm-cast .lbs-lm-meta::before { content: '– '; }

/* Performances by season (company and artist pages) */
.lbs-lm-rows { margin: 0; padding: 0; list-style: none; }
.lbs-lm-rows > li {
	display: grid;
	grid-template-columns: 3.5em 1fr;
	gap: var(--lbs-space-3);
	padding-block: var(--lbs-space-2);
	border-top: 1px solid var(--lbs-border-soft);
}
.lbs-lm-rows > li:last-child { border-bottom: 1px solid var(--lbs-border-soft); }
.lbs-lm-rows__year { color: var(--lbs-muted); font-variant-numeric: tabular-nums; }
.lbs-lm-rows a { text-decoration: none; }
.lbs-lm-rows a:is(:hover, :focus-visible) { text-decoration: underline; }
.lbs-lm-jobs { font-size: var(--lbs-fs-sm); }

/* Pictures and recordings */
.lbs-lm-figures {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--lbs-space-4);
	align-items: start;
}
@media (min-width: 768px) {
	.lbs-lm-figures { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.lbs-lm-figure { margin: 0; }
.lbs-lm-figure img { display: block; width: 100%; height: auto; background: var(--lbs-panel); }
.lbs-lm-figure figcaption,
.lbs-lm-audio figcaption { margin-top: var(--lbs-space-2); color: var(--lbs-muted); font-size: var(--lbs-fs-sm); }
.lbs-lm-credit { font-style: italic; }
.lbs-lm-audio { margin: 0 0 var(--lbs-space-4); }
.lbs-lm-audio audio { display: block; width: 100%; }

/* The profile picture beside the facts at the top of a record */
.lbs-lm-portrait { margin: 0 0 var(--lbs-space-5); max-width: 240px; }
.lbs-lm-portrait img { display: block; width: 100%; height: auto; }
.lbs-lm-portrait figcaption { margin-top: var(--lbs-space-2); color: var(--lbs-muted); font-size: var(--lbs-fs-sm); }
@media (min-width: 576px) {
	.lbs-lm-portrait { float: right; width: 34%; margin-left: var(--lbs-space-5); }
	.lbs-lm-facts { overflow: hidden; } /* the rows keep to the left of the picture */
	.lbs-lm-record > h2, .lbs-lm-record > section { clear: both; }
}
