﻿.speakers {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
}

.speakers .break {
	grid-column: 1 / -1;
}

.speakers .speaker {
	position: relative;
	border-radius: 10px;
	overflow: hidden;
	aspect-ratio: 1 / 1;
}

.speakers .speaker img {
	border-radius: 10px;
	width: 100%;
	height: 100%;
	transition: transform 0.5s ease;
}

.speakers .speaker:hover img {
	transform: scale(1.2);
}

.speakers .speaker .infos {
	position: absolute;
	bottom: 0;
	left: 0;
	transition: height 2s ease;
	pointer-events: none;
	background-color: rgba(255, 0, 0, 0.8);
	color: white;
	width: 100%;
	/* Animation */
	max-height: 0;
	opacity: 0;
	transition: max-height 1.5s ease, opacity 0.5s ease, padding 0.3s ease;
	padding: 0 10px;
}

.speakers .speaker:hover .infos {
	max-height: 150px;
	opacity: 1;
	padding: 10px;
}

.speakers .speaker .ribbon {
	position: absolute;
	top: 15px;
	left: -60px;
	width: 200px;
	padding: 5px 0;
	background-color: #e74c3c;
	color: white;
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	transform: rotate(-45deg);
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
	pointer-events: none;
	font-size: 14px;
}

@media (max-width: 900px) {
	.speakers {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 600px) {
	.speakers {
		grid-template-columns: repeat(2, 1fr);
	}
}