/*
 * NewsPress — Estilos de Contact Form 7.
 * Se carga solo en páginas que contienen el shortcode [contact-form-7].
 * Usa las mismas variables CSS definidas en style.css.
 */

.wpcf7 { max-width: 780px; margin: 0 auto; }

.wpcf7-form {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 28px;
}
.wpcf7-form fieldset { display: none; }

.wpcf7-form p:nth-of-type(n+5) { grid-column: 1 / -1; }
.wpcf7-response-output          { grid-column: 1 / -1; }

.wpcf7-form p { margin-bottom: 22px; }
.wpcf7-form br { display: none; }
.wpcf7-form-control-wrap { display: block; }

.wpcf7-form label {
	display: block;
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--color-text-secondary);
	margin-bottom: 8px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea {
	display: block;
	width: 100%;
	padding: 12px 16px;
	border: 1px solid var(--color-border);
	background: var(--color-bg);
	font-family: var(--font-sans);
	font-size: 15px;
	color: var(--color-text);
	border-radius: var(--radius);
	transition: border-color .2s, box-shadow .2s;
	box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
}
.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 12%, transparent);
}
.wpcf7-form textarea { resize: vertical; min-height: 150px; }

.wpcf7-form input[type="submit"] {
	background: var(--color-primary);
	color: #fff;
	border: none;
	padding: 14px 36px;
	font-family: var(--font-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	border-radius: var(--radius);
	cursor: pointer;
	transition: opacity .2s, transform .15s;
	-webkit-appearance: none;
	appearance: none;
}
.wpcf7-form input[type="submit"]:hover {
	opacity: .87;
	transform: translateY(-1px);
}
.wpcf7-form input[type="submit"]:active { transform: translateY(0); }

.wpcf7-spinner {
	display: none;
	width: 18px;
	height: 18px;
	vertical-align: middle;
	margin-left: 10px;
	opacity: .6;
}
.wpcf7-form.submitting .wpcf7-spinner { display: inline-block; }

.wpcf7-not-valid { border-color: var(--color-accent) !important; }
.wpcf7-not-valid-tip {
	display: block;
	font-family: var(--font-sans);
	font-size: 11px;
	font-weight: 700;
	color: var(--color-accent);
	margin-top: 6px;
	letter-spacing: .03em;
}

.wpcf7-response-output {
	margin: 4px 0 0 !important;
	padding: 14px 20px !important;
	border-radius: var(--radius) !important;
	font-family: var(--font-sans) !important;
	font-size: 14px !important;
	border: none !important;
	border-left: 3px solid currentColor !important;
}
.wpcf7-mail-sent-ok {
	background: #edf7f1 !important;
	color: #1a6b3d !important;
}
.wpcf7-mail-sent-ng,
.wpcf7-aborted,
.wpcf7-spam-blocked {
	background: #fdf0f0 !important;
	color: #8b1a1a !important;
}
.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
	background: #fdf5e6 !important;
	color: #7a5000 !important;
}

@media (max-width: 768px) {
	.wpcf7-form { grid-template-columns: 1fr; }
	.wpcf7-form p:nth-of-type(n+5) { grid-column: auto; }
}
