/* JGG Events — flyer upload box in the "Submit an event" form (0.4.7). Hard edges, black + yellow. */
.jges-fup { --jges-fup-ink: #000; --jges-fup-line: #c9c9c9; --jges-fup-bg: #fff; --jges-fup-soft: #f5f5f3; --jges-fup-yellow: #FEED2A; }
[data-theme="dark"] .jges-fup { --jges-fup-ink: #fff; --jges-fup-line: #4a4f56; --jges-fup-bg: #191c20; --jges-fup-soft: #22262b; }
.jges-fup__opt { font-weight: 400; opacity: .6; }
.jges-fup .jges-fup__input { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; opacity: 0; }
.jges-fup [hidden] { display: none !important; }

.jges-fup .jges-fup__drop { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 120px; padding: 18px 16px; margin: 0; border: 2px dashed var(--jges-fup-line); border-radius: 0; background: var(--jges-fup-bg); color: var(--jges-fup-ink); text-align: center; cursor: pointer; transition: border-color .15s ease, background-color .15s ease; }
.jges-fup .jges-fup__drop svg { width: 26px; height: 26px; margin-bottom: 4px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: square; }
.jges-fup .jges-fup__main { font-size: 15px; line-height: 1.4; }
.jges-fup .jges-fup__main strong { font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.jges-fup .jges-fup__hint { font-size: 13px; opacity: .65; }
.jges-fup .jges-fup__drop:hover, .jges-fup.is-over .jges-fup__drop { border-color: var(--jges-fup-ink); background: var(--jges-fup-soft); }
.jges-fup.is-over .jges-fup__drop { border-style: solid; box-shadow: inset 0 0 0 2px var(--jges-fup-yellow); }
.jges-fup .jges-fup__input:focus-visible + .jges-fup__drop { outline: 3px solid var(--jges-fup-yellow); outline-offset: 2px; border-color: var(--jges-fup-ink); }

.jges-fup .jges-fup__file { display: flex; align-items: center; gap: 14px; padding: 10px; border: 2px solid var(--jges-fup-ink); background: var(--jges-fup-bg); color: var(--jges-fup-ink); }
.jges-fup .jges-fup__thumb { flex: none; display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; background: var(--jges-fup-soft) center / cover no-repeat; }
.jges-fup .jges-fup__thumb span { padding: 3px 6px; background: #000; color: var(--jges-fup-yellow); font-size: 11px; font-weight: 800; letter-spacing: .06em; }
.jges-fup .jges-fup__info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.jges-fup .jges-fup__name { overflow: hidden; font-size: 14.5px; font-weight: 650; white-space: nowrap; text-overflow: ellipsis; }
.jges-fup .jges-fup__status { font-size: 13px; opacity: .7; }
.jges-fup.is-done .jges-fup__status { opacity: 1; color: #13A160; font-weight: 600; }
.jges-fup .jges-fup__bar { display: block; height: 4px; background: var(--jges-fup-soft); }
.jges-fup .jges-fup__bar span { display: block; width: 0; height: 100%; background: var(--jges-fup-ink); transition: width .15s linear; }
.jges-fup.is-done .jges-fup__bar { display: none; }
.jges-fup .jges-fup__remove { flex: none; height: 34px; padding: 0 12px; border: 1px solid var(--jges-fup-ink); border-radius: 0; background: var(--jges-fup-bg); color: var(--jges-fup-ink); font-size: 13px; font-weight: 700; cursor: pointer; }
.jges-fup .jges-fup__remove:hover { background: #000; color: var(--jges-fup-yellow); border-color: #000; }
.jges-fup .jges-fup__error { margin: 8px 0 0; color: #E61818; font-size: 13.5px; font-weight: 600; }
.jges-fup.is-error .jges-fup__drop { border-color: #E61818; }
