/* Public listing promotion badges (Phase 2A) — cards + property detail */

.dl-promo-badges {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    justify-content: flex-end;
    max-width: 100%;
}

/* Stack with Houzez .labels-wrap in the card corner (badges render just before the partial). */
.grid-view .item-header .dl-promo-badges,
.list-view .item-header .dl-promo-badges {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 4;
    max-width: min(100% - 40px, 220px);
}

.grid-view .item-header .labels-wrap,
.list-view .item-header .labels-wrap {
    align-items: flex-end;
    flex-direction: column;
}

.item-header:has(.dl-promo-badges) .labels-wrap {
    padding-top: 0.15rem;
}

.property-labels-wrap {
    align-items: center;
    flex-wrap: wrap;
}

.property-title-wrap > .dl-promo-badges,
.mobile-property-title .dl-promo-badges {
    margin-bottom: 0.35rem;
}

.dl-promo-badge {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.2;
    padding: 0.18rem 0.55rem;
    text-decoration: none;
    white-space: nowrap;
}

/* Search result cards use .dl-promo-ribbon on the image (see public-search-results.css). */

.dl-promo-badge--featured {
    background: #fff8f2;
    border: 1px solid rgba(255, 121, 0, 0.45);
    color: #c05600;
}

.dl-promo-badge--hot-deal {
    background: #fef2f2;
    border: 1px solid rgba(220, 38, 38, 0.35);
    color: #b91c1c;
}

.dl-promo-badge--price-reduced {
    background: #ecfdf5;
    border: 1px solid rgba(5, 150, 105, 0.35);
    color: #047857;
}

.dl-promo-badge--premium {
    background: #eef2ff;
    border: 1px solid rgba(79, 70, 229, 0.35);
    color: #4338ca;
}

.dl-promo-badge--homepage-spotlight {
    background: #2b241f;
    border: 1px solid #2b241f;
    color: #fff;
}

@media (max-width: 767px) {
    .dl-promo-badge {
        font-size: 0.65rem;
        padding: 0.14rem 0.45rem;
    }
}
