.venue-detail-comments {
  display: flex;
  width: 100%;
  flex-direction: column;
  gap: var(--spacing-lg);
  padding: 48px 0;
  color: var(--neutral-tx2-title);
}

.venue-detail-comments h2 {
  margin: 0;
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  line-height: var(--line-height-22);
}

.venue-detail-comments__list,
.venue-detail-comment,
.venue-detail-comment__replies {
  display: flex;
  width: 100%;
  flex-direction: column;
}

.venue-detail-comments__list {
  gap: var(--spacing-sm);
}

.venue-detail-comment {
  position: relative;
  gap: var(--spacing-sm);
}

.venue-detail-comments__list > .venue-detail-comment.has-replies::before {
  position: absolute;
  top: 34px;
  bottom: 0;
  left: 12px;
  border-left: var(--stroke-1) solid var(--semantic-border);
  content: "";
  pointer-events: none;
}

.venue-detail-comment__header {
  display: grid;
  min-width: 0;
  grid-template-columns: 24px minmax(0, 1fr) auto 18px;
  align-items: center;
  gap: var(--spacing-sm);
}

.venue-detail-comment__avatar {
  width: 24px;
  border: var(--stroke-1) solid var(--semantic-border);
  border-radius: var(--radius-full);
}

.venue-detail-comment__header strong,
.venue-detail-comment__header time,
.venue-detail-comment__content,
.venue-detail-comment__reply-content,
.venue-detail-comment__actions {
  font-size: var(--font-size-base);
  line-height: var(--line-height-20);
}

.venue-detail-comment__header strong {
  overflow: hidden;
  font-weight: var(--font-weight-medium);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.venue-detail-comment__header time,
.venue-detail-comment__actions {
  color: var(--neutral-tx3-sub);
}

.venue-detail-comment__header time {
  font-weight: var(--font-weight-regular);
}

.venue-detail-comment__more {
  display: flex;
  width: 18px;
  height: 18px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
}

.venue-detail-comment__more img,
.venue-detail-comment__actions img {
  width: 18px;
}

.venue-detail-comment__content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  margin-left: 12px;
  padding: 0 0 var(--spacing-sm) 18px;
}

.venue-detail-comment p {
  margin: 0;
  font-weight: var(--font-weight-regular);
}

.venue-detail-comment__actions {
  display: flex;
  align-items: center;
  gap: var(--spacing-lg);
}

.venue-detail-comment__actions button,
.venue-detail-comment__actions > span {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-3xs);
  padding: 0;
  border: 0;
  color: inherit;
  background: transparent;
  font: inherit;
}

.venue-detail-comment__replies {
  width: calc(100% - 12px);
  margin-left: 12px;
  padding-left: 18px;
  gap: var(--spacing-sm);
}

.venue-detail-comment--reply {
  position: relative;
  width: 100%;
}

.venue-detail-comment--reply::before {
  position: absolute;
  top: 12px;
  left: -18px;
  width: 18px;
  border-top: var(--stroke-1) solid var(--semantic-border);
  content: "";
  pointer-events: none;
}

.venue-detail-comment--reply:last-child::after {
  position: absolute;
  top: 13px;
  bottom: 0;
  left: -18px;
  width: var(--stroke-1);
  background: var(--semantic-white);
  content: "";
  pointer-events: none;
}

.venue-detail-comment__reply-content {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-sm);
  padding: 0 0 var(--spacing-sm) 30px;
}

.venue-detail-comment__reply-button {
  white-space: nowrap;
}

.venue-detail-comments__pagination {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-3xs);
}

.venue-detail-comments__pagination button {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  color: var(--neutral-tx2-title);
  background: transparent;
  font-size: var(--font-size-base);
  line-height: var(--line-height-20);
}

.venue-detail-comments__pagination button.is-current {
  background: var(--semantic-bg);
}

.venue-detail-comments__pagination button:disabled {
  opacity: 0.45;
}

.venue-detail-comments__pagination img {
  width: 5px;
}

.venue-detail-comments__form {
  position: relative;
  width: 100%;
}

.venue-detail-comments__form label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}

.venue-detail-comments__form input {
  width: 100%;
  min-height: 42px;
  padding: 10px 40px 10px 10px;
  border: var(--stroke-1) solid var(--semantic-input-border);
  border-radius: var(--radius-sm);
  color: var(--neutral-tx2-title);
  background: var(--semantic-white);
  font-size: var(--font-size-base);
  line-height: var(--line-height-20);
}

.venue-detail-comments__form input::placeholder {
  color: var(--neutral-tx4-dissolved);
}

.venue-detail-comments__form button {
  position: absolute;
  top: 50%;
  right: 10px;
  display: flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  transform: translateY(-50%);
}

.venue-detail-comments__form button img {
  width: 20px;
}

@media (max-width: 767px) {
  .venue-detail-comment__header {
    gap: var(--spacing-2xs);
  }

  .venue-detail-comment__content {
    padding-left: 18px;
  }

  .venue-detail-comment__replies {
    padding-left: 18px;
  }

}

/* 2026-10-27 Figma «Place Detail» 768·1600(map-details › magazine-detail-reply) — 댓글 묶음 사이 간격 0(사용자 결정 «피그마대로») */
.venue-detail-comments .venue-detail-comments__list {
  gap: 0;
}
