/* "Faites-vous rappeler" form, rendered by js/demo-callback.js inside the demo boxes */
.nf-callback-or { margin: 1.4rem 0 1rem; font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: #64748b; }
.nf-callback-form { max-width: 460px; margin: 0 auto; text-align: left; }
.nf-callback-title { margin: 0 0 0.2rem; font-weight: 700; font-size: 1.05rem; color: #1e293b; text-align: center; }
.nf-callback-hint { margin: 0 0 0.8rem; font-size: 0.85rem; color: #475569; text-align: center; }
.nf-callback-row { display: flex; gap: 8px; }
.nf-callback-row input { flex: 1; min-width: 0; padding: 0.7rem 0.9rem; font-size: 1rem; border: 1px solid #cbd5e1; border-radius: 10px; background: #fff; color: #1e293b; }
.nf-callback-row input:focus { outline: 2px solid #93c5fd; border-color: #1e40af; }
.nf-callback-row button { padding: 0.7rem 1.1rem; font-weight: 700; font-size: 0.95rem; color: #fff; background: #1e40af; border: 0; border-radius: 10px; cursor: pointer; white-space: nowrap; }
.nf-callback-row button:disabled { opacity: 0.6; cursor: default; }
.nf-callback-hp { position: absolute; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.nf-callback-consent { display: flex; gap: 8px; align-items: flex-start; margin: 0.7rem 0 0; font-size: 0.78rem; line-height: 1.4; color: #475569; font-weight: 400; cursor: pointer; }
.nf-callback-consent input { margin-top: 2px; flex-shrink: 0; }
.nf-callback-consent a { color: #1e40af; text-decoration: underline; }
.nf-callback-message { margin: 0.6rem 0 0; font-size: 0.88rem; min-height: 1.2em; text-align: center; }
.nf-callback-message.is-ok { color: #15803d; }
.nf-callback-message.is-error { color: #b91c1c; }
@media (max-width: 480px) {
  .nf-callback-row { flex-direction: column; }
}
