.journal-page .journal-calendar-entry.has-site-photo{position:relative;flex-wrap:wrap}
.journal-page .journal-photo-thumb{display:block;flex:0 0 auto;padding:0;overflow:hidden;border:1px solid rgba(125,211,252,.35);border-radius:9px;background:#182133;color:#bae6fd;cursor:pointer;width:48px;height:48px;min-height:0;touch-action:manipulation}
.journal-page .journal-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.journal-page .journal-photo-thumb:focus-visible{outline:2px solid #7dd3fc;outline-offset:3px}
.journal-page .journal-photo-thumb[data-photo-view="month"]{width:32px;height:32px;margin:4px 0 2px}
.journal-page .journal-photo-thumb[data-photo-view="week"]{width:52px;height:52px;margin:5px 0 2px}
.journal-page #list-view [data-photo-entry]{position:relative;display:block}
.journal-page #list-view .journal-photo-thumb{position:absolute;right:20px;bottom:20px;width:88px;height:88px;margin:0}
.journal-photo-gallery{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:20px;border:1px solid #475569;border-radius:20px;background:#151827;color:#e2e8f0;overflow:auto}
.journal-photo-gallery::backdrop{background:rgba(3,7,18,.86)}
.journal-photo-gallery header,.journal-photo-gallery footer{display:flex;align-items:center;justify-content:space-between;gap:12px}
.journal-photo-gallery h2{margin:0;font-size:20px}.journal-gallery-caption{margin:6px 0 14px;color:#aebed1;font-size:14px;overflow-wrap:anywhere}
.journal-gallery-stage{display:grid;place-items:center;min-height:180px;touch-action:pan-x pan-y pinch-zoom;position:relative}
.journal-gallery-frame{position:relative;width:fit-content;max-width:100%;line-height:0}
.journal-gallery-frame img{display:block;max-width:100%;max-height:56dvh;width:auto;height:auto;object-fit:contain;border-radius:10px}
.journal-gallery-frame img[hidden],.journal-gallery-marker[hidden]{display:none}
.journal-gallery-marker{position:absolute;width:18px;height:18px;transform:translate(-50%,-50%);border:3px solid white;border-radius:50%;background:#38bdf8;box-shadow:0 0 0 2px #0c4a6e;pointer-events:none}
.journal-gallery-message{color:#cbd5e1;text-align:center;font-size:14px}.journal-gallery-message:empty{display:none}
.journal-photo-gallery footer{margin-top:16px}.journal-gallery-count{font-size:13px;white-space:nowrap;color:#aebed1}
.journal-gallery-strip{display:flex;gap:8px;overflow-x:auto;padding:12px 3px 5px;margin-top:4px}
.journal-gallery-strip .journal-photo-thumb{width:48px;height:48px;flex-shrink:0}.journal-gallery-strip [aria-current="true"]{outline:2px solid #7dd3fc;outline-offset:2px}
@media(max-width:600px){.journal-photo-gallery{padding:14px}.journal-photo-gallery footer .site-button{padding:10px 12px;font-size:13px}.journal-page #list-view .journal-photo-thumb{width:68px;height:68px}.journal-page .journal-photo-thumb[data-photo-view="month"]{width:28px;height:28px}.journal-gallery-frame img{max-height:52dvh}}
/* Keep thumbnails inside each event's footprint so fixed month rows stay compact. */
body.journal-page .journal-main .journal-photo-thumb{padding:0;min-width:0;min-height:0;border-radius:9px}
body.journal-page .journal-calendar-entry.has-site-photo>.journal-photo-thumb{position:absolute;right:6px;bottom:6px;margin:0;z-index:2}
body.journal-page .calendar:not(.week) .has-site-photo>.event .event-details{padding-right:36px}
body.journal-page .calendar.week .has-site-photo>.event .event-details{padding-right:56px;min-height:54px}

body.journal-page #list-view [data-photo-entry].has-site-photo>div>p,body.journal-page #list-view [data-photo-entry].has-site-photo>div>.mt-4{padding-right:104px}
@media(max-width:600px){body.journal-page #list-view [data-photo-entry].has-site-photo>div>p,body.journal-page #list-view [data-photo-entry].has-site-photo>div>.mt-4{padding-right:80px}}
