/* Images are tall portrait photographs. Never crop the exercise out of the frame. */
.exercise-visual,.guide-exercise-photo,.media { background:#f2e8df; }
.exercise-visual img,.guide-exercise-photo img,.media img { object-fit:contain!important; object-position:50% 50%!important; }
.image-zoom-trigger { display:block; position:relative; width:100%; height:100%; margin:0; padding:0; border:0; border-radius:inherit; cursor:zoom-in; overflow:hidden; background:#f2e8df; color:#644b43; font:inherit; text-align:left; }
.image-zoom-trigger img { display:block; width:100%; height:100%; object-fit:contain!important; object-position:center center!important; }
.image-zoom-trigger:focus-visible { outline:3px solid #a46d56; outline-offset:-3px; z-index:1; }
.image-zoom-hint { position:absolute; bottom:8px; right:8px; display:inline-flex; align-items:center; gap:4px; padding:5px 8px; border-radius:999px; background:rgba(255,252,248,.94); color:#795444; box-shadow:0 2px 9px #4c322517; font-size:10px; font-weight:750; line-height:1.1; white-space:nowrap; pointer-events:none; }
.image-zoom-trigger:hover .image-zoom-hint { background:#fff; }
.jm-image-dialog { padding:0; border:1px solid #e0cfc1; border-radius:18px; width:min(94vw,780px); max-width:94vw; max-height:94dvh; overflow:hidden; background:#fffaf6; color:#534239; box-shadow:0 22px 70px #2c17164f; }
.jm-image-dialog::backdrop { background:rgba(31,24,23,.78); backdrop-filter:blur(4px); }
.jm-image-dialog-inner { display:flex; flex-direction:column; max-height:94dvh; }
.jm-image-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 15px; background:#fffaf6; border-bottom:1px solid #eadfd5; }
.jm-image-dialog-title { font-family:Georgia,serif; font-size:clamp(17px,3vw,23px); font-weight:400; overflow-wrap:anywhere; }
.jm-image-close { min-height:40px; border:1px solid #dec8b9; background:#f6e9e1; color:#76584a; border-radius:999px; padding:8px 15px; font-size:12px; font-weight:750; cursor:pointer; flex:none; }
.jm-image-close:focus-visible { outline:3px solid #a46d56; outline-offset:2px; }
.jm-image-dialog-stage { display:flex; align-items:center; justify-content:center; min-height:0; flex:1 1 auto; padding:14px; background:#f2e8df; }
.jm-image-full { display:block; width:auto; height:auto; max-width:100%; max-height:calc(94dvh - 130px); object-fit:contain; border-radius:7px; }
.jm-image-dialog-help { font-size:11px; line-height:1.45; padding:10px 16px 12px; margin:0; color:#76675d; text-align:center; }
@media(max-width:500px) { .image-zoom-hint { font-size:10px; bottom:6px; right:6px; } .guide-exercise-photo,.guide-exercise-photo img { height:260px!important; min-height:260px!important; } .jm-image-dialog { width:96vw; max-width:96vw; } .jm-image-dialog-stage { padding:8px; } }
@media print { .image-zoom-hint,.jm-image-dialog { display:none!important; } .image-zoom-trigger { cursor:default!important; background:transparent!important; } .image-zoom-trigger img,.exercise-visual img,.guide-exercise-photo img { object-fit:contain!important; } .guide-exercise-photo { break-inside:avoid; } }
