/* ============================================================
   04-buttons.css — Botões e variantes
   ============================================================ */

.button {
	position: relative;
	overflow: hidden;
	display: inline-block;
	padding: 15px 39px;
	font-size: 14px;
	line-height: 1.25;
	border: 1px solid;
	border-radius: 6px;
	font-family: 'Roboto', 'Segoe UI', Arial, sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-align: center;
	cursor: pointer;
	vertical-align: middle;
	user-select: none;
	transition: 0.25s cubic-bezier(0.2, 1, 0.3, 1);
}

.button-block { display: block; width: 100%; }

.button-sm { padding: 9px 32px; font-size: 12px; line-height: 1.5; }
.button-lg { padding: 14px 35px; font-size: 15px; line-height: 1.5; }
@media (min-width: 576px) {
	.button-lg { font-size: 16px; padding-left: 55px; padding-right: 55px; }
}

/* Variantes de cor */
.button.button-primary,
.button.button-primary:focus {
	color: #fff;
	background-color: #354879;
	border-color: #354879;
}
.button.button-primary:hover,
.button.button-primary:active {
	color: #fff;
	background-color: #28334f;
	border-color: #28334f;
}

.button-white-outline,
.button-white-outline:focus {
	color: #fff;
	background-color: transparent;
	border-color: #fff;
}
.button-white-outline:hover,
.button-white-outline:active {
	color: #354879;
	background-color: #fff;
	border-color: #fff;
}

.button-primary-outline,
.button-primary-outline:focus {
	color: black;
	background-color: transparent;
	border-color: #354879;
}
.button-primary-outline:hover,
.button-primary-outline:active {
	color: #fff;
	background-color: #354879;
	border-color: #354879;
}

/* Efeito Winona (hover animado) */
.button-winona {
	position: relative;
	overflow: hidden;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
}
.button-winona .content-original,
.button-winona .content-dubbed {
	vertical-align: middle;
	transition: transform 0.3s cubic-bezier(0.2, 1, 0.3, 1), opacity 0.3s cubic-bezier(0.2, 1, 0.3, 1);
}
.button-winona .content-original { display: block; }
.button-winona .content-dubbed {
	position: absolute;
	width: 100%;
	top: 50%;
	left: 0;
	opacity: 0;
	transform: translate3d(0, 0, 0);
}
.button-winona:hover .content-original { opacity: 0; transform: translate3d(0, -30%, 0); }
.button-winona:hover .content-dubbed { opacity: 1; transform: translate3d(0, 0, 0) translateY(-50%); }

/* Shimmer (navbar CTA) */
.shimmer { position: relative; overflow: hidden; }
.shimmer::before {
	content: '';
	position: absolute;
	top: 0; left: -100%;
	width: 100%; height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.8), transparent);
	animation: shimmerSlide 2s infinite;
}
@keyframes shimmerSlide {
	0% { left: -100%; }
	100% { left: 100%; }
}
