/* =========================================================================
   forms.css — Estilos para formularios Contact Form 7 (contacto, colaboradores,
   particulares). Coherentes con el sistema de diseño (variables.css).
   ========================================================================= */

/* Contenedor de formulario dentro de nuestras secciones */
.abogalis-form {
	max-width: 720px;
	margin-inline: auto;
}

/* Al saltar con #solicitar-info, deja hueco para que el título no quede bajo
   la cabecera superpuesta. */
#solicitar-info {
	scroll-margin-top: 100px;
}

/* Campos */
.wpcf7-form p { margin: 0 0 16px; }

.wpcf7-form label {
	display: block;
	font-weight: var(--fw-semibold);
	color: var(--navy);
	margin-bottom: 6px;
	font-size: 0.95rem;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
	width: 100%;
	font-family: var(--font-sans);
	font-size: 1rem;
	color: var(--ink);
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: var(--radius-sm);
	padding: 12px 14px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.wpcf7-form input:focus,
.wpcf7-form select:focus,
.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--blue);
	box-shadow: 0 0 0 3px rgba(8, 124, 167, 0.14);
}

.wpcf7-form textarea { min-height: 130px; resize: vertical; }

/* Filas de dos columnas (usa <div class="form-row">…</div> en el markup CF7) */
.wpcf7-form .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
@media (max-width: 600px) {
	.wpcf7-form .form-row { grid-template-columns: 1fr; }
}

/* Radios y checkboxes */
.wpcf7-form .wpcf7-radio .wpcf7-list-item,
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 6px 16px 6px 0;
	font-weight: var(--fw-normal);
	color: var(--ink);
}

/* Consentimiento RGPD */
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item {
	margin: 0;
	font-size: 0.9rem;
	color: var(--muted);
}
.wpcf7-form .wpcf7-acceptance a { color: var(--blue); text-decoration: underline; }

/* Pregunta anti-spam (quiz) */
.wpcf7-form .wpcf7-quiz { width: 100%; }

/* Botón enviar (reutiliza el aspecto de .button-primary) */
.wpcf7-form input[type="submit"],
.wpcf7-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-sans);
	font-weight: var(--fw-heading);
	font-size: 1rem;
	color: var(--white);
	background: var(--grad-button);
	border: 1px solid var(--blue);
	border-radius: var(--radius-btn);
	padding: 14px 26px;
	cursor: pointer;
	box-shadow: var(--shadow-sm);
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}
.wpcf7-form input[type="submit"]:hover {
	transform: translateY(-1px);
	box-shadow: 0 12px 28px rgba(8, 124, 167, 0.28);
}

/* Mensajes de validación / respuesta */
.wpcf7 .wpcf7-response-output {
	border-radius: var(--radius-sm);
	margin: 18px 0 0;
	padding: 12px 16px;
	font-size: 0.95rem;
}
.wpcf7-not-valid-tip { color: #b3261e; font-size: 0.85rem; }
.wpcf7-form .wpcf7-spinner { margin: 0 0 0 10px; }

/* Campo obligatorio: asterisco discreto */
.wpcf7-form label .req { color: var(--blue); }
