/* Grid System Responsivo */

/* Configuración base */
.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 15px;
  box-sizing: border-box;
}

/* Grid de 12 columnas */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-left: -15px;
  margin-right: -15px;
}

/* Columnas base */
[class*="col-"] {
  padding: 15px;
  box-sizing: border-box;
}

/* Definición de columnas para diferentes breakpoints */
.col-1 { width: 8.33%; }
.col-2 { width: 16.66%; }
.col-3 { width: 25%; }
.col-4 { width: 33.33%; }
.col-5 { width: 41.66%; }
.col-6 { width: 50%; }
.col-7 { width: 58.33%; }
.col-8 { width: 66.66%; }
.col-9 { width: 75%; }
.col-10 { width: 83.33%; }
.col-11 { width: 91.66%; }
.col-12 { width: 100%; }

/* Offsets base */
.offset-0 { margin-left: 0; }
.offset-1 { margin-left: 8.33%; }
.offset-2 { margin-left: 16.66%; }
.offset-3 { margin-left: 25%; }
.offset-4 { margin-left: 33.33%; }
.offset-5 { margin-left: 41.66%; }
.offset-6 { margin-left: 50%; }
.offset-7 { margin-left: 58.33%; }
.offset-8 { margin-left: 66.66%; }
.offset-9 { margin-left: 75%; }
.offset-10 { margin-left: 83.33%; }
.offset-11 { margin-left: 91.66%; }

/* Breakpoint para tablets (768px y superiores) */
@media (min-width: 768px) {
  .col-md-1 { width: 8.33%; }
  .col-md-2 { width: 16.66%; }
  .col-md-3 { width: 25%; }
  .col-md-4 { width: 33.33%; }
  .col-md-5 { width: 41.66%; }
  .col-md-6 { width: 50%; }
  .col-md-7 { width: 58.33%; }
  .col-md-8 { width: 66.66%; }
  .col-md-9 { width: 75%; }
  .col-md-10 { width: 83.33%; }
  .col-md-11 { width: 91.66%; }
  .col-md-12 { width: 100%; }

  /* Offsets para tablets */
  .offset-md-0 { margin-left: 0; }
  .offset-md-1 { margin-left: 8.33%; }
  .offset-md-2 { margin-left: 16.66%; }
  .offset-md-3 { margin-left: 25%; }
  .offset-md-4 { margin-left: 33.33%; }
  .offset-md-5 { margin-left: 41.66%; }
  .offset-md-6 { margin-left: 50%; }
  .offset-md-7 { margin-left: 58.33%; }
  .offset-md-8 { margin-left: 66.66%; }
  .offset-md-9 { margin-left: 75%; }
  .offset-md-10 { margin-left: 83.33%; }
  .offset-md-11 { margin-left: 91.66%; }
}

/* Breakpoint para desktops (992px y superiores) */
@media (min-width: 992px) {
  .col-lg-1 { width: 8.33%; }
  .col-lg-2 { width: 16.66%; }
  .col-lg-3 { width: 25%; }
  .col-lg-4 { width: 33.33%; }
  .col-lg-5 { width: 41.66%; }
  .col-lg-6 { width: 50%; }
  .col-lg-7 { width: 58.33%; }
  .col-lg-8 { width: 66.66%; }
  .col-lg-9 { width: 75%; }
  .col-lg-10 { width: 83.33%; }
  .col-lg-11 { width: 91.66%; }
  .col-lg-12 { width: 100%; }

  /* Offsets para desktops */
  .offset-lg-0 { margin-left: 0; }
  .offset-lg-1 { margin-left: 8.33%; }
  .offset-lg-2 { margin-left: 16.66%; }
  .offset-lg-3 { margin-left: 25%; }
  .offset-lg-4 { margin-left: 33.33%; }
  .offset-lg-5 { margin-left: 41.66%; }
  .offset-lg-6 { margin-left: 50%; }
  .offset-lg-7 { margin-left: 58.33%; }
  .offset-lg-8 { margin-left: 66.66%; }
  .offset-lg-9 { margin-left: 75%; }
  .offset-lg-10 { margin-left: 83.33%; }
  .offset-lg-11 { margin-left: 91.66%; }
}

/* Breakpoint para móviles pequeños (menor a 768px) */
@media (max-width: 767px) {
  [class*="col-"] {
    width: 100%;
  }
  [class*="offset-"] {
    margin-left: 0;
  }
}

/* Utilidades adicionales */
.no-gutters {
  margin-left: 0;
  margin-right: 0;
}

.no-gutters > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}

/* Centrado de contenedor */
.container-fluid {
  width: 100%;
  padding: 0 15px;
  box-sizing: border-box;
}