/* 권리 확인된 장소 공통 사진띠와 확대 보기. 원본 사진은 자르지 않는다. */
#cards .sights-card .place-overview>.place-gallery{width:100%;margin:3px 0}
#cards .sights-card .place-gallery img{width:100%;height:100px;max-height:none;object-fit:contain;background:#f3f5f7}
.map-popup.sights-card .place-gallery{grid-column:1;grid-row:1/span 5;width:100px;margin:0}
.map-popup.sights-card .place-gallery-rail{overflow:hidden}
.map-popup.sights-card .place-gallery-cell{flex:0 0 100%}
.map-popup.sights-card .place-gallery img{width:100px;height:100px;max-height:none;object-fit:contain}
.map-popup.sights-card .place-gallery-cell:not(:first-child){display:none}
.map-popup.sights-card .place-gallery-count{bottom:17px}
.map-popup.sights-card .place-overview:has(>.place-gallery){grid-template-columns:100px minmax(0,1fr);column-gap:10px}
.map-popup.sights-card .place-overview:has(>.place-gallery)>:not(.place-gallery){grid-column:2;min-width:0}
#cards .food-card .place-overview,#cards .lodging-card .place-overview,.lodging-grid .lodging-card .place-overview{grid-template-columns:minmax(0,1fr)}
#cards .lodging-card .place-overview>:not(.place-media),.lodging-grid .lodging-card .place-overview>:not(.place-media){grid-column:1}
#cards .lodging-card .place-overview>.place-gallery,.lodging-grid .lodging-card .place-overview>.place-gallery{grid-column:1;grid-row:auto;width:100%;margin:3px 0}
#cards .food-card .place-overview>.place-gallery{margin:3px 0}
#cards .lodging-card .place-gallery img,.lodging-grid .lodging-card .place-gallery img,#cards .food-card .place-gallery img{width:100%;height:100px;max-height:none;object-fit:contain;background:#f3f5f7}
.place-gallery{position:relative;z-index:4;min-width:0;max-width:100%;overflow:hidden}
.place-gallery-rail{display:flex;gap:7px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;touch-action:pan-x pan-y;scrollbar-width:thin}
.place-gallery-cell{flex:0 0 min(44%,180px);min-width:0;margin:0;scroll-snap-align:start}
.place-gallery-cell figcaption{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px;line-height:1.35;color:#667684}
.place-gallery-open{display:block;box-sizing:border-box;width:100%;padding:0;border:0;border-radius:8px;background:#f3f5f7;overflow:hidden;cursor:zoom-in}
.lodging-card .place-gallery-open{padding:0;border:0;border-radius:8px;background:#f3f5f7;color:inherit}
.place-gallery-open:focus-visible{outline:3px solid #3265b4;outline-offset:2px}
.place-gallery-open img{display:block;width:100%;height:100px;object-fit:contain}
.place-gallery-count{position:absolute;right:7px;bottom:17px;padding:2px 5px;border-radius:5px;background:#172b36d9;color:#fff;font:700 10px/1.2 Arial,sans-serif;pointer-events:none}
.place-gallery:not(.place-gallery-compact):not(.plan-preview-media)>.place-gallery-count{top:6px;right:6px;bottom:auto;z-index:3;box-sizing:border-box;max-width:calc(100% - 12px);white-space:nowrap}
.place-gallery:not(:has(.place-gallery-cell figcaption)) .place-gallery-count{bottom:6px}
.place-gallery:has(.place-gallery-cell:only-child) .place-gallery-cell{flex-basis:min(100%,320px)}
.place-gallery:has(.place-gallery-cell:nth-child(2):last-child) .place-gallery-cell{flex-basis:calc((100% - 7px)/2)}
.map-popup.food-card .place-gallery,.map-popup.lodging-card .place-gallery{grid-column:1;grid-row:1/span 5;width:100px;margin:0}
.map-popup.food-card .place-gallery-rail,.map-popup.lodging-card .place-gallery-rail{overflow:hidden}
.map-popup.food-card .place-gallery-cell,.map-popup.lodging-card .place-gallery-cell{flex:0 0 100%}
.map-popup.food-card .place-gallery img,.map-popup.lodging-card .place-gallery img{width:100px;height:100px;max-height:none;object-fit:contain}
.map-popup.food-card .place-gallery-cell:not(:first-child),.map-popup.lodging-card .place-gallery-cell:not(:first-child){display:none}
.map-popup.food-card .place-gallery-count,.map-popup.lodging-card .place-gallery-count{bottom:17px}
.map-popup.food-card .place-overview:has(>.place-gallery),.map-popup.lodging-card .place-overview:has(>.place-gallery){grid-template-columns:100px minmax(0,1fr);column-gap:10px}
.map-popup.food-card .place-overview:has(>.place-gallery)>:not(.place-gallery),.map-popup.lodging-card .place-overview:has(>.place-gallery)>:not(.place-gallery){grid-column:2;min-width:0}
.plan-detail-media .place-gallery{max-width:100%}
.plan-detail-media .place-gallery-cell{flex-basis:min(44%,180px)}
.plan-preview-media.place-gallery{flex:0 0 85px;width:85px;overflow:visible}
.plan-preview-media .place-gallery-rail{overflow:hidden}
.plan-preview-media .place-gallery-cell{flex:0 0 85px}
.plan-preview-media .place-gallery-open img{width:85px;height:66px}
.plan-preview-media .place-gallery-cell figcaption{display:none}
.plan-preview-media .place-gallery-count{right:0;bottom:0;font-size:9px}
.place-gallery-dialog{box-sizing:border-box;width:min(900px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);padding:12px;border:0;border-radius:12px;background:#fff;color:#152b32;box-shadow:0 14px 45px #0004}
.place-gallery-dialog::backdrop{background:#14232dc9}
.place-gallery-head{display:flex;justify-content:space-between;align-items:center;min-height:36px;font-weight:700}
.place-gallery-head button,.place-gallery-stage button{border:0;background:#f3f5f7;color:#152b32;cursor:pointer;font-size:26px;line-height:1}
.place-gallery-head button{width:36px;height:36px;border-radius:8px}
.place-gallery-stage{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:4px;min-height:230px}
.place-gallery-stage img{display:block;max-width:100%;max-height:calc(100dvh - 155px);width:100%;height:auto;object-fit:contain}
.place-gallery-stage button{width:42px;height:48px;border-radius:8px}
.place-gallery-credit{display:block;min-height:18px;margin-top:8px;color:#496271;font-size:12px;overflow-wrap:anywhere}
.place-gallery-credit[hidden]{display:none}
@media(max-width:600px){.place-gallery-dialog{width:100vw;max-height:100dvh;height:100dvh;margin:0;padding:10px;border-radius:0}.place-gallery-stage{height:calc(100dvh - 105px)}.place-gallery-stage img{max-height:calc(100dvh - 120px)}}

/* v4.98-style horizontal photo strip in every list card. */
.place-gallery-cell[hidden]{display:none!important}
.place-gallery:not(.place-gallery-compact):not(.plan-preview-media) .place-gallery-rail{display:flex;gap:7px;overflow-x:auto;scroll-snap-type:x proximity}
.place-gallery:not(.place-gallery-compact):not(.plan-preview-media) .place-gallery-cell{flex:0 0 min(44%,180px);width:auto}
.place-gallery:not(.place-gallery-compact):not(.plan-preview-media):has(.place-gallery-cell:only-child) .place-gallery-cell{flex-basis:min(100%,320px)}
.place-gallery:not(.place-gallery-compact):not(.plan-preview-media):has(.place-gallery-cell:nth-child(2):last-child) .place-gallery-cell{flex-basis:calc((100% - 7px)/2)}
.place-gallery-compact .place-gallery-rail,.plan-preview-media .place-gallery-rail{display:block;overflow:hidden;scroll-snap-type:none}
.place-gallery-compact .place-gallery-cell,.plan-preview-media .place-gallery-cell{width:100%;flex:none}
.place-gallery-step{position:absolute;top:51px;z-index:2;display:grid;place-items:center;width:26px;height:34px;padding:0;border:0;border-radius:7px;background:#172b36d9;color:#fff;font:700 22px Arial,sans-serif;cursor:pointer}
#cards .card .place-gallery-step,.lodging-grid .lodging-card .place-gallery-step{background:#172b36d9;color:#fff;border:0;padding:0}
.place-gallery-prev{left:3px}.place-gallery-next{right:3px}
.place-gallery-step:focus-visible{outline:3px solid #3265b4;outline-offset:2px}
.place-gallery-compact .place-gallery-count,.place-gallery-compact:not(:has(.place-gallery-cell figcaption)) .place-gallery-count{top:5px;right:5px;bottom:auto}
body.ux-ready.map-app-preview .app-sheet .cards>.card>.place-overview:has(>.place-gallery),
#cards .card .place-overview:has(>.place-gallery),
.place-detail-body>.card>.place-overview:has(>.place-gallery),
.lodging-grid .lodging-card .place-overview:has(>.place-gallery){display:grid;grid-template-columns:minmax(0,1fr);column-gap:0;align-content:start;min-width:0}
body.ux-ready.map-app-preview .app-sheet .cards>.card>.place-overview:has(>.place-gallery)::before{display:none}
body.ux-ready.map-app-preview .app-sheet .cards>.card>.place-overview:has(>.place-gallery)>:not(.place-gallery),
#cards .card .place-overview:has(>.place-gallery)>:not(.place-gallery),
.place-detail-body>.card>.place-overview:has(>.place-gallery)>:not(.place-gallery),
.lodging-grid .lodging-card .place-overview:has(>.place-gallery)>:not(.place-gallery){grid-column:1;min-width:0}
body.ux-ready.map-app-preview .app-sheet .cards>.card>.place-overview>.place-gallery,
#cards .card .place-overview>.place-gallery,
.place-detail-body>.card>.place-overview>.place-gallery,
.lodging-grid .lodging-card .place-overview>.place-gallery{grid-column:1;grid-row:auto;align-self:start;width:100%;min-width:0;margin:3px 0}
body.ux-ready.map-app-preview .app-sheet .cards>.card>.place-overview>.place-gallery img,
#cards .card .place-overview>.place-gallery img,
.place-detail-body>.card>.place-overview>.place-gallery img,
.lodging-grid .lodging-card .place-overview>.place-gallery img{display:block;width:100%;height:125px;max-height:none;object-fit:contain;border-radius:8px}
.map-popup.food-card .place-gallery,.map-popup.lodging-card .place-gallery,.map-popup.sights-card .place-gallery{grid-column:1;grid-row:auto;width:100%;margin:4px 0}
.map-popup.food-card .place-gallery img,.map-popup.lodging-card .place-gallery img,.map-popup.sights-card .place-gallery img{width:100%;height:140px;max-height:none;object-fit:contain}
.map-popup.food-card .place-gallery-cell:not([hidden]),.map-popup.lodging-card .place-gallery-cell:not([hidden]),.map-popup.sights-card .place-gallery-cell:not([hidden]){display:block}
.map-popup.food-card .place-overview:has(>.place-gallery),.map-popup.lodging-card .place-overview:has(>.place-gallery),.map-popup.sights-card .place-overview:has(>.place-gallery){display:grid;grid-template-columns:minmax(0,1fr);column-gap:0}
.map-popup.food-card .place-overview:has(>.place-gallery)>:not(.place-gallery),.map-popup.lodging-card .place-overview:has(>.place-gallery)>:not(.place-gallery),.map-popup.sights-card .place-overview:has(>.place-gallery)>:not(.place-gallery){grid-column:1;min-width:0}
.plan-preview-media .place-gallery-step{display:none}
.place-gallery-stage img{grid-column:2;grid-row:1;justify-self:center}
.place-gallery-stage [data-gallery-prev]{grid-column:1;grid-row:1}.place-gallery-stage [data-gallery-next]{grid-column:3;grid-row:1}

/* Museum images include tall entrance and exhibit photos. Give their uncropped
   thumbnails enough height while retaining the shared card/gallery controls. */
#cards .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact) .place-gallery-cell{flex-basis:min(66%,240px)}
#cards .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact):has(.place-gallery-cell:only-child) .place-gallery-cell{flex-basis:min(100%,320px)}
#cards .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact):has(.place-gallery-cell:nth-child(2):last-child) .place-gallery-cell{flex-basis:calc((100% - 7px)/2)}
#cards .sights-card[data-gallery-context="museums_art"] .place-overview>.place-gallery img{height:190px}
.pin-selected-card .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact) .place-gallery-cell,
.place-detail-body .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact) .place-gallery-cell{flex-basis:min(66%,240px)}
.pin-selected-card .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact):has(.place-gallery-cell:nth-child(2):last-child) .place-gallery-cell,
.place-detail-body .sights-card[data-gallery-context="museums_art"] .place-gallery:not(.place-gallery-compact):has(.place-gallery-cell:nth-child(2):last-child) .place-gallery-cell{flex-basis:calc((100% - 7px)/2)}
.pin-selected-card .sights-card[data-gallery-context="museums_art"] .place-overview>.place-gallery img,
.place-detail-body .sights-card[data-gallery-context="museums_art"] .place-overview>.place-gallery img{height:190px}

/* A map popup converted into a list card must not keep the old 115px
   thumbnail-column sizing from ux-shell.css. This applies to every category. */
body.ux-ready.map-app-preview .app-sheet .pin-selected-card>.card>.place-overview>.place-gallery.place-media,
body.ux-ready.map-app-preview .app-sheet .place-detail-body>.card>.place-overview>.place-gallery.place-media{grid-column:1;grid-row:auto;align-self:start;width:100%;min-width:0;margin:3px 0}
body.ux-ready.map-app-preview .app-sheet .pin-selected-card>.card>.place-overview>.place-gallery.place-media img,
body.ux-ready.map-app-preview .app-sheet .place-detail-body>.card>.place-overview>.place-gallery.place-media img{display:block;width:100%;height:125px;max-height:none;object-fit:contain}
body.ux-ready.map-app-preview .app-sheet .pin-selected-card>.card.sights-card[data-gallery-context="museums_art"]>.place-overview>.place-gallery.place-media img,
body.ux-ready.map-app-preview .place-detail-body>.card.sights-card[data-gallery-context="museums_art"]>.place-overview>.place-gallery.place-media img{height:190px}
body.ux-ready.map-app-preview .place-detail-body>.card>.place-overview>.place-gallery.place-media{grid-column:1;grid-row:auto;width:100%;min-width:0;margin:3px 0}
body.ux-ready.map-app-preview .place-detail-body>.card>.place-overview>.place-gallery.place-media img{display:block;width:100%;height:125px;max-height:none;object-fit:contain}
body.ux-ready.map-app-preview .place-detail-body>.card.sights-card[data-gallery-context="museums_art"]>.place-overview>.place-gallery.place-media img{height:190px}
