.comments-section{margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid var(--border);max-width:var(--content-width)}.comments-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-6)}.comments-title{font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-secondary)}.comments-count{font-size:var(--text-sm);color:var(--text-muted)}.comment-form-container{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-8);box-shadow:var(--shadow-sm)}.comment-form{display:flex;gap:var(--space-4)}.comment-form-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:1px solid var(--border);flex-shrink:0}.comment-form-fields{flex-grow:1;display:flex;flex-direction:column;gap:var(--space-3)}.comment-textarea{width:100%;border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-3);font-size:var(--text-base);color:var(--text);background:var(--bg-alt);resize:vertical;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.comment-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.comment-form-actions{display:flex;justify-content:space-between;align-items:center}.comment-char-counter{font-size:var(--text-xs);color:var(--text-light)}.comment-char-counter.warning{color:var(--error);font-weight:var(--weight-semibold)}.guest-prompt-card{display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center;background:var(--bg-alt);border:1px dashed var(--border);border-radius:var(--radius-lg);padding:var(--space-6)}@media(min-width:640px){.guest-prompt-card{flex-direction:row;justify-content:space-between;text-align:left;padding:var(--space-5) var(--space-6)}}.guest-prompt-content h4{font-size:var(--text-base);font-weight:var(--weight-bold);color:var(--color-secondary);margin-bottom:var(--space-1)}.guest-prompt-content p{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:0;line-height:1.5}.guest-prompt-card .btn{flex-shrink:0}.comments-list{display:flex;flex-direction:column;gap:var(--space-5)}.comment-card{display:flex;gap:var(--space-4);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.comment-card:last-child{border-bottom:none;padding-bottom:0}.comment-avatar{width:40px;height:40px;border-radius:var(--radius-full);object-fit:cover;border:1px solid var(--border);flex-shrink:0}.comment-body{flex-grow:1;min-width:0}.comment-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.comment-author-info{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2);font-size:var(--text-sm)}.comment-author-name{font-weight:var(--weight-bold);color:var(--color-secondary)}.comment-author-link{font-weight:var(--weight-bold);color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}.comment-author-link:hover{color:var(--color-primary-hover);text-decoration:underline}.role-badge{font-size:10px;padding:1px 6px;border-radius:var(--radius-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.5px}.role-badge.admin{background:var(--color-accent-light);color:var(--color-accent-hover);border:1px solid rgba(13,148,136,.2)}.comment-dot{color:var(--text-light)}.comment-time{color:var(--text-muted);font-size:var(--text-xs)}.comment-content{font-size:var(--text-base);color:var(--text);line-height:1.6;word-wrap:break-word}.btn-delete-comment{background:transparent;border:none;color:var(--text-light);cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-1);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast),background var(--transition-fast)}.btn-delete-comment:hover{color:var(--error);background:#fef2f2}.btn-delete-comment.confirming{color:var(--error);background:#fef2f2;font-size:var(--text-xs);font-weight:var(--weight-semibold);padding:2px 6px}.comments-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10) var(--space-4);text-align:center;background:var(--bg-alt);border-radius:var(--radius-lg);border:1px solid var(--border)}.empty-icon{width:36px;height:36px;color:var(--text-light);margin-bottom:var(--space-2)}.empty-text{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:0}.skeleton-form{display:flex;gap:var(--space-4)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--bg-muted);animation:pulse 1.5s infinite ease-in-out;flex-shrink:0}.skeleton-textarea{flex-grow:1;height:80px;background:var(--bg-muted);border-radius:var(--radius);animation:pulse 1.5s infinite ease-in-out}.comment-skeleton{display:flex;gap:var(--space-4);margin-bottom:var(--space-5)}.skeleton-body{flex-grow:1;display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-meta{width:140px;height:14px;background:var(--bg-muted);border-radius:4px;animation:pulse 1.5s infinite ease-in-out}.skeleton-text{width:80%;height:16px;background:var(--bg-muted);border-radius:4px;animation:pulse 1.5s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.comments-alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-4);font-size:var(--text-sm)}.comments-alert.error{background:#fef2f2;color:#dc2626;border:1px solid #FCA5A5}.comment-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}.hidden{display:none!important}.animate-spin{animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
