/* ==========================================================================
   Immobiliare - Elenco Immobili (Elementor Widget)
   ========================================================================== */

.property-card-thumb {
    position: relative;
    overflow: hidden;
    /*border-radius: 8px;*/
}

.property-card-thumb img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform .4s ease, filter .4s ease;
}

.property-card-thumb.img-shine:hover img {
    transform: scale(1.04);
}

/* Badge generico */
.pl-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    color: #fff;
    padding: 8px 14px;
    border-radius: 30px;
    font-size: 12px;
    font-weight: 700;
    z-index: 2;
    letter-spacing: .5px;
}

/* Variante "in vendita / in affitto" (oro) */
.pl-badge--price {
    background: var(--pl-price-badge-color, #c59d5f);
}

/* Variante "venduto" (verde) */
.pl-badge--sold {
    background: var(--pl-sold-badge-color, #198754);
    text-transform: uppercase;
}

/* Immagine leggermente desaturata per gli immobili venduti */
.property-card-thumb.is-sold img {
    filter: grayscale(15%);
}

.property-card-details {
    padding-top: 15px;
}

.property-card-title {
    margin: 0 0 6px;
}

.property-card-title a,
.property-card-title span {
    color: inherit;
    text-decoration: none;
}

.property-card-title a:hover {
    text-decoration: underline;
}

.property-card-location {
    margin: 0;
	margin-bottom: 4px !important;
    opacity: .8;
}

.property-card-location i {
    margin-right: 8px;
}

.pl-row {
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--pl-gap, 24px) / -2);
    margin-right: calc(var(--pl-gap, 24px) / -2);
    row-gap: var(--pl-gap, 24px);
}

.pl-row .pl-col {
    padding-left: calc(var(--pl-gap, 24px) / 2);
    padding-right: calc(var(--pl-gap, 24px) / 2);
    box-sizing: border-box;
}

/* Colonne responsive: 1 su mobile, 2 su tablet, N su desktop (N impostato via inline style) */
.pl-col {
    flex: 0 0 100%;
    max-width: 100%;
}

@media (min-width: 768px) {
    .pl-col {
        flex: 0 0 50%;
        max-width: 50%;
    }
}

@media (min-width: 1200px) {
    .pl-row[data-cols="2"] .pl-col { flex: 0 0 50%; max-width: 50%; }
    .pl-row[data-cols="3"] .pl-col { flex: 0 0 33.3333%; max-width: 33.3333%; }
    .pl-row[data-cols="4"] .pl-col { flex: 0 0 25%; max-width: 25%; }
}

.property-card3.style-border {
    height: 100%;
}
