/* ALDECO landing — minimal grid/utilities replacing full Bootstrap (232 KB → ~2 KB).
   Covers only the classes the landing actually uses. AUDIT_2026-07-24 M8.
   Breakpoints match Bootstrap 5 (md ≥768px, lg ≥992px). */

*, *::before, *::after { box-sizing: border-box; }

.container { width: 100%; max-width: 1140px; margin-right: auto; margin-left: auto; padding-right: 12px; padding-left: 12px; }

.row { display: flex; flex-wrap: wrap; margin-right: -12px; margin-left: -12px; }
.row > * { padding-right: 12px; padding-left: 12px; }

/* Gutters */
.g-4 { row-gap: 1.5rem; }

/* Columns (mobile-first: default full width, then per-breakpoint fractions) */
[class*="col-"] { position: relative; width: 100%; }
.col-6 { flex: 0 0 auto; width: 50%; }

@media (min-width: 768px) {
	.col-md-3 { flex: 0 0 auto; width: 25%; }
	.col-md-6 { flex: 0 0 auto; width: 50%; }
}
@media (min-width: 992px) {
	.col-lg-2 { flex: 0 0 auto; width: 16.66666667%; }
	.col-lg-3 { flex: 0 0 auto; width: 25%; }
	.col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
	.col-lg-8 { flex: 0 0 auto; width: 66.66666667%; }
}

/* Display + flex utilities */
.d-flex { display: flex; }
.d-none { display: none; }
.align-items-center { align-items: center; }
.justify-content-between { justify-content: space-between; }
.justify-content-center { justify-content: center; }
.gap-3 { gap: 1rem; }

/* Spacing + text utilities */
.text-center { text-align: center; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mt-5 { margin-top: 3rem; }
