/* Icon Box: theme .features-item < these rules < panel controls. */
.reland-iconbox.features-item {
	position: relative;
	height: 100%;
	/* The container's gap spaces the boxes */
	margin-bottom: 0;
	transform: translateY(0);
	transition: background-color .3s, border-color .3s, box-shadow .3s, transform .3s;
}
.reland-iconbox.features-item:hover {
	transform: translateY(var(--ib-lift, 0));
}

/* Icon: theme circles, sized from the outer one (template 120 / 112 / 104) */
.reland-iconbox .feature-icon {
	margin-inline-start: var(--ib-before, auto);
	margin-inline-end: var(--ib-after, auto);
	color: var(--ib-color, var(--tg-white));
}
.reland-iconbox.features-item:hover .feature-icon {
	transform: translateY(var(--ib-move, 6px));
}
.reland-iconbox .feature-icon::before {
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	background: var(--ib-fill, var(--tg-primary-color));
	transition: background-color .3s;
}
.reland-iconbox .feature-icon::after {
	width: calc(100% - 16px);
	height: calc(100% - 16px);
	border-color: var(--ib-ring, var(--tg-white));
}
/* Box = icon size (theme: line-height 0) */
.reland-iconbox .feature-icon i {
	line-height: 1;
	color: inherit;
	font-size: var(--ib-icon, 48px);
	transition: color .3s;
}
.reland-iconbox .feature-icon svg {
	width: var(--ib-icon, 48px);
	height: var(--ib-icon, 48px);
	fill: currentColor;
}
.reland-iconbox .feature-icon img {
	max-width: var(--ib-icon, 48px);
	height: auto;
}

/* Circles off: the icon alone */
.elementor-widget-tg-iconbox:not(.reland-iconbox-rings-yes) .feature-icon {
	/* Own size, so the alignment moves it */
	width: fit-content;
	height: auto;
	border: 0;
	color: var(--ib-color, var(--tg-primary-color));
}
.elementor-widget-tg-iconbox:not(.reland-iconbox-rings-yes) .feature-icon::before,
.elementor-widget-tg-iconbox:not(.reland-iconbox-rings-yes) .feature-icon::after {
	display: none;
}

/* Whole box clickable through the title link */
.reland-iconbox .reland-iconbox__link {
	color: inherit;
}
.reland-iconbox .reland-iconbox__link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}
.reland-iconbox.is-linked:focus-within {
	outline: 2px solid var(--tg-primary-color);
	outline-offset: 4px;
}
.reland-iconbox .reland-iconbox__link:focus-visible {
	outline: none;
}

/* Phones: icon closer to the title */
@media (max-width: 767.98px) {
	.reland-iconbox .feature-icon {
		margin-bottom: 25px;
	}
}
