.jvw-photo-carousel { width:100%; min-width:0; max-width:100%; margin-block:28px; }
.jvw-photo-track { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; overscroll-behavior-x:contain; border-radius:6px; background:#f6f7f8; }
.jvw-photo-carousel figure.jvw-photo-slide { flex:0 0 100%; width:100%; min-width:0; margin:0; scroll-snap-align:start; scroll-snap-stop:always; }
.jvw-photo-carousel .jvw-photo-slide img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; margin:0; border:0; }
.jvw-photo-slide figcaption { padding:12px 16px; font-size:14px; line-height:1.5; color:#334b58; overflow-wrap:anywhere; }
.jvw-photo-controls { display:flex; align-items:center; justify-content:center; gap:18px; padding-top:12px; }
.jvw-photo-controls[hidden] { display:none; }
.jvw-photo-controls button { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; padding:0; border:1px solid #0c3041; border-radius:6px; background:#fff; color:#0c3041; cursor:pointer; }
.jvw-photo-controls button:hover { background:#edf2f4; }
.jvw-photo-controls button:disabled { opacity:.4; cursor:default; }
.jvw-photo-controls [data-photo-count] { min-width:64px; text-align:center; font-size:14px; font-variant-numeric:tabular-nums; }
.jvw-photo-controls button:focus-visible,.jvw-photo-track:focus-visible { outline:3px solid #187ab0; outline-offset:3px; }
.jvw-photo-editor-preview { display:flex; flex-wrap:wrap; gap:8px; margin-block:12px; }
.jvw-photo-editor-preview img { width:100px; height:75px; object-fit:cover; }
