/* KDVito unified listing cards v5 */
.cards .card,.listing-grid .listing-card,#listings .cards .item{position:relative!important;display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden;border:1px solid var(--kd-border,#e5eaf2);border-radius:16px;background:var(--kd-surface,#fff)}
.cards .card .card-main,.listing-grid .listing-card .listing-card-main,#listings .cards .item .item-main{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;color:inherit;text-decoration:none}
.cards .card .visual,.listing-grid .listing-photo,#listings .cards .item .photo{position:relative;display:grid;place-items:center;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:4/3;flex:none;overflow:hidden;background:var(--kd-surface-soft,#dceaff);font-size:52px}
.cards .card .visual img,.listing-grid .listing-photo img,#listings .cards .item .photo img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cards .card .card-body,.listing-grid .listing-body,#listings .cards .item .itembody{display:flex;flex:1;flex-direction:column;min-width:0;padding:15px!important;gap:7px}
.cards .card .price,.listing-grid .listing-price,#listings .cards .item .price{order:0;font-size:19px!important;line-height:1.3;font-weight:800;margin:0!important;min-height:25px;overflow-wrap:anywhere}
.cards .card .card-name,.listing-grid .listing-name,#listings .cards .item .itemtitle{order:1;font-size:14px!important;font-weight:550;line-height:1.4;margin:0!important;min-height:40px;max-height:40px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cards .card .place,.listing-grid .listing-meta,#listings .cards .item .small{order:2;margin-top:auto!important;font-size:12px!important;line-height:1.4;color:var(--kd-text-muted,#718198)!important;min-height:18px}
.cards .card .fav-button,.listing-grid .listing-card .fav-button,#listings .cards .item .fav-button{position:absolute!important;top:0!important;right:0!important;left:auto!important;bottom:auto!important;z-index:8!important;width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:0 0 0 20px!important;background:var(--kd-surface,#fff)!important;box-shadow:none!important;margin:0!important;padding:0 0 3px 3px!important;transform:none!important;color:var(--kd-text-muted,#718198)!important;line-height:1!important;cursor:pointer}
.cards .card .fav-button:before,.listing-grid .listing-card .fav-button:before,#listings .cards .item .fav-button:before{content:'';position:absolute;right:100%;top:0;width:15px;height:15px;background:radial-gradient(circle at 0 100%,transparent 15px,var(--kd-surface,#fff) 15.5px)}
.cards .card .fav-button:after,.listing-grid .listing-card .fav-button:after,#listings .cards .item .fav-button:after{content:'';position:absolute;top:100%;right:0;width:15px;height:15px;background:radial-gradient(circle at 0 100%,transparent 15px,var(--kd-surface,#fff) 15.5px)}
.cards .card .fav-button svg,.listing-grid .listing-card .fav-button svg,#listings .cards .item .fav-button svg{width:22px!important;height:22px!important;display:block!important;flex:none;fill:none;stroke:var(--kd-text-muted,#60738f);stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.cards .card .fav-button[aria-pressed="true"] svg,.listing-grid .listing-card .fav-button[aria-pressed="true"] svg,#listings .cards .item .fav-button[aria-pressed="true"] svg{fill:var(--kd-danger-text,#ec4161);stroke:var(--kd-danger-text,#ec4161)}
.cards .card .fav-button:hover svg,.listing-grid .listing-card .fav-button:hover svg,#listings .cards .item .fav-button:hover svg{stroke:var(--kd-danger-text,#ec4161)}
.cards .card .promo-vip,.listing-grid .promo-vip-label{position:absolute;top:12px;left:12px;z-index:6;display:inline-flex;align-items:center;max-width:calc(100% - 75px);padding:7px 10px!important;background:var(--kd-brand);color:#fff;font-size:11px;font-weight:800;border-radius:9px!important;white-space:nowrap}
@media(max-width:600px){.cards .card .card-body,.listing-grid .listing-body,#listings .cards .item .itembody{padding:11px!important}.cards .card .fav-button,.listing-grid .listing-card .fav-button,#listings .cards .item .fav-button{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important}.cards .card .price,.listing-grid .listing-price,#listings .cards .item .price{font-size:16px!important}}
