/*
 * Small corrections to the theme on the public site.
 *
 * Equal-height property cards.
 *
 * The theme sizes each card by its own content, so a two-line title or a listing
 * with fewer spec rows (a plot has no bedrooms) produces a shorter card. These
 * rules stretch every card in a row to the tallest one and pin the price footer
 * to the bottom so prices line up.
 */

/* --- Slick carousel: "Discover Popular Properties" --- */
.slick-lancers .slick-track {
    display: flex;
    align-items: stretch;
}

.slick-lancers .slick-slide {
    height: auto;
}

.slick-lancers .agents-grid > div {
    height: 100%;
}

/* --- Bootstrap grids: Featured Properties and the public listing --- */
.property-grid {
    align-items: stretch;
}

.property-grid > .item {
    display: flex;
}

.property-grid > .item > .project-single {
    width: 100%;
}

/* --- Shared card internals ---
 * Scoped away from .full-l: that Featured Properties variant lays the card out
 * horizontally (image left, details right) and must keep its row direction.
 */
.slick-lancers .project-single,
.portfolio:not(.full-l) .property-grid .project-single {
    display: flex;
    flex-direction: column;
}

/* The slide is not a flex container, so the card needs an explicit height.
   Grid items stretch on their own, where height: 100% would break stretching. */
.slick-lancers .project-single {
    height: 100%;
}

.slick-lancers .homes-content,
.portfolio:not(.full-l) .property-grid .homes-content {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

/* Push the price row to the bottom of whatever space is left. */
.slick-lancers .homes-content .price-properties,
.portfolio:not(.full-l) .property-grid .homes-content .price-properties {
    margin-top: auto;
}


/* --- Buttons ---
 * .btn-yellow is pinned to width:170px / height:50px with overflow:hidden (sized
 * for the hero's "Search Now"), so any longer label is silently cut off. Add
 * .btn-auto alongside it to let the button size to its own label.
 */
.btn-yellow {
    white-space: nowrap;
}

.btn.btn-yellow.btn-auto {
    padding: 0 34px;
    width: auto;
}


/* --- Newsletter form ---
 * The theme leaves these feedback lines at the default dark text colour, which
 * is unreadable on the dark footer.
 */
.first-footer .bloq-email .subscription-success {
    color: #4ade80;
    font-size: 14px;
    margin: 12px 0 0;
}

.first-footer .bloq-email .subscription-error,
.first-footer .bloq-email label.error {
    color: #ff8a9b;
    display: block;
    font-size: 14px;
    margin: 0 0 8px;
}


/* --- Home "Why Choose Us" ---
 * The theme hand-tuned this strip for exactly four cards with per-index spacing
 * classes. It now renders whatever the admin has, three across, equal height.
 */
.how-it-works .why-choose-grid > .serv {
    display: flex;
    margin-bottom: 30px;
}

.how-it-works .why-choose-grid > .serv .serv-flex {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.how-it-works .why-choose-grid > .serv .service-text-p {
    margin-top: auto;
}

.how-it-works .why-choose-grid .art-1 img {
    height: 60px;
    margin-bottom: 14px;
    width: auto;
}
