/**
 * Navi Feedback for Woodmart - CSS.
 *
 * @author Navid Ashigh <https://navidashigh.ir/>
 * @copyright 2026 Navid Ashigh
 * @license GPL-2.0-or-later
 */
:root {
  --wmfh-accent: #122763;
  --wmfh-star: #DB9521;
  --wmfh-star-empty: #D6DDE7;
  --wmfh-line: #E7EBF1;
  --wmfh-soft-bg: #F7F9FC;
  --wmfh-radius: 20px;
  --wmfh-modal-width: 550px;
  --wmfh-text: #1F2B4D;
  --wmfh-muted: #76809C;
  --wmfh-green: #00A049;
  --wmfh-neutral: #A2A73A;
  --wmfh-orange: #EC9C1B;
}

/* Scope + hard containment: never escape the Woodmart/Elementor container. */
.wmc-hub,
.wmc-hub *,
.wmc-hub *::before,
.wmc-hub *::after {
  box-sizing: border-box;
}

.wmc-hub {
  direction: rtl;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 32px 0;
  color: var(--wmfh-text);
  font-size: 13px;
  overflow: visible;
}

.wmc-hub--product,
.wmc-hub-product-reviews,
.wmc-hub-product-reviews__wrapper,
.wmc-hub-product-reviews__container,
.wmc-hub-product-reviews__content,
.wmc-hub-product-faq,
.wmc-hub-product-faq__wrapper,
.wmc-hub-product-faq__container,
.wmc-hub-product-faq__content,
.wmc-hub-article-comments__wrapper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-inline: 0;
}

.wmc-hub button,
.wmc-hub input,
.wmc-hub textarea,
.wmc-hub select {
  max-width: 100%;
  font: inherit;
}

/* ---------------------------------------------------------
   PRODUCT REVIEWS + RATING — one iShop-inspired section
   --------------------------------------------------------- */
.wmc-hub-product-reviews,
.wmc-hub-product-faq {
  display: block;
  padding: 0;
  border: 0;
  background: transparent;
}

.wmc-hub-product-reviews__title,
.wmc-hub-product-faq__title {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 28px !important;
  padding: 0 !important;
  color: var(--wmfh-accent) !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
  text-align: right;
  overflow-wrap: anywhere;
}

.wmc-hub-product-reviews__container,
.wmc-hub-product-faq__container {
  display: grid;
  grid-template-columns: minmax(245px, 295px) minmax(0, 1fr);
  gap: 34px;
  align-items: start;
}

.wmc-hub-product-reviews__sidebar,
.wmc-hub-product-faq__sidebar {
  min-width: 0;
}

.wmc-hub-side-card {
  position: relative;
  width: 100%;
  min-width: 0;
  padding: 24px 22px;
  overflow: hidden;
  border: 1px solid #EDF0F5;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(2, 25, 89, .045);
}

.wmc-hub-side-card::after {
  position: absolute;
  z-index: 0;
  left: -58px;
  bottom: -92px;
  width: 220px;
  height: 270px;
  border-radius: 48% 52% 58% 42%;
  background: rgba(227, 231, 242, .42);
  filter: blur(22px);
  content: "";
  pointer-events: none;
  transform: rotate(11deg);
}

.wmc-hub-side-card > * {
  position: relative;
  z-index: 1;
}

.wmc-hub-side-average {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 22px;
  border-bottom: 1px solid #EDF0F5;
}

.wmc-hub-side-average__number {
  flex: 0 0 auto;
  color: var(--wmfh-accent);
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
}

.wmc-hub-side-average__meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: 7px;
  color: var(--wmfh-muted);
  font-size: 11px;
}

.wmc-hub-side-average__meta b {
  color: var(--wmfh-text);
  font-size: 13px;
}

.wmc-hub-stars {
  display: inline-flex;
  direction: ltr;
  align-items: center;
  gap: 3px;
  max-width: 100%;
}

.wmc-hub-star {
  display: inline-flex;
  flex: 0 0 auto;
  color: var(--wmfh-star-empty);
}

.wmc-hub-star.is-active {
  color: var(--wmfh-star);
}

.wmfh-star-svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
}

.wmc-hub-side-ratings {
  display: grid;
  gap: 15px;
  padding: 22px 0;
  border-bottom: 1px solid #EDF0F5;
}

.wmc-hub-side-rating > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 7px;
  color: var(--wmfh-muted);
  font-size: 11px;
}

.wmc-hub-side-rating > div span {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
}

.wmc-hub-side-rating > div b {
  color: var(--wmfh-text);
  font-size: 20px;
  line-height: 1;
}

.wmc-hub-side-rating > div em {
  color: var(--wmfh-muted);
  font-size: 11px;
  font-style: normal;
}

.wmc-hub-side-rating > i {
  display: block;
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: #EEF1F5;
}

.wmc-hub-side-rating > i span {
  display: block;
  height: 100%;
  border-radius: inherit;
}

.wmc-hub-side-rating.is-positive > i span { background: var(--wmfh-green); }
.wmc-hub-side-rating.is-neutral > i span { background: var(--wmfh-neutral); }
.wmc-hub-side-rating.is-negative > i span { background: var(--wmfh-orange); }

.wmc-hub-side-counters {
  display: grid;
  grid-template-columns: 1fr 1px 1fr 1px 1fr;
  gap: 9px;
  align-items: center;
  padding-top: 22px;
}

.wmc-hub-side-counters > div {
  min-width: 0;
  text-align: center;
}

.wmc-hub-side-counters > div strong {
  display: block;
  margin-bottom: 8px;
  color: var(--wmfh-accent);
  font-size: 24px;
  font-weight: 800;
  line-height: 1;
}

.wmc-hub-side-counters > div span {
  display: block;
  color: var(--wmfh-muted);
  font-size: 9px;
  font-weight: 600;
  line-height: 1.7;
}

.wmc-hub-side-counters > i {
  display: block;
  width: 1px;
  height: 42px;
  background: #E6EAF0;
}

.wmc-hub-side-action {
  margin-top: 18px;
}

.wmc-hub-side-action__button {
  display: flex !important;
  width: 100%;
  min-height: 64px;
  padding: 11px 15px !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #E5E9F0 !important;
  border-radius: 13px !important;
  background: #fff !important;
  color: var(--wmfh-accent) !important;
  box-shadow: 0 10px 28px rgba(2, 25, 89, .045) !important;
  cursor: pointer;
  text-decoration: none !important;
}

.wmc-hub-side-action__button > span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  color: var(--wmfh-accent);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.6;
}

.wmc-hub-side-action__button small {
  color: var(--wmfh-muted);
  font-size: 9px;
  font-weight: 600;
}

.wmc-hub-side-action__button > b {
  display: inline-flex;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid #E4E9F0;
  border-radius: 10px;
  background: var(--wmfh-soft-bg);
  color: var(--wmfh-accent);
  font-size: 17px;
  font-weight: 700;
}

.wmc-hub-side-action p {
  margin: 10px 4px 0;
  color: var(--wmfh-muted);
  font-size: 10px;
  line-height: 1.9;
}

.wmc-hub-review-area {
  position: relative;
  min-width: 0;
}

.wmc-hub-review-head,
.wmc-hub-question-toolbar {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 18px;
  padding: 0 0 14px;
  border-bottom: 1px solid #EDF0F5;
}

.wmc-hub-review-head > strong,
.wmc-hub-question-toolbar > strong {
  flex: 0 0 auto;
  color: var(--wmfh-text);
  font-size: 12px;
  font-weight: 700;
}

.wmc-hub-review-head__tools,
.wmc-hub-review-tools,
.wmc-hub-qsort {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.wmc-hub-review-tools {
  margin: 0 !important;
}

.wmc-hub-chip {
  position: relative;
  margin: 0;
  cursor: pointer;
}

.wmc-hub-chip input,
.wmc-hub-qsort input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.wmc-hub-chip span,
.wmc-hub-qsort label span,
.wmc-hub-qsort a {
  display: inline-flex;
  min-height: 34px;
  padding: 7px 12px;
  align-items: center;
  justify-content: center;
  border: 1px solid #E5E9F0;
  border-radius: 8px;
  background: #fff;
  color: var(--wmfh-muted);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
}

.wmc-hub-chip input:checked + span,
.wmc-hub-qsort input:checked + span,
.wmc-hub-qsort a.is-active {
  border-color: #D6DFEC;
  background: #F1F5FA;
  color: var(--wmfh-accent);
}

.wmc-hub-sort select,
.wmc-hub-review-tools .wd-reviews-sorting-select {
  width: auto !important;
  min-width: 130px;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 6px 10px !important;
  border: 1px solid #E5E9F0 !important;
  border-radius: 8px !important;
  background-color: #fff !important;
  color: var(--wmfh-text) !important;
  box-shadow: none !important;
  font-size: 10px !important;
}

/* Product and article comment cards. */
.wmc-hub-comment-list,
.wmc-hub-comment-list ol,
.wmc-hub-comment-list .children,
.wmc-hub .commentlist {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.wmc-hub .commentlist {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  --wd-col-lg: 1 !important;
  --wd-col-md: 1 !important;
  --wd-col-sm: 1 !important;
}

.wmc-hub-comment,
.wmc-hub .commentlist > li {
  min-width: 0;
  margin: 0 !important;
}

.wmc-hub-comment-card {
  width: 100%;
  min-width: 0;
  padding: 19px 20px;
  border: 1px solid #E9EDF3;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
}

.wmc-hub-comment-card.is-reply {
  background: #FBFCFE;
}

.wmc-hub-comment-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.wmc-hub-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.wmc-hub-avatar img {
  display: block;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  object-fit: cover;
  border-radius: 50% !important;
}

.wmc-hub-name-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.wmc-hub-name-row strong {
  color: var(--wmfh-text);
  font-size: 12px;
  font-weight: 750;
}

.wmc-hub-badge {
  display: inline-flex;
  min-height: 21px;
  padding: 3px 8px;
  align-items: center;
  border-radius: 6px;
  background: #F0F3F7;
  color: var(--wmfh-muted);
  font-size: 9px;
  font-weight: 700;
}

.wmc-hub-badge.is-buyer {
  background: #EAF8F1;
  color: #168255;
}

.wmc-hub-badge.is-manager {
  background: #EDF2FF;
  color: var(--wmfh-accent);
}

.wmc-hub-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 5px;
  color: var(--wmfh-muted);
  font-size: 9px;
}

.wmc-hub-meta a {
  color: inherit;
  text-decoration: none;
}

.wmc-hub-comment-actions a {
  display: inline-flex;
  padding: 6px 9px;
  border: 1px solid #E7EBF1;
  border-radius: 8px;
  color: var(--wmfh-accent);
  font-size: 10px;
  text-decoration: none;
}

.wmc-hub-comment-text {
  min-width: 0;
  margin-top: 14px;
  color: #465164;
  font-size: 12px;
  line-height: 2;
  overflow-wrap: anywhere;
}

.wmc-hub-comment-text p:last-child {
  margin-bottom: 0;
}

.wmc-hub-comment-footer {
  min-width: 0;
  margin-top: 13px;
  padding-top: 11px;
  border-top: 1px solid #EEF1F4;
}

.wmc-hub-comment-footer:empty { display: none; }

.wmc-hub-comment-list .children {
  margin-top: 10px !important;
  padding-right: 20px !important;
  border-right: 2px solid #EDF0F5;
}

/* Woodmart extras inside our cards. */
.wmc-hub .wd-review-likes,
.wmc-hub .wd-review-arguments,
.wmc-hub .wd-review-criteria-wrap,
.wmc-hub .wd-review-images {
  max-width: 100%;
}

.wmc-hub .wd-review-arguments {
  margin-top: 12px;
}

.wmc-hub .wd-review-likes {
  margin-top: 8px;
}

.wmc-hub .woocommerce-pagination {
  margin-top: 18px;
}

.wmc-hub-empty,
.wmc-hub-note,
.wmc-hub-awaiting {
  width: 100%;
  max-width: 100%;
  padding: 14px 16px;
  border: 1px dashed #DFE4EC;
  border-radius: 10px;
  background: #FBFCFE;
  color: var(--wmfh-muted);
  font-size: 11px;
  line-height: 1.9;
}

.wmc-hub-awaiting {
  border-style: solid;
  border-color: #F0E1B7;
  background: #FFF9E9;
  color: #876A22;
}

/* Review/comment form. */
.wmc-hub-form-card {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid #E9EDF3;
  border-radius: 14px;
  background: #FBFCFE;
}

.wmc-hub-form-card .comment-reply-title {
  display: block;
  margin: 0 0 16px !important;
  color: var(--wmfh-accent) !important;
  font-size: 16px !important;
  font-weight: 750 !important;
  line-height: 1.6 !important;
}

.wmc-hub-form-card .comment-form,
.wmc-hub-comment-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0;
}

.wmc-hub-form-card .comment-form > p,
.wmc-hub-comment-form > p,
.wmc-hub-form-card .comment-form > div {
  min-width: 0;
  margin: 0 !important;
}

.wmc-hub-full,
.wmc-hub-main-rating,
.wmc-hub-criteria,
.wmc-hub-form-note,
.wmc-hub-form-card .form-submit,
.wmc-hub-form-card .comment-notes,
.wmc-hub-form-card .must-log-in,
.wmc-hub-form-card .logged-in-as {
  grid-column: 1 / -1;
}

.wmc-hub-form-card label,
.wmc-hub-qa-form label {
  display: grid;
  gap: 7px;
  color: var(--wmfh-text);
  font-size: 11px;
  font-weight: 650;
}

.wmc-hub-form-card input[type="text"],
.wmc-hub-form-card input[type="email"],
.wmc-hub-form-card textarea,
.wmc-hub-qa-form input[type="text"],
.wmc-hub-qa-form input[type="email"],
.wmc-hub-qa-form textarea {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 10px 12px !important;
  border: 1px solid #E2E7EF !important;
  border-radius: 9px !important;
  outline: 0;
  background: #fff !important;
  color: var(--wmfh-text) !important;
  box-shadow: none !important;
  line-height: 1.8 !important;
}

.wmc-hub-form-card input[type="text"],
.wmc-hub-form-card input[type="email"],
.wmc-hub-qa-form input[type="text"],
.wmc-hub-qa-form input[type="email"] {
  min-height: 44px;
}

.wmc-hub-form-card textarea,
.wmc-hub-qa-form textarea {
  min-height: 130px;
  resize: vertical;
}

.wmc-hub-form-card input:focus,
.wmc-hub-form-card textarea:focus,
.wmc-hub-qa-form input:focus,
.wmc-hub-qa-form textarea:focus {
  border-color: #C7D2E2 !important;
  box-shadow: 0 0 0 3px rgba(18, 39, 99, .045) !important;
}

.wmc-hub-submit,
.wmc-hub-qa-submit {
  display: inline-flex !important;
  width: auto !important;
  min-width: 150px;
  min-height: 44px;
  padding: 9px 18px !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 9px !important;
  background: var(--wmfh-accent) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  cursor: pointer;
}

.wmc-hub-rating-title {
  display: block;
  margin-bottom: 8px;
  color: var(--wmfh-text);
  font-size: 11px;
  font-weight: 650;
}

.wmc-hub-rating-title i {
  color: #D83D50;
  font-style: normal;
}

.wmc-hub-rating-input {
  display: inline-flex;
  direction: ltr;
  align-items: center;
  gap: 5px;
}

.wmc-hub-rating-input input {
  position: absolute;
  width: 1px !important;
  height: 1px !important;
  opacity: 0;
  pointer-events: none;
}

.wmc-hub-rating-input label {
  display: inline-flex;
  padding: 2px;
  color: var(--wmfh-star-empty);
  cursor: pointer;
  transition: transform .15s ease;
}

.wmc-hub-rating-input label .wmfh-star-svg {
  width: 22px;
  height: 22px;
  flex-basis: 22px;
}

.wmc-hub-rating-input label.is-active,
.wmc-hub-rating-input label.is-preview {
  color: var(--wmfh-star);
}

.wmc-hub-rating-input label:hover {
  transform: translateY(-1px);
}

.wmc-hub-criteria {
  display: grid;
  gap: 12px;
  padding: 13px;
  border: 1px solid #E9EDF3;
  border-radius: 10px;
  background: #fff;
}

/* ---------------------------------------------------------
   PRODUCT Q&A — independent full-width section
   --------------------------------------------------------- */
.wmc-hub-product-faq {
  width: 100%;
  max-width: 100%;
  margin-top: 52px;
  padding-top: 38px;
  border-top: 1px solid #EDF0F5;
}

.wmc-hub-faq-total {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-bottom: 22px;
  border-bottom: 1px solid #EDF0F5;
}

.wmc-hub-faq-total strong {
  color: var(--wmfh-accent);
  font-size: 38px;
  font-weight: 800;
  line-height: 1;
}

.wmc-hub-faq-total span {
  color: var(--wmfh-muted);
  font-size: 11px;
}

.wmc-hub-question-list {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 14px;
}

.wmc-hub-question-list.is-loading {
  opacity: .55;
  pointer-events: none;
}

.wmc-hub-question {
  width: 100%;
  min-width: 0;
  padding: 18px 19px;
  border: 1px solid #E9EDF3;
  border-radius: 14px;
  background: #fff;
}

.wmc-hub-question-head {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.wmc-hub-question-main {
  display: flex;
  min-width: 0;
  align-items: flex-start;
  gap: 10px;
}

.wmc-hub-qicon {
  display: inline-flex;
  width: 26px;
  height: 20px;
  flex: 0 0 26px;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #F9EEDC;
  color: var(--wmfh-star);
  font-size: 13px;
  font-weight: 800;
}

.wmc-hub-question-main p {
  margin: 0;
  color: var(--wmfh-text);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.wmc-hub-qmeta {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin-top: 7px;
  color: var(--wmfh-muted);
  font-size: 9px;
}

.wmc-hub-votes {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 5px;
}

.wmc-hub-vote {
  display: inline-flex !important;
  min-height: 31px;
  padding: 5px 8px !important;
  align-items: center;
  gap: 5px;
  border: 1px solid #E8ECF2 !important;
  border-radius: 8px !important;
  background: #fff !important;
  color: var(--wmfh-accent) !important;
  box-shadow: none !important;
  font-size: 10px !important;
  cursor: pointer;
}

.wmc-hub-vote.is-loading { opacity: .5; pointer-events: none; }

.wmc-hub-answers {
  display: grid;
  gap: 9px;
  margin: 15px 36px 0 0;
}

.wmc-hub-answer {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 13px 14px;
  border-radius: 11px;
  background: #F8FAFC;
}

.wmc-hub-answer-badge {
  align-self: start;
  padding: 4px 8px;
  border-radius: 6px;
  background: #EDF2FF;
  color: var(--wmfh-accent);
  font-size: 9px;
  font-weight: 750;
}

.wmc-hub-answer p {
  margin: 0;
  color: #536078;
  font-size: 11px;
  line-height: 1.95;
}

.wmc-hub-question-footer {
  margin-top: 11px;
  text-align: left;
}

.wmc-hub-question-footer button {
  padding: 5px 9px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--wmfh-accent) !important;
  box-shadow: none !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  cursor: pointer;
}

/* ---------------------------------------------------------
   SITE-WIDE COMMENTS ONLY — posts, pages and public CPTs
   --------------------------------------------------------- */
.wmc-hub--article {
  margin-block: 28px;
}

.wmc-hub-article-comments__wrapper {
  padding: 22px;
  border: 1px solid #E9EDF3;
  border-radius: 16px;
  background: #fff;
}

.wmc-hub-article-comments__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
  padding-bottom: 15px;
  border-bottom: 1px solid #EDF0F5;
}

.wmc-hub-article-comments__head > div {
  min-width: 0;
}

.wmc-hub-article-comments__head h2 {
  margin: 0 !important;
  color: var(--wmfh-accent) !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
}

.wmc-hub-article-comments__head > div span {
  display: block;
  margin-top: 4px;
  color: var(--wmfh-muted);
  font-size: 10px;
}

.wmc-hub-form-note {
  color: var(--wmfh-muted);
  font-size: 10px;
}


/* ---------------------------------------------------------
   LEGACY / DIRECT THEME COMMENTS FALLBACK
   Covers WoodMart/default markup when a custom template or builder prints
   .comments-area directly instead of going through comments_template().
   --------------------------------------------------------- */
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) {
  width: 100%;
  max-width: 100%;
  margin-block: 28px;
  padding: 22px;
  border: 1px solid #E9EDF3;
  border-radius: 16px;
  background: #fff;
  box-sizing: border-box;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comments-title {
  width: 100%;
  max-width: 100%;
  margin: 0 0 18px !important;
  padding: 0 0 15px !important;
  border-bottom: 1px solid #EDF0F5;
  color: var(--wmfh-accent) !important;
  font-size: 19px !important;
  line-height: 1.55 !important;
  overflow-wrap: anywhere;
  box-sizing: border-box;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list,
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list .children {
  margin: 0;
  padding: 0;
  list-style: none;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list > li,
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list .children > li {
  margin: 0 0 12px;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-body {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding: 17px;
  border: 1px solid var(--wmfh-line);
  border-radius: 14px;
  background: #fff;
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list .children {
  margin-top: 10px;
  padding-inline-start: 28px;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list .children .comment-body {
  background: var(--wmfh-soft-bg);
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-author.vcard {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 7px;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-author.vcard .avatar {
  flex: 0 0 46px;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  border-radius: 50%;
  object-fit: cover;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-author .fn {
  color: #1F2B4D;
  font-size: 13px;
  font-style: normal;
  font-weight: 750;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-author .says {
  display: none;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-metadata,
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-meta {
  margin: 0 56px 9px 0;
  color: var(--wmfh-muted);
  font-size: 10px;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-content,
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-body > p {
  color: #536078;
  font-size: 12px;
  line-height: 1.95;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .reply {
  margin-top: 10px;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .reply a,
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-reply-link {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 8px;
  background: var(--wmfh-soft-bg);
  color: var(--wmfh-accent);
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) #respond {
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--wmfh-line);
  border-radius: 14px;
  background: var(--wmfh-soft-bg);
  box-sizing: border-box;
}

body.wmfh-site-comments-active .comments-area:not(.wmc-hub) #respond input[type="text"],
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) #respond input[type="email"],
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) #respond input[type="url"],
body.wmfh-site-comments-active .comments-area:not(.wmc-hub) #respond textarea {
  width: 100%;
  max-width: 100%;
  border: 1px solid var(--wmfh-line);
  border-radius: 10px;
  background: #fff;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  body.wmfh-site-comments-active .comments-area:not(.wmc-hub) {
    padding: 16px;
    border-radius: 14px;
  }
  body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-list .children {
    padding-inline-start: 14px;
  }
  body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-metadata,
  body.wmfh-site-comments-active .comments-area:not(.wmc-hub) .comment-meta {
    margin-inline-start: 0;
    margin-inline-end: 0;
  }
}

/* ---------------------------------------------------------
   Q&A MODAL — no horizontal overflow; close button left
   --------------------------------------------------------- */
html.wmc-hub-modal-open,
html.wmc-hub-modal-open body {
  overflow: hidden !important;
}

.wmc-hub-modal {
  position: fixed;
  z-index: 999999;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
  padding: 20px;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
  overflow-y: auto;
}

.wmc-hub-modal[aria-hidden="false"] {
  display: flex;
}

.wmc-hub-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(22, 31, 51, .48);
  backdrop-filter: blur(4px);
}

.wmc-hub-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, var(--wmfh-modal-width));
  max-width: 100%;
  min-width: 0;
  max-height: calc(100vh - 40px);
  padding: 24px;
  overflow-x: hidden !important;
  overflow-y: auto;
  border: 1px solid #E5E9F0;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 24px 80px rgba(2, 25, 89, .18);
}

.wmc-hub-modal-header-row {
  display: flex;
  width: 100%;
  min-width: 0;
  margin: 0 0 22px;
  padding: 0;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.wmc-hub-modal-head {
  min-width: 0;
  flex: 1 1 auto;
  padding: 0;
}

.wmc-hub-modal-head h3 {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: var(--wmfh-accent) !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 36px !important;
}

.wmc-hub-modal-subtitle {
  margin: 0 !important;
  color: var(--wmfh-muted);
  font-size: 10px;
  line-height: 1.8;
}

.wmc-hub-modal-close {
  position: static !important;
  inset: auto !important;
  order: 2;
  display: inline-flex !important;
  width: 36px !important;
  height: 36px !important;
  min-width: 36px !important;
  min-height: 36px !important;
  flex: 0 0 36px;
  margin: 0 !important;
  padding: 0 !important;
  align-items: center;
  justify-content: center;
  border: 1px solid #E5E9F0 !important;
  border-radius: 9px !important;
  background: #F7F9FC !important;
  color: var(--wmfh-accent) !important;
  box-shadow: none !important;
  font-size: 23px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer;
}

/* RTL flex order: head is right, close is left. Force logical placement even if theme adds floats. */
.wmc-hub-modal-header-row > .wmc-hub-modal-head { order: 1; }
.wmc-hub-modal-header-row > .wmc-hub-modal-close { margin-inline-start: auto !important; float: none !important; }

.wmc-hub-qa-form {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  gap: 14px;
  overflow-x: hidden;
}

.wmc-hub-form-row {
  display: grid;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wmc-hub-message-label,
.wmc-hub-form-status,
.wmc-hub-user-note {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.wmc-hub-hp {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

.wmc-hub-user-note {
  padding: 10px 12px;
  border-radius: 9px;
  background: #F7F9FC;
  color: var(--wmfh-muted);
  font-size: 10px;
}

.wmc-hub-form-status {
  min-height: 18px;
  color: var(--wmfh-muted);
  font-size: 10px;
}

.wmc-hub-form-status.is-success { color: #168255; }
.wmc-hub-form-status.is-error { color: #C63B4D; }
.wmc-hub-qa-form.is-loading { opacity: .65; pointer-events: none; }

/* Product-only shortcode safety. */
.wmc-hub-questions-only {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 1024px) {
  .wmc-hub-product-reviews__container,
  .wmc-hub-product-faq__container {
    grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
    gap: 24px;
  }
}

@media (max-width: 860px) {
  .wmc-hub-product-reviews__container,
  .wmc-hub-product-faq__container {
    grid-template-columns: minmax(0, 1fr);
  }

  .wmc-hub-product-reviews__sidebar,
  .wmc-hub-product-faq__sidebar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .72fr);
    gap: 14px;
    align-items: start;
  }

  .wmc-hub-side-action { margin-top: 0; }
}

@media (max-width: 600px) {
  .wmc-hub { margin: 24px 0; }

  .wmc-hub-product-reviews__title,
  .wmc-hub-product-faq__title {
    margin-bottom: 20px !important;
    font-size: 19px !important;
  }

  .wmc-hub-product-reviews__sidebar,
  .wmc-hub-product-faq__sidebar {
    display: block;
  }

  .wmc-hub-side-action { margin-top: 14px; }

  .wmc-hub-side-card,
  .wmc-hub-form-card,
  .wmc-hub-article-comments__wrapper {
    padding: 16px;
    border-radius: 14px;
  }

  .wmc-hub-review-head,
  .wmc-hub-question-toolbar,
  .wmc-hub-article-comments__head,
  .wmc-hub-question-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .wmc-hub-review-head__tools,
  .wmc-hub-review-tools,
  .wmc-hub-qsort {
    width: 100%;
  }

  .wmc-hub-qsort {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 3px;
  }

  .wmc-hub-qsort label,
  .wmc-hub-qsort a { flex: 0 0 auto; }

  .wmc-hub-form-card .comment-form,
  .wmc-hub-comment-form,
  .wmc-hub-form-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .wmc-hub-comment-card,
  .wmc-hub-question {
    padding: 15px;
  }

  .wmc-hub-comment-list .children {
    padding-right: 10px !important;
  }

  .wmc-hub-answers {
    margin-right: 0;
  }

  .wmc-hub-votes {
    align-self: flex-end;
  }

  .wmc-hub-product-faq {
    margin-top: 38px;
    padding-top: 30px;
  }

  .wmc-hub-modal {
    padding: 10px;
    align-items: flex-end;
  }

  .wmc-hub-modal-dialog {
    width: 100%;
    max-height: calc(100vh - 20px);
    padding: 18px;
    border-radius: 18px 18px 12px 12px;
  }

  .wmc-hub-modal-header-row { margin-bottom: 18px; }
  .wmc-hub-modal-head h3 { font-size: 16px !important; line-height: 34px !important; }
  .wmc-hub-modal-close { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; flex-basis: 34px; }
}
.wmc-hub-modal-header-row > .wmc-hub-modal-close {
  margin-right: auto !important;
  margin-left: 0 !important;
}

/* v2.1.6 performance: lazy Q&A placeholder. */
.wmc-hub-product-faq__dynamic {
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
.wmc-hub-qa-skeleton {
	display: grid;
	grid-template-columns: 295px minmax(0, 1fr);
	gap: 28px;
	min-height: 250px;
}
.wmc-hub-qa-skeleton span {
	display: block;
	border-radius: var(--wmfh-radius, 20px);
	background: linear-gradient(90deg, #f6f7f9 25%, #eef1f5 37%, #f6f7f9 63%);
	background-size: 400% 100%;
	animation: wmfhSkeleton 1.25s ease-in-out infinite;
}
.wmc-hub-qa-skeleton span:first-child {
	grid-row: span 2;
}
.wmc-hub-qa-skeleton span:nth-child(2) {
	min-height: 72px;
}
.wmc-hub-qa-skeleton span:nth-child(3) {
	min-height: 150px;
}
@keyframes wmfhSkeleton {
	0% { background-position: 100% 0; }
	100% { background-position: 0 0; }
}
@media (max-width: 991px) {
	.wmc-hub-qa-skeleton { grid-template-columns: 1fr; min-height: 210px; }
	.wmc-hub-qa-skeleton span:first-child { grid-row: auto; min-height: 120px; }
}
@media (prefers-reduced-motion: reduce) {
	.wmc-hub-qa-skeleton span { animation: none; }
}

/* ---------------------------------------------------------
   v2.2.0 — Product-only AI buyer review summary
   --------------------------------------------------------- */
.wmc-hub-ai-summary {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  margin: 0 0 22px;
  padding: 20px 22px;
  overflow: hidden;
  border: 1px solid #E8ECF3;
  border-radius: 18px;
  background: linear-gradient(135deg, #FFFFFF 0%, #F8FAFD 100%);
  box-shadow: 0 10px 30px rgba(2, 25, 89, .035);
}

.wmc-hub-ai-summary::before {
  position: absolute;
  top: -70px;
  left: -50px;
  width: 190px;
  height: 190px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(219, 149, 33, .10) 0%, rgba(219, 149, 33, 0) 72%);
  content: "";
  pointer-events: none;
}

.wmc-hub-ai-summary__head {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 15px;
}

.wmc-hub-ai-summary__heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
}

.wmc-hub-ai-summary__icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(219, 149, 33, .22);
  border-radius: 11px;
  background: #FFF9EE;
  color: var(--wmfh-star);
  font-size: 19px;
  line-height: 1;
}

.wmc-hub-ai-summary__heading > div {
  min-width: 0;
}

.wmc-hub-ai-summary__heading h3 {
  margin: 0 0 5px !important;
  padding: 0 !important;
  color: var(--wmfh-accent) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}

.wmc-hub-ai-summary__label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--wmfh-muted);
  font-size: 10px;
  font-weight: 600;
}

.wmc-hub-ai-summary__label::before {
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--wmfh-star);
  content: "";
}

.wmc-hub-ai-summary__count {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid #E8ECF3;
  border-radius: 999px;
  background: #fff;
  color: var(--wmfh-muted);
  font-size: 10px;
  white-space: nowrap;
}

.wmc-hub-ai-summary__text {
  position: relative;
  z-index: 1;
  color: var(--wmfh-text);
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
}

.wmc-hub-ai-summary__points {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.wmc-hub-ai-summary__group {
  min-width: 0;
  padding: 13px 14px;
  border-radius: 12px;
}

.wmc-hub-ai-summary__group.is-positive {
  border: 1px solid rgba(0, 160, 73, .12);
  background: rgba(0, 160, 73, .045);
}

.wmc-hub-ai-summary__group.is-caution {
  border: 1px solid rgba(236, 156, 27, .15);
  background: rgba(236, 156, 27, .055);
}

.wmc-hub-ai-summary__group strong {
  display: block;
  margin-bottom: 8px;
  color: var(--wmfh-accent);
  font-size: 11px;
  font-weight: 800;
}

.wmc-hub-ai-summary__group ul {
  display: grid;
  gap: 7px;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.wmc-hub-ai-summary__group li {
  position: relative;
  margin: 0 !important;
  padding: 0 13px 0 0 !important;
  color: var(--wmfh-text);
  font-size: 11px;
  line-height: 1.8;
}

.wmc-hub-ai-summary__group li::before {
  position: absolute;
  top: .75em;
  right: 0;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  content: "";
}

.wmc-hub-ai-summary__group.is-positive li::before { background: var(--wmfh-green); }
.wmc-hub-ai-summary__group.is-caution li::before { background: var(--wmfh-orange); }

.wmc-hub-ai-summary__foot {
  position: relative;
  z-index: 1;
  margin-top: 14px;
  padding-top: 11px;
  border-top: 1px dashed #E2E7EE;
  color: var(--wmfh-muted);
  font-size: 9px;
  line-height: 1.8;
}

@media (max-width: 640px) {
  .wmc-hub-ai-summary { padding: 16px; border-radius: 14px; }
  .wmc-hub-ai-summary__head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .wmc-hub-ai-summary__count { align-self: flex-start; }
  .wmc-hub-ai-summary__points { grid-template-columns: minmax(0, 1fr); }
}
