/* City/ZIP card galleries only. Other page families retain their existing galleries. */
.fl-directory-photo-layout .listing-group .card-grid{grid-template-columns:minmax(0,1fr)}
.fl-directory-photo-layout .listing-group .property-card{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);align-items:start}
.fl-directory-photo-layout .listing-group .card-content{height:100%;min-width:0}
.fl-directory-photo-layout .listing-group .photo-card{min-width:0;margin:0}
.fl-directory-photo-layout .listing-group .photo-card .photo-link{border-radius:0;aspect-ratio:3/2;background:#edf0e8}
.fl-directory-gallery{overflow:hidden}
.fl-directory-photo-stage{position:relative}
.fl-directory-photo-stage .photo-link{display:flex;align-items:center;justify-content:center;position:relative;touch-action:pan-y pinch-zoom}
.fl-directory-photo-stage img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.fl-directory-gallery.fl-photo-native .fl-directory-photo-stage img{object-fit:scale-down}
.fl-directory-gallery [hidden]{display:none!important}
.fl-preview-error{padding:24px;text-align:center;font-size:13px;line-height:1.6;color:var(--muted)}
.fl-preview-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid #ffffffb3;border-radius:50%;background:#fffefaf0;color:var(--green);box-shadow:0 2px 8px #1d33251f;cursor:pointer;font:30px/1 Georgia,serif}
.fl-preview-prev{left:12px}.fl-preview-next{right:12px}
.fl-preview-arrow:hover{background:var(--green);color:white}
.fl-preview-count{position:absolute;bottom:12px;right:12px;padding:5px 10px;border-radius:18px;background:#183e32e6;color:#fff;font-size:11px;line-height:1.4;font-variant-numeric:tabular-nums;pointer-events:none}
.fl-preview-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 12px 0}
.fl-preview-thumbnail{display:flex;align-items:center;justify-content:center;position:relative;aspect-ratio:3/2;min-width:0;min-height:44px;overflow:hidden;border-radius:7px;background:#edf0e8;text-decoration:none}
.fl-preview-thumbnail img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.fl-preview-thumb-error{color:var(--muted);font-size:12px}
.fl-directory-photo-layout .listing-group .fl-directory-gallery figcaption{padding:12px 16px 18px;background:transparent;border:0}
.fl-directory-gallery .photo-description{font-size:12px;line-height:1.55;color:#52665a;margin:0 0 10px;min-height:0;overflow-wrap:anywhere}
.fl-directory-gallery .fl-preview-all{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid #ccd6c9;border-radius:7px;font-size:12px;font-weight:600;line-height:1.4;color:var(--green);text-decoration:none;background:#fbfcf8}
.fl-preview-all .fl-ui-icon{width:16px;height:16px;flex:none}
.fl-preview-all .fl-ui-icon svg{width:16px;height:16px}
.fl-preview-all:hover{background:#edf3e8;border-color:#9eb69e}
.fl-directory-gallery a:focus-visible,.fl-directory-gallery button:focus-visible{outline:3px solid #416b4e;outline-offset:-3px}
.fl-directory-gallery .fl-preview-arrow:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px #416b4e}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.fl-directory-gallery:not(.fl-photo-native) .photo-link:hover img,.fl-preview-thumbnail:hover img{transform:scale(1.025)}}
@media(max-width:850px){
 .fl-directory-photo-layout .listing-group .property-card{grid-template-columns:minmax(0,1fr)}
 .fl-directory-photo-layout .listing-group .photo-card .photo-link{aspect-ratio:16/10}
 .fl-directory-photo-layout .listing-group .fl-directory-gallery figcaption{padding:12px 16px 14px}
 .fl-directory-photo-layout .listing-group .card-content{padding:20px}
 .fl-preview-thumbnails{gap:8px;padding:10px 12px 0}
}
@media(max-width:360px){.fl-preview-thumbnails{gap:6px;padding-inline:10px}.fl-preview-prev{left:8px}.fl-preview-next{right:8px}}
@media(prefers-reduced-motion:reduce){.fl-directory-gallery img{transition:none!important;transform:none!important}}
