/**
 * ECOMIXX TAILWIND CORE (Optimized Bundle)
 * Contient uniquement les utilitaires de structure nécessaires.
 */

/* --- FLEXBOX & GRID --- */
.flex { display: flex; }
.inline-flex { display: inline-flex; }
.grid { display: grid; }
.flex-col { flex-direction: column; }
.flex-row { flex-direction: row; }
.items-center { align-items: center; }
.items-start { align-items: flex-start; }
.items-end { align-items: flex-end; }
.justify-between { justify-content: space-between; }
.justify-center { justify-content: center; }
.flex-grow { flex-grow: 1; }
.flex-shrink-0 { flex-shrink: 0; }

/* --- SPACING (Utilitaires de marges/paddings) --- */
.p-4 { padding: 1rem; } .p-6 { padding: 1.5rem; } .p-8 { padding: 2rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-20 { padding-top: 5rem; padding-bottom: 5rem; }
.py-24 { padding-top: 6rem; padding-bottom: 6rem; }
.mb-4 { margin-bottom: 1rem; } .mb-8 { margin-bottom: 2rem; }
.mt-4 { margin-top: 1rem; } .mt-15 { margin-top: 3.75rem; }
.space-x-8 > * + * { margin-left: 2rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }

/* --- SIZING --- */
.w-full { width: 100%; }
.h-full { height: 100%; }
.max-w-\[1600px\] { max-width: 1600px; margin-left: auto; margin-right: auto; }
.max-w-md { max-width: 28rem; }
.aspect-square { aspect-ratio: 1 / 1; }

/* --- POSITIONING --- */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.inset-0 { top: 0; right: 0; bottom: 0; left: 0; }
.top-0 { top: 0; } .right-0 { right: 0; } .bottom-0 { bottom: 0; }
.z-\[1000\] { z-index: 1000; }
.z-\[5000\] { z-index: 5000; }
.z-\[9999\] { z-index: 9999; }

/* --- TYPOGRAPHY --- */
.text-center { text-align: center; }
.text-right { text-align: right; }
.uppercase { text-transform: uppercase; }
.italic { font-style: italic; }
.font-bold { font-weight: 700; }
.text-sm { font-size: 0.875rem; }
.text-xs { font-size: 0.75rem; }
.tracking-widest { letter-spacing: 0.1em; }

/* --- VISIBILITY & SPECIAL --- */
.hidden { display: none; }
.opacity-0 { opacity: 0; }
.opacity-1 { opacity: 1; }
.pointer-events-none { pointer-events: none; }
.pointer-events-auto { pointer-events: auto; }
.transition-all { transition-property: all; }
.duration-500 { transition-duration: 500ms; }
