/* New place content only; the official site shell is inherited unchanged. */
.location-intro{font-size:15px;margin:6px 0 18px;text-align:center}
.location-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;align-items:start;margin:18px 0}
.location-album,.location-aside{min-width:0;text-align:left}
.location-open{display:block;background:#faf8f2;border:2px inset #bbb;line-height:0}
.location-open img{display:block;width:100%;height:auto}
.location-open:focus-visible,.location-thumb:focus-visible{outline:2px solid #000080;outline-offset:3px}
.location-caption{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin:6px 2px;font-size:13px;line-height:1.6}
[data-gallery-counter]{font-family:"Courier New",monospace;color:#555;white-space:nowrap}
.location-thumbs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-top:8px}
.location-thumb{display:block;min-width:0;margin:0;padding:3px;background:#d4d0c8;border:2px outset #f4f1ea;cursor:pointer}
.location-thumb.selected{border-style:inset;background:#c4c0b8}
.location-thumb img{display:block;width:100%;height:auto;pointer-events:none}
.location-map-panel,.location-status{min-width:0;margin:0;padding:10px 12px 12px;border:2px groove #b9b2a0;background:#faf8f2}
.location-map-panel legend,.location-status legend{font-weight:bold;padding:0 6px;color:#8b0000}
.location-map{display:block;box-sizing:border-box;width:100%;height:220px;border:2px inset #bbb}
.location-details{margin:10px 0 0;width:100%}
table.location-details th{width:36px;white-space:nowrap}
table.location-details td{overflow-wrap:anywhere}
.location-coordinates{font-family:"Courier New",monospace;font-size:12px}
.location-status{margin-top:14px}
.location-without-photos{grid-template-columns:minmax(0,1fr)}
.location-lightbox{padding:0;border:0;background:transparent;max-width:calc(100vw - 32px);max-height:calc(100vh - 32px);overflow:visible;color:#1a1a1a}
.location-lightbox::backdrop{background:rgba(0,0,0,.82)}
.location-lightbox-box{border:4px ridge #6b4f2a;background:#ece7d6;box-sizing:border-box}
.location-lightbox-toolbar{display:flex;align-items:center;gap:6px;padding:6px;background:#d4d0c8;border-bottom:2px groove #b9b2a0;font-size:13px}
.location-lightbox-toolbar .btn{cursor:pointer;margin:0;flex:0 0 auto;min-width:28px;min-height:28px;font-family:Arial,sans-serif}
[data-lightbox-caption]{flex:1;min-width:0;overflow-wrap:anywhere;text-align:center}
.location-lightbox-image{display:block;width:auto;height:auto;max-width:calc(100vw - 48px);max-height:calc(100vh - 110px);object-fit:contain;margin:auto}
body.location-modal-open{overflow:hidden}
@media(max-width:799px){
  .location-layout{grid-template-columns:minmax(0,1fr);gap:18px}
  .location-map{height:220px}
}

.location-map-panel legend{font-size:12px;color:#555;font-weight:normal}

.location-without-photos .location-aside{width:100%;max-width:420px;margin:0 auto}

table.location-details th{width:76px}
table.location-details a{white-space:normal;overflow-wrap:anywhere}
.location-google-map .location-coordinates{margin:8px 0 0;overflow-wrap:anywhere}

.location-introduction{margin:0 0 14px}
.location-caption>span:first-child{min-width:0;overflow-wrap:anywhere}
.location-status p{overflow-wrap:anywhere}

.location-open,.location-lightbox-image{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}
.location-open img,.location-lightbox-image{-webkit-user-drag:none}

.location-viewport{position:relative;overflow:hidden;width:100%;box-sizing:border-box;border:2px inset #bbb;background:#faf8f2;touch-action:auto;user-select:none;-webkit-user-select:none;cursor:grab}
.location-viewport:focus-visible{outline:2px solid #000080;outline-offset:3px}
.gallery-track{display:flex;width:100%;height:100%;will-change:transform}
.gallery-slide{flex:0 0 100%;height:100%;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.gallery-slide img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:center;will-change:transform;pointer-events:none;-webkit-user-drag:none}
.gallery-track.is-settling{transition:transform 220ms cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){.gallery-track.is-settling{transition:none}}

/* Stable album frame; composited horizontal motion without layout shifts. */
.gallery-slide{contain:layout paint}.gallery-track{backface-visibility:hidden}.gallery-slide img{backface-visibility:hidden}

/* Follow the selected photograph, independent of intrinsic flex sizing. */
.location-viewport{height:auto;min-height:0}.gallery-track{position:absolute;inset:0}.gallery-slide{min-height:0}.gallery-slide img{object-fit:contain}
