/**
 * CF7 AI Voice — estilos del botón de voz.
 * Prefijo .cav- para no colisionar con temas ni CF7.
 */

.cav-voice-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 10px 0;
	padding: 10px 18px;
	border: 2px solid #2271b1;
	border-radius: 6px;
	background: #ffffff;
	color: #2271b1;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cav-voice-btn:hover {
	background: #f0f6fc;
}

.cav-voice-btn.cav-recording {
	border-color: #d63638;
	background: #d63638;
	color: #ffffff;
	animation: cav-pulse 1.2s ease-in-out infinite;
}

.cav-voice-btn.cav-processing {
	border-color: #996800;
	background: #996800;
	color: #ffffff;
	cursor: wait;
}

.cav-btn-icon {
	font-size: 18px;
	line-height: 1;
}

.cav-btn-msg {
	display: block;
	width: 100%;
	margin-top: 4px;
	font-size: 13px;
	font-weight: 400;
}

.cav-btn-msg.cav-ok { color: #1e8e3e; }
.cav-btn-msg.cav-error { color: #d63638; }
.cav-btn-msg.cav-info { color: #50575e; }

.cav-voice-btn.cav-recording .cav-btn-msg,
.cav-voice-btn.cav-processing .cav-btn-msg {
	color: #ffffff;
}

/* v0.2.3: campos que quedaron vacíos tras el llenado por IA */
.cav-empty-field {
	border-color: #d97706 !important;
	box-shadow: 0 0 0 1px rgba(217, 119, 6, 0.45);
}

@keyframes cav-pulse {
	0%   { box-shadow: 0 0 0 0 rgba(214, 54, 56, 0.5); }
	70%  { box-shadow: 0 0 0 10px rgba(214, 54, 56, 0); }
	100% { box-shadow: 0 0 0 0 rgba(214, 54, 56, 0); }
}
