/* Formulaire du programme pilote. Deux variantes : .qnf-dark (défaut) et .qnf-light. */
.qnf { --qnf-text: #fff; --qnf-label: #E6EEF7; --qnf-muted: #B3C7DC; --qnf-opt: #8FA6BE; --qnf-bg: rgba(6,17,31,.55); --qnf-border: rgba(143,184,224,.28); --qnf-focus: #8FB8E0; --qnf-err: #FF8A80; --qnf-ok: #4CC38A; --qnf-link: #8FB8E0; }
.qnf-light { --qnf-text: #0D1B2A; --qnf-label: #0A1B2E; --qnf-muted: #4A5B6D; --qnf-opt: #4A5B6D; --qnf-bg: #fff; --qnf-border: #D6DFE8; --qnf-focus: #00599B; --qnf-err: #C4342D; --qnf-ok: #2E9E6E; --qnf-link: #00599B; }

.qnf-form { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.qnf-field { display: grid; gap: 7px; }
.qnf-full { grid-column: 1 / -1; }
.qnf label { font-size: 15px; font-weight: 500; color: var(--qnf-label); }
.qnf-opt { font-weight: 400; color: var(--qnf-opt); }
.qnf input:not([type="checkbox"]), .qnf select, .qnf textarea {
	font: inherit; font-size: 16px; color: var(--qnf-text); background-color: var(--qnf-bg);
	border: 1px solid var(--qnf-border); border-radius: 10px; padding: 13px 14px; width: 100%; box-sizing: border-box;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.qnf textarea { min-height: 96px; resize: vertical; }
.qnf select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238FB8E0' stroke-width='1.6' fill='none'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; }
.qnf select option { color: #0D1B2A; }
.qnf input:focus, .qnf select:focus, .qnf textarea:focus { outline: none; border-color: var(--qnf-focus); box-shadow: 0 0 0 4px color-mix(in srgb, var(--qnf-focus) 20%, transparent); }
.qnf .is-bad input, .qnf .is-bad select { border-color: var(--qnf-err); }
.qnf-msg { font-size: 14px; color: var(--qnf-err); }
.qnf-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.qnf-consent { grid-column: 1 / -1; display: grid; grid-template-columns: 22px 1fr; gap: 12px; align-items: start; font-size: 15px; font-weight: 400 !important; color: var(--qnf-muted) !important; }
.qnf-consent input { width: 20px; height: 20px; margin: 2px 0 0; accent-color: #00599B; }
.qnf-consent a { color: var(--qnf-link); }
.qnf-consent.is-bad { color: var(--qnf-err) !important; }
.qnf-submit { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.qnf-submit button[disabled] { opacity: .65; cursor: progress; }
.qnf-sent-title { font-family: var(--wp--preset--font-family--qantum, inherit); font-weight: 600; font-size: 28px; margin: 10px 0 8px; color: var(--qnf-label); }
.qnf-sent p:last-child { margin: 0; color: var(--qnf-muted); }
.qnf-tick { width: 52px; height: 52px; border-radius: 50%; background: color-mix(in srgb, var(--qnf-ok) 16%, transparent); display: grid; place-items: center; }
.qnf-tick svg { width: 26px; height: 26px; stroke: var(--qnf-ok); fill: none; stroke-width: 2.6; }
@media (max-width: 560px) { .qnf-form { grid-template-columns: 1fr; } }
