.review-photos > a[data-review-photo] { flex: 0 0 auto; display: block; cursor: zoom-in; border-radius: 3px; }
.review-photos > a[data-review-photo]:focus-visible { outline: 3px solid #41483a; outline-offset: 3px; }
.review-viewer { width: min(1000px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 16px; border: 1px solid #b5b5a8; border-radius: 8px; background: #f7f5f0; color: #41483a; }
.review-viewer::backdrop { background: rgba(17,17,17,.84); }
.review-viewer[open] { display: grid; gap: 10px; }
.review-viewer header, .review-viewer footer { display: flex; gap: 12px; align-items: center; justify-content: space-between; }
.review-viewer h2 { font: 600 16px/1.3 system-ui; margin: 0; }
.review-viewer img { width: 100%; height: min(70dvh, 760px); object-fit: contain; min-height: 0; background: #eeece6; }
.review-viewer button { width: auto; min-width: 44px; min-height: 44px; padding: 8px 12px; background: #fff; color: #41483a; border: 1px solid #aaa; border-radius: 4px; cursor: pointer; font: 14px system-ui; }
.review-viewer button[hidden] { display: none; }
.review-viewer footer a { font: 13px system-ui; color: #41483a; }
.review-viewer-status { margin: 0; font: 13px system-ui; }
