.customer-rating {
  margin: 16px 0 24px;
  border: 1px solid var(--line-strong, #555b56);
  background: var(--store-surface, #161918);
  color: var(--text, #e7e6df);
}

.customer-rating summary {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 18px 46px 18px 18px;
  cursor: pointer;
  list-style: none;
}

.customer-rating summary::-webkit-details-marker { display: none; }
.customer-rating summary::after {
  content: "+";
  position: absolute;
  top: 18px;
  right: 18px;
  font-size: 22px;
  line-height: 1;
}
.customer-rating[open] summary::after { content: "−"; }
.customer-rating summary:hover { background: #222724; }
.customer-rating summary:focus-visible {
  outline: 2px solid #e7e6df;
  outline-offset: 4px;
}
.customer-rating-score { font-size: 14px; line-height: 1.6; font-weight: 700; }
.customer-rating-stars { letter-spacing: .04em; white-space: nowrap; }
.customer-rating-action { font-size: 12px; line-height: 1.5; color: #bfc4bd; }
.customer-rating-body { padding: 0 18px 18px; border-top: 1px solid var(--line, #383e3a); }
.customer-rating-body p { margin: 16px 0 0; font-size: 14px; line-height: 1.7; }
.customer-rating-body .customer-rating-source {
  font: 10px/1.6 var(--font-mono, monospace);
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #bfc4bd;
}
.customer-rating-body .customer-rating-note { font-size: 12px; color: #bfc4bd; }
