.listing-search-item {
    position: relative;
    background-color: #FFFFFF;
    box-shadow:
        var(--boxShadow1),
        var(--boxShadow2);
    width: 100%;
    border-radius: var(--listingSearchItemBorderRadius, var(--borderRadius));
}

.listing-search-item__label {
    position: absolute;
    top: 1rem;
    left: 1rem;
    z-index: 1;
    font-size: 0;
}

.listing-search-item__depiction {
    position: relative;
    border-top-left-radius: var(--listingSearchItemBorderRadius, var(--borderRadius));
    border-top-right-radius: var(--listingSearchItemBorderRadius, var(--borderRadius));
    overflow: hidden;
}

.listing-search-item__content {
    padding: .5rem;
}

.listing-search-item__counter-tablet {
    display: none;
}

.listing-search-item__title {
    font-size: 1.125rem;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 0;
}

.listing-search-item__sub-title {
    color: var(--greyColor30);
}

.listing-search-item__parent-project {
    display: none;
}

.listing-search-item__price {
    font-size: 1.125rem;
    line-height: 1.5;
    color: var(--greyColor20);
    font-weight: bold;
    margin: 1rem .5rem .25rem 0;
}

.listing-search-item__price-alternative {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5;
    margin-left: 1rem;
}

.listing-search-item__price_indicator {
    display: inline-block;
    font-size: 1rem;
    line-height: 1.5;
    margin-left: 1rem;
}

.listing-search-item__price-transparency-badge {
    display: inline-block;
}

.listing-search-item__description {
    display: none;
}

.listing-search-item__info {
    color: var(--greyColor30);
    margin-top: .5rem;
}

.listing-search-item__favorite_toggle {
    position: absolute;
    top: 1rem;
    right: 1rem;
}

.listing-search-item__ribbon {
    position: absolute;
    width: 6rem;
    height: 6rem;
    overflow: hidden;
    bottom: 0;
    right: 0;
}

.listing-search-item__ribbon b {
    position: absolute;
    display: block;
    bottom: 0;
    left: 100%;
    width: 10rem;
    margin-left: -5rem;
    text-align: center;
    font-size: .75rem;
    line-height: 1;
    padding: .5rem 0;
    transform: rotate(-45deg);
    transform-origin: bottom center;
    translate: -1.5rem -1.5rem;
}

.listing-search-item__ribbon.listing-search-item__ribbon--exclusivity b {
    background-color: var(--purpleColor10);
    color: var(--purpleColor50);
}

.listing-search-item__ribbon.listing-search-item__ribbon--newly-built b {
    background-color: var(--greenColor10);
    color: var(--greenColor50);
}

.listing-search-item__ribbon.listing-search-item__ribbon--home-swap b {
    background-color: var(--primaryColor);
    color: #FFFFFF;
}

.listing-search-item__ribbon.listing-search-item__ribbon--home-swap b::after {
    content: '';
    display: inline-block;
    background: transparent url("/frontend/assets/Shared/Component/ListingSearchItem/Presentation/Images/Info-647a58575a.svg") no-repeat center;
    background-size: contain;
    border: none;
    cursor: pointer;
    width: 1rem;
    height: 1rem;
    vertical-align: middle;
}

.listing-search-item__ribbon.listing-search-item__ribbon--home-swap button {
    width: 100%;
    height: 100%;
    background: transparent none;
    border: none;
}

@media (min-width: 813px) {
    .listing-search-item__counter-mobile {
        display: none;
    }

    .listing-search-item__counter-tablet {
        display: block;
    }
}

@media (min-width: 1024px) {
    .listing-search-item__link.listing-search-item__link--title {
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        display: block;
    }

    .listing-search-item:has(.listing-search-item__favorite_toggle) .listing-search-item__title {
        margin-right: 4rem;
    }

    .listing-search-item__depiction {
        border-top-right-radius: 0;
        border-bottom-left-radius: var(--listingSearchItemBorderRadius, var(--borderRadius));
    }

    .listing-search-item__description {
        display: block;
        margin-top: 1.5rem;
        color: var(--greyColor30);
        margin-right: 1rem;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }

    .listing-search-item__favorite_toggle {
        position: absolute;
        top: .875rem; /* reposition it so the icon seems to be 16px from each edge but the hit box is the same */
        right: 1.5rem;
    }
}

.listing-search-item--featured {
    box-shadow: 0 4px 0 var(--greyColor40);
}

@media (min-width: 813px) {
    .listing-search-item--list {
        display: grid;
        grid-template-areas: 'depiction content';
        grid-template-columns: 22.5rem 1fr;
    }

    .listing-search-item--list .listing-search-item__depiction {
        grid-area: depiction;
    }

    .listing-search-item--list .listing-search-item__content {
        grid-area: content;
        padding: 1rem;
    }

    .listing-search-item--list .listing-search-item__info {
        margin-top: 0;
        position: absolute;
        bottom: 3.5rem;
        left: 24rem; /* depiction width + column gap */
    }
}

.listing-search-item--map {
    font-size: 1rem;
    line-height: 1.5;
    font-family: var(--fontFamily);
}

.listing-search-item--map .listing-search-item__info {
    display: none;
}

@media (max-height: 700px) and (orientation: landscape){
    .listing-search-item--map {
        display: grid;
        grid-template-areas: "depiction content";
        grid-template-columns: 12rem 1fr;
        padding: 0;
    }

    .listing-search-item--map .listing-search-item__depiction {
        grid-area: depiction;
        border-bottom-left-radius: var(--listingSearchItemBorderRadius, var(--borderRadius));
        border-top-right-radius: 0;
        margin: 0;
    }

    .listing-search-item--map .listing-search-item__content {
        grid-area: content;
        padding: .5rem;
    }

    .listing-search-item--map .listing-search-item__features {
        display: none;
    }
}

.listing-search-item--project .listing-search-item__promo {
    font-weight: bold;
    color: #FFFFFF;
    opacity: .7;
    padding: .5rem;
    text-align: center;
    background-color: var(--primaryColor);
    margin: -3rem -.5rem 0;
    display: block;
}

.listing-search-item--project .listing-search-item__parent-project {
    display: block;
    color: var(--greyColor30);
}

@media (min-width: 813px) {
    .listing-search-item--project .listing-search-item__promo {
        font-size: 1.25rem;
        line-height: 1.4;
        opacity: 1;
        text-align: right;
        border-radius: 3px;
        padding-left: 2.25rem;
        padding-right: 1.5rem;
        margin-left: 21.75rem; /* depiction width + column gap - padding left */
        position: absolute;
        bottom: 1rem;
    }
}

.listing-search-item--list.listing-search-item--multi-column {
    display: block;
    height: 100%;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__title {
    font-size: 1rem;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__link.listing-search-item__link--title {
    overflow: unset;
    text-overflow: unset;
    white-space: unset;
    text-decoration: none;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__title-street {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__title-glue {
    display: none;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__title-city {
    display: block;
    font-weight: normal;
    color: var(--greyColor30);
    font-size: .875rem;
    line-height: calc(20/14);
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__info {
    display: none;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__price {
    font-size: .75rem;
    line-height: 1.5;
    margin-top: .75rem;
    margin-bottom: .5rem;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__price--features {
    display: none;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__price--features--mobile {
    display: block;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__price-alternative {
    font-weight: normal;
    font-size: inherit;
    margin-left: 0;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__price-alternative::before  {
    content: '(';
    margin-right: -.25ch;
}

.listing-search-item--list.listing-search-item--multi-column .listing-search-item__price-alternative::after  {
    content: ')';
    margin-left: -.25ch;
}

@media (min-width: 813px) {
    .listing-search-item--list.listing-search-item--multi-column {
        display: grid;
        /* the minmax() is needed to make the grid not become to wide trying to accomodate wide content. Ergo, this makes the `text-overflow: ellipsis` on the title work */
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__title {
        font-size: 1.125rem;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__title span {
        display: inline;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__title-street {
        overflow: unset;
        text-overflow: unset;
        white-space: unset;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__title-city {
        font-size: unset;
        line-height: unset;
        color: unset;
        font-weight: unset;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__depiction {
        border-top-right-radius: 0;
        border-bottom-left-radius: var(--listingSearchItemBorderRadius, var(--borderRadius));
    }
}

@media (min-width: 1024px) {
    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__info {
        position: relative;
        left: 0;
        bottom: 0;
        margin-top: 1rem;
        display: block;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__price {
        font-size: 1.125rem;
        margin-top: .75rem;
        margin-bottom: .5rem;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__price--features {
        display: block;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__price--features--mobile {
        display: none;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__alternate-price {
        font-size: 1rem;
    }

    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__price-alternative::before,
    .listing-search-item--list.listing-search-item--multi-column .listing-search-item__price-alternative::after {
        display: none;
    }
}

.listing-search-item__depiction {
    overflow: revert;
}
