.asas-customer-reviews {
  margin-block: 2rem;
  padding: clamp(1rem, 4vw, 2rem);
  border: 1px solid var(--line, #dfe3e3);
  border-radius: var(--radius, 18px);
  background: var(--paper, #f7f5f0);
  color: var(--ink, #152636);
  text-align: start;
  scroll-margin-block-start: 6rem;
}
.asas-customer-reviews h2, .asas-customer-reviews h3 { margin: 0 0 .65rem; color: var(--ink, #152636); }
.asas-review-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .875rem; }
.asas-review-card, .asas-review-form { padding: 1rem; border: 1px solid var(--line, #dfe3e3); border-radius: 14px; background: var(--surface, #fff); }
.asas-review-card p { margin: .5rem 0 0; overflow-wrap: anywhere; white-space: pre-wrap; }
.asas-review-card h3 { overflow-wrap: anywhere; }
.asas-review-score { display: inline-flex; direction: ltr; color: var(--copper-dark, #8d5726); letter-spacing: .09em; }
.asas-review-unfilled, .asas-reviews-empty, .asas-review-form > p { color: var(--muted, #606b73); }
.asas-review-form { display: grid; gap: .85rem; margin-block-start: 1.2rem; scroll-margin-block-start: 6rem; }
.asas-review-form > p { margin: 0; }
.asas-review-field { display: grid; gap: .35rem; }
.asas-review-field input, .asas-review-field textarea { width: 100%; min-width: 0; padding: .65rem; border: 1px solid var(--line, #dfe3e3); border-radius: 8px; background: var(--surface, #fff); color: inherit; font: inherit; }
.asas-review-field input { min-height: 44px; }
.asas-review-field textarea { resize: vertical; }
.asas-review-rating { min-inline-size: 0; padding: 0; border: 0; margin: 0; }
.asas-review-rating legend { padding: 0; }
.asas-review-stars { display: flex; flex-wrap: wrap; gap: .2rem; }
.asas-review-stars label { display: grid; place-items: center; min-width: 44px; min-height: 44px; border: 1px solid var(--line, #dfe3e3); border-radius: 8px; font-size: 1.4rem; color: var(--muted, #606b73); cursor: pointer; }
.asas-review-stars input:checked + label { color: var(--copper-dark, #8d5726); border-color: currentColor; }
.asas-review-stars label:has(~ input:checked) { color: var(--copper-dark, #8d5726); border-color: currentColor; }
.asas-review-stars input:focus-visible + label { outline: 2px solid var(--copper-dark, #8d5726); outline-offset: 2px; }
.asas-review-sr-only, .asas-review-honeypot, .asas-review-stars input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.asas-review-consent { display: flex; align-items: baseline; gap: .55rem; min-height: 44px; cursor: pointer; }
.asas-review-consent input { flex: none; accent-color: var(--copper-dark, #8d5726); }
.asas-review-form button { justify-self: start; min-height: 44px; }
.asas-review-notice { margin-block: .75rem; padding: .75rem; border-inline-start: 4px solid var(--copper-dark, #8d5726); background: var(--surface, #fff); }
.asas-review-notice.is-success { border-inline-start-color: #287c7b; }
.asas-review-pagination { display: flex; align-items: center; gap: .75rem; margin-block-start: .75rem; }
.asas-review-pagination a { display: inline-flex; align-items: center; min-height: 44px; color: var(--copper-dark, #8d5726); text-decoration: underline; }
@media (max-width: 640px) { .asas-review-grid { grid-template-columns: minmax(0, 1fr); } }
