/* Widget with spinner + draw animation */
.sfc-cfp-wrap{ display:inline-block; }
.sfc-cfp-widget{ font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,'Helvetica Neue',Arial,'Noto Sans','Liberation Sans',sans-serif; font-size:14px; width:300px; max-width:100%; }
.sfc-cfp-box{ display:flex; align-items:center; gap:12px; background:#fff; color:#111; border:1px solid #e5e7eb; border-radius:8px; padding:24px; width:100%; cursor:pointer; user-select:none; }
.sfc-cfp-wrap[data-theme="dark"] .sfc-cfp-box{ background:#0f1115; color:#f6f6f6; border-color:#333; }

.sfc-cfp-mark{ position:relative; width:24px; height:24px; border:2px solid currentColor; border-radius:4px; display:inline-block; overflow:hidden; transition: background-color .3s ease, border-color .3s ease; }
.sfc-cfp-widget[data-state="passed"] .sfc-cfp-mark{ background:#16a34a; border-color:#16a34a; }

.sfc-cfp-spinner{
  position:absolute; left:50%; top:50%; width:14px; height:14px;
  margin-left:-7px; margin-top:-7px;
  border:2px solid rgba(0,0,0,.2); border-top-color:rgba(0,0,0,.6); border-radius:50%;
  animation:sfc-rot 1s linear infinite; opacity:0; pointer-events:none;
}
.sfc-cfp-wrap[data-theme="dark"] .sfc-cfp-spinner{ border:2px solid rgba(255,255,255,.2); border-top-color:rgba(255,255,255,.8); }
.sfc-cfp-widget[data-state="verifying"] .sfc-cfp-spinner{ opacity:1; }
.sfc-cfp-widget[data-state="passed"] .sfc-cfp-spinner,
.sfc-cfp-widget[data-state="failed"] .sfc-cfp-spinner{ opacity:0; }

@keyframes sfc-rot{ to{ transform:rotate(360deg); } }

.sfc-cfp-check{ position:absolute; left:0; top:0; width:100%; height:100%; pointer-events:none; }
.sfc-cfp-check path{
  fill:none; stroke:#fff; stroke-width:3; stroke-linecap:round; stroke-linejoin:round;
  stroke-dasharray:22; stroke-dashoffset:22;
}
.sfc-cfp-widget[data-state="passed"] .sfc-cfp-check path{ animation:sfc-draw .45s ease forwards .1s; }
@keyframes sfc-draw{ to{ stroke-dashoffset:0; } }

.sfc-cfp-text{ flex:1; text-align: center; }
.sfc-cfp-badge{ display:flex; align-items:center; gap:8px; }
.sfc-cfp-logo{ height:24px; width:auto; display:block; }

.sfc-cfp-honeypot{ position:absolute !important; left:-99999px !important; width:1px !important; height:1px !important; opacity:0 !important; }

.sfc-cfp-widget.sfc-cfp-invisible {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0 0 0 0);
    overflow: hidden;
}
