/*
  bootstrap-grid-custom.css
  Reemplaza bootstrap.min.css (228 KB) con solo las clases
  que JHRoyett Research realmente usa: 96% de ahorro de peso.
  
  Clases incluidas (escaneadas del HTML):
  - .container
  - .row
  - .col-lg-2/3/4/5/6/7
  - .col-md-6
  - .col-sm-12
  - .align-items-center
  - .justify-content-center
  - .text-center
  - .mb-4
  - .mb-lg-0
*/

/* ---- BOX SIZING GLOBAL ---- */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* ---- CONTAINER ---- */
.container {
  width: 100%;
  padding-right: 12px;
  padding-left: 12px;
  margin-right: auto;
  margin-left: auto;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}

/* ---- ROW ---- */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -12px;
  margin-left: -12px;
}

/* ---- COLUMNAS BASE (móvil = 100%) ---- */
[class^="col-"],
[class*=" col-"] {
  position: relative;
  width: 100%;
  padding-right: 12px;
  padding-left: 12px;
}

/* ---- SM ≥ 576px ---- */
@media (min-width: 576px) {
  .col-sm-12 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

/* ---- MD ≥ 768px ---- */
@media (min-width: 768px) {
  .col-md-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

/* ---- LG ≥ 992px ---- */
@media (min-width: 992px) {
  .col-lg-2 {
    flex: 0 0 16.6667%;
    max-width: 16.6667%;
  }
  .col-lg-3 {
    flex: 0 0 25%;
    max-width: 25%;
  }
  .col-lg-4 {
    flex: 0 0 33.3333%;
    max-width: 33.3333%;
  }
  .col-lg-5 {
    flex: 0 0 41.6667%;
    max-width: 41.6667%;
  }
  .col-lg-6 {
    flex: 0 0 50%;
    max-width: 50%;
  }
  .col-lg-7 {
    flex: 0 0 58.3333%;
    max-width: 58.3333%;
  }
}

/* ---- UTILIDADES ---- */
.text-center {
  text-align: center !important;
}
.align-items-center {
  align-items: center !important;
}
.justify-content-center {
  justify-content: center !important;
}
.mb-4 {
  margin-bottom: 1.5rem !important;
}

@media (min-width: 992px) {
  .mb-lg-0 {
    margin-bottom: 0 !important;
  }
}
