/* ---------- 플레이스 점검 ---------- */

#place-root { word-break: keep-all; overflow-wrap: anywhere; }

.place-empty { padding: 28px 4px; text-align: center; }
.place-empty h2 { margin-bottom: 10px; font-family: var(--serif); font-size: 22px; font-weight: 400; }
.place-empty p { margin: 0 auto 20px; max-width: 420px; color: var(--ink-soft); font-size: 15px; }
.place-loading { display: flex; align-items: center; justify-content: center; gap: 8px; }

.place-summary { margin-bottom: 18px; padding: 18px; border-radius: 18px; background: var(--accent-soft); }
.place-shop { margin: 0 0 4px; color: var(--accent-deep); font-size: 14px; }
.place-summary h2 { font-family: var(--serif); font-size: 22px; font-weight: 400; }
.place-summary h2 b { color: var(--accent-deep); font-weight: 500; }
.place-summary p { margin: 6px 0 0; color: var(--ink-soft); font-size: 14.5px; }
.place-when { font-size: 14px !important; color: var(--muted) !important; }
.place-link { padding: 0; color: var(--accent-deep); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 네이버 플레이스 검색 노출 ---------- */

.place-seo-card {
  margin: 0 0 22px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.place-seo-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.place-eyebrow { margin: 0 0 4px; color: var(--accent-deep); font-size: 12px; letter-spacing: .08em; }
.place-seo-head h2 { font-family: var(--serif); font-size: 21px; font-weight: 400; }
.place-seo-copy { margin: 6px 0 14px; color: var(--ink-soft); font-size: 14.5px; }
.place-seo-form { display: flex; gap: 8px; }
.place-seo-form input {
  min-width: 0;
  flex: 1;
  padding: 10px 12px;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-sm);
  background: var(--bg);
  font-size: 15px;
}
.place-seo-form input:focus { outline: none; border-color: var(--accent); background: var(--surface); }
.place-seo-status { display: flex; align-items: center; gap: 7px; margin: 14px 0 0; color: var(--ink-soft); font-size: 14px; }
.place-seo-result { display: flex; align-items: baseline; gap: 7px; margin-top: 16px; }
.place-seo-result strong { font-family: var(--serif); font-size: 28px; font-weight: 500; }
.place-seo-result span { color: var(--ink-soft); font-size: 14px; }
.place-seo-result.is-found strong { color: var(--accent-deep); }
.place-seo-result.is-pending strong { color: #9a6a1f; font-size: 21px; }
.place-seo-result.is-missing strong { color: var(--danger); font-size: 21px; }
.place-seo-note { margin: 4px 0 0; color: var(--muted); font-size: 13px; }
.place-seo-results { margin-top: 14px; border-top: 1px solid var(--line); }
.place-seo-results summary { padding: 11px 0 4px; color: var(--accent-deep); cursor: pointer; font-size: 14px; }
.place-seo-results ol { margin: 5px 0 0; padding: 0; list-style: none; }
.place-seo-result-item { display: flex; align-items: center; gap: 9px; padding: 6px 8px; border-radius: 8px; color: var(--ink-soft); font-size: 14px; }
.place-seo-result-item.is-target { background: var(--accent-soft); color: var(--accent-deep); font-weight: 500; }
.place-seo-rank-number { width: 20px; color: var(--muted); text-align: right; font-variant-numeric: tabular-nums; }
.place-seo-result-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.place-seo-you { flex: none; margin-left: auto; font-size: 12px; font-weight: 500; }
.place-seo-link { display: inline-block; margin-top: 12px; color: var(--accent-deep); font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 420px) {
  .place-seo-form { align-items: stretch; flex-direction: column; }
  .place-seo-form .place-button { width: 100%; }
}

.place-group-title { margin: 22px 0 10px; color: var(--muted); font-size: 14px; font-weight: 500; letter-spacing: .02em; }

.place-row {
  margin-bottom: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.place-row.is-ok { box-shadow: none; }
.place-row-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.place-row-head h3 { font-size: 16px; font-weight: 500; }
.place-chip { flex: none; padding: 3px 9px; border-radius: 999px; font-size: 14px; font-weight: 500; }
.place-row.is-missing .place-chip { background: #fbe9e6; color: var(--danger); }
.place-row.is-weak .place-chip { background: #fbf1df; color: #9a6a1f; }
.place-row.is-ok .place-chip { background: #e8f1eb; color: var(--ok); }
.place-detail { margin: 6px 0 0; color: var(--ink-soft); font-size: 14.5px; }

.place-current { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 10px 0 0; font-size: 14px; }
.place-current span { color: var(--muted); }
.place-word { padding: 2px 8px; border-radius: 999px; background: var(--surface-soft); color: var(--ink-soft); font-weight: 500; }
.place-current-text { margin-top: 10px; font-size: 14px; color: var(--muted); }
.place-current-text summary { cursor: pointer; min-height: var(--control-height); padding-block: 10px; }
.place-current-text p { margin: 8px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--surface-soft); color: var(--ink-soft); font-size: 14px; white-space: pre-wrap; }

.place-typical-box:empty { display: none; }
.place-typical-box { margin-top: 12px; padding: 12px; border-radius: 12px; background: var(--bg); }
.place-bench, .place-typical, .place-legend { margin: 0; font-size: 14px; color: var(--ink-soft); }
.place-bench b, .place-typical b { color: var(--ink); }
.place-typical { margin-top: 6px; }
.place-typical span { margin-right: 6px; color: var(--muted); }
.place-typical em { color: var(--accent-deep); font-style: normal; font-weight: 500; }
.place-elements { display: flex; flex-wrap: wrap; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.place-elements li { display: inline-flex; align-items: center; gap: 4px; padding: 4px 9px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--ink-soft); font-size: 14px; }
.place-elements li small { color: var(--muted); font-size: 14px; }
.place-elements li.is-has { border-color: #cfe3d5; background: #eef6f0; color: var(--ok); }
.place-elements li.is-lack { border-color: #f1d9d4; background: #fcf1ef; color: var(--danger); }
.place-legend { margin-top: 8px; font-size: 14px; color: var(--muted); }

.place-guide { margin: 12px 0 0; color: var(--ink-soft); font-size: 14px; }
.place-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.place-row > .place-button { margin-top: 10px; }
.place-error { margin: 8px 0 0; color: var(--danger); font-size: 14px; }

.place-draft { margin-top: 12px; padding: 12px; border: 1px dashed var(--accent); border-radius: 12px; }
.place-draft-label { margin: 0 0 6px; color: var(--accent-deep); font-size: 14px; }
.place-draft-text { margin: 0; color: var(--ink); font-size: 15px; line-height: 1.7; white-space: pre-wrap; }
.place-added { background: #fbf1df; color: var(--ink); text-decoration: underline; text-decoration-color: #d9a441; text-underline-offset: 3px; border-radius: 3px; padding: 0 2px; }

/* 분석 알약이 다섯 개라 폰 폭에서는 한 줄로 두고 옆으로 민다. */
.analysis-pills { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.analysis-pills::-webkit-scrollbar { display: none; }
.analysis-pill { flex: none; white-space: nowrap; }

/* 검색어 묶음 순위. 지역어별로 묶고 순위 칸을 오른쪽에 세로로 맞춘다. */
.place-seo-progress { margin: 14px 0 8px; color: var(--ink-soft); font-size: 14px; }
.place-seo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.place-seo-group { padding: 11px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.place-seo-group h3 { margin: 0 0 7px; font-size: 14px; font-weight: 600; color: var(--ink); }
.place-seo-group ul { margin: 0; padding: 0; list-style: none; }
.place-seo-row { display: flex; align-items: baseline; gap: 8px; padding: 5px 0; font-size: 14px; }
.place-seo-row + .place-seo-row { border-top: 1px solid var(--line); }
.place-seo-word { min-width: 0; flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--ink-soft); }
.place-seo-rank { flex: none; font-variant-numeric: tabular-nums; color: var(--ink-soft); }
.place-seo-rank b { font-family: var(--serif); font-size: 19px; font-weight: 500; }
.place-seo-row small { flex: none; color: var(--muted); font-size: 12px; }
.place-seo-row.is-good .place-seo-rank { color: var(--accent-deep); }
.place-seo-row.is-far .place-seo-rank { color: #9a6a1f; }
.place-seo-row.is-out .place-seo-rank { color: var(--danger); font-size: 13px; }
.place-seo-row.is-waiting .place-seo-rank,
.place-seo-row.is-error .place-seo-rank { color: var(--muted); font-size: 13px; }
.place-seo-manual { margin-top: 16px; border-top: 1px solid var(--line); }
.place-seo-manual summary { padding: 11px 0 8px; color: var(--accent-deep); cursor: pointer; font-size: 14px; }
.place-seo-beta { margin: -6px 0 12px; color: var(--muted); font-size: 13px; }
.place-group-note { margin: -4px 0 10px; color: var(--muted); font-size: 14px; line-height: 1.6; }
