.fo-gallery-main figure.fo-magnifiable{position:relative;overflow:hidden}
.fo-magnifiable:focus-visible{outline:2px solid #00112a;outline-offset:3px}
.fo-magnifier{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;background:#fff;z-index:1}
.fo-zoom-hint{position:absolute;right:10px;bottom:10px;z-index:2;padding:8px 10px;border:1px solid #00112a25;border-radius:4px;background:#fffffff0;color:#00112a;font-family:inherit;font-weight:500;font-size:11px;line-height:1.4;pointer-events:none}
.fo-zoom-dialog.fo-detail-viewer{box-sizing:border-box;width:min(1200px,100vw - 24px);height:min(920px,100dvh - 24px);max-width:none;max-height:none;margin:auto;padding:12px;border:0;border-radius:6px;overflow:hidden;color:#00112a;background:#fff}
.fo-detail-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px}
.fo-detail-viewer form{position:absolute;top:12px;right:12px;margin:0;z-index:3}
.fo-detail-viewer form button{position:static;display:grid;place-items:center;width:44px;height:44px;border:1px solid #00112a35;border-radius:4px;background:#fff;color:#00112a;font-size:22px;cursor:pointer}
.fo-zoom-toolbar{display:flex;align-items:center;gap:6px;min-height:44px;padding-right:52px;flex-wrap:wrap}
.fo-zoom-toolbar button{min-width:44px;min-height:44px;border:1px solid #00112a35;border-radius:4px;background:#fff;color:#00112a;padding:6px 10px;font:inherit;font-size:14px;cursor:pointer}
.fo-zoom-toolbar button[data-zoom-step]{font-size:23px;line-height:1}
.fo-zoom-toolbar button:disabled{opacity:.4;cursor:default}
.fo-zoom-toolbar output{min-width:48px;text-align:center;font-size:12px}
.fo-detail-viewer button:focus-visible,.fo-zoom-viewport:focus-visible{outline:2px solid #00112a;outline-offset:2px}
.fo-zoom-viewport{position:relative;overflow:hidden;touch-action:none;overscroll-behavior:contain;background:#fafafa;cursor:zoom-in;min-height:0;user-select:none;-webkit-user-select:none}
.fo-zoom-viewport[data-enlarged=true]{cursor:grab}
.fo-zoom-viewport[data-dragging=true]{cursor:grabbing}
.fo-detail-viewer .fo-zoom-viewport img{position:absolute;left:50%;top:50%;display:block;max-width:none;max-height:none;margin:0;padding:0;object-fit:fill;transform-origin:center;pointer-events:none;user-select:none;-webkit-user-drag:none}
.fo-zoom-help{margin:0;padding:2px 4px;font-size:12px;line-height:1.5;color:#555;text-align:center}
@media(max-width:699px){.fo-zoom-dialog.fo-detail-viewer{width:100vw;height:100dvh;margin:0;max-width:100vw;border-radius:0;padding:8px}.fo-detail-viewer form{top:8px;right:8px}.fo-zoom-toolbar{gap:4px}.fo-zoom-toolbar button{padding:6px 8px}.fo-zoom-help{font-size:11px}.fo-zoom-hint{font-size:10px;right:8px;bottom:8px}}
