.insis-registros-form-wrap {
	width: 100%;
	position: relative;
}

.insis-registros-form-panel,
.insis-registros-success-panel {
	transition: opacity 0.25s ease, transform 0.25s ease;
}

.insis-registros-form-wrap.is-loading {
	pointer-events: none;
}

.insis-registros-form-wrap.is-loading .insis-registros-form {
	opacity: 0.72;
}

.insis-registros-form-wrap.has-error .insis-registros-form-panel {
	animation: insis-registros-shake 0.45s ease;
}

@keyframes insis-registros-shake {
	0%,
	100% {
		transform: translateX(0);
	}
	20%,
	60% {
		transform: translateX(-4px);
	}
	40%,
	80% {
		transform: translateX(4px);
	}
}

.insis-registros-notice {
	margin-bottom: 1rem;
	padding: 0.875rem 1rem;
	border-radius: 0.75rem;
	font-size: 0.875rem;
	line-height: 1.5;
}

.insis-registros-notice--success {
	background: #ecfdf3;
	border: 1px solid #86efac;
	color: #166534;
}

.insis-registros-notice--error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	color: #991b1b;
}

.insis-registros-honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.insis-registros-required {
	color: #ef4444;
}

.insis-registros-submit {
	cursor: pointer;
	border: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.insis-registros-submit:disabled {
	cursor: wait;
	opacity: 0.85;
}

.insis-registros-submit-spinner {
	display: none;
	width: 1rem;
	height: 1rem;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: #fff;
	border-radius: 999px;
	animation: insis-registros-spin 0.7s linear infinite;
}

.insis-registros-form-wrap.is-loading .insis-registros-submit-spinner {
	display: inline-block;
}

@keyframes insis-registros-spin {
	to {
		transform: rotate(360deg);
	}
}

.insis-registros-field textarea {
	resize: vertical;
	min-height: 6rem;
}

.insis-registros-success-panel {
	text-align: center;
	padding: 1.5rem 0.5rem 0.25rem;
	animation: insis-registros-fade-in 0.35s ease;
}

@keyframes insis-registros-fade-in {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.insis-registros-success-icon {
	width: 4rem;
	height: 4rem;
	margin: 0 auto 1rem;
	border-radius: 999px;
	background: #ecfdf3;
	color: #16a34a;
	display: flex;
	align-items: center;
	justify-content: center;
}

.insis-registros-success-icon svg {
	width: 2rem;
	height: 2rem;
}

.insis-registros-success-title {
	margin: 0 0 0.75rem;
	font-family: Poppins, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: #002f3a;
}

.insis-registros-success-message {
	margin: 0 0 1.25rem;
	font-size: 0.9375rem;
	line-height: 1.6;
	color: #475569;
}

.insis-registros-reset {
	background: transparent;
	border: 0;
	color: #43da65;
	font-size: 0.875rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 3px;
	padding: 0.25rem 0.5rem;
}

.insis-registros-reset:hover {
	color: #002f3a;
}

.insis-registros-success-title:focus,
.insis-registros-reset:focus,
.insis-registros-feedback:focus {
	outline: 2px solid #43da65;
	outline-offset: 2px;
}
