@import url("visual-layouts.css?v=20260908-csp");
.review-banner { font-size:.75rem; letter-spacing:.04em; text-transform:none; }
.question-visuals { width:100%; margin:0 auto 1.4rem; }
.question-photo-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:.8rem; }
.multi-visual .question-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.question-photo { min-width:0; display:flex; flex-direction:column; justify-content:center; align-items:center; margin:0; padding:.6rem; background:#fff; border:1px solid var(--taupe-soft); border-radius:12px; overflow:hidden; }
.photo-viewport { position:relative; width:100%; height:290px; overflow:hidden; background:#fff; }
.photo-viewport img { width:100%; height:100%; object-fit:contain; }
.photo-viewport.cropped-photo { height:auto; max-height:none; background-repeat:no-repeat; }
.cropped-photo img { position:absolute; inset:0; opacity:0; }
.wordmark-shield { position:absolute; background:#242322; border-radius:2px; pointer-events:none; }
.multi-visual .photo-viewport:not(.cropped-photo) { height:185px; }
.question-photo figcaption { padding:.6rem .2rem .15rem; text-align:center; font-size:.875rem; }
.visual-preview-note { margin:0 0 .65rem; color:var(--muted); font-size:.875rem; text-align:center; }
.visual-status { font-size:.875rem; text-align:center; }
.visual-status:not(:empty) { padding:.8rem; margin-top:.6rem; border:1px solid var(--taupe-soft); border-radius:9px; }
.visual-status button { display:block; margin:.65rem auto 0; }
.feedback-visuals { margin-top:1.25rem; }
.feedback-visuals .photo-viewport { height:190px; }
.question-counter, .mechanic-label { font-size:.875rem; letter-spacing:.04em; }
.match-row select { max-width:100%; font-size:1rem; }
.source-photo-links { padding-left:1.2rem; overflow-wrap:anywhere; }
.source-photo-links li { margin-bottom:.8rem; }
.result-credits { display:inline-flex; align-items:center; justify-content:center; min-height:44px; margin-top:.6rem; padding:.3rem .65rem; text-align:center; text-decoration:underline; text-underline-offset:.2em; }
@media(max-width:640px) {
  .photo-viewport { height:245px; }
  .multi-visual .photo-viewport:not(.cropped-photo) { height:150px; }
  .question-photo { padding:.4rem; }
  .question-photo-grid { gap:.5rem; }
  .question-photo figcaption { font-size:.875rem; }
}
