/* ============================================================
   Formularios (Contact Form 7 + formularios estáticos de respaldo)
   Clase contenedora .mwm-form (html_class del shortcode CF7).
   Variantes: --inverse (fondo oscuro/azul), --inline (email + botón en línea).

   Plantillas CF7 recomendadas (pestaña Formulario):
   Contacto:
     <div class="mwm-form__row">
       <p><label>Nombre [text* nombre placeholder "Tu nombre"]</label></p>
       <p><label>Email [email* email placeholder "tu.nombre@uca.es"]</label></p>
     </div>
     <p><label>Motivo de la consulta [select motivo "Quiero una primera cita" "Información sobre programas" "Coworking El Olivillo" "Convocatorias y premios" "Prensa o colaboración" "Otro"]</label></p>
     <p><label>Mensaje [textarea* mensaje x5 placeholder "Cuéntanos en qué punto estás y cómo podemos ayudarte."]</label></p>
     <p class="mwm-form__legal">[acceptance privacidad] He leído la <a href="/privacidad/">política de privacidad</a> y acepto el tratamiento de mis datos. [/acceptance]</p>
     <p>[submit class:mwm-btn class:mwm-btn--primary class:mwm-btn--lg "Enviar mensaje"]</p>
   Boletín:
     <div class="mwm-form__inline"><label class="mwm-sr-only" for="nl-email">Tu email</label>[email* email id:nl-email placeholder "tu.nombre@uca.es"][submit class:mwm-btn class:mwm-btn--primary "Suscribirme"]</div>
     <p class="mwm-form__legal">[acceptance privacidad] He leído la <a href="/privacidad/">política de privacidad</a> y acepto el tratamiento de mis datos. [/acceptance]</p>
   ============================================================ */

.mwm-form,
.mwm-form form { display: grid; gap: 20px; }
.mwm-form p { margin: 0; }
.mwm-form br { display: none; }

.mwm-form label,
.mwm-form__label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--mwm-primary);
}
.mwm-form .wpcf7-form-control-wrap { display: block; margin-top: 8px; }

.mwm-form input[type="text"],
.mwm-form input[type="email"],
.mwm-form input[type="tel"],
.mwm-form input[type="url"],
.mwm-form input[type="number"],
.mwm-form input[type="date"],
.mwm-form select,
.mwm-form textarea {
	width: 100%;
	box-sizing: border-box;
	font-family: var(--mwm-font);
	font-size: 16px;
	line-height: 1.4;
	padding: 13px 16px;
	background: #fff;
	color: var(--mwm-text);
	border: 1px solid var(--mwm-border);
	border-radius: var(--mwm-radius-md);
	outline: none;
	transition: border-color var(--mwm-dur-fast), box-shadow var(--mwm-dur-fast);
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
}
.mwm-form select {
	appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23005877' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 18px;
	padding-right: 44px;
}
.mwm-form textarea { resize: vertical; min-height: 140px; }
.mwm-form input:focus,
.mwm-form select:focus,
.mwm-form textarea:focus { border-color: var(--mwm-primary); box-shadow: 0 0 0 2px var(--mwm-focus-color, var(--mwm-primary)); }
.mwm-form ::placeholder { color: var(--mwm-text-tertiary); }

.mwm-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* Aceptación de privacidad */
.mwm-form__legal,
.mwm-form .wpcf7-acceptance,
.mwm-form .wpcf7-acceptance label {
	font-size: 13px;
	line-height: 1.5;
	color: var(--mwm-text-secondary);
	text-transform: none;
	letter-spacing: normal;
	font-weight: 400;
}
.mwm-form .wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.mwm-form .wpcf7-acceptance label { display: flex; gap: 10px; align-items: flex-start; }
.mwm-form__legal label { display: flex; gap: 10px; align-items: flex-start; text-transform: none; letter-spacing: normal; font-weight: 400; font-size: 13px; color: inherit; }
.mwm-form input[type="checkbox"] { margin-top: 3px; accent-color: var(--mwm-accent); width: 16px; height: 16px; flex-shrink: 0; }
.mwm-form__legal a,
.mwm-form .wpcf7-acceptance a { color: var(--mwm-primary); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }

/* Botón de envío (CF7 pinta <input type="submit">) */
.mwm-form input[type="submit"].mwm-btn,
.mwm-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--mwm-font);
	font-weight: 700;
	font-size: 17px;
	letter-spacing: 0.02em;
	padding: 14px 32px;
	border: none;
	border-radius: var(--mwm-radius-md);
	background: var(--mwm-accent);
	color: #fff;
	cursor: pointer;
	box-shadow: var(--mwm-shadow-sm);
	transition: background var(--mwm-dur) var(--mwm-ease-out);
	width: auto;
}
.mwm-form .wpcf7-submit:hover { background: var(--mwm-accent-hover); }
.mwm-form .wpcf7-spinner { margin: 0 0 0 12px; }

/* Línea email + botón */
.mwm-form__inline { display: flex; gap: 8px; align-items: stretch; }
.mwm-form__inline .wpcf7-form-control-wrap { flex: 1; margin-top: 0; }
.mwm-form__inline input[type="email"] { height: 100%; }
.mwm-form__inline .wpcf7-submit,
.mwm-form__inline .mwm-btn { white-space: nowrap; }

/* Mensajes de respuesta */
.mwm-form .wpcf7-response-output {
	margin: 0 !important;
	padding: 12px 16px !important;
	border-radius: var(--mwm-radius-md);
	font-size: 14px;
	border-width: 1px !important;
}
form.mwm-form.sent .wpcf7-response-output,
.mwm-form form.sent .wpcf7-response-output { border-color: #15803d !important; background: #e7f7ee; color: #15803d; }
.mwm-form .wpcf7-not-valid-tip { font-size: 12px; margin-top: 6px; text-transform: none; letter-spacing: normal; }

/* ---------- Variante sobre fondo oscuro / azul ---------- */
.mwm-form--inverse label,
.mwm-form--inverse .mwm-form__label { color: rgba(255, 255, 255, 0.7); }
.mwm-form--inverse input[type="email"],
.mwm-form--inverse input[type="text"] {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.2);
}
.mwm-form--inverse ::placeholder { color: rgba(255, 255, 255, 0.5); }
.mwm-form--inverse .mwm-form__legal,
.mwm-form--inverse .wpcf7-acceptance,
.mwm-form--inverse .wpcf7-acceptance label { color: rgba(255, 255, 255, 0.7); }
.mwm-form--inverse .mwm-form__legal a,
.mwm-form--inverse .wpcf7-acceptance a { color: #fff; }
.mwm-form--inverse .wpcf7-response-output { color: #fff; }

@media (max-width: 760px) {
	.mwm-form__row { grid-template-columns: 1fr; }
	/* Email + botón siguen en línea (maqueta); el botón compacta su relleno */
	.mwm-form__inline .wpcf7-submit,
	.mwm-form__inline .mwm-btn { padding-inline: 18px; font-size: 15px; }
}

/* CF7 envuelve en <p> el contenido de .mwm-form__inline: el <p> no debe romper el flex */
.mwm-form__inline > p { display: contents; }
.mwm-form__inline > p > br { display: none; }

/* Formulario no configurado (CF7 inactivo o ID inexistente) */
.mwm-form-unavailable { margin: 0; padding: 16px 20px; border-radius: var(--mwm-radius-md); background: var(--mwm-bg-muted); color: var(--mwm-text-body); font-size: 15px; line-height: 1.5; }
.mwm-form-unavailable a { color: var(--mwm-primary); font-weight: 700; }
.mwm-form-unavailable.is-inverse { background: rgba(255, 255, 255, 0.08); color: rgba(255, 255, 255, 0.85); }
.mwm-form-unavailable.is-inverse a { color: #fff; }

/* Campos con error: borde y mensaje visibles (también sobre fondo oscuro) */
.mwm-form .wpcf7-not-valid { border-color: var(--mwm-error) !important; box-shadow: 0 0 0 3px rgba(198, 40, 40, 0.12); }
.mwm-form .wpcf7-not-valid-tip { color: var(--mwm-error); font-weight: 700; }
.mwm-form--inverse .wpcf7-not-valid { border-color: var(--mwm-error-inverse) !important; box-shadow: 0 0 0 3px rgba(255, 180, 171, 0.2); }
.mwm-form--inverse .wpcf7-not-valid-tip { color: var(--mwm-error-inverse); }
form.mwm-form.invalid .wpcf7-response-output,
form.mwm-form.unaccepted .wpcf7-response-output { border-color: var(--mwm-error) !important; background: #fdecea; color: var(--mwm-error); }
form.mwm-form--inverse.invalid .wpcf7-response-output,
form.mwm-form--inverse.unaccepted .wpcf7-response-output { border-color: var(--mwm-error-inverse) !important; background: rgba(255, 180, 171, 0.12); color: #fff; }

/* Botón de envío del contacto con el icono de «enviar» de la maqueta (CF7 pinta un <input>) */
.mwm-contact-block .wpcf7-submit {
	padding-right: 56px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='22' y1='2' x2='11' y2='13'/%3E%3Cpolygon points='22 2 15 22 11 13 2 9 22 2'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 28px center;
	background-size: 18px;
}

/* Botón de envío deshabilitado (CF7 lo bloquea hasta aceptar la privacidad): que se note */
.mwm-form .wpcf7-submit:disabled,
.mwm-form .wpcf7-submit[disabled] { opacity: 0.5; cursor: not-allowed; box-shadow: none; }
