/* =========================================
   LAYOUT SYSTEM (GRID & FLEX)
   ========================================= */

/* Estructura Principal */

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

main {
    flex: 1;
    width: 100%;
    position: relative;
}

/* Contenedores Grid Estándar */

.containerGrid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 2rem;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 2rem;
}

/* Contenedores Flex Centrados */

.containerFlexCenter {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

/* Responsive Grid Helpers */

@media screen and (max-width: 900px) {
    .containerGrid {
        grid-template-columns: 1fr;
        padding: 0 1.5rem;
    }
}