/**
 * RSM Features — chip card grid and CSS variable wiring.
 *
 * @package RSM_Features
 */

/* SiteOrigin / theme outer wrapper (outside our template) */
.so-widget-features.rsmspark-features-so-shell,
.rsmspark-features-so-shell.so-widget-features,
.so-widget-features.so-widget-features-base.rsmspark-features-so-shell {
	background: transparent !important;
	border-color: transparent !important;
	border-image: none !important;
	border-image-slice: 0 !important;
	border-image-width: 0 !important;
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	margin: 0 !important;
	outline: none !important;
	padding: 0 !important;
}

.so-widget-features.rsmspark-features-so-shell::before,
.so-widget-features.rsmspark-features-so-shell::after {
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	content: none !important;
	display: none !important;
}

.widget.so-widget-features.rsmspark-features-so-shell,
.panel-grid-cell .so-widget-features.rsmspark-features-so-shell,
.siteorigin-panels .so-widget-features.rsmspark-features-so-shell {
	background: transparent !important;
	border-color: transparent !important;
	border-image: none !important;
	border-image-slice: 0 !important;
	border-image-width: 0 !important;
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	outline: none !important;
}

body.siteorigin-panels .so-panel.widget_features,
body.siteorigin-panels .so-panel.widget.widget_features,
body.siteorigin-panels .panel-grid-cell > .so-panel.widget_features,
body.siteorigin-panels .panel-grid-cell > .so-panel.widget.widget_features,
.panel-grid-cell > .so-panel.widget_features,
.panel-grid-cell > .so-panel.widget.widget_features {
	background: transparent !important;
	border-color: transparent !important;
	border-image: none !important;
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

.so-panel.rsmspark-features-so-panel {
	background: transparent !important;
	border-color: transparent !important;
	border-image: none !important;
	border-image-slice: 0 !important;
	border-image-width: 0 !important;
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	filter: none !important;
	outline: none !important;
}

.so-panel.rsmspark-features-so-panel::before,
.so-panel.rsmspark-features-so-panel::after {
	border-style: none !important;
	border-width: 0 !important;
	box-shadow: none !important;
	content: none !important;
	display: none !important;
}

@supports selector(:has(*)) {
	.panel-grid-cell:has(.so-widget-features.rsmspark-features-so-shell),
	.panel-grid-cell:has([data-rsmspark-features]),
	.panel-grid-cell:has(.rsmspark-features) {
		border-color: transparent !important;
		border-image: none !important;
		border-image-slice: 0 !important;
		border-image-width: 0 !important;
		border-style: none !important;
		border-width: 0 !important;
		box-shadow: none !important;
		filter: none !important;
		outline: none !important;
	}

	.panel-grid-cell:has(.so-widget-features.rsmspark-features-so-shell) > div[class*='panel-cell-style'],
	.panel-grid-cell:has([data-rsmspark-features]) > div[class*='panel-cell-style'],
	.panel-grid-cell:has([data-rsmspark-features]) [class*='panel-cell-style'],
	.panel-grid-cell:has([data-rsmspark-features]) [class*='panel-widget-style'] {
		border-color: transparent !important;
		border-image: none !important;
		border-image-slice: 0 !important;
		border-image-width: 0 !important;
		border-style: none !important;
		border-width: 0 !important;
		box-shadow: none !important;
		filter: none !important;
		outline: none !important;
	}

	.panel-grid-cell:has(.so-widget-features.rsmspark-features-so-shell)::before,
	.panel-grid-cell:has(.so-widget-features.rsmspark-features-so-shell)::after,
	.panel-grid-cell:has([data-rsmspark-features])::before,
	.panel-grid-cell:has([data-rsmspark-features])::after {
		border-style: none !important;
		border-width: 0 !important;
		box-shadow: none !important;
		content: none !important;
		display: none !important;
	}

	.so-widget-features:has([data-rsmspark-features]),
	.so-panel.widget_features:has([data-rsmspark-features]),
	.so-panel.rsmspark-features-so-panel:has([data-rsmspark-features]) {
		background: transparent !important;
		border-color: transparent !important;
		border-image: none !important;
		border-image-slice: 0 !important;
		border-image-width: 0 !important;
		border-style: none !important;
		border-width: 0 !important;
		box-shadow: none !important;
		filter: none !important;
		outline: none !important;
	}
}

.rsmspark-features {
	color: var(--openrsm-color-text, #1f2937);
	font-family: inherit;
	font-size: var(--openrsm-body-font-size, 1rem);
	line-height: var(--openrsm-body-line-height, 1.65);
	margin: 0;
	max-width: 100%;
	min-width: 0;
}

.rsmspark-features:not(.rsmspark-features--has-container-border) {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

.rsmspark-features--has-container-border {
	border: var(--rf-container-border-width, 1px) solid var(--rf-container-border-color, #e2e8f0);
	border-radius: var(--rf-container-radius, 0);
	padding: var(--rf-container-pad, 0);
}

.rsmspark-features *,
.rsmspark-features *::before,
.rsmspark-features *::after {
	box-sizing: border-box;
}

.rsmspark-features__heading-wrap {
	margin-bottom: 1.25rem;
}

.rsmspark-features__heading {
	color: var(--openrsm-color-secondary, #0f172a);
	font-family: var(--rf-title-font, inherit);
	font-size: calc(var(--openrsm-body-font-size, 1rem) * var(--openrsm-heading-scale, 1.18));
	font-weight: var(--openrsm-heading-weight, 700);
	line-height: 1.25;
	margin: 0 0 0.5rem;
}

.rsmspark-features__grid {
	display: grid;
	gap: var(--rf-grid-gap, 16px);
	grid-template-columns: repeat(var(--rf-grid-columns, 3), minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (max-width: 900px) {
	.rsmspark-features__grid {
		grid-template-columns: repeat(min(var(--rf-grid-columns, 3), 2), minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.rsmspark-features__grid {
		grid-template-columns: 1fr;
	}
}

.rsmspark-features--align-center .rsmspark-features__grid,
.rsmspark-features--align-center .rsmspark-features__chip {
	text-align: center;
}

/* Chip card base */
.rsmspark-features__chip {
	background: var(--rf-chip-bg, #fff);
	border: var(--rf-chip-border-width, 1px) solid var(--rf-chip-border, #e2e8f0);
	border-left: 4px solid var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	border-radius: var(--rf-chip-item-radius, var(--rf-chip-radius, 8px));
	color: var(--rf-chip-text-color, #475569);
	display: flex;
	margin: 0;
	min-width: 0;
	padding: var(--rf-chip-pad, 16px 18px);
	position: relative;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.rsmspark-features__chip:hover {
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08);
	transform: translateY(-1px);
}

.rsmspark-features__chip-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

/* Stacked: icon row above text */
.rsmspark-features--layout-stacked .rsmspark-features__chip {
	flex-direction: column;
	gap: var(--rf-stacked-icon-gap, var(--rf-media-gap, 1rem));
}

.rsmspark-features--layout-stacked .rsmspark-features__chip-media {
	align-items: center;
	display: flex;
	min-height: 0;
	overflow: visible;
	width: 100%;
}

.rsmspark-features--layout-stacked .rsmspark-features__chip-media__graphic {
	font-size: var(--rf-chip-item-icon-size, var(--rf-icon-size, 2.5rem));
}

.rsmspark-features--layout-stacked.rsmspark-features--icon-align-left .rsmspark-features__chip-media {
	justify-content: flex-start;
}

.rsmspark-features--layout-stacked.rsmspark-features--icon-align-center .rsmspark-features__chip-media {
	justify-content: center;
}

.rsmspark-features--layout-stacked.rsmspark-features--icon-align-right .rsmspark-features__chip-media {
	justify-content: flex-end;
}

/* Media left: RSMSpark plugin-card style (flex items-start gap) */
.rsmspark-features--layout-media-left .rsmspark-features__chip--has-media {
	align-items: flex-start;
	flex-direction: row;
	gap: var(--rf-media-gap, 16px);
}

.rsmspark-features--layout-media-left .rsmspark-features__chip-media {
	flex-shrink: 0;
	line-height: 0;
}

.rsmspark-features--layout-media-left .rsmspark-features__chip:not(.rsmspark-features__chip--has-media) .rsmspark-features__chip-content {
	width: 100%;
}

/* Icon / image graphic box */
.rsmspark-features__chip-media__graphic {
	align-items: center;
	color: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--rf-chip-item-icon-size, var(--rf-icon-size, 80px));
	justify-content: center;
	line-height: 1;
}

.rsmspark-features--layout-media-left .rsmspark-features__chip-media__graphic {
	border-radius: 12px;
}

.rsmspark-features__chip-media__graphic--image {
	height: var(--rf-chip-item-icon-size, var(--rf-icon-size, 80px));
	width: var(--rf-chip-item-icon-size, var(--rf-icon-size, 80px));
}

.rsmspark-features__chip .rsmspark-features__chip-media__graphic--image > .rsmspark-features__chip-media__img {
	border-radius: inherit;
	display: block;
	height: 100%;
	max-height: var(--rf-chip-item-icon-size, var(--rf-icon-size, 80px));
	max-width: var(--rf-chip-item-icon-size, var(--rf-icon-size, 80px));
	min-height: 0;
	min-width: 0;
	object-fit: contain;
	object-position: center;
	width: 100%;
}

.rsmspark-features__chip-media__class {
	display: inline-block;
	font-size: 1em;
	height: 1em;
	line-height: 1;
	width: 1em;
	color: var(--rf-chip-item-icon-color, inherit);
}

.rsmspark-features__chip-media__graphic > .rsmspark-features__chip-media__class::before {
	display: block;
	font-size: 1em;
	height: 1em;
	line-height: 1;
	width: 1em;
}

.rsmspark-features__icon-fa-wrap {
	align-items: center;
	display: inline-flex;
	justify-content: center;
}

.rsmspark-features__icon-fa-wrap i {
	display: block;
	font-size: 1em;
	height: 1em;
	line-height: 1;
	width: 1em;
}

.rsmspark-features__popout-media__graphic > .rsmspark-features__icon-fa-wrap i {
	font-size: 1em;
}

.rsmspark-features__icon-stack {
	display: inline-block;
	font-size: 1em;
	line-height: 1;
	vertical-align: middle;
}

.rsmspark-features__icon-stack .fa-circle {
	color: var(--rf-icon-stack-circle, var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb)));
}

.rsmspark-features__icon-stack .fa-stack-1x {
	color: var(--rf-icon-stack-text, #ffffff);
}

.rsmspark-features__popout-media__graphic > .rsmspark-features__icon-stack {
	font-size: 1em;
}

.rsmspark-features__chip-title {
	color: var(--rf-chip-title-color, #0f172a);
	font-family: var(--rf-title-font, inherit);
	font-size: var(--rf-title-font-size, var(--openrsm-body-font-size, 1rem));
	font-weight: var(--rf-title-weight, 700);
	line-height: 1.3;
	margin: 0;
}

.rsmspark-features__chip-title.rsmspark-rt-root .rsmspark-rt-gradient-brand {
	background: linear-gradient(90deg, #ff6b35 0%, #ffb347 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

.rsmspark-features--style-filled .rsmspark-features__chip-title.rsmspark-rt-root .rsmspark-rt-color-default {
	color: #ffffff;
}

.rsmspark-features--style-filled .rsmspark-features__chip-title.rsmspark-rt-root .rsmspark-rt-gradient-brand {
	-webkit-text-fill-color: transparent;
}

.rsmspark-features__chip-body {
	font-family: var(--rf-body-font, inherit);
	font-size: var(--rf-body-font-size, var(--openrsm-body-font-size, 1rem));
	line-height: 1.55;
	margin: 0;
}

.rsmspark-features__chip-body > :first-child {
	margin-top: 0;
}

.rsmspark-features__chip-body > :last-child {
	margin-bottom: 0;
}

/* Style: soft tint (default) */
.rsmspark-features--style-soft .rsmspark-features__chip {
	background: color-mix(in srgb, var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb)) 8%, var(--rf-chip-bg, #fff));
}

/* Style: bordered card */
.rsmspark-features--style-bordered .rsmspark-features__chip {
	background: var(--rf-chip-bg, #fff);
	box-shadow: none;
}

/* Style: filled accent */
.rsmspark-features--style-filled .rsmspark-features__chip {
	background: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	border-color: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	color: #fff;
}

.rsmspark-features--style-filled .rsmspark-features__chip-title,
.rsmspark-features--style-filled .rsmspark-features__chip-media__class {
	color: #fff;
}

.rsmspark-features--style-filled .rsmspark-features__chip-body {
	color: rgba(255, 255, 255, 0.92);
}

/* Style: outline only */
.rsmspark-features--style-outline .rsmspark-features__chip {
	background: transparent;
	border-width: var(--rf-chip-border-width, 1px);
	border-left-width: 4px;
	box-shadow: none;
}

.rsmspark-features--style-outline .rsmspark-features__chip:hover {
	background: color-mix(in srgb, var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb)) 6%, transparent);
}

/* Hot (clickable) chips — reset RSMSpark theme button styles */
.rsmspark-features .rsmspark-features__chip--hot {
	appearance: none;
	align-items: flex-start;
	background: var(--rf-chip-bg, #fff);
	border: var(--rf-chip-border-width, 1px) solid var(--rf-chip-border, #e2e8f0);
	border-left: 4px solid var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	border-radius: var(--rf-chip-item-radius, var(--rf-chip-radius, 8px));
	color: var(--rf-chip-text-color, #475569);
	cursor: pointer;
	display: flex;
	font: inherit;
	font-weight: inherit;
	justify-content: flex-start;
	line-height: inherit;
	margin: 0;
	min-height: 0;
	padding: var(--rf-chip-pad, 16px 18px);
	text-align: inherit;
	text-decoration: none;
	width: 100%;
}

.rsmspark-features--style-soft .rsmspark-features__chip--hot {
	background: color-mix(in srgb, var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb)) 8%, var(--rf-chip-bg, #fff));
}

.rsmspark-features--style-bordered .rsmspark-features__chip--hot {
	background: var(--rf-chip-bg, #fff);
}

.rsmspark-features--style-filled .rsmspark-features__chip--hot {
	background: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	border-color: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	color: #fff;
}

.rsmspark-features--style-outline .rsmspark-features__chip--hot {
	background: transparent;
}

.rsmspark-features .rsmspark-features__chip--hot:hover,
.rsmspark-features .rsmspark-features__chip--hot:focus {
	background: var(--rf-chip-bg, #fff);
	border-color: var(--rf-chip-border, #e2e8f0);
	border-left-color: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	color: var(--rf-chip-text-color, #475569);
}

.rsmspark-features--style-soft .rsmspark-features__chip--hot:hover,
.rsmspark-features--style-soft .rsmspark-features__chip--hot:focus {
	background: color-mix(in srgb, var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb)) 8%, var(--rf-chip-bg, #fff));
}

.rsmspark-features--style-filled .rsmspark-features__chip--hot:hover,
.rsmspark-features--style-filled .rsmspark-features__chip--hot:focus {
	background: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	border-color: var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	color: #fff;
}

.rsmspark-features--style-outline .rsmspark-features__chip--hot:hover,
.rsmspark-features--style-outline .rsmspark-features__chip--hot:focus {
	background: color-mix(in srgb, var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb)) 6%, transparent);
}

.rsmspark-features .rsmspark-features__chip--hot:hover .rsmspark-features__chip-title,
.rsmspark-features .rsmspark-features__chip--hot:focus .rsmspark-features__chip-title {
	color: var(--rf-chip-title-color, #0f172a);
}

.rsmspark-features--style-filled .rsmspark-features__chip--hot:hover .rsmspark-features__chip-title,
.rsmspark-features--style-filled .rsmspark-features__chip--hot:focus .rsmspark-features__chip-title {
	color: #fff;
}

.rsmspark-features .rsmspark-features__chip--hot:hover .rsmspark-features__chip-body,
.rsmspark-features .rsmspark-features__chip--hot:focus .rsmspark-features__chip-body {
	color: var(--rf-chip-text-color, #475569);
}

.rsmspark-features--style-filled .rsmspark-features__chip--hot:hover .rsmspark-features__chip-body,
.rsmspark-features--style-filled .rsmspark-features__chip--hot:focus .rsmspark-features__chip-body {
	color: rgba(255, 255, 255, 0.92);
}

.rsmspark-features .rsmspark-features__chip--hot:focus-visible {
	outline: 2px solid var(--rf-chip-item-accent, var(--rf-chip-accent, #2563eb));
	outline-offset: 2px;
}

.rsmspark-features--has-popouts .rsmspark-features__chip--hot:hover {
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12);
	transform: translateY(-2px);
}

/* Popout modal (RSMSpark plugin-detail style) */
body.rsmspark-features-modal-open {
	overflow: hidden;
}

.rsmspark-features__modal {
	align-items: center;
	display: flex;
	inset: 0;
	justify-content: center;
	padding: 1rem;
	position: fixed;
	z-index: 100000;
}

.rsmspark-features__modal[hidden] {
	display: none !important;
}

.rsmspark-features__modal.is-open {
	animation: rf-modal-fade 0.2s ease;
}

.rsmspark-features__modal-backdrop {
	background: var(--rf-popout-overlay, rgba(15, 23, 42, 0.7));
	inset: 0;
	position: absolute;
}

.rsmspark-features__modal-dialog {
	background: var(--rf-popout-bg, #fff);
	border: var(--rf-popout-border-width, 1px) solid var(--rf-popout-border, #e2e8f0);
	border-radius: var(--rf-popout-radius, 16px);
	box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
	display: flex;
	flex-direction: column;
	max-height: min(90vh, var(--rf-popout-max-height, 720px));
	max-width: var(--rf-popout-max-width, 640px);
	overflow: hidden;
	position: relative;
	width: 100%;
	z-index: 1;
}

.rsmspark-features__modal.is-open .rsmspark-features__modal-dialog {
	animation: rf-modal-pop 0.24s ease;
}

.rsmspark-features__modal-header {
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

.rsmspark-features__modal-close {
	background: transparent;
	border: 0;
	color: #94a3b8;
	cursor: pointer;
	font-size: 1.75rem;
	line-height: 1;
	padding: 0.35rem 0.6rem;
	pointer-events: auto;
}

.rsmspark-features__modal-close:hover,
.rsmspark-features__modal-close:focus-visible {
	color: #475569;
}

.rsmspark-features__modal-body {
	flex: 1;
	overflow: auto;
	padding: 0.65rem var(--rf-popout-pad, 28px) var(--rf-popout-pad, 28px);
}

.rsmspark-features__popout-panel {
	color: var(--rf-popout-text-color, #475569);
}

.rsmspark-features__popout-header {
	--rf-popout-header-icon-size: calc(var(--rf-popout-item-icon-base, var(--rf-icon-size, 80px)) * var(--rf-popout-header-icon-scale, 1.25));
	align-items: flex-start;
	display: flex;
	flex-direction: row;
	gap: var(--rf-popout-header-gap, 12px);
	margin-bottom: 0;
	padding-right: 2rem;
}

.rsmspark-features__popout-media {
	flex-shrink: 0;
	line-height: 0;
}

.rsmspark-features__popout-heading {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

/* Icon/image top-aligned with headline (natural height, not centered in a tall box) */
.rsmspark-features__popout-media__graphic {
	align-items: flex-start;
	border-radius: 12px;
	color: var(--rf-popout-item-accent, var(--rf-chip-accent, #2563eb));
	display: inline-flex;
	flex-shrink: 0;
	font-size: var(--rf-popout-header-icon-size);
	height: auto;
	justify-content: flex-start;
	line-height: 1;
	width: auto;
}

.rsmspark-features__popout-media__graphic--image {
	height: auto;
	max-height: var(--rf-popout-header-icon-size);
	padding: 0;
	width: var(--rf-popout-header-icon-size);
}

.rsmspark-features__popout-media__graphic--image > .rsmspark-features__popout-media__img {
	border-radius: 12px;
	display: block;
	height: auto;
	max-height: var(--rf-popout-header-icon-size);
	max-width: 100%;
	object-fit: contain;
	object-position: top left;
	width: 100%;
}

.rsmspark-features__popout-media__graphic > .rsmspark-features__popout-media__class {
	display: block;
	font-size: 1em;
	height: 1em;
	line-height: 1;
	width: 1em;
}

.rsmspark-features__popout-media__graphic > .rsmspark-features__popout-media__class::before {
	display: block;
	height: 1em;
	line-height: 1;
	width: 1em;
}

.rsmspark-features__popout-title {
	color: var(--rf-popout-title-color, #0f172a);
	font-family: var(--rf-popout-title-font, var(--rf-title-font, inherit));
	font-size: var(--rf-popout-title-size, clamp(1.125rem, 0.9rem + 0.5vw, 1.5rem));
	font-weight: var(--rf-title-weight, 700);
	line-height: 1.2;
	margin: 0;
	padding: 0;
	text-align: left;
}

.rsmspark-features__popout-subtitle {
	color: var(--rf-popout-subtitle-color, #64748b);
	font-family: var(--rf-popout-body-font, var(--rf-body-font, inherit));
	font-size: var(--rf-popout-subtitle-size, clamp(0.8125rem, 0.75rem + 0.2vw, 0.875rem));
	font-weight: 500;
	line-height: 1.35;
	margin: 0;
	text-align: left;
}

.rsmspark-features__popout-header-divider {
	border-top: var(--rf-popout-header-divider-width, 0) solid var(--rf-popout-header-divider-color, #e2e8f0);
	margin: 0.35rem 0 0.45rem;
	width: 100%;
}

.rsmspark-features__popout-header + .rsmspark-features__popout-body {
	margin-top: 0.45rem;
}

.rsmspark-features__popout-header-divider + .rsmspark-features__popout-body {
	margin-top: 0;
}

.rsmspark-features__popout-body {
	font-family: var(--rf-popout-body-font, var(--rf-body-font, inherit));
	font-size: var(--rf-popout-body-size, var(--rf-body-font-size, 1rem));
	line-height: 1.6;
	margin: 0;
}

.rsmspark-features__popout-body > :first-child {
	margin-top: 0;
}

.rsmspark-features__popout-body > :last-child {
	margin-bottom: 0;
}

/* Two-column comparison layout (Popout content → Text tab). */
.rsmspark-features__popout-cols,
.rsmspark-features__popout-body .rsmspark-features__popout-cols,
.rsmspark-features__modal-body .rsmspark-features__popout-cols {
	align-items: flex-start;
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 1.25rem 1.5rem;
	margin: 1rem 0;
	width: 100%;
}

.rsmspark-features__popout-col,
.rsmspark-features__popout-body .rsmspark-features__popout-col,
.rsmspark-features__modal-body .rsmspark-features__popout-col {
	flex: 1 1 0 !important;
	max-width: 50%;
	min-width: 0;
}

.rsmspark-features__popout-col-title {
	margin: 0 0 0.35rem;
}

.rsmspark-features__popout-body .rsmspark-features__popout-col > :first-child,
.rsmspark-features__modal-body .rsmspark-features__popout-col > :first-child {
	margin-top: 0;
}

.rsmspark-features__popout-body .rsmspark-features__popout-col > :last-child,
.rsmspark-features__modal-body .rsmspark-features__popout-col > :last-child {
	margin-bottom: 0;
}

.rsmspark-features__popout-body .rsmspark-features__popout-col ul:not(.rsmspark-features__popout-list),
.rsmspark-features__popout-body .rsmspark-features__popout-col ol,
.rsmspark-features__modal-body .rsmspark-features__popout-col ul:not(.rsmspark-features__popout-list),
.rsmspark-features__modal-body .rsmspark-features__popout-col ol,
.rsmspark-features__popout-body .rsmspark-features__popout-list,
.rsmspark-features__modal-body .rsmspark-features__popout-list {
	margin: 0.35rem 0 0;
	padding-left: 1.25rem;
}

.rsmspark-features__popout-body .rsmspark-features__popout-col li + li,
.rsmspark-features__modal-body .rsmspark-features__popout-col li + li,
.rsmspark-features__popout-body .rsmspark-features__popout-list li + li,
.rsmspark-features__modal-body .rsmspark-features__popout-list li + li {
	margin-top: 0.25rem;
}

/* Check / x markers (marker color via --rf-list-marker-color). */
.rsmspark-features__popout-col--list-check ul,
.rsmspark-features__popout-list--check {
	list-style: none;
	padding-left: 0;
}

.rsmspark-features__popout-col--list-check ul li,
.rsmspark-features__popout-list--check li {
	padding-left: 1.35em;
	position: relative;
}

.rsmspark-features__popout-col--list-check ul li::before,
.rsmspark-features__popout-list--check li::before {
	color: var(--rf-list-marker-color, #16a34a);
	content: "\2713";
	font-weight: 700;
	left: 0;
	line-height: inherit;
	position: absolute;
}

.rsmspark-features__popout-col--list-x ul,
.rsmspark-features__popout-list--x {
	list-style: none;
	padding-left: 0;
}

.rsmspark-features__popout-col--list-x ul li,
.rsmspark-features__popout-list--x li {
	padding-left: 1.35em;
	position: relative;
}

.rsmspark-features__popout-col--list-x ul li::before,
.rsmspark-features__popout-list--x li::before {
	color: var(--rf-list-marker-color, #dc2626);
	content: "\2717";
	font-weight: 700;
	left: 0;
	line-height: inherit;
	position: absolute;
}

.rsmspark-features__popout-col--list-star ul,
.rsmspark-features__popout-list--star {
	list-style: none;
	padding-left: 0;
}

.rsmspark-features__popout-col--list-star ul li,
.rsmspark-features__popout-list--star li {
	padding-left: 1.35em;
	position: relative;
}

.rsmspark-features__popout-col--list-star ul li::before,
.rsmspark-features__popout-list--star li::before {
	color: var(--rf-list-marker-color, #ca8a04);
	content: "\2605";
	font-weight: 700;
	left: 0;
	line-height: inherit;
	position: absolute;
}

.rsmspark-features__popout-col--list-none ul,
.rsmspark-features__popout-list--none {
	list-style: none;
	padding-left: 0;
}

/* Bullet lists: marker/dot color independent of text. */
.rsmspark-features__popout-col--list-bullet ul li::marker,
.rsmspark-features__popout-list--bullet li::marker {
	color: var(--rf-list-marker-color, currentColor);
}

@media (max-width: 520px) {
	.rsmspark-features__popout-cols,
	.rsmspark-features__popout-body .rsmspark-features__popout-cols,
	.rsmspark-features__modal-body .rsmspark-features__popout-cols {
		flex-direction: column !important;
	}

	.rsmspark-features__popout-col,
	.rsmspark-features__popout-body .rsmspark-features__popout-col,
	.rsmspark-features__modal-body .rsmspark-features__popout-col {
		max-width: 100%;
	}
}

@keyframes rf-modal-fade {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes rf-modal-pop {
	from {
		opacity: 0;
		transform: scale(0.96) translateY(8px);
	}
	to {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
}
