/**
 * AhojNet Smart Button – základné štýly a mikro animácie.
 * Farby, veľkosti, radius atď. riadi Elementor cez inline selektory –
 * tu je len layout a keyframes.
 */

.ahojnet-sb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-decoration: none;
	cursor: pointer;
	transition: color 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
	line-height: 1.2;
	border-style: solid;
	border-width: 0;
}

.ahojnet-sb-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.ahojnet-sb-icon svg {
	display: block;
}

/* -------------------------------------------------------------------
 * Mikro animácie ikony – aktivujú sa pri hoveri na tlačidlo.
 * Trieda sb-anim-* je na tlačidle, animuje sa vnútorná ikona.
 * ----------------------------------------------------------------- */

.ahojnet-sb-btn.sb-anim-pulse:hover .ahojnet-sb-icon,
.ahojnet-sb-btn.sb-anim-pulse:focus .ahojnet-sb-icon {
	animation: ahojnet-sb-pulse 0.7s ease-in-out infinite;
}

.ahojnet-sb-btn.sb-anim-bounce:hover .ahojnet-sb-icon,
.ahojnet-sb-btn.sb-anim-bounce:focus .ahojnet-sb-icon {
	animation: ahojnet-sb-bounce 0.6s ease infinite;
}

.ahojnet-sb-btn.sb-anim-shake:hover .ahojnet-sb-icon,
.ahojnet-sb-btn.sb-anim-shake:focus .ahojnet-sb-icon {
	animation: ahojnet-sb-shake 0.5s ease-in-out infinite;
}

.ahojnet-sb-btn.sb-anim-rotate:hover .ahojnet-sb-icon,
.ahojnet-sb-btn.sb-anim-rotate:focus .ahojnet-sb-icon {
	animation: ahojnet-sb-rotate 0.8s linear infinite;
}

.ahojnet-sb-btn.sb-anim-slide:hover .ahojnet-sb-icon,
.ahojnet-sb-btn.sb-anim-slide:focus .ahojnet-sb-icon {
	animation: ahojnet-sb-slide 0.6s ease-in-out infinite;
}

@keyframes ahojnet-sb-pulse {
	0%, 100% { transform: scale(1); }
	50%      { transform: scale(1.25); }
}

@keyframes ahojnet-sb-bounce {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-4px); }
}

@keyframes ahojnet-sb-shake {
	0%, 100% { transform: translateX(0); }
	25%      { transform: translateX(-3px); }
	75%      { transform: translateX(3px); }
}

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

@keyframes ahojnet-sb-slide {
	0%, 100% { transform: translateX(0); }
	50%      { transform: translateX(5px); }
}

/* Rešpektovanie systémovej preferencie zníženého pohybu. */
@media (prefers-reduced-motion: reduce) {
	.ahojnet-sb-btn .ahojnet-sb-icon {
		animation: none !important;
	}
}
