.fd-re-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 20px; }
.fd-re-filter { display: inline-block; padding: 8px 16px; border-radius: 999px; background: #f2f2f0; color: #333; text-decoration: none; font-weight: 700; font-size: 14px; }
.fd-re-filter.active { background: #1a5d3a; color: #fff; }

.fd-re-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 18px; }
.fd-re-tile { position: relative; background: #fff; border-radius: 10px; overflow: hidden; text-decoration: none; color: inherit; display: flex; flex-direction: column; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.fd-re-tile img { width: 100%; height: 160px; object-fit: cover; }
.fd-re-tile-title { padding: 10px 12px 2px; font-weight: 700; font-size: 15px; }
.fd-re-tile-price { padding: 0 12px 12px; font-weight: 800; color: #1a5d3a; font-size: 15px; }

.fd-re-badge { display: inline-block; background: #c68a00; color: #fff; font-weight: 800; font-size: 12px; letter-spacing: .03em; text-transform: uppercase; padding: 5px 12px; border-radius: 999px; margin: 10px 0 0 10px; align-self: flex-start; }

.fd-re-single { margin-top: 16px; }
.fd-re-single p { margin: 0 0 8px; font-size: 15px; }
.fd-re-price { font-size: 26px; font-weight: 800; color: #1a5d3a; margin: 10px 0 !important; }
.fd-re-gallery { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.fd-re-gallery img { width: 160px; height: 120px; object-fit: cover; border-radius: 8px; }
.fd-re-current-photos { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 16px; }
.fd-re-current-photos img { width: 80px; height: 80px; object-fit: cover; border-radius: 6px; }
