/* Formulaire de demande Zeniva Security — s'appuie sur style.css (variables) */
.lf{max-width:820px;margin:34px auto 0;text-align:left;padding:clamp(20px,3.5vw,34px);border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,rgba(14,28,40,.7),rgba(5,10,16,.78));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.lf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}
.lf-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.lf-f.full{grid-column:1/-1}
.lf label,.lf .lf-lab{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--fg)}
.lf .req{color:var(--au);margin-left:3px}
.lf .opt{color:var(--mut);margin-left:6px;letter-spacing:0}
.lf input[type=text],.lf input[type=email],.lf input[type=tel],.lf select,.lf textarea{width:100%;font:inherit;font-size:16px;color:var(--fg);background:rgba(2,5,10,.7);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-height:46px;transition:border-color .2s,box-shadow .2s}
.lf textarea{min-height:130px;resize:vertical;line-height:1.5}
.lf select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cy) 50%),linear-gradient(135deg,var(--cy) 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
.lf select option{background:#07101a;color:var(--fg)}
.lf input:hover,.lf select:hover,.lf textarea:hover{border-color:rgba(34,229,255,.4)}
.lf input:focus,.lf select:focus,.lf textarea:focus{outline:none;border-color:var(--cy);box-shadow:0 0 0 3px rgba(34,229,255,.18)}
.lf [aria-invalid=true]{border-color:#ff6b6b}
.lf [aria-invalid=true]:focus{box-shadow:0 0 0 3px rgba(255,107,107,.22)}
.lf-err{margin:0;font-size:13px;color:#ff8d8d;line-height:1.4}
.lf-err[hidden]{display:none}
.lf-count{align-self:flex-end;font-family:var(--mono);font-size:11px;color:var(--mut)}
.lf-consent{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:rgba(2,5,10,.45)}
.lf-consent input{flex:none;width:22px;height:22px;margin:2px 0 0;accent-color:var(--cy);cursor:pointer}
.lf-consent label{font-family:var(--sans);font-size:14px;letter-spacing:0;color:var(--mut);line-height:1.5;cursor:pointer}
.lf-consent a{text-decoration:underline}
.lf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.lf-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:22px}
.lf .btn{min-height:48px}
.lf .btn[disabled]{opacity:.75;cursor:progress}
.lf .btn.loading::before{content:"";display:inline-block;width:14px;height:14px;margin-right:10px;vertical-align:-2px;border:2px solid rgba(26,18,0,.35);border-top-color:#1a1200;border-radius:50%;animation:lfspin .8s linear infinite}
@keyframes lfspin{to{transform:rotate(360deg)}}
.lf-note{font-size:13px;color:var(--mut);margin:0;max-width:46ch}
.lf-status{margin-top:18px}
.lf-status:empty{display:none}
.lf-status .box{padding:14px 18px;border-radius:12px;font-size:15px;border:1px solid var(--line)}
.lf-status .box.err{border-color:rgba(255,107,107,.55);background:rgba(255,107,107,.07);color:#ffc9c9}
.lf-status .box a{text-decoration:underline}
.lf-ok{text-align:center;padding:clamp(10px,3vw,30px) 0}
.lf-ok .tick{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:50%;border:1px solid var(--gr);color:var(--gr);font-size:28px;margin-bottom:12px;box-shadow:0 0 30px rgba(57,255,136,.25)}
.lf-ok h3{font-size:clamp(22px,3vw,30px);margin:.2em 0}
.lf-ok p{color:var(--mut);max-width:50ch;margin:.4em auto 0}
.lf-ok:focus{outline:none}
.lf-sec{max-width:820px;margin:18px auto 0;text-align:center}
.lf-sec a{font-family:var(--mono);font-size:13px}
@media(max-width:640px){.lf-grid{grid-template-columns:1fr}}
