/*
 * Hand-written overrides loaded after dist/app.css, so small fixes don't need a Vite rebuild.
 */

/* Reapit (IRE) Book Inspection / Apply Now buttons under the price on a listing. */
.ire-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin: -30px 0 60px;
}
.ire-buttons .button {
    min-width: 200px;
}

/* Leased/sold cover photos from Reapit already carry a SOLD/LEASED banner; drop the duplicate ribbon and tint. */
.property-card .status-corner,
.property-card .overlay {
    display: none;
}

/* The floor/land area row reserves space even when a listing has neither, leaving a gap above the price. */
.property-card .text-wrapper > .flex:not(:has(.land)) {
    display: none;
}

@media (max-width: 767px) {
    /* Filter bar: Back + availability on one row, Filter and Sort sharing the next, nothing off-screen. */
    .additional-filter .inner {
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .additional-filter .inner > .flex {
        flex-wrap: wrap;
        row-gap: 10px;
        column-gap: 10px;
    }
    .additional-filter .inner > .flex > .wrapper:last-child {
        display: contents;
    }
    .additional-filter .back-button {
        white-space: nowrap;
    }
    .additional-filter .filter-box.availability {
        flex: 1 1 auto;
        justify-content: flex-end;
        width: auto;
        white-space: nowrap;
    }
    .additional-filter .filter-box.filter,
    .additional-filter .filter-box.sort {
        flex: 1 1 calc(50% - 5px);
        width: auto;
        min-width: 0;
        height: 40px;
    }
    .additional-filter .filter-box.sort .ss-main {
        height: 100%;
        min-height: 0;
        padding-top: 0;
        padding-bottom: 0;
        border: 0;
    }

    /* The logo is drawn larger on phones than desktop; shrink it so the sticky header takes less of the screen. */
    .calculate-header .logo-wrapper img.on-scroll {
        width: 70px;
    }
    .calculate-header #header .py-\[18px\] {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    /* Property cards: tighter, so each one reads as a unit instead of floating text between photos. */
    .property-card {
        padding-bottom: 28px;
        border-bottom: 1px solid rgba(22, 62, 105, 0.15);
    }
    .property-card .image-wrapper {
        margin-bottom: 14px;
    }
    .property-card .title-wrapper {
        margin-bottom: 4px;
    }
    .property-card .title-wrapper a {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0.15em;
    }
    .property-card .location-wrapper {
        margin-bottom: 10px;
    }
    .property-card .line {
        margin-bottom: 10px;
    }
    .property-card .text-wrapper > .flex {
        min-height: 0;
        margin-bottom: 6px;
    }
    .property-card .price {
        margin-bottom: 0;
    }

    /* Listing page buttons stack full width on a phone. */
    .ire-buttons .button {
        flex: 1 1 100%;
    }
}
