/* Icon Box */

.vora-iconbox {
	display: flex;
	gap: 14px;
	/* The stretched link's hit area is positioned against this. */
	position: relative;
}

/* The stacked layout is deliberately NOT a flex column. The alignment control
   sets `text-align` on the box, and a flex column ignores it — the icon would
   stay hard left in a centred card, which reads as a bug. In normal flow an
   inline-flex icon follows `text-align` for all three values with no extra
   rules, and the gap is recreated with a margin. (An earlier attempt keyed
   off `[style*="center"]`, which can never match: Elementor writes these
   declarations into a stylesheet, not an inline style attribute.) */
.vora-iconbox--top {
	display: block;
}

.vora-iconbox--top .vora-iconbox__icon {
	margin-bottom: 14px;
}

.vora-iconbox--start {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.vora-iconbox__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	padding: 14px;
	font-size: 24px;
	/* `line-height: 1` because an icon font glyph inherits the body's line
	   box otherwise and sits below the centre of its own tile. */
	line-height: 1;
	color: #a8123f;
}

.vora-iconbox__icon svg {
	width: 1em;
	height: 1em;
	display: block;
}

.vora-iconbox__icon i {
	line-height: 1;
}

.vora-iconbox__body {
	min-width: 0;
}

.vora-iconbox__title {
	margin: 0;
	font-size: 19px;
	font-weight: 650;
	line-height: 1.3;
}

.vora-iconbox__link {
	color: inherit;
	text-decoration: none;
}

.vora-iconbox__link:hover,
.vora-iconbox__link:focus-visible {
	text-decoration: underline;
}

/* The stretched hit area. It covers the whole box but belongs to the heading's
   anchor, so the link's accessible name is still just the heading. */
.vora-iconbox__link--stretched::after {
	content: "";
	position: absolute;
	inset: 0;
	/* Above the card's own background, below anything the author might place
	   on top with a higher z-index. */
	z-index: 1;
}

/* Text inside a stretched box must stay selectable — a card you cannot select
   text in feels broken, and the usual `position: absolute` overlay prevents it
   entirely. Raising the body above the overlay restores selection while the
   padding around it still triggers the link. */
.vora-iconbox.is-stretched .vora-iconbox__text {
	position: relative;
	z-index: 2;
}

.vora-iconbox__text {
	margin: 6px 0 0;
	font-size: 15.5px;
	line-height: 1.55;
}

.vora-iconbox__cue {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 10px;
	font-size: 14.5px;
	font-weight: 600;
}

.vora-iconbox__arrow {
	width: 6px;
	height: 6px;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
}

.vora-iconbox:hover .vora-iconbox__arrow {
	transform: rotate(45deg) translate(2px, -2px);
}

@media (prefers-reduced-motion: reduce) {
	.vora-iconbox__arrow {
		transition: none;
	}

	.vora-iconbox:hover .vora-iconbox__arrow {
		transform: rotate(45deg);
	}
}
