.team-section {
	padding: 0 0;
}


.team-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.team-card {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* Overlay de degradado para mejorar contraste del texto sobre cualquier foto */
.team-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.55) 0%,
		rgba(0, 0, 0, 0.35) 30%,
		rgba(0, 0, 0, 0.10) 60%,
		rgba(0, 0, 0, 0.00) 100%
	);
	pointer-events: none;
	z-index: 1;
}

.team-photo {
	display: block;
	width: 100%;
	height: 280px;
	object-fit: cover;
}

.team-card figcaption {
	position: absolute;
	left: 12px;
	right: 12px; /* Permite que el fondo abarque todo el ancho disponible */
	bottom: 12px;
	color: #fff;
	background: rgba(0, 0, 0, 0.55); /* Fondo semitransparente para independencia del fondo */
	padding: 10px 12px;
	border-radius: 12px;
	backdrop-filter: saturate(120%) blur(2px);
	-webkit-backdrop-filter: saturate(120%) blur(2px);
	z-index: 2; /* Sobre el overlay */
}

.team-card .name {
	margin: 0 0 4px 0;
	font-weight: 700;
	font-size: 1.25rem;
	color: white !important;
}

.team-card .role {
	margin: 0;
	font-size: 0.95rem;
	color: white;
}

.team-controls .btn-control {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: var(--color-secondary);
	color: #fff;
	border: none;
}

.team-controls .btn-control:hover {
	background: var(--color-primary);
}

@media (max-width: 992px) {
	.team-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.team-photo { height: 340px; }
}

@media (max-width: 576px) {
	.team-grid {
		grid-template-columns: 1fr;
	}
	.team-photo { height: 340px; }
}


