@import '../1-helpers/mixins';
@import '../1-helpers/functions';

.ct-comments {
	color: var(--color);

	.ct-has-avatar {
		.ct-comment-content,
		.ct-comment-info section {
			@include media-breakpoint-up(md) {
				padding-left: 70px;
			}
		}
	}
}

.ct-comments-title {
	--fontSize: 30px;
	--lineHeight: normal;
	margin-bottom: 50px;
}

.ct-comment-list {
	.children {
		@include media-breakpoint-down(sm) {
			--listIndent: 35px;
		}

		@include media-breakpoint-up(md) {
			--listIndent: 70px;
		}
	}

	.comment-respond {
		padding-bottom: 50px;

		@include media-breakpoint-up(md) {
			padding-left: 70px;
		}
	}
}

// comment
.ct-comment-inner {
	padding-top: 50px;
	padding-bottom: 50px;
	border-top: 1px solid var(--border-color);

	&:not(.ct-has-reply-form) {
		&:hover .comment-reply-link {
			color: #fff;
			background: var(--buttonInitialColor);
		}

		.comment-reply-link {
			&:hover {
				background: var(--buttonHoverColor);
			}
		}
	}
}

.ct-comment-info {
	display: flex;
	position: relative;
	margin-bottom: 20px;
	--linkInitialColor: var(--color);

	@include media-breakpoint-down(sm) {
		align-items: center;
	}

	figure {
		@include media-breakpoint-down(sm) {
			max-width: 40px;
			max-height: 40px;
			margin-right: 15px;
		}

		@include media-breakpoint-up(md) {
			position: absolute;
			top: 0;
			left: 0;
			max-width: 50px;
			max-height: 50px;
		}

		img {
			border-radius: 100%;
		}
	}

	section {
		display: flex;
		width: 100%;

		@include media-breakpoint-down(sm) {
			flex-direction: column;
		}

		@include media-breakpoint-up(md) {
			align-items: center;
			justify-content: space-between;
			align-self: flex-start;
		}
	}
}

.ct-comment-author {
	font-weight: bold;
	max-width: 60%;
}

.ct-comment-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-size: 11px;
	font-weight: 500;
	text-transform: uppercase;
	color: rgba(44, 62, 80, 0.6);
}

.comment-edit-link {
	@include media-breakpoint-down(sm) {
		display: none;
	}

	&:before {
		content: '/';
		margin-left: 3px;
		margin-right: 3px;
	}
}

.comment-reply-link {
	display: flex;
	align-items: center;
	height: 25px;
	padding: 0 10px;
	border-radius: 3px;
	transition: color 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955),
		background 0.12s cubic-bezier(0.455, 0.03, 0.515, 0.955);

	@include media-breakpoint-down(sm) {
		margin-left: auto;
	}

	@include media-breakpoint-up(md) {
		margin-left: 20px;
	}

	.ct-has-reply-form & {
		opacity: 0.5;
		user-select: none;
		pointer-events: none;
	}
}

// reply title
#reply-title {
	--fontSize: 20px;

	display: flex;
	align-items: center;
	justify-content: space-between;
}

#cancel-comment-reply-link {
	display: flex;
	align-items: center;
	height: 25px;
	padding: 0 10px;
	font-size: 11px;
	font-weight: 500;
	text-transform: uppercase;
	border-radius: 3px;
	color: var(--buttonTextInitialColor, #fff);
	background: var(--buttonInitialColor);

	&:hover {
		color: var(--buttonTextHoverColor, #fff);
		background: var(--buttonHoverColor);
	}
}

// respond form
.comment-respond {
	&:not(:only-child) {
		.comment-reply-title {
			padding-top: 40px;
			border-top: 1px solid var(--border-color);
		}
	}
}

.comment-form {
	display: grid;
	grid-column-gap: 20px;
	grid-row-gap: 1.5em;
	--contentSpacing: 0;

	@include media-breakpoint-up(md) {
		grid-template-columns: var(--grid-template-columns, repeat(2, 1fr));

		&.has-website-field {
			--grid-template-columns: repeat(3, 1fr);
		}

		> * {
			grid-column: var(--grid-column, 1/-1);
		}

		[class*='comment-form-input'] {
			display: flex;
			align-items: center;
			--grid-column: span 1;
		}
	}

	.required {
		color: #cc0000;
		// margin-left: 3px;
	}
}

// form labels
[class*='comment-form-input'],
[class*='comment-form-textarea'] {
	position: relative;

	label {
		position: absolute;
		display: flex;
		align-items: center;
		margin: 0;
		cursor: text;
		color: var(--form-text-initial-color);
		height: var(--has-classic-forms, var(--form-field-height, 40px));
		padding: var(--has-classic-forms, var(--form-field-padding, 0 15px));
		opacity: 1;
		visibility: visible;
		transition: opacity 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955),
			transform 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955),
			visibility 0.15s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	}
}

[class*='comment-form-textarea'] {
	label {
		top: var(--has-classic-forms, 7px);
	}
}

// hide labels on focus
.comment-form-textarea,
.comment-form-input-url,
.comment-form-input-email,
.comment-form-input-author {
	&:focus-within,
	&.ct-not-empty {
		label {
			opacity: 0;
			visibility: hidden;
			transform: translate3d(var(--labels-offset, 20px), 0, 0);
		}
	}
}

.comment-form-cookies-consent {
	+ .gdpr-confirm-policy {
		margin-top: -1em;
	}
}

// no comments
.no-comments {
	padding: 15px 20px;
	text-align: center;
	background: rgba(233, 235, 239, 0.5);
	border-radius: 2px;
}
