/**
 * Comments: the threaded list (three deep), initials avatars, the moderation notice and the form.
 * Form fields reuse the site's floating-label styles (FieldShell__*). Hand-written; tokens only.
 */

/* Section under the article. */
.Comments__section {
	padding: var(--space-12) 0;
	background: var(--page-bg);
}

.Comments__container {
	max-width: calc(var(--size-prose-max) + 2 * var(--container-padding));
}

.Comments__title {
	margin: 0 0 var(--space-6);
	font: var(--text-heading-lg);
	color: var(--text-1);
}

.Comments__note,
.Comments__closed {
	margin: 0 0 var(--space-6);
	font: var(--text-body-sm);
}

/* The list: replies indent a little on each level, and stop growing at the third. */
.Comments__list,
.Comments__list .children {
	margin: 0;
	padding: 0;
	list-style: none;
}

.Comments__list .children {
	margin-left: var(--space-6);
	border-left: 2px solid var(--border-1);
	padding-left: var(--space-4);
}

.Comments__list .children .children .children {
	margin-left: 0;
	padding-left: 0;
	border-left: 0;
}

.Comment__item {
	margin-top: var(--space-5);
}

/* One comment card. */
.Comment__card {
	padding: var(--space-5);
	border: 1px solid var(--border-1);
	border-radius: var(--radius-lg);
	background: var(--surface-raised);
}

.Comment__head {
	display: flex;
	align-items: center;
	gap: var(--space-3);
}

/* Initials avatar: no network request, readable in both themes. */
.Comment__avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--touch-target);
	height: var(--touch-target);
	border-radius: var(--radius-full);
	background: var(--surface-badge);
	color: var(--text-on-badge);
	font: var(--text-avatar);
}

.Comment__author {
	margin: 0;
	font: var(--text-body-strong);
	color: var(--text-1);
}

.Comment__date {
	font: var(--text-caption-strong);
	color: var(--text-2);
}

.Comment__moderation {
	margin: var(--space-4) 0 0;
}

.Comment__text {
	margin-top: var(--space-4);
	font: var(--text-prose);
	color: var(--text-2);
	overflow-wrap: anywhere;
}

.Comment__text > :first-child {
	margin-top: 0;
}

.Comment__foot {
	display: flex;
	gap: var(--space-4);
	margin-top: var(--space-3);
	font: var(--text-label);
}

.Comment__foot a {
	display: inline-flex;
	align-items: center;
	min-height: var(--touch-target);
	color: var(--color-link);
}

/* The form: stacked floating fields, a primary button, and room above it. */
.Comments__form {
	display: grid;
	gap: var(--space-4);
	margin-top: var(--space-12);
}

.Comments__form .Comments__title {
	margin-bottom: 0;
}

.Comments__form p {
	margin: 0;
}

.Comments__cancel a {
	margin-left: var(--space-3);
	font: var(--text-label);
}

/* Phone: replies keep a smaller indent so text stays readable. */
@media (max-width: 640px) {
	.Comments__list .children {
		margin-left: var(--space-3);
		padding-left: var(--space-3);
	}

	.Comment__card {
		padding: var(--space-4);
	}
}
