.widgets--consultation-fit {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: var(--pd);
	align-items: stretch;
	padding: 5rem var(--pd);
	background: var(--gr1);

	> .conversion {
		position: relative;
		display: flex;
		overflow: hidden;
		min-width: 0;
		padding: 3rem;
		border-radius: 1.5rem;
		background-color: var(--c2);
		flex-direction: column;

		&::after {
			content: "";
			position: absolute;
			right: -7rem;
			bottom: -8rem;
			width: 18rem;
			aspect-ratio: 1 / 1;
			border: var(--px) solid var(--c1);
			border-radius: 50%;
		}

		> * {
			position: relative;
			z-index: 1;
		}

		> h2 {
			margin: 0;
			color: var(--bg);
			font-size: 2.4rem;
			font-weight: 800;
			line-height: 120%;
		}

		> .text {
			max-width: 30rem;
			margin-top: 1.5rem;
			color: var(--c7);
			font-size: 1.05rem;
			line-height: 165%;

			> *:last-child {
				margin-bottom: 0;
			}
		}

		> .buttons {
			margin-top: auto;
			padding-top: 3rem;

			> .cta {
				&[href=""] {
					display: none;
				}
			}
		}
	}

	> .criteria {
		display: flex;
		min-width: 0;
		flex-direction: column;

		> .criterion {
			display: grid;
			grid-template-columns: 3.5rem minmax(0, 1fr);
			gap: 1.25rem;
			align-items: start;
			min-width: 0;
			margin: 0;
			padding: 1.5rem;
			border-top: var(--px) solid var(--c7);

			&:last-child {
				border-bottom: var(--px) solid var(--c7);
			}

			> .check {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 3.5rem;
				aspect-ratio: 1 / 1;
				border-radius: 50%;
				background-color: var(--c8);
				color: var(--c3);

				> svg {
					width: 1.5rem;
					height: 1.5rem;
				}
			}

			> .copy {
				> h3 {
					margin: 0 0 0.4rem;
					color: var(--c1);
					font-size: 1.2rem;
					font-weight: 800;
					line-height: 135%;
				}

				> .text {
					color: var(--g4);
					font-size: 0.95rem;
					line-height: 155%;

					> *:last-child {
						margin-bottom: 0;
					}
				}
			}
		}
	}

	@media (max-width: 1279px) {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);

		> .conversion {
			padding: 2.5rem;
		}
	}

	@media (max-width: 991px) {
		grid-template-columns: minmax(0, 1fr);

		> .conversion {
			> .text {
				max-width: 42rem;
			}

			> .buttons {
				margin-top: 0;
			}
		}
	}

	@media (max-width: 767px) {
		padding-block: 4rem;

		> .conversion {
			padding: 2rem;

			> h2 {
				font-size: 2rem;
			}
		}
	}

	@media (max-width: 540px) {
		padding-block: 3rem;

		> .conversion {
			padding: 1.5rem;

			> .buttons > .cta {
				width: 100%;
			}
		}

		> .criteria > .criterion {
			grid-template-columns: 2.75rem minmax(0, 1fr);
			gap: 1rem;
			padding: 1.25rem 0;

			> .check {
				width: 2.75rem;
			}
		}
	}
}
