/* v3.8 reusable operator-feedback section for product pages */
.product-feedback-section {
  position: relative;
  padding-block: clamp(82px, 9vw, 132px);
  overflow: hidden;
  background:
    radial-gradient(circle at 92% 8%, rgba(197, 164, 109, .1), transparent 27rem),
    var(--graphite);
  border-block: 1px solid var(--line-soft);
}

.product-feedback-section::after {
  content: '“';
  position: absolute;
  right: clamp(18px, 7vw, 110px);
  bottom: -7.5rem;
  color: rgba(197, 164, 109, .055);
  font-family: var(--serif);
  font-size: clamp(16rem, 30vw, 30rem);
  line-height: 1;
  pointer-events: none;
}

.product-feedback-section .shell {
  position: relative;
  z-index: 1;
}

.product-feedback-heading {
  max-width: 760px;
  margin-bottom: clamp(38px, 5vw, 64px);
}

.product-feedback-heading h2 {
  margin-bottom: 18px;
  font-size: clamp(2.4rem, 4vw, 4.35rem);
}

.product-feedback-heading p {
  max-width: 650px;
  margin: 0;
}

.product-feedback-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr));
  gap: 18px;
}

.product-feedback-grid.feedback-count-1 {
  grid-template-columns: minmax(0, 1fr);
}

.product-feedback-card {
  position: relative;
  min-width: 0;
  min-height: 360px;
  margin: 0;
  padding: clamp(34px, 5vw, 62px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: linear-gradient(145deg, rgba(30, 35, 42, .96), rgba(14, 17, 21, .98));
  border: 1px solid rgba(197, 164, 109, .32);
}

.feedback-count-1 .product-feedback-card {
  max-width: 980px;
}

.product-feedback-mark {
  position: absolute;
  top: 22px;
  right: 30px;
  color: rgba(197, 164, 109, .2);
  font-family: var(--serif);
  font-size: 7.5rem;
  line-height: 1;
}

.product-feedback-card blockquote {
  position: relative;
  z-index: 1;
  margin: 0 0 44px;
}

.product-feedback-card blockquote p {
  max-width: 880px;
  margin: 0;
  color: var(--ivory);
  font-family: var(--serif);
  font-size: clamp(1.45rem, 2.35vw, 2.35rem);
  line-height: 1.36;
}

.product-feedback-grid:not(.feedback-count-1) .product-feedback-card blockquote p {
  font-size: clamp(1.25rem, 1.6vw, 1.65rem);
}

.product-feedback-card figcaption {
  position: relative;
  z-index: 1;
  padding-top: 24px;
  display: grid;
  gap: 6px;
  border-top: 1px solid var(--line-soft);
}

.product-feedback-verified {
  width: fit-content;
  margin-bottom: 5px;
  color: #9dd7b7;
  font-size: .68rem;
  font-weight: 750;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.product-feedback-verified::before {
  content: '✓';
  margin-right: 8px;
}

.product-feedback-card figcaption strong {
  color: var(--ivory);
  font-size: .92rem;
  font-weight: 650;
}

.product-feedback-card figcaption small {
  color: var(--grey);
  font-size: .72rem;
}

html[data-theme='light'] .product-feedback-section {
  background:
    radial-gradient(circle at 92% 8%, rgba(0, 70, 135, .075), transparent 27rem),
    #f3f7fa;
}

html[data-theme='light'] .product-feedback-card {
  background: #fff;
  border-color: rgba(0, 70, 135, .18);
  box-shadow: 0 20px 55px rgba(0, 49, 91, .07);
}

html[data-theme='light'] .product-feedback-card blockquote p,
html[data-theme='light'] .product-feedback-card figcaption strong {
  color: var(--ivory);
}

html[data-theme='light'] .product-feedback-verified {
  color: #12623a;
}

@media (max-width: 700px) {
  .product-feedback-card {
    min-height: 0;
    padding: 30px 26px;
  }

  .product-feedback-mark {
    top: 18px;
    right: 20px;
    font-size: 5.5rem;
  }

  .product-feedback-card blockquote {
    margin-bottom: 34px;
  }
}
