/* =================================================================
   BIZPORTAL LIST VIEW
   JS in functions.php handles inline style overrides.
   CSS here handles everything else.
   ================================================================= */

/* ── Grid containers ── */
body.archive .section-body.grid,
body.tax-listing_category .section-body.grid,
.finder-listings .results-view,
.finder-listings .results-view.grid,
.finder-listings .fc-type-2-results,
#c27-explore-listings .results-view,
.fc-type-2-results {
    display: block !important;
    height: auto !important;
    position: static !important;
}

body.archive .section-body.grid > div,
body.tax-listing_category .section-body.grid > div,
.finder-listings .results-view > div,
.finder-listings .results-view > .grid-item,
.finder-listings .fc-type-2-results > div,
.finder-listings .fc-type-2-results > .grid-item,
#c27-explore-listings .results-view > div,
#c27-explore-listings .results-view > .grid-item,
.fc-type-2-results > div,
.fc-type-2-results > .grid-item {
    position: static !important;
    left: auto !important; top: auto !important;
    width: 100% !important; max-width: 100% !important;
    float: none !important;
    transform: none !important;
    padding: 0 !important;
    margin-bottom: 12px !important;
}

/* ── Hide title/price overlay inside image (JS moves them to content) ── */
.finder-listings .lf-item-container .lf-item .lf-item-info-2,
#c27-explore-listings .lf-item-container .lf-item .lf-item-info-2,
.fc-type-2-results .lf-item-container .lf-item .lf-item-info-2 {
    display: none !important;
}

/* ── Injected title/price styling ── */
.biz-injected-title {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #1a1a1a !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
    white-space: normal !important;
    word-break: break-word !important;
}

.biz-injected-price {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #002f8a !important;
    margin-bottom: 4px !important;
}

.biz-injected-price .rent-price .value {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: #002f8a !important;
}

/* ── Location/details styling inside ld3 ── */
.finder-listings .lf-item-container .listing-details-3 ul.details-list,
#c27-explore-listings .lf-item-container .listing-details-3 ul.details-list,
.fc-type-2-results .lf-item-container .listing-details-3 ul.details-list {
    list-style: none !important;
    padding: 0 !important; margin: 0 !important;
    display: flex !important; flex-direction: column !important; gap: 5px !important;
}

.finder-listings .lf-item-container .listing-details-3 .details-list li,
#c27-explore-listings .lf-item-container .listing-details-3 .details-list li,
.fc-type-2-results .lf-item-container .listing-details-3 .details-list li {
    width: 100% !important; padding: 0 !important;
    display: flex !important; align-items: center !important;
    gap: 6px !important; font-size: 13px !important; color: #666 !important;
}

.finder-listings .lf-item-container .listing-details-3 .details-list li i,
#c27-explore-listings .lf-item-container .listing-details-3 .details-list li i,
.fc-type-2-results .lf-item-container .listing-details-3 .details-list li i {
    font-size: 15px !important; color: #bbb !important;
    flex-shrink: 0 !important; width: auto !important; margin: 0 !important;
}

/* ── Actions bar ── */
.finder-listings .lf-item-container .listing-details.actions .ld-info,
#c27-explore-listings .lf-item-container .listing-details.actions .ld-info,
.fc-type-2-results .lf-item-container .listing-details.actions .ld-info {
    position: static !important;
    right: auto !important; width: auto !important;
}

.finder-listings .lf-item-container .listing-details.actions .ld-info ul,
#c27-explore-listings .lf-item-container .listing-details.actions .ld-info ul,
.fc-type-2-results .lf-item-container .listing-details.actions .ld-info ul {
    display: flex !important; flex-direction: row !important;
    gap: 10px !important; list-style: none !important;
    margin: 0 !important; padding: 0 !important;
}

/* ── Custom template cards (archive/category pages) ── */
.lf-item-container-custom {
    display: flex !important; flex-direction: row !important;
    flex-wrap: wrap !important; align-items: stretch !important;
    background: #fff; border-radius: 8px; overflow: hidden;
    box-shadow: 0 1px 6px rgba(0,0,0,0.1); min-height: 160px; width: 100%;
}
.lfc-image { flex: 0 0 260px !important; width: 260px !important; min-width: 260px !important; min-height: 160px; position: relative !important; overflow: hidden; background: #e0e0e0; }
.lfc-image > a { display: block !important; position: absolute !important; inset: 0; }
.lfc-image .lf-background { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; background-size: cover !important; background-position: center !important; }
.lfc-image .overlay { position: absolute !important; inset: 0; z-index: 2; pointer-events: none; }
.lfc-image .lf-head { position: absolute !important; top: 10px; left: 10px; z-index: 5; }
.lfc-content { flex: 1 1 auto !important; min-width: 0; display: flex !important; flex-direction: column !important; padding: 16px 20px 14px !important; background: #fff; gap: 5px; }
.lfc-title-link { display: block; text-decoration: none; color: inherit; }
.lfc-title { font-size: 15px !important; font-weight: 700 !important; color: #1a1a1a !important; margin: 0 !important; line-height: 1.4 !important; white-space: normal !important; word-break: break-word !important; }
.lfc-info-fields { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 3px !important; }
.lfc-info-fields li { display: flex !important; align-items: center !important; gap: 5px !important; font-size: 13px !important; color: #555 !important; }
.lfc-info-fields .rent-price .value { font-size: 15px !important; font-weight: 700 !important; color: #002f8a !important; }
.lfc-details { list-style: none !important; padding: 0 !important; margin: 0 !important; display: flex !important; flex-direction: column !important; gap: 4px !important; }
.lfc-details li { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 13px !important; color: #666 !important; }
.lfc-details li i { font-size: 15px !important; color: #bbb !important; flex-shrink: 0 !important; width: auto !important; margin: 0 !important; }
.lfc-actions { margin-top: auto; padding-top: 8px; border-top: 1px solid #f2f2f2; }
.lfc-actions-list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: row !important; gap: 10px !important; }
.lfc-actions-list li a { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid #e5e5e5; color: #666; transition: all 0.2s; }
.lfc-actions-list li a:hover { border-color: #002f8a; color: #002f8a; background: #f0f4ff; }

/* ── Mobile ── */
@media (max-width: 767px) {
    .lf-item-container-custom,
    .finder-listings .lf-item-container,
    #c27-explore-listings .lf-item-container,
    .fc-type-2-results .lf-item-container {
        flex-direction: column !important; min-height: auto !important;
    }
    .lfc-image,
    .finder-listings .lf-item-container .lf-item,
    #c27-explore-listings .lf-item-container .lf-item,
    .fc-type-2-results .lf-item-container .lf-item {
        flex: 0 0 200px !important; width: 100% !important;
        min-width: 100% !important; height: 200px !important; min-height: 200px !important;
    }
    .finder-listings .lf-item-container .listing-details.actions,
    #c27-explore-listings .lf-item-container .listing-details.actions,
    .fc-type-2-results .lf-item-container .listing-details.actions {
        flex: 0 0 100% !important; width: 100% !important; margin-left: 0 !important;
    }
    .lfc-content { padding: 12px 14px !important; }
}

/* ── Phone field ── */
.iti { width: 100% !important; display: block !important; }
.iti input { width: 100% !important; }
