/* Mobile-First Responsive Design System - Base */ /* Container Classes */ .container { width: 100%; margin-left: auto; margin-right: auto; padding-left: var(--spacing-4); padding-right: var(--spacing-4); } @media (min-width: 640px) { .container { max-width: var(--container-sm); padding-left: var(--spacing-6); padding-right: var(--spacing-6); } } @media (min-width: 768px) { .container { max-width: var(--container-md); padding-left: var(--spacing-8); padding-right: var(--spacing-8); } } @media (min-width: 1024px) { .container { max-width: var(--container-lg); padding-left: var(--spacing-10); padding-right: var(--spacing-10); } } @media (min-width: 1280px) { .container { max-width: var(--container-xl); padding-left: var(--spacing-12); padding-right: var(--spacing-12); } } @media (min-width: 1536px) { .container { max-width: var(--container-2xl); padding-left: var(--spacing-16); padding-right: var(--spacing-16); } } @media (min-width: 1920px) { .container { max-width: var(--container-3xl); padding-left: var(--spacing-20); padding-right: var(--spacing-20); } } /* Fluid container for full-width layouts */ .container-fluid { width: 100%; padding-right: var(--spacing-4); padding-left: var(--spacing-4); margin-right: auto; margin-left: auto; } /* Grid System */ .grid { display: grid; gap: var(--spacing-4); } .grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } @media (min-width: 640px) { .grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (min-width: 768px) { .grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } } @media (min-width: 1024px) { .grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } } @media (min-width: 1280px) { .grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); } } @media (min-width: 1536px) { .grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); } } /* Flexbox Utilities */ .flex { display: flex; } .flex-col { flex-direction: column; } .flex-row { flex-direction: row; } .flex-wrap { flex-wrap: wrap; } .flex-nowrap { flex-wrap: nowrap; } .flex-wrap-reverse { flex-wrap: wrap-reverse; } .items-start { align-items: flex-start; } .items-end { align-items: flex-end; } .items-center { align-items: center; } .items-baseline { align-items: baseline; } .items-stretch { align-items: stretch; } .justify-start { justify-content: flex-start; } .justify-end { justify-content: flex-end; } .justify-center { justify-content: center; } .justify-between { justify-content: space-between; } .justify-around { justify-content: space-around; } .justify-evenly { justify-content: space-evenly; } /* Mobile-first responsive breakpoints */ @media (max-width: 575.98px) { /* Mobile styles */ .mobile-stack { flex-direction: column; } .mobile-full-width { width: 100%; } .mobile-text-center { text-align: center; } } @media (min-width: 576px) and (max-width: 767.98px) { /* Small tablet styles */ .mobile-stack { flex-direction: row; } }