/**
 * Preloader by Deepak - front-end styles
 */

.pbd-preloader {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999999;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.5s ease, visibility 0.5s ease;
}

.pbd-preloader.pbd-preloader--hidden {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.pbd-preloader__inner {
	display: flex;
	align-items: center;
	justify-content: center;
}

.pbd-preloader__logo {
	height: auto;
	display: block;
	object-fit: contain;
}

/* Pulse: scale in/out */
.pbd-preloader--pulse .pbd-preloader__logo {
	animation: pbd-pulse 1.2s ease-in-out infinite;
}

@keyframes pbd-pulse {
	0%, 100% { transform: scale(1); opacity: 1; }
	50% { transform: scale(1.08); opacity: 0.9; }
}

/* Spin */
.pbd-preloader--spin .pbd-preloader__inner {
	animation: pbd-spin 1s linear infinite;
}

@keyframes pbd-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

/* Bounce */
.pbd-preloader--bounce .pbd-preloader__logo {
	animation: pbd-bounce 0.8s ease-in-out infinite;
}

@keyframes pbd-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-12px); }
}

/* Fallback spinner when no logo */
.pbd-preloader__spinner {
	width: 48px;
	height: 48px;
	border: 3px solid rgba(0, 0, 0, 0.1);
	border-top-color: #333;
	border-radius: 50%;
	animation: pbd-spin 0.8s linear infinite;
}
