.lesson-photo-frame{width:min(100%,280px);margin:0 auto 16px;font-size:initial}
.lesson-photo-grid{display:grid;place-items:center;background:#fff;border:1px solid #dde3ed;border-radius:16px;overflow:hidden;aspect-ratio:1;width:100%;padding:8px;box-sizing:border-box}
.lesson-photo-grid .lesson-photo{display:block;width:100%;height:100%;min-height:0;min-width:0;object-fit:contain;border-radius:10px;max-height:262px}
.lesson-photo-grid.multiple{grid-template-columns:repeat(var(--photo-columns,2),minmax(0,1fr));gap:6px}
.lesson-photo-grid.multiple .lesson-photo{max-height:125px}
.lesson-photo-grid.counting-grid .lesson-photo{object-fit:cover;aspect-ratio:1;max-height:100%;border:1px solid #e5e7eb}
.photo-credits{font:10px/1.5 system-ui,sans-serif;color:#596579;text-align:center;margin-top:6px;overflow-wrap:anywhere}
.photo-credits span{display:block}
.photo-credits a{color:inherit;text-decoration:underline}
.photo-reference-note{font:12px/1.4 system-ui,sans-serif;color:#4b5563;text-align:center;margin-top:7px}
.photo-error{font:14px/1.5 system-ui,sans-serif;color:#596579;padding:16px;text-align:center}
.reading-passage{width:100%;max-width:420px;padding:16px 18px;margin:0 auto 18px;border:1px solid #ccd5f1;border-radius:14px;background:#fff;font-size:1rem;line-height:1.7;color:#1a1a2e;box-sizing:border-box}
.reading-passage h3{font-size:.85rem;color:#3b5bdb;margin:0 0 7px}
.reading-passage p{margin:0;white-space:pre-line}
.ex-image:has(>.lesson-photo-frame){display:block;background:none;border:none;overflow:visible;aspect-ratio:auto;font-size:initial;max-width:280px}
@media(max-width:480px){.lesson-photo-frame{width:min(100%,240px)}.lesson-photo-grid .lesson-photo{max-height:222px}}
