/* =========================================================
   ASSIGNATURES ETAPA BLOCK
   ========================================================= */

.c-assignatures-etapa {
  margin-top: var(--mar-t, 4rem);
  margin-bottom: var(--mar-b, 4rem);
  padding-top: var(--pad-t, 0);
  padding-bottom: var(--pad-b, 0);
}

.c-assignatures-etapa--hidden {
  display: none;
}

.c-assignatures-etapa__header-wrapper {
  margin-bottom: var(--mb-header, 4rem);
}

.c-assignatures-etapa__titol {
  font-size: var(--fs-tit-bloc, 52px);
  line-height: 1.1;
  font-weight: var(--fw-tit-bloc, 700);
  color: var(--c-tit-bloc, #1e1348);
  margin: 0 0 1rem 0;
}

.c-assignatures-etapa__desc {
  font-size: var(--fs-desc-bloc, 16px);
  font-weight: var(--fw-desc-bloc, 400);
  color: var(--c-desc-bloc, #1e1348);
  line-height: 1.5;
  margin: 0;
}

.c-assignatures-etapa__desc p {
  margin: 0;
}

.c-assignatures-etapa__grid {
  padding-top: 20px;
}

.c-assignatures-etapa__grid.grid-container {
  row-gap: 50px;
}

.c-assignatures-etapa__card {
  background-color: var(--bg-card, #f6f8fb);
  border-radius: var(--br-card, 20px);
  padding: var(--pad-card, 48px 24px 24px 24px);
  position: relative;
  display: flex;
  flex-direction: column;
}

.c-assignatures-etapa__card-icon {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-assignatures-etapa__card-icon img {
  width: var(--ic-size, auto);
  max-height: var(--ic-size, auto);
  object-fit: contain;
  display: block;
}

.c-assignatures-etapa__card-content {
  text-align: center;
}

.c-assignatures-etapa__card-title {
  font-size: var(--fs-card-tit, 26px);
  font-weight: var(--fw-card-tit, 700);
  color: var(--c-card-tit, #1e1348);
  margin: 0 0 1rem 0;
  line-height: 1.3;
}

.c-assignatures-etapa__card-desc {
  font-size: var(--fs-card-desc, 18px);
  font-weight: var(--fw-card-desc, 400);
  color: var(--c-card-desc, #1e1348);
  line-height: 1.4;
  margin: 0 0 1.5rem 0;
}

.c-assignatures-etapa__card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  margin-top: auto;
}

.c-assignatures-etapa__card-tag {
  background-color: var(--bg-tag, #ffffff);
  border: 1px solid var(--bd-tag, #e7daed);
  border-radius: var(--br-tag, 40px);
  padding: 6px 14px;
  font-size: var(--fs-tag, 16px);
  line-height: 1.5;
  color: var(--c-tag, #5d4d9b);
  font-weight: var(--fw-tag, 400);
  white-space: nowrap;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* TABLETS (Max 1024px): Pasamos de 4 a 3 tarjetas por fila */
@media (max-width: 1024px) {
  .c-assignatures-etapa__header-wrapper .col-10 {
    grid-column-end: span 12;
  }

  .c-assignatures-etapa__grid > .c-assignatures-etapa__card {
    grid-column-end: span 4;
  }
}

@media (max-width: 768px) {
  .c-assignatures-etapa {
    margin-top: var(--mar-t-mob, 2rem);
    margin-bottom: var(--mar-b-mob, 2rem);
    padding-top: var(--pad-t-mob, 0);
    padding-bottom: var(--pad-b-mob, 0);
  }

  .c-assignatures-etapa__header-wrapper {
    text-align: center;
    margin-bottom: var(--mb-header-mob, 2rem);
  }
  
  .c-assignatures-etapa__titol {
    font-size: var(--fs-tit-bloc-mob, 32px);
  }
  .c-assignatures-etapa__desc {
    font-size: var(--fs-desc-bloc-mob, 16px);
  }

  .c-assignatures-etapa__card {
    margin-bottom: 12px;
    padding: var(--pad-card-mob, 32px 14px 16px 14px);
  }

  .c-assignatures-etapa__card-icon img {
    width: var(--ic-size-mob, auto);
    max-height: var(--ic-size-mob, auto);
  }

  .c-assignatures-etapa__card-title {
    font-size: var(--fs-card-tit-mob, 16px);
    margin-bottom: 0.5rem;
  }

  .c-assignatures-etapa__card-desc {
    font-size: var(--fs-card-desc-mob, 14px);
    margin-bottom: 1rem;
  }

  .c-assignatures-etapa__card-tag {
    font-size: var(--fs-tag-mob, 14px);
    padding: 4px 10px;
  }
}

@media (max-width: 480px) {
  .c-assignatures-etapa__card-tags {
    gap: 4px;
  }
}