/* ==========================================================================
   Widget — Info Box
   A small outlined card: icon, title and a few lines of detail. Built from a
   screenshot, in the theme's finish - square corners, the cool hairline of
   the icon boxes, a teal line glyph, navy title, muted copy - rather than the
   reference's rounded corners and green.
   ========================================================================== */

.o-info-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1.5rem; /* 24 */
	border: 1.5px solid var(--o-rule-cool);
	background-color: var(--o-white);
	color: var(--o-ink-soft);
}

/* Fill the row. Elementor stretches the widget, not the wrapper inside it. */
.elementor-widget-info-box:has(.o-info-box--fill) > .elementor-widget-container {
	height: 100%;
}

.o-info-box--fill {
	height: 100%;
}

/* --------------------------------------------------------------------------
   Icon
   A bare glyph, no tile. Theme glyphs and library icons are both drawn in
   currentColor at the same 24px.
   -------------------------------------------------------------------------- */
.o-info-box__icon {
	display: block;
	margin-bottom: 1rem; /* 16 */
	color: var(--o-teal);
	font-size: 24px; /* Font icons. */
	line-height: 0;
}

.o-info-box__icon svg,
.o-info-box__icon img {
	display: block;
	width: auto;
	height: 24px;
}

.o-info-box__icon i {
	line-height: 1;
}

/* --------------------------------------------------------------------------
   Copy
   -------------------------------------------------------------------------- */
.o-info-box__title {
	margin: 0;
	color: var(--o-navy);
	font-family: var(--o-font-ui);
	font-size: var(--o-fs-body-lg); /* 18 */
	font-weight: var(--o-fw-semibold);
	line-height: 1.33;
	letter-spacing: 0;
	text-wrap: balance;
}

.o-info-box__lines {
	margin: 0;
	font-family: var(--o-font-body);
	font-size: 0.9375rem; /* 15, as the Where Is Ovation info cards */
	line-height: 1.5;
	overflow-wrap: anywhere; /* A long email address must not burst a narrow card. */
}

.o-info-box__title + .o-info-box__lines {
	margin-top: 0.5rem; /* 8 */
}

.o-info-box__link {
	color: inherit;
	text-decoration: none;
	transition: color var(--o-transition);
}

.o-info-box__link:hover,
.o-info-box__link:focus-visible {
	color: var(--o-navy);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* --------------------------------------------------------------------------
   Editor-only prompt while the box is empty
   -------------------------------------------------------------------------- */
.o-info-box__empty {
	margin: 0;
	padding: var(--o-space-lg);
	border: 2px dashed var(--o-rule-cool);
	color: var(--o-ink-soft);
	font-family: var(--o-font-ui);
	font-size: var(--o-fs-small);
	letter-spacing: 0.06em;
	text-align: center;
	text-transform: uppercase;
}
