/* ========================================
   GLOBAL CONTAINER SYSTEM
   Consistent spacing across all pages
   Breakpoints match navbar.css exactly
   ======================================== */

/* Base Container - Matches Navbar width */
.container-efx {
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    padding-left: 1rem;
    padding-right: 1rem;
}

/* Section Spacing */
.section-spacing {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

/* Section Spacing - Large */
.section-spacing-lg {
    padding-top: 6rem;
    padding-bottom: 6rem;
}

/* Section Spacing - Small */
.section-spacing-sm {
    padding-top: 2rem;
    padding-bottom: 2rem;
}

/* ========================================
   RESPONSIVE CONTAINER PADDING
   Breakpoints match navbar.css
   ======================================== */

/* Extra Small Mobile (< 375px) */
@media (max-width: 374px) {
    .container-efx {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .section-spacing {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    .section-spacing-lg {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .section-spacing-sm {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
}

/* Small Mobile (375px - 575px) */
@media (min-width: 375px) and (max-width: 575px) {
    .container-efx {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .section-spacing {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
    }

    .section-spacing-lg {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
}

/* Tablet - Small (576px+) */
@media (min-width: 576px) {
    .container-efx {
        padding-left: 2rem;
        padding-right: 2rem;
    }

    .section-spacing {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    .section-spacing-lg {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }
}

/* Tablet Landscape (768px+) */
@media (min-width: 768px) {
    .container-efx {
        padding-left: 3rem;
        padding-right: 3rem;
    }

    .section-spacing {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }

    .section-spacing-lg {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
}

/* Desktop - Medium (992px - 1023px) */
@media (min-width: 992px) and (max-width: 1023px) {
    .section-spacing {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .section-spacing-lg {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* Desktop (1024px+) */
@media (min-width: 1024px) {
    .container-efx {
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .section-spacing {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .section-spacing-lg {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
}

/* Large Desktop (1200px - 1399px) */
@media (min-width: 1200px) and (max-width: 1399px) {
    .container-efx {
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .section-spacing-lg {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
}

/* Extra Large Desktop (1400px+) */
@media (min-width: 1400px) {
    .section-spacing-lg {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
}

/* Ultra Wide (1920px+) */
@media (min-width: 1920px) {
    .section-spacing-lg {
        padding-top: 10rem;
        padding-bottom: 10rem;
    }
}

/* ========================================
   CONTENT WIDTH VARIATIONS
   ======================================== */

/* Narrow Content - For text-heavy sections */
.container-efx-narrow {
    max-width: 1200px;
}

/* Wide Content - For full-width sections */
.container-efx-wide {
    max-width: 1800px;
}

/* Full Bleed - No max-width */
.container-efx-full {
    max-width: none;
}
