/* Agenda — card badges (.programme-item__badge). */

.programme-item__badge {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 11rem;
	padding: 3rem 6rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(0, 0, 0, 0.3);
	-webkit-backdrop-filter: brightness(0.7);
	backdrop-filter: brightness(0.7);
}

.programme-item__badge--cancelled {
	background: #a00;
}

/* Simultaneous-interpretation badge: headset icon only by default, anchored in
   the top-right corner. The icon stays last in the DOM so it keeps the corner
   while the label (declared before it) flows out to the LEFT when revealed.
   Unlike the cancelled badge it has NO chip background — just a dark icon
   sitting directly on the card. */
.programme-item__badge--translated {
	display: flex;
	align-items: center;
	gap: 5rem;
	padding: 6rem;
	background: none;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	color: #1a1a1a;
	text-transform: none;
	letter-spacing: 0;
	/* Bound the width so the expanded label wraps instead of running off the
	   card's left edge. */
	max-width: calc(100% - 12rem);
}

.programme-item__badge-icon {
	display: inline-flex;
	flex: 0 0 auto;
}

.programme-item__badge-icon svg {
	width: 20rem;
	height: 20rem;
	display: block;
	/* Override the global `svg { fill: currentColor }` (sabe utility.css):
	   this icon is stroke-drawn, so it must stay unfilled. */
	fill: none;
	stroke: currentColor;
}

/* Label hidden until the card expands (hover/focus). It then appears next to
   the icon — see the reveal rule below. */
.programme-item__badge-label {
	display: none;
	line-height: 1.2;
	text-align: right;
}

.programme-item.is-expanded .programme-item__badge {
	display: flex;
}

.programme-item.is-expanded .programme-item__badge-label {
display: block;
text-align: left;
}
