/* Feature Comparison block */

.ml-versus {
	position: relative;
	padding: 96px 0;
	overflow: hidden;
	background: #fff;
}

/* The same soft glow the other landing sections sit on, kept behind the board. */
.ml-versus::before {
	position: absolute;
	z-index: 0;
	top: 120px;
	left: 50%;
	width: 1040px;
	height: 640px;
	content: "";
	pointer-events: none;
	background: radial-gradient(ellipse 50% 50% at 50% 50%, #91b9f440 0%, #91b9f400 100%);
	transform: translateX(-50%);
}

.ml-versus .ml-landing-block__inner {
	width: min(100% - 48px, var(--site-width));
}

.ml-versus__header {
	max-width: var(--reading-width);
	margin: 0 auto 48px;
	text-align: center;
}

.ml-versus__heading {
	margin: 0;
	color: #050505;
	font-size: clamp(32px, 4vw, 48px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	text-wrap: balance;
}

.ml-versus__description {
	margin: 16px 0 0;
	color: #344054;
	font-size: 20px;
	font-weight: 400;
	line-height: 1.45;
}

/* One board: a header row naming the columns, then one row per topic. Both use
   the same template, so the columns line up without being a table. */
.ml-versus__board {
	--ml-versus-columns: minmax(0, 0.72fr) minmax(0, 1fr) minmax(0, 1fr);

	position: relative;
	overflow: hidden;
	border: 1px solid #e4ecfb;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 24px 48px -24px #005ff929;
}

.ml-versus__head,
.ml-versus__row {
	display: grid;
	grid-template-columns: var(--ml-versus-columns);
}

.ml-versus__head-cell {
	display: flex;
	align-items: center;
	min-height: 96px;
	padding: 24px 32px;
}

/* Multilogin's column is tinted top to bottom, and its header carries the accent. */
.ml-versus__head-cell--mine,
.ml-versus__side--mine {
	background: #f5f8ff;
}

.ml-versus__head-cell--mine {
	box-shadow: inset 0 4px 0 var(--color-primary);
}

.ml-versus__brand-logo {
	display: block;
	width: auto;
	max-width: min(100%, 200px);
	height: auto;
	max-height: 32px;
	object-fit: contain;
}

span.ml-versus__brand-logo,
.ml-versus__brand-name {
	color: #050505;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.2;
}

.ml-versus__rows {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Outranks the entry-content list spacing in frontend.css. */
.ml-landing-block.ml-versus .ml-landing-block__inner .ml-versus__rows {
	margin: 0;
	padding: 0;
}

.ml-landing-block.ml-versus .ml-versus__rows > .ml-versus__row {
	margin: 0;
}

.ml-versus__row {
	border-top: 1px solid #eaecf0;
}

.ml-versus__topic,
.ml-versus__side {
	min-width: 0;
	padding: 32px;
}

.ml-versus__topic {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}

.ml-versus__icon {
	display: inline-grid;
	flex: 0 0 auto;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: #eaf0ff;
	color: var(--color-primary);
}

.ml-versus__icon svg,
.ml-versus__icon img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.ml-versus__title {
	margin: 0;
	color: #050505;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-wrap: balance;
}

/* On wide screens the header row names the columns; the per-cell names only
   stay around for screen readers. */
.ml-versus__side-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.ml-versus__copy {
	margin: 0;
	color: #475467;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
}

.ml-versus__side--mine .ml-versus__copy {
	color: #344054;
}

.ml-versus__copy strong,
.ml-versus__copy b {
	color: #101828;
	font-weight: 700;
}

@media (max-width: 900px) {
	.ml-versus {
		padding: 56px 0;
	}

	.ml-versus .ml-landing-block__inner {
		width: min(100% - 32px, var(--site-width));
	}

	.ml-versus__header {
		margin-bottom: 32px;
	}

	.ml-versus__heading {
		font-size: clamp(28px, 8vw, 36px);
	}

	.ml-versus__description {
		font-size: 16px;
	}

	/* Stacked: every topic becomes its own card, and each side names itself. */
	.ml-versus__board {
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.ml-versus__head {
		display: none;
	}

	.ml-versus__rows {
		display: grid;
		gap: 16px;
	}

	.ml-versus__row {
		grid-template-columns: minmax(0, 1fr);
		overflow: hidden;
		border: 1px solid #e4ecfb;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 1px 2px #1018280a;
	}

	.ml-versus__topic {
		flex-direction: row;
		align-items: center;
		gap: 12px;
		padding: 20px 20px 16px;
	}

	.ml-versus__icon {
		width: 40px;
		height: 40px;
		border-radius: 10px;
	}

	.ml-versus__icon svg,
	.ml-versus__icon img {
		width: 20px;
		height: 20px;
	}

	.ml-versus__side {
		padding: 16px 20px 20px;
	}

	.ml-versus__side--theirs {
		border-top: 1px solid #eaecf0;
	}

	.ml-versus__side-label {
		position: static;
		width: auto;
		height: auto;
		margin: 0 0 8px;
		overflow: visible;
		clip: auto;
		color: #667085;
		font-size: 12px;
		font-weight: 700;
		line-height: 1.4;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		white-space: normal;
	}

	.ml-versus__side--mine .ml-versus__side-label {
		color: var(--color-primary);
	}

	.ml-versus__copy {
		font-size: 16px;
		line-height: 1.5;
	}
}

/* Table layout: the recap chart. Same board and logo header as the cards, one
   short line per feature, and it stays a three-column table on phones too. */
.ml-versus--table .ml-versus__board {
	--ml-versus-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr);
}

.ml-versus--table .ml-versus__head-cell {
	min-height: 80px;
	padding: 20px 32px;
}

.ml-versus--table .ml-versus__topic,
.ml-versus--table .ml-versus__side {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 16px 32px;
}

.ml-versus--table .ml-versus__title {
	font-size: 16px;
	line-height: 1.5;
}

.ml-versus--table .ml-versus__copy {
	line-height: 1.5;
}

.ml-versus--table .ml-versus__side--mine .ml-versus__copy {
	color: #101828;
	font-weight: 500;
}

@media (max-width: 900px) {
	.ml-versus--table .ml-versus__board {
		--ml-versus-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, 1fr);

		overflow: hidden;
		border: 1px solid #e4ecfb;
		border-radius: 16px;
		background: #fff;
		box-shadow: 0 1px 2px #1018280a;
	}

	.ml-versus--table .ml-versus__head {
		display: grid;
	}

	.ml-versus--table .ml-versus__rows {
		display: block;
	}

	.ml-versus--table .ml-versus__row {
		grid-template-columns: var(--ml-versus-columns);
		overflow: visible;
		border: 0;
		border-top: 1px solid #eaecf0;
		border-radius: 0;
		box-shadow: none;
	}

	.ml-versus--table .ml-versus__head-cell {
		min-height: 56px;
		padding: 12px;
	}

	.ml-versus--table .ml-versus__brand-logo {
		max-height: 20px;
	}

	.ml-versus--table span.ml-versus__brand-logo,
	.ml-versus--table .ml-versus__brand-name {
		font-size: 14px;
	}

	.ml-versus--table .ml-versus__topic,
	.ml-versus--table .ml-versus__side {
		padding: 12px;
	}

	.ml-versus--table .ml-versus__side--theirs {
		border-top: 0;
	}

	.ml-versus--table :is(.ml-versus__title, .ml-versus__copy) {
		font-size: 14px;
	}

	/* The header row names the columns here as well. */
	.ml-versus--table .ml-versus__side-label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

/* Round country flags (multilogin_render_flags()), sat on the text line. */
.ml-flag {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 8px;
	vertical-align: -4px;
}

.ml-flag svg {
	display: block;
	width: 100%;
	height: 100%;
}
