.ezf{--g:#c9a24b;--k:#111;--r:16px;font-family:-apple-system,Segoe UI,Roboto,Arial,sans-serif;max-width:640px;margin:30px auto;padding:0 12px;box-sizing:border-box}
.ezf *{box-sizing:border-box}
.ezf-card{background:#fff;border-radius:calc(var(--r) + 4px);box-shadow:0 20px 60px rgba(0,0,0,.14);overflow:hidden;animation:ezfUp .6s cubic-bezier(.2,.8,.2,1)}
@keyframes ezfUp{from{opacity:0;transform:translateY(24px)}}
.ezf-head{text-align:center;padding:24px 20px 8px}.ezf-head img{width:180px;max-width:70%;height:auto}
.ezf-intro{text-align:center;color:#666;margin:0 28px 14px;font-size:14px}
.ezf-progress{height:5px;background:#eee}.ezf-progress span{display:block;height:100%;width:0;background:var(--g);transition:width .5s}
.ezf-dots{display:flex;justify-content:space-between;list-style:none;margin:0;padding:14px 28px 0;font-size:11px;color:#aaa;text-transform:uppercase;letter-spacing:.05em}
.ezf-dots li.on{color:var(--k);font-weight:700}
#ezf-form{padding:8px 28px 28px}
.ezf-step{display:none}.ezf-step.on{display:block;animation:ezfIn .4s ease}
@keyframes ezfIn{from{opacity:0;transform:translateX(24px)}}
.ezf-step.back.on{animation-name:ezfInB}@keyframes ezfInB{from{opacity:0;transform:translateX(-24px)}}
.ezf h3{font-size:21px;margin:12px 0 16px;color:var(--k)}
.ezf-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.ezf-f.full{grid-column:1/-1}
.ezf-f{display:block;position:relative;margin-bottom:16px}
.ezf-f input[type=text],.ezf-f input:not([type=radio]),.ezf-f select,.ezf-f textarea{width:100%;padding:20px 14px 8px;border:2px solid #e4e4e4;border-radius:var(--r);font-size:16px;background:#fafafa;transition:.2s;outline:0;font-family:inherit;color:#111;height:auto;min-height:54px}
.ezf-f input:focus,.ezf-f select:focus,.ezf-f textarea:focus{border-color:var(--g);background:#fff;box-shadow:0 0 0 4px rgba(0,0,0,.05)}
.ezf-f span{position:absolute;left:15px;top:17px;color:#888;font-size:16px;pointer-events:none;transition:.2s}
.ezf-f input:focus+span,.ezf-f input:not(:placeholder-shown)+span,.ezf-f textarea:focus+span,.ezf-f textarea:not(:placeholder-shown)+span,.ezf-f.up span{top:5px;font-size:11px;color:var(--g);font-weight:700}
.ezf-f.bad input,.ezf-f.bad select,.ezf-f.bad textarea{border-color:#d33;animation:ezfShake .4s}
@keyframes ezfShake{25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.ezf-label{font-size:12px;color:#888;margin:0 0 6px;font-weight:700}
.ezf-toggle{display:flex;gap:10px}.ezf-toggle label{flex:1}.ezf-toggle input{display:none}
.ezf-toggle b{display:block;text-align:center;padding:14px;border:2px solid #e4e4e4;border-radius:var(--r);cursor:pointer;transition:.2s}
.ezf-toggle input:checked+b{background:var(--k);color:var(--g);border-color:var(--k)}
.ezf-f.bad .ezf-toggle b{border-color:#d33}
.ezf-review{background:#f7f7f7;border-radius:var(--r);padding:14px;font-size:13px;color:#444;line-height:1.7}.ezf-review:empty{display:none}
.ezf-err{color:#d33;font-size:14px;min-height:20px;text-align:center;margin-top:6px}
.ezf-nav{display:flex;gap:12px;margin-top:8px}
.ezf-nav button{flex:1;padding:15px;border-radius:var(--r);border:0;font-size:16px;font-weight:700;cursor:pointer;background:var(--k);color:var(--g);transition:.2s}
.ezf-nav button:hover{transform:translateY(-2px)}
.ezf-nav button.ghost{background:#f0f0f0;color:#555;flex:.5}.ezf-nav button:disabled{opacity:.6}
.ezf-hp{position:absolute;left:-9999px}
.ezf-done{display:none;text-align:center;padding:40px 28px 50px}.ezf-done.on{display:block}
.ezf-done svg{width:90px}.ezf-done circle{fill:none;stroke:var(--g);stroke-width:4;stroke-dasharray:230;stroke-dashoffset:230;animation:ezfDraw 1s forwards}
.ezf-done path{fill:none;stroke:var(--k);stroke-width:5;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60;animation:ezfDraw .6s .8s forwards}
@keyframes ezfDraw{to{stroke-dashoffset:0}}
.ezf-done h2{font-size:28px;margin:14px 0 8px}.ezf-done p{color:#555;line-height:1.7}
@media(max-width:520px){#ezf-form{padding:8px 18px 22px}.ezf-grid{grid-template-columns:1fr}.ezf-dots{font-size:9px;padding:14px 16px 0}}

.ezf-f.bad input,.ezf-f.bad select,.ezf-f.bad textarea{border-color:#d33!important;background:#fff0f0!important}
.ezf-f.bad span,.ezf-f.bad .ezf-label{color:#d33!important}
.ezf-f.bad .ezf-toggle b{border-color:#d33!important;background:#fff0f0;color:#d33}
.ezf-f.bad .ezf-toggle input:checked+b{background:var(--k);color:var(--g)}
