/* CSS Filter Generator: picture presets and the image picker */
#filterGenerator .gt-presets { grid-template-columns: repeat(4, minmax(0, 1fr)); }
#filterGenerator .gt-preset { flex-direction: column; align-items: stretch; height: auto; padding: 5px 5px 7px; gap: 5px; text-align: center; }
#filterGenerator .gt-preset__thumb { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 5px; }
#filterGenerator .gt-preset__swatch { display: none; }
#filterGenerator .gt-preset span:last-child { font-size: 11.5px; }
@media (max-width: 480px) { #filterGenerator .gt-presets { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.fg-note { margin: 0; font-size: 12.5px; line-height: 1.5; color: var(--ct-muted, #64748b); }
.fg-note:empty { display: none; }
.fg-image { display: flex; flex-wrap: wrap; gap: 8px; }
.fg-upload { position: relative; cursor: pointer; }
.fg-upload input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.fg-upload:focus-within { outline: 2px solid var(--ct-accent, #2563eb); outline-offset: 2px; }
