/* Problems solved (patterns/capability-problems.php). Values from the old capability-problems-section.tsx. */
.sp-capability-problems {
	position: relative;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--black) 5%, transparent);
}
.sp-capability-problems .sp-capability-problems__inner {
	margin-block: 40px;
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__inner { margin-block: 80px; }
}
.sp-capability-problems .sp-capability-problems__heading {
	max-width: 800px;
	margin-bottom: 32px;
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__heading { margin-bottom: 40px; }
}
@media (min-width: 1280px) {
	.sp-capability-problems .sp-capability-problems__heading { max-width: 1000px; }
}
.sp-capability-problems .sp-capability-problems__label.sp-capability-problems__label {
	margin-bottom: 20px;
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 2px;
	text-transform: uppercase;
	opacity: 0.6;
}
.sp-capability-problems .sp-capability-problems__title {
	font-size: var(--wp--preset--font-size--heading-2);
	line-height: 1.05;
	font-weight: 600;
	letter-spacing: -0.025em;
}
.sp-capability-problems .sp-capability-problems__body {
	overflow: hidden;
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__body { overflow: visible; }
}
.sp-capability-problems .sp-capability-problems__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: stretch;
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__grid { grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.95fr); }
}

/* Outcome panel: photo, the active outcome centred on it. Bleeds to the left edge. */
.sp-capability-problems .sp-capability-problems__panel.sp-capability-problems__panel {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 350px;
	width: calc(100% + 32px);
	margin-left: -16px;
	padding: 56px 32px;
	overflow: hidden;
	background: var(--wp--preset--color--primary);
}
.sp-capability-problems--secondary .sp-capability-problems__panel.sp-capability-problems__panel { background: var(--wp--preset--color--secondary); }
@media (min-width: 640px) {
	.sp-capability-problems .sp-capability-problems__panel.sp-capability-problems__panel { padding-inline: 48px; }
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__panel.sp-capability-problems__panel {
		min-height: 475px;
		width: calc(100% + 30px);
		margin-left: -30px;
		padding: 80px 64px;
	}
}
@media (min-width: 1280px) {
	.sp-capability-problems .sp-capability-problems__panel.sp-capability-problems__panel {
		min-height: 560px;
		width: calc(100% + 60px);
		margin-left: -60px;
	}
}
@media (min-width: 1921px) {
	.sp-capability-problems .sp-capability-problems__panel.sp-capability-problems__panel { width: 100%; margin-left: 0; }
}
.sp-capability-problems .sp-capability-problems__panel .wp-block-cover__image-background {
	object-fit: cover;
	object-position: 50% 50%;
	pointer-events: none;
}
.sp-capability-problems .sp-capability-problems__panel .wp-block-cover__inner-container {
	position: relative;
	z-index: 10;
	width: auto;
	max-width: 560px;
	color: inherit;
}
.sp-capability-problems .sp-capability-problems__outcomes {
	text-align: center;
}
.sp-capability-problems .sp-capability-problems__outcome {
	font-size: clamp(1.8rem, 2.5vw, 2.3rem);
	line-height: 1.06;
	font-weight: 500;
	letter-spacing: -0.025em;
	color: var(--wp--preset--color--black);
}
.sp-capability-problems--secondary .sp-capability-problems__outcome { color: var(--wp--preset--color--white); }
html.sp-js .sp-capability-problems .sp-capability-problems__outcome.is-active {
	animation: sp-capability-outcome 0.25s ease-out;
}
@keyframes sp-capability-outcome {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}
/* In the editor every outcome shows; keep them apart. */
.editor-styles-wrapper .sp-capability-problems .sp-capability-problems__outcome + .sp-capability-problems__outcome { margin-top: 24px; }

/* Problem list. */
.sp-capability-problems .sp-capability-problems__tabs {
	padding-top: 32px;
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__tabs { padding: 32px; }
}
.sp-capability-problems .sp-capability-problems__tab {
	display: flex;
	column-gap: 8px;
	padding-bottom: 16px;
	font-size: var(--wp--preset--font-size--large);
	line-height: 28px;
	font-weight: 700;
	text-transform: uppercase;
	text-align: left;
	color: color-mix(in srgb, var(--wp--preset--color--black) 24%, transparent);
	cursor: pointer;
	transition: color 0.15s;
}
.sp-capability-problems .sp-capability-problems__tab:hover { color: color-mix(in srgb, var(--wp--preset--color--black) 45%, transparent); }
.sp-capability-problems .sp-capability-problems__tab.is-active { color: var(--wp--preset--color--black); }
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__tab { column-gap: 12px; }
}
@media (min-width: 1280px) {
	.sp-capability-problems .sp-capability-problems__tab { padding-bottom: 32px; }
}
/* Slanted marker (old ico_rect-alt / ico_rect-alt-active), drawn in CSS. */
.sp-capability-problems .sp-capability-problems__tab::before {
	content: "";
	flex: none;
	width: 10px;
	height: 20px;
	margin-top: 2.88px;
	clip-path: polygon(46.96% 0, 100% 0, 53.04% 100%, 0 100%);
	background: color-mix(in srgb, var(--wp--preset--color--black) 20%, transparent);
	opacity: 0.3;
	transition: opacity 0.15s;
}
@media (min-width: 1024px) {
	.sp-capability-problems .sp-capability-problems__tab::before { width: 12px; height: 24px; }
}
.sp-capability-problems .sp-capability-problems__tab:hover::before { opacity: 0.55; }
.sp-capability-problems .sp-capability-problems__tab.is-active::before {
	opacity: 1;
	background: linear-gradient(to bottom,
		color-mix(in srgb, var(--wp--preset--color--black) 20%, transparent) 50.238%,
		var(--wp--preset--color--black) 51%);
}
