.fgcf7captcha { --fg-captcha-primary: #2563eb; --fg-captcha-border:#cbd5e1; --fg-captcha-radius: 6px; display:block; margin: 1rem 0; }
.fgcf7captcha-fieldset { border:0; padding:0; margin:0; min-width:0; }
.fgcf7captcha-fieldset legend { font-weight:600; padding:0 0 .5rem; }
.fgcf7captcha-choices { display:grid; grid-template-columns:repeat(auto-fit,minmax(64px,1fr)); gap:.65rem; max-width:560px; }
.fgcf7captcha-option { position:relative; display:flex; cursor:pointer; min-width:0; min-height:64px; align-items:center; justify-content:center; border:2px solid var(--fg-captcha-border); border-radius:var(--fg-captcha-radius); }
.fgcf7captcha-option:has(input:checked) { border-color:var(--fg-captcha-primary); background:color-mix(in srgb,var(--fg-captcha-primary) 8%,white); }
.fgcf7captcha-option:focus-within { outline:3px solid var(--fg-captcha-primary); outline-offset:2px; }
.fgcf7captcha-option input { position:absolute; width:1px; height:1px; opacity:0; }
.fgcf7captcha-icon svg { width:45px; height:45px; max-width:100%; fill:currentColor; }
.fgcf7captcha-sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.fgcf7captcha-trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.fgcf7captcha-reload { display:inline-block; margin-top:.6rem; padding:.35rem .65rem; font:inherit; cursor:pointer; }
.fgcf7captcha-status { display:block; margin-top:.4rem; }
.fgcf7captcha-collapsed { display:none; }
