/* Scoped component styles; no remote fonts or icon dependencies. */
.ginput_container.gflc { --gflc-text:#202b3b; --gflc-muted:#657184; --gflc-border:#dfe5ed; --gflc-accent:#255cd0; position:relative; display:block; box-sizing:border-box; width:100%; max-width:480px; padding:24px; border:1px solid var(--gflc-border); border-radius:18px; background:#fff; color:var(--gflc-text); box-shadow:0 2px 6px #233b5e08; font-family:inherit; font-size:14px; line-height:1.8; direction:rtl; text-align:right; }
.gflc *, .gflc *::before, .gflc *::after { box-sizing:border-box; }
.gflc .gflc-heading { display:flex; align-items:center; gap:12px; margin:0 0 18px; }
.gflc .gflc-heading > div { min-width:0; }
.gflc .gflc-symbol { display:grid; place-items:center; flex-shrink:0; width:42px; height:42px; border-radius:12px; background:#f5f7fa; color:var(--gflc-accent); }
.gflc .gflc-icon { display:block; flex-shrink:0; width:18px; height:18px; }
.gflc .gflc-title { margin:0; font-size:16px; font-weight:500; line-height:1.8; }
.gflc .gflc-subtitle { margin:1px 0 0; color:var(--gflc-muted); font-size:12px; line-height:1.8; }
.gflc .gflc-challenge-row { display:flex; align-items:stretch; min-height:86px; overflow:hidden; border:1px solid var(--gflc-border); border-radius:12px; background:#f5f7fa; }
.gflc .gflc-challenge { display:flex; flex:1; min-width:0; align-items:center; justify-content:center; padding:8px; }
.gflc .gflc-challenge img { display:block; width:auto; max-width:100%; height:auto; border:0; margin:0; }
.gflc .gflc-challenge span[dir="ltr"] { font-size:26px; line-height:1.5; letter-spacing:3px; text-align:center; direction:ltr; }
.gflc button.gflc-refresh { appearance:none; display:flex; flex:0 0 82px; min-width:0; min-height:44px; flex-direction:column; align-items:center; justify-content:center; gap:5px; margin:0; padding:10px; border:0; border-right:1px solid var(--gflc-border); border-radius:0; background:#fff; color:var(--gflc-accent); box-shadow:none; font-family:inherit; font-size:12px; font-weight:400; line-height:1.8; cursor:pointer; }
.gflc button.gflc-refresh:hover { background:#f5f7fa; }
.gflc input.gflc-answer { display:block; width:100%; max-width:none; height:49px; min-height:49px; margin:14px 0 0; padding:10px 14px; border:1px solid var(--gflc-border); border-radius:10px; background:#fff; color:var(--gflc-text); box-shadow:none; font-family:inherit; font-size:18px; line-height:1.5; text-align:center; letter-spacing:4px; direction:ltr; }
.gflc input.gflc-answer::placeholder { color:var(--gflc-muted); letter-spacing:1px; opacity:.75; }
.gflc input.gflc-answer:focus-visible, .gflc button.gflc-refresh:focus-visible { outline:2px solid var(--gflc-accent); outline-offset:3px; }
.gflc .gflc-hint { display:flex; gap:7px; align-items:flex-start; margin:9px 0 0; color:var(--gflc-muted); font-size:12px; line-height:1.8; }
.gflc .gflc-hint svg { margin-top:3px; }
.gflc .gflc-status { display:block; margin-top:10px; color:var(--gflc-muted); font-size:12px; line-height:1.8; overflow-wrap:anywhere; }
.gflc .gflc-status:empty { display:none; }
.gflc[data-state="error"] .gflc-status { padding:10px 12px; border-radius:9px; background:#fff5f4; color:#b73535; }
.gfield_error .gflc input.gflc-answer { border-color:#b73535; }
/* Keep the honeypot inside the component: negative offsets create RTL page overflow. */
.gflc .gflc-trap { position:absolute!important; left:0!important; right:auto!important; top:0!important; width:1px!important; height:1px!important; margin:0!important; padding:0!important; border:0!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; clip-path:inset(50%)!important; white-space:nowrap!important; pointer-events:none!important; }
.gflc [disabled] { cursor:wait; opacity:.7; }
@media(max-width:480px) { .ginput_container.gflc { padding:18px 14px; } .gflc .gflc-heading { gap:9px; } .gflc button.gflc-refresh { flex-basis:68px; } }
