.journey-full-photo{display:block;width:100%;margin-top:18px;padding:12px 14px;text-align:left;font-size:14px;border-color:#b8c9cb75;background:#10191db3}
dialog.journey-photo{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;inset:0;margin:0;padding:0;overflow:hidden;background:#080e12;border:0;border-radius:0}
dialog.journey-photo[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:0}
.journey-photo-header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 24px;border-bottom:1px solid #ffffff26}
.journey-photo-header h2{font:500 clamp(24px,3vw,38px)/1.1 var(--display);margin:6px 0 0}
.journey-photo-close{flex-shrink:0;width:44px;height:44px;font-size:28px}
.journey-photo-stage{overflow:auto;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;padding:16px;overscroll-behavior:contain}
.journey-photo-stage img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.journey-photo-stage img[hidden]{display:none}
.journey-photo-stage.actual-size{display:block}
.journey-photo-stage.actual-size img{width:var(--photo-width);max-width:none;max-height:none;margin:auto}
.journey-photo-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 24px;border-top:1px solid #ffffff26}
.journey-photo-caption{font-size:16px;margin:0 0 5px;color:#e6e9e6}
.journey-photo-count{font-size:13px;color:#aeb9be}
.journey-photo-actions{display:flex;gap:8px;flex-shrink:0}
.journey-photo-actions button{padding:10px 16px;min-height:44px;font-size:14px}
.journey-photo-error{padding:20px}
@media(max-width:720px){dialog.journey-photo{width:100vw;height:100svh;margin:0;border:0}.journey-photo-header{padding:15px}.journey-photo-header h2{font-size:26px}.journey-photo-stage{padding:8px}.journey-photo-footer{padding:15px;align-items:stretch;flex-direction:column;gap:12px}.journey-photo-actions{justify-content:space-between}.journey-photo-caption{font-size:14px}}
.journey-photo-stage{padding:0}
dialog.journey-photo[open]{grid-template-rows:minmax(0,1fr)}
.journey-photo-header,.journey-photo-footer{position:absolute;left:0;right:0;z-index:1;border:0;background:linear-gradient(#080e12ed,#080e1200)}
.journey-photo-header{top:0}.journey-photo-footer{bottom:0;background:linear-gradient(#080e1200,#080e12f5);padding-top:28px}
@media(max-width:720px){dialog.journey-photo{height:100dvh}.journey-photo-stage{padding:0}.journey-photo-header{padding:12px 15px}.journey-photo-footer{padding-top:24px}}
/* Reserve separate rows for controls: nothing may overlap the photograph. */
dialog.journey-photo[open]{grid-template-rows:auto minmax(0,1fr) auto}
.journey-photo-header,.journey-photo-footer{position:static;background:#080e12;z-index:auto}
.journey-photo-header{padding:6px 12px;min-height:44px;gap:12px}
.journey-photo-header>div{display:flex;align-items:baseline;gap:12px;min-width:0}
.journey-photo-header .eyebrow{font-size:10px;white-space:nowrap}
.journey-photo-header h2{font-size:20px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.journey-photo-close{font-size:20px;border:0;background:transparent}
.journey-photo-stage{touch-action:pan-y pinch-zoom}
.journey-photo-stage.actual-size{touch-action:auto}
.journey-photo-footer{padding:4px 12px;gap:12px;min-height:52px;flex-direction:row;align-items:center}
.journey-photo-description{min-width:0;flex:1}
.journey-photo-caption{font-size:12px;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.journey-photo-count{font-size:10px}
.journey-photo-actions{gap:2px;margin-left:auto;justify-content:flex-end}
.journey-photo-actions button{min-width:44px;min-height:44px;padding:6px 10px;font-size:14px;border-color:transparent;background:transparent}
.journey-photo-actions [data-photo-size]{font-size:11px}
.journey-photo-actions button:disabled{opacity:.25}
.journey-photo-actions button:focus-visible{outline:2px solid #d9e8ed;outline-offset:-2px}
@media(max-width:720px){.journey-photo-header .eyebrow{display:none}.journey-photo-header h2{font-size:18px}.journey-photo-footer{padding:4px 8px;gap:5px}.journey-photo-caption{font-size:10px}.journey-photo-actions button{padding:5px;min-width:44px}.journey-photo-actions [data-photo-size]{font-size:10px}}
