/* Review cards and fields reuse Marci's existing tokens and components. */
#main .nps-reviews { color: var(--color-text); font-family: var(--font-body); overflow-wrap: anywhere; }
#main .nps-reviews-list { max-width: none; }
#main .nps-reviews-items { margin: 0; padding: 0; list-style: none; gap: var(--space-6); }
#main .nps-reviews-item { min-width: 0; }
#main .nps-reviews-item article { padding: var(--space-6); border: 1px solid var(--color-border); border-radius: var(--radius-lg); background: var(--color-white); box-shadow: var(--shadow-sm); }
#main .nps-reviews-stars, #main .nps-reviews-rating { color: var(--color-accent-dark); }
#main .nps-reviews-body { margin-block: var(--space-4); }
#main .nps-reviews-badge, #main .nps-reviews-hint { color: var(--color-text-muted); font-size: var(--text-sm); }
#main .nps-reviews-form input[type="text"], #main .nps-reviews-form input[type="email"],
#main .nps-reviews-form textarea, #main .nps-reviews select { border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-text); padding: var(--space-3); min-height: 44px; }
#main .nps-reviews button { border: 0; border-radius: var(--radius-full); background: var(--color-accent-dark); color: var(--color-white); padding: var(--space-3) var(--space-6); min-height: 44px; font-weight: 700; white-space: normal; }
#main .nps-reviews button:hover { background: var(--color-primary-dark); }
#main .nps-reviews-star { min-width: 44px; min-height: 44px; justify-content: center; }
#main .nps-reviews :is(input,select,textarea,button,a):focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }
#main .nps-reviews-pagination a { min-height: 44px; display: inline-flex; align-items: center; }
@media (min-width: 768px) { #main .nps-reviews-items { grid-template-columns: repeat(2,minmax(0,1fr)); } }

#main .nps-reviews a { text-decoration: underline; text-underline-offset: .15em; }
