/* Custom Column Block (child block) */
.ccb {
	min-width: 0;
	box-sizing: border-box;
}

/* Optional panel look — only when "Background Panel" is enabled. */
.ccb--has-bg {
	background: var(--tt-surface, #122a52);
	border: 1px solid rgba(255, 255, 255, 0.07);
	border-radius: var(--tt-radius, 16px);
	padding: clamp(20px, 3vw, 32px);
}

/* Content inside columns stays white; headings stay orange (theme default). */
.ccb,
.ccb p,
.ccb li {
	color: var(--tt-ink, #eaf0fb);
}

/* Tidy spacing for the first/last child inside a column. */
.ccb > :first-child {
	margin-top: 0;
}

.ccb > :last-child {
	margin-bottom: 0;
}

/*
 * Explicit width = number of tracks spanned on the parent's 12-column grid
 * (the parent switches to a 12-track grid when any fixed width is present).
 * The grid's `gap` handles gutters automatically, so no calc math is needed.
 *   25% -> 3/12, 33% -> 4/12, 50% -> 6/12, 66% -> 8/12, 75% -> 9/12.
 * "auto" has no span: in an all-auto row the columns share the row equally by
 * count; in a mixed row the parent makes auto span the full width.
 */
.ccb--width-25 { grid-column: span 3; }
.ccb--width-33 { grid-column: span 4; }
.ccb--width-50 { grid-column: span 6; }
.ccb--width-66 { grid-column: span 8; }
.ccb--width-75 { grid-column: span 9; }

/* Per-column vertical alignment override */
.ccb--valign-top    { align-self: start; }
.ccb--valign-center { align-self: center; }
.ccb--valign-bottom { align-self: end; }

/* Keep nested images responsive */
.ccb img {
	max-width: 100%;
	height: auto;
}
