.in-icon-box__row {
  display: grid;
  grid-template-columns: 1fr;
}

.in-icon-box__col {
  transition: all ease-in-out 0.3s;
}

.in-icon-box__col-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}

.in-icon-box__col-card .in-icon-box__content {
  grid-row: unset;            /* eliminamos el forzado de posición */
}



.in-icon-box__title-icon {
  display: inline-block;
  height: 18px;
  width: 18px;
  position: absolute;
  right: 0;
  top: 0;
}

.in-icon-box__btn-icon {
  display: inline-block;
  height: 18px;
  margin-left: 5px;
  vertical-align: text-top;
  width: 18px;
}

.in-icon-box__btn-wrap {
  display: inline-block;
}

.in-icon-box__img {
  max-width: 40px !important;
}

.in-icon-box__col-compact {
   display: flex;
  align-items: center;
  gap: 10px;
}

.in-icon-box__col-compact.in-icon .in-icon-box__compact-icon {
  display: inline-block;
  height: 20px;
  width: 20px;
}

.in-icon-box__col-compact.in-img .in-icon-box__compact-icon {
  margin-right: 10px;
}

@media screen and (min-width: 768px) {
  .in-icon-box__row {
    column-gap: 30px;
  }

  .in-icon-box.in-icon-box__compact.in-icon-box__col--two .in-icon-box__row,
  .in-icon-box.in-icon-box__compact.in-icon-box__col--three .in-icon-box__row {
    grid-template-columns: 1fr 1fr;
  }

  .in-icon-box__title-icon {
    top: 4px;
  }
  
    .in-icon-box.in-icon-box__card.in-icon-box__col--two .in-icon-box__row {
    column-gap: 30px;
    grid-template-columns: 1fr 1fr;
  }
}

.in-icon-box__img img {
  aspect-ratio: 1 / 1;
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: contain; 
}

@media screen and (min-width: 992px) {
  .in-icon-box.in-icon-box__compact.in-icon-box__col--three .in-icon-box__row {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .in-icon-box__col-card .in-icon-box__content {
    grid-row: unset;
  }

  .in-icon-box__img {
    position: absolute;
    right: 0;
  }
}



.in-content-img-section .in-icon-box__col.in-icon-box__col-compact.in-img {
  align-items: center;
}
.in-icon-box__col-compact.in-img .in-icon-box__compact-icon img {
    width:25px !important;   /* Ajusta según quieras */
    height: 25px !important;
    object-fit: contain !important;
    display: block !important;
}

@media only screen and (min-width: 768px) and (max-width: 992px) {
  .in-service-section .in-icon-box__col--two .in-icon-box__row {
    grid-template-columns: 1fr 1fr;
  }
}

@media only screen and (max-width: 767px) {
.in-icon-box__col-compact.in-img .in-icon-box__compact-icon,
  .in-icon-box__col-compact.in-img .in-icon-box__compact-icon img,
  .in-icon-box__col-compact.in-img .in-icon-box__compact-icon svg {
    width: 40px !important;     /* ancho fijo */
    height: auto !important;    /* alto fijo (cuadrado) */
    max-width: none !important;
    display: block;
    flex: 0 0 40px;             /* si el contenedor es flex */
    object-fit: contain;        /* mantiene proporciones internamente */
  }

  /* Card layout (cada fila con imagen) */
  .in-icon-box__col-card .in-icon-box__img {
    width: 56px !important;     /* ajuste: cambia el número si quieres más grande/pequeño */
    height: 56px !important;
    max-width: none !important;
    position: relative;
    flex: 0 0 56px;
  }

  /* Imagen dentro del wrapper (esto asegura que la img se ajuste al wrapper cuadrado) */
  .in-icon-box__img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block;
  }

  /* Alineación vertical del conjunto (por si no estaba centrado) */
  .in-icon-box__col-compact.in-img {
    align-items: center; /* ya lo tienes, pero lo reitero por seguridad */
  }

  /* Si hay SVGs como iconos, también forzamos su tamaño */
  .in-icon-box__compact-icon svg,
  .in-icon-box__img svg {
    width: 100% !important;
    height: 100% !important;
    display: block;
  

.in-content-team .in-icon-box__row {
    grid-template-columns: 1fr 1fr;
  }
}

.in-icon-box__col-compact.in-img {
  display: flex;            /* Ponemos flex para que align-items funcione */
  align-items: center;      /* Centra verticalmente la imagen y el texto */
  gap: 10px;                /* Espacio entre imagen y texto */
}

.in-icon-box__compact-icon img {
  display: block;           /* Para quitar espacio inferior extraño */
  max-height: 40px !important;         /* Ajusta a un tamaño razonable */
  max-height: 40px !important;
  object-fit: contain !important;
}

