/*-------------------------------------------*\
	Step Block Styles
\*-------------------------------------------*/

.step-block {
	margin-top: 0px;
	margin-bottom: 0px;
	padding: 0px 0;
}

.step-block.bg-default {
	background-color: var(--chartreuse);
}

.step-block__container {
    max-width: 1200px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px; /* Add horizontal padding */
}

.step-block__content {
	display: flex;
	align-items: flex-start;
	gap: 60px;
    padding: 60px 0;
}

.step-block__icon {
	flex-shrink: 0;
	width: 255px;
	height: 255px;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
}

.step-block__icon img {
	max-width: 250px;
	max-height: 250px;
	width: auto;
	height: auto;
}

.step-block__text {
	flex: 1;
}

.step-block__title {
	font-size: 4rem;
    font-family: var(--font-alt-2);
	font-weight: 900;
	color: var(--green);
	margin: 0 0 20px 0;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.step-block__description {
	font-size: 1.1rem;
	color: var(--green);
	line-height: 1.6;
	margin: 0;
	font-weight: 500;
}

.step-block__line {
	width: 100%;
	height: 4px;
	background-color: var(--green);
}

/* Responsive Design */
@media (max-width: 1024px) {
	.step-block__container {
		padding: 0 30px; /* More padding for tablet */
	}
	
	.step-block__content {
		gap: 40px;
	}
	
	.step-block__title {
		font-size: 3rem;
	}
}

@media (max-width: 768px) {
	.step-block {
		padding: 30px 0;
	}
	
	.step-block__container {
		padding: 0 20px; /* Ensure proper mobile padding */
	}
	
	.step-block__content {
		flex-direction: column;
		gap: 30px;
		align-items: center;
		text-align: left;
		padding: 40px 0;
	}
	
	.step-block__icon {
		width: 200px;
		height: 200px;
	}
	
	.step-block__icon img {
		max-width: 200px;
		max-height: 200px;
	}
	
	.step-block__text {
		width: 100%; /* Ensure text takes full width */
		max-width: 100%;
	}
	
	.step-block__title {
		font-size: 2.5rem;
		margin-bottom: 15px;
		line-height: 1.1;
	}
	
	.step-block__description {
		font-size: 1rem;
		max-width: 100%;
		word-wrap: break-word;
	}
}

@media (max-width: 480px) {
	.step-block {
		padding: 25px 0;
	}
	
	.step-block__container {
		padding: 0 15px; /* Tighter padding for small mobile */
	}
	
	.step-block__content {
		gap: 25px;
		padding: 30px 0;
	}
	
	.step-block__icon {
		width: 100px;
		height: 100px;
	}
	
	.step-block__icon img {
		max-width: 80px;
		max-height: 80px;
	}
	
	.step-block__title {
		font-size: 2rem;
		margin-bottom: 12px;
	}
	
	.step-block__description {
		font-size: 0.95rem;
		line-height: 1.5;
	}
}