.fl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:24px 0}
.fl-card{display:block;background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease, box-shadow .15s ease}
.fl-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px -12px rgba(0,0,0,.18)}
.fl-card-img{aspect-ratio:4/3;background:#f3f4f6 center/cover no-repeat}
.fl-card-body{padding:14px}
.fl-card-title{margin:0 0 6px;font-size:1.05rem;line-height:1.3}
.fl-card-meta{display:flex;flex-wrap:wrap;gap:10px;color:#6b7280;font-size:.9rem}
.fl-map{width:100%;border-radius:10px;overflow:hidden;margin:16px 0}

/* ----- Detail page ----- */
.fl-detail{font-size:1.25rem;line-height:1.6}
.fl-detail p, .fl-detail li{font-size:1.25rem;line-height:1.6}
.fl-detail-meta{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 20px}
.fl-pill{display:inline-block;padding:8px 16px;border-radius:999px;background:#f3f4f6;font-size:1.05rem;color:#111827;font-weight:500}
.fl-pill-status{background:#ecfdf5;color:#065f46;text-transform:capitalize}

/* Hero photo (replaces multi-photo gallery on detail page) */
.fl-hero{position:relative;display:block;width:100%;max-width:760px;margin:0 0 24px;aspect-ratio:16/9;background:#f3f4f6 center/cover no-repeat;border-radius:8px;overflow:hidden;cursor:zoom-in}
.fl-hero-count{position:absolute;right:12px;bottom:12px;background:rgba(0,0,0,.65);color:#fff;padding:6px 12px;border-radius:999px;font-size:.95rem;font-weight:500;pointer-events:none}

/* Details list (below photo, before description) */
.fl-details-list{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 28px;font-size:1.4rem}
.fl-details-list li{padding:10px 0;border-bottom:1px solid #eef0f3;display:flex;justify-content:space-between;gap:14px}
.fl-details-list .fl-dl-label{color:#4b5563;font-weight:500}
.fl-details-list .fl-dl-value{color:#111827;font-weight:600;text-align:right}

.fl-description{margin:24px 0;font-size:1.35rem;line-height:1.75;color:#1f2937}
.fl-description p, .fl-description li{font-size:1.35rem;line-height:1.75}
.fl-detail-title{font-size:2.4rem !important;line-height:1.2;margin:0 0 18px}
.fl-apply-wrap{margin:20px 0 28px}
.fl-apply-btn{display:inline-block;padding:14px 28px;background:#0a7d3b;color:#fff !important;text-decoration:none;border-radius:8px;font-size:1.15rem;font-weight:600;transition:background .15s ease, transform .15s ease}
.fl-apply-btn:hover{background:#086430;transform:translateY(-1px)}

/* Lightbox */
.fl-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:99999;flex-direction:column;padding:20px}
.fl-lightbox.is-open{display:flex}
.fl-lightbox-img{max-width:96vw;max-height:82vh;object-fit:contain;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.fl-lightbox-close,.fl-lightbox-prev,.fl-lightbox-next{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:46px;height:46px;border-radius:999px;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}
.fl-lightbox-close:hover,.fl-lightbox-prev:hover,.fl-lightbox-next:hover{background:rgba(255,255,255,.25)}
.fl-lightbox-close{top:20px;right:20px}
.fl-lightbox-prev{left:20px;top:50%;transform:translateY(-50%)}
.fl-lightbox-next{right:20px;top:50%;transform:translateY(-50%)}
.fl-lightbox-counter{color:#fff;margin-top:14px;font-size:.95rem;opacity:.85}
.fl-lightbox-thumbs{display:flex;gap:6px;margin-top:14px;overflow-x:auto;max-width:96vw;padding:4px}
.fl-lightbox-thumbs img{height:60px;width:80px;object-fit:cover;border-radius:4px;cursor:pointer;opacity:.55;transition:opacity .15s;flex:0 0 auto}
.fl-lightbox-thumbs img.is-active,.fl-lightbox-thumbs img:hover{opacity:1}

/* Plugin-owned single template wrapper */
.fl-main{padding:30px 0 60px}
.fl-container{max-width:1100px;margin:0 auto;padding:0 20px}
.fl-back{margin:0 0 14px;font-size:.95rem}
.fl-back a{text-decoration:none;color:#0a7d3b;font-weight:500}
.fl-detail-title{font-size:1.9rem;line-height:1.2;margin:0 0 16px}
.fl-section-h{margin:28px 0 10px;font-size:1.25rem}

/* Aggressively hide any theme widgets/sidebars/related/reviews if they sneak in */
body.fl-single .sidebar,
body.fl-single #sidebar,
body.fl-single aside.widget-area,
body.fl-single .widget-area,
body.fl-single #secondary,
body.fl-single .related-posts,
body.fl-single .related,
body.fl-single .jp-relatedposts,
body.fl-single .yarpp-related,
body.fl-single #comments,
body.fl-single .comments-area,
body.fl-single .comment-respond,
body.fl-single .post-navigation,
body.fl-single .nav-links,
body.fl-single .author-bio,
body.fl-single [class*="reviews"]:not(.fl-detail [class*="reviews"]),
body.fl-single [class*="testimonial"]:not(.fl-detail [class*="testimonial"]),
body.fl-single [class*="home-search"]:not(.fl-detail [class*="home-search"]),
body.fl-single [id*="home-search"],
body.fl-single [class*="property-search"]:not(.fl-detail [class*="property-search"]),
body.fl-single [class*="advanced-search"],
body.fl-single [class*="featured-listing"],
body.fl-single [id*="featured-listing"],
body.fl-single [class*="featured_listing"],
body.fl-single [class*="search-form"]:not(.fl-detail [class*="search-form"]){display:none !important}

/* ----- Property management page ----- */
.fl-pm{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:32px;margin:24px 0}
@media (max-width:880px){.fl-pm{grid-template-columns:1fr}}
.fl-pm-h{font-size:1.6rem;margin:0 0 12px;font-weight:700;color:#111827}
.fl-generic-app{margin:22px 0 8px;font-size:1.3rem;line-height:1.55;color:#1f2937;padding:14px 16px;background:#f9fafb;border-left:4px solid #0a7d3b;border-radius:6px}
.fl-generic-app a{color:#0a7d3b;font-weight:600;text-decoration:underline}
.fl-pm-side{display:flex;flex-direction:column;gap:20px}
.fl-side-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:20px}
.fl-side-card h3{margin:0 0 10px;font-size:1.15rem;color:#111827}
.fl-side-card p{margin:0 0 12px;color:#374151;line-height:1.5}
.fl-side-btn{display:inline-block;background:#0a7d3b;color:#fff !important;padding:10px 18px;border-radius:8px;text-decoration:none;font-weight:600;border:0;cursor:pointer;font-size:1rem}
.fl-side-btn:hover{background:#086430}
.fl-inq-form{display:flex;flex-direction:column;gap:10px}
.fl-inq-form label{display:flex;flex-direction:column;font-size:.9rem;color:#374151;font-weight:500;gap:4px}
.fl-inq-form input{padding:9px 11px;border:1px solid #d1d5db;border-radius:6px;font-size:1rem;background:#fff}
.fl-inq-form input:focus{outline:none;border-color:#0a7d3b;box-shadow:0 0 0 3px rgba(10,125,59,.15)}
.fl-inq-ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46;padding:10px;border-radius:6px;margin:0 0 4px}
.fl-inq-err{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:10px;border-radius:6px;margin:0 0 4px}
