.card{background:var(--color-bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all var(--transition-base);color:inherit;flex-direction:column;text-decoration:none;display:flex;position:relative;overflow:hidden}.card:hover{box-shadow:var(--shadow-card-hover);text-decoration:none;transform:translateY(-4px)}.card:after{content:"";border-radius:var(--radius-xl);border:1px solid var(--color-border-light);pointer-events:none;transition:border-color var(--transition-fast);position:absolute;inset:0}.card:hover:after{border-color:var(--primary-200)}.card__image-wrapper{background:linear-gradient(135deg,var(--gray-100),var(--gray-200));width:100%;padding-top:56.25%;position:relative;overflow:hidden}.card__image{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow);position:absolute;top:0;left:0}.card:hover .card__image{transform:scale(1.05)}.card--featured .card__image-wrapper:after{content:"";background:linear-gradient(#0000 50%,#0009 100%);position:absolute;inset:0}.card--featured .card__featured-badge{top:var(--space-3);left:var(--space-3);padding:var(--space-1)var(--space-3);background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;font-size:var(--text-xs);font-weight:var(--font-bold);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;position:absolute;box-shadow:0 2px 4px #f59e0b4d}.card__content{padding:var(--space-4);gap:var(--space-2);flex-direction:column;flex:1;display:flex}.card__badge{padding:var(--space-1)var(--space-3);background:var(--primary-50);color:var(--primary-700);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);width:fit-content;transition:background var(--transition-fast);align-items:center;display:inline-flex}.card:hover .card__badge{background:var(--primary-100)}.card__badge--accent{background:var(--accent-100);color:var(--accent-600)}.card__badge--success{color:var(--success);background:#10b9811a}.card__title{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--gray-900);line-height:var(--leading-snug);-webkit-line-clamp:2;transition:color var(--transition-fast);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.card:hover .card__title{color:var(--primary-600)}.card__description{font-size:var(--text-sm);color:var(--gray-500);-webkit-line-clamp:2;line-height:var(--leading-relaxed);-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.card__meta{align-items:center;gap:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-light);font-size:var(--text-xs);color:var(--gray-400);margin-top:auto;display:flex}.card__meta-item{align-items:center;gap:var(--space-1);display:flex}.card__meta-icon{width:14px;height:14px}.card-grid{gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}@media (min-width:640px){.card-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.card-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.card-grid{grid-template-columns:repeat(4,1fr)}}.card--compact .card__content{padding:var(--space-3)}.card--compact .card__title{font-size:var(--text-base)}.card--horizontal{flex-direction:row}.card--horizontal .card__image-wrapper{flex:0 0 120px;height:100px;padding-top:0}.card--horizontal .card__content{padding:var(--space-3)}.card--horizontal .card__title{font-size:var(--text-base);-webkit-line-clamp:1}.card--horizontal .card__description{-webkit-line-clamp:1}
