/* ==========================================================================
   Layout Components
   ========================================================================== */

/* Two Column Layout */
.two-column {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--grid-gap);
    align-items: center;
}

.two-column--reverse {
    direction: rtl;
}

.two-column--reverse .text-content {
    direction: ltr;
}

/* Section Padding */
.section {
    padding: var(--space-8) 0;
}

.section--dark {
    background-color: var(--neutral-200);
}

.section__header {
    text-align: center;
    max-width: 800px;
    margin: 0 auto var(--space-8);
}

.section__header p {
    font-size: var(--font-size-lg);
    color: var(--neutral-600);
}

/* Grid Layouts */
.grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--grid-gap);
}

.grid--2,
.grid--3,
.grid--4 {
    grid-template-columns: 1fr;
}

/* Responsive Grids */
@media (min-width: 768px) {
    .two-column {
        grid-template-columns: 1fr 1fr;
    }
    
    .grid--2 {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }
    
    .grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }
}