.fgcf { --fgcf-green:#125b42; background:#f0f6f1; border:1px solid #c9dccf; border-radius:16px; padding:24px; margin:24px 0; color:#19392d; }
.fgcf[hidden], .fgcf [hidden], .fgcf-item[hidden] { display:none !important; }
.fgcf h3 { margin:0 0 8px; font-size:1.4rem; }
.fgcf p { margin:8px 0 16px; line-height:1.55; }
.fgcf label { display:block; font-weight:600; }
.fgcf select, .fgcf button, .fgcf summary { font:inherit; min-height:44px; }
.fgcf select { width:100%; margin-top:6px; padding:10px 34px 10px 12px; border:1px solid #829c8b; background:#fff; color:#19392d; border-radius:8px; }
.fgcf-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:16px; }
.fgcf details { margin-top:16px; border-top:1px solid #c9dccf; padding-top:8px; }
.fgcf summary { cursor:pointer; padding:10px 0; font-weight:600; }
.fgcf fieldset { border:0; padding:8px 0; margin:0; }
.fgcf legend { font-size:.9rem; }
.fgcf-companies { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:4px 12px; }
.fgcf-companies label { display:flex; align-items:center; gap:10px; min-height:44px; font-weight:400; cursor:pointer; }
.fgcf input[type=checkbox] { width:20px; height:20px; flex-shrink:0; accent-color:var(--fgcf-green); }
.fgcf button { padding:9px 14px; border:1px solid #829c8b; border-radius:8px; background:#fff; color:var(--fgcf-green); cursor:pointer; }
.fgcf button:hover { background:#e1eee5; }
.fgcf :is(button,select,input,summary):focus-visible, .fgcf-proof summary:focus-visible { outline:3px solid #a24b09; outline-offset:3px; }
.fgcf-active { display:flex; flex-wrap:wrap; gap:8px; margin:16px 0; }
.fgcf-active:empty { display:none; }
.fgcf-status { font-weight:700; }
.fgcf-footer { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid #c9dccf; padding-top:16px; margin-top:16px; }
.fgcf-footer p { margin:0; }
.fgcf-empty { border-left:4px solid var(--fgcf-green); padding:12px 16px; margin-top:16px; background:#fff; }
.fgcf-proof { padding:14px 18px; background:#f0f6f1; border:1px solid #c9dccf; border-radius:10px; margin:0 0 10px; font-size:.95rem; color:#19392d; }
.fgcf-proof summary { cursor:pointer; min-height:44px; padding:10px 0; font-weight:600; }
.fgcf-proof p { margin:6px 0; line-height:1.5; }
.fgcf-proof a { color:#125b42; text-decoration:underline; }
.fgcf-proof li { margin:6px 0; }
@media(max-width:600px) { .fgcf { padding:16px; border-radius:12px; } .fgcf-grid { grid-template-columns:1fr; } .fgcf-companies { grid-template-columns:1fr; } .fgcf-active button { max-width:100%; text-align:left; } }

.fgcf-item .show-more[role=button] { min-height:44px; display:inline-flex; align-items:center; cursor:pointer; }
.fgcf-item .show-more[role=button]:focus-visible { outline:3px solid #a24b09; outline-offset:3px; }
