/* RC Widget — Icon + Text. Scoped under .rcw-icon-text.
   Colour inherits the site's Salient brand via --rcw-accent (with a sensible
   fallback so it still works off-Salient). Structure/spacing stay here. */

.rcw-icon-text {
	display: flex;
	align-items: center;
	gap: 18px;
	font-family: var(--rcw-font-body, 'Prompt', sans-serif);
}

/* alignment variants */
.rcw-icon-text--center { align-items: center; }
.rcw-icon-text--start  { align-items: flex-start; }
.rcw-icon-text--top {
	flex-direction: column;
	text-align: center;
}
.rcw-icon-text--top .rcw-icon-text__text { align-items: center; }

/* horizontal alignment in the column ------------------------------------ */
/* left layout (row): the main axis is horizontal -> justify-content moves it */
.rcw-icon-text--align-center:not(.rcw-icon-text--top) { justify-content: center; }
.rcw-icon-text--align-right:not(.rcw-icon-text--top)  { justify-content: flex-end; }
.rcw-icon-text--align-center:not(.rcw-icon-text--top) .rcw-icon-text__text { text-align: center; }
.rcw-icon-text--align-right:not(.rcw-icon-text--top)  .rcw-icon-text__text { text-align: right; }
/* top layout (column): the cross axis is horizontal -> align-items moves it */
.rcw-icon-text--top.rcw-icon-text--align-left  { align-items: flex-start; text-align: left; }
.rcw-icon-text--top.rcw-icon-text--align-right { align-items: flex-end;   text-align: right; }
.rcw-icon-text--top.rcw-icon-text--align-left  .rcw-icon-text__text { align-items: flex-start; }
.rcw-icon-text--top.rcw-icon-text--align-right .rcw-icon-text__text { align-items: flex-end; }

.rcw-icon-text__media { flex: 0 0 auto; }

.rcw-icon-text__text {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.rcw-icon-text__title {
	font-family: var(--rcw-font-heading, 'Prompt', sans-serif);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.3;
	color: inherit;
}

.rcw-icon-text__desc {
	font-size: 14px;
	line-height: 1.45;
	font-weight: 400;
	color: var(--rcw-text, #8a9099);
	opacity: .85;
}

/* ---- the icon badge ---- */
.rcw-icon-text__icon {
	--sz: 56px;          /* box size (overridable per instance) */
	--gl: 24px;          /* glyph / image size */
	width: var(--sz);
	height: var(--sz);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--gl);
	line-height: 1;
	color: var(--rcw-accent, #2e7dff);
	transition: background-color .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.rcw-icon-text__glyph { font-size: var(--gl); line-height: 1; }
.rcw-icon-text__img {
	width: var(--gl);
	height: var(--gl);
	object-fit: contain;
	display: block;
}

/* shape */
.rcw-icon-text__icon--circle  { border-radius: 50%; }
.rcw-icon-text__icon--rounded { border-radius: 14px; }
.rcw-icon-text__icon--square  { border-radius: 4px; }

/* 6 icon styles */
.rcw-icon-text__icon.is-plain  { background: none; }
.rcw-icon-text__icon.is-border { border: 2px solid var(--rcw-accent, #2e7dff); }
.rcw-icon-text__icon.is-border-anim { border: 2px solid var(--rcw-accent, #2e7dff); }
.rcw-icon-text:hover .rcw-icon-text__icon.is-border-anim {
	background: var(--rcw-accent, #2e7dff);
	color: #fff;
}
.rcw-icon-text__icon.is-soft   { background: rgba(var(--rcw-accent-rgb, 46,125,255), .12); }
.rcw-icon-text__icon.is-solid  { background: var(--rcw-accent, #2e7dff); color: #fff; }
.rcw-icon-text__icon.is-shadow {
	background: var(--rcw-accent, #2e7dff);
	color: #fff;
	box-shadow: 0 10px 22px -6px rgba(var(--rcw-accent-rgb, 46,125,255), .55);
}

@media (prefers-reduced-motion: reduce) {
	.rcw-icon-text__icon { transition: none; }
}

/* ---- responsive: stack into a centered column on mobile ---- */
@media (max-width: 690px) {
	.rcw-icon-text--stack {
		flex-direction: column;
		text-align: center;
		align-items: center;
	}
	.rcw-icon-text--stack .rcw-icon-text__text { align-items: center; }
}
