/* Approved Photo Viewer Design 3, with zoom controls. */
.photography-page [data-photo-open]{cursor:pointer}
.photography-page img[data-photo-open]:focus-visible{outline:3px solid var(--site-color-236f6474ef, #bf982f);outline-offset:3px}
.photo-lightbox{position:fixed;width:min(1180px,calc(100vw - 32px));max-width:none;max-height:92dvh;margin:auto;padding:0;border:3px solid var(--site-color-7e74f4c5fa, #d2ae46);border-radius:16px;background:var(--site-color-ace3d88576, #fff5d7);color:var(--site-color-c22aedf712, #fff7df);box-shadow:0 15px 60px var(--site-color-f4a476b70a, #0007);overflow:auto}
.photo-lightbox::backdrop{background:var(--site-color-e833324cb3, #071b12c9)}
.photo-viewer-layout{display:grid;grid-template-columns:minmax(0,35fr) minmax(0,65fr);min-height:min(72dvh,780px)}
.photo-info-panel{padding:clamp(22px,3vw,44px) clamp(20px,3vw,38px);background:linear-gradient(120deg,var(--site-color-e66d3a46d9, #123b1a),var(--site-color-ba17d0d567, #082b17));min-width:0;overflow-wrap:anywhere}
.photo-camera{display:block;width:52px;height:52px;margin-bottom:22px;fill:none;stroke:var(--site-color-b9a6d6ea8e, #dfbc53);stroke-width:1.4;stroke-linejoin:round}
.photo-viewer-category{color:var(--site-color-7d2ab7fa06, #e4c35e);font:italic 24px/1.2 "KCSoni Digits",Georgia,serif;margin:0 0 20px}
.photo-lightbox .photo-info-panel h2{font:700 clamp(26px,3vw,44px)/1.15 "KCSoni Digits",Georgia,serif;margin:0;color:var(--site-color-3485552bde, #fff8e4)}
.photo-lightbox .photo-info-panel h2::after{content:"";display:block;width:65%;max-width:180px;height:2px;background:var(--site-color-dcbfa81e1b, #d8b954);margin:24px 0}
.photo-lightbox-caption{font:italic clamp(17px,1.6vw,23px)/1.5 "KCSoni Digits",Georgia,serif;white-space:pre-line;overflow-wrap:anywhere}
.photo-lightbox-caption p{margin:0}.photo-lightbox-caption:empty{display:none}
.photo-viewer-image{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:7px;background:var(--site-color-ace3d88576, #fff5d7)}
.photo-lightbox .photo-viewer-image img{display:block;width:100%;height:min(72dvh,780px);max-width:100%;max-height:78dvh;object-fit:contain;aspect-ratio:auto;border-radius:12px;background:var(--site-color-22d9e1b8b0, #eee4c8);margin:0}
.photo-viewer-image [hidden]{display:none!important}
.photo-viewer-image [data-photo-error]{color:var(--site-color-e66d3a46d9, #123b1a);font:16px/1.5 Arial,sans-serif}
.photo-close-form{position:absolute;z-index:2;right:14px;top:14px;margin:0}
.photo-lightbox .photo-close-form button{display:grid;place-items:center;width:39px;height:39px;margin:0;padding:0;border:1px solid var(--site-color-236f6474ef, #bf982f);border-radius:50%;background:var(--site-color-c22aedf712, #fff7df);color:var(--site-color-e66d3a46d9, #123b1a);font:30px/1 Arial,sans-serif;box-shadow:0 2px 5px var(--site-color-4728102162, #0002)}
.photo-lightbox .photo-close-form button:hover{transform:none;background:var(--site-color-4adf45a144, #efdfaa)}
.photo-lightbox button:focus-visible{outline:3px solid var(--site-color-f1123a9ba3, #e2b63e);outline-offset:3px}
@media(max-width:680px){.photo-lightbox{width:calc(100vw - 18px);max-height:94dvh;border-radius:11px}.photo-viewer-layout{grid-template-columns:1fr;min-height:0}.photo-info-panel{padding:20px 50px 18px 20px}.photo-camera{width:30px;height:30px;margin-bottom:10px}.photo-viewer-category{font-size:17px;margin:0 0 9px}.photo-lightbox .photo-info-panel h2{font-size:28px}.photo-lightbox .photo-info-panel h2::after{margin:12px 0}.photo-lightbox-caption{font-size:16px}.photo-lightbox .photo-viewer-image img{height:auto;max-height:58dvh;min-height:0}.photo-close-form{right:10px;top:10px}}

/* Zoom controls in the approved left-hand information panel. */
.photo-info-panel{display:flex;flex-direction:column}
.photo-zoom-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding-top:24px;margin-top:auto}
.photo-zoom-tools button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--site-color-8d57e69d51, #f2e9c8);border-radius:7px;background:transparent;color:var(--site-color-3485552bde, #fff8e4);padding:6px 10px;font:600 16px/1.2 Arial,sans-serif;min-width:34px}
.photo-zoom-tools button:hover{background:var(--site-color-5c15a1bbf6, #ffffff1a);transform:none}
.photo-zoom-tools button:disabled{opacity:.4;cursor:default}
.photo-zoom-tools output{min-width:50px;text-align:center;font:16px/1.3 Arial,sans-serif;font-variant-numeric:tabular-nums}
.photo-viewer-image{display:block;overflow:hidden}
.photo-lightbox .photo-viewport{width:100%;height:min(72dvh,780px);overflow:auto;overscroll-behavior:contain;background:var(--site-color-22d9e1b8b0, #eee4c8);border-radius:12px;touch-action:pan-x pan-y}
.photo-stage{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%}
.photo-lightbox .photo-stage img{max-width:none;max-height:none;flex:none;border-radius:0;margin:0;object-fit:contain}
@media(max-width:680px){.photo-zoom-tools{margin-top:15px;padding-top:0}.photo-lightbox .photo-viewport{height:52dvh}}
