
/**
 * Team Member Modal Loading Animations
 */

/* Loading animation for data attribute elements */
.team-modal.loading {
	position: relative;
	min-height: 20px;
	color: transparent !important;
	pointer-events: none;
	overflow: hidden;
}

.team-modal.loading::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
	background-size: 200% 100%;
	animation: loading-shimmer 1.5s infinite;
	border-radius: 4px;
}

/* Loading animation for full content container */
[data-team-modal-content].loading {
	position: relative;
	min-height: 200px;
	opacity: .6;
}

[data-team-modal-content].loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	border: 4px solid #f3f3f3;
	border-top: 4px solid #3498db;
	border-radius: 50%;
	animation: loading-spinner 1s linear infinite;
}

/* Shimmer animation */
@keyframes loading-shimmer {
	0% {
		background-position: 200% 0;
	}
	
	100% {
		background-position: -200% 0;
	}
}

/* Spinner animation */
@keyframes loading-spinner {
	0% {
		transform: rotate(0deg);
	}
	
	100% {
		transform: rotate(360deg);
	}
}

/* Hide empty fields */
.team-modal.empty {
	display: none;
}

/* Optional: Fade in animation when content loads */
.team-modal:not(.loading):not(.empty) {
	animation: fade-in .3s ease-in;
}

[data-team-modal-content]:not(.loading) {
	animation: fade-in .3s ease-in;
}

@keyframes fade-in {
	from {
		opacity: 0;
	}
	
	to {
		opacity: 1;
	}
}

/* Image container loading state */
[data-team-modal-image].loading {
	background: #f0f0f0;
	min-height: 200px;
}

[data-team-modal-image].loading::before {
	border-radius: 0;
}
