.bsh-recycling-cycle,
.bsh-recycling-cycle * {
	box-sizing: border-box;
}

.bsh-recycling-cycle {
	--bsh-cycle-green: #073817;
	--bsh-cycle-green-deep: #031f0e;
	--bsh-cycle-orange: #ff7a00;
	--bsh-cycle-white: #ffffff;
	--bsh-cycle-muted: #dcefe2;
	--bsh-cycle-black: #101610;
	--bsh-cycle-title-font: "Poppins", "Montserrat", "Trebuchet MS", Arial, sans-serif;
	--bsh-cycle-text-font: "Poppins", "Montserrat", "Trebuchet MS", Arial, sans-serif;
	position: relative;
	width: min(1180px, calc(100vw - 32px));
	max-width: 1180px;
	margin: 32px auto 40px;
	padding: 44px 44px 38px;
	overflow: hidden;
	border-radius: 24px;
	background: var(--bsh-cycle-green);
	color: var(--bsh-cycle-white) !important;
	box-shadow: 0 30px 75px rgba(3, 31, 14, 0.28);
	isolation: isolate;
}

.elementor .bsh-recycling-cycle {
	left: 50%;
	margin-left: 0;
	margin-right: 0;
	transform: translateX(-50%);
}

.bsh-recycling-cycle__inner {
	position: relative;
	z-index: 1;
}

.bsh-recycling-cycle__flow {
	position: relative;
	padding: 4px 42px 6px;
}

.bsh-recycling-cycle__step-down-arrow {
	position: absolute;
	right: 102px;
	top: 38%;
	z-index: 4;
	display: block;
	width: 24px;
	height: 102px;
	background: linear-gradient(180deg, rgba(255, 173, 50, 0.82), var(--bsh-cycle-orange));
	box-shadow: 0 0 18px rgba(255, 122, 0, 0.36);
	clip-path: polygon(40% 0, 60% 0, 60% calc(100% - 16px), 100% calc(100% - 16px), 50% 100%, 0 calc(100% - 16px), 40% calc(100% - 16px));
	pointer-events: none;
}

.bsh-recycling-cycle__steps {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 94px 64px;
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.bsh-recycling-cycle__step {
	position: relative;
	grid-column: var(--bsh-step-col);
	grid-row: var(--bsh-step-row);
	display: block;
	min-width: 0;
	text-align: center;
}

.bsh-recycling-cycle__step.is-row-1:not(.is-row-end)::after,
.bsh-recycling-cycle__step.is-row-2:not(.is-row-end)::after {
	content: "";
	position: absolute;
	top: 58px;
	z-index: 1;
	width: 60px;
	height: 5px;
	border-radius: 999px;
	background: linear-gradient(90deg, rgba(255, 173, 50, 0.72), var(--bsh-cycle-orange));
	box-shadow: 0 0 18px rgba(255, 122, 0, 0.36);
	pointer-events: none;
}

.bsh-recycling-cycle__step.is-row-1:not(.is-row-end)::before,
.bsh-recycling-cycle__step.is-row-2:not(.is-row-end)::before {
	content: "";
	position: absolute;
	top: 51px;
	z-index: 2;
	width: 0;
	height: 0;
	pointer-events: none;
}

.bsh-recycling-cycle__step.is-row-1:not(.is-row-end)::after {
	right: -62px;
}

.bsh-recycling-cycle__step.is-row-1:not(.is-row-end)::before {
	right: -68px;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-left: 16px solid var(--bsh-cycle-orange);
}

.bsh-recycling-cycle__step.is-row-2:not(.is-row-end)::after {
	left: -62px;
	background: linear-gradient(270deg, rgba(255, 173, 50, 0.72), var(--bsh-cycle-orange));
}

.bsh-recycling-cycle__step.is-row-2:not(.is-row-end)::before {
	left: -68px;
	border-top: 9px solid transparent;
	border-bottom: 9px solid transparent;
	border-right: 16px solid var(--bsh-cycle-orange);
}

.bsh-recycling-cycle__icon-wrap {
	position: relative;
	display: grid;
	width: 142px;
	height: 142px;
	margin: 0 auto 18px;
	place-items: center;
}

.bsh-recycling-cycle__icon {
	position: relative;
	z-index: 2;
	display: grid;
	width: 124px;
	height: 124px;
	place-items: center;
	border: 7px solid var(--bsh-cycle-orange);
	border-radius: 999px;
	background: var(--bsh-cycle-white);
	box-shadow: 0 18px 28px rgba(0, 0, 0, 0.24);
	color: var(--bsh-cycle-orange);
	overflow: hidden;
}

.bsh-recycling-cycle__icon img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: center;
}

.bsh-recycling-cycle__icon i {
	display: block;
	color: var(--bsh-cycle-orange);
	font-size: 54px;
	line-height: 1;
}

.bsh-recycling-cycle__icon svg {
	display: block;
	width: 76px;
	height: 76px;
}

.bsh-recycling-cycle__fallback-mark {
	display: grid;
	width: 92px;
	height: 92px;
	place-items: center;
	border-radius: 999px;
	background: linear-gradient(135deg, var(--bsh-cycle-green) 0%, var(--bsh-cycle-green-deep) 100%);
	color: var(--bsh-cycle-orange);
	font-size: 21px;
	font-family: var(--bsh-cycle-title-font);
	font-weight: 900;
	letter-spacing: 0.06em;
	line-height: 1;
}

.bsh-recycling-cycle__number {
	position: absolute;
	left: 2px;
	top: 5px;
	z-index: 3;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	border: 4px solid var(--bsh-cycle-green-deep);
	border-radius: 999px;
	background: var(--bsh-cycle-orange);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.24);
	color: var(--bsh-cycle-black);
	font-size: 16px;
	font-family: var(--bsh-cycle-title-font);
	font-weight: 900;
	line-height: 1;
}

.bsh-recycling-cycle__number span {
	display: block;
	transform: translateY(1px);
}

.bsh-recycling-cycle__content {
	max-width: 184px;
	margin: 0 auto;
}

.bsh-recycling-cycle .bsh-recycling-cycle__step-title {
	margin: 0;
	color: var(--bsh-cycle-white) !important;
	font-family: var(--bsh-cycle-title-font);
	font-size: 18px;
	font-weight: 900;
	letter-spacing: -0.01em;
	line-height: 1.2;
	text-shadow: none;
}

.bsh-recycling-cycle .bsh-recycling-cycle__step-text {
	margin: 10px 0 0;
	color: var(--bsh-cycle-muted) !important;
	font-family: var(--bsh-cycle-text-font);
	font-size: 13.5px;
	font-weight: 500;
	line-height: 1.56;
	text-shadow: none;
}

@media (max-width: 1120px) {
	.bsh-recycling-cycle {
		width: min(960px, calc(100vw - 28px));
		padding: 38px 30px 34px;
	}

	.bsh-recycling-cycle__flow {
		padding: 0;
	}

	.bsh-recycling-cycle__steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 42px 28px;
	}

	.bsh-recycling-cycle__step {
		grid-column: auto;
		grid-row: auto;
	}

	.bsh-recycling-cycle__step::before,
	.bsh-recycling-cycle__step::after,
	.bsh-recycling-cycle__step-down-arrow {
		display: none !important;
	}

	.bsh-recycling-cycle__content {
		max-width: 230px;
	}
}

@media (max-width: 820px) {
	.bsh-recycling-cycle__steps {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.bsh-recycling-cycle {
		width: min(540px, calc(100vw - 20px));
		margin-top: 18px;
		margin-bottom: 28px;
		padding: 24px 14px;
		border-radius: 18px;
	}

	.elementor .bsh-recycling-cycle {
		width: calc(100vw - 20px);
	}

	.bsh-recycling-cycle__steps {
		display: block;
		width: 100%;
	}

	.bsh-recycling-cycle__step {
		display: grid;
		grid-template-columns: 92px minmax(0, 1fr);
		gap: 0 14px;
		align-items: center;
		min-height: 0;
		padding: 8px 0;
		text-align: left;
	}

	.bsh-recycling-cycle__step + .bsh-recycling-cycle__step {
		margin-top: 28px;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step:not(:last-child)::before {
		content: "";
		position: absolute;
		left: 37px !important;
		right: auto !important;
		top: calc(100% + 10px) !important;
		bottom: auto !important;
		z-index: 3;
		display: block !important;
		width: 0;
		height: 0;
		border-left: 9px solid transparent;
		border-right: 9px solid transparent;
		border-top: 15px solid var(--bsh-cycle-orange);
		border-bottom: 0 !important;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step:not(:last-child)::after {
		content: "";
		position: absolute;
		left: 44px !important;
		right: auto !important;
		top: calc(100% - 3px) !important;
		bottom: auto !important;
		z-index: 2;
		display: block !important;
		width: 4px !important;
		height: 24px !important;
		border-radius: 999px;
		background: var(--bsh-cycle-orange);
		box-shadow: 0 0 14px rgba(255, 122, 0, 0.35);
	}

	.bsh-recycling-cycle__icon-wrap {
		grid-column: 1;
		width: 92px;
		height: 92px;
		margin: 0;
	}

	.bsh-recycling-cycle__icon {
		width: 82px;
		height: 82px;
		border-width: 5px;
		box-shadow: 0 13px 24px rgba(0, 0, 0, 0.24);
	}

	.bsh-recycling-cycle__icon img {
		max-width: none;
		max-height: none;
	}

	.bsh-recycling-cycle__icon i {
		font-size: 38px;
	}

	.bsh-recycling-cycle__icon svg {
		width: 50px;
		height: 50px;
	}

	.bsh-recycling-cycle__fallback-mark {
		width: 58px;
		height: 58px;
		font-size: 14px;
	}

	.bsh-recycling-cycle__number {
		left: -1px;
		top: -4px;
		width: 31px;
		height: 31px;
		border-width: 3px;
		font-size: 13px;
	}

	.bsh-recycling-cycle__content {
		grid-column: 2;
		width: 100%;
		max-width: none;
		min-width: 0;
		margin: 0;
		padding-right: 2px;
		overflow: hidden;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step-title {
		font-size: 17px;
		line-height: 1.22;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step-text {
		margin-top: 7px;
		font-size: 13.5px;
		line-height: 1.5;
		white-space: normal !important;
		overflow-wrap: anywhere;
	}

}

@media (max-width: 420px) {
	.bsh-recycling-cycle {
		width: calc(100vw - 14px);
		padding: 22px 10px;
	}

	.elementor .bsh-recycling-cycle {
		width: calc(100vw - 14px);
	}

	.bsh-recycling-cycle__step {
		grid-template-columns: 80px minmax(0, 1fr);
		gap: 0 12px;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step:not(:last-child)::before {
		left: 31px !important;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step:not(:last-child)::after {
		left: 38px !important;
	}

	.bsh-recycling-cycle__icon-wrap {
		width: 80px;
		height: 80px;
	}

	.bsh-recycling-cycle__icon {
		width: 72px;
		height: 72px;
		border-width: 5px;
	}

	.bsh-recycling-cycle__icon img {
		max-width: none;
		max-height: none;
	}

	.bsh-recycling-cycle__icon i {
		font-size: 34px;
	}

	.bsh-recycling-cycle__icon svg {
		width: 44px;
		height: 44px;
	}

	.bsh-recycling-cycle__fallback-mark {
		width: 50px;
		height: 50px;
		font-size: 13px;
	}

	.bsh-recycling-cycle__number {
		width: 29px;
		height: 29px;
		font-size: 12px;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step-title {
		font-size: 16px;
	}

	.bsh-recycling-cycle .bsh-recycling-cycle__step-text {
		font-size: 13px;
	}
}
