/* Estilos específicos para esta página (complementares ao style.css) */
.hero-afiliado {
	background: linear-gradient(135deg, #0b1a33 0%, #1a3a6b 100%);
	padding: 60px 0 50px;
	color: white;
}

.card-cadastro {
	border: none;
	border-radius: 24px;
	background: white;
	box-shadow: 0 12px 40px rgba(0,0,0,0.08);
	padding: 2.5rem 2rem;
	max-width: 500px;
	margin: 0 auto;
}

.card-cadastro .form-control {
	border-radius: 14px;
	padding: 12px 16px;
	border: 1px solid #dce1e8;
	transition: 0.15s;
}

.card-cadastro .form-control:focus {
	border-color: #0d6efd;
	box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.15);
}

.card-cadastro .form-label {
	font-weight: 600;
	color: #1e293b;
}

.btn-cadastrar {
	background: #ff7f00;
	color: white;
	border-radius: 60px;
	font-weight: 700;
	padding: 14px;
	width: 100%;
	border: none;
	transition: 0.15s;
}

.btn-cadastrar:hover {
	background: #e06e00;
	color: white;
}

.beneficios-afiliado {
	background: #f8f9fc;
	padding: 50px 0;
}

.beneficio-item {
	background: white;
	border-radius: 20px;
	padding: 30px 20px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
	height: 100%;
	transition: 0.2s;
}

.beneficio-item:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 24px rgba(0,0,0,0.08);
}

.beneficio-icon {
	font-size: 2.5rem;
	color: #0d6efd;
	margin-bottom: 15px;
}

/* Loading Overlay */
#loadingOverlay {
	animation: fadeIn 0.3s ease;
}

#loadingOverlay .spinner-border {
	animation-duration: 0.8s;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: scale(0.95);
	}
	to {
		opacity: 1;
		transform: scale(1);
	}
}

/* Botão desabilitado */
.btn-cadastrar:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

/* Card com posição relativa para o overlay */
.card-cadastro {
	position: relative;
}

/* rodapé */
.footer-custom {
    background: #0b1a33;
    color: rgba(255,255,255,0.7);
    padding: 30px 0;
    margin-top: 40px;
}

.footer-custom a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
}

.footer-custom a:hover {
    color: white;
}

@media (max-width: 768px) {
	.hero-afiliado h1 {
		font-size: 2rem;
	}
	.card-cadastro {
		padding: 1.5rem;
	}
}
