/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Description: Tema hijo de Hello Elementor para Flota en regla.
Author: Flota en regla
Version: 1.3.0
Text Domain: hello-elementor-child
*/

/* Fondo oscuro: casillas, desplegables y barras del navegador en oscuro. */
:root { color-scheme: dark; }

/* Foco de teclado visible en toda la web. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
	outline: 2px solid var(--amarillo, #f5b800);
	outline-offset: 2px;
}

/* ---------- Contact Form 7 (lo que el Kit de Elementor no cubre) ---------- */
.wpcf7 form > p, .wpcf7 .fr-fila > p, .wpcf7 .fr-grupo { margin: 0 0 18px; }
.wpcf7 .fr-fila { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 20px; }
@media (max-width: 767px) { .wpcf7 .fr-fila { grid-template-columns: minmax(0, 1fr); } }
.wpcf7 label, .wpcf7 .fr-etiqueta {
	display: block; margin-bottom: 6px;
	font-family: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif;
	font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--tinta, #eef3f6);
}
.wpcf7 .fr-opcional { font-weight: 400; color: var(--tinta-suave, #a3b3bf); }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 select, .wpcf7 textarea {
	width: 100%; min-height: 48px; padding: 12px 14px;
	font-family: "Barlow", system-ui, sans-serif; font-size: 17px; line-height: 1.4;
	color: var(--tinta, #eef3f6); background-color: var(--noche, #0f1a24);
	border: 1px solid var(--linea, #263645); border-radius: 6px;
}
.wpcf7 textarea { min-height: 120px; resize: vertical; }
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus { border-color: var(--amarillo, #f5b800); }
.wpcf7 .wpcf7-radio, .wpcf7 .wpcf7-acceptance { display: flex; flex-wrap: wrap; gap: 4px 24px; }
.wpcf7 .wpcf7-list-item { margin: 0; }
.wpcf7 .wpcf7-list-item label {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin: 0;
	font-family: "Barlow", system-ui, sans-serif; font-weight: 400; font-size: 17px; cursor: pointer;
}
.wpcf7 input[type="radio"], .wpcf7 input[type="checkbox"] { width: 20px; height: 20px; margin: 0; accent-color: var(--amarillo, #f5b800); flex: none; }
.wpcf7 .fr-acepto .wpcf7-list-item label { font-size: 16px; color: var(--tinta-suave, #a3b3bf); }
.wpcf7 .fr-acepto a { color: var(--amarillo, #f5b800); text-decoration: underline; }
.wpcf7 .fr-enviar {
	min-height: 48px; padding: 14px 26px; border: 0; border-radius: 6px; cursor: pointer;
	font-family: "Barlow Semi Condensed", "Barlow", system-ui, sans-serif; font-weight: 600; font-size: 19px; line-height: 1.2;
	color: var(--sobre-amarillo, #14202b); background-color: var(--amarillo, #f5b800);
}
.wpcf7 .fr-enviar:hover { background-color: var(--amarillo-hover, #ffcb2e); }
.wpcf7 .fr-enviar:disabled { opacity: .6; cursor: not-allowed; }
.wpcf7 .wpcf7-spinner { margin: 0 0 0 12px; }
.wpcf7 .wpcf7-not-valid-tip { margin-top: 6px; font-size: 15px; color: #ef7a6f; }
.wpcf7 .wpcf7-not-valid { border-color: #ef7a6f; }
.wpcf7 form .wpcf7-response-output {
	margin: 16px 0 0; padding: 12px 16px; border-radius: 6px; border-width: 1px;
	font-size: 16px; color: var(--tinta, #eef3f6);
}
.wpcf7 form.sent .wpcf7-response-output { border-color: #2b9a5c; }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output { border-color: #f2b705; }
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.spam .wpcf7-response-output { border-color: #ef7a6f; }