/* Places (PUBLIKA_PLACES): the place line under a post's author, the city picker, the photo hint, the city page and the
   Places rows in search. Plain words and one pin; no flags, no emoji. No hover effects (hover-rules), no animation. */

.pk-place-pin { width: 14px; height: 14px; flex: none; }

/* The line under the author: its own row, small and warm, one tap to the city page. The pin is the brand ember on a
   soft glow; the city reads in warm cream, the country quieter. A faint wash fades out behind it, so it never boxes. */
.pk-post-place { margin: 1px 0 0; font-size: 12.5px; line-height: 1.3; min-width: 0; }
html body.pk-obsidian .pk-post-author-text:has(> .pk-post-place) { flex-wrap: wrap; }
html body.pk-obsidian .pk-post-author-text > .pk-post-place { flex: 1 0 100%; order: 10; }
.pk-post-place a { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; min-height: 24px; margin-left: -6px; padding: 0 12px 0 6px; border-radius: 999px; background: linear-gradient(90deg, rgba(255, 128, 56, .13), rgba(255, 128, 56, 0) 85%); color: rgba(255, 233, 214, .9); text-decoration: none; letter-spacing: .005em; }
.pk-post-place a:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }
.pk-post-place .pk-place-pin { width: 13px; height: 13px; color: #ff9248; filter: drop-shadow(0 0 3px rgba(255, 110, 40, .55)); }
.pk-post-place .pk-place-pin path { fill: rgba(255, 146, 72, .22); }
.pk-post-place .pk-place-pin circle { fill: #ffd2a8; stroke: none; }
.pk-post-place-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pk-post-place-city { font-weight: 600; }
.pk-post-place-country { color: rgba(255, 233, 214, .55); }

/* The picker: a composer tool tile (composer-create.css draws the tile), or a row of the post editor. */
.pk-place-picker > summary { display: flex; align-items: center; gap: 9px; min-height: 44px; font-weight: 600; min-width: 0; }
.pk-place-picker > summary svg { width: 21px; height: 21px; flex: none; }
.pk-place-picker > summary [data-place-summary] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.pk-place-picker.has-place > summary { color: var(--pk-accent); }
.pk-place-panel { display: grid; gap: 10px; min-width: 0; }
.pk-place-chosen { display: flex; align-items: center; gap: 8px; margin: 0; padding: 6px 6px 6px 12px; border: 1px solid var(--pk-line); border-radius: var(--pk-radius-control, 12px); background: var(--pk-surface-raised, #1b1f20); min-width: 0; }
.pk-place-chosen[hidden] { display: none; }
.pk-place-chosen [data-place-chosen-label] { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.pk-place-remove { display: inline-grid; place-items: center; flex: none; width: 44px; height: 44px; margin: -6px -6px -6px 0; border: 0; border-radius: 999px; background: transparent; color: var(--pk-muted); }
.pk-place-remove svg { width: 18px; height: 18px; }
.pk-place-remove:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: -4px; }
.pk-place-search { position: relative; min-width: 0; }
.pk-place-search .pk-control { width: 100%; min-height: 44px; font-size: 16px; box-sizing: border-box; }
.pk-place-results { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 6; display: grid; gap: 2px; margin: 0; padding: 6px; list-style: none; max-height: min(320px, 50vh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #3b4142; border-radius: var(--pk-radius-control, 12px); background: #151819; box-shadow: 0 12px 32px rgb(0 0 0 / 0.45); }
.pk-place-results[hidden] { display: none; }
.pk-place-results-head { padding: 6px 10px 2px; color: var(--pk-muted); font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.pk-place-option { display: grid; gap: 2px; min-height: 44px; align-content: center; padding: 6px 10px; border-radius: var(--pk-radius-small, 8px); color: var(--pk-ink); cursor: pointer; }
.pk-place-option strong { font-weight: 600; font-size: 14px; }
.pk-place-option small, .pk-place-option-note { color: var(--pk-muted); font-size: 12px; }
.pk-place-option.is-active, .pk-place-option[aria-selected="true"] { background: #2b3131; }
.pk-place-empty { padding: 10px; color: var(--pk-muted); font-size: 13px; }
.pk-place-locate { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pk-place-share { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid var(--pk-line); border-radius: 999px; background: transparent; color: var(--pk-ink); font: inherit; font-size: 14px; }
.pk-place-share svg { width: 16px; height: 16px; }
.pk-place-share[hidden], .pk-place-stop[hidden] { display: none; }
.pk-place-share:disabled { opacity: 0.6; }
.pk-place-stop { min-height: 44px; padding: 0 6px; border: 0; background: transparent; color: var(--pk-muted); font: inherit; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.pk-place-share:focus-visible, .pk-place-stop:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }
.pk-place-status { margin: 0; min-height: 1em; color: var(--pk-muted); font-size: 13px; }
.pk-place-status:empty { display: none; }
.pk-place-note, .pk-place-credit { margin: 0; color: var(--pk-muted); font-size: 12px; line-height: 1.4; }
.pk-place-note a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* The photo hint sits under the tools, across the whole row. */
.pk-place-photo-hint { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; margin: 0; padding: 4px 4px 4px 12px; border: 1px dashed var(--pk-line-strong, #4a5152); border-radius: var(--pk-radius-control, 12px); font-size: 14px; min-width: 0; }
.pk-place-photo-hint[hidden] { display: none; }
.pk-place-photo-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pk-place-photo-add { min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: var(--pk-accent); color: var(--pk-on-accent, #08090a); font: inherit; font-weight: 600; }
.pk-place-photo-dismiss { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; color: var(--pk-muted); }
.pk-place-photo-dismiss svg { width: 18px; height: 18px; }
.pk-place-photo-add:focus-visible, .pk-place-photo-dismiss:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }

/* The city page. */
.pk-place-page { display: grid; gap: var(--pk-space-4, 16px); min-width: 0; }
.pk-place-card { position: relative; display: grid; gap: 6px; padding: 28px 22px 22px; border-radius: 22px; overflow: hidden; isolation: isolate; border: 1px solid var(--pk-line); background: linear-gradient(140deg, #1d2a2b 0%, #12191a 55%, #0c1011 100%); min-width: 0; }
.pk-place-card::before { content: ""; position: absolute; inset: -40% -20% auto auto; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgb(196 255 105 / 0.18), transparent 65%); z-index: -1; }
.pk-place-card[data-paint="1"] { background: linear-gradient(140deg, #2a2131 0%, #17121b 55%, #0d0b10 100%); }
.pk-place-card[data-paint="2"] { background: linear-gradient(140deg, #2b2519 0%, #1a160f 55%, #0f0d09 100%); }
.pk-place-card[data-paint="3"] { background: linear-gradient(140deg, #19242e 0%, #10171d 55%, #0a0e11 100%); }
.pk-place-card-eyebrow { display: inline-flex; align-items: center; gap: 6px; margin: 0; color: var(--pk-muted); font-size: 13px; }
.pk-place-card-eyebrow a { color: inherit; text-decoration: none; }
.pk-place-card-eyebrow a:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; border-radius: 4px; }
.pk-place-card h1 { margin: 0; font-size: clamp(30px, 9vw, 52px); line-height: 1.02; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.pk-place-card-country { margin: 0; font-size: 17px; color: var(--pk-ink); }
.pk-place-card-count { margin: 4px 0 0; color: var(--pk-muted); font-size: 14px; }
.pk-place-more { display: grid; justify-items: center; gap: 8px; padding: 12px 0 24px; }
.pk-place-more[hidden] { display: none; }
.pk-place-more .pk-place-retry { min-height: 44px; }
.pk-place-attribution { margin: 0; color: var(--pk-muted); font-size: 12px; text-align: center; }

/* The Places index and search: a list of cities with a count. */
.pk-place-list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pk-place-list a { display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 14px; border: 1px solid var(--pk-line); border-radius: 14px; color: var(--pk-ink); text-decoration: none; min-width: 0; }
.pk-place-list a:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }
.pk-place-list strong { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pk-place-list small { color: var(--pk-muted); flex: none; }

/* Search: the Places group and "Share my location" in the nav search panel (search-suggest.js builds the rows). */
.pk-suggest-icon--place { display: inline-grid; place-items: center; color: var(--pk-accent); }
.pk-suggest-icon--place svg { width: 18px; height: 18px; }
.pk-suggest-row.pk-suggest-share { color: var(--pk-ink); }
.pk-suggest-stop { margin-inline-start: auto; min-height: 32px; padding: 0 8px; border: 0; background: transparent; color: var(--pk-muted); font: inherit; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.pk-suggest-stop:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }
.pk-search-places { display: grid; gap: 10px; }

/* Discover: one row of cities, scrolling sideways inside itself (never the page). */
.pk-place-strip { display: grid; gap: 8px; margin: 0 0 var(--pk-space-4, 16px); min-width: 0; }
.pk-place-strip h2 { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-size: 15px; }
.pk-place-strip ul { display: flex; gap: 8px; margin: 0; padding: 0 0 4px; list-style: none; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; min-width: 0; }
.pk-place-strip li { flex: none; }
.pk-place-strip a { display: grid; gap: 2px; min-height: 44px; align-content: center; padding: 8px 14px; border: 1px solid var(--pk-line); border-radius: 14px; color: var(--pk-ink); text-decoration: none; }
.pk-place-strip a:focus-visible { outline: 2px solid var(--pk-accent); outline-offset: 2px; }
.pk-place-strip small { color: var(--pk-muted); font-size: 12px; white-space: nowrap; }
.pk-place-strip .pk-place-strip-all { color: var(--pk-muted); }

/* Settings: the shared city row. */
.pk-place-settings { display: grid; gap: 8px; }
.pk-place-settings p { margin: 0; }
