/* ══════════════════════════════════════════════════════════════
   Vicuña Formulario — CSS Grid, clases únicas, !important
   ══════════════════════════════════════════════════════════════ */

.wp-custom-form *,
.wp-custom-form *::before,
.wp-custom-form *::after {
	box-sizing: border-box !important;
}

.wp-custom-form {
	width: 100% !important;
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}

/* ── Grid principal ─────────────────────────────────────────── */

.wp-custom-form .wcf-grid {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr) !important;
	gap: 16px !important;
	width: 100% !important;
}

.wp-custom-form .wcf-group {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wp-custom-form .wcf-full {
	grid-column: 1 / -1 !important;
}

.wp-custom-form .wcf-btn-wrap {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
}

/* ── Campos ─────────────────────────────────────────────────── */

.wp-custom-form input[type="text"],
.wp-custom-form input[type="email"],
.wp-custom-form textarea {
	display: block !important;
	width: 100% !important;
	background-color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 18px 20px !important;
	margin: 0 !important;
	font-size: 1rem !important;
	font-family: inherit !important;
	color: #333333 !important;
	outline: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	text-align: left !important;
	transition: background-color 0.15s ease, outline 0.15s ease !important;
	max-width: none !important;
}

.wp-custom-form input[type="text"]::placeholder,
.wp-custom-form input[type="email"]::placeholder,
.wp-custom-form textarea::placeholder {
	color: #999999 !important;
	font-size: 0.95rem !important;
}

.wp-custom-form input[type="text"]:focus,
.wp-custom-form input[type="email"]:focus,
.wp-custom-form textarea:focus {
	background-color: #fafafa !important;
	outline: 2px solid rgba(0,0,0,0.08) !important;
}

.wp-custom-form textarea {
	height: 220px !important;
	resize: none !important;
	vertical-align: top !important;
	line-height: 1.6 !important;
}

/* ── Botón ──────────────────────────────────────────────────── */

.wp-custom-form .wcf-btn {
	display: inline-block !important;
	width: auto !important;
	background-color: #b30000 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 6px !important;
	padding: 16px 44px !important;
	margin: 0 !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	font-family: inherit !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	cursor: pointer !important;
	line-height: 1.4 !important;
	transition: background-color 0.2s ease, transform 0.15s ease !important;
}

.wp-custom-form .wcf-btn:hover    { background-color: #900000 !important; transform: translateY(-1px) !important; }
.wp-custom-form .wcf-btn:active   { transform: translateY(0) !important; }
.wp-custom-form .wcf-btn:disabled { background-color: #888 !important; cursor: not-allowed !important; transform: none !important; }

/* ── Validación ─────────────────────────────────────────────── */

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

.wp-custom-form input.wcf-error,
.wp-custom-form textarea.wcf-error {
	background-color: #fff5f5 !important;
	outline: 2px solid rgba(179,0,0,0.6) !important;
	animation: wcf-shake 0.4s ease !important;
}

/* ── Respuesta ──────────────────────────────────────────────── */

.wp-custom-form .wcf-response {
	display: none !important;
	grid-column: 1 / -1 !important;
	padding: 14px 18px !important;
	border-radius: 6px !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
}

.wp-custom-form .wcf-response.wcf-ok  { display: block !important; background-color: #eafaf1 !important; color: #0a7e07 !important; border-left: 4px solid #0a7e07 !important; }
.wp-custom-form .wcf-response.wcf-err { display: block !important; background-color: #fff0f0 !important; color: #b30000 !important; border-left: 4px solid #b30000 !important; }

/* ── Pantalla de éxito ──────────────────────────────────────── */

.wp-custom-form .wcf-success {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	text-align: center !important;
	gap: 16px !important;
	padding: 48px 24px !important;
	background-color: rgba(255,255,255,0.95) !important;
	border-radius: 8px !important;
}

.wp-custom-form .wcf-success-icon {
	width: 60px !important;
	height: 60px !important;
	background-color: #0a7e07 !important;
	border-radius: 50% !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 28px !important;
	color: #fff !important;
	margin: 0 auto !important;
}

.wp-custom-form .wcf-success h3 { font-size: 1.25rem !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 !important; }
.wp-custom-form .wcf-success p  { font-size: 0.95rem !important; color: #555 !important; margin: 0 !important; }

/* ── Responsive ─────────────────────────────────────────────── */

@media (max-width: 600px) {
	.wp-custom-form .wcf-grid { grid-template-columns: 1fr !important; }
	.wp-custom-form .wcf-btn  { width: 100% !important; text-align: center !important; }
	.wp-custom-form .wcf-btn-wrap { justify-content: stretch !important; }
}
