/* Property ficha layout: structure only; colors and typography stay inherited from Houzez. */
.property-ficha-wrap {
    padding-top: 0;
}

.property-ficha-media {
    margin-bottom: 32px;
}

/* Give the ficha the wider editorial canvas used by large property portals. */
@media (min-width: 1200px) {
    .property-ficha-media .property-ficha-gallery > .container,
    .property-ficha-container {
        max-width: 1380px;
    }

    .property-ficha-title .page-title-wrap > .container {
        max-width: none;
    }
}

.property-ficha-gallery-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    grid-template-rows: repeat(2, minmax(180px, 250px));
    gap: 6px;
}

.property-ficha-gallery-side {
    display: grid;
    gap: 6px;
    grid-column: 2;
    grid-row: 1 / span 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
    min-width: 0;
}

.property-ficha-gallery-side-count-1 {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.property-ficha-gallery-side-count-2 {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(2, minmax(0, 1fr));
}

.property-ficha-gallery-side-count-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, minmax(0, 1fr));
}

.property-ficha-gallery-link {
    display: block;
    height: 100%;
    min-height: 180px;
    overflow: hidden;
    position: relative;
}

.property-ficha-gallery-link img {
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.property-ficha-gallery-main {
    grid-row: 1 / span 2;
}

.property-ficha-gallery-hidden {
    display: none;
}

.property-ficha-gallery-last .property-image-count {
    bottom: 16px;
    left: auto;
    right: 16px;
}

.property-ficha-gallery-placeholder {
    min-height: 360px;
    overflow: hidden;
}

.property-ficha-gallery-placeholder img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.property-ficha-title {
    margin-bottom: 32px;
}

.property-ficha-title .page-title-wrap {
    padding: 0;
}

.property-ficha-layout {
    align-items: flex-start;
}

.property-ficha-main .property-section-wrap,
.property-ficha-main .property-detail-wrap,
.property-ficha-main .property-features-wrap {
    margin-bottom: 30px;
}

.property-ficha-main .block-wrap {
    margin-bottom: 0;
}

.property-ficha-overview .property-overview-data {
    flex-wrap: wrap;
}

.property-ficha-sidebar {
    position: sticky;
    top: 30px;
}

.property-ficha-description .block-content-wrap.is-collapsed {
    max-height: 270px;
    overflow: hidden;
}

.property-ficha-read-more {
    border: 0;
    cursor: pointer;
    display: block;
    margin: 12px 0 0;
    padding: 0;
}

.property-ficha-read-more.btn-secondary-outlined {
    background-color: transparent;
    border-color: transparent;
}

@media (max-width: 991.98px) {
    .property-ficha-sidebar {
        margin-top: 30px;
        position: static;
    }
}

@media (max-width: 767.98px) {
    .property-ficha-media {
        margin-bottom: 24px;
    }

    .property-ficha-gallery-grid {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 260px auto;
    }

    .property-ficha-gallery-main {
        grid-column: 1 / span 2;
        grid-row: 1;
    }

    .property-ficha-gallery-side {
        grid-column: 1 / span 2;
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 150px 150px;
    }

    .property-ficha-gallery-side-count-1 {
        grid-template-columns: 1fr;
        grid-template-rows: 150px;
    }

    .property-ficha-gallery-side-count-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: 150px;
    }

    .property-ficha-gallery-secondary {
        min-height: 150px;
    }

    .property-ficha-title {
        margin-bottom: 24px;
    }
}
