.image-with-caption{margin:1rem 0;width:100%}.image-container{position:relative;width:100%;border-radius:8px;overflow:hidden;border:1px solid #e0e0e0;box-shadow:0 2px 4px rgba(0,0,0,.05);background:transparent;line-height:0}.image-container.zoomable{cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.image-container.zoomable:hover{box-shadow:0 8px 24px rgba(0,0,0,.12);transform:translateY(-2px)}.zoom-hint{position:absolute;top:.5rem;right:.5rem;background:rgba(0,0,0,.7);color:white;padding:.25rem .75rem;border-radius:6px;font-size:.75rem;font-weight:600;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:10;line-height:normal}.image-container.zoomable:hover .zoom-hint{opacity:1}.doc-image{width:100%;height:auto;display:block}.image-caption{margin-top:.75rem;text-align:left;font-size:.875rem;color:#666;font-style:italic;line-height:1.5;padding:0 .5rem}.image-zoom-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:rgba(0,0,0,.95);z-index:99999;cursor:zoom-out;padding:2rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .2s ease;overflow:hidden}.image-zoom-overlay,.zoom-close-button{display:flex;align-items:center;justify-content:center}.zoom-close-button{position:absolute;top:var(--space-lg);right:var(--space-lg);width:48px;height:48px;border-radius:50%;background:white;color:var(--text-primary);border:none;font-size:2rem;font-weight:300;line-height:1;cursor:pointer;transition:transform .2s ease,background .2s ease;z-index:10;box-shadow:var(--shadow-lg)}.zoom-close-button:hover{transform:scale(1.1);background:var(--gray-100)}.zoom-close-button:focus{outline:2px solid var(--primary);outline-offset:2px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-zoom-container{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.zoomed-image{width:auto;height:auto;max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5)}@media (max-width:768px){.image-with-caption{margin:var(--space-xl) 0}.image-zoom-overlay{padding:var(--space-lg)}}