/**
 * @file
 * Comment section and individual comments.
 */

/*
 * Media query breakpoints.
 * Processed by postcss/postcss-custom-media.
 */

/* Navigation related breakpoints */

/* Grid related breakpoints */

/* Grid shifts from 6 to 14 columns. */

/* Width of the entire grid maxes out. */

.comments {
  margin-block-start: var(--sp3);
  max-width: 100%;
  overflow-x: hidden;
}

:root {
  --comment-indentation: var(--sp2);
  --comment-indentation--md: var(--sp4);
}

.comments__title {
  display: flex;
  align-items: center;
  margin-block-start: 0;
}

.comments__count {
  position: relative;
  display: inline-block;
  min-width: 34px;
  margin-block-start: 0;
  margin-block-end: var(--sp0-5);
  margin-inline-start: var(--sp);
  margin-inline-end: var(--sp);
  padding-block: 0;
  padding-inline-start: 5px;
  padding-inline-end: 5px;
  text-align: center;
  color: var(--color--white);
  border-radius: var(--border-radius-sm);
  background-color: var(--color--primary-40);
  font-size: 11px;
  line-height: 21px;
}

.comments__count::after {
    position: absolute;
    inset-block-end: -7px;
    inset-inline-start: 8px;
    width: 0;
    height: 0;
    content: "";
    border-block-start: 7px solid var(--color--primary-40);
    border-inline-end: 8px solid transparent;
  }

/* ─── Comment card ─────────────────────────────────────────────────────── */

.comment {
  position: relative;
}

.comment--level-1 ~ .comment--level-1 {
    margin-block-start: var(--sp);
  }

.comment__card {
  padding: var(--sp1-5);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--border-radius);
  background-color: var(--color--background-card);
}

.comment__card-header {
  display: flex;
  align-items: center;
  gap: var(--sp0-75);
  margin-block-end: var(--sp);
}

/* Avatar circle with initials */

.comment__avatar {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: #B4F000;
  color: #0A1F44;
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.comment__avatar--picture {
  background-color: transparent;
  overflow: hidden;
}

.comment__avatar--picture img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }

.comment__meta {
  flex: 1;
  min-width: 0;
}

.comment__author {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--color--text-primary);
}

.comment__author a {
    color: inherit;
    text-decoration: none;
  }

.comment__time {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 13px;
  color: var(--color--text-muted);
  line-height: 1.4;
  margin-block-start: 2px;
}

/* Rating badge — top right */

.comment__rating {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-block-end: var(--sp0-75);
}

.comment__rating-star {
  color: var(--color--primary);
  font-size: 18px;
  line-height: 1;
}

.comment__rating-value {
  font-family: var(--font-sans);
  font-size: 17px;
  font-weight: 700;
  color: var(--color--primary);
  line-height: 1;
}

/* Comment body text */

.comment__body {
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--color--text-primary);
}

.comment__body .field {
    margin-block-end: 0;
  }

/* ─── Threaded / indented replies ──────────────────────────────────────── */

.indented {
  margin-inline-start: var(--comment-indentation);
  margin-block-start: var(--sp0-75);
}

@media (min-width: 768px) {

.indented {
    margin-inline-start: var(--comment-indentation--md);
}
  }

.show-hide-btn {
  margin-block-start: var(--sp0-75);
  margin-block-end: 0;
  padding: 0;
  cursor: pointer;
  color: var(--color-text-neutral-medium);
  border: 0;
  background: none;
  font-size: 14px;
  font-weight: 600;
  line-height: 18px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.show-hide-btn[aria-expanded="true"]::after {
    content: "\0020 -";
  }

.show-hide-btn[aria-expanded="false"]::after {
    content: "\0020 +";
  }

/* ─── Comment form ─────────────────────────────────────────────────────── */

.comment-form {
  padding-block-end: var(--sp2);

  /* Hide label and text format description */
}

.comment-form .form-item-comment-body-0-value .form-item__label,
  .comment-form .js-filter-wrapper,
  .comment-form .form-item__description {
    display: none;
  }

.comment-form input[type="text"],
  .comment-form input[type="email"],
  .comment-form input[type="url"],
  .comment-form textarea,
  .comment-form .form-item--comment-body-0-value textarea {
    width: 100%;
    padding: 0.75rem 1rem;
    border: 1px solid rgba(180, 240, 0, 0.3);
    border-radius: var(--border-radius);
    background-color: #0F2B5B;
    font-family: var(--font-sans);
    font-size: 0.9375rem;
    color: #F4F6F8;
    line-height: 1.6;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }

:is(.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea,.comment-form .form-item--comment-body-0-value textarea)::-moz-placeholder {
      color: #718096;
    }

:is(.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea,.comment-form .form-item--comment-body-0-value textarea)::placeholder {
      color: #718096;
    }

:is(.comment-form input[type="text"],.comment-form input[type="email"],.comment-form input[type="url"],.comment-form textarea,.comment-form .form-item--comment-body-0-value textarea):focus {
      outline: none;
      border-color: #B4F000;
      box-shadow: 0 0 0 3px rgba(180, 240, 0, 0.1);
    }

.comment-form textarea {
    min-height: 120px;
    resize: vertical;
  }

/* CKEditor override */

.comment-form .ck.ck-editor {
  max-width: 100%;
}

.comment-form .ck.ck-editor__main > .ck-editor__editable,
.comment-form .ck.ck-editor__main > .ck-editor__editable:not(.ck-focused) {
  background-color: #0F2B5B;
  color: #F4F6F8;
  border: 1px solid rgba(180, 240, 0, 0.3);
  border-radius: 0 0 var(--border-radius) var(--border-radius);
}

.comment-form .ck.ck-editor__main > .ck-editor__editable.ck-focused {
  background-color: #0F2B5B;
  color: #F4F6F8;
  border: 1px solid #B4F000;
  border-radius: 0 0 var(--border-radius) var(--border-radius);
  box-shadow: 0 0 0 3px rgba(180, 240, 0, 0.1);
}

.comment-form .ck.ck-sticky-panel__content,
.comment-form .ck.ck-sticky-panel__content_sticky {
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}

.comment-form .ck.ck-toolbar {
  background-color: #0a1a38 !important;
  border: 1px solid rgba(180, 240, 0, 0.3) !important;
  border-bottom: none !important;
  border-radius: var(--border-radius) var(--border-radius) 0 0 !important;
}

.comment-form .ck.ck-toolbar .ck-button {
  color: #a0aec0;
}

.comment-form .ck.ck-toolbar .ck-button:hover,
.comment-form .ck.ck-toolbar .ck-button.ck-on {
  background-color: rgba(180, 240, 0, 0.1);
  color: #B4F000;
}

.add-comment__form {
  padding-inline-start: 0;
}

.add-comment__title {
  margin-block-start: var(--sp3);
}
