/* JGG Places — "Submit a place" popup (2.13.1). Same look as JGG Events' "Submit an event" and the place
 * page's "Report an update": 2px black frame, header bar with the title and an X, slides up and fades in
 * (reverses on close), hard-edged Fluent Forms form, black submit button with yellow text.
 * Standalone (not scoped to .jggp / .jggd) because it's printed in the footer on both kinds of page. */
.jggps-pop {
	width: min(600px, calc(100vw - 32px));
	max-width: none;
	max-height: min(88vh, 900px);
	margin: auto;
	padding: 0;
	border: 2px solid #000;
	border-radius: 0;
	background: #fff;
	color: #1f1f1f;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .3);
	font-family: "Geist JGGP", "Geist", sans-serif;
	-webkit-font-smoothing: antialiased;
}
.jggps-pop[open] { display: flex; animation: jggps-in .42s cubic-bezier(.16, 1, .3, 1) both; will-change: transform, opacity; }
.jggps-pop::backdrop { background: rgba(0, 0, 0, .55); }
.jggps-pop[open]::backdrop { animation: jggps-fade-in .32s ease-out both; }
.jggps-pop.is-closing { animation: jggps-out .24s cubic-bezier(.4, 0, 1, 1) both; }
.jggps-pop.is-closing::backdrop { animation: jggps-fade-out .24s ease-in both; }
@keyframes jggps-in { from { opacity: 0; transform: translateY(28px) scale(.97); } to { opacity: 1; transform: none; } }
@keyframes jggps-out { from { opacity: 1; transform: none; } to { opacity: 0; transform: translateY(14px) scale(.98); } }
@keyframes jggps-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes jggps-fade-out { from { opacity: 1; } to { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .jggps-pop[open], .jggps-pop[open]::backdrop, .jggps-pop.is-closing, .jggps-pop.is-closing::backdrop { animation: none; } }
.jggps-pop__panel { display: flex; flex-direction: column; width: 100%; min-height: 0; }
.jggps-pop__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 2px solid #000; }
.jggps-pop .jggps-pop__title { margin: 0; color: #000; font-family: inherit; font-size: 20px; font-weight: 800; line-height: 1.2; letter-spacing: -.02em; }
.jggps-pop .jggps-pop__close { display: inline-flex; align-items: center; justify-content: center; flex: none; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 0; background: none; color: #000; cursor: pointer; }
.jggps-pop .jggps-pop__close:hover { background: #f5f5f3; }
.jggps-pop__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; }
.jggps-pop__body { overflow-y: auto; padding: 20px 24px 24px; }
/* Hard edges on the form too (brand: no rounded corners). */
.jggps-pop__form input,
.jggps-pop__form select,
.jggps-pop__form textarea,
.jggps-pop__form button,
.jggps-pop__form .ff-btn { border-radius: 0 !important; }
.jggps-pop__form .ff-btn-submit { background: #000 !important; border-color: #000 !important; color: #FEED2A !important; font-weight: 700; }
.jggps-pop__form .ff-btn-submit:hover { opacity: .85; }
