.listing-page{min-width:0;background:white;border-bottom:1px solid var(--line)}
.gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in}
.gallery-open img{width:100%;height:100%;object-fit:cover;object-position:center}
#modal.photo-viewer{inset:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;padding:0;border:0;border-radius:0;background:transparent;color:white;box-shadow:none}
#modal.photo-viewer::backdrop{background:rgba(12,20,32,.68)}
.viewer-stage{position:relative;display:grid;place-items:center;width:100%;height:100dvh;padding:70px 76px 54px}
#viewer-photo{display:block;width:100%;height:100%;min-height:0;object-fit:contain}
.photo-viewer .modal-close,.viewer-arrow{width:44px;height:44px;border:0;border-radius:6px;background:rgba(255,255,255,.1);color:rgba(255,255,255,.7);transition:background .15s,color .15s}
.photo-viewer .modal-close{position:fixed;top:20px;right:20px;z-index:2}
.photo-viewer .modal-close:hover,.photo-viewer .modal-close:focus-visible,.viewer-arrow:hover,.viewer-arrow:focus-visible{background:rgba(255,255,255,.24);color:white}
.viewer-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;cursor:pointer}
.viewer-arrow.previous{left:16px}.viewer-arrow.next{right:16px}
.viewer-arrow svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.viewer-caption{position:absolute;bottom:18px;left:16px;right:16px;display:flex;justify-content:center;gap:16px;font-size:.8125rem;color:rgba(255,255,255,.8)}
@media(max-width:600px){.viewer-stage{padding:70px 12px 54px}.viewer-arrow.previous{left:8px}.viewer-arrow.next{right:8px}.photo-viewer .modal-close{top:16px;right:12px}}
.photo-credits{padding:10px 14px;color:var(--muted);font-size:.75rem;line-height:1.6;overflow-wrap:anywhere}
.photo-credits summary{cursor:pointer;min-height:32px;display:flex;align-items:center}
.photo-credits ol,.profile-sources{padding-left:20px}
.photo-credits p{margin-top:8px}
.photo-credits a,.profile-sources a{color:var(--green);text-decoration:underline;text-underline-offset:2px}
.official-source a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:5px;background:var(--green);color:white;font-weight:600;font-size:.875rem;text-align:center}
.official-source a:hover{filter:brightness(.94)}
.listing-container{width:calc(100% - 48px);max-width:1160px;margin:0 auto;padding:16px 0 48px;min-width:0}
.listing-nav{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 20px;margin-bottom:12px;font-size:.875rem}
.listing-nav a,.listing-nav button{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:8px 0;color:var(--green);text-align:left;overflow-wrap:anywhere}
.listing-nav a:hover,.listing-map:hover{text-decoration:underline;text-underline-offset:3px}
.listing-gallery{min-width:0;border-radius:6px;overflow:hidden;background:var(--paper)}
.listing-gallery .property-gallery{background:var(--paper)}
.listing-gallery .gallery-image{height:clamp(420px,38vw,500px)}
.listing-gallery .gallery-image>img{object-fit:cover;object-position:center}
.listing-gallery .gallery-nav{min-width:44px;min-height:44px}
.listing-gallery .gallery-thumbnails{gap:8px;padding:10px 12px;background:var(--paper)}
.listing-gallery .gallery-thumbnails button{min-width:0;min-height:60px}
.listing-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);align-items:start;gap:0 40px;margin-top:32px}
.listing-heading{grid-column:1;grid-row:1;min-width:0;overflow-wrap:anywhere}
.listing-content{grid-column:1;grid-row:2}
.listing-content,.listing-enquiry{min-width:0;overflow-wrap:anywhere}
.listing-heading .detail-topline{margin-bottom:10px;line-height:1.5}
.listing-heading h1{max-width:none;font-size:clamp(1.75rem,3vw,2.3rem);font-weight:600;line-height:1.18;letter-spacing:-.7px;text-wrap:pretty;overflow-wrap:anywhere}
.listing-address{margin:12px 0 0;font-size:.9375rem;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.listing-map{display:inline-flex;align-items:center;min-height:44px;max-width:100%;padding:8px 0;font-size:.8125rem;color:var(--green);overflow-wrap:anywhere}
.listing-facts{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin-top:12px;font-size:.8125rem;color:var(--muted)}
.listing-facts>*{min-width:0;overflow-wrap:anywhere}
.listing-content .detail-stats{gap:12px;padding:20px 0;margin:22px 0 0}
.listing-content .detail-stats>div{min-width:0;overflow-wrap:anywhere}
.listing-content .detail-stats strong{font-size:1.3rem;font-weight:600}
.listing-section{padding:26px 0;border-bottom:1px solid var(--line)}
.listing-section:last-child{border-bottom:0;padding-bottom:0}
.listing-section h2{margin-bottom:14px;font-size:1.125rem;font-weight:600;letter-spacing:-.15px;line-height:1.4}
.listing-section .detail-description{font-size:.9375rem;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}
.listing-section .detail-amenities{margin:0;gap:8px}
.listing-section .detail-amenities .chip{font-size:.8125rem;padding:6px 10px}
.listing-section .detail-more{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 24px;margin:0}
.listing-section .detail-more div{align-items:baseline;flex-wrap:wrap;gap:4px 12px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.listing-section .detail-more strong{margin-left:auto;text-align:right;overflow-wrap:anywhere;min-width:0;max-width:100%}
.listing-section.stay-policies{margin:0;font-size:.875rem}
.listing-section.stay-policies h3{font-size:1rem;margin-top:16px}
.listing-section.stay-policies p{white-space:pre-line;overflow-wrap:anywhere}
.listing-enquiry{position:sticky;top:24px;grid-column:2;grid-row:1 / span 2;padding:24px;border:1px solid var(--line);border-radius:6px;background:white;box-shadow:0 3px 16px #17263806}
.listing-enquiry:has(.date-range-panel:not([hidden])){position:static}
.listing-enquiry .price{font-size:1.625rem;line-height:1.35;letter-spacing:-.5px}
.listing-enquiry>.help{margin-top:6px}
.listing-enquiry>.button{width:100%;margin-top:20px}
.listing-enquiry .form-stack{gap:14px;margin-top:20px}
.listing-enquiry .form-stack>.button{margin-top:2px}
.listing-enquiry .date-range-panel{padding:10px;box-shadow:none}
.listing-enquiry .date-range-status{line-height:1.5}
.listing-enquiry .date-range-weekdays{font-size:.6875rem}
.listing-enquiry .date-range-day{font-size:.875rem;min-height:44px}
.listing-enquiry .date-range-actions{gap:6px 16px}
.listing-enquiry .field-grid{gap:14px;grid-template-columns:minmax(0,1fr)}
.listing-enquiry .stay-summary{padding:12px;background:var(--paper)}
.listing-enquiry .stay-summary:empty{display:none}
.listing-enquiry .quote-lines{font-size:.8125rem}
.listing-enquiry .quote-lines>div{gap:4px 12px}
.listing-enquiry .quote-lines dd{white-space:normal;overflow-wrap:anywhere;text-align:right}
.listing-enquiry .notice{margin:14px 0 0;padding:10px 12px}
.listing-enquiry .form-error{margin-top:14px;margin-bottom:0}
.listing-enquiry .help{line-height:1.6;overflow-wrap:anywhere}
.listing-error,.listing-loading{padding:48px 0 64px;max-width:680px;min-width:0;overflow-wrap:anywhere}
.listing-error h1,.listing-loading h1{max-width:none;font-size:clamp(1.6rem,4vw,2.25rem);font-weight:600;letter-spacing:-.6px;line-height:1.3}
.listing-error .help,.listing-loading .help{margin-top:14px;font-size:.9375rem;line-height:1.7}
.listing-error a,.listing-error button{display:inline-flex;align-items:center;min-height:44px;margin-top:20px;color:var(--green);font-size:.875rem}
@media(max-height:700px){.listing-enquiry{position:static}}
@media(max-width:1000px){
  .listing-layout{gap:0 28px;grid-template-columns:minmax(0,1fr) minmax(0,320px)}
  .listing-enquiry{padding:20px}
  .listing-section .detail-more{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:860px){
  .listing-container{width:calc(100% - 40px);padding-bottom:36px}
  .listing-gallery .gallery-image{height:clamp(260px,46vw,400px)}
  .listing-layout{grid-template-columns:minmax(0,1fr);gap:28px;margin-top:24px}
  .listing-enquiry{position:static;grid-column:1;grid-row:2;padding:20px;box-shadow:none}
  .listing-content{grid-row:3}
  .listing-enquiry .form-stack{margin-top:16px}
  .listing-enquiry .field-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .listing-enquiry .date-range-panel{max-width:420px}
  .listing-content .detail-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .listing-section .detail-more{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
  .listing-container{width:calc(100% - 28px);padding-top:10px;padding-bottom:28px}
  .listing-nav{gap:4px 16px;margin-bottom:8px}
  .listing-gallery .gallery-image{height:240px}
  .listing-gallery .gallery-thumbnails{padding:8px;gap:6px}
  .listing-gallery .gallery-thumbnails button{flex-basis:64px;min-height:50px}
  .listing-gallery .gallery-thumbnails img{width:64px;height:50px}
  .listing-gallery .gallery-nav.previous{left:8px}
  .listing-gallery .gallery-nav.next{right:8px}
  .listing-layout{gap:24px;margin-top:20px}
  .listing-enquiry{padding:16px}
  .listing-enquiry .field-grid{grid-template-columns:minmax(0,1fr)}
  .listing-heading h1{font-size:1.75rem;letter-spacing:-.5px}
  .listing-content .detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .listing-section{padding:22px 0}
  .listing-section .detail-more{grid-template-columns:minmax(0,1fr)}
  .listing-error,.listing-loading{padding:32px 0 48px}
}
@media(max-width:360px){
  .listing-container{width:calc(100% - 24px)}
  .listing-nav{gap:0 12px;font-size:.8125rem}
  .listing-enquiry{padding:14px}
  .listing-enquiry .date-range-panel{padding:8px}
  .listing-enquiry .date-range-weekdays{font-size:.625rem}
  .listing-enquiry .date-range-day{font-size:.8125rem}
  .listing-heading h1{font-size:1.625rem}
  .listing-enquiry .price{font-size:1.5rem}
}

.card-heading-name .card-title{font-size:1.5rem;letter-spacing:-.3px;line-height:1.25}
.property-info-link a{font-size:.875rem;color:var(--green);text-decoration:underline;text-underline-offset:3px}
