/* Natural Discipleship — website form toasts + states */
.nd-toasts{position:fixed;top:20px;right:20px;z-index:2147483000;display:flex;flex-direction:column;gap:10px;
  width:min(380px,calc(100vw - 32px));pointer-events:none}
.nd-toast{pointer-events:auto;display:flex;align-items:flex-start;gap:12px;position:relative;overflow:hidden;
  background:#fff;color:#0b2e58;border-radius:10px;padding:14px 40px 14px 14px;
  box-shadow:0 14px 40px rgba(11,46,88,.22),0 2px 6px rgba(11,46,88,.08);border-left:4px solid #c69135;
  font-size:14px;line-height:1.45;opacity:0;transform:translateX(24px);transition:opacity .25s ease,transform .25s ease}
.nd-toast.show{opacity:1;transform:none}
.nd-toast.hide{opacity:0;transform:translateX(24px)}
.nd-toast .nd-t-ic{flex:0 0 26px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;margin-top:-1px}
.nd-toast .nd-t-ic svg{width:15px;height:15px}
.nd-toast .nd-t-body{flex:1;min-width:0}
.nd-toast .nd-t-title{display:block;font-weight:700;font-size:14px;margin-bottom:1px}
.nd-toast .nd-t-msg{color:#3d4f66;word-wrap:break-word}
.nd-toast .nd-t-body:not(:has(.nd-t-title)) .nd-t-msg{color:#0b2e58;font-weight:500;display:block;padding-top:3px}
.nd-toast .nd-t-x{position:absolute;top:8px;right:8px;width:26px;height:26px;border:0;background:transparent;
  color:#8a96a8;font-size:20px;line-height:1;cursor:pointer;border-radius:6px;padding:0}
.nd-toast .nd-t-x:hover{background:#f3efe6;color:#0b2e58}
.nd-toast .nd-t-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;transform-origin:left;opacity:.55}
.nd-toast.success{border-left-color:#2e8b57}
.nd-toast.success .nd-t-ic,.nd-toast.success .nd-t-bar{background:#2e8b57}
.nd-toast.error{border-left-color:#c0392b}
.nd-toast.error .nd-t-ic,.nd-toast.error .nd-t-bar{background:#c0392b}
@keyframes ndToastBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@media (max-width:575px){.nd-toasts{top:12px;right:16px;left:16px;width:auto}}
@media (prefers-reduced-motion:reduce){.nd-toast{transition:none}.nd-toast .nd-t-bar{display:none}}

/* Invalid field + busy button */
.nd-ajax-form .nd-invalid{border-color:#c0392b!important;box-shadow:0 0 0 3px rgba(192,57,43,.15)!important}
.nd-ajax-form [type=submit].nd-busy{opacity:.7;cursor:wait!important}
