/* One presentation shared by custom listings, homepage and native Estatik cards. */
.ng-featured-properties__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
body .ng-property-search__grid,body .ng-featured-properties__grid{gap:var(--ng-space-4) 32px;align-items:stretch}
.ng-card[data-ng-card]{font-family:var(--ng-font-body)}
.ng-card[data-ng-card]{--ngc-ink:var(--ng-ink);--ngc-muted:var(--ng-muted);box-sizing:border-box;display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden;background:var(--ng-paper);border:1px solid var(--ng-line);border-radius:var(--ngds-radius);box-shadow:none;color:var(--ngc-ink)}
.ng-card[data-ng-card] .ng-card__media{position:relative;flex-shrink:0}
.ng-card[data-ng-card] .ng-card__photo{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--ng-soft)}
.ng-card[data-ng-card] .ng-card__image{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.ng-card[data-ng-card] .ng-card__placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--ngc-muted);font-size:14px}
.ng-card[data-ng-card] .ng-card__badges{position:absolute;top:16px;left:16px;right:16px;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;pointer-events:none}
.ng-card[data-ng-card] .ng-card__badges a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;background:var(--ng-surface);color:var(--ngc-ink);font-size:10px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;pointer-events:auto;border-radius:2px}
.ng-card[data-ng-card] .ng-card__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:28px 28px 0}
.ng-card[data-ng-card] .ng-card__type{margin:0 0 12px;color:var(--ng-accent);font-size:10px;line-height:1.5;font-weight:600;text-transform:uppercase;letter-spacing:.15em}
.ng-card[data-ng-card] .ng-card__price{margin:0 0 15px;font-family:inherit;color:var(--ngc-ink);font-size:31px;line-height:1.2;letter-spacing:-.035em;font-weight:500;min-height:33px}
.ng-card[data-ng-card] .ng-card__price-note{display:block;font-size:12px;letter-spacing:0;font-weight:400;line-height:1.6;margin-top:4px}
.ng-card[data-ng-card] .ng-card__title{margin:0 0 12px;min-height:3.6em;font-family:var(--ng-font-display);font-size:25px;font-weight:400;line-height:1.2;letter-spacing:-.025em;overflow-wrap:anywhere}
.ng-card[data-ng-card] .ng-card__title a{color:var(--ngc-ink);text-decoration:none}
.ng-card[data-ng-card] .ng-card__location{margin:0 0 23px;min-height:1.5em;font-size:13px;line-height:1.5;color:var(--ngc-muted)}
.ng-card[data-ng-card] .ng-card__facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:13px 10px;min-height:65px;margin:auto 0 24px;padding:0;list-style:none;border:0}
.ng-card[data-ng-card] .ng-card__facts li{display:flex;align-items:flex-start;gap:7px;min-width:0;font-size:12px;line-height:1.5;font-weight:400;color:var(--ngc-ink)}
.ng-card[data-ng-card] .ng-card__facts svg{flex-shrink:0;color:var(--ng-muted)}
.ng-card[data-ng-card] .ng-card__cta{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:60px;margin:0;border-top:1px solid var(--ng-line);color:var(--ngc-ink);font-size:13px;font-weight:500;text-decoration:none;transition:color .18s ease}
.ng-card[data-ng-card] .ng-card__cta span{color:var(--ng-accent);font-size:21px;transition:transform .18s ease}
.ng-card[data-ng-card] :is(a,button):focus-visible{outline:2px solid var(--ng-accent)!important;outline-offset:3px!important}
.ng-card[data-ng-card] .ng-card__photo:focus-visible{outline-offset:-5px}
/* Estatik keeps its image carousel, badges, favorites and comparison handlers. */
body .es-listings .ng-card[data-ng-card].ng-card--native{display:flex!important;flex-direction:column!important;height:100%;margin:0!important;border:1px solid var(--ng-line)!important;border-radius:var(--ngds-radius)!important;box-shadow:none!important;transform:none!important}
.ng-card--native .es-listing__image{width:100%!important;max-width:none!important;flex:none!important;height:auto!important;min-height:0!important;padding:0!important;aspect-ratio:4/3;overflow:hidden;border-radius:0!important}
.ng-card--native .es-property__control.es-listing--hide-on-list{display:block!important}
.ng-card--native .es-property__control .es-btn{min-width:44px;min-height:44px}
.ng-card--native .es-listing__image__background{height:100%!important;min-height:0!important;background-size:cover;background-position:center}
.ng-card--native .es-listing__image__slider img{aspect-ratio:4/3;object-fit:cover;width:100%}
.ng-card--native .es-listing__content{display:flex!important;flex-direction:column!important;flex:1!important;width:100%!important;padding:0!important;background:none!important}
.ng-card--native .ng-card__price .es-price{font-family:inherit!important;font-size:31px!important;line-height:1.2!important;font-weight:500!important;color:var(--ng-ink)!important;margin:0!important;letter-spacing:-.035em}
.ng-card--native .ng-card__native-terms{padding:0 25px 16px;font-size:11px;color:var(--ng-muted)}
.ng-card--native .ng-card__native-terms .es-listing__terms{margin:0!important}
.ng-card--native .ng-card__native-terms a{font-size:11px!important;color:var(--ng-muted)!important}
.ng-card--native .es-badges{margin:14px!important}
.ng-card--native .es-badges .es-badge{background:var(--ng-surface)!important;border-radius:2px!important;box-shadow:none!important}
.ng-card--native .es-badges .es-badge a{display:inline-flex;min-height:44px;align-items:center;font-size:10px!important;font-weight:600!important;color:var(--ng-ink)!important;letter-spacing:.07em}
@media(hover:hover) and (pointer:fine){.ng-card[data-ng-card]:hover .ng-card__image{transform:scale(1.025)}.ng-card[data-ng-card] .ng-card__cta:hover{color:var(--ng-accent)}.ng-card[data-ng-card] .ng-card__cta:hover span{transform:translate(2px,-2px)}}
@media(min-width:981px){
 body .es-listings--list .ng-card[data-ng-card].ng-card--native{flex-direction:row!important}
 .es-listings--list .ng-card--native .es-listing__image{width:40%!important;min-height:340px!important;aspect-ratio:auto}
 .es-listings--list .ng-card--native .es-listing__image__background{height:100%!important;aspect-ratio:auto}
 .es-listings--list .ng-card__title,.es-listings--list .ng-card__location{min-height:0}
 .es-listings--list .ng-card__facts{min-height:0;margin-top:10px}
}
@media(max-width:980px){.ng-property-search__grid,.ng-featured-properties__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 20px}.ng-card[data-ng-card] .ng-card__body{padding:22px 20px 0}}
@media(max-width:640px){.ng-property-search__grid,.ng-featured-properties__grid{grid-template-columns:1fr;gap:26px}.ng-card[data-ng-card] .ng-card__title{min-height:0;font-size:25px}.ng-card[data-ng-card] .ng-card__location{min-height:0}.ng-card[data-ng-card] .ng-card__facts{margin-top:0}.ng-card[data-ng-card] .ng-card__price{font-size:28px}}
@media(prefers-reduced-motion:reduce){.ng-card[data-ng-card] *{transition:none!important;animation:none!important}}
