/*
 * Bootstrap-compatible layout utilities. These use the exact Bootstrap names
 * and values that the templates already rely on.
 *
 * Bootstrap spacing scale: 0 = 0, 1 = .25rem, 2 = .5rem, 3 = 1rem,
 * 4 = 1.5rem, 5 = 3rem. Utilities carry !important to match Bootstrap.
 */

/* display */
.d-none  { display: none !important; }
.hidden  { display: none !important; }
.d-block { display: block !important; }
.d-flex  { display: flex !important; }
.d-inline-flex { display: inline-flex !important; }

/* flex alignment */
.flex-column { flex-direction: column !important; }
.flex-wrap { flex-wrap: wrap !important; }
.align-items-center   { align-items: center !important; }
.align-items-start    { align-items: flex-start !important; }
.align-items-end      { align-items: flex-end !important; }
.justify-content-center  { justify-content: center !important; }
.justify-content-between { justify-content: space-between !important; }
.justify-content-end     { justify-content: flex-end !important; }

/* gap */
.gap-1 { gap: .25rem !important; }
.gap-2 { gap: .5rem !important; }
.gap-3 { gap: 1rem !important; }

/* width / height */
.w-100 { width: 100% !important; }
.h-100 { height: 100% !important; }

/* text alignment */
.text-center { text-align: center !important; }
.text-start  { text-align: left !important; }
.text-end    { text-align: right !important; }

/* margin - bottom */
.mb-0 { margin-bottom: 0 !important; }
.mb-1 { margin-bottom: .25rem !important; }
.mb-2 { margin-bottom: .5rem !important; }
.mb-3 { margin-bottom: 1rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.mb-5 { margin-bottom: 3rem !important; }

/* margin - top */
.mt-0 { margin-top: 0 !important; }
.mt-1 { margin-top: .25rem !important; }
.mt-2 { margin-top: .5rem !important; }
.mt-3 { margin-top: 1rem !important; }
.mt-4 { margin-top: 1.5rem !important; }
.mt-5 { margin-top: 3rem !important; }

/* margin - vertical / horizontal / single side */
.my-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.mx-auto { margin-left: auto !important; margin-right: auto !important; }
.me-2 { margin-right: .5rem !important; }
.ms-2 { margin-left: .5rem !important; }

/* padding */
.p-1 { padding: .25rem !important; }
.p-2 { padding: .5rem !important; }
.p-3 { padding: 1rem !important; }

/* flex grow (migrated from repeated inline style="flex: 1") */
.flex-1 { flex: 1; }
