/**
 * Picture: the picture or diagram in a 768px column, centered, or in the
 * container's width; whole, never cropped. See docs/components.md.
 */

.sba-c-picture .sba-c-picture-body {
	max-width: 48rem;
	margin-right: auto;
	margin-left: auto;
}

.sba-c-picture .sba-c-picture-body.sba-c-picture-full {
	max-width: none;
}

/* Under a section header, `mt-10` as everything else. */
.sba-c-picture .sba-c-section-header + .sba-c-picture-body {
	margin-top: 40px;
}

/* Several pictures side by side: `grid gap-6 sm:grid-cols-2`, whole, with
   with a hairline and `rounded-lg`, a caption `mt-3 text-sm`; or square
   tiles, four across from 768px, two below, `gap-4`. */
.sba-c-picture .sba-c-picture-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 24px;
}

.sba-c-picture .sba-c-picture-cell {
	margin: 0;
}

.sba-c-picture .sba-c-picture-cell img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
	border: 1px solid var(--sba-border);
	border-radius: var(--sba-radius);
}

.sba-c-picture .sba-c-picture-cell figcaption {
	padding-top: 12px;
	color: var(--sba-slate);
	font-size: 14px;
	line-height: 20px;
}

.sba-c-picture .sba-c-picture-grid-4 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.sba-c-picture .sba-c-picture-square img {
	aspect-ratio: 1;
	border: 0;
	object-fit: cover;
}

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

@media (min-width: 768px) {
	.sba-c-picture .sba-c-picture-grid-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
