/* IBACT Leads – success card, errors and the optional shortcode form. Self-contained so any theme looks right. */
.ibl-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.ibl-spin{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-3px;margin-right:6px;animation:iblSpin .7s linear infinite}
@keyframes iblSpin{to{transform:rotate(360deg)}}

/* ---------- success card (hardened against theme / page styles) ---------- */
form.ibl-done{display:block!important;grid-template-columns:none!important}
.ibl-ok{all:initial;display:flex!important;flex-direction:column!important;align-items:center!important;box-sizing:border-box!important;width:100%!important;max-width:460px!important;margin:0 auto!important;padding:8px 4px 4px!important;font-family:inherit!important;color:#0F172A!important;text-align:center!important;line-height:1.5!important;grid-column:1/-1!important;animation:iblIn .5s cubic-bezier(.2,.9,.25,1.05) both}
.ibl-ok *,.ibl-ok *::before,.ibl-ok *::after{box-sizing:border-box!important}
.ibl-ok:focus{outline:none!important}
@keyframes iblIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ibl-ok .ibl-ok-badge{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;width:68px!important;height:68px!important;margin:4px auto 16px!important;border-radius:50%!important;background:linear-gradient(145deg,#19C37D,#0E9F6E)!important;box-shadow:0 14px 28px -12px rgba(14,159,110,.75)!important;flex:none!important}
.ibl-ok .ibl-ok-badge::after{content:""!important;position:absolute!important;inset:-8px!important;border-radius:50%!important;border:2px solid rgba(25,195,125,.35)!important;animation:iblRing 1.6s ease-out .3s both}
@keyframes iblRing{from{transform:scale(.8);opacity:1}to{transform:scale(1.35);opacity:0}}
.ibl-ok .ibl-ok-badge svg{width:34px!important;height:34px!important;fill:none!important;stroke:#fff!important;stroke-width:3!important;stroke-linecap:round!important;stroke-linejoin:round!important;stroke-dasharray:24;stroke-dashoffset:24;animation:iblDraw .45s .25s ease forwards}
@keyframes iblDraw{to{stroke-dashoffset:0}}
.ibl-ok .ibl-ok-t{display:block!important;margin:0!important;padding:0!important;font-family:inherit!important;font-size:1.45rem!important;line-height:1.25!important;font-weight:800!important;letter-spacing:-.01em!important;color:#0A1633!important;text-transform:none!important;border:0!important;background:none!important}
.ibl-ok .ibl-ok-s{display:block!important;margin:8px auto 0!important;padding:0!important;max-width:380px!important;font-family:inherit!important;font-size:.97rem!important;line-height:1.55!important;font-weight:400!important;color:#56607A!important}
.ibl-ok .ibl-ok-id{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;max-width:400px!important;margin:20px auto 0!important;padding:12px 12px 12px 18px!important;border-radius:16px!important;background:linear-gradient(135deg,#F5F7FF,#EEF1FF)!important;border:1.5px dashed #B3C1FF!important;text-align:left!important}
.ibl-ok .ibl-ok-idl{display:flex!important;flex-direction:column!important;gap:3px!important;min-width:0!important}
.ibl-ok .ibl-ok-idl span{display:block!important;margin:0!important;font-family:inherit!important;font-size:.68rem!important;line-height:1.2!important;font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;color:#6B7590!important}
.ibl-ok .ibl-ok-idl strong{display:block!important;margin:0!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace!important;font-size:1.18rem!important;line-height:1.25!important;font-weight:700!important;letter-spacing:.02em!important;color:#2443D6!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.ibl-ok button.ibl-ok-copy{all:unset;display:inline-flex!important;align-items:center!important;gap:6px!important;flex:none!important;height:38px!important;padding:0 14px!important;border-radius:11px!important;background:#fff!important;border:1px solid #CDD6FF!important;color:#2443D6!important;font-family:inherit!important;font-size:.85rem!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;transition:background .2s,border-color .2s,color .2s!important;box-shadow:0 1px 2px rgba(10,22,51,.06)!important}
.ibl-ok button.ibl-ok-copy:hover{background:#3157FF!important;border-color:#3157FF!important;color:#fff!important}
.ibl-ok button.ibl-ok-copy:focus-visible{outline:3px solid rgba(49,87,255,.35)!important;outline-offset:2px!important}
.ibl-ok button.ibl-ok-copy.on{background:#0E9F6E!important;border-color:#0E9F6E!important;color:#fff!important}
.ibl-ok button.ibl-ok-copy svg{width:16px!important;height:16px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ibl-ok button.ibl-ok-copy em{font-style:normal!important;font:inherit!important}
.ibl-ok .ibl-ok-n{display:block!important;margin:10px 0 0!important;padding:0!important;font-family:inherit!important;font-size:.82rem!important;line-height:1.4!important;color:#8A93AB!important}
.ibl-ok .ibl-ok-acts{display:flex!important;flex-direction:column!important;align-items:center!important;gap:6px!important;width:100%!important;max-width:400px!important;margin:18px auto 0!important}
.ibl-ok a.ibl-ok-wa{all:unset;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;width:100%!important;height:50px!important;padding:0 18px!important;border-radius:14px!important;background:#1FAF57!important;color:#fff!important;font-family:inherit!important;font-size:.98rem!important;font-weight:700!important;line-height:1!important;white-space:nowrap!important;cursor:pointer!important;text-decoration:none!important;box-shadow:0 14px 26px -14px rgba(31,175,87,.95)!important;transition:transform .2s,background .2s!important}
.ibl-ok a.ibl-ok-wa:hover{background:#1A9C4D!important;transform:translateY(-1px)!important}
.ibl-ok a.ibl-ok-wa:focus-visible{outline:3px solid rgba(31,175,87,.4)!important;outline-offset:2px!important}
.ibl-ok a.ibl-ok-wa svg{width:20px!important;height:20px!important;flex:none!important;fill:none!important;stroke:currentColor!important;stroke-width:1.9!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ibl-ok button.ibl-ok-again{all:unset;display:inline-flex!important;background:transparent!important;border:0!important;box-shadow:none!important;align-items:center!important;gap:6px!important;padding:8px 10px!important;border-radius:10px!important;color:#56607A!important;font-family:inherit!important;font-size:.86rem!important;font-weight:600!important;cursor:pointer!important}
.ibl-ok button.ibl-ok-again:focus{background:transparent!important;color:#56607A!important;outline:none!important}
.ibl-ok button.ibl-ok-again:hover{color:#2443D6!important;background:#F3F5FF!important}
.ibl-ok button.ibl-ok-again:focus-visible{outline:3px solid rgba(49,87,255,.3)!important}
.ibl-ok button.ibl-ok-again svg{width:15px!important;height:15px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
@media (max-width:380px){.ibl-ok .ibl-ok-id{flex-direction:column!important;align-items:stretch!important;text-align:center!important;padding:14px!important}.ibl-ok .ibl-ok-idl{align-items:center!important}.ibl-ok button.ibl-ok-copy{justify-content:center!important}}
@media (prefers-reduced-motion:reduce){.ibl-ok,.ibl-ok *,.ibl-ok *::after,.ibl-ch,.ibl-ch *{animation:none!important;transition:none!important;stroke-dashoffset:0!important}}

/* ---------- human check dialog ---------- */
.ibl-ch{all:initial;position:fixed!important;inset:0!important;z-index:2147483000!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important;background:rgba(10,22,51,.55)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:"Plus Jakarta Sans",Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif!important;animation:iblFade .2s ease both}
@keyframes iblFade{from{opacity:0}to{opacity:1}}
.ibl-ch *{box-sizing:border-box!important}
.ibl-ch .ibl-ch-card{position:relative!important;width:100%!important;max-width:380px!important;padding:26px 22px 18px!important;border-radius:22px!important;background:#fff!important;color:#0F172A!important;text-align:center!important;box-shadow:0 30px 70px -20px rgba(10,22,51,.55)!important;animation:iblPop .28s cubic-bezier(.2,.9,.25,1.15) both}
@keyframes iblPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.ibl-ch .ibl-shake{animation:iblShake .4s ease both}
@keyframes iblShake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}
.ibl-ch .ibl-ch-ic{display:flex!important;align-items:center!important;justify-content:center!important;width:54px!important;height:54px!important;margin:0 auto 12px!important;border-radius:16px!important;background:#EEF2FF!important;color:#3157FF!important}
.ibl-ch .ibl-ch-ic svg{width:28px!important;height:28px!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.ibl-ch .ibl-ch-t{margin:0!important;font-size:1.2rem!important;line-height:1.3!important;font-weight:800!important;color:#0A1633!important}
.ibl-ch .ibl-ch-s{margin:6px 0 0!important;font-size:.9rem!important;line-height:1.5!important;color:#56607A!important}
.ibl-ch .ibl-ch-q{margin:18px 0 10px!important;font-size:1.1rem!important;font-weight:800!important;color:#0A1633!important}
.ibl-ch .ibl-ch-opts{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
.ibl-ch .ibl-ch-opts button{all:unset;display:flex!important;align-items:center!important;justify-content:center!important;height:52px!important;border-radius:14px!important;border:1.5px solid #DCE2F5!important;background:#F8F9FD!important;color:#0A1633!important;font-family:inherit!important;font-size:1.15rem!important;font-weight:800!important;cursor:pointer!important;transition:all .15s!important}
.ibl-ch .ibl-ch-opts button:hover,.ibl-ch .ibl-ch-opts button:focus-visible{border-color:#3157FF!important;background:#EEF2FF!important;color:#2443D6!important}
.ibl-ch .ibl-ch-opts button.on{background:#3157FF!important;border-color:#3157FF!important;color:#fff!important}
.ibl-ch .ibl-ch-opts button:disabled{cursor:default!important}
.ibl-ch .ibl-ch-ts{display:flex!important;justify-content:center!important;align-items:center!important;min-height:70px!important;margin:16px 0 4px!important;color:#56607A!important;font-size:.9rem!important}
.ibl-ch .ibl-ch-x{all:unset;display:inline-block!important;background:transparent!important;border:0!important;box-shadow:none!important;margin-top:14px!important;padding:6px 12px!important;border-radius:9px!important;color:#56607A!important;font-family:inherit!important;font-size:.85rem!important;font-weight:600!important;cursor:pointer!important}
.ibl-ch .ibl-ch-x:focus{background:transparent!important;color:#56607A!important;outline:none!important}
.ibl-ch .ibl-ch-x:focus-visible{outline:3px solid rgba(49,87,255,.3)!important}
.ibl-ch .ibl-ch-x:hover{background:#F3F5FA!important;color:#0A1633!important}
.ibl-ch .ibl-ch-foot{margin:6px 0 0!important;font-size:.75rem!important;color:#9AA2B8!important}
.ibl-ch .ibl-spin{color:#3157FF}

.ibl-err{margin-top:12px;padding:10px 12px;border-radius:12px;background:#FDECEC;border:1px solid #F5C2C2;color:#B32D2E;font-size:.88rem;line-height:1.45;text-align:left}
.ibl-err a{color:#0B7A55;font-weight:700;text-decoration:underline}

/* default look for [ibact_lead_form] */
.ibl-form{box-sizing:border-box;display:grid;gap:12px;max-width:520px;padding:22px;border:1px solid #E5E8F0;border-radius:18px;background:#fff;font-family:inherit}
.ibl-form *{box-sizing:border-box}
.ibl-form .ibl-form-t{margin:0;font-size:1.15rem;font-weight:800;color:#0A1633}
.ibl-form .field label{display:block;font-size:.82rem;font-weight:700;color:#2A3350;margin-bottom:6px}
.ibl-form .field input,.ibl-form .field textarea{width:100%;border:1px solid #E5E8F0;border-radius:12px;padding:12px 14px;font:inherit;font-size:16px;background:#fff;color:#0F172A}
.ibl-form .field input:focus,.ibl-form .field textarea:focus{outline:none;border-color:#3157FF;box-shadow:0 0 0 4px rgba(49,87,255,.12)}
.ibl-form .field.err input,.ibl-form .field.err textarea{border-color:#E5484D}
.ibl-form .ibl-btn{height:50px;border:0;border-radius:12px;background:linear-gradient(90deg,#3157FF,#6B4BFF);color:#fff;font-weight:700;font-size:.95rem;cursor:pointer}
.ibl-form .ibl-btn:disabled{opacity:.7;cursor:wait}
