.elementor-widget-wp_factory_multicolumn,
.elementor-widget-wp_factory_multicolumn > .elementor-widget-container {
	width: 100%;
}

.wpf-benefits {
	--wpf-benefits-bg: #fff;
	--wpf-benefits-border: #ddd;
	--wpf-benefits-border-width: 1px;
	--wpf-benefits-max: 1440px;
	--wpf-benefits-side: 30px;
	--wpf-benefits-y: 50px;
	--wpf-benefits-columns: 4;
	--wpf-benefits-compact-columns: 1;
	--wpf-benefits-column-gap: 15px;
	--wpf-benefits-row-gap: 60px;
	--wpf-benefits-media-gap: 25px;
	--wpf-benefits-text-gap: 15px;
	--wpf-benefits-title-color: #222;
	--wpf-benefits-title-size: 20px;
	--wpf-benefits-title-line: 28px;
	--wpf-benefits-title-weight: 600;
	--wpf-benefits-copy-color: #222;
	--wpf-benefits-copy-size: 18px;
	--wpf-benefits-copy-line: 30px;
	--wpf-benefits-copy-weight: 400;
	--wpf-benefits-shine: rgba(255, 255, 255, .3);
	--wpf-benefits-shine-duration: 1s;
	--wpf-benefits-focus: #222;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--wpf-benefits-max);
	margin-inline: auto;
	padding-inline: var(--wpf-benefits-side);
	background: var(--wpf-benefits-bg);
	color: var(--wpf-benefits-copy-color);
	font-family: Nunito, sans-serif;
}

.wpf-benefits *,
.wpf-benefits *::before,
.wpf-benefits *::after {
	box-sizing: border-box;
}

.wpf-benefits__inner {
	padding-block: var(--wpf-benefits-y);
	border-block: var(--wpf-benefits-border-width) solid var(--wpf-benefits-border);
}

.wpf-benefits__grid {
	display: grid;
	grid-template-columns: repeat(var(--wpf-benefits-columns), minmax(0, 1fr));
	column-gap: var(--wpf-benefits-column-gap);
	row-gap: var(--wpf-benefits-row-gap);
}

.wpf-benefits__item,
.wpf-benefits__content {
	min-width: 0;
}

.wpf-benefits__item { align-self: start; }

.wpf-benefits__content {
	display: block;
	color: inherit;
	text-decoration: none;
}

.wpf-benefits__media {
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	height: var(--wpf-benefits-icon-height, 55px);
	margin-bottom: var(--wpf-benefits-media-gap);
	overflow: hidden;
}

.wpf-benefits__image {
	display: block;
	width: var(--wpf-benefits-icon-width, 55px);
	height: var(--wpf-benefits-icon-height, 55px);
	max-width: none;
	object-fit: contain;
	object-position: left top;
}

.wpf-benefits__title,
.wpf-benefits__description {
	margin: 0;
	padding: 0;
}

.wpf-benefits__title {
	color: var(--wpf-benefits-title-color);
	font-size: var(--wpf-benefits-title-size);
	font-weight: var(--wpf-benefits-title-weight);
	line-height: var(--wpf-benefits-title-line);
}

.wpf-benefits--underline .wpf-benefits__title {
	text-decoration: underline;
	text-decoration-thickness: auto;
	text-underline-offset: auto;
}

.wpf-benefits__description {
	margin-top: var(--wpf-benefits-text-gap);
	color: var(--wpf-benefits-copy-color);
	font-size: var(--wpf-benefits-copy-size);
	font-weight: var(--wpf-benefits-copy-weight);
	line-height: var(--wpf-benefits-copy-line);
}

.wpf-benefits__content[href]:focus-visible {
	outline: 2px solid var(--wpf-benefits-focus);
	outline-offset: 4px;
}

.wpf-benefits--shine .wpf-benefits__media::before {
	position: absolute;
	z-index: 1;
	top: 0;
	left: -75%;
	display: block;
	width: 50%;
	height: 100%;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0), var(--wpf-benefits-shine), rgba(255, 255, 255, 0));
	content: "";
	pointer-events: none;
	transform: skewX(-20deg);
}

.wpf-benefits--shine .wpf-benefits__item:hover .wpf-benefits__media::before,
.wpf-benefits--shine .wpf-benefits__item:focus-within .wpf-benefits__media::before {
	animation: wpf-benefits-shine var(--wpf-benefits-shine-duration) ease;
}

@keyframes wpf-benefits-shine {
	100% { left: 125%; }
}

@media (max-width: 1199px) {
	.wpf-benefits {
		--wpf-benefits-side: 15px;
		--wpf-benefits-y: 42.5px;
		--wpf-benefits-columns: 3;
	}
}

@media (max-width: 767px) {
	.wpf-benefits {
		--wpf-benefits-y: 35px;
		--wpf-benefits-columns: 2;
		--wpf-benefits-row-gap: 6px;
	}
}

@media (max-width: 415px) {
	.wpf-benefits .wpf-benefits__grid {
		grid-template-columns: repeat(var(--wpf-benefits-compact-columns), minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.wpf-benefits--shine .wpf-benefits__media::before { display: none; }
}
