.purchase-discussion {
  display: grid;
  gap: 16px;
  max-width: 100%;
}

.purchase-discussion__head h2 {
  margin: 0 0 6px;
  font-size: 22px;
}

.purchase-discussion__head p,
.purchase-discussion__hint,
.purchase-discussion__notice {
  margin: 0;
  color: #6c6b66;
  line-height: 1.45;
}

.purchase-discussion__feedback {
  display: none;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 14px;
}

.purchase-discussion__feedback.is-error,
.purchase-discussion__feedback.is-success,
.purchase-discussion__feedback.is-info {
  display: block;
}

.purchase-discussion__feedback.is-error {
  color: #8f2520;
  background: #fff0ee;
}

.purchase-discussion__feedback.is-success {
  color: #286435;
  background: #eef8ef;
}

.purchase-discussion__feedback.is-info {
  color: #3d5a79;
  background: #eef4fb;
}

.purchase-discussion__messages {
  display: grid;
  gap: 12px;
}

.discussion-message {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  padding: 13px;
  border: 1px solid #e4e0d6;
  border-radius: 10px;
  background: #fff;
}

.discussion-message--hidden,
.discussion-message--deleted {
  background: #faf9f5;
}

.discussion-message__avatar {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.discussion-message__avatar img,
.discussion-message__avatar span {
  display: block;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
}

.discussion-message__avatar span {
  box-sizing: border-box;
  padding-top: 10px;
  background: #e3ead8;
  color: #4c6d4c;
  font-weight: 700;
  text-align: center;
}

.discussion-message__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin-bottom: 6px;
  font-size: 13px;
}

.discussion-message__author {
  color: #415f3e;
  font-weight: 700;
  text-decoration: none;
}

.discussion-message__author:hover,
.discussion-message__author:focus-visible {
  text-decoration: underline;
}

.discussion-message__role {
  padding: 2px 7px;
  border-radius: 999px;
  background: #f1e7c8;
  color: #77571e;
  font-size: 12px;
}

.discussion-message__header time,
.discussion-message__edited {
  color: #858178;
}

.discussion-message__body {
  overflow-wrap: anywhere;
  color: #30312d;
  line-height: 1.5;
}

.discussion-message__body.is-muted {
  color: #88837a;
  font-style: italic;
}

.discussion-message__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.discussion-action,
.discussion-load-more {
  min-height: 32px;
  padding: 6px 9px;
  border: 1px solid #c9c5b9;
  border-radius: 6px;
  background: #fff;
  color: #4e5448;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
}

.discussion-action:hover,
.discussion-load-more:hover,
.discussion-action:focus-visible,
.discussion-load-more:focus-visible {
  border-color: #5e8156;
  outline: none;
}

.discussion-action--danger {
  color: #9a3228;
}

.purchase-discussion__composer {
  display: grid;
  gap: 9px;
  padding: 14px;
  border: 1px solid #dcd7ca;
  border-radius: 10px;
  background: #fbfaf6;
}

.purchase-discussion__composer label {
  color: #4d5148;
  font-weight: 700;
}

.purchase-discussion__composer textarea {
  box-sizing: border-box;
  width: 100%;
  min-height: 92px;
  padding: 10px;
  border: 1px solid #cfcaba;
  border-radius: 7px;
  resize: vertical;
  font: inherit;
}

.purchase-discussion__composer textarea:focus {
  border-color: #698e5f;
  outline: 2px solid rgba(105, 142, 95, 0.2);
}

.purchase-discussion__composer-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.purchase-discussion__composer-footer .pd2-order-btn {
  flex: 0 0 auto;
}

.purchase-discussion__composer-footer button[type="submit"] {
  min-height: 44px;
  padding: 10px 18px;
  border: 0;
  border-radius: 8px;
  background: #609268;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
}

.purchase-discussion__composer-footer button[type="submit"]:hover,
.purchase-discussion__composer-footer button[type="submit"]:focus-visible {
  background: #4d7e57;
  outline: 2px solid rgba(96, 146, 104, 0.3);
  outline-offset: 2px;
}

.purchase-discussion__notice {
  padding: 14px;
  border-radius: 8px;
  background: #f5f3ec;
}

.purchase-discussion__notice a {
  color: #476f42;
  font-weight: 700;
}

@media (max-width: 640px) {
  .purchase-discussion__head h2 {
    font-size: 19px;
  }

  .discussion-message {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 11px;
  }

  .discussion-message__avatar img,
  .discussion-message__avatar span {
    width: 32px;
    height: 32px;
  }

  .discussion-message__avatar span {
    padding-top: 8px;
    font-size: 13px;
  }

  .purchase-discussion__composer-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .purchase-discussion__composer-footer .pd2-order-btn {
    width: 100%;
  }

  .discussion-action,
  .discussion-load-more {
    min-height: 44px;
  }
}
