/* The stage fills the visual viewport; controls overlay it in both orientations. */
.photo-camera{box-sizing:border-box;position:fixed;inset:var(--photo-vtop,0) auto auto var(--photo-vleft,0);width:var(--photo-vw,100vw);max-width:none;height:var(--photo-vh,100dvh);max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#14271f;color:#fff;overflow:hidden}
.photo-camera[open]{display:block}.camera-stage{position:absolute;inset:0}.camera-stage video,.camera-stage img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}.camera-stage img{object-fit:contain}
.photo-camera header{position:absolute;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(10px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left));background:linear-gradient(#0009,transparent);pointer-events:none}.photo-camera h2{font:700 20px system-ui;margin:0;text-shadow:0 1px 4px #000}.photo-camera header button{pointer-events:auto;font-size:30px;width:48px;height:48px;min-height:48px;padding:0;border:1px solid #ffffff80;border-radius:50%;background:#14271fbb;color:#fff}
.photo-camera footer{position:absolute;inset:auto 0 0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:24px max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:linear-gradient(transparent,#000b);align-items:center}.photo-camera footer p{grid-column:1/-1;margin:0;text-align:center;font-size:14px;text-shadow:0 1px 3px #000}.photo-camera footer button{min-height:48px}.photo-camera .camera-shutter{grid-column:1/-1;justify-self:center;width:76px;height:76px;min-height:76px;padding:0;border:5px solid #fff;border-radius:50%;background:#fff;background-clip:content-box;box-shadow:inset 0 0 0 4px #173d2c,0 2px 12px #0008}.photo-camera .camera-shutter:active{background-color:#dce8da}.photo-camera button:focus-visible{outline:3px solid #ffd66b;outline-offset:4px}.photo-camera button:disabled{opacity:.55}
.photo-camera [hidden],.photo-gallery [hidden]{display:none!important}
@media(orientation:landscape) and (max-height:540px){.photo-camera[data-camera-state=live] footer{left:auto;top:0;width:116px;grid-template-columns:1fr;align-content:center;padding:70px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) 12px;background:linear-gradient(90deg,transparent,#0008)}.photo-camera[data-camera-state=live] footer p{display:none}.photo-camera[data-camera-state=live] footer .camera-shutter{width:76px}.photo-camera[data-camera-state=preview] footer{padding-top:16px;max-width:680px;margin:auto}.photo-camera[data-camera-state=preview] footer p{font-size:13px}.photo-camera header{padding-bottom:10px}}
.photo-consent{display:flex!important;align-items:flex-start;gap:12px;line-height:1.5}.photo-consent input{flex:0 0 24px;width:24px!important;height:24px;min-height:24px!important;margin:4px 0}.photo-review{display:block;width:100%;max-height:45dvh;object-fit:contain}.photo-gallery{margin:0 0 20px}.photo-gallery .poi-media{margin:0}.photo-gallery img{max-height:52dvh;object-fit:contain;background:#f3f4ef}.photo-gallery-controls{display:flex;gap:16px;align-items:center;justify-content:center;margin-top:6px}.photo-gallery-controls button{width:48px;height:48px;font-size:26px}.photo-gallery figcaption{padding:8px 12px;font-size:14px;line-height:1.5;color:#244f3b}.poi-photo-action{display:block;width:100%;min-height:48px;margin:12px 0}.own-photo{border-bottom:1px solid #d9ded7;padding:16px 0}.own-photo img{width:100%;max-height:180px;object-fit:contain}.own-photo h3{margin:8px 0}.own-photo p{margin:4px 0}.own-photo small{display:block;margin-bottom:8px}
.photo-gallery img{display:block;width:100%;height:auto}
