/* ==========================================================================
   Mini page-builder — structural + content leaf elements
   (section / row / col / text / button / image / spacer)
   Front-end styles; enqueued globally via AMLAB_CSS_FILES.
   ========================================================================== */

/* ----- Section tones ----- */
.amlab-section--light { background: #f6f3ec; }
.amlab-section--navy { background: #0c1220; color: #fff; }
.amlab-section--dark { color: #fff; }
.amlab-section--navy .amlab-section-title,
.amlab-section--dark .amlab-section-title { color: #fff; }

/* ----- Row / column grid ----- */
.amlab-row {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
}
.amlab-row--gap-sm { gap: 1rem; }
.amlab-row--gap-md { gap: 2rem; }
.amlab-row--gap-lg { gap: 3rem; }

@media (min-width: 782px) {
	.amlab-row--cols-2 { grid-template-columns: repeat(2, 1fr); }
	.amlab-row--cols-3 { grid-template-columns: repeat(3, 1fr); }
	.amlab-row--cols-4 { grid-template-columns: repeat(4, 1fr); }
	.amlab-row--cols-5 { grid-template-columns: repeat(5, 1fr); }
	.amlab-row--cols-6 { grid-template-columns: repeat(6, 1fr); }

	.amlab-col--span-2 { grid-column: span 2; }
	.amlab-col--span-3 { grid-column: span 3; }
	.amlab-col--span-4 { grid-column: span 4; }
	.amlab-col--span-5 { grid-column: span 5; }
	.amlab-col--span-6 { grid-column: span 6; }
}

.amlab-col { min-width: 0; }

/* ----- Text leaf ----- */
.amlab-text { line-height: 1.7; }
.amlab-text > :first-child { margin-top: 0; }
.amlab-text > :last-child { margin-bottom: 0; }

/* ----- Button leaf ----- */
.amlab-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1rem 0; }

/* ----- Image leaf ----- */
.amlab-image { margin: 0; }
.amlab-image img { max-width: 100%; height: auto; display: block; border-radius: 12px; }

/* ----- Spacer leaf ----- */
.amlab-spacer { width: 100%; }
