/* A contained, accessible photo gallery; all controls are drawn SVG. */
dialog.joury-photo-viewer{box-sizing:border-box;width:min(1100px,calc(100vw - 32px));height:min(920px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #8c6a7c;border-radius:6px;background:#261b23;color:#fffaf7;box-shadow:0 24px 90px #0006;overflow:hidden}
.joury-photo-viewer::backdrop{background:#1b1119e8;backdrop-filter:blur(5px)}
.joury-photo-viewer *{box-sizing:border-box}
.jpv-shell{display:flex;flex-direction:column;height:100%;min-height:0;padding:18px 22px 14px}
.jpv-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:14px;flex-shrink:0}
.jpv-header p{margin:0;color:#fffaf7;font:400 22px/1.2 var(--display-serif,Georgia,serif)}
.jpv-counter{display:block;margin-top:5px;color:#d6b8c9;font:500 12px/1.6 var(--font-ui,sans-serif);font-variant-numeric:tabular-nums}
.joury-photo-viewer button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;margin:0;padding:10px 12px;border:1px solid #77566b;border-radius:3px;color:#fffaf7;background:transparent;font:600 12px/1.4 var(--font-ui,sans-serif);cursor:pointer}
.joury-photo-viewer button:hover{background:#ffffff10;border-color:#edb7d0}
.joury-photo-viewer button:focus-visible{outline:2px solid #f1b0ce;outline-offset:3px}
.jpv-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;overflow:hidden;touch-action:pan-y pinch-zoom}
.joury-photo-viewer .jpv-image{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;background:transparent;border:0;border-radius:0;box-shadow:none;user-select:none}
.joury-photo-viewer .jpv-image[hidden]{display:none}
.jpv-status{position:absolute;max-width:35ch;padding:20px;margin:0;text-align:center;color:#ebd0de;font-size:13px;line-height:1.8}
.jpv-status:empty{display:none}
.jpv-controls{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 0 10px;flex-shrink:0}
.jpv-caption{margin:0;text-align:center;color:#e5cad9;font:400 12px/1.6 var(--font-ui,sans-serif)}
.jpv-thumbs{display:flex;align-items:center;gap:8px;flex-shrink:0;overflow-x:auto;padding:5px 3px 8px;scrollbar-width:thin;scrollbar-color:#b57c9b transparent;overscroll-behavior-x:contain}
.joury-photo-viewer .jpv-thumbs button{display:block;flex:0 0 52px;padding:2px;min-height:60px;border:1px solid transparent;opacity:.65}
.joury-photo-viewer .jpv-thumbs button[aria-current="true"]{border-color:#f3b0ce;opacity:1;background:#f3b0ce22}
.joury-photo-viewer .jpv-thumbs img{display:block;width:46px;height:54px;object-fit:cover;background:transparent;border:0;border-radius:0}
[data-photo-gallery] a:focus-visible{outline:2px solid #a83d73;outline-offset:4px}
@media(max-width:600px){dialog.joury-photo-viewer{width:100%;height:100dvh;margin:0;border:0;border-radius:0}.jpv-shell{padding:max(12px,env(safe-area-inset-top)) 12px max(8px,env(safe-area-inset-bottom))}.jpv-header{padding-bottom:10px}.jpv-header p{font-size:20px}.jpv-controls{gap:8px;padding-block:10px}.joury-photo-viewer .jpv-controls button{padding:10px 8px;font-size:11px;gap:4px}.jpv-controls button svg{width:18px;height:18px}.jpv-caption{font-size:10px;line-height:1.5}.jpv-thumbs{gap:6px}}
@media(max-width:359px){.jpv-controls button span{display:none}.jpv-caption{font-size:11px}.jpv-shell{padding-inline:10px}}
