:root{--comment-primary:#974E88;--comment-primary-light:#c785ba;--comment-primary-bg:rgba(151, 78, 136, 0.05);--comment-success:#10b981;--comment-success-bg:rgba(16, 185, 129, 0.1);--comment-warning:#f59e0b;--comment-warning-bg:rgba(245, 158, 11, 0.1);--comment-text-dark:#1a202c;--comment-text-medium:#4a5568;--comment-text-light:#718096;--comment-border:#e2e8f0;--comment-bg-white:#ffffff;--comment-shadow-sm:0 2px 8px rgba(0, 0, 0, 0.04);--comment-shadow-hover:0 8px 24px rgba(151, 78, 136, 0.12);--comment-radius:16px;--comment-transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1)}@keyframes commentSlideIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes commentPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes commentFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}.blog-comments-section{padding:40px 0}.blog-comments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px dashed var(--comment-border);flex-wrap:wrap;gap:16px}.blog-comments-header h3{display:flex;align-items:center;gap:12px;margin:0;font-weight:800;color:var(--comment-text-dark)}.blog-comments-header h3 i{color:var(--comment-primary);background:var(--comment-primary-bg);padding:10px;border-radius:12px;font-size:1.2rem}.blog-comments-header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.blog-comments-count{background:var(--comment-primary-bg);color:var(--comment-primary);padding:6px 16px;border-radius:50px;font-size:.9rem;font-weight:600}.blog-comment-add-btn{background:linear-gradient(135deg,var(--comment-primary) 0,var(--comment-primary-light) 100%);color:#fff;border:none;padding:10px 24px;border-radius:12px;font-weight:600;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 4px 15px rgba(151,78,136,.25);transition:var(--comment-transition)}.blog-comment-add-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(151,78,136,.35)}.blog-comment-add-btn-empty{margin-top:16px}.blog-comment-form{background:var(--comment-bg-white);border-radius:24px;padding:32px;box-shadow:var(--comment-shadow-sm);border:1px solid var(--comment-border);margin-bottom:40px;position:relative;overflow:hidden}.blog-comment-form::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--comment-primary) 0,var(--comment-primary-light) 100%)}.blog-comment-form-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.blog-comment-form-title{font-weight:700;font-size:1.2rem;color:var(--comment-text-dark);margin:0}.blog-comment-form-close{background:0 0;border:none;color:var(--comment-text-light);font-size:1.2rem;cursor:pointer;padding:4px 8px;border-radius:8px;transition:var(--comment-transition);line-height:1}.blog-comment-form-close:hover{color:var(--comment-primary);background:var(--comment-primary-bg)}.blog-comment-form-subtitle{color:var(--comment-text-light);font-size:.9rem;margin-bottom:24px}.blog-comment-reply-indicator{display:none;background:var(--comment-warning-bg);border:1px solid rgba(245,158,11,.2);border-radius:12px;padding:12px 16px;margin-bottom:20px;align-items:center;justify-content:space-between}.blog-comment-reply-indicator.active{display:flex}.blog-comment-reply-indicator-text{display:flex;align-items:center;gap:10px;color:#92400e;font-weight:600}.blog-comment-reply-indicator-text i{color:var(--comment-warning)}.blog-comment-reply-cancel{background:0 0;border:1px solid #d97706;color:#d97706;padding:4px 12px;border-radius:8px;font-size:.85rem;cursor:pointer;transition:var(--comment-transition)}.blog-comment-reply-cancel:hover{background:#d97706;color:#fff}.blog-comment-form .form-row{display:flex;gap:20px;margin-bottom:20px}.blog-comment-form .form-group{flex:1;min-width:0}.blog-comment-form .form-group.full-width{flex:1 0 100%}.blog-comment-form label{display:block;font-size:.9rem;font-weight:600;color:var(--comment-text-medium);margin-bottom:8px}.blog-comment-form label .required{color:#dc3545;margin-right:4px}.blog-comment-form .form-control{width:100%;background:#f8fafc;border:2px solid var(--comment-border);border-radius:12px;padding:14px 18px;font-size:.95rem;color:var(--comment-text-dark);transition:var(--comment-transition)}.blog-comment-form .form-control:focus{outline:0;background:#fff;border-color:var(--comment-primary);box-shadow:0 0 0 4px rgba(151,78,136,.1)}.blog-comment-form .form-control::placeholder{color:var(--comment-text-light)}.blog-comment-form textarea.form-control{resize:vertical;min-height:120px}.blog-comment-rating-section{background:var(--comment-primary-bg);padding:16px 20px;border-radius:14px;border:1px solid rgba(151,78,136,.1);display:inline-flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:20px}.blog-comment-rating-section label{margin-bottom:0;font-size:.9rem}.blog-comment-star-picker{display:flex;gap:8px;direction:ltr}.blog-comment-star-picker .star-item{font-size:1.8rem;color:#cbd5e0;cursor:pointer;transition:transform .2s cubic-bezier(.175, .885, .32, 1.275),color .2s}.blog-comment-star-picker .star-item:hover{transform:scale(1.15)}.blog-comment-star-picker .star-item i.bi-star-fill{color:#fbbf24;filter:drop-shadow(0 2px 4px rgba(251, 191, 36, .4))}.blog-comment-remember{display:flex;align-items:center;gap:10px;margin:20px 0;cursor:pointer}.blog-comment-remember input[type=checkbox]{width:20px;height:20px;accent-color:var(--comment-primary);cursor:pointer}.blog-comment-remember-text{font-size:.9rem;color:var(--comment-text-medium)}.blog-comment-submit-btn{background:linear-gradient(135deg,var(--comment-primary) 0,var(--comment-primary-light) 100%);border:none;color:#fff;padding:14px 40px;border-radius:14px;font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 4px 15px rgba(151,78,136,.3);transition:var(--comment-transition);display:inline-flex;align-items:center;gap:10px}.blog-comment-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(151,78,136,.4)}.blog-comment-submit-btn:disabled{opacity:.7;cursor:not-allowed;transform:none}.blog-comment-submit-btn .spinner-border{width:1.2rem;height:1.2rem;border-width:2px}.blog-comments-list{display:flex;flex-direction:column;gap:20px}.blog-comment-card{background:#fff;border-radius:20px;padding:24px;border:1px solid #f1f5f9;box-shadow:var(--comment-shadow-sm);transition:var(--comment-transition);animation:.4s forwards commentSlideIn}.blog-comment-card:hover{transform:translateY(-3px);box-shadow:var(--comment-shadow-hover);border-color:rgba(151,78,136,.15)}.blog-comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px dashed var(--comment-border)}.blog-comment-user{display:flex;align-items:center;gap:14px}.blog-comment-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--comment-primary) 0,var(--comment-primary-light) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:1.1rem;text-transform:uppercase;border:3px solid #fff;box-shadow:0 2px 8px rgba(151,78,136,.2)}.blog-comment-user-info{display:flex;flex-direction:column;gap:2px}.blog-comment-user-name{font-weight:700;color:var(--comment-text-dark);font-size:.95rem}.blog-comment-date{font-size:.8rem;color:var(--comment-text-light)}.blog-comment-rating{background:#fffbeb;padding:6px 12px;border-radius:50px;border:1px solid #fef3c7;display:flex;gap:3px;direction:ltr}.blog-comment-rating i{font-size:.85rem;color:#fbbf24}.blog-comment-rating i.bi-star{color:#e5e7eb}.blog-comment-content{color:var(--comment-text-medium);font-size:.95rem;line-height:1.8;white-space:pre-line}.blog-comment-footer{display:flex;justify-content:flex-end;margin-top:16px;padding-top:12px}.blog-comment-reply-btn{background:0 0;border:1px solid var(--comment-primary);color:var(--comment-primary);padding:6px 16px;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:var(--comment-transition);display:inline-flex;align-items:center;gap:6px}.blog-comment-reply-btn:hover{background:var(--comment-primary);color:#fff}.blog-comment-replies{margin-top:16px;margin-right:30px;padding-right:20px;border-right:3px solid var(--comment-primary-bg)}.blog-comment-replies .blog-comment-card{background:#fafbfc;box-shadow:none;border:1px solid var(--comment-border)}.blog-comment-replies .blog-comment-avatar{width:40px;height:40px;font-size:.9rem}.blog-comments-loading{display:none;text-align:center;padding:60px 20px}.blog-comments-loading.active{display:block}.blog-comments-loading .spinner-border{width:3rem;height:3rem;color:var(--comment-primary);border-width:3px}.blog-comments-loading p{color:var(--comment-text-light);margin-top:16px;font-size:.95rem}.blog-comments-empty{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 30px;background:linear-gradient(145deg,#fafbfc 0,#f1f5f9 100%);border-radius:24px;border:2px dashed var(--comment-border);position:relative;overflow:hidden}.blog-comments-empty.active{display:flex}.blog-comments-empty::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 20% 80%,rgba(151,78,136,.03) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(151,78,136,.03) 0,transparent 50%);pointer-events:none}.blog-comments-empty>*{position:relative;z-index:1}.blog-comments-empty-icon i{font-size:4rem;background:linear-gradient(135deg,#cbd5e0 0,#a0aec0 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:16px;display:block;animation:3s ease-in-out infinite commentFloat}.blog-comments-empty-title{font-size:1.1rem;font-weight:700;color:var(--comment-text-dark);margin-bottom:8px}.blog-comments-empty-text{color:var(--comment-primary);font-weight:500;font-size:.95rem;padding:8px 20px;background:var(--comment-primary-bg);border-radius:50px;display:inline-block}.blog-comments-load-more{display:none;margin-top:30px;text-align:center;position:relative}.blog-comments-load-more.active{display:block}.blog-comments-load-more::before{content:'';position:absolute;top:50%;left:0;right:0;height:1px;background:var(--comment-border);z-index:0}.blog-comments-load-more-btn{position:relative;z-index:1;background:#fff;color:var(--comment-primary);border:2px solid var(--comment-primary);padding:12px 32px;border-radius:50px;font-weight:600;font-size:.95rem;cursor:pointer;transition:var(--comment-transition);display:inline-flex;align-items:center;gap:8px}.blog-comments-load-more-btn:hover{background:var(--comment-primary);color:#fff;box-shadow:0 4px 12px rgba(151,78,136,.25)}.blog-comments-load-more-btn:disabled{opacity:.7;cursor:not-allowed}@media (max-width:768px){.blog-comment-form{padding:24px 20px}.blog-comment-form .form-row{flex-direction:column;gap:16px}.blog-comments-header{flex-direction:column;gap:12px;align-items:flex-start}.blog-comment-header{flex-direction:column;align-items:flex-start;gap:12px}.blog-comment-rating{align-self:flex-end}.blog-comment-replies{margin-right:16px;padding-right:12px}.blog-comment-reply-indicator{flex-direction:column;gap:12px;text-align:center}.blog-comment-star-picker .star-item{font-size:1.5rem}.blog-comment-submit-btn{width:100%;justify-content:center}}@media (max-width:480px){.blog-comment-card{padding:18px}.blog-comment-avatar{width:42px;height:42px;font-size:1rem}.blog-comments-empty{padding:40px 20px}.blog-comments-empty-icon i{font-size:3rem}}