/* JLFhomes v3.3.5
 * 3 tarjetas del mismo tamaño. La imagen principal ocupa siempre la misma
 * zona y su proporción original no modifica la altura de la tarjeta.
 */

.ich-settings-main-wrap .row.jlfhomes-property-grid-row {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 24px !important;
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: 0 !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    float: none !important;
    clear: both !important;
    align-items: stretch !important;
}

.ich-settings-main-wrap .row.jlfhomes-property-grid-row > .jlfhomes-property-grid-item,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    display: block !important;
    overflow: hidden !important;
}

/* La ficha interior siempre ocupa exactamente toda la altura de la tarjeta. */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .box-list,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] > .landz-box-property,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] > .box-list {
    width: 100% !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Evita que la altura/proporción de la imagen principal haga crecer la ficha. */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] img:first-of-type {
    max-height: 100% !important;
    object-fit: cover !important;
}

/* Cuando la imagen está en un bloque/columna propio, lo hacemos ocupar la altura completa. */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-image,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-thumbnail,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-image-wrap,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-thumb {
    height: 100% !important;
    overflow: hidden !important;
}

.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-image img,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-thumbnail img,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-image-wrap img,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-thumb img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* El contenido de texto puede ocupar el resto de la tarjeta sin alterar su altura. */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-content,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-details,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .property-info {
    max-height: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.ich-settings-main-wrap .row.jlfhomes-property-grid-row::before,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row::after {
    display: none !important;
    content: none !important;
}

@media (max-width: 991px) {
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 20px !important;
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
}

@media (max-width: 767px) {
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > .jlfhomes-property-grid-item,
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"],
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property,
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .box-list {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }
}

/* v3.3.5: fuerza la misma caja visual real de Real Estate Manager.
 * La imagen queda dentro de una zona independiente y no puede decidir
 * la altura de la tarjeta.
 */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] {
    display: flex !important;
    align-items: stretch !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
}

.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] > .landz-box-property.box-list,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    width: 100% !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* La columna de imagen tiene siempre exactamente la misma altura. */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list .img-container {
    flex: 0 0 40% !important;
    width: 40% !important;
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list .img-container img,
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list .img-container .img-responsive {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
}

/* El contenido ocupa todo el espacio restante sin alterar la altura global. */
.ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list > :not(.img-container) {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 767px) {
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list,
    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }

    .ich-settings-main-wrap .row.jlfhomes-property-grid-row > [id^="property-"] .landz-box-property.box-list .img-container {
        height: 360px !important;
        min-height: 360px !important;
        max-height: 360px !important;
    }
}
