.property-public {
    --property-radius: 1rem;
}


.property-public-hero {
    position: relative;

    overflow: hidden;

    border-radius:
        var(--property-radius);

    background: #f1f3f5;
}


.property-public-cover {
    display: block;

    width: 100%;
    height: min(62vh, 620px);

    object-fit: cover;
}


.property-public-gallery-thumb {
    display: block;

    width: 100%;
    aspect-ratio: 4 / 3;

    object-fit: cover;

    border-radius: 0.75rem;
}


.property-public-card {
    border: 0;

    border-radius:
        var(--property-radius);

    box-shadow:
        0 0.35rem 1.25rem
        rgba(0, 0, 0, 0.06);
}


.property-public-price {
    font-size: 1.15rem;

    font-weight: 700;
}


.property-public-feature {
    height: 100%;

    padding: 0.85rem;

    border: 1px solid #e9ecef;

    border-radius: 0.75rem;

    background: #fff;
}


.property-public-map {
    width: 100%;
    height: 380px;

    border-radius: 0.85rem;

    overflow: hidden;
}


.property-public-description {
    line-height: 2;
    white-space: pre-line;
}


.property-public-meta {
    color: #6c757d;

    font-size: 0.9rem;
}


@media (
    max-width: 767.98px
) {
    .property-public-cover {
        height: 42vh;

        min-height: 300px;
    }

    .property-public-map {
        height: 320px;
    }
}

.property-public-card
input[type="date"],
.property-public-card
input[type="time"] {
    direction: ltr;

    text-align: left;
}

.property-compare-wrapper {
    border-radius: 1rem;

    box-shadow:
        0 0.35rem 1.25rem
        rgba(0, 0, 0, 0.06);
}


.property-compare-table {
    min-width: 900px;

    margin-bottom: 0;

    background: #fff;
}


.property-compare-table th,
.property-compare-table td {
    padding: 1rem;

    vertical-align: middle;
}


.property-compare-label {
    min-width: 170px;

    width: 170px;
}


.property-compare-property {
    min-width: 230px;

    width: 260px;

    vertical-align: top !important;
}


.property-compare-image {
    display: block;

    width: 100%;
    height: 150px;

    object-fit: cover;

    border-radius: 0.75rem;
}


.property-compare-table
tbody th {
    white-space: nowrap;

    background: #f8f9fa;
}


@media (
    max-width: 767.98px
) {
    .property-compare-property {
        min-width: 210px;
    }

    .property-compare-label {
        min-width: 140px;

        width: 140px;
    }
}