.customer-reviews { margin-block: 2rem; }
.customer-reviews > button, [data-review-arrows] button {
  color: var(--blue);
  background: white;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: .65rem .9rem;
  font: inherit;
  font-weight: 600;
}
.customer-reviews > button:hover, [data-review-arrows] button:hover { background: #f0f4f9; }
[data-review-gallery] { margin-bottom: 1rem; }
[data-review-gallery] h2 { margin-bottom: 1rem; font-size: clamp(1.35rem, 2.4vw, 2rem); }
[data-review-cards] { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
[data-review-cards] > .customer-review-card { flex: 0 0 calc((100% - 2rem) / 3); padding: .8rem .95rem; }
.customer-review-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
  overflow-wrap: anywhere;
}
.customer-review-card p { font-size: 1rem; white-space: pre-wrap; margin-block: .6rem; }
[data-review-cards] .customer-review-card p { line-height: 1.4; margin-block: .4rem; }
.customer-review-byline { margin-top: auto; }
.customer-review-card small { display: block; color: var(--muted); }
.review-stars { color: #f7b500; -webkit-text-stroke: .65px #815600; letter-spacing: .12em; font-size: 1.15rem; }
.customer-review-read {
  align-self: flex-start;
  margin-top: .45rem;
  padding: 0;
  border: 0;
  background: none;
  color: var(--blue);
  font: inherit;
  font-weight: 600;
  text-decoration: underline;
  cursor: pointer;
}
dialog.customer-review-full { width: min(640px,calc(100% - 2rem)); max-height: 85vh; max-height: 85dvh; padding: 0; overflow: auto; }
.customer-review-full .dialog-top { position: sticky; top: 0; z-index: 1; background: white; padding: 1rem 1.25rem; }
.customer-review-full .dialog-top h2 { margin: 0; }
.customer-review-full .customer-review-card { border: 0; padding: .25rem 1.25rem 1.25rem; }
@media (max-width: 960px) { [data-review-cards] > .customer-review-card { flex-basis: calc((100% - 1rem) / 2); } }
@media (max-width: 600px) { [data-review-cards] > .customer-review-card { flex-basis: 100%; } }
#customer-review-dialog fieldset { border: 0; padding: 0; margin: 0; }
#customer-review-dialog legend { font-size: 15px; font-weight: 600; margin-bottom: .45rem; }
.review-rating > div, .review-verification-actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.review-rating label, #customer-review-dialog .review-consent {
  display: inline-flex;
  align-items: flex-start;
  gap: .45rem;
}
.review-rating label { align-items: center; padding: .45rem; border: 1px solid var(--line); border-radius: 8px; }
#customer-review-dialog input:is([type=radio],[type=checkbox]) { width: auto; margin: .2em 0 0; accent-color: var(--blue); }
.review-name-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.review-name-fields label { min-width: 0; }
#customer-review-dialog [data-review-preview] { border: 1px solid var(--line); padding: .65rem; border-radius: 8px; }
#customer-review-dialog [data-review-status] { margin: .65rem 0 0; overflow-wrap: anywhere; }
#customer-review-dialog [data-review-status]:empty { display: none; }
#customer-review-dialog [data-review-challenge] { margin-top: .75rem; min-width: 0; }
#customer-review-dialog .review-verification-actions { align-items: center; }
#customer-review-dialog .review-verification-actions .button { margin: 0; }
@media(max-width: 560px) {
  .review-name-fields { grid-template-columns: 1fr; }
  #customer-review-dialog { padding: 16px; }
  #customer-review-dialog form { gap: 12px; }
  .review-rating > div { gap: .25rem; flex-wrap: nowrap; }
  .review-rating label { flex: 1; justify-content: center; gap: .18rem; padding: .3rem .15rem; font-size: .875rem; }
}
