// Comments Card styles .comments-card { background-color: var(--bs-card-bg); border: 1px solid var(--bs-card-border); border-radius: 0.5rem; padding: 1rem; margin-bottom: 1rem; } .comments-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 1px solid var(--bs-card-border); h4 { margin: 0; color: var(--bs-body-color); font-weight: 600; font-size: 1.1rem; } .comment-count { color: var(--bs-navbar-color); font-size: 0.9rem; font-weight: normal; } } .comments-list { max-height: 300px; overflow-y: auto; margin-bottom: 1rem; } .comment-item { padding: 0.75rem; border-radius: 0.375rem; background-color: var(--bs-feature-bg); margin-bottom: 0.75rem; border: 1px solid var(--bs-card-border); &:last-child { margin-bottom: 0; } } .comment-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.5rem; } .comment-author { display: flex; align-items: center; gap: 0.5rem; } .author-avatar { width: 1.75rem; height: 1.75rem; border-radius: 50%; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); display: flex; align-items: center; justify-content: center; color: white; font-size: 0.7rem; font-weight: 600; } .author-name { font-weight: 500; color: var(--bs-body-color); font-size: 0.875rem; } .comment-meta { display: flex; align-items: center; gap: 0.5rem; } .comment-date { color: var(--bs-navbar-color); font-size: 0.75rem; } .btn-delete-comment { background: none; border: none; color: var(--bs-navbar-color); cursor: pointer; padding: 0.25rem; border-radius: 0.25rem; transition: all 0.2s ease; &:hover { background-color: rgba(var(--bs-danger-rgb), 0.1); color: var(--bs-danger); } i { font-size: 0.75rem; } } .comment-content { color: var(--bs-body-color); font-size: 0.875rem; line-height: 1.4; margin: 0; } .add-comment { border-top: 1px solid var(--bs-card-border); padding-top: 1rem; textarea { width: 100%; padding: 0.75rem; border: 1px solid var(--bs-card-border); border-radius: 0.375rem; background-color: var(--bs-body-bg); color: var(--bs-body-color); font-size: 0.875rem; resize: vertical; min-height: 80px; margin-bottom: 0.5rem; &:focus { outline: none; border-color: var(--bs-primary); box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25); } &::placeholder { color: var(--bs-navbar-color); } } .btn { padding: 0.5rem 1rem; border-radius: 0.375rem; font-weight: 500; font-size: 0.875rem; &:disabled { opacity: 0.6; cursor: not-allowed; } } } // Dense comments display for cards .card-comments-dense { margin-top: 0.5rem; padding-top: 0.5rem; border-top: 1px solid var(--bs-card-border); } .comments-preview { display: flex; align-items: center; gap: 0.5rem; color: var(--bs-navbar-color); font-size: 0.75rem; cursor: pointer; transition: color 0.2s ease; &:hover { color: var(--bs-primary); } i { font-size: 0.875rem; } } .recent-comments { margin-top: 0.25rem; .recent-comment { background-color: var(--bs-feature-bg); border-radius: 0.25rem; padding: 0.25rem 0.5rem; margin-bottom: 0.25rem; font-size: 0.7rem; line-height: 1.3; &:last-child { margin-bottom: 0; } .comment-author-small { font-weight: 500; color: var(--bs-body-color); } .comment-text-small { color: var(--bs-navbar-color); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } } } // Comments Modal specific styles .comments-modal { .modal-content { max-width: 600px; } .comments-list { max-height: 400px; } .comment-item { margin-bottom: 1rem; padding: 1rem; } .comment-content { font-size: 0.9rem; line-height: 1.5; } } // Responsive adjustments @media (max-width: 576px) { .comment-header { flex-direction: column; align-items: flex-start; gap: 0.25rem; } .comment-meta { align-self: flex-end; } .add-comment textarea { min-height: 60px; } }