/*
 * == THREAD VIEW ==
 **/
.scTailwindThreadQuestionQuestioncardtitle-container {
  gap: 0 1rem!important;
  margin: 1rem 0!important;
}

.scTailwindThreadQuestionQuestioncardcontent {
  padding: 1.5rem 1rem 1rem 1rem!important;
}

.scTailwindThreadQuestionQuestioncardhero {
  margin: 1rem calc(-2*1.5rem) 0!important;
}

.scTailwindThreadQuestionQuestioncardsub-content {
  padding: 0 1rem 1rem!important;
}

.scTailwindThreadMessageMessagecardcontent,
    .scTailwindThreadMessageMessagecardnested-reply {
  padding: 1rem!important;
}

.scTailwindThreadMessagegapmore-nested-replies {
  padding: 0.25rem 1rem!important;
}

sc-tailwind-thread-post-header {
  margin-bottom: 0!important;
}

/**
 * When flattening threads, we hide the reply button (in fact the entire blue
 * footer), so we will reduce the padding moderately.
 */
body.TWPT-flattenthreads-enabled .scTailwindThreadMessageMessagelistmessage-card {
  padding-bottom: 1rem!important;
}
body:not(.TWPT-flattenthreads-enabled) .scTailwindThreadMessageMessagelistmessage-card {
  padding-bottom: 0.75rem!important;
}

h3.scTailwindThreadMessageMessagelistheading {
  margin: 1rem 0!important;
}

.scTailwindThreadMorebuttonroot,
    .scTailwindThreadMessagegaproot {
  margin: 0 0 0.75rem 0!important;
}

@media (min-width: 37.5rem) {
  .scTailwindThreadMessageMessagecardcontent,
      .scTailwindThreadMessageMessagecardnested-reply {
    padding: 1rem 3rem!important;
  }

  .scTailwindThreadMessagegapmore-nested-replies {
    padding: 0.25rem 3rem!important;
  }

  .scTailwindThreadQuestionQuestioncardsub-content {
    padding: 0 3rem 1rem!important;
  }
}

/*
 * == REPLY DIALOG ==
 **/
.scTailwindThreadReplydialogtop-row {
  padding-top: 0!important;
  padding-bottom: 0!important;
}

.scTailwindSharedRichtexteditortoolbar {
  margin-top: 1rem!important;
}

.scSharedSearchablemenusearch {
  padding-top: 0.75rem!important;
  padding-bottom: 0.75rem!important;
}

.scSharedSearchablemenuitem {
  min-height: 2.5rem!important;
}
