/**
 * Default Card Style (Boilerplate)
 */
.property-card--default.property-card {}
.property-card--default .property-card--image {}
.property-card--default .property-card--status {}

.property-card--default .property-card--box {}
.property-card--default .property-card--title {}

.property-card--default .property-card--subtype {}
.property-card--default .property-card--status-badge {}
.property-card--default .property-card--description {}
.property-card--default .property-card--image-count {}

.property-card--default .property-card--details {}
.property-card--default .property-card--details-left {}
.property-card--default .property-card--price {}
.property-card--default .property-card--price-term {}
.property-card--default .property-card--details-right {}
.property-card--default .property-card--bedrooms {}
.property-card--default .property-card--bathrooms {}
.property-card--default .property-card--ber {}

.property-card--title a::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}
.property-card--features,
.property-card--beds-baths {
    display: flex;
    gap: .5em;
}
.property-card--details-right {
    display: flex;
    justify-content: flex-end;
    gap: .25em;
}



/**
 * Card Style #1: Foundry
 */
.property-card--foundry .property-card--box {
    display: flex;
    flex-direction: column;
    padding: 24px;
}
.property-card--foundry .property-card--title {
    font-size: 18px;
}
.property-card--foundry .property-card--title a {
    font-family: var(--heading_font);
    font-weight: 700;
    color: #000000;
    text-decoration: none;
}
.property-card--foundry .property-card--subtype {
    font-size: 12px;
    text-transform: uppercase;
    color: var(--primarycolor);
}
.property-card--foundry .property-card--status-badge span {
    display: inline-block;
    padding: 8px 16px;
    font-weight: 400;
    font-size: 13px;
    color: #fff;
    background-color: var(--primarycolor);
    border-radius: 48px;
    line-height: 1;
}

.property-card--foundry .property-card--details {
    display: flex;
    align-items: center;
    padding-top: 16px;
    margin-top: auto;
    font-weight: 700;
    line-height: 1.25;
}
.property-card--foundry .property-card--price {
    font-family: var(--heading_font);
    font-size: 24px;
}
.property-card--foundry .property-card--price-term {
    font-weight: 400;
}
.property-card--foundry .property-card--features {
    left: auto;
    right: 16px;
}



/**
 * Card Style #2: Tokyo
 */
.property-card--tokyo .property-card--box {
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 24px;
}
.property-card--tokyo .property-card--title {
    font-size: 18px;
    padding-bottom: 24px;
}
.property-card--tokyo .property-card--title a {
    font-family: var(--heading_font);
    font-weight: 700;
    color: #000000;
    text-decoration: none;
}
.property-card--tokyo .property-card--subtype {
    display: none;
}
.property-card--tokyo .property-card--status-badge span {
    display: inline-block;
    padding: 8px 16px;
    font-weight: 400;
    font-size: 13px;
    color: #fff;
    background-color: var(--primarycolor);
    border-radius: 48px;
    line-height: 1;
}

.property-card--tokyo .property-card--features {
    left: auto;
    right: 16px;
}

.property-card--tokyo .property-card--details {
    display: flex;
    align-items: center;
    padding: 16px 24px 16px 24px;
    font-weight: 700;
    line-height: 1.25;
    background-color: rgb(0 0 0 / 5%);
    margin: auto -24px -24px -24px;
}
.property-card--tokyo .property-card--details-left {
    white-space: nowrap;
}

.property-card--tokyo .property-card--price {
    font-family: var(--heading_font);
    font-size: 24px;
}
.property-card--tokyo .property-card--price-term {
    font-weight: 400;
}
.property-card--tokyo .property-card--beds-baths {
    position: absolute;
    bottom: 32px;
    left: 8px;
    background-color: rgb(0 0 0 / 50%);
    padding: 4px 12px;
    border-radius: 48px;
    color: #ffffff;
}
