/* =============================================================================
 * BSMM CTA Banners — SOLID block (centered title + desc + white pill on
 * platform-colored card, with decorative platform icon in the corner).
 *
 * Per-instance CSS variables (via inline style):
 *   --bsmm-color   brand color (used for button text/arrow)
 *   --bsmm-bg      banner background — solid color or gradient
 * =========================================================================== */

.bsmm-solid,
.bsmm-solid * { box-sizing: border-box; }

.bsmm-solid.bsmm-solid {
	font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
	padding: 24px 28px;
	border-radius: 18px;
	background:
		radial-gradient(circle at 85% 15%, rgba(255, 255, 255, 0.18), transparent 55%),
		var(--bsmm-bg, var(--bsmm-color));
	margin: 32px auto;
	max-width: 1000px;
	text-decoration: none !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: transform 400ms ease, box-shadow 400ms ease;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.05);
	cursor: pointer;
	-webkit-font-smoothing: antialiased;
}

.bsmm-solid:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 32px rgba(0, 0, 0, 0.12);
}

/* Decorative platform icon — bleeds off bottom-right */
.bsmm-solid .bsmm-solid__bg-icon {
	position: absolute;
	right: -24px;
	bottom: -32px;
	width: 180px;
	height: 180px;
	color: #ffffff;
	opacity: 0.1;
	pointer-events: none;
	z-index: 0;
	transition: transform 600ms ease, opacity 400ms ease;
	display: block;
}
.bsmm-solid .bsmm-solid__bg-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
.bsmm-solid:hover .bsmm-solid__bg-icon {
	transform: scale(1.05) rotate(-4deg);
	opacity: 0.13;
}

/* Keep content above the bg icon */
.bsmm-solid .bsmm-solid__title,
.bsmm-solid .bsmm-solid__desc,
.bsmm-solid .bsmm-solid__cta {
	position: relative;
	z-index: 1;
}

.bsmm-solid .bsmm-solid__title {
	font-family: 'Poppins', sans-serif !important;
	color: #ffffff !important;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 620px;
	letter-spacing: -0.005em;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
	text-transform: none;
}

.bsmm-solid .bsmm-solid__desc {
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.45;
	margin: 0 !important;
	padding: 0 !important;
	max-width: 620px;
}

.bsmm-solid .bsmm-solid__cta {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	background: #ffffff;
	color: var(--bsmm-color) !important;
	font-size: 13.5px;
	font-weight: 700;
	padding: 10px 20px;
	border-radius: 999px;
	text-decoration: none !important;
	margin-top: 10px;
	transition: transform 200ms ease, box-shadow 200ms ease;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.14);
}
.bsmm-solid:hover .bsmm-solid__cta {
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22);
}

.bsmm-solid .bsmm-solid__cta svg,
.bsmm-solid .bsmm-solid__arrow-wrap svg {
	width: 14px;
	height: 14px;
	flex-shrink: 0;
	transition: transform 200ms ease;
}
.bsmm-solid:hover .bsmm-solid__cta svg,
.bsmm-solid:hover .bsmm-solid__arrow-wrap svg {
	transform: translateX(3px);
}

/* ---------- mobile ---------- */
@media (max-width: 600px) {
	.bsmm-solid.bsmm-solid {
		padding: 22px 18px;
		border-radius: 16px;
		gap: 6px;
		margin: 24px 0;
	}
	.bsmm-solid .bsmm-solid__bg-icon {
		width: 130px;
		height: 130px;
		right: -16px;
		bottom: -22px;
		opacity: 0.09;
	}
	.bsmm-solid .bsmm-solid__title { font-size: 19px; line-height: 1.25; }
	.bsmm-solid .bsmm-solid__desc { font-size: 13.5px; }
	.bsmm-solid .bsmm-solid__cta { padding: 9px 18px; font-size: 12.5px; margin-top: 8px; }
	.bsmm-solid .bsmm-solid__cta svg,
	.bsmm-solid .bsmm-solid__arrow-wrap svg { width: 13px; height: 13px; }
}

@media (max-width: 380px) {
	.bsmm-solid.bsmm-solid { padding: 20px 14px; }
	.bsmm-solid .bsmm-solid__bg-icon { width: 110px; height: 110px; }
	.bsmm-solid .bsmm-solid__title { font-size: 17.5px; }
	.bsmm-solid .bsmm-solid__cta { padding: 9px 16px; }
}

/* ---------- Editor-only ---------- */

.editor-styles-wrapper .bsmm-solid { max-width: none; }
.bsmm-solid--editor { cursor: default; }

/* RichText placeholder + content inheritance */
.bsmm-solid .rich-text {
	font-family: inherit;
	color: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}
.bsmm-solid__title .rich-text [data-rich-text-placeholder]::after,
.bsmm-solid__desc .rich-text [data-rich-text-placeholder]::after {
	color: rgba(255, 255, 255, 0.7) !important;
}
.bsmm-solid__cta .rich-text [data-rich-text-placeholder]::after {
	color: rgba(0, 0, 0, 0.4) !important;
}
