.comments-page { max-width: 1120px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
.comments-intro { max-width: 760px; margin: 0 auto 2rem; text-align: center; }
.comments-intro p { line-height: 1.7; }
.comments-note { font-size: .93rem; opacity: .75; }
.comments-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 2rem; align-items: start; }
.comments-form-card, .comments-list-card, .comments-admin-login, .comments-admin-item { background: rgba(255,255,255,.78); border: 1px solid rgba(0,0,0,.1); border-radius: 14px; padding: 1.5rem; box-shadow: 0 8px 28px rgba(0,0,0,.06); }
.comments-form label, .comments-admin-login label { display: block; margin: 1rem 0 .4rem; font-weight: 600; }
.comments-form input, .comments-form textarea, .comments-admin-login input { width: 100%; box-sizing: border-box; padding: .8rem .9rem; border: 1px solid #aaa; border-radius: 8px; font: inherit; background: #fff; }
.comments-form textarea { resize: vertical; }
.comments-form button, .comments-admin button, .comments-admin-login button { margin-top: 1rem; border: 0; border-radius: 8px; padding: .75rem 1.05rem; cursor: pointer; font: inherit; background: #333; color: #fff; }
.comments-alert { margin: 1rem 0; padding: .9rem 1rem; border-radius: 8px; }
.comments-success { background: #edf7ed; border: 1px solid #9bc59b; }
.comments-error { background: #fff0f0; border: 1px solid #d79a9a; }
.comments-error ul { margin: 0; padding-left: 1.2rem; }
.comments-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.comments-list { display: grid; gap: 1rem; }
.visitor-comment { padding: 1rem 0; border-bottom: 1px solid rgba(0,0,0,.12); }
.visitor-comment:last-child { border-bottom: 0; }
.visitor-comment header { display: flex; gap: 1rem; justify-content: space-between; align-items: baseline; }
.visitor-comment time { font-size: .85rem; opacity: .65; }
.visitor-comment p { white-space: normal; line-height: 1.65; }
.comments-empty { opacity: .75; font-style: italic; }
.comments-admin { max-width: 960px; margin: 0 auto; padding: 2rem 1.25rem 4rem; }
.comments-admin-login { max-width: 420px; margin: 8vh auto 0; }
.comments-admin-header { display: flex; justify-content: space-between; gap: 1rem; align-items: center; margin-bottom: 2rem; }
.comments-admin-header a { margin-left: 1rem; }
.comments-admin-list { display: grid; gap: 1rem; }
.comments-admin-item header { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }
.comments-admin-item time { margin-left: auto; opacity: .65; }
.comments-status { padding: .2rem .55rem; border-radius: 999px; font-size: .8rem; }
.comments-status-approved { background: #e1f2e1; }
.comments-status-pending { background: #fff0c9; }
.comments-admin-actions { display: flex; gap: .65rem; }
.comments-admin-actions .button-danger { background: #8d2929; }
@media (max-width: 760px) {
  .comments-layout { grid-template-columns: 1fr; }
  .comments-admin-header { align-items: flex-start; flex-direction: column; }
  .comments-admin-header a { margin: 0 1rem 0 0; }
  .comments-admin-item time { width: 100%; margin-left: 0; }
}
