Используйте псевдо-селектор nth-child (even) для нацеливания на все четные элементы и обновления столбцов его дочерних элементов
.servicios-card:nth-child(even) .servicios-texto {
grid-column: 2;
}
.servicios-card:nth-child(even) img {
grid-column: 1;
grid-row: 1;
}
В вашем случае, поскольку у вас есть неровные столбцы, вам также придется обновить свой сетка для каждого четного элемента
.servicios-card:nth-child(even) {
grid-template-columns: 1fr 1.5fr;
}
Редактировать: Существует более умное решение.
Использование областей шаблона сетки сделает его чище
Обновить ваш элемент-обёртка примерно таков:
.servicios-card {
margin: 100px 200px;
display: grid;
align-items: center;
grid-template-columns: 1.5fr 1fr;
grid-template-areas:
"img text";
grid-gap: 140px;
}
Здесь вы создаете области для своих дочерних элементов, поэтому вам нужно только переключить размер областей и столбцов для каждого четного элемента.
Назначить дети к вашим сеткам
.servicios-card img {
grid-area: img;
}
.servicios-texto {
grid-area: text;
}
Затем наведите четные элементы на магию c.
.servicios-card:nth-child(even) {
grid-template-areas:
"text img";
grid-template-columns: 1fr 1.5fr
}