/* ---------- guestbook (방명록) ---------- */
.gb-sheet .sheet-body { gap: 10px; }
.gb-form { display: flex; gap: 8px; align-items: stretch; }
.gb-form .input { flex: 1; min-width: 0; font-size: 15px; }
.gb-form .btn { flex-shrink: 0; white-space: nowrap; }
.gb-count { text-align: right; margin-top: -4px; }
.gb-list { display: grid; gap: 6px; max-height: min(52vh, 440px); overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding-right: 2px; }
.gb-item { display: grid; gap: 4px; padding: 10px 12px; border-radius: 12px; background: rgba(255, 255, 255, .04); border: 1px solid var(--line); }
.gb-item.fresh { border-color: rgba(255, 122, 24, .55); background: rgba(255, 122, 24, .08); animation: gb-in .35s ease; }
@keyframes gb-in { from { transform: translateY(-6px); opacity: 0; } }
.gb-meta { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; min-width: 0; }
.gb-name { font-weight: 700; font-size: 14px; color: var(--orange-2); overflow-wrap: anywhere; }
.gb-name span { color: var(--muted); font-weight: 500; font-size: 12px; margin-left: 1px; }
.gb-place { font-size: 11px; padding: 2px 8px; border-radius: 999px; border: 1px solid var(--line-strong); background: rgba(155, 77, 255, .14); color: #d9c2ff; white-space: nowrap; }
.gb-time { margin-left: auto; font-size: 11px; color: var(--muted); white-space: nowrap; }
.gb-text { font-size: 14px; line-height: 1.45; color: var(--text); overflow-wrap: anywhere; user-select: text; -webkit-user-select: text; }
.gb-empty { padding: 18px 8px; text-align: center; }
.gb-more { justify-self: center; }

@media (max-width: 420px) {
  .gb-sheet .sheet-body { padding: 14px; }
  .gb-form .btn { padding: 10px 14px; }
  .gb-list { max-height: 58vh; }
  .gb-item { padding: 9px 10px; }
}
