/* Full photograph width, with the existing text layout below. */
body[data-ji-page="property"] .ji-section,body[data-ji-page="project"] .ji-section{max-width:none;padding-left:0;padding-right:0}
.ji-detail-main>.ji-detail-layout,.ji-detail-main>.ji-detail-section,.ji-detail-main>.ji-video-section{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.ji-detail-main>.ji-gallery,.ji-detail-main>.ji-video-section{max-width:1320px;margin-left:auto;margin-right:auto;padding-left:36px;padding-right:36px}
.ji-section>.ji-status,.ji-section>.ji-actions{max-width:1120px;margin-left:auto;margin-right:auto;padding-left:24px;padding-right:24px}
.ji-gallery-stage,.ji-gallery-image{background:#fff}
.ji-gallery-image{aspect-ratio:auto;min-height:0}
.ji-gallery-image img{width:100%;height:auto;object-fit:contain;display:block}
.ji-gallery-caption{padding:12px 24px}
.ji-gallery-display{position:relative}
.ji-main-arrow{position:absolute;top:50%;transform:translateY(-50%);width:64px;height:80px;padding:12px;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:#fff;cursor:pointer;z-index:2}
.ji-main-prev{left:16px}.ji-main-next{right:16px}
.ji-main-arrow svg{width:26px;height:48px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0009)}
.ji-main-arrow:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media(max-width:600px){.ji-main-arrow{width:48px;height:64px;padding:10px}.ji-main-prev{left:0}.ji-main-next{right:0}.ji-strip-prev{left:12px}.ji-strip-next{right:12px}}
.ji-thumbnails{gap:14px;padding:14px 24px;cursor:grab;touch-action:pan-x;overscroll-behavior-x:contain;user-select:none;scroll-behavior:auto}
.ji-thumbnails.is-dragging{cursor:grabbing}
.ji-thumbnail{width:150px;flex-basis:150px}
.ji-thumb-image{height:105px}
.ji-thumb-image img{object-fit:contain;pointer-events:none;-webkit-user-drag:none}
.ji-object-title{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.3em;row-gap:0}
.ji-hero-detail h1.ji-object-title{max-width:none}
.ji-object-title-part{display:inline-block;position:relative;max-width:100%}
.ji-object-title-part+.ji-object-title-part{padding-left:.32em}
.ji-object-title-separator{position:absolute;left:0;top:.16em;width:1px;height:.72em;background:currentColor;opacity:.55}
.ji-video-section{margin-top:36px;margin-bottom:42px}
.ji-video-section h2{font-size:25px;font-weight:400;margin:0 0 20px}
.ji-video-frame{width:100%;aspect-ratio:16/9;border:0;display:block;background:#f4f4f4}
.ji-video-link{display:inline-block;margin-top:12px;margin-bottom:24px;color:inherit;font-size:14px}
.ji-thumbnail-slider{position:relative}
.ji-strip-arrow{position:absolute;top:14px;bottom:24px;width:42px;display:flex;align-items:center;justify-content:center;padding:6px;border:0;background:transparent;color:white;cursor:pointer;z-index:2}
.ji-strip-prev{left:24px}.ji-strip-next{right:24px}
.ji-strip-arrow svg{width:20px;height:34px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 1px 2px #0009)}
.ji-strip-arrow:disabled{visibility:hidden}
.ji-strip-arrow:focus-visible{outline:2px solid #667f8e;outline-offset:2px}
.ji-prose{text-align:justify;hyphens:auto}
.ji-richtext{white-space:normal;font-size:18px;line-height:1.75;overflow-wrap:anywhere}
.ji-richtext p,.ji-richtext li,.ji-richtext blockquote{font-size:inherit;line-height:inherit;max-width:none;text-align:justify;margin:0 0 16px}
.ji-richtext strong,.ji-richtext b{font-weight:700}
.ji-richtext a{color:#1761ad;text-decoration:underline;text-underline-offset:2px;hyphens:none;overflow-wrap:anywhere}
.ji-richtext h2,.ji-richtext h3,.ji-richtext h4{font-size:1.1em;font-weight:600;margin:24px 0 14px}
.ji-richtext ul,.ji-richtext ol{padding-left:1.4em;margin:0 0 20px}
.ji-summary .ji-agent-image{width:140px;height:auto;aspect-ratio:auto;background:#fff}
.ji-summary .ji-agent-image img{height:auto;object-fit:contain}
body[data-ji-page="property"] .ji-hero .inner{max-width:1320px;padding-left:36px;padding-right:36px;padding-bottom:26px}
body[data-ji-page="property"] .ji-section{padding-top:20px}
.ji-quick-facts{display:flex;flex-wrap:wrap;gap:16px 0;margin:25px 0 0;padding:0;max-width:none}
.ji-quick-facts>div{flex:1 1 140px;padding:0 18px;border-left:1px solid #dedede;min-width:0}
.ji-quick-facts>div:first-child{padding-left:0;border-left:0}
.ji-quick-facts dt{font-size:13px;line-height:1.5;color:#777;font-weight:400}
.ji-quick-facts dd{margin:7px 0 0;font-size:21px;line-height:1.3;font-weight:400;white-space:nowrap}
.ji-quick-facts .ji-quick-price dd{font-weight:600}
.ji-detail-main>.ji-compact-facts{max-width:1320px;padding:0 36px;margin:44px auto 60px}
.ji-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #d9dfe2;background:#fff}
.ji-compact-column{min-width:0;border-left:1px solid #d9dfe2}
.ji-compact-column:first-child{border-left:0}
.ji-compact-column h2{font:500 19px/1.4 Manrope,Arial,sans-serif;background:#e7eef2;margin:0;padding:16px 20px}
.ji-compact-column dl{padding:7px 20px 18px;margin:0}
.ji-compact-column dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #e3e5e7;font-size:15px;line-height:1.5}
.ji-compact-column dt{color:#777;min-width:0;flex:1}
.ji-compact-column dd{margin:0;text-align:right;font-weight:500;overflow-wrap:anywhere;max-width:65%}
.ji-compact-note{font-size:14px;color:#777;line-height:1.6;max-width:none;margin:16px 0 0}
@media(max-width:850px){.ji-compact-grid{grid-template-columns:1fr}.ji-compact-column{border-left:0;border-top:1px solid #d9dfe2}.ji-compact-column:first-child{border-top:0}.ji-detail-main>.ji-compact-facts{padding:0 24px}.ji-quick-facts>div{flex-basis:30%;padding-left:12px;padding-right:12px}.ji-quick-facts dd{font-size:18px;white-space:normal}}
@media(max-width:480px){.ji-quick-facts>div{flex-basis:45%}.ji-quick-facts>div:nth-child(odd){padding-left:0;border-left:0}.ji-detail-main>.ji-compact-facts{padding:0 20px}.ji-compact-column h2{font-size:18px}}
@media(max-width:600px){.ji-detail-main>.ji-gallery,.ji-detail-main>.ji-video-section{padding-left:20px;padding-right:20px}body[data-ji-page="property"] .ji-hero .inner{padding-left:20px;padding-right:20px}}

/* Detail alignment and contact overview, revision 3. */
.ji-detail-main>.ji-detail-layout{max-width:1320px;padding-left:36px;padding-right:36px}
.ji-main-arrow svg{width:32px;height:56px;stroke-width:2.1}
.ji-strip-arrow svg{width:24px;height:42px;stroke-width:2.1}
.ji-video-section>h2,.ji-description .ji-detail-section>h2{font-size:20px;font-weight:400;border-bottom:1px solid #ddd;padding-bottom:12px;margin-bottom:20px}
.ji-video-section::after{content:'';display:block;border-bottom:1px solid #ddd;margin-top:18px}
.ji-video-link{margin-bottom:0}
.ji-summary .ji-quick-facts{display:block;margin:0 0 24px}
.ji-summary .ji-quick-facts>div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:11px 0;border-left:0;border-bottom:1px solid #e1e1e1}
.ji-summary .ji-quick-facts dt{font-size:14px;flex:1}
.ji-summary .ji-quick-facts dd{font-size:17px;margin:0;text-align:right;white-space:normal}
.ji-summary .ji-agent-image{width:100%;max-width:260px;height:auto}
@media(max-width:600px){.ji-detail-main>.ji-detail-layout{padding-left:20px;padding-right:20px}}

/* Full-width facts, flowing description and larger thumbnail preview. */
.ji-gallery-caption{background:#fff}
.ji-thumbnail{width:200px;flex-basis:200px}
.ji-thumb-image{height:140px}
.ji-facts-heading{font-size:20px;font-weight:400;border-bottom:1px solid #ddd;padding-bottom:12px;margin:0 0 22px}
.ji-detail-flow{display:block}
.ji-detail-flow .ji-description{display:flow-root}
.ji-detail-flow .ji-summary{float:right;width:300px;max-width:100%;margin:0 0 32px 46px;box-sizing:border-box}
.ji-detail-flow .ji-contact-title{margin-top:0;padding-top:0;border-top:0}
.ji-detail-flow .ji-richtext h2,.ji-detail-flow .ji-richtext h3,.ji-detail-flow .ji-richtext h4{clear:both}
.ji-extra-costs dd{font-size:14px;max-width:62%;line-height:1.6}
@media(max-width:850px){.ji-detail-flow .ji-summary{float:none;width:100%;margin:0 0 28px}.ji-summary .ji-agent-image{max-width:260px}}

/* Stable gallery stage, including portrait photographs and documents. */
.ji-gallery-image{aspect-ratio:3/2;height:auto;position:relative;overflow:hidden;background:#fff}
.ji-gallery-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}
.ji-gallery-caption{min-height:42px;box-sizing:border-box}


/* Selection follows the actual image, including portrait thumbnails. */
.ji-thumbnail[aria-pressed="true"]{border-color:transparent}
.ji-thumb-image{display:flex;align-items:center;justify-content:center}
.ji-thumb-image img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.ji-thumbnail[aria-pressed="true"] .ji-thumb-image img{outline:1px solid #999;outline-offset:-1px}

/* One enlarged gallery, without a further zoom level. */
body.ji-lightbox-open{overflow:hidden}
.ji-lightbox{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:#fff;color:#222;overflow:hidden}
.ji-lightbox::backdrop{background:#fff}
.ji-lightbox-frame{position:absolute;inset:58px 74px 60px;display:flex;align-items:center;justify-content:center}
.ji-lightbox-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff}
.ji-lightbox-image img{display:block;width:100%;height:100%;object-fit:contain;cursor:default}
.ji-lightbox-close{position:absolute;right:20px;top:14px;z-index:4;width:44px;height:44px;background:#fff;border:1px solid #ddd;color:#444;font:300 36px/1 Arial,sans-serif;cursor:pointer}
.ji-lightbox-caption{position:absolute;bottom:10px;left:74px;right:74px;margin:0;text-align:center;font-size:14px;color:#666;max-width:none}
.ji-lightbox-arrow{z-index:3}
.ji-lightbox-arrow svg{filter:drop-shadow(0 1px 2px #333b) drop-shadow(0 0 1px #333b)}
.ji-lightbox button:focus-visible{outline:2px solid #888;outline-offset:3px}
@media(max-width:600px){.ji-lightbox-frame{inset:64px 42px 62px}.ji-lightbox-caption{left:20px;right:20px}.ji-lightbox-close{right:14px}}

.ji-lightbox-close{width:124px;font:400 16px/1.2 Manrope,Arial,sans-serif;border-color:#bbb}

.ji-lightbox-close{top:52px;width:44px;display:flex;align-items:center;justify-content:center;padding:10px;border-color:#ddd}
.ji-lightbox-close svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round}

@media(max-width:600px){.ji-lightbox-close{top:16px}}

.ji-lightbox-close{width:56px;height:56px;padding:12px}.ji-lightbox-close svg{width:28px;height:28px;stroke-width:1.2}

.ji-detail-main>.ji-location-map{max-width:1320px;padding:0 36px;margin:36px auto 60px;clear:both}
.ji-location-map>h2{font-size:20px;font-weight:400;border-bottom:1px solid #ddd;padding-bottom:12px;margin:0 0 22px}
.ji-map-frame{display:block;width:100%;height:460px;border:0;background:#fff}
@media(max-width:600px){.ji-detail-main>.ji-location-map{padding:0 20px}.ji-map-frame{height:340px}}

/* Fit the normal photograph and preview controls into the visible window. */
.ji-gallery-image{aspect-ratio:auto;height:min(calc((100vw - 72px) * .666667),calc(100svh - var(--ji-header-height,104px) - 250px),832px);min-height:160px}
@media(max-width:600px){.ji-gallery-image{height:min(calc((100vw - 40px) * .666667),calc(100svh - var(--ji-header-height,180px) - 250px));min-height:130px}}

/* A balanced detail area: scale the photograph, controls and title together. */
:root{--ji-detail-width:clamp(380px,calc((100svh - var(--ji-header-height,104px) - 170px) * 1.7 + 72px),1120px)}
body[data-ji-page="property"] .ji-hero-detail{min-height:0}
body[data-ji-page="property"] .ji-hero .inner{max-width:var(--ji-detail-width);padding:28px 36px 20px}
body[data-ji-page="property"] .ji-hero-detail h1{font-size:clamp(26px,2.5vw,36px);line-height:1.22;letter-spacing:-.035em;margin:12px 0 14px}
body[data-ji-page="property"] #ji-intro{font-size:17px}
.ji-detail-main>.ji-gallery,.ji-detail-main>.ji-video-section,.ji-detail-main>.ji-detail-layout,.ji-detail-main>.ji-compact-facts,.ji-detail-main>.ji-location-map{max-width:var(--ji-detail-width);width:100%}
.ji-gallery{container-type:inline-size;--ji-preview-width:clamp(100px,18cqw,160px)}
.ji-gallery-image{height:min(calc((100vw - 72px) * .666667),calc(100svh - var(--ji-header-height,104px) - 170px),690px);min-height:160px}
.ji-gallery-caption{min-height:32px;padding:9px 0 5px;font-size:13px;line-height:1.4}
.ji-thumbnail{width:var(--ji-preview-width);flex-basis:var(--ji-preview-width)}
.ji-thumb-image{height:calc(var(--ji-preview-width) * .7)}
.ji-thumbnails{gap:12px;padding:12px 0}
.ji-gallery-display>.ji-main-arrow{width:48px;height:64px;padding:10px}
.ji-gallery-display>.ji-main-arrow svg{width:22px;height:40px;stroke-width:2}
.ji-gallery-display>.ji-main-prev{left:8px}.ji-gallery-display>.ji-main-next{right:8px}
.ji-strip-arrow{width:32px;top:12px;bottom:20px;padding:4px}
.ji-strip-arrow svg{width:18px;height:30px;stroke-width:2}
.ji-strip-prev{left:0}.ji-strip-next{right:0}
@media(max-width:600px){:root{--ji-detail-width:100vw}body[data-ji-page="property"] .ji-hero .inner{padding:22px 20px 18px}body[data-ji-page="property"] .ji-hero-detail h1{font-size:26px}.ji-gallery-image{height:min(calc((100vw - 40px) * .666667),calc(100svh - var(--ji-header-height,180px) - 170px));min-height:130px}.ji-gallery{--ji-preview-width:100px}.ji-gallery-display>.ji-main-arrow{width:40px;height:54px;padding:8px}.ji-gallery-display>.ji-main-arrow svg{width:18px;height:32px}}

/* Align the normal landscape photograph with the title and caption edges. */
.ji-gallery-image{height:auto;aspect-ratio:3/2;min-height:0}

/* Recover vertical space without shrinking the aligned photograph. */
:root{--ji-detail-width:clamp(380px,calc((100svh - max(104px,var(--ji-header-height,104px)) - 170px) * 1.7 + 72px),1120px)}
.ji-gallery-caption{position:absolute;width:1px;height:1px;min-height:0;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ji-thumbnails{padding-top:8px;padding-bottom:8px}
.ji-strip-arrow{top:8px;bottom:16px}
@media(max-width:600px){:root{--ji-detail-width:100vw}}
.ji-thumbnails{padding-bottom:0}
