/* W34 — blog comments, values from the design-system mockup (#w10c).
   Sits after the article at the prose measure; no photos, initial circles;
   editorial replies badged; legacy comments chip their year. */

.hc-comments {
	max-width: var(--hc-prose);
	margin: 44px auto 0;
}

.hc-comments__head {
	display: flex;
	align-items: baseline;
	gap: 10px;
}
.hc-comments h2.hc-comments__title {
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--hc-ink);
	margin: 0;
}
.hc-comments__count {
	font-size: 13px;
	font-weight: 600;
	color: var(--hc-mut);
	background: var(--hc-wash);
	padding: 3px 10px;
	border-radius: 999px;
}
.hc-comments__notice {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--hc-mut);
	margin: 8px 0 0;
}
.hc-comments__closed {
	font-size: 13.5px;
	color: var(--hc-mut);
	margin: 14px 0 0;
}

/* ---- Form (wash card) ---- */

.hc-comments .hc-cform {
	background: var(--hc-wash);
	border-radius: 20px;
	padding: 20px 22px;
	margin-top: 18px;
}
.hc-cform__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.hc-comments .hc-cform input[type="text"],
.hc-comments .hc-cform input[type="email"] {
	height: 44px;
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	background: #fff;
	padding: 0 14px;
	font-family: inherit;
	font-size: 14.5px;
	color: var(--hc-ink);
	width: 100%;
}
.hc-comments .hc-cform textarea {
	width: 100%;
	min-height: 88px;
	border: 1px solid var(--hc-line);
	border-radius: 12px;
	background: #fff;
	padding: 12px 14px;
	font-family: inherit;
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--hc-ink);
	margin-top: 10px;
	resize: vertical;
}
.hc-cform__foot {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 12px;
}
.hc-cform__note {
	flex: 1;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--hc-mut);
}
.hc-comments .hc-cform .hc-cform__submit {
	flex: none;
	white-space: nowrap;
	height: 44px;
	padding: 0 22px;
	border-radius: 999px;
	border: none;
	background: var(--hc-pink);
	color: #fff;
	font-family: inherit;
	font-size: 14.5px;
	font-weight: 700;
	cursor: pointer;
}
.hc-comments .hc-cform .hc-cform__submit:hover {
	background: var(--hc-pink-hover);
}
/* Astra styles buttons via `input#submit` — an ID selector that outranks any
   class stack and paints the text black (its hover even resurrects the old
   #fe6b75 accent). Match the ID to win. */
.hc-comments .hc-cform input#submit.hc-cform__submit {
	color: #fff;
	background: var(--hc-pink);
	border: none;
}
.hc-comments .hc-cform input#submit.hc-cform__submit:hover,
.hc-comments .hc-cform input#submit.hc-cform__submit:focus {
	color: #fff;
	background: var(--hc-pink-hover);
}
/* WP renders this; the mockup doesn't want it. */
.hc-cform .logged-in-as { display: none; }
.hc-cform .comment-reply-title { font-size: 15px; margin: 0 0 8px; }
.hc-cform .comment-reply-title a { font-size: 12.5px; }

/* ---- Thread ---- */

.hc-comments__list,
.hc-comments .children {
	list-style: none;
	margin: 0;
	padding: 0;
}
.hc-comments__list {
	display: flex;
	flex-direction: column;
	gap: 22px;
	margin-top: 26px;
}
.hc-comments__list > li { margin: 0; }

.hc-comment__row {
	display: flex;
	gap: 12px;
}
.hc-comment__avatar {
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--hc-wash);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14.5px;
	font-weight: 700;
	color: var(--hc-secondary);
}
.hc-comment__avatar--team {
	background: var(--hc-pink);
	color: #fff;
}
.hc-comment__main {
	flex: 1;
	min-width: 0;
}
.hc-comment__meta {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}
.hc-comment__name {
	font-size: 15px;
	font-weight: 700;
	color: var(--hc-ink);
}
.hc-comment__time {
	font-size: 12.5px;
	color: var(--hc-mut);
}
.hc-comment__badge {
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.08em;
	background: #fff1f3;
	color: var(--hc-pink-hover);
	padding: 3px 8px;
	border-radius: 999px;
}
.hc-comment__body p {
	font-size: 15px;
	line-height: 1.65;
	color: var(--hc-body);
	margin: 6px 0 0;
	max-width: none;
}
.hc-comment__body[lang="th"] p {
	font-family: var(--hc-font-thai);
	line-height: 1.75;
}
.hc-comment__pending {
	font-size: 12.5px;
	color: var(--hc-mut);
	font-style: italic;
	margin: 6px 0 0;
}
.hc-comment__actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 8px;
}
.hc-comment__actions .comment-reply-link {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--hc-pink);
}
.hc-comments button.hc-comment__helpful {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--hc-mut);
	min-height: 24px;
}
.hc-comments button.hc-comment__helpful:hover { color: var(--hc-ink); }
.hc-comments button.hc-comment__helpful.is-voted { color: var(--hc-pink); cursor: default; }

/* One nesting level: the mockup's 2px left rule. */
.hc-comments .children {
	margin-top: 16px;
	padding-left: 24px;
	border-left: 2px solid var(--hc-line-soft);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* ---- Scroll reveal (no button — comments.js opens batches on approach) ---- */

.hc-comments__list > li[data-hc-hidden] { display: none; }

@media (max-width: 900px) {
	.hc-cform__grid { grid-template-columns: 1fr; }
	.hc-cform__foot { flex-wrap: wrap; }
}
