/**
 * Single Glassmorphic Icon Widget Styles
 */

/* Container */
.single-glassmorphic-wrapper {
	position: relative;
	width: 100%;
	height: 400px; /* Default container height */
	pointer-events: none;
}

/* Icon Circle */
.single-glassmorphic-icon {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	pointer-events: auto;
	cursor: pointer;
	transition: all 0.3s ease;
	transform: translate(-50%, -50%);
	z-index: 10;
}

/* Icon SVG */
.single-glassmorphic-icon svg {
	width: 24px;
	height: 24px;
	color: #ffffff;
	stroke: #ffffff;
	fill: none;
	transition: all 0.3s ease;
}

/* Hover Effect */
.single-glassmorphic-icon.hover-effect:hover {
	background: rgba(255, 255, 255, 0.15);
	border-color: rgba(255, 255, 255, 0.3);
	transform: translate(-50%, -50%) scale(1.1);
	box-shadow: 0 8px 25px rgba(255, 255, 255, 0.1);
}

.single-glassmorphic-icon.hover-effect:hover svg {
	transform: scale(1.1);
}

/* Floating Animation */
.single-glassmorphic-icon.floating-animation {
	animation: single-float 6s ease-in-out infinite;
}

@keyframes single-float {
	0%, 100% { 
		transform: translate(-50%, -50%) translateY(0px) translateX(0px); 
	}
	25% { 
		transform: translate(-50%, -50%) translateY(-8px) translateX(3px); 
	}
	50% { 
		transform: translate(-50%, -50%) translateY(-5px) translateX(-3px); 
	}
	75% { 
		transform: translate(-50%, -50%) translateY(-10px) translateX(2px); 
	}
}

/* Preserve hover on floating items */
.single-glassmorphic-icon.floating-animation.hover-effect:hover {
	animation-play-state: paused;
	transform: translate(-50%, -50%) scale(1.1);
}

/* Responsive - Tablet */
@media (max-width: 1024px) {
	.single-glassmorphic-wrapper {
		height: 350px;
	}
}

/* Responsive - Mobile */
@media (max-width: 768px) {
	.single-glassmorphic-wrapper {
		height: 300px;
	}
	
	.single-glassmorphic-icon svg {
		width: 20px;
		height: 20px;
	}
}

/* Accessibility - Reduce Motion */
@media (prefers-reduced-motion: reduce) {
	.single-glassmorphic-icon.floating-animation {
		animation: none;
	}
	
	.single-glassmorphic-icon,
	.single-glassmorphic-icon svg {
		transition: none;
	}
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
	.single-glassmorphic-icon {
		background: rgba(255, 255, 255, 0.05);
		border-color: rgba(255, 255, 255, 0.1);
	}
	
	.single-glassmorphic-icon.hover-effect:hover {
		background: rgba(255, 255, 255, 0.1);
		border-color: rgba(255, 255, 255, 0.2);
	}
}