.review-widget { margin: 0 0 3rem; min-width: 0; }
.review-toolbar { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; margin-bottom:1.25rem; }
.review-toolbar > a { color:#574014; font-size:1rem; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.review-controls { display:flex; gap:.5rem; }
.review-controls button { min-width:44px; min-height:44px; padding:.65rem 1rem; border:1px solid #c8ab69; border-radius:999px; background:#111; color:#f8dfa0; font-weight:700; }
.review-controls button:hover { background:#382a12; }
.review-viewport { overflow-x:auto; overflow-y:hidden; scrollbar-width:thin; scrollbar-color:#b79549 #eee; overscroll-behavior-x:contain; padding:4px 0 16px; }
.review-track { display:flex; gap:24px; width:max-content; align-items:stretch; }
.review-card { flex:0 0 auto; width:360px; max-width:calc(100vw - 48px); padding:28px; border:1px solid #d9c99f; border-top:3px solid #c5a14f; border-radius:24px; background:#fffdf8; display:flex; flex-direction:column; box-shadow:0 4px 15px #20150008; }
.review-source { font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:#775617; }
.review-card h3 { margin:16px 0 12px; font-size:1.15rem; font-weight:800; line-height:1.4; color:#191712; }
.review-summary { font-size:1rem; line-height:1.7; color:#49463f; margin-bottom:24px; }
.review-attribution { margin-top:auto; padding-top:16px; border-top:1px solid #e5dcc7; display:flex; flex-direction:column; gap:8px; font-size:.875rem; }
.review-attribution strong { color:#211b0d; }
.review-attribution a { color:#725019; text-decoration:underline; text-underline-offset:3px; }
.review-note { font-size:.8rem; line-height:1.6; color:#625e55; margin-top:12px; }
.review-widget :focus-visible { outline:3px solid #a57923; outline-offset:3px; }
@media(max-width:639px) { .review-card { width:300px; padding:22px; } .review-toolbar { justify-content:center; } }
