/* =========================================================
   Nuvora Icon Box Block – Frontend Styles
   ========================================================= */

.nugba-icon-box-block {
	box-sizing: border-box;
}

.nugba-ib-grid {
	display: grid;
	gap: 24px;
}

/* Responsive columns */
@media ( max-width: 1024px ) {
	.nugba-ib-cols-3 .nugba-ib-grid,
	.nugba-ib-cols-4 .nugba-ib-grid {
		grid-template-columns: repeat( 2, 1fr ) !important;
	}
}

@media ( max-width: 640px ) {
	.nugba-ib-grid {
		grid-template-columns: 1fr !important;
	}
}

.nugba-ib-item {
	box-sizing: border-box;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.nugba-ib-item:hover {
	transform: translateY( -4px );
	box-shadow: 0 12px 36px rgba( 0, 0, 0, 0.12 ) !important;
}

.nugba-ib-inner {
	height: 100%;
}

/* Icon wrapper */
.nugba-ib-icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.nugba-ib-item:hover .nugba-ib-icon-wrap {
	transform: scale( 1.1 );
}

.nugba-ib-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.nugba-ib-icon svg {
	width: 1em;
	height: 1em;
}

/* Text */
.nugba-ib-text {
	flex: 1;
}

.nugba-ib-heading {
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

.nugba-ib-desc {
	line-height: 1.7;
}

/* Style 1 – Default clean card */
.nugba-ib-layout-style1 .nugba-ib-item {
	border-radius: inherit;
}

/* Style 2 – Top color bar */
.nugba-ib-layout-style2 .nugba-ib-item {
	border-radius: inherit;
}

/* Style 3 – Gradient (colors set inline) */
.nugba-ib-layout-style3 .nugba-ib-item {
	border-radius: inherit;
}

/* Style 4 – Minimal left border */
.nugba-ib-layout-style4 .nugba-ib-item {
	border-radius: inherit;
}
