/* Module Custom Styles */ /* ── Blackboard Card Grid ── */ .bb-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 1.5rem; } .bb-card { display: flex; flex-direction: column; border: 1px solid #dee2e6; border-radius: 0.75rem; overflow: hidden; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); transition: box-shadow 0.2s ease, transform 0.2s ease; } .bb-card:hover { box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12); transform: translateY(-2px); } .bb-card-img { width: 100%; height: 200px; object-fit: cover; } .bb-card-img-placeholder { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%); color: #adb5bd; font-size: 2.5rem; } .bb-card-body { padding: 1.25rem; flex: 1 1 auto; } .bb-card-body h5 { margin: 0 0 0.5rem; font-size: 1.15rem; font-weight: 600; color: #212529; } .bb-card-desc { font-size: 0.9rem; color: #495057; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; line-height: 1.5; } .bb-card-meta { padding: 0 1.25rem 0.75rem; font-size: 0.8rem; color: #6c757d; } .bb-card-footer { display: flex; gap: 0.5rem; padding: 0.75rem 1.25rem; border-top: 1px solid #e9ecef; background: #f8f9fa; }