/* Shared photo lightbox for the public map only. */
.public-detail .detail-panel-heading{height:52px;display:flex;align-items:center;padding:0 56px 0 17px;border-bottom:1px solid #e8edf2;color:#23364b;font-size:21px;font-weight:800;letter-spacing:-.04em}
.public-detail .detail-panel-heading small{margin-left:9px;color:#7d8998;font-size:12px;font-weight:600;letter-spacing:0;white-space:nowrap}
.public-list .listing-photo-frame,.public-detail .detail-hero-frame{position:relative}
.public-list .listing-photo-frame.is-completed-empty,.public-detail .detail-hero-frame.is-completed-empty{background:#334155}
.public-list .listing-photo-frame.is-completed-empty img,.public-detail .detail-hero-frame.is-completed-empty img{visibility:hidden}
.public-list .listing-photo-frame .listing-completed-overlay,.public-detail .detail-hero-frame .listing-completed-overlay{position:absolute;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;background:#0e1b2d55;color:#fff;font-size:clamp(15px,2vw,29px);font-weight:850;letter-spacing:.04em;text-shadow:0 2px 6px #091625a8;pointer-events:none}
.public-list .listing-photo-frame .listing-completed-overlay{font-size:17px}
.public-list .listing-photo-frame.is-completed-empty .listing-completed-overlay,.public-detail .detail-hero-frame.is-completed-empty .listing-completed-overlay{background:transparent}
.public-detail .detail-contract-toggle[aria-checked=true]{background:#e8761c}
.public-detail .detail-contract-toggle[aria-checked=true] .detail-contract-knob{transform:translateX(17px)}
.public-detail .detail-contract-row strong{color:#c55d0d;font-size:12px}
.public-list button.listing-photo-frame,.public-detail button.listing-photo-frame{padding:0;cursor:pointer;text-align:initial}
.public-list button.listing-photo-frame:focus-visible,.public-detail [data-photo-open]:focus-visible,.public-detail .detail-photo-thumb:focus-visible{outline:2px solid #e8761c;outline-offset:2px}
.public-detail .detail-hero-frame[data-photo-open],.public-detail .detail-hero-frame[data-photo-empty]{cursor:pointer}
.public-detail .detail-photo-empty-label{position:absolute;right:12px;bottom:12px;z-index:2;padding:5px 8px;border-radius:5px;background:#26364acf;color:#fff;font-size:12px;font-weight:700;pointer-events:none}
.public-detail .detail-photo-count{position:absolute;right:12px;bottom:12px;z-index:2;padding:7px 10px;border:1px solid #fff9;border-radius:6px;background:#14283ccc;color:#fff;font-size:12px;font-weight:700;cursor:pointer}
.public-detail .detail-photo-thumbs{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;padding:8px 10px;border-bottom:1px solid #e4eaf0;background:#fff}
.public-detail .detail-photo-thumbs.is-dragging,.public-detail .detail-photo-thumbs.is-dragging *{cursor:grabbing!important;user-select:none}
.public-detail .detail-photo-thumb{flex:0 0 58px;width:58px;height:48px;padding:0;border:1px solid #dce4ec;border-radius:5px;overflow:hidden;background:#edf2f6;cursor:pointer}
.public-detail .detail-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
dialog.map-photo-viewer{width:min(66vw,1100px);max-width:none;height:min(66dvh,760px);max-height:66dvh;padding:0;border:0;border-radius:11px;overflow:hidden;background:#17212d;color:#f6f8fb;box-shadow:0 22px 70px #0b1729a3}
dialog.map-photo-viewer::backdrop{background:#08131dbb}
.map-photo-viewer-shell{height:100%;min-height:0;display:flex;flex-direction:column}
.map-photo-viewer-shell>header{height:52px;flex:none;display:flex;align-items:center;gap:14px;padding:0 17px;border-bottom:1px solid #ffffff1b;background:#1b2938}
.map-photo-viewer-shell>header strong{font-size:16px}
.map-photo-viewer-count{margin-left:auto;font-size:14px;font-weight:700;color:#d4e0ec}
.map-photo-viewer-close{width:38px;height:38px;border:0;border-radius:6px;background:transparent;color:#fff;font-size:27px;line-height:1;cursor:pointer}
.map-photo-viewer-close:hover,.map-photo-viewer-zoom button:hover,.map-photo-viewer-stage>button:hover{background:#ffffff24}
.map-photo-viewer-stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-height:0;padding:8px 58px;background:#111b26}
.map-photo-viewer-frame{position:relative;width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;touch-action:none;user-select:none;cursor:pointer}
.map-photo-viewer-frame.is-zoomed{cursor:grab}.map-photo-viewer-frame.is-zoomed:active{cursor:grabbing}
.map-photo-viewer-frame img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;transition:opacity .12s ease;will-change:transform;pointer-events:auto}
.map-photo-viewer-frame[data-loading=true] img,.map-photo-viewer-frame[data-loading=error] img{opacity:0}
.map-photo-viewer-status{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);max-width:90%;padding:8px 12px;border-radius:5px;background:#1f2d3bd9;color:#e7edf4;font-size:13px;text-align:center;pointer-events:none}
.map-photo-viewer-frame[data-loading=false] .map-photo-viewer-status{display:none}
.map-photo-viewer-frame.is-watermarked::after{content:"";position:absolute;z-index:2;left:50%;top:50%;width:132px;aspect-ratio:2171/724;transform:translate(-50%,-50%);background:url('/assets/hana-watermark-transparent-20261021.png') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.72;pointer-events:none}
.public-detail .detail-photo-thumb.is-watermarked,.map-photo-viewer-strip button.is-watermarked{position:relative}
.public-detail .detail-photo-thumb.is-watermarked::after,.map-photo-viewer-strip button.is-watermarked::after{width:34px}
.map-photo-viewer-frame .listing-completed-overlay{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content;padding:9px 20px;border:2px solid #fff;border-radius:5px;background:#13273cb8;color:#fff;font-size:clamp(20px,3vw,38px);font-weight:800;pointer-events:none}
.map-photo-viewer-stage>button{position:absolute;z-index:4;top:50%;transform:translateY(-50%);width:43px;height:56px;border:0;border-radius:7px;background:#ffffff17;color:#fff;font-size:42px;line-height:1;cursor:pointer}
.map-photo-viewer-stage>button[hidden]{display:none}
.map-photo-viewer-previous{left:9px}.map-photo-viewer-next{right:9px}
.map-photo-viewer-footer{flex:none;min-height:103px;padding:5px 12px 9px;border-top:1px solid #ffffff1b;background:#1b2938}
.map-photo-viewer-zoom{display:flex;align-items:center;justify-content:center;gap:6px;height:34px}
.map-photo-viewer-zoom button{min-width:32px;height:30px;padding:0 8px;border:1px solid #ffffff3a;border-radius:5px;background:transparent;color:#fff;font-size:17px;cursor:pointer}
.map-photo-viewer-zoom [data-zoom-reset]{min-width:62px;font-size:12px;font-weight:700}
.map-photo-viewer-strip{display:flex;gap:6px;height:58px;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable;padding:4px 2px}
.map-photo-viewer-strip.is-dragging,.map-photo-viewer-strip.is-dragging *{cursor:grabbing!important;user-select:none}
.map-photo-viewer-strip[hidden]{display:none}
.map-photo-viewer-strip button{flex:0 0 78px;width:78px;height:48px;padding:0;border:2px solid transparent;border-radius:5px;overflow:hidden;background:#243446;cursor:pointer}
.map-photo-viewer-strip button.is-current{border-color:#f07818}
.map-photo-viewer-strip img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:760px){.public-detail .detail-panel-heading{font-size:18px}dialog.map-photo-viewer{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}.map-photo-viewer-shell>header{height:52px;padding:0 10px}.map-photo-viewer-close{width:44px;height:44px}.map-photo-viewer-stage{padding:4px 6px}.map-photo-viewer-stage>button{width:37px;height:44px;background:#1425369c;font-size:34px}.map-photo-viewer-previous{left:3px}.map-photo-viewer-next{right:3px}.map-photo-viewer-footer{min-height:100px;padding-inline:7px}.map-photo-viewer-strip button{flex-basis:72px;width:72px}.public-detail .detail-photo-thumb{flex-basis:54px;width:54px;height:44px}}
@media(prefers-reduced-motion:reduce){.map-photo-viewer-frame img{transition:none}}
