/* =============================================
   Section Container — ACE Design System
   Wrapper with padding and background options
   ============================================= */

.section-container {
  width: 100%;
}

/* --- Inner wrapper --- */
.section-container__inner {
  margin: 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Prevent child components from overflowing the container */
.section-container__inner > * {
  max-width: 100%;
}

.section-container__inner--small {
  max-width: 720px;
}

.section-container__inner--medium {
  max-width: 960px;
}

.section-container__inner--large {
  max-width: 1200px;
}

.section-container__inner--full {
  max-width: 100%;
}

/* --- Vertical padding --- */
.section-container--pv-none {
  padding-top: 0;
  padding-bottom: 0;
}

.section-container--pv-small {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.section-container--pv-medium {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.section-container--pv-large {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.section-container--pv-xlarge {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

/* --- Horizontal padding (on inner, so background color reaches edges) --- */
.section-container__inner--ph-none {
  padding-left: 0;
  padding-right: 0;
}

.section-container__inner--ph-small {
  padding-left: 1rem;
  padding-right: 1rem;
}

.section-container__inner--ph-medium {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.section-container__inner--ph-large {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* --- Background colors --- */
.section-container--bg-none {
  background-color: transparent;
}

.section-container--bg-white {
  background-color: #ffffff;
}

.section-container--bg-light {
  background-color: #f5f7fa;
}

.section-container--bg-blue {
  background-color: #003087;
}

.section-container--bg-dark {
  background-color: #1a2b4a;
}

/* =============================================
   Responsive — Tablet
   ============================================= */

@media (max-width: 1023px) {
  .section-container--pv-xlarge {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

/* =============================================
   Responsive — Mobile
   ============================================= */

@media (max-width: 767px) {
  .section-container--pv-large {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }

  .section-container--pv-xlarge {
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
}
