@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


/*=============================================
=            Section Generic            =
=============================================*/
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body{
  font-family: "Montserrat", sans-serif;
    color: #4A649F;
}


/*=====  End of Section Generic  ======*/



/*=============================================
=            Section Objetos            =
=============================================*/

/*----------  Flexbox  ----------*/
/* Bloque principal */
.o-flex {
    display: flex;
  }
  .o-flex--inline {
    display: inline-flex;
  }
/* Dirección */
.o-flex--row {
    flex-direction: row;
  }
  .o-flex--row-reverse {
    flex-direction: row-reverse;
  }
  .o-flex--column {
    flex-direction: column;
  }
  .o-flex--column-reverse {
    flex-direction: column-reverse;
  }
/* Alineación horizontal */ 
.o-flex--justify-start {
    justify-content: flex-start;
  }
  .o-flex--justify-center {
    justify-content: center;
  }
  .o-flex--justify-end {
    justify-content: flex-end;
  }
  .o-flex--justify-between {
    justify-content: space-between;
  }
  .o-flex--justify-around {
    justify-content: space-around;
  }
  .o-flex--justify-evenly {
    justify-content: space-evenly;
  }
/* Alineación vertical */
.o-flex--align-start {
    align-items: flex-start;
  }
  .o-flex--align-center {
    align-items: center;
  }
  .o-flex--align-end {
    align-items: flex-end;
  }
  .o-flex--align-stretch {
    align-items: stretch;
  }
  .o-flex--align-baseline {
    align-items: baseline;
  }
  /* Alineación individual */
  .o-flex__item--self-start {
    align-self: flex-start;
  }
  .o-flex__item--self-center {
    align-self: center;
  }
  .o-flex__item--self-end {
    align-self: flex-end;
  }
  .o-flex__item--self-stretch {
    align-self: stretch;
  }
  .o-flex__item--self-baseline {
    align-self: baseline;
  }
/* Control de espacio */ 
.o-flex--gap-1 {
    gap: 0.5rem;
  }
  .o-flex--gap-2 {
    gap: 1rem;
  }
  .o-flex--gap-3 {
    gap: 1.5rem;
  }
  .o-flex--gap-4 {
    gap: 2rem;
  }
/* FlexWrap */
.o-flex--wrap {
    flex-wrap: wrap;
  }
  .o-flex--nowrap {
    flex-wrap: nowrap;
  }
  .o-flex--wrap-reverse {
    flex-wrap: wrap-reverse;
  }
/* Flex reducci{on y crecimiento */ 
.o-flex__item--grow-1 {
    flex-grow: 1;
  }
  .o-flex__item--grow-2 {
    flex-grow: 2;
  }
  .o-flex__item--shrink-0 {
    flex-shrink: 0;
  }
  .o-flex__item--shrink-1 {
    flex-shrink: 1;
  }  
/*----------  End Flexbox  ----------*/

.o-block{
    display: block;
}

/* Sistema de columnas */
/* Contenedor principal */
.o-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem; /* Espacio entre columnas */
  }
  .o-grid--gap-2 {
    gap: 2rem;
  }
  .o-grid--gap-0 {
    gap: 0;
  }
/* Columnas Desktop */
.o-grid__col {
    flex: 1 1 auto;
  }
  .o-grid__col--1 { flex: 0 0 8.33%; max-width: 8.33%; }
  .o-grid__col--2 { flex: 0 0 16.66%; max-width: 16.66%; }
  .o-grid__col--3 { flex: 0 0 25%; max-width: 25%; }
  .o-grid__col--4 { flex: 0 0 33.33%; max-width: 33.33%; }
  .o-grid__col--5 { flex: 0 0 41.66%; max-width: 41.66%; }
  .o-grid__col--6 { flex: 0 0 50%; max-width: 50%; }
  .o-grid__col--7 { flex: 0 0 58.33%; max-width: 58.33%; }
  .o-grid__col--8 { flex: 0 0 66.66%; max-width: 66.66%; }
  .o-grid__col--9 { flex: 0 0 75%; max-width: 75%; }
  .o-grid__col--10 { flex: 0 0 83.33%; max-width: 83.33%; }
  .o-grid__col--11 { flex: 0 0 91.66%; max-width: 91.66%; }
  .o-grid__col--12 { flex: 0 0 100%; max-width: 100%; }
/* Columnas Tablet */
@media (max-width: 1024px) { /* Tablet */
    .o-grid__col--md-12 { flex: 0 0 100%; max-width: 100%; }
    .o-grid__col--md-6 { flex: 0 0 50%; max-width: 50%; }
    .o-grid__col--md-4 { flex: 0 0 33.33%; max-width: 33.33%; }
  }
/* Columnas Smartphone */
@media (max-width: 768px) { /* Móvil */
    .o-grid__col--sm-12 { flex: 0 0 100%; max-width: 100%; }
    .o-grid__col--sm-6 { flex: 0 0 50%; max-width: 50%; }
  }
/* Alineaci{on de Grid */
.o-grid--center {
    justify-content: center;
  }
  .o-grid--space-between {
    justify-content: space-between;
  }
  .o-grid--space-around {
    justify-content: space-around;
  }
  .o-grid--space-evenly {
    justify-content: space-evenly;
  }
  .o-grid--align-top {
    align-items: flex-start;
  }
  .o-grid--align-center {
    align-items: center;
  }
  .o-grid--align-bottom {
    align-items: flex-end;
  }
/* End Sistema de columnas */

/* Imagenes */
.o-img--responsive{
    width: 100%;
    height: auto;
  }

  .o-img--50{
    width: 50%;
    height: auto;
  }

  .o-img--25{
    width: 25%;
    height: auto;
  }
/*=====  End of Section Objetos  ======*/



/*=============================================
=            Section Components            =
=============================================*/
/* Botones */
a.c-cta{
    padding: 12px 40px;
    background-color: #FEC12B;
    border-radius: 50px;
    transition: all ease .5s;
    font-size: 1.8em!important;
    color: #4A649F;
    text-decoration: none!important;
    font-weight: 700!important;
}
a.c-cta:hover{
    background-color: #f3a601!important;
    text-decoration: none!important;
    color: white!important;
}

/*=====  End of Section Components  ======*/



/*=============================================
=            Utilidades            =
=============================================*/
/* Tamaño de texto */
.u-h1{
    font-family: "Montserrat", sans-serif;
    font-size: 4em!important;
    line-height: 1 !important;
}

.u-h2{
    font-family: "Montserrat", sans-serif;
    font-size: 3.438em;
    line-height: 1 !important;
}

.u-h3{
    font-family: "Montserrat", sans-serif;
    font-size: 2.75em;
    line-height: 1 !important;
}

/* Colores texto */
.u-text-white{
    color: white!important;
}
.u-text-yellow{
    color: #F5BA36!important;
}

/* Pesos de fuentes */
.u-text-bold{
  font-weight: 700;
}


/* Background */
.u-bg-red{
    background-color: #A7192F;
}

/* Espacios */
.u-p-0 { padding: 0; }
.u-p-1 { padding: 0.5rem; }
.u-p-2 { padding: 1rem; }
.u-p-3 { padding: 1.5rem; }
.u-p-4 { padding: 2rem; }
.u-p-5 { padding: 3rem; }

/* Padding en direcciones específicas */
.u-pt-1 { padding-top: 0.5rem; }
.u-pr-1 { padding-right: 0.5rem; }
.u-pb-1 { padding-bottom: 0.5rem; }
.u-pl-1 { padding-left: 0.5rem; }
.u-px-1 { padding-left: 0.5rem; padding-right: 0.5rem; }
.u-py-1 { padding-top: 0.5rem; padding-bottom: 0.5rem; }

.u-m-0 { margin: 0; }
.u-m-1 { margin: 0.5rem; }
.u-m-2 { margin: 1rem; }
.u-m-3 { margin: 1.5rem; }
.u-m-4 { margin: 2rem; }
.u-m-5 { margin: 3rem; }

/* Margin en direcciones específicas */
.u-mt-1 { margin-top: 0.5rem; }
.u-mr-1 { margin-right: 0.5rem; }
.u-mb-1 { margin-bottom: 0.5rem; }
.u-ml-1 { margin-left: 0.5rem; }
.u-mx-1 { margin-left: 0.5rem; margin-right: 0.5rem; }
.u-my-1 { margin-top: 0.5rem; margin-bottom: 0.5rem; }

/* Margen automático (centrado horizontal) */
.u-mx-auto { margin-left: auto; margin-right: auto; }




/*=====  End of Utilidades  ======*/