.photo-carousel{min-width:0;width:100%;align-self:start;--carousel-paper:var(--cream,#f7f4eb);--carousel-ink:var(--green,#183b31)}
.photo-carousel-track{position:relative;display:flex;overflow-x:auto;overflow-y:hidden;width:100%;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border-radius:8px;background:#e5e4d9;isolation:isolate;-webkit-overflow-scrolling:touch}
.photo-carousel-track::-webkit-scrollbar{display:none}
.photo-carousel-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always;position:relative;aspect-ratio:1.5}
.photo-carousel-slide .photo-button{position:relative;display:block;width:100%;height:100%;padding:0;overflow:hidden;border:0;border-radius:0;cursor:zoom-in;background:transparent}
.photo-carousel-slide .property-picture{display:block;width:100%;height:100%}
.photo-carousel-slide .property-picture>img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;border-radius:0;user-select:none;-webkit-user-drag:none}
.photo-carousel-slide .photo-button:hover img{transform:none}
.photo-carousel-slide .photo-button:after{content:'View larger ↗';position:absolute;right:17px;bottom:17px;padding:8px 11px;border:1px solid rgba(255,255,255,.5);border-radius:3px;background:rgba(20,44,36,.84);color:#fff;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.02em;pointer-events:none}
.photo-carousel-track:focus-visible{outline:3px solid var(--carousel-ink);outline-offset:5px}
.photo-carousel-slide .photo-button:focus-visible{outline:3px solid #fff;outline-offset:-6px}
.photo-carousel-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:73px;padding-top:15px}
.photo-carousel .photo-carousel-caption{margin:0;color:var(--ink,#283e34);font-family:inherit;font-size:13px;font-weight:400;line-height:1.55;max-width:430px;text-wrap:pretty}
.photo-carousel-controls{display:flex;align-items:center;gap:10px;flex:none;color:var(--carousel-ink)}
.photo-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-width:46px;padding:0;border:1px solid var(--line,#c4cbc0);border-radius:50%;background:transparent;color:inherit;font-family:inherit;font-size:24px;font-weight:400;line-height:1;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s}
.photo-carousel-controls button svg{width:20px;height:20px;stroke-width:1.5}
.photo-carousel-controls button:hover{background:var(--carousel-ink);border-color:var(--carousel-ink);color:#fff}
.photo-carousel-controls button:focus-visible{outline:3px solid var(--carousel-ink);outline-offset:4px}
.photo-carousel-controls button:disabled{cursor:default;opacity:.4;background:transparent;color:inherit}
.photo-carousel-controls [data-carousel-count]{min-width:51px;text-align:center;font-size:11px;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}
.photo-carousel [data-carousel-status]{margin:0}
@media(min-width:761px) and (max-width:1100px){.photo-carousel-bar{gap:12px;align-items:flex-start}.photo-carousel .photo-carousel-caption{padding-top:6px;font-size:12px}.photo-carousel-controls{gap:6px}.photo-carousel-controls button{width:44px;height:44px;min-width:44px}}
@media(max-width:760px){.photo-carousel-slide{aspect-ratio:1.45}.photo-carousel-bar{gap:12px;min-height:72px;padding-top:12px;align-items:flex-start}.photo-carousel .photo-carousel-caption{font-size:12px;line-height:1.5;padding-top:5px}.photo-carousel-controls{gap:6px}.photo-carousel-controls button{width:44px;height:44px;min-width:44px;font-size:23px}.photo-carousel-controls [data-carousel-count]{min-width:45px;font-size:10px}.photo-carousel-slide .photo-button:after{right:12px;bottom:12px;font-size:10px;padding:7px 9px}}
@media(max-width:380px){.photo-carousel-bar{flex-wrap:wrap;gap:9px}.photo-carousel .photo-carousel-caption{max-width:none;flex-basis:100%;padding:0}.photo-carousel-controls{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.photo-carousel-controls button{transition:none}}
