.kg-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06);display:flex;flex-direction:column;transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease, background-color .25s ease; /* remove max-width/margin to let grid control sizing */ width:100%; box-sizing:border-box; align-self:stretch;}
.kg-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(16,40,20,0.15);border-color: var(--green-900);}
.kg-card:focus-within{outline: 3px solid rgba(36,93,42,0.12);outline-offset: 4px;}
.kg-card__media{position:relative;display:block}
.kg-card__media .card-image{width:100%;height:240px;object-fit:cover;display:block}
.kg-badge{position:absolute;left:12px;top:12px;background:#17a34a;color:#fff;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600}
.kg-badge.status-zarezerwowana{background:#F59E0B}
.kg-badge.status-sprzedana{background:#EF4444}
.kg-card__body{padding:16px;flex:1 1 auto;display:flex;flex-direction:column}
.kg-card__title{font-size:20px;line-height:1.25;margin:0 0 8px}
.kg-card__title a{color:#111;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}
.kg-card__title a:hover{text-decoration:underline}
.kg-card__title.expanded a{-webkit-line-clamp:unset;display:block}
.kg-card__type{display:flex;align-items:center;gap:8px;color:#374151;margin-bottom:6px}
.kg-card__meta{display:flex;gap:14px;flex-wrap:wrap;color:#4B5563;margin-bottom:10px}
.kg-card__meta .meta-item{display:flex;gap:6px;align-items:center}
.kg-card__price .price-line{display:flex;gap:10px;align-items:baseline;margin-bottom:4px}
.kg-card__price .old{text-decoration:line-through;color:#6B7280}
.kg-card__price .now{font-weight:800;font-size:20px}
.kg-card__price .sqm{color:#6B7280}
.kg-card__actions{display:flex;gap:10px;align-items:center;margin-top:auto}
.kg-card__actions .btn-primary:hover{ transform:translateY(-2px); }
.btn{display:inline-flex;gap:8px;align-items:center;padding:10px 16px;border-radius:10px;font-weight:700;text-decoration:none;cursor:pointer}
.btn-primary{background:#265F33;color:#fff}
.btn-primary:hover{background:#1f4f2a}
.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;transition:all .18s ease;cursor:pointer;}
.btn-icon:hover{ transform:translateY(-2px); box-shadow:0 6px 16px rgba(16,40,20,0.06); }
.btn-icon.active,
.btn-icon[aria-pressed="true"]{background:var(--green-900);border-color:var(--green-900);}
.btn-icon.active img,
.btn-icon[aria-pressed="true"] img{filter: brightness(0) invert(1);}
.kg-card-toast{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;background:rgba(0,0,0,0.8);color:#fff;padding:8px 12px;border-radius:8px;font-size:13px;z-index:1200;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;}
.kg-card-toast.show{ opacity:1; transform:translateX(-50%) translateY(0); pointer-events:auto; }

/* Enhanced styling for action icons (pdf/share/fav) inside property cards */
.kg-card__actions .btn-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;transition:transform .18s ease,box-shadow .18s ease,background .18s;border-radius:10px;padding:0;cursor:pointer}
.kg-card__actions .btn-icon img{width:20px;height:20px;display:block;object-fit:contain}

/* Specific variants by data-action */
.kg-card__actions .btn-icon[data-action="share"]{border-color:#60a5fa;background:linear-gradient(180deg,#ffffff,#f0f8ff)}
.kg-card__actions .btn-icon[data-action="print"]{border-color:#ef4444;background:linear-gradient(180deg,#ffffff,#fff5f5)}
.kg-card__actions .btn-icon[data-action="fav"]{border-color:#10b981;background:linear-gradient(180deg,#ffffff,#f0fff6)}

/* Hover/focus effects */
.kg-card__actions .btn-icon:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(16,40,20,0.08)}
.kg-card__actions .btn-icon:focus-visible{outline:3px solid rgba(36,93,42,0.12);outline-offset:4px}

/* Stronger accent when active/pressed */
.kg-card__actions .btn-icon.active,
.kg-card__actions .btn-icon[aria-pressed="true"]{
  color:#fff;border-color:transparent;box-shadow:0 8px 20px rgba(0,0,0,0.12);
}
.kg-card__actions .btn-icon[aria-pressed="true"][data-action="share"],
.kg-card__actions .btn-icon.active[data-action="share"]{background:#2563eb}
.kg-card__actions .btn-icon[aria-pressed="true"][data-action="print"],
.kg-card__actions .btn-icon.active[data-action="print"]{background:#dc2626}
.kg-card__actions .btn-icon[aria-pressed="true"][data-action="fav"],
.kg-card__actions .btn-icon.active[data-action="fav"]{background:#059669}

/* Make svg icons invert to white when button is active */
.kg-card__actions .btn-icon.active img,
.kg-card__actions .btn-icon[aria-pressed="true"] img{filter:brightness(0) invert(1)}

/* Small responsive tweak: reduce size on very narrow */
@media (max-width:420px){ .kg-card__actions .btn-icon{width:40px;height:40px} .kg-card__actions .btn-icon img{width:18px;height:18px} }

@media (max-width:1100px){ .kg-card{max-width:520px} }
@media (max-width:800px){ .kg-card{margin:12px auto} .kg-card__body{padding:14px} .kg-card__media .card-image{height:200px} }

/* Expand toggle (small, subtle) */
.kg-card__toggle{margin-top:8px;background:transparent;border:none;color:var(--green-900);font-weight:700;cursor:pointer;padding:0;font-size:13px}
.kg-card__toggle:hover{text-decoration:underline}

/* Accessibility focus */
.kg-card__toggle:focus{outline:3px solid rgba(36,93,42,0.12);outline-offset:3px}

/* If you prefer excerpt truncation, same approach can be used on .kg-card__excerpt */