.ff-place-picker { position: relative; min-width: 0; width: 100%; --place-paper: var(--event-paper, #fff); --place-ink: var(--event-ink, #102329); --place-muted: var(--event-muted, #52666e); --place-rule: var(--event-rule, #a8b6ba); }
.ff-place-input-row { display: flex; align-items: stretch; gap: 4px; min-width: 0; }
.ff-place-input-row > input { flex: 1 1 0; min-width: 0; }
.ff-place-input-row > .ff-place-locate { display: inline-flex; flex: 0 0 44px; width: 44px; min-height: 44px; align-items: center; justify-content: center; border: 1px solid var(--place-rule); border-radius: 3px; background: var(--place-paper); color: var(--place-ink); cursor: pointer; }
.ff-place-locate[hidden] { display: none !important; }
.ff-place-locate:disabled { cursor: wait; }
.ff-place-popover { position: absolute; z-index: 60; top: calc(100% + 6px); left: 0; width: 100%; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--place-rule); border-radius: 4px; background: var(--place-paper); color: var(--place-ink); text-align: left; }
.ff-place-popover[hidden], .ff-place-credit[hidden] { display: none; }
.ff-place-popover.ff-place-feedback { position: static; margin-top: 6px; max-height: none; border: 0; background: transparent; }
.ff-place-feedback .ff-place-status { padding: 4px 0; }
.ff-place-popover [role=option] { display: block; width: 100%; min-height: 44px; padding: 12px; border: 0; border-bottom: 1px solid var(--place-rule); border-radius: 0; background: var(--place-paper); color: var(--place-ink); font: inherit; font-size: 15px; line-height: 1.45; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.ff-place-popover [role=option]:is(:hover, [aria-selected=true]) { background: var(--place-ink); color: var(--place-paper); }
.ff-place-status, .ff-place-credit { margin: 0; padding: 10px 12px; color: var(--place-muted); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.ff-place-status:empty { display: none; }
.ff-place-credit a { color: var(--place-ink); text-decoration: underline; text-underline-offset: .2em; }
.ff-place-picker :is(a, button, input):focus-visible { outline: 2px solid var(--place-ink); outline-offset: 2px; }
.ff-place-picker ::selection { background: var(--place-ink); color: var(--place-paper); }
.ff-place-discovery-fields { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.5fr) minmax(7rem, .8fr) minmax(7rem, .8fr) auto; }
.ff-place-location-field > label { display: block; margin-bottom: .4rem; }
[data-place-radius]:disabled { opacity: 1; cursor: not-allowed; }
.ff-welcome-search-location .ff-place-picker { --place-paper: #fff; --place-ink: #102329; --place-muted: #52666e; --place-rule: #a8b6ba; }
.ff-welcome .ff-place-popover p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--place-muted); }
.ff-welcome .ff-place-popover button { min-height: 44px; }
@media (max-width: 1023px) {
    .ff-place-discovery-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ff-place-discovery-fields > :is(.ff-event-search, .ff-place-location-field, .ff-event-button) { grid-column: 1 / -1; }
}
