/* Festival Laurels. Tweak the variables from your theme, e.g. .fl { --fl-size: 9rem; } */
.fl {
	--fl-color: currentColor;      /* selections */
	--fl-winner-color: #b08d3c;    /* awards */
	--fl-size: 8rem;               /* width of the text between the branches */
	--fl-gap: 1.25rem 2rem;
}

/* Laurels row ------------------------------------------------------ */
.fl--laurels {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	gap: var(--fl-gap);
}
.fl-laurel {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0;
	color: var(--fl-color);
}
.fl-laurel__wreath {
	display: flex;
	align-items: center;
}
.fl-laurel.is-winner .fl-laurel__wreath {
	color: var(--fl-winner-color);
}
.fl-branch {
	flex: none;
	width: calc(var(--fl-size) * 0.28);
	height: auto;
	overflow: visible;
}
.fl-branch:last-child {
	transform: scaleX(-1);
}
/* "Exhibited at" etc.: no wreath, the text gets the wreath's width instead (fewer lines). */
.fl-laurel.no-wreath .fl-branch {
	display: none;
}
.fl-laurel.no-wreath .fl-laurel__text {
	width: calc(var(--fl-size) * 1.56);
}
.fl-laurel.no-wreath .fl-laurel__wreath {
	min-height: calc(var(--fl-size) * 0.68); /* height of a wreath, so the text centres like the others */
}
.fl-laurel__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15em;
	width: var(--fl-size);
	padding: 0 0.15em;
	text-align: center;
	line-height: 1.15;
}
.fl-laurel__award {
	font-size: 0.68em;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.fl-laurel__festival {
	font-size: 0.85em;
	font-weight: 600;
}
.fl-laurel__year {
	font-size: 0.7em;
	opacity: 0.8;
}
.fl-laurel img {
	display: block;
	height: calc(var(--fl-size) * 0.75);
	width: auto;
}
.fl-laurel__project {
	max-width: calc(var(--fl-size) * 1.5);
	margin-top: 0.4em;
	font-size: 0.75em;
	font-style: italic;
	line-height: 1.2;
	text-align: center;
}

/* List ------------------------------------------------------------- */
.fl--list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.fl--list .fl-item {
	display: grid;
	grid-template-columns: 3.5em 1fr auto;
	gap: 0.25em 1em;
	padding: 0.7em 0;
	border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}
.fl-list__main > * + *::before {
	content: " · ";
	opacity: 0.6;
}
.fl-list__festival {
	font-weight: 700;
}
.fl--list .is-winner .fl-list__award {
	color: var(--fl-winner-color);
}
@media (max-width: 600px) {
	.fl--list .fl-item {
		grid-template-columns: 3em 1fr;
	}
	.fl-list__project {
		grid-column: 2;
	}
}

/* Front-end filters: same pill as the site's buttons ----------------- */
.fl-controls {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.75em;
	margin: 1em 0 1.5em;
}
.fl-controls select {
	appearance: none;
	-webkit-appearance: none;
	padding: 0.55em 2.4em 0.55em 1.3em;
	border: 0;
	border-radius: 30px 10px;
	background: #000 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23e0e0e0'/%3E%3C/svg%3E") no-repeat right 1.1em center;
	box-shadow: 6px 6px 9px rgba(0, 0, 0, 0.2);
	color: #e0e0e0;
	font: inherit;
	font-size: 0.85em;
	cursor: pointer;
}
.fl-controls select:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}
.fl .fl-item[hidden] {
	display: none;
}
