/* Canonical Knights Park property card. Shared by Find a Home and development listings. */
.kp-property-card { position: relative; display: flex; flex-direction: column; min-width: 0; background: var(--kp-white); border: 1px solid var(--line); cursor: pointer; transition: border-color var(--kp-duration-micro) ease, transform var(--kp-duration-micro) ease; }
.kp-property-card:hover, .kp-property-card:focus-within, .kp-property-card.is-active { border-color: var(--kp-black); transform: translateY(-2px); }
.kp-property-card__image { position: relative; height: clamp(180px, 16vw, 250px); overflow: hidden; }
.kp-property-card__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.kp-property-card:hover .kp-property-card__image img { transform: scale(1.035); }
.kp-property-card__body { flex: 1; display: flex; flex-direction: column; padding: 22px; }
.kp-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.kp-property-card__head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 14px; margin-bottom: 16px; }
.kp-property-card__phase { display: flex; align-items: center; gap: 12px; margin: 0; font-size: .85rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.kp-property-card__phase img { display: block; width: auto; height: 34px; }
.kp-property-card__status { display: flex; align-items: center; gap: 9px; font-size: .78rem; white-space: nowrap; }
.kp-property-card__status::before { content: ""; flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--kp-fusion); }
.kp-property-card[data-development="The Icon"] .kp-property-card__phase img { height: 30px; filter: brightness(0); }
.kp-property-card[data-development="The Icon"] .kp-property-card__body { background-color: var(--kp-rose); background-image: url("../images/the-icon-quote-bq.jpg"); background-position: center; background-size: cover; }
.kp-property-card h3 { margin: 0 0 17px; font: 400 clamp(1.45rem, 2vw, 2rem)/1.05 "Playfair Display", serif; }
.kp-property-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; margin: 0 0 24px; color: rgb(22 22 21 / 66%); font-size: .72rem; }
.kp-property-card__meta span[data-meta] { display: inline-flex; align-items: center; gap: 7px; }
.kp-property-card__meta span[data-meta="beds"]::before, .kp-property-card__meta span[data-meta="baths"]::before, .kp-property-card__meta span[data-meta="floor"]::before { content: ""; flex: none; background-repeat: no-repeat; background-position: center; background-size: contain; opacity: .66; }
.kp-property-card__meta span[data-meta="beds"]::before { width: 20px; height: 12px; background-image: url("../../find-a-home/images/beds.svg"); }
.kp-property-card__meta span[data-meta="baths"]::before { width: 14px; height: 14px; background-image: url("../../find-a-home/images/iconoir_bathroom.svg"); }
.kp-property-card__meta span[data-meta="floor"]::before { width: 13px; height: 13px; background-image: url("../../find-a-home/images/floor.svg"); }
.kp-property-card__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px dotted rgb(22 22 21 / 15%); }
.kp-property-card__price { font: 400 1.35rem/1 "Playfair Display", serif; }
.kp-property-card__cta { min-height: 44px; display: flex; align-items: center; padding: 0 18px; border: 1px solid currentColor; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; transition: background-color var(--kp-duration-micro) ease, color var(--kp-duration-micro) ease; }
.kp-property-card__cta:hover { background: var(--kp-black); color: var(--kp-white); }
.kp-property-card[data-development="The Icon"] .kp-property-card__cta:hover { background: var(--icon-brick-deep); border-color: var(--icon-brick-deep); }
.kp-property-card__cta:focus-visible { outline: 2px solid var(--kp-athena); outline-offset: 4px; }

@media (max-width: 800px) {
  .kp-property-card__image { height: 64vw; }
}
