/* =====================================================
   Categorías de Servicios — filas alternas exactas
   matching categoriaservicios.png (Fórmula Creativa)
   ===================================================== */

/* --- Contenedor principal --- */
.cs-servicios {
  max-width: 1200px;
  margin: 0 auto;
}

/* --- Fila individual --- */
.cs-row {
  display: flex;
  align-items: center;
  gap: 50px;
  min-height: 400px;
}

.cs-row--reversed {
  flex-direction: row-reverse;
}

.cs-row--white {
  background: #ffffff;
}

.cs-row--cream {
  background: #f7f5f0;
}

/* --- Columna de texto --- */
.cs-row__text {
  flex: 0 0 42%;
  padding: 30px 0;
}

.cs-row--reversed .cs-row__text {
  text-align: right;
}

.cs-row--reversed .cs-row__btn {
  margin-left: auto;
}

/* --- Titulo --- */
.cs-row__title {
  margin: 0 0 12px;
  font-family: "Aktifo", "Aktifo-B Black", "Impact", "Arial Black", sans-serif;
  font-weight: 900;
  font-size: 26px;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  color: #b5923a;
}

/* --- Descripcion --- */
.cs-row__desc {
  margin: 0 0 20px;
  font-family: "Montserrat", sans-serif;
  font-size: 14px;
  line-height: 1.7;
  color: #6f6a5e;
}

/* --- Boton btn-gold (Elementor structure) --- */
.cs-row__text .elementor-widget-button {
  display: inline-block;
}

.cs-row--reversed .cs-row__text .elementor-widget-button {
  margin-left: auto;
}

/* --- Imagen (misma altura y ancho) --- */
.cs-row__media {
  flex: 0 0 55%;
  position: relative;
  overflow: hidden;
}

.cs-row__img {
  display: block;
  width: 100%;
  height: 320px !important;
  object-fit: cover;
  border-radius: 18px;
}

/* --- Responsive --- */
@media (max-width: 991px) {
  .cs-row,
  .cs-row--reversed {
    flex-direction: column;
    gap: 24px;
    min-height: auto;
  }

  .cs-row__text,
  .cs-row--reversed .cs-row__text {
    flex: none;
    width: 100%;
    text-align: left;
  }

  .cs-row--reversed .cs-row__btn {
    margin-left: 0;
  }

  .cs-row__media {
    flex: none;
    width: 100%;
  }

  .cs-row__img {
    height: 260px;
  }
}

@media (max-width: 575px) {
  .cs-row__title {
    font-size: 22px;
  }

  .cs-row__img {
    height: 220px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cs-row__btn {
    transition: none;
  }
}