/* ====== Comment Section v2 ====== */
.comment-section{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:28px;margin-top:24px;border:1px solid var(--border)}
.comment-sec-title h4{font-size:1.1rem;font-weight:700;margin:0 0 24px;display:flex;align-items:center;gap:8px}
.comment-count{font-size:.78rem;color:var(--text3);font-weight:400}
.comment-form-wrap{margin-bottom:28px;padding-bottom:24px;border-bottom:1px solid #f1f5f9}

/* ---- Textarea ---- */
.comment-form-wrap textarea.form-control,
.comment-reply-form-inner textarea.form-control{
  border:1.5px solid #e2e8f0;
  border-radius:10px;
  padding:12px 14px;
  font-size:.88rem;
  resize:none;
  background:#fafbfc;
  transition:all .2s ease;
  box-shadow:none
}
.comment-form-wrap textarea.form-control:focus,
.comment-reply-form-inner textarea.form-control:focus{
  border-color:var(--pri);
  background:#fff;
  box-shadow:0 0 0 3px rgba(79,70,229,.1)
}

/* ---- Logged-in form ---- */
.comment-form-logged{display:flex;gap:14px;align-items:flex-start}
.comment-form-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0;object-fit:cover}
.comment-form-right{flex:1}
.comment-form-actions{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.comment-form-actions .identity{font-size:.75rem;color:var(--text3);display:flex;align-items:center;gap:4px}

/* ---- Submit button ---- */
.comment-submit-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:7px 18px;border-radius:8px;font-size:.82rem;font-weight:600;
  background:var(--pri);color:#fff;border:none;cursor:pointer;
  transition:all .2s ease
}
.comment-submit-btn:hover{background:var(--pri-dark);box-shadow:0 2px 8px rgba(79,70,229,.3);transform:translateY(-1px)}
.comment-submit-btn:active{transform:translateY(0)}
.comment-submit-btn-outline{
  display:inline-flex;align-items:center;gap:4px;
  padding:6px 14px;border-radius:8px;font-size:.78rem;font-weight:500;
  background:transparent;color:var(--text2);border:1px solid var(--border);cursor:pointer;
  transition:all .15s ease
}
.comment-submit-btn-outline:hover{color:var(--pri);border-color:var(--pri);background:var(--pri-light)}

/* ---- Guest form ---- */
.comment-form-guest .form-control{margin-bottom:10px}
.comment-form-guest .form-control:not(textarea){
  border:1.5px solid #e2e8f0;
  border-radius:10px;
  padding:10px 14px;
  font-size:.88rem;
  background:#fafbfc;
  transition:all .2s ease
}
.comment-form-guest .form-control:not(textarea):focus{
  border-color:var(--pri);
  background:#fff;
  box-shadow:0 0 0 3px rgba(79,70,229,.1)
}

.cf-guest-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.cf-guest-row .form-control{flex:1;margin-bottom:0}
.qq-preview{display:flex;align-items:center;gap:6px;flex-shrink:0;background:var(--pri-light);border:1px solid rgba(79,70,229,.2);border-radius:10px;padding:6px 12px;font-size:.78rem;color:var(--pri);font-weight:500}
.qq-preview img{width:26px;height:26px;border-radius:50%;border:1.5px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.1)}

/* ---- Captcha v2 (card design) ---- */
.captcha-card{
  display:flex;align-items:center;gap:0;
  background:linear-gradient(135deg,#f8fafc,#f1f5f9);
  border:1px solid #e2e8f0;
  border-radius:12px;
  overflow:hidden;
  transition:border-color .2s ease
}
.captcha-card:focus-within{border-color:var(--pri);box-shadow:0 0 0 3px rgba(79,70,229,.1)}
.captcha-card-question{
  display:flex;align-items:center;
  padding:9px 16px;
  background:var(--pri);
  color:#fff;
  font-size:.88rem;font-weight:700;
  white-space:nowrap;
  user-select:none;
  letter-spacing:.5px
}
.captcha-card-question i{font-size:.9rem;opacity:.9}
.captcha-card-input{
  width:56px;padding:8px 6px;
  border:none;outline:none;
  font-size:.88rem;font-weight:700;text-align:center;
  color:var(--pri);
  background:transparent
}
.captcha-card-input::placeholder{color:var(--text3);font-weight:400;font-size:.78rem}
.captcha-card-input::-webkit-outer-spin-button,
.captcha-card-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.captcha-card-input[type=number]{-moz-appearance:textfield}
.captcha-card-refresh{
  padding:8px 12px;
  border:none;background:transparent;
  color:var(--text3);cursor:pointer;
  font-size:.95rem;
  transition:all .2s ease;
  border-left:1px solid #e2e8f0
}
.captcha-card-refresh:hover{color:var(--pri);background:rgba(79,70,229,.05)}

/* ---- Comment list ---- */
.comment-item{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid #f1f5f9;align-items:flex-start;transition:background .15s ease}
.comment-item:last-child{border-bottom:none}
.comment-item:hover{background:linear-gradient(to right,transparent,rgba(79,70,229,.015),transparent)}
.comment-reply{display:flex;gap:14px;padding:14px 18px;margin-top:10px;background:#f8fafc;border-radius:12px;align-items:flex-start;transition:background .15s ease}
.comment-reply:hover{background:#f1f5f9}

/* ---- Avatar ---- */
.comment-avatar-wrap{width:38px;height:38px;flex-shrink:0;position:relative}
.comment-avatar{width:38px;height:38px;border-radius:50%;display:block;object-fit:cover;box-shadow:0 1px 4px rgba(0,0,0,.06)}
.comment-avatar-fb{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#4F46E5;color:#fff;font-size:.78rem;font-weight:700;box-shadow:0 1px 4px rgba(79,70,229,.15)}
.comment-form-avatar-fb{width:40px;height:40px;font-size:.85rem}
.comment-avatar-fb-vip{box-shadow:0 1px 6px rgba(79,70,229,.25)}

/* ---- Comment body ---- */
.comment-body{flex:1;min-width:0}
.comment-header{display:flex;align-items:center;gap:8px;margin-bottom:5px;flex-wrap:wrap}
.comment-name{font-weight:600;font-size:.88rem;color:var(--text)}
.comment-vip-name{font-weight:700;font-size:.88rem;background:linear-gradient(135deg,#C9A54B,#F7D774,#C9A54B,#8B6914);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;background-size:300% 100%;animation:vip-name-shine 3s ease-in-out infinite}
@keyframes vip-name-shine{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.comment-vip-badge{font-size:.6rem;background:linear-gradient(135deg,#C9A54B,#8B6914);color:#fff;padding:1px 6px;border-radius:4px;font-weight:700;letter-spacing:.3px}
.comment-guest-badge{font-size:.66rem;background:#e2e8f0;color:#64748b;padding:1px 6px;border-radius:4px;font-weight:500}
.comment-time{font-size:.72rem;color:var(--text3)}.comment-loc{font-size:.7rem;color:#8a8d93;margin-left:8px;padding:1px 6px;background:#f0f2f5;border-radius:3px}
.comment-content{font-size:.88rem;color:var(--text2);line-height:1.7;word-break:break-word}
.comment-actions{margin-top:8px}
.comment-reply-btn{background:none;border:none;color:var(--text3);font-size:.75rem;cursor:pointer;padding:3px 8px;border-radius:6px;transition:all .15s ease}
.comment-reply-btn:hover{color:var(--pri);background:var(--pri-light)}

/* ---- Reply form ---- */
.comment-reply-form{margin-top:10px}
.comment-reply-form-inner{padding:14px;background:#fff;border-radius:12px;border:1.5px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.comment-reply-to{font-size:.72rem;color:var(--text3);background:#f1f5f9;border-radius:8px;padding:5px 10px;margin-bottom:8px;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-reply-to strong{color:var(--pri);font-weight:600}

/* ---- Pagination ---- */
.comment-pagination{display:flex;gap:6px;justify-content:center;margin-top:24px}
.comment-page-btn{min-width:34px;height:34px;border:1.5px solid #e2e8f0;border-radius:9px;background:#fff;font-size:.78rem;cursor:pointer;color:var(--text2);display:flex;align-items:center;justify-content:center;padding:0 8px;transition:all .15s ease;font-weight:500}
.comment-page-btn.active{background:var(--pri);color:#fff;border-color:var(--pri);box-shadow:0 2px 8px rgba(79,70,229,.25)}
.comment-page-btn:not(.active):hover{color:var(--pri);border-color:var(--pri);background:var(--pri-light)}

/* ---- Empty state ---- */
.comment-empty{text-align:center;padding:40px 20px;color:var(--text3)}
.comment-empty i{font-size:2rem;display:block;margin-bottom:10px;opacity:.3}
