body.single-post #comments {
	--td-accent: #155eab;
	--td-accent-dark: #104b89;
	--td-tint: #f2f7fd;
	--td-border: #dce6f0;
	--td-text: #203348;
	--td-muted: #566b80;
	--td-surface: #fff;
	--td-danger: #a12636;

	color: var(--td-text);
	font-family: inherit;
	scroll-margin-top: 120px;
}

body.single-post #comments *,
body.single-post #comments *::before,
body.single-post #comments *::after {
	box-sizing: border-box;
}

body.single-post #comments .w-comments-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 0 12px;
}

body.single-post #comments .mj-comments-eyebrow {
	margin: 0 0 6px;
	color: var(--td-accent);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.8;
}

body.single-post #comments #mj-comments-heading {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0;
	color: var(--td-text);
	font-size: clamp(20px, 2.2vw, 26px);
	font-weight: 750;
	line-height: 1.6;
}

body.single-post #comments .mj-comments-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	min-height: 28px;
	padding: 2px 8px;
	border: 1px solid var(--td-border);
	border-radius: 6px;
	background: var(--td-tint);
	color: var(--td-accent);
	font-size: 13px;
	font-weight: 700;
}

body.single-post #comments .mj-comments-write {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 8px 14px;
	border: 1px solid var(--td-border);
	border-radius: 8px;
	background: var(--td-surface);
	color: var(--td-accent);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

body.single-post #comments .mj-comments-intro {
	max-width: 75ch;
	margin: 0 0 26px;
	color: var(--td-muted);
	font-size: 14px;
	line-height: 1.95;
}

body.single-post #comments .w-comments-list,
body.single-post #comments .children {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.single-post #comments .td-comment {
	margin: 0 0 16px;
	padding: 0;
	border: 0;
	list-style: none;
	scroll-margin-top: 120px;
}

body.single-post #comments .td-comment-card {
	padding: 22px;
	border: 1px solid var(--td-border);
	border-radius: 12px;
	background: var(--td-surface);
	color: var(--td-text);
	box-shadow: none;
}

body.single-post #comments .td-comment--team > .td-comment-card {
	border-inline-start: 3px solid var(--td-accent);
	background: var(--td-tint);
}

body.single-post #comments .td-comment:target > .td-comment-card {
	border-color: var(--td-accent);
	outline: 2px solid #d7e8fa;
	outline-offset: 3px;
}

body.single-post #comments .td-comment-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-bottom: 14px;
}

body.single-post #comments .td-comment-identity {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	min-width: 0;
}

body.single-post #comments .td-comment-name {
	color: var(--td-text);
	font-size: 15px;
	font-weight: 750;
	overflow-wrap: anywhere;
}

body.single-post #comments .td-comment-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 8px;
	border: 1px solid #c9def4;
	border-radius: 5px;
	background: #e8f2fd;
	color: #124f8d;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.7;
	white-space: nowrap;
}

body.single-post #comments .td-comment-badge::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 2px;
	background: currentColor;
}

body.single-post #comments .td-comment-badge--admin {
	border-color: #cbd8e6;
	background: #fff;
	color: #405b76;
}

body.single-post #comments .td-comment-date {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	color: var(--td-muted);
	font-size: 12px;
	line-height: 1.8;
	text-decoration: none;
}

body.single-post #comments .td-comment-text {
	color: var(--td-text);
	font-size: 15px;
	line-height: 2;
	overflow-wrap: anywhere;
}

body.single-post #comments .td-comment-text > :last-child {
	margin-bottom: 0;
}

body.single-post #comments .td-comment-text pre {
	max-width: 100%;
	overflow-x: auto;
	white-space: pre-wrap;
}

body.single-post #comments .td-comment-text blockquote {
	margin: 12px 0;
	padding: 4px 14px;
	border-inline-start: 2px solid #a8c8e8;
	font-size: inherit;
}

body.single-post #comments .td-comment-text ul,
body.single-post #comments .td-comment-text ol {
	padding-inline-start: 24px;
}

body.single-post #comments .td-comment-actions {
	display: flex;
	justify-content: flex-start;
	margin-top: 12px;
}

body.single-post #comments .comment-reply-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 64px;
	min-height: 44px;
	padding: 6px 12px;
	border: 1px solid transparent;
	border-radius: 7px;
	background: transparent;
	color: var(--td-accent);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	opacity: 1;
}

body.single-post #comments .comment-reply-link:hover,
body.single-post #comments .mj-comments-write:hover {
	border-color: #bfd5eb;
	background: #eaf3fc;
	color: var(--td-accent-dark);
}

body.single-post #comments .td-comment > .children {
	margin-top: 14px;
	padding-inline-start: 22px;
	border-inline-start: 1px solid var(--td-border);
}

body.single-post #comments #respond {
	margin-top: 30px;
	padding: 24px;
	border: 1px solid var(--td-border);
	border-radius: 12px;
	background: #f8fafd;
	scroll-margin-top: 120px;
}

body.single-post #comments #reply-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 20px;
	color: var(--td-text);
	font-size: 20px;
	line-height: 1.8;
}

body.single-post #comments #cancel-comment-reply-link {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	color: var(--td-muted);
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 4px;
}

body.single-post #comments #commentform {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
}

body.single-post #comments #commentform > * {
	min-width: 0;
	margin: 0;
	grid-column: 1 / -1;
}

body.single-post #comments #commentform > .comment-form-author,
body.single-post #comments #commentform > .comment-form-email {
	grid-column: auto;
}

body.single-post #comments #commentform label {
	display: block;
	margin: 0 0 8px;
	color: var(--td-text);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.8;
}

body.single-post #comments .mj-field-optional {
	margin-inline-start: 5px;
	color: var(--td-muted);
	font-size: 12px;
	font-weight: 400;
}

body.single-post #comments #commentform input[type="text"],
body.single-post #comments #commentform input[type="email"],
body.single-post #comments #commentform input[type="tel"],
body.single-post #comments #commentform textarea {
	display: block;
	width: 100%;
	min-height: 48px;
	margin: 0;
	padding: 11px 13px;
	border: 1px solid #b6c8da;
	border-radius: 8px;
	background: #fff;
	color: var(--td-text);
	font: inherit;
	font-size: 15px;
	line-height: 1.8;
	box-shadow: none;
}

body.single-post #comments #commentform input[dir="ltr"] {
	text-align: left;
}

body.single-post #comments #commentform textarea {
	min-height: 160px;
	resize: vertical;
}

body.single-post #comments #commentform ::placeholder {
	color: #60758a;
	opacity: 1;
}

body.single-post #comments #commentform input:focus,
body.single-post #comments #commentform textarea:focus {
	border-color: var(--td-accent);
	outline: 2px solid #c1dbf5;
	outline-offset: 2px;
}

body.single-post #comments #commentform [aria-invalid="true"] {
	border-color: var(--td-danger);
}

body.single-post #comments .mj-comment-contact {
	padding-bottom: 18px;
	border-bottom: 1px solid var(--td-border);
}

body.single-post #comments .comment-form-mobile {
	max-width: 360px;
	margin: 0;
}

body.single-post #comments .mj-comment-help {
	margin: 10px 0 0;
	color: var(--td-muted);
	font-size: 12px;
	line-height: 1.95;
}

body.single-post #comments .mj-comment-help a {
	color: var(--td-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.single-post #comments #commentform .form-submit {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

body.single-post #comments #commentform [type="submit"] {
	min-height: 48px;
	padding: 10px 24px;
	border: 1px solid var(--td-accent);
	border-radius: 8px;
	background: var(--td-accent) !important;
	background-image: none !important;
	color: #fff !important;
	font: inherit;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.8;
	box-shadow: none;
	cursor: pointer;
}

body.single-post #comments #commentform [type="submit"]:hover {
	border-color: var(--td-accent-dark);
	background: var(--td-accent-dark) !important;
}

body.single-post #comments #commentform [type="submit"]::before,
body.single-post #comments #commentform [type="submit"]::after {
	display: none;
}

body.single-post #comments #commentform [type="submit"]:disabled {
	opacity: .65;
	cursor: wait;
}

body.single-post #comments .w-comments-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 24px;
}

body.single-post #comments .w-comments-pagination:empty {
	display: none;
}

body.single-post #comments .w-comments-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 7px 12px;
	border: 1px solid var(--td-border);
	border-radius: 7px;
	background: #fff;
	color: var(--td-accent);
	font-size: 14px;
	text-decoration: none;
}

body.single-post #comments .w-comments-pagination .current {
	border-color: var(--td-accent);
	background: var(--td-accent);
	color: #fff;
}

body.single-post #comments .w-comments-pagination .dots {
	border-color: transparent;
	background: transparent;
	color: var(--td-muted);
}

body.single-post #comments .td-status {
	margin: 0 0 20px;
	padding: 12px 16px;
	border: 1px solid #c4d9ee;
	border-radius: 8px;
	background: #edf5fd;
	color: #174c7d;
	font-size: 14px;
	line-height: 1.9;
}

body.single-post #comments .td-status--error {
	border-color: #ebc8ce;
	background: #fff3f5;
	color: #8d2333;
}body.single-post #comments .td-status--error {
	border-color: #ebc8ce;
	background: #fff3f5;
	color: #8d2333;
}

body.single-post #comments .td-success-active {
	position: relative;
	isolation: isolate;
	min-height: 340px;
}

body.single-post #comments .td-success-active > :not(.td-success-layer) {
	visibility: hidden !important;
	pointer-events: none;
}

body.single-post #comments .td-success-layer {
	position: absolute;
	inset: 0;
	z-index: 5;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 28px 20px;
	border: 1px solid #b7e4ce;
	border-radius: inherit;
	background: linear-gradient(145deg, #f2fcf6 0%, #e5f7ee 100%);
	color: #166347;
	direction: rtl;
	text-align: center;
}

body.single-post #comments .td-success-layer[hidden] {
	display: none;
}

body.single-post #comments .td-success-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	width: 100%;
	max-width: 420px;
	min-width: 0;
	scroll-margin-top: 120px;
	animation: td-success-enter .28s ease-out both;
}

body.single-post #comments .td-success-icon {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 72px;
	height: 72px;
	border: 1px solid #a9dfc2;
	border-radius: 50%;
	background: #d6f3e3;
	box-shadow: 0 0 0 9px rgb(22 145 91 / 5%);
}

body.single-post #comments .td-success-icon::before {
	content: "";
	position: absolute;
	top: 21px;
	left: 28px;
	width: 16px;
	height: 27px;
	border: solid #158454;
	border-width: 0 3px 3px 0;
	border-radius: 1px;
	transform: rotate(45deg);
}

body.single-post #comments .td-success-title {
	display: block;
	margin: 0;
	color: #125e40;
	font-family: inherit;
	font-size: clamp(18px, 2.2vw, 22px);
	font-weight: 750;
	line-height: 1.8;
	overflow-wrap: anywhere;
}

body.single-post #comments .td-success-message {
	margin: 9px 0 0;
	color: #35745a;
	font-size: 14px;
	font-weight: 400;
	line-height: 2;
	overflow-wrap: anywhere;
}

body.single-post #comments .td-success-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 132px;
	min-height: 46px;
	max-width: 100%;
	margin: 2px 0 0;
	padding: 10px 24px;
	border: 1px solid #158454;
	border-radius: 10px;
	background: #158454 !important;
	background-image: none !important;
	color: #fff !important;
	font: inherit;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.8;
	box-shadow: 0 3px 9px rgb(21 132 84 / 12%);
	cursor: pointer;
	transition: background-color .15s ease, box-shadow .15s ease;
}

body.single-post #comments .td-success-close:hover {
	border-color: #106a43;
	background: #106a43 !important;
	box-shadow: 0 4px 12px rgb(21 132 84 / 18%);
}

body.single-post #comments .td-success-close:focus-visible {
	outline: 2px solid #158454;
	outline-offset: 4px;
}

body.single-post #comments .td-success-close::before,
body.single-post #comments .td-success-close::after {
	display: none;
}

@keyframes td-success-enter {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 480px) {
	body.single-post #comments .td-success-layer {
		padding: 24px 16px;
	}

	body.single-post #comments .td-success-card {
		gap: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-post #comments .td-success-card {
		animation: none;
	}

	body.single-post #comments .td-success-close {
		transition: none;
	}
}

body.single-post #comments .td-status {
	scroll-margin-top: 110px;
	overflow-wrap: anywhere;
}

body.single-post #comments .td-status[hidden] {
	display: none;
}

body.single-post #comments .mj-comment-honeypot {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

body.single-post #comments a:focus-visible,
body.single-post #comments button:focus-visible,
body.single-post #comments input:focus-visible {
	outline: 2px solid var(--td-accent);
	outline-offset: 3px;
}

@media (max-width: 600px) {
	body.single-post #comments .td-comment-card {
		padding: 16px;
	}

	body.single-post #comments .td-comment-meta {
		align-items: flex-start;
		flex-direction: column;
		gap: 5px;
	}

	body.single-post #comments .td-comment > .children {
		padding-inline-start: 10px;
	}

	body.single-post #comments .children .children {
		padding-inline-start: 0;
		border-inline-start: 0;
	}

	body.single-post #comments #respond {
		padding: 17px;
	}

	body.single-post #comments #commentform {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	body.single-post #comments #commentform > .comment-form-author,
	body.single-post #comments #commentform > .comment-form-email {
		grid-column: 1 / -1;
	}

	body.single-post #comments .comment-form-mobile {
		max-width: none;
	}

	body.single-post #comments #commentform [type="submit"] {
		width: 100%;
	}

	body.single-post #comments .td-comment-text {
		font-size: 15px;
	}
}
/* Success feedback: fresh mint palette and decorative sparks. */
body.single-post #comments .td-success-layer {
	border-color: #c0ead9;
	background: #effbf5;
	color: #126344;
}

body.single-post #comments .td-success-card {
	max-width: 480px;
	gap: 14px;
}

body.single-post #comments .td-success-title {
	color: #095b3c;
}

body.single-post #comments .td-success-message {
	color: #467561;
}

body.single-post #comments .td-success-icon {
	position: relative;
	display: block;
	width: 160px;
	height: 128px;
	margin: 0 0 4px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	pointer-events: none;
}

/* Green disc and two quiet outer rings. */
body.single-post #comments .td-success-icon::before {
	content: "";
	position: absolute;
	top: 24px;
	left: 42px;
	width: 76px;
	height: 76px;
	border: 0;
	border-radius: 50%;
	background: #20bd70;
	box-shadow:
		0 0 0 12px #d7f6e5,
		0 0 0 24px rgb(32 189 112 / 5%);
	transform: none;
}

body.single-post #comments .td-success-check {
	position: absolute;
	z-index: 1;
	top: 44px;
	left: 63px;
	display: block;
	width: 34px;
	height: 36px;
	fill: #fff;
}

/* Short rays around the check. */
body.single-post #comments .td-success-spark {
	position: absolute;
	top: var(--y);
	left: var(--x);
	display: block;
	width: 12px;
	height: 5px;
	border-radius: 999px;
	background: #2bc879;
	transform: rotate(var(--angle, 0deg));
	animation: td-success-spark-in .5s ease-out both;
}

/* A few soft lime dots, like the reference. */
body.single-post #comments .td-success-spark--dot {
	width: 6px;
	height: 6px;
	background: #bedf72;
}

body.single-post #comments .td-success-spark--dot:nth-last-child(2) {
	background: #94dca0;
}

body.single-post #comments .td-success-close {
	min-width: 154px;
	margin-top: 8px;
	padding: 11px 28px;
	border-color: #108657;
	border-radius: 12px;
	background: #108657 !important;
	box-shadow: 0 5px 14px rgb(16 134 87 / 10%);
}

body.single-post #comments .td-success-close:hover {
	border-color: #0b7048;
	background: #0b7048 !important;
	box-shadow: 0 6px 16px rgb(16 134 87 / 16%);
}

body.single-post #comments .td-success-close:active {
	background: #095e3d !important;
	box-shadow: none;
}

body.single-post #comments .td-success-close:focus-visible {
	outline-color: #108657;
}

@keyframes td-success-spark-in {
	from {
		opacity: 0;
		transform: rotate(var(--angle, 0deg)) scale(.35);
	}
	to {
		opacity: 1;
		transform: rotate(var(--angle, 0deg)) scale(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.single-post #comments .td-success-spark {
		animation: none;
	}
}