/* Inspection is an additive layer. The existing photos keep their crop, loading
   state and DOM parent; the enquiry dialog owns its own scroll-lock class. */
body.lb-photo-open{overflow:hidden}
.process-photo{position:relative}
.lb-photo-trigger{position:absolute;inset:0;z-index:3;width:100%;height:100%;padding:0;background:transparent;color:var(--cream,#f1e6cf);cursor:zoom-in}
.lb-photo-trigger>span{position:absolute;right:5px;bottom:5px;display:grid;place-items:center;width:25px;height:25px;border:1px solid #f1e6cf66;background:#282923b8;transition:background .22s ease,transform .22s ease}
.lb-photo-trigger svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square}
.lb-photo-trigger:hover>span{background:var(--rust,#8f3827);transform:translate(-1px,-1px)}
.lb-photo-trigger:focus-visible{outline:3px solid var(--cream,#f1e6cf);outline-offset:-5px}
.lb-photo-dialog{--pv-paper:var(--paper,#e6ddcd);box-sizing:border-box;width:min(1080px,calc(100% - 48px));max-height:calc(100dvh - 48px);margin:auto;padding:clamp(16px,2.6vw,30px);border:1px solid #f1e6cf75;border-radius:0;background:var(--pv-paper);color:var(--ink,#282923);overflow:auto;box-shadow:0 24px 100px #181c16a6;scrollbar-width:thin;scrollbar-color:var(--rust,#8f3827) var(--pv-paper);overscroll-behavior:contain}
.lb-photo-dialog[open]{display:grid;gap:17px}
.lb-photo-dialog::backdrop{background:#232a25de;backdrop-filter:blur(5px)}
.lb-photo-dialog::-webkit-scrollbar{width:9px;height:9px}
.lb-photo-dialog::-webkit-scrollbar-track{background:var(--pv-paper)}
.lb-photo-dialog::-webkit-scrollbar-thumb{background:var(--rust,#8f3827);border:2px solid var(--pv-paper)}
.lb-photo-dialog::-webkit-scrollbar-thumb:hover{background:var(--deep-rust,#65291e)}
.lb-photo-dialog::-webkit-scrollbar-thumb:active{background:var(--ink,#282923)}
.lb-photo-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--line,#37312747)}
.lb-photo-heading{min-width:0}
.lb-photo-kicker{display:block;margin-bottom:7px;font:10px/1.3 var(--mono,monospace);letter-spacing:.12em;color:var(--rust,#8f3827)}
.lb-photo-dialog h2{margin:0;font:clamp(26px,3.1vw,42px)/1.07 var(--display,Impact,sans-serif);letter-spacing:.005em;text-wrap:balance}
.lb-photo-close,.lb-photo-previous,.lb-photo-next{display:grid;place-items:center;flex:none;width:46px;height:46px;padding:10px;background:transparent;border:1px solid var(--line,#37312747);color:var(--ink,#282923);transition:background .2s ease,color .2s ease,transform .2s ease}
.lb-photo-dialog svg{display:block;width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter}
.lb-photo-close:hover,.lb-photo-previous:hover,.lb-photo-next:hover{background:var(--rust,#8f3827);color:var(--cream,#f1e6cf)}
.lb-photo-close:active,.lb-photo-previous:active,.lb-photo-next:active{transform:translateY(1px)}
.lb-photo-dialog button:focus-visible{outline:3px solid var(--sage-dark,#55705b);outline-offset:3px}
.lb-photo-frame{position:relative;display:grid;place-items:center;width:100%;height:min(62dvh,610px);min-height:160px;background:#32372e;overflow:hidden;border:1px solid #282923;isolation:isolate}
/* Definite positioned bounds prevent intrinsic image height from enlarging the grid item. */
.lb-photo-image-space{position:absolute;inset:0;display:block;overflow:hidden}
.lb-photo-image-space img{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:100%;object-fit:contain;transform:scale(1);transform-origin:50% 50%;transition:transform .38s var(--ease,ease);user-select:none;-webkit-user-select:none}
.lb-photo-frame.is-zoomed .lb-photo-image-space img{transform:scale(1.75)}
.lb-photo-zoom{position:absolute;inset:0;z-index:2;padding:0;background:transparent;cursor:zoom-in;touch-action:manipulation}
.lb-photo-frame.is-zoomed .lb-photo-zoom{cursor:zoom-out}
.lb-photo-zoom-mark{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:34px;height:34px;background:var(--cream,#f1e6cf);color:var(--ink,#282923);border:1px solid #28292340;font:24px/1 var(--body,Arial,sans-serif);box-shadow:2px 2px 0 #28292355}
.lb-photo-dialog .lb-photo-zoom:focus-visible{outline-color:var(--cream,#f1e6cf);outline-offset:-6px}
.lb-photo-state{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:24px;color:var(--cream,#f1e6cf);text-align:center}
.lb-photo-state p{max-width:30ch;margin:0;font:13px/1.6 var(--mono,monospace)}
/* A quiet workshop I-beam marks loading; the live status remains available to assistive technology. */
.lb-photo-frame[data-state="loading"] .lb-photo-state::before{content:"";width:26px;height:32px;flex:none;background:var(--sage,#a3c1a5);clip-path:polygon(0 0,100% 0,100% 18%,62% 18%,62% 82%,100% 82%,100% 100%,0 100%,0 82%,38% 82%,38% 18%,0 18%)}
.lb-photo-frame[data-state="loading"] .lb-photo-state p{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
.lb-photo-frame[data-state="ready"] .lb-photo-state{display:none}
.lb-photo-retry{min-height:44px;display:flex;align-items:center;gap:20px;padding:10px 16px;border:1px solid #f1e6cf66;background:var(--cream,#f1e6cf);color:var(--ink,#282923);font:12px/1.4 var(--mono,monospace)}
.lb-photo-retry:hover{background:var(--sage,#a3c1a5)}
.lb-photo-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:2px}
.lb-photo-label{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px 18px;text-align:center}
.lb-photo-count{font:15px/1.3 var(--mono,monospace);font-variant-numeric:tabular-nums;color:var(--rust,#8f3827)}
.lb-photo-caption{font:10px/1.4 var(--mono,monospace);letter-spacing:.06em}
@media(min-width:1600px){.lb-photo-dialog{width:min(1180px,calc(100% - 80px))}.lb-photo-frame{height:min(65dvh,720px)}}
@media(max-width:540px){.lb-photo-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:14px}.lb-photo-dialog[open]{gap:12px}.lb-photo-header{padding-bottom:13px;gap:14px}.lb-photo-kicker{font-size:9px;margin-bottom:6px}.lb-photo-dialog h2{font-size:27px}.lb-photo-frame{height:auto;aspect-ratio:4/3;max-height:58dvh;min-height:160px}.lb-photo-caption{font-size:8px;max-width:16ch}.lb-photo-label{flex-direction:column;gap:4px}.lb-photo-count{font-size:13px}.lb-photo-close,.lb-photo-previous,.lb-photo-next{width:44px;height:44px}.lb-photo-zoom-mark{right:10px;bottom:10px}}
@media(max-height:520px) and (min-width:541px){.lb-photo-dialog{padding:12px;max-height:calc(100dvh - 20px)}.lb-photo-dialog[open]{gap:8px}.lb-photo-header{padding-bottom:8px}.lb-photo-kicker{display:none}.lb-photo-dialog h2{font-size:25px}.lb-photo-frame{height:calc(100dvh - 170px);min-height:100px}.lb-photo-close,.lb-photo-previous,.lb-photo-next{width:44px;height:44px}}
body.motion-paused .lb-photo-dialog *,body.motion-paused .lb-photo-trigger>span{transition:none!important;animation:none!important}
@media(prefers-reduced-motion:reduce){.lb-photo-dialog *,.lb-photo-trigger>span{transition:none!important;animation:none!important}}
@media(forced-colors:active){.lb-photo-frame[data-state="loading"] .lb-photo-state::before{background:CanvasText}.lb-photo-dialog,.lb-photo-frame,.lb-photo-dialog button,.lb-photo-trigger>span,.lb-photo-zoom-mark{border:1px solid CanvasText}.lb-photo-dialog::backdrop{background:Canvas;opacity:.85}.lb-photo-zoom-mark,.lb-photo-trigger>span{background:Canvas;color:CanvasText}.lb-photo-dialog button:focus-visible,.lb-photo-trigger:focus-visible{outline-color:Highlight}}
@media print{.lb-photo-trigger,.lb-photo-dialog,.lb-photo-dialog::backdrop{display:none!important}body.lb-photo-open{overflow:visible}}
