/*
 * Team comments slot. Only live site styles (design brief section 5):
 * Inter 400 and 700, whole pixels, existing colours.
 *
 * The theme's invisible newsletter box (opacity 0) stays exactly where it is
 * and keeps reserving its space, so "Similar email inspiration" does not move
 * at all. Its height is 184 or 208px on desktop depending on which random
 * line of copy it prints, and about 187px on mobile. The compact card floats
 * over it from the top of the column. Only the expanded list (.is-open) takes
 * the box's place and pushes Similar down; "Show fewer" puts it back.
 */

.ec-slot {
	position: relative;
	height: 0;
	font-family: "Inter", sans-serif;
	text-align: left;
}
.ec-slot + .eml-review-newsletter {
	pointer-events: none;
}
.ec-slot.is-open {
	height: auto;
	margin-bottom: 36px;
}
.ec-slot.is-open + .eml-review-newsletter {
	display: none !important;
}

.ec-card {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 3;
	box-sizing: border-box;
	padding: 14px 20px;
	background: #FFFFFF;
	border-radius: 4px; /* Same corners and shadow as the email card beside it. */
	box-shadow: 0 0 10px rgba(39, 49, 65, 0.1);
	color: #222222;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: normal;
}
.ec-card * {
	letter-spacing: inherit;
}
.ec-slot.is-open .ec-card {
	position: relative;
	padding-bottom: 16px;
}
.ec-card a {
	text-decoration: none;
}
.ec-card button {
	font-family: inherit;
	margin: 0;
	border: 0;
	background: none;
	cursor: pointer;
	padding: 0;
	box-shadow: none;
	text-transform: none;
	letter-spacing: 0;
}

/* Signed-out card and Start a team prompt */
.ec-card--cta {
	padding: 24px;
}
.ec-cta-title {
	font-size: 16px;
	font-weight: 700;
	line-height: 20px;
	color: #222222;
}
.ec-cta-text {
	margin: 8px 0 16px !important;
	padding: 0 !important;
	font-size: 14px !important;
	line-height: 1.5 !important;
	color: #666666 !important;
}
.ec-cta-actions {
	display: flex;
	align-items: center;
	gap: 18px;
}
.ec-btn,
.ec-card .ec-btn {
	display: inline-block;
	padding: 8px 20px;
	border-radius: 30px;
	background: #EB3656;
	color: #FFFFFF !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
	white-space: nowrap;
	cursor: pointer;
}
.ec-btn:hover,
.ec-card .ec-btn:hover {
	background: #D02A4B;
}
.ec-btn[disabled] {
	opacity: 0.5;
	cursor: default;
}
.ec-link,
.ec-card .ec-link {
	font-size: 14px;
	color: #EB3656 !important;
}

/* Header: title and team switcher */
.ec-head {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 30px;
}
.ec-title {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	line-height: 20px;
	text-transform: uppercase;
	white-space: nowrap;
	color: #666666;
}
.ec-head-gap {
	flex: 1;
}
.ec-team-name {
	min-width: 0;
	max-width: 180px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 14px;
	color: #999999;
}
.ec-switch {
	position: relative;
	min-width: 0;
}
.ec-card .ec-switch-btn {
	display: inline-flex;
	align-items: center;
	max-width: 170px;
	padding: 8px 14px;
	border-radius: 9999px;
	background: #F5F5F7;
	color: #16181D;
	font-size: 14px;
	line-height: 14px;
	white-space: nowrap;
}
.ec-switch-btn span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ec-chev {
	flex: 0 0 auto;
	display: inline-block;
	margin-left: 8px;
	vertical-align: middle;
}
.ec-menu {
	position: absolute;
	right: 0;
	top: 38px;
	z-index: 20;
	width: 300px;
	box-sizing: border-box;
	padding: 6px;
	background: #FFFFFF;
	border: 1px solid #ECECEE;
	border-radius: 14px;
	box-shadow: 0 16px 44px rgba(22, 24, 29, 0.16);
}
.ec-card .ec-menu-item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 12px 16px;
	border-radius: 10px;
	text-align: left;
	color: #16181D;
}
.ec-card .ec-menu-item:hover,
.ec-card .ec-menu-item.is-current {
	background: #F4F4F6;
}
.ec-card .ec-menu-new {
	margin-top: 6px;
	border-top: 1px solid #EEEEEE;
	border-radius: 0 0 10px 10px;
	font-size: 13px;
	font-weight: 700;
	color: #EB3656;
}
.ec-card .ec-menu-new[disabled] {
	color: #BBBBBB;
	cursor: default;
}
.ec-menu-limit {
	padding: 0 16px 10px;
	font-size: 12px;
	line-height: 1.45;
	color: #999999;
}
.ec-menu-name {
	font-size: 15px;
	line-height: 20px;
	color: #16181D;
}
.ec-menu-sub {
	margin-top: 2px;
	font-size: 12px;
	line-height: 16px;
	color: #999999;
}
.ec-menu-text {
	flex: 1;
	min-width: 0;
}

/* Composer */
.ec-composer {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 10px;
}
.ec-input,
.ec-card textarea.ec-input {
	flex: 1;
	min-width: 0;
	height: 40px;
	min-height: 40px;
	margin: 0;
	box-sizing: border-box;
	padding: 9px 18px;
	border: 1px solid #999999;
	border-radius: 20px;
	background: #FFFFFF;
	color: #222222;
	font-family: "Inter", sans-serif;
	font-size: 14px;
	line-height: 20px;
	resize: none;
	overflow: hidden;
	outline: none;
	box-shadow: none;
}
.ec-input:placeholder-shown {
	white-space: nowrap;
	text-overflow: ellipsis;
}
.ec-input::placeholder {
	color: #999999;
	opacity: 1;
}
.ec-input:focus {
	border-color: #666666;
}
.ec-input.is-error {
	border-color: #EB3656;
}
.ec-slot:not(.is-open) .ec-composer .ec-input {
	white-space: nowrap;
	overflow-x: hidden;
	overflow-y: hidden;
}
.ec-composer .ec-btn {
	flex: 0 0 auto;
}
.ec-counter {
	margin-top: 4px;
	padding-left: 18px;
	font-size: 12px;
	line-height: 16px;
	color: #999999;
}
.ec-counter.is-over {
	color: #EB3656;
}
.ec-post-error {
	margin-top: 6px;
	padding-left: 18px;
	font-size: 13px;
	line-height: 16px;
	color: #EB3656;
}
.ec-post-error button {
	color: #EB3656;
	font-size: 13px;
	font-weight: 700;
	text-decoration: underline;
}

/* @mention suggestions */
.ec-mentions {
	position: absolute;
	top: 46px;
	left: 12px;
	z-index: 25;
	width: 240px;
	overflow: hidden;
	background: #FFFFFF;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(22, 24, 29, 0.06), 0 10px 28px rgba(22, 24, 29, 0.09);
}
.ec-card .ec-mention-opt {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 9px 13px;
	font-size: 14px;
	font-weight: 700;
	color: #444444;
	text-align: left;
}
.ec-card .ec-mention-opt.is-active {
	background: #F8F8F8;
}
.ec-mention-none {
	padding: 10px 13px;
	font-size: 13px;
	line-height: 18px;
	color: #999999;
}
.ec-mention {
	color: #EB3656;
	font-weight: 700;
}

/* Avatars */
.ec-av {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	overflow: hidden;
	border-radius: 50%;
	background: #444444;
	color: #FFFFFF;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}
.ec-av img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}
.ec-av--sm {
	width: 24px;
	height: 24px;
	font-size: 11px;
}
.ec-av--reply {
	width: 22px;
	height: 22px;
	background: #D9D9D9;
	color: #444444;
	font-size: 10px;
}
.ec-av--opt {
	width: 26px;
	height: 26px;
	background: #D9D9D9;
	color: #444444;
	font-size: 10px;
}

/* Compact preview and footer */
.ec-preview {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 10px;
}
.ec-preview-body {
	flex: 1;
	min-width: 0;
}
.ec-meta {
	font-size: 13px;
	line-height: 18px;
	color: #999999;
}
.ec-meta b {
	font-weight: 700;
	color: #444444;
}
.ec-one-line {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 14px;
	line-height: 20px;
	color: #222222;
}
.ec-one-line br {
	display: none;
}
.ec-foot {
	display: flex;
	align-items: center;
	margin-top: 8px;
	font-size: 13px;
	line-height: 16px;
}
.ec-card .ec-more {
	font-size: 13px;
	font-weight: 700;
	line-height: 16px;
	color: #EB3656;
}
.ec-counts {
	margin-left: auto;
	font-size: 12px;
	line-height: 16px;
	color: #999999;
}
.ec-note {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #666666;
}
.ec-note button {
	color: #EB3656;
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
}

/* Expanded thread list */
.ec-list {
	margin-top: 12px;
}
.ec-thread {
	display: flex;
	gap: 10px;
	padding: 12px 0;
	border-top: 1px solid #EEEEEE;
}
.ec-thread.is-flash {
	background: #F8F8F8;
	margin: 0 -20px;
	padding: 12px 20px;
}
.ec-thread-main {
	flex: 1;
	min-width: 0;
}
.ec-name {
	font-size: 14px;
	font-weight: 700;
	color: #444444;
}
.ec-left {
	font-size: 12px;
	color: #999999;
}
.ec-body {
	margin-top: 2px;
	font-size: 14px;
	line-height: 1.5;
	color: #222222;
	overflow-wrap: anywhere;
}
.ec-body a {
	color: #EB3656;
	text-decoration: underline;
}
.ec-muted-text {
	margin-top: 2px;
	font-size: 14px;
	line-height: 1.5;
	color: #999999;
}
.ec-muted-text button {
	margin-left: 8px;
	font-size: 13px;
	font-weight: 700;
	color: #666666;
}
.ec-reply {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}
.ec-reply-main {
	flex: 1;
	min-width: 0;
}
.ec-reply .ec-name {
	font-size: 13px;
}
.ec-actions {
	display: flex;
	gap: 16px;
	margin-top: 8px;
	font-size: 13px;
	line-height: 16px;
}
.ec-card .ec-act {
	font-size: 13px;
	line-height: 16px;
	font-weight: 700;
	color: #666666;
}
.ec-card .ec-act--red {
	color: #EB3656;
}
.ec-card .ec-act--quiet {
	font-weight: 400;
	color: #999999;
}
.ec-reply-box {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}
.ec-reply-box .ec-btn {
	flex: 0 0 auto;
}
.ec-resolved-line {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 12px 0;
	border-top: 1px solid #EEEEEE;
	font-size: 13px;
	line-height: 16px;
	color: #999999;
}
.ec-card .ec-resolved-line button {
	font-size: 13px;
	font-weight: 700;
	color: #666666;
}
.ec-list-foot {
	display: flex;
	align-items: center;
	padding-top: 12px;
	border-top: 1px solid #EEEEEE;
	font-size: 13px;
	font-weight: 700;
	line-height: 16px;
}
.ec-card .ec-list-foot button {
	font-size: 13px;
	font-weight: 700;
	line-height: 16px;
	color: #666666;
}
.ec-card .ec-list-foot .ec-fewer {
	margin-left: auto;
	color: #EB3656;
}

/* Own-comment menu (Edit, Delete) and owner Hide */
.ec-dots {
	position: relative;
	margin-left: auto;
}
.ec-card .ec-dots-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 18px;
}
.ec-dots-menu {
	position: absolute;
	right: 0;
	top: 22px;
	z-index: 20;
	width: 140px;
	padding: 6px;
	background: #FFFFFF;
	border: 1px solid #ECECEE;
	border-radius: 14px;
	box-shadow: 0 16px 44px rgba(22, 24, 29, 0.16);
}
.ec-card .ec-dots-menu button {
	display: block;
	width: 100%;
	padding: 10px 12px;
	border-radius: 10px;
	text-align: left;
	font-size: 14px;
	color: #16181D;
}
.ec-card .ec-dots-menu button:hover {
	background: #F4F4F6;
}
.ec-meta-row {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	line-height: 18px;
	color: #999999;
}

/* Loading skeleton */
.ec-skel {
	display: flex;
	gap: 10px;
	margin-top: 14px;
}
.ec-skel-av {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: #EEEEEE;
}
.ec-skel-lines {
	flex: 1;
}
.ec-skel-lines div {
	height: 10px;
	border-radius: 4px;
	background: #EEEEEE;
}
.ec-skel-lines div + div {
	margin-top: 8px;
}

/* Mobile: jump link pill in the band (signed in, only when there are comments) */
.ec-jump {
	display: none;
}
@media (max-width: 1040px) {
	.ec-jump {
		display: inline-flex;
		align-items: center;
		margin-top: 16px;
		padding: 8px 16px;
		border-radius: 30px;
		background: #292929;
		color: #999999 !important;
		font-family: "Inter", sans-serif;
		font-size: 13px;
		line-height: 16px;
		letter-spacing: normal;
		word-spacing: normal;
		text-decoration: none !important;
	}
	.ec-menu {
		position: fixed;
		left: 0;
		right: 0;
		top: auto;
		bottom: 0;
		width: auto;
		border-radius: 12px 12px 0 0;
		padding: 8px 16px 32px;
	}
}
@media (max-width: 520px) {
	.ec-card--cta {
		padding: 20px;
	}
}

/* Polish pass (2026-10-18, approved by Andy) */


/* One menu per comment, shown on hover where hover exists. */
.ec-cmt {
	position: relative;
}
@media (hover: hover) {
	.ec-cmt .ec-dots {
		opacity: 0;
		transition: opacity 0.15s;
	}
	.ec-cmt:hover .ec-dots,
	.ec-cmt .ec-dots:focus-within,
	.ec-cmt .ec-dots:has(.ec-dots-menu) {
		opacity: 1;
	}
}

/* Icons in the thread actions. */
.ec-card .ec-act {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.ec-icon {
	flex: 0 0 auto;
}
.ec-actions {
	align-items: center;
}

/* More room between threads; the list starts without a divider. */
.ec-list {
	margin-top: 6px;
}
.ec-thread {
	padding: 16px 0;
}
.ec-list > .ec-thread:first-child,
.ec-list > .ec-resolved-line:first-child,
.ec-list > .ec-note:first-child + .ec-thread {
	border-top: 0;
}
.ec-list > .ec-thread:first-child {
	padding-top: 10px;
}

/* Replies hang off a thin line, so they read as part of the thread. */
.ec-reply {
	margin-top: 0;
	padding-top: 10px;
	padding-left: 12px;
	border-left: 2px solid #EEEEEE;
}
.ec-thread-main > .ec-cmt + .ec-reply {
	margin-top: 10px;
}

/* More breathing room in the expanded list (Andy, 2026-10-18). Scoped to
   .is-open so the compact card keeps fitting the 184px slot. */
.ec-slot.is-open .ec-card {
	padding: 28px 32px;
}
.ec-slot.is-open .ec-composer {
	margin-top: 24px;
}
.ec-slot.is-open .ec-list {
	margin-top: 16px;
}
.ec-slot.is-open .ec-thread {
	gap: 14px;
	padding: 28px 0;
}
.ec-slot.is-open .ec-list > .ec-thread:first-child {
	padding-top: 16px;
}
.ec-slot.is-open .ec-thread.is-flash {
	margin: 0 -32px;
	padding: 28px 32px;
}
.ec-slot.is-open .ec-body {
	margin-top: 8px;
	line-height: 1.6;
}
.ec-slot.is-open .ec-thread-main > .ec-cmt + .ec-reply {
	margin-top: 22px;
}
.ec-slot.is-open .ec-reply {
	gap: 12px;
	padding-top: 14px;
	padding-bottom: 4px;
	padding-left: 18px;
}
.ec-slot.is-open .ec-actions {
	gap: 24px;
	margin-top: 20px;
}
.ec-slot.is-open .ec-reply-box {
	margin-top: 20px;
}
.ec-slot.is-open .ec-resolved-line {
	padding: 16px 0;
}
.ec-slot.is-open .ec-list-foot {
	padding-top: 16px;
}
