/* ---------- Formulario de contacto (WPForms dentro de #formulario-contacto) ---------- */
#formulario-contacto .wpforms-container {
	margin: 0;
	max-width: none;
	color: var(--pp-purple);
}

#formulario-contacto .wpforms-field {
	padding: 0;
	margin-bottom: 18px;
}

#formulario-contacto .wpforms-field-label,
#formulario-contacto .wpforms-field-label-inline {
	display: block;
	margin: 0 0 4px;
	font: 500 1.125rem/1.4 var(--pp-font);
	color: var(--pp-purple);
}

#formulario-contacto .wpforms-required-label {
	display: none;
}

#formulario-contacto .wpforms-field-sublabel {
	font: 400 .8125rem/1.4 var(--pp-font);
	color: #5f4b72;
}

#formulario-contacto input[type="text"],
#formulario-contacto input[type="email"],
#formulario-contacto input[type="tel"],
#formulario-contacto input[type="url"],
#formulario-contacto input[type="number"],
#formulario-contacto select,
#formulario-contacto textarea {
	width: 100%;
	max-width: none;
	min-height: 44px;
	padding: 8px 2px;
	font: 400 1rem var(--pp-font);
	color: var(--pp-ink);
	background-color: transparent;
	border: 0;
	border-bottom: 2px solid var(--pp-purple);
	border-radius: 0;
	box-shadow: none;
}

#formulario-contacto input::placeholder,
#formulario-contacto textarea::placeholder {
	color: #7a6a8a;
}

#formulario-contacto input[type="text"]:focus,
#formulario-contacto input[type="email"]:focus,
#formulario-contacto input[type="tel"]:focus,
#formulario-contacto input[type="url"]:focus,
#formulario-contacto input[type="number"]:focus,
#formulario-contacto select:focus,
#formulario-contacto textarea:focus {
	outline: none;
	border-bottom-color: var(--purple-500, #a242d7);
	box-shadow: 0 2px 0 var(--purple-500, #a242d7);
}

#formulario-contacto textarea {
	height: 88px;
	min-height: 88px;
	resize: vertical;
}

/* Sin flechitas en el campo numérico */
#formulario-contacto input[type="number"] {
	appearance: textfield;
	-moz-appearance: textfield;
}

#formulario-contacto input[type="number"]::-webkit-outer-spin-button,
#formulario-contacto input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Teléfono y País en dos columnas */
#formulario-contacto .wpforms-one-half {
	width: calc(50% - 10px);
	margin-left: 20px;
	float: left;
}

#formulario-contacto .wpforms-one-half.wpforms-first {
	margin-left: 0;
	clear: both;
}

#formulario-contacto .wpforms-field-container::after {
	content: "";
	display: table;
	clear: both;
}

/* Botón */
#formulario-contacto .wpforms-submit-container {
	padding: 0;
	margin-top: 8px;
}

#formulario-contacto button.wpforms-submit,
#formulario-contacto .wpforms-submit-container button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 48px;
	padding: 12px 28px;
	border: 0;
	border-radius: var(--pp-pill);
	background-color: var(--pp-purple);
	color: var(--pp-lime);
	font: 700 1rem/1 var(--pp-font);
	text-transform: none;
	cursor: pointer;
	transition: transform .15s ease;
}

#formulario-contacto button.wpforms-submit:hover,
#formulario-contacto button.wpforms-submit:focus,
#formulario-contacto button.wpforms-submit:focus-visible,
#formulario-contacto button.wpforms-submit:active {
	background-color: var(--pp-purple);
	color: var(--pp-lime);
	transform: translateY(-2px);
}

/* Errores y confirmación */
#formulario-contacto .wpforms-error,
#formulario-contacto label.wpforms-error {
	font: 400 .875rem/1.4 var(--pp-font);
	color: #8a1038;
}

#formulario-contacto input.wpforms-error,
#formulario-contacto textarea.wpforms-error {
	border-bottom-color: #8a1038;
}

#formulario-contacto .wpforms-confirmation-container-full,
#formulario-contacto div.wpforms-confirmation-container-full {
	margin: 0;
	padding: 16px 18px;
	border: 0;
	border-radius: 14px;
	background-color: var(--pp-lime);
	color: var(--pp-purple);
	font: 700 1rem/1.5 var(--pp-font);
}

@media (max-width: 560px) {
	#formulario-contacto .wpforms-one-half {
		width: 100%;
		margin-left: 0;
		float: none;
	}
}
