/*
 * Stili UI sections riusabili.
 */

.icom-payment-methods {
	--icom-payment-methods-bg: #F8F8F8;
	margin: 3rem 0;
	padding: 3rem 0 3.4rem;
	background: var(--icom-payment-methods-bg);
	box-shadow: 0 0 0 100vmax var(--icom-payment-methods-bg);
	clip-path: inset(0 -100vmax);
}

.icom-payment-methods__intro {
	max-width: 42rem;
	margin: 0 auto 5rem;
	text-align: center;
}

.icom-payment-methods__intro h2 {
	margin: 0 0 0.55rem;
	color: #111827;
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.15;
}

.icom-payment-methods__intro p {
	margin: 0;
	color: #4b5563;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.5;
}

.icom-payment-methods__grid {
	display: grid;
	max-width: 72rem;
	margin: 0 auto;
	grid-template-columns: minmax(0, 1.618fr) minmax(0, 1fr);
	gap: 3rem;
	align-items: start;
}

.icom-payment-methods__group--primary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5rem;
}

.icom-payment-methods__group--business {
	position: relative;
	display: flex;
	justify-content: end;
	margin-left: 3rem;
}

.icom-payment-methods__group--business::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.5rem;
	width: 1px;
	background: #d7dce4;
	content: "";
}

.icom-payment-methods__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	min-height: 0;
	padding: 0;
	text-align: center;
}

.icom-payment-methods__card--business {
	position: relative;
	/* max-width: 15rem; */
}

.icom-payment-methods__card--business .icom-payment-methods__badge {
	position: absolute;
	top: -2.1rem;
	left: 50%;
	margin: 0;
	transform: translateX(-50%);
}

.icom-payment-methods__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 8.6rem;
	margin: -1.45rem 0 1rem;
	padding: 0.22rem 1rem;
	border-radius: 999px;
	background: #ECFDF3;
	color: #009344;
	font-size: 0.82rem;
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

.icom-payment-methods__image {
	display: block;
	width: auto;
	max-width: 5.8rem;
	height: 5.8rem;
	object-fit: contain;
	border-radius: 0.6rem;
	box-shadow: 0 0.75rem 1.8rem rgba(17, 24, 39, 0.08);
}

.icom-payment-methods__caption {
	max-width: 14rem;
	margin: 1rem auto 0;
	color: #111827;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.16;
	text-align: center;
}

.icom-payment-methods__description {
	max-width: 14rem;
	margin: 0.7rem auto 0;
	color: #6b7280;
	font-size: 0.98rem;
	font-weight: 500;
	line-height: 1.28;
	text-align: center;
}

@media (min-width: 768px) and (max-width: 1000px) {
	.icom-payment-methods__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3.5rem 5rem;
	}

	.icom-payment-methods__group--primary,
	.icom-payment-methods__group--business {
		display: contents;
	}

	.icom-payment-methods__card--cards {
		order: 1;
	}

	.icom-payment-methods__card--paypal {
		order: 2;
	}

	.icom-payment-methods__card--amex {
		order: 3;
	}

	.icom-payment-methods__card--nexi {
		order: 4;
	}

	.icom-payment-methods__group--business {
		margin-left: 0;
	}

	.icom-payment-methods__group--business::before {
		display: none;
	}

}

@media (max-width: 767px) {
	.icom-payment-methods__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3.5rem 1.5rem;
	}

	.icom-payment-methods__group--primary,
	.icom-payment-methods__group--business {
		display: contents;
	}

	.icom-payment-methods__card--cards {
		order: 1;
	}

	.icom-payment-methods__card--paypal {
		order: 2;
	}

	.icom-payment-methods__card--amex {
		order: 3;
	}

	.icom-payment-methods__card--nexi {
		order: 4;
	}

	.icom-payment-methods__group--business::before {
		display: none;
	}

	.icom-payment-methods__description {
		display: none;
	}
}

.icom-work-with-us {
	--icom-work-with-us-image: none;
	--icom-work-with-us-blur: 2px;
	position: relative;
	isolation: isolate;
	margin: 3rem 0;
	padding: 3rem 0;
	background: #111827;
	clip-path: inset(0 -100vmax);
}

.icom-work-with-us::before {
	position: absolute;
	inset: -0.5rem auto -0.5rem 50%;
	z-index: -1;
	width: calc(100vw + 1rem);
	background-image: linear-gradient(rgba(17, 24, 39, 0.58), rgba(17, 24, 39, 0.58)), var(--icom-work-with-us-image);
	background-position: center center;
	background-size: cover;
	content: "";
	/* filter: blur(var(--icom-work-with-us-blur)); */
	transform: translateX(-50%);
}

.icom-work-with-us__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: 72rem;
	margin: 0 auto;
	min-height: 14rem;
}

.icom-work-with-us__body {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2.9rem;
	width: min(100%, 32rem);
	text-align: center;
}

.icom-work-with-us__content h2 {
	margin: 0 0 0.65rem;
	color: #fff;
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.15;
}

.icom-work-with-us__content p {
	max-width: 32rem;
	margin: 0;
	color: rgba(255, 255, 255, 0.78);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
}

.icom-work-with-us__actions {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	gap: 0.65rem 1rem;
	align-items: center;
	justify-content: center;
}

.icom-work-with-us__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	flex: 0 0 19rem;
	width: 19rem;
	max-width: 100%;
	padding: 0.65rem 1rem;
	border-radius: 5px;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	background-color: rgba(255, 255, 255, 0.16);
	transition: background-color 160ms ease, color 160ms ease;
}

.icom-work-with-us__link:hover,
.icom-work-with-us__link:focus {
	background-color: rgba(255, 255, 255, 0.16);
	color: #fff;
	text-decoration: none;
	outline: 3px solid white;
	transition: 0.1s linear;
}

@media (max-width: 767px) {
	.icom-work-with-us {
		padding: 2.6rem 0;
	}

	.icom-work-with-us__inner {
		min-height: 12rem;
	}

	.icom-work-with-us__actions {
		flex-direction: column;
		gap: 0.45rem;
	}

	.icom-work-with-us__link {
		flex: 0 0 auto;
		width: min(100%, 19rem);
	}
}
