/**
 * BD Fit Check (For / Not For) — .espt-block-bd-fit-check
 * Mobile-first. Vars set by the spec: --gap --item-gap --title-size (responsive)
 * --item-size (responsive) --icon-size --yes-color --no-color --text-color
 * --footer-color --cta-bg --cta-color. Root classes: is-design-{cards|joined|
 * header|outline|versus|rows|dark|minimal}, is-icon-style-{plain|bubble|solid|
 * square}, is-dividers, is-columns-{split|stack}, is-text-align-*.
 * Each column owns --c (its accent) and the derived tints below.
 */

.espt-block-bd-fit-check .bdw25 {
	color: var(--bd-ink);
	display: grid;
	gap: var(--gap, 14px);
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
}

/* ------------------------------------------------------------ heading */
.espt-block-bd-fit-check .bdw25-head { min-width: 0; }
.espt-block-bd-fit-check .bdw25-head .espt-title { margin-bottom: 6px; overflow-wrap: anywhere; }
.espt-block-bd-fit-check .bdw25-head .espt-sub { margin-bottom: 0; overflow-wrap: anywhere; }
.espt-block-bd-fit-check .bdw25-head:not(:last-child) { margin-bottom: 2px; }

/* ------------------------------------------------------------ columns */
.espt-block-bd-fit-check .bdw25-cols {
	display: grid;
	gap: var(--gap, 14px);
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	position: relative;
}

.espt-block-bd-fit-check .bdw25-c {
	--c: var(--bd-primary);
	--c-dark: color-mix(in srgb, var(--c) 78%, #000);
	--c-soft: color-mix(in srgb, var(--c) 8%, #fff);
	--c-line: color-mix(in srgb, var(--c) 30%, #fff);
	--c-tint: color-mix(in srgb, var(--c) 14%, #fff);
	min-width: 0;
	position: relative;
}

.espt-block-bd-fit-check .bdw25-yes { --c: var(--yes-color, var(--bd-primary)); }
.espt-block-bd-fit-check .bdw25-no { --c: var(--no-color, var(--bd-danger)); }

/* column title */
.espt-block-bd-fit-check .bdw25-h {
	align-items: center;
	color: var(--c-dark);
	display: flex;
	font-size: var(--title-size, 16px);
	font-weight: 800;
	gap: 9px;
	line-height: 1.3;
	margin: 0 0 10px;
	min-width: 0;
}

.espt-block-bd-fit-check .bdw25-ht { min-width: 0; overflow-wrap: anywhere; }

.espt-block-bd-fit-check .bdw25-hi {
	align-items: center;
	background: var(--c);
	border-radius: 50%;
	color: #fff;
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 0.82em;
	height: 1.7em;
	justify-content: center;
	line-height: 0;
	width: 1.7em;
}

.espt-block-bd-fit-check .bdw25-hi svg { height: 1em; width: 1em; }

/* list */
.espt-block-bd-fit-check .bdw25-list {
	display: grid;
	gap: var(--item-gap, 6px);
	list-style: none;
	margin: 0;
	min-width: 0;
	padding: 0;
}

.espt-block-bd-fit-check .bdw25-li {
	align-items: flex-start;
	color: var(--text-color, var(--bd-body));
	display: flex;
	font-size: var(--item-size, 14px);
	gap: 9px;
	line-height: 1.65;
	min-width: 0;
	padding: 1px 0;
}

.espt-block-bd-fit-check .bdw25-tx { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }

.espt-block-bd-fit-check .bdw25-i {
	align-items: center;
	color: var(--c);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: var(--icon-size, 15px);
	font-style: normal;
	font-weight: 800;
	height: 1em;
	justify-content: center;
	line-height: 0;
	/* centre the mark on the first line of text */
	margin-top: max(0px, calc((var(--item-size, 14px) * 1.65 - 1em) / 2));
	transition: transform 0.2s ease, background-color 0.2s ease;
	width: 1em;
}

.espt-block-bd-fit-check .bdw25-i svg { height: 1em; width: 1em; stroke-width: 2.5; }
.espt-block-bd-fit-check .bdw25-li:hover .bdw25-i { transform: scale(1.18); }

/* icon styles */
.espt-block-bd-fit-check.is-icon-style-bubble .bdw25-i,
.espt-block-bd-fit-check.is-icon-style-solid .bdw25-i,
.espt-block-bd-fit-check.is-icon-style-square .bdw25-i {
	border-radius: 50%;
	height: 1.7em;
	margin-top: max(0px, calc((var(--item-size, 14px) * 1.65 - 1.7em) / 2));
	width: 1.7em;
}

/* the mark itself shrinks inside the badge (each selector needs its own
   descendant — a shared "…, … svg" list would resize the badge, not the icon) */
.espt-block-bd-fit-check.is-icon-style-bubble .bdw25-i svg,
.espt-block-bd-fit-check.is-icon-style-solid .bdw25-i svg,
.espt-block-bd-fit-check.is-icon-style-square .bdw25-i svg { height: 0.9em; width: 0.9em; }
.espt-block-bd-fit-check.is-icon-style-bubble .bdw25-i { background: var(--c-tint); }
.espt-block-bd-fit-check.is-icon-style-solid .bdw25-i,
.espt-block-bd-fit-check.is-icon-style-square .bdw25-i { background: var(--c); color: #fff; }
.espt-block-bd-fit-check.is-icon-style-square .bdw25-i { border-radius: 0.35em; }

/* dividers between items */
.espt-block-bd-fit-check.is-dividers .bdw25-list { gap: 0; }
.espt-block-bd-fit-check.is-dividers .bdw25-li { padding: calc(var(--item-gap, 6px) / 2 + 4px) 0; }
.espt-block-bd-fit-check.is-dividers .bdw25-li + .bdw25-li { border-top: 1px solid color-mix(in srgb, var(--c) 18%, transparent); }

/* ------------------------------------------------------------- footer */
.espt-block-bd-fit-check .bdw25-ft {
	align-items: flex-start;
	color: var(--footer-color, var(--bd-muted));
	display: flex;
	font-size: calc(var(--item-size, 14px) - 1px);
	gap: 8px;
	justify-content: center;
	line-height: 1.6;
	min-width: 0;
	padding: 0 6px;
	text-align: center;
}

.espt-block-bd-fit-check .bdw25-ft > span { min-width: 0; overflow-wrap: anywhere; }
.espt-block-bd-fit-check .bdw25-fi { color: var(--bd-primary); flex: 0 0 auto; font-size: 1.1em; margin-top: 0.25em; }
.espt-block-bd-fit-check.is-text-align-left .bdw25-ft { justify-content: flex-start; text-align: left; }
.espt-block-bd-fit-check.is-text-align-right .bdw25-ft { justify-content: flex-end; text-align: right; }

/* ------------------------------------------------ design: cards (original) */
.espt-block-bd-fit-check.is-design-cards .bdw25-c {
	background: var(--c-soft);
	border: 1px solid var(--c-line);
	border-left: 4px solid var(--c);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.espt-block-bd-fit-check.is-design-cards .bdw25-c:hover { border-color: color-mix(in srgb, var(--c) 50%, #fff); border-left-color: var(--c); }

/* ------------------------------------------------------ design: joined */
.espt-block-bd-fit-check.is-design-joined .bdw25-cols { gap: 0; }
.espt-block-bd-fit-check.is-design-joined .bdw25-c { padding-bottom: var(--gap, 14px); }
.espt-block-bd-fit-check.is-design-joined .bdw25-c:last-child { padding-bottom: 0; }
.espt-block-bd-fit-check.is-design-joined .bdw25-c + .bdw25-c { border-top: 1px solid var(--bd-line); padding-top: var(--gap, 14px); }
.espt-block-bd-fit-check.is-design-joined .bdw25-h { border-bottom: 2px solid var(--c); padding-bottom: 8px; }

/* ------------------------------------------------------ design: header */
.espt-block-bd-fit-check.is-design-header .bdw25-c { border: 1px solid var(--c-line); overflow: hidden; padding: 0; }
.espt-block-bd-fit-check.is-design-header .bdw25-h {
	background: linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 82%, #000));
	color: #fff;
	margin: 0;
	padding: 11px var(--bd-pad);
}

.espt-block-bd-fit-check.is-design-header .bdw25-hi { background: rgba(255, 255, 255, 0.22); color: #fff; }
.espt-block-bd-fit-check.is-design-header .bdw25-list { padding: calc(var(--bd-pad) * 0.7) var(--bd-pad) var(--bd-pad); }
.espt-block-bd-fit-check.is-design-header .bdw25-h + .bdw25-list { padding-top: calc(var(--bd-pad) * 0.6); }

/* ----------------------------------------------------- design: outline */
.espt-block-bd-fit-check.is-design-outline .bdw25-c { border: 1.5px solid var(--c-line); border-top: 4px solid var(--c); }
.espt-block-bd-fit-check.is-design-outline .bdw25-c:hover { border-color: color-mix(in srgb, var(--c) 55%, #fff); border-top-color: var(--c); }

/* ------------------------------------------------------ design: versus */
.espt-block-bd-fit-check.is-design-versus .bdw25-cols { gap: calc(var(--gap, 14px) * 0.6); }
.espt-block-bd-fit-check.is-design-versus .bdw25-c { border: 2px solid var(--c-line); }
.espt-block-bd-fit-check.is-design-versus .bdw25-c::before {
	background: radial-gradient(circle at 100% 0, var(--c-tint), transparent 55%);
	border-radius: inherit;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.espt-block-bd-fit-check.is-design-versus .bdw25-h,
.espt-block-bd-fit-check.is-design-versus .bdw25-list { position: relative; }

.espt-block-bd-fit-check .bdw25-vs {
	align-items: center;
	background: var(--bd-ink);
	border: 3px solid var(--bd-box-bg);
	border-radius: 50%;
	box-shadow: 0 8px 20px -8px rgba(15, 23, 42, 0.45);
	color: #fff;
	display: inline-flex;
	font-size: 12px;
	font-weight: 900;
	height: 44px;
	justify-content: center;
	justify-self: center;
	letter-spacing: 0.06em;
	line-height: 1;
	overflow: hidden;
	text-transform: uppercase;
	width: 44px;
	z-index: 2;
}

.espt-block-bd-fit-check .bdw25-vs span { max-width: 100%; overflow: hidden; padding: 0 4px; text-overflow: ellipsis; white-space: nowrap; }

/* -------------------------------------------------------- design: rows */
.espt-block-bd-fit-check.is-design-rows .bdw25-list { gap: max(6px, var(--item-gap, 6px)); }
.espt-block-bd-fit-check.is-design-rows .bdw25-li {
	background: var(--c-soft);
	border: 1px solid var(--c-line);
	border-radius: calc(var(--bd-radius) * 0.55);
	padding: 9px 11px;
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.espt-block-bd-fit-check.is-design-rows .bdw25-li:hover { border-color: color-mix(in srgb, var(--c) 55%, #fff); transform: translateX(3px); }

/* rows + dividers = one joined list: drop the gap and let each chip's bottom
   border be the single 1px seam (a border-top here would double it to 2px) */
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-list { gap: 0; }
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-li { border-radius: 0; }
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-li + .bdw25-li { border-top: 0; }
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-li:hover { transform: none; }
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-li:first-child { border-radius: calc(var(--bd-radius) * 0.55) calc(var(--bd-radius) * 0.55) 0 0; }
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-li:last-child { border-radius: 0 0 calc(var(--bd-radius) * 0.55) calc(var(--bd-radius) * 0.55); }
.espt-block-bd-fit-check.is-design-rows.is-dividers .bdw25-li:only-child { border-radius: calc(var(--bd-radius) * 0.55); }

/* -------------------------------------------------------- design: dark */
.espt-block-bd-fit-check.is-design-dark .bdw25-c {
	--c-dark: color-mix(in srgb, var(--c) 60%, #fff);
	--c-tint: color-mix(in srgb, var(--c) 32%, transparent);
	background: var(--bd-deep);
	border: 1px solid color-mix(in srgb, var(--c) 40%, transparent);
	border-left: 4px solid var(--c);
	color: #fff;
}

.espt-block-bd-fit-check.is-design-dark .bdw25-li { color: var(--text-color, rgba(255, 255, 255, 0.84)); }
.espt-block-bd-fit-check.is-design-dark .bdw25-i { color: color-mix(in srgb, var(--c) 65%, #fff); }
.espt-block-bd-fit-check.is-design-dark.is-icon-style-solid .bdw25-i,
.espt-block-bd-fit-check.is-design-dark.is-icon-style-square .bdw25-i { background: var(--c); color: #fff; }
.espt-block-bd-fit-check.is-design-dark .bdw25-hi { color: #fff; }
.espt-block-bd-fit-check.is-design-dark.is-dividers .bdw25-li + .bdw25-li { border-top-color: rgba(255, 255, 255, 0.12); }

/* ----------------------------------------------------- design: minimal */
.espt-block-bd-fit-check.is-design-minimal .bdw25-c {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.espt-block-bd-fit-check.is-design-minimal .bdw25-c:hover { box-shadow: none; transform: none; }
.espt-block-bd-fit-check.is-design-minimal .bdw25-h { border-bottom: 3px solid var(--c); margin-bottom: 12px; padding-bottom: 8px; }
.espt-block-bd-fit-check.is-design-minimal .bdw25-c + .bdw25-c { margin-top: 4px; }

/* --------------------------------------------------- staggered reveal */
.espt-block-bd-fit-check[data-bd-anim] .bdw25-li {
	opacity: 0;
	transform: translateX(-10px);
	transition: opacity 0.45s ease, transform 0.45s ease;
	transition-delay: calc(160ms + var(--i, 0) * 70ms);
}

.espt-block-bd-fit-check[data-bd-anim].is-in .bdw25-li { opacity: 1; transform: none; }

/* ---------------------------------------------------------------- CTA */
.espt-block-bd-fit-check .bd-cta {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-top: 2px;
	min-width: 0;
}

.espt-block-bd-fit-check .bd-cta-al-left { align-items: flex-start; }
.espt-block-bd-fit-check .bd-cta-al-right { align-items: flex-end; }

.espt-block-bd-fit-check .bd-cta-btn {
	align-items: center;
	background: var(--cta-bg, var(--espt-btn-bg, var(--bd-primary)));
	border: 0;
	border-radius: var(--espt-btn-radius, 9px);
	box-shadow: none;
	color: var(--cta-color, #fff);
	cursor: pointer;
	display: inline-flex;
	font-size: 16px;
	font-weight: 800;
	gap: 9px;
	justify-content: center;
	line-height: 1.2;
	max-width: 100%;
	padding: 13px 28px;
	text-align: center;
	text-decoration: none;
	transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease, background-color 0.15s ease;
	width: 100%;
}

.espt-block-bd-fit-check .bd-cta-btn > span { min-width: 0; overflow-wrap: anywhere; }
.espt-block-bd-fit-check .bd-cta-btn:hover { color: var(--cta-color, #fff); filter: brightness(1.06); text-decoration: none; }
.espt-block-bd-fit-check .bd-cta-hover-lift:hover { box-shadow: 0 12px 24px -12px rgba(15, 23, 42, 0.45); transform: translateY(-3px); }
.espt-block-bd-fit-check .bd-cta-hover-scale:hover { transform: scale(1.04); }
.espt-block-bd-fit-check .bd-cta-hover-glow:hover { box-shadow: 0 0 0 4px color-mix(in srgb, var(--cta-bg, var(--bd-primary)) 28%, transparent); }

.espt-block-bd-fit-check .bd-cta-note {
	color: var(--bd-muted);
	font-size: 12.5px;
	line-height: 1.5;
	overflow-wrap: anywhere;
	text-align: center;
}

.espt-block-bd-fit-check .bd-cta-al-left .bd-cta-note { text-align: left; }
.espt-block-bd-fit-check .bd-cta-al-right .bd-cta-note { text-align: right; }

.espt-block-bd-fit-check .bd-cta-pill .bd-cta-btn { border-radius: 99px; }
.espt-block-bd-fit-check .bd-cta-gradient .bd-cta-btn { background-image: linear-gradient(135deg, var(--cta-bg, var(--bd-primary)), var(--bd-primary-dark)); }
.espt-block-bd-fit-check .bd-cta-outline .bd-cta-btn { background: transparent; border: 2px solid var(--cta-bg, var(--bd-primary)); color: var(--cta-color, var(--cta-bg, var(--bd-primary))); }
.espt-block-bd-fit-check .bd-cta-outline .bd-cta-btn:hover { background: var(--bd-soft); color: var(--cta-color, var(--cta-bg, var(--bd-primary))); }
.espt-block-bd-fit-check .bd-cta-soft .bd-cta-btn { background: var(--bd-soft); color: var(--cta-color, var(--bd-primary-dark)); }
.espt-block-bd-fit-check .bd-cta-soft .bd-cta-btn:hover { color: var(--cta-color, var(--bd-primary-dark)); }
.espt-block-bd-fit-check .bd-cta-3d .bd-cta-btn { box-shadow: 0 4px 0 var(--bd-primary-dark); }
.espt-block-bd-fit-check .bd-cta-3d .bd-cta-btn:active { box-shadow: 0 0 0 var(--bd-primary-dark); transform: translateY(4px); }
.espt-block-bd-fit-check .bd-cta-glow .bd-cta-btn { box-shadow: 0 8px 26px -8px var(--cta-bg, var(--bd-primary)); }
.espt-block-bd-fit-check .bd-cta-elevated .bd-cta-btn { box-shadow: 0 12px 26px -12px rgba(15, 23, 42, 0.5); }
.espt-block-bd-fit-check .bd-cta-shine .bd-cta-btn { overflow: hidden; position: relative; }
.espt-block-bd-fit-check .bd-cta-shine .bd-cta-btn::after {
	background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.35), transparent);
	bottom: 0;
	content: "";
	left: -80%;
	position: absolute;
	top: 0;
	transform: skewX(-20deg);
	transition: left 0.5s ease;
	width: 50%;
}

.espt-block-bd-fit-check .bd-cta-shine .bd-cta-btn:hover::after { left: 130%; }
.espt-block-bd-fit-check .bd-cta-ghost .bd-cta-btn { background: transparent; color: var(--cta-color, var(--bd-primary-dark)); padding: 6px 12px; text-decoration: underline; width: auto; }
.espt-block-bd-fit-check .bd-cta-ghost .bd-cta-btn:hover { color: var(--cta-color, var(--bd-primary-dark)); }

.espt-block-bd-fit-check .bd-cta-attn .bd-cta-btn { animation: espt-bdw25-pop 1.8s ease-in-out infinite; }
@keyframes espt-bdw25-pop {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.045); }
}

.espt-block-bd-fit-check .bd-bico { display: inline-flex; line-height: 0; transition: transform 0.2s ease; }
.espt-block-bd-fit-check .bd-bico svg { height: 1em; width: 1em; }
.espt-block-bd-fit-check .bd-cta-btn:hover .bd-bico-slide { transform: translateX(4px); }
.espt-block-bd-fit-check .bd-bico-bounce { animation: espt-bdw25-ico-bounce 1.6s ease-in-out infinite; }
.espt-block-bd-fit-check .bd-bico-pulse { animation: espt-bdw25-ico-pulse 1.8s ease-in-out infinite; }
@keyframes espt-bdw25-ico-bounce {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-4px); }
}
@keyframes espt-bdw25-ico-pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.18); }
}

/* ------------------------------------------------------------- tablet + */
@media (min-width: 768px) {
	.espt-block-bd-fit-check.is-columns-split .bdw25-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	/* only one column filled in (the other title + list are empty) → full row */
	.espt-block-bd-fit-check.is-columns-split .bdw25-c:only-child { grid-column: 1 / -1; }

	/* joined: vertical divider instead of the horizontal one */
	.espt-block-bd-fit-check.is-design-joined.is-columns-split .bdw25-c { padding-bottom: 0; }
	.espt-block-bd-fit-check.is-design-joined.is-columns-split .bdw25-c:first-child { padding-right: var(--gap, 14px); }
	.espt-block-bd-fit-check.is-design-joined.is-columns-split .bdw25-c + .bdw25-c { border-left: 1px solid var(--bd-line); border-top: 0; padding-left: var(--gap, 14px); padding-top: 0; }

	/* versus: badge floats over the seam */
	.espt-block-bd-fit-check.is-design-versus.is-columns-split .bdw25-cols { gap: var(--gap, 14px); }
	.espt-block-bd-fit-check.is-design-versus.is-columns-split .bdw25-vs {
		height: 50px;
		left: 50%;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 50px;
	}

	.espt-block-bd-fit-check.is-design-minimal.is-columns-split .bdw25-c + .bdw25-c { margin-top: 0; }

	.espt-block-bd-fit-check .bd-cta-btn { width: auto; }
	.espt-block-bd-fit-check .bd-cta-full .bd-cta-btn { width: 100%; }
	.espt-block-bd-fit-check .bd-cta-ghost .bd-cta-btn { width: auto; }
}

@media (min-width: 1024px) {
	.espt-block-bd-fit-check .bdw25-h { margin-bottom: 12px; }
	.espt-block-bd-fit-check .bdw25-li { padding: 2px 0; }
	.espt-block-bd-fit-check.is-design-rows .bdw25-li { padding: 10px 13px; }
	.espt-block-bd-fit-check.is-design-header .bdw25-h { padding: 13px var(--bd-pad); }
}

/* ------------------------------------------------------- reduced motion */
@media (prefers-reduced-motion: reduce) {
	.espt-block-bd-fit-check .bdw25-i,
	.espt-block-bd-fit-check .bdw25-c,
	.espt-block-bd-fit-check.is-design-rows .bdw25-li,
	.espt-block-bd-fit-check .bd-cta-btn,
	.espt-block-bd-fit-check .bd-bico { transition: none; }
	.espt-block-bd-fit-check .bdw25-li:hover .bdw25-i,
	.espt-block-bd-fit-check.is-design-rows .bdw25-li:hover { transform: none; }
	.espt-block-bd-fit-check[data-bd-anim] .bdw25-li { opacity: 1; transform: none; transition: none; }
	.espt-block-bd-fit-check .bd-cta-attn .bd-cta-btn,
	.espt-block-bd-fit-check .bd-bico-bounce,
	.espt-block-bd-fit-check .bd-bico-pulse { animation: none; }
}
