.umd-reviews { margin-top: 2rem; }
.umd-reviews__top { align-items: center; display: flex; justify-content: space-between; margin-bottom: 1rem; }
.umd-reviews__top p { color: #17324d; font-weight: 800; margin: 0; }
.umd-reviews__controls { display: flex; gap: .5rem; }
.umd-reviews__controls button { align-items: center; background: #fff; border: 1px solid #bdc8d0; border-radius: 50%; color: #17324d; cursor: pointer; display: flex; font: inherit; font-weight: 800; height: 42px; justify-content: center; width: 42px; }
.umd-reviews__controls button:hover { border-color: #0e5b4f; color: #0e5b4f; }
.umd-reviews__controls button:focus-visible { outline: 3px solid rgba(14,91,79,.28); outline-offset: 2px; }
.umd-reviews__track { display: grid; gap: 1rem; grid-auto-columns: 88%; grid-auto-flow: column; overflow-x: auto; overscroll-behavior-inline: contain; padding: .2rem .1rem 1rem; scrollbar-width: thin; scroll-snap-type: inline mandatory; }
.umd-review { background: #fff; border: 1px solid #dbe2e8; border-radius: 16px; box-shadow: 0 10px 28px rgba(23,50,77,.07); padding: 1.2rem; scroll-snap-align: start; }
.umd-review__author { align-items: center; display: flex; gap: .7rem; }
.umd-review__author img { border-radius: 50%; object-fit: cover; }
.umd-review__author div { display: grid; }
.umd-review__author strong { color: #17324d; }
.umd-review__author span { color: #667582; font-size: .75rem; }
.umd-review__stars { color: #d29a22; letter-spacing: .08em; margin: .9rem 0 .55rem; }
.umd-review > p { color: #40505c; font-size: .9rem; margin: 0; }
.umd-reviews__attribution { color: #63727e; font-size: .75rem; margin: .35rem 0 0; text-align: right; }
.umd-reviews-empty { background: #eef4f2; border-radius: 10px; color: #34564f; margin-top: 1.5rem; padding: .8rem 1rem; }
@media (min-width: 700px) { .umd-reviews__track { grid-auto-columns: calc((100% - 2rem) / 3); } }
@media (prefers-reduced-motion: reduce) { .umd-reviews__track { scroll-behavior: auto; } }

