.hk-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: stretch;
}

@media (max-width: 1024px) { .hk-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .hk-grid { grid-template-columns: 1fr; } }

.hk-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.hk-image {
    width: 100%;
    background-size: cover;
    background-position: center;
}

.hk-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.hk-badges {
    display: flex;
    flex-wrap: wrap;
}

.hk-badge {
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
}

.hk-badge-icon {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

.hk-badge-icon svg { width: 1em; height: 1em; fill: currentColor; }

.hk-desc { flex: 1; }

.hk-btn {
    display: block;
    text-decoration: none;
    transition: all 0.3s ease;
    text-align: center;
}

.hk-btn-inner {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}

/* Animações Hover */
.hk-btn-anim-lift:hover { transform: translateY(-4px); box-shadow: 0 8px 15px rgba(0,0,0,0.1); }
.hk-btn-anim-scale:hover { transform: scale(1.05); }

@keyframes hk-pulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.03); }
    100% { transform: scale(1); }
}
.hk-btn-anim-pulse:hover { animation: hk-pulse 0.6s infinite; }