/* Um trilho por comentario pai, com curvas curtas ate as respostas. */
body.forum-page .ff-comments {
  --thread-line: #b6c0ca;
  --thread-surface: var(--ff-feed-card, var(--forum-card, #fff));
  --thread-indent: 32px;
  --thread-rail: 14px;
  --thread-branch: 46px;
}
body.forum-page.dark-theme .ff-comments {
  --thread-line: #65798c;
  --thread-surface: var(--ff-feed-card, var(--forum-card, #101b2a));
}
body.forum-page .ff-comments [data-thread-group],
body.forum-page .ff-comments .ff-thread,
body.forum-page .ff-comments .ff-comment,
body.forum-page .ff-comments .ff-comment-content {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
body.forum-page .ff-comments .ff-thread { position: relative !important; }
body.forum-page .ff-comments .ff-comment[data-has-replies] {
  position: relative !important;
}
body.forum-page .ff-comments .ff-comment-content {
  position: static !important;
  padding-left: var(--thread-indent) !important;
}
body.forum-page .ff-comments .ff-comment-content > p { overflow-wrap: anywhere; }
body.forum-page .ff-comments .ff-comment[data-has-replies]::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  left: calc(-1 * var(--thread-rail)) !important;
  top: 15px !important;
  bottom: 0 !important;
  width: 1px !important;
  height: auto !important;
  border: 0 !important;
  background: var(--thread-line) !important;
  pointer-events: none !important;
}
body.forum-page .ff-comments .ff-comment-content::before,
body.forum-page .ff-comments .ff-thread-children > .ff-thread > .ff-comment > .ff-comment-content::before {
  content: none !important;
  display: none !important;
}
body.forum-page .ff-comments .ff-comment[data-has-replies]:has(> .ff-comment-content > .ff-replies:not([open]))::before {
  content: none !important;
  display: none !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies,
body.forum-page .ff-comments .ff-thread .ff-replies .ff-replies {
  position: static !important;
  margin: 2px 0 0 calc(-1 * var(--thread-indent) + 13px) !important;
  padding: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies::before {
  content: none !important;
  display: none !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies > summary {
  position: absolute !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  left: -23px !important;
  top: -3px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: var(--thread-surface) !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies > summary .ff-branch-toggle {
  display: grid !important;
  place-items: center !important;
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  border: 1px solid var(--thread-line) !important;
  border-radius: 50% !important;
  background: var(--thread-surface) !important;
  color: var(--forum-text, #172b3d) !important;
  font-size: 11px !important;
  line-height: 1 !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies > .ff-thread-children {
  position: relative !important;
  display: grid !important;
  max-width: none !important;
  gap: 8px !important;
  margin: 5px 0 0 -27px !important;
  padding: 0 0 0 calc(var(--thread-branch) - 1px) !important;
  border: 0 !important;
  border-left: 1px solid var(--thread-line) !important;
  background: transparent !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies > .ff-thread-children > .ff-thread::before,
body.forum-page .ff-comments .forum-official-answer > .ff-replies > .ff-thread-children > .ff-thread::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 1 !important;
  left: calc(-1 * var(--thread-branch)) !important;
  top: 7px !important;
  width: calc(var(--thread-branch) + 1px) !important;
  height: 11px !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-left: 1px solid var(--thread-line) !important;
  border-bottom: 1px solid var(--thread-line) !important;
  border-bottom-left-radius: 10px !important;
  background: transparent !important;
  pointer-events: none !important;
}
body.forum-page .ff-comments .ff-thread-children > .ff-thread > .ff-comment > .ff-comment-header {
  position: relative !important;
  z-index: 2 !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-replies > .ff-thread-children > .ff-thread:last-child::after,
body.forum-page .ff-comments .forum-official-answer > .ff-replies > .ff-thread-children > .ff-thread:last-child::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  left: calc(-1 * var(--thread-branch) - 1px) !important;
  top: 16px !important;
  bottom: 0 !important;
  width: 3px !important;
  border: 0 !important;
  background: var(--thread-surface) !important;
  pointer-events: none !important;
}
/* Acoes leves, alinhadas na mesma linha como na referencia. */
body.forum-page .ff-comments .ff-comment-content > .ff-social,
body.forum-page .ff-comments .ff-comment-content > .ff-comment-actions {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
  gap: 3px !important;
  width: auto !important;
  min-height: 25px !important;
  margin: 2px 5px 2px 0 !important;
  padding: 0 !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-social button,
body.forum-page .ff-comments .ff-comment-content > .ff-social .ff-like-login,
body.forum-page .ff-comments .ff-comment-content > .ff-comment-actions button,
body.forum-page .ff-comments .ff-comment-content > .ff-comment-actions .ff-reply-button {
  min-height: 25px !important;
  padding: 3px 5px !important;
  border: 0 !important;
  border-radius: 5px !important;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit !important;
}
body.forum-page .ff-comments .ff-comment-content > .ff-comment-actions .ff-comment-menu-trigger {
  min-width: 25px !important;
  min-height: 25px !important;
  padding: 0 3px !important;
  font-size: 17px !important;
}
/* A resposta oficial participa da mesma cadeia. */
body.forum-page .ff-comments .forum-official-answer > .ff-replies {
  position: static !important;
  margin: 2px 0 0 calc(-1 * var(--thread-rail)) !important;
  padding: 0 !important;
  border: 0 !important;
}
body.forum-page .ff-comments .forum-official-answer {
  position: relative !important;
}
body.forum-page .ff-comments .forum-official-answer::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: calc(-1 * var(--thread-rail)) !important;
  top: 15px !important;
  bottom: 0 !important;
  width: 1px !important;
  height: auto !important;
  background: var(--thread-line) !important;
  pointer-events: none !important;
}
body.forum-page .ff-comments .forum-official-answer:has(> .ff-replies:not([open]))::before {
  content: none !important;
  display: none !important;
}
body.forum-page .ff-comments .forum-official-answer > .ff-replies > summary {
  position: absolute !important;
  z-index: 3 !important;
  left: -23px !important;
  top: -3px !important;
  margin: 0 !important;
  background: var(--thread-surface) !important;
}
body.forum-page .ff-comments .forum-official-answer > .ff-replies::before {
  content: none !important;
  display: none !important;
}
body.forum-page .ff-comments .forum-official-answer > .ff-replies > summary .ff-branch-toggle {
  background: var(--thread-surface) !important;
}
body.forum-page .ff-comments .forum-official-answer > .ff-replies > .ff-thread-children {
  max-width: none !important;
  margin: 5px 0 0 !important;
  padding-left: calc(var(--thread-branch) - 1px) !important;
  border: 0 !important;
  border-left: 1px solid var(--thread-line) !important;
}
@media (max-width: 650px) {
  body.forum-page .ff-comments .ff-comment-content { padding-left: var(--thread-indent) !important; }
  body.forum-page .ff-comments .ff-comment-content > .ff-replies { margin-left: calc(-1 * var(--thread-indent) + 13px) !important; }
  body.forum-page .ff-comments .ff-comment-content > .ff-replies > .ff-thread-children {
    margin-left: -27px !important;
    padding-left: calc(var(--thread-branch) - 1px) !important;
  }
}
