/**
 * Text and aside: `grid gap-12 lg:grid-cols-12 lg:gap-16`, the text in 7
 * columns and the aside in 5, or the other way round. The figure sits
 * `mt-10` under the text.
 *
 * Stat tiles: `rounded-xl border border-border/60 p-6` on the cool surface
 * in a white section, on white in a tinted one; the value `text-3xl
 * lg:text-4xl font-bold tracking-tight`, its label `mt-2 text-sm`. "stack"
 * is `gap-4 sm:grid-cols-2 lg:grid-cols-1`, "pairs" `grid-cols-2`.
 *
 * The card: `rounded-2xl border bg-card p-8 shadow-sm`, its title
 * `text-2xl font-bold`, its text `mt-4`, its links `mt-6 space-y-3`;
 * optionally sticky 112px from the top from 1024px.
 */

.sba-c-text-aside .sba-c-split {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 48px;
}

/* Padding, not margin: Elementor sets every figure's margin in a widget to
   0 at a specificity of (0,4,1). */
.sba-c-text-aside .sba-c-figure {
	padding-top: 40px;
}

.sba-c-text-aside .sba-c-stats {
	display: grid;
	gap: 16px;
	margin: 0;
}

.sba-c-text-aside .sba-c-stat {
	padding: 24px;
	border: 1px solid color-mix(in srgb, var(--sba-border) 60%, transparent);
	border-radius: 12px;
	background-color: var(--sba-surface-cool);
}

.sba-c-text-aside:is(.sba-c-bg-warm, .sba-c-bg-cool) .sba-c-stat {
	background-color: var(--sba-surface);
}

.sba-c-text-aside .sba-c-stat dd {
	margin: 0;
	color: var(--sba-charcoal);
	font-size: 30px;
	font-weight: var(--sba-heading-weight);
	letter-spacing: var(--sba-heading-tracking);
	line-height: 36px;
}

.sba-c-text-aside .sba-c-stat dt {
	margin-top: 8px;
	color: var(--sba-slate);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.375;
}

/* A figure's source under its label, `text-xs`; the name is an inline link
   (links.css, `sba-prose`). The figure's own rule styles every dd of the
   stat at (0,2,1), so this one names the dd too. */
.sba-c-text-aside .sba-c-stat dd.sba-c-stat-source {
	margin: 12px 0 0;
	color: var(--sba-slate);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 16px;
}

.sba-c-text-aside .sba-c-stat dd.sba-c-stat-source a {
	color: inherit;
}

.sba-c-text-aside .sba-c-stats-small .sba-c-stat {
	padding: 20px;
}

.sba-c-text-aside .sba-c-stats-small .sba-c-stat dd {
	font-size: 24px;
	line-height: 32px;
}

.sba-c-text-aside .sba-c-stats-small .sba-c-stat dt {
	margin-top: 4px;
}

/* A heading above the aside, `text-2xl font-bold tracking-tight`, what
   follows it `mt-6`. */
.sba-c-text-aside .sba-c-aside-title {
	margin: 0;
	color: var(--sba-charcoal);
	font-family: var(--sba-font-sans);
	font-size: 24px;
	font-weight: var(--sba-heading-weight);
	letter-spacing: var(--sba-heading-tracking);
	line-height: 32px;
}

.sba-c-text-aside .sba-c-aside-title + * {
	margin-top: 24px;
}

.sba-c-text-aside .sba-c-stats + .sba-c-aside-actions {
	margin-top: 24px;
}

.sba-c-text-aside .sba-c-stats-pairs {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sba-c-text-aside .sba-c-aside-card {
	padding: 32px;
	border: 1px solid var(--sba-border);
	border-radius: 16px;
	background-color: var(--sba-surface);
	box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
}

.sba-c-text-aside .sba-c-aside-card-plain {
	padding: 24px;
	border-color: color-mix(in srgb, var(--sba-border) 60%, transparent);
	border-radius: 12px;
	box-shadow: none;
}

.sba-c-text-aside .sba-c-aside-card-title {
	margin: 0;
	color: var(--sba-charcoal);
	font-family: var(--sba-font-sans);
	font-size: 24px;
	font-weight: var(--sba-heading-weight);
	letter-spacing: var(--sba-heading-tracking);
	line-height: 32px;
}

.sba-c-text-aside .sba-c-aside-card-text {
	margin: 16px 0 0;
	color: var(--sba-slate);
	font-size: 16px;
	line-height: 24px;
}

/* A portrait above the card's eyebrow: the chapter head's, `h-20 w-20
   rounded-full`, `mb-5`. */
.sba-c-text-aside .sba-c-aside-card-portrait {
	display: block;
	width: 80px;
	height: 80px;
	margin-bottom: 20px;
	border-radius: 9999px;
	object-fit: cover;
}

/* Facts: `space-y-5`, each `flex gap-3`, the icon `mt-0.5 h-5 w-5` in the
   dark red, the label `text-sm` muted, the value `mt-1 font-medium`. */
.sba-c-text-aside .sba-c-aside-card-facts {
	display: grid;
	gap: 20px;
	margin: 0;
}

.sba-c-text-aside .sba-c-aside-card-facts > div {
	display: flex;
	gap: 12px;
}

.sba-c-text-aside .sba-c-aside-card-facts .sba-i {
	flex: 0 0 auto;
	margin-top: 2px;
	color: var(--sba-red-dark);
	font-size: 20px;
}

.sba-c-text-aside .sba-c-aside-card-facts dt {
	color: var(--sba-slate);
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.sba-c-text-aside .sba-c-aside-card-facts dd {
	margin: 4px 0 0;
	color: var(--sba-charcoal);
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
}

.sba-c-text-aside .sba-c-aside-card-title + .sba-c-aside-card-facts,
.sba-c-text-aside .sba-c-aside-card-text + .sba-c-aside-card-facts {
	margin-top: 20px;
}

/* A form under the text, `mt-8`. */
.sba-c-text-aside .sba-c-split-form {
	margin-top: 32px;
}

/* Contacts: `mt-5 space-y-3 text-sm`, the label muted above its address,
   the address an inline link. */
.sba-c-text-aside .sba-c-aside-card-contacts {
	display: grid;
	gap: 12px;
	margin: 20px 0 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
	line-height: 20px;
}

.sba-c-text-aside .sba-c-aside-card-contacts span {
	display: block;
	color: var(--sba-slate);
}

/* A button the card's width, `mt-6`; details `mt-8 space-y-4 border-t
   pt-6 text-sm`, the label muted, the value `mt-0.5 font-medium`; a logo
   under its label `text-sm` muted, `mt-4 h-16`, the next label `mt-6`. */
.sba-c-text-aside .sba-c-aside-card-button {
	display: flex;
	flex-direction: column;
	margin-top: 24px;
}

.sba-c-text-aside .sba-c-aside-card-details {
	display: grid;
	gap: 16px;
	margin: 32px 0 0;
	padding-top: 24px;
	border-top: 1px solid var(--sba-border);
	font-size: 14px;
	line-height: 20px;
}

.sba-c-text-aside .sba-c-aside-card-details dt {
	color: var(--sba-slate);
	font-weight: 400;
}

.sba-c-text-aside .sba-c-aside-card-details dd {
	margin: 2px 0 0;
	color: var(--sba-charcoal);
	font-weight: 500;
}

.sba-c-text-aside .sba-c-aside-card-logo p {
	margin: 0;
	color: var(--sba-slate);
	font-size: 14px;
	line-height: 20px;
}

.sba-c-text-aside .sba-c-aside-card-logo + .sba-c-aside-card-logo {
	margin-top: 24px;
}

.sba-c-text-aside .sba-c-aside-card-logo img {
	display: block;
	width: auto;
	height: 64px;
	max-width: 100%;
	margin-top: 16px;
	object-fit: contain;
}

/* A logo in the title's place, under the eyebrow: the wordmark names the
   card, and the text follows it as it follows a title. */
.sba-c-text-aside .sba-c-aside-card-logo-lead img {
	margin-top: 0;
}

.sba-c-text-aside .sba-c-aside-card-links {
	display: grid;
	gap: 12px;
	margin: 24px 0 0;
	padding: 0;
	list-style: none;
}

/* Each link sits in a 24px line, as the prototype's inline-flex links in
   their list items do (the format pages); a single link, which the
   prototype puts straight into the card, in its 22px line (Media,
   Register). */
.sba-c-text-aside .sba-c-aside-card-links li {
	font-size: 16px;
	line-height: 24px;
}

.sba-c-text-aside .sba-c-aside-card-links li:only-child {
	line-height: 22px;
}

/* A 3:2 picture (Partnering). */
.sba-c-text-aside .sba-c-figure-3-2 img {
	aspect-ratio: 3 / 2;
}

.sba-c-text-aside .sba-c-split-center {
	align-items: center;
}

/* A picture uncut, on white with a border (`rounded-xl border bg-white`). */
.sba-c-text-aside .sba-c-figure-whole img {
	border: 1px solid var(--sba-border);
	background-color: #fff;
	object-fit: contain;
}

/* A heading in the text column, its paragraphs `mt-4` under it and each
   other. */
.sba-c-text-aside .sba-c-split-main > .sba-c-section-title + .sba-c-prose,
.sba-c-text-aside .sba-c-split-main > .sba-c-section-title + .sba-c-prose > * + *,
.sba-c-text-aside .sba-c-split-main > .sba-c-section-title + .sba-c-intro {
	margin-top: 16px;
}

/* In SBA's full container the text column grows to 780px; its copy keeps
   to the measure it has in the narrow one (style guide, Layout, Widths:
   body copy stops at roughly 65 characters). */
.site-sba .sba-c-text-aside .sba-c-split-main > :is(.sba-c-intro, .sba-c-prose) {
	max-width: 40rem;
}

/* Its text links `mt-6` (Why's ecosystem). */
.sba-c-text-aside .sba-c-split-main > .sba-c-section-title ~ .sba-c-links {
	margin-top: 24px;
}

.sba-c-text-aside .sba-c-split-main > .sba-c-figure:first-child {
	padding-top: 0;
}

/* Definitions: `divide-y rounded-lg border bg-card`, a row `p-5`, the term
   `text-sm font-bold`, its lines `mt-2 space-y-1 text-sm` muted. */
.sba-c-text-aside .sba-c-definitions {
	margin: 0;
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius);
	background-color: var(--sba-surface);
}

.sba-c-text-aside .sba-c-definitions > div {
	padding: 20px;
}

.sba-c-text-aside .sba-c-definitions > div + div {
	border-top: 1px solid var(--sba-border);
}

.sba-c-text-aside .sba-c-definitions dt {
	color: var(--sba-charcoal);
	font-size: 14px;
	font-weight: 700;
	line-height: 20px;
}

.sba-c-text-aside .sba-c-definitions dd {
	margin: 8px 0 0;
}

.sba-c-text-aside .sba-c-definitions ul {
	display: grid;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--sba-slate);
	font-size: 14px;
	line-height: 20px;
}

/* A second card under the first, `mt-6`: its heading, then checklists, each
   under a heading of the body's size (Poster exhibitions' specifications). */
.sba-c-text-aside .sba-c-aside-box {
	margin-top: 24px;
}

.sba-c-text-aside .sba-c-aside-box .sba-c-checklist {
	margin-top: 16px;
}

.sba-c-text-aside .sba-c-aside-box-heading {
	margin: 24px 0 0;
	color: var(--sba-charcoal);
	font-family: var(--sba-font-sans);
	font-size: 16px;
	font-weight: var(--sba-heading-weight);
	letter-spacing: normal;
	line-height: 24px;
}

.sba-c-text-aside .sba-c-aside-box-heading + .sba-c-checklist {
	margin-top: 12px;
}

/* Under the aside: the notice `mt-6`, the actions `mt-4 flex-col gap-3`. */
.sba-c-text-aside .sba-c-split-aside .sba-c-notice-box {
	margin-top: 24px;
	background-color: transparent;
}

.sba-c-text-aside .sba-c-aside-actions {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 12px;
	margin-top: 16px;
}

.sba-c-text-aside .sba-c-aside-actions .sba-c-link {
	align-self: flex-start;
}

@media (min-width: 640px) {
	.sba-c-text-aside .sba-c-stats-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.sba-c-text-aside .sba-c-stats-stack {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.sba-c-text-aside .sba-c-split {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: 64px;
	}

	.sba-c-text-aside .sba-c-split-7-5 .sba-c-split-main { grid-column: span 7; }
	.sba-c-text-aside .sba-c-split-7-5 .sba-c-split-aside { grid-column: span 5; }
	.sba-c-text-aside .sba-c-split-5-7 .sba-c-split-main { grid-column: span 5; }
	.sba-c-text-aside .sba-c-split-5-7 .sba-c-split-aside { grid-column: span 7; }
	.sba-c-text-aside .sba-c-split-8-4 { gap: 40px; }
	.sba-c-text-aside .sba-c-split-8-4 .sba-c-split-main { grid-column: span 8; }
	.sba-c-text-aside .sba-c-split-8-4 .sba-c-split-aside { grid-column: span 4; }

	.sba-c-text-aside .sba-c-stat dd {
		font-size: 36px;
		line-height: 40px;
	}

	.sba-c-text-aside .sba-c-stats-small .sba-c-stat dd {
		font-size: 30px;
		line-height: 36px;
	}

	.sba-c-text-aside .sba-c-stats-stack {
		grid-template-columns: minmax(0, 1fr);
	}

	.sba-c-text-aside .sba-c-aside-card-sticky {
		position: sticky;
		top: 112px;
	}
}
