/* ANIMAÇÕES GERAIS */
@keyframes floatY{
	0%{ transform: translateY(0px); }
	50%{ transform: translateY(-12px); }
	100%{ transform: translateY(0px); }
}

@keyframes pulseGlow{
	0%{
		box-shadow: 0 0 0 0 rgba(207,17,45,0.34);
	}
	70%{
		box-shadow: 0 0 0 24px rgba(207,17,45,0);
	}
	100%{
		box-shadow: 0 0 0 0 rgba(207,17,45,0);
	}
}

@keyframes softRotate{
	0%{ transform: rotate(0deg); }
	50%{ transform: rotate(4deg); }
	100%{ transform: rotate(0deg); }
}

@keyframes bgPulse{
	0%{
		transform: scale(1.02);
	}
	50%{
		transform: scale(1.08);
	}
	100%{
		transform: scale(1.02);
	}
}

@keyframes shineMove{
	0%{
		transform: translateX(-140%) skewX(-24deg);
	}
	100%{
		transform: translateX(220%) skewX(-24deg);
	}
}

@keyframes borderGlow{
	0%, 100%{
		box-shadow: 0 0 0 rgba(255,47,79,0.0), 0 18px 60px rgba(0,0,0,0.28);
	}
	50%{
		box-shadow: 0 0 26px rgba(255,47,79,0.18), 0 18px 60px rgba(0,0,0,0.30);
	}
}

/* HERO */
.hero-home-bg{
	animation: bgPulse 16s ease-in-out infinite;
	will-change: transform;
}

.hero-shape-1{
	animation: floatY 8s ease-in-out infinite;
}

.hero-shape-2{
	animation: floatY 10s ease-in-out infinite;
}

.hero-side-card{
	animation: borderGlow 5s ease-in-out infinite;
}

.hero-side-icon{
	animation: pulseGlow 3.2s infinite;
}

.brand-logo-glow{
	animation: pulseGlow 3.5s infinite;
}

/* BOTÕES */
.btn-avidus{
	position: relative;
	overflow: hidden;
}

.btn-avidus::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 45%;
	height: 100%;
	background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.24) 50%, rgba(255,255,255,0) 100%);
	transform: translateX(-160%) skewX(-24deg);
}

.btn-avidus:hover::after{
	animation: shineMove .9s ease;
}

/* CARDS */
.glass-card,
.mini-info-card,
.info-checks .check-item{
	transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease, background .35s ease;
}

.glass-card:hover{
	transform: translateY(-8px);
	box-shadow: 0 28px 65px rgba(0,0,0,0.34);
	border-color: rgba(255,255,255,0.18);
}

.mini-info-card:hover{
	transform: translateY(-6px);
	background: rgba(255,255,255,0.08);
}

.info-checks .check-item:hover{
	transform: translateY(-4px);
	box-shadow: 0 18px 35px rgba(15,23,42,0.10);
}

/* MENU */
.navbar-nav .nav-link{
	transition: all .3s ease;
}

.navbar-nav .nav-link:hover{
	transform: translateY(-1px);
}

/* IMAGEM SOBRE */
.about-image-box{
	transition: transform .5s ease, box-shadow .5s ease;
}

.about-image-box:hover{
	transform: scale(1.02);
	box-shadow: 0 34px 80px rgba(0,0,0,0.20);
}

.about-floating-card{
	animation: floatY 7s ease-in-out infinite;
}

/* ICONES */
.feature-icon,
.stat-icon{
	transition: transform .35s ease;
}

.feature-card:hover .feature-icon,
.stat-card:hover .stat-icon{
	transform: scale(1.08) rotate(-4deg);
}

/* PARALLAX LEVE VISUAL */
.cta-bg,
.hero-home-bg{
	background-attachment: fixed;
}

/* SCROLLBAR */
::-webkit-scrollbar{
	width: 10px;
}

::-webkit-scrollbar-track{
	background: #08090c;
}

::-webkit-scrollbar-thumb{
	background: linear-gradient(180deg, #8d0d21 0%, #cf112d 55%, #ff2f4f 100%);
	border-radius: 999px;
}

/* SELEÇÃO */
::selection{
	background: rgba(207,17,45,0.30);
	color: #fff;
}