.convocatoria-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
}

.convocatoria-filters__button {
  min-height: 2.75rem;
  padding: 0.55rem 1.15rem;
  border: 2px solid #9bada8;
  border-radius: 999px;
  color: #40596f;
  background: #fff;
  font-weight: 700;
  line-height: 1.2;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease;
}

.convocatoria-filters__button:hover,
.convocatoria-filters__button:focus-visible {
  border-color: #006b5b;
  color: #006b5b;
}

.convocatoria-filters__button.is-active {
  border-color: #006b5b;
  color: #fff;
  background: #006b5b;
}

.convocatoria-filters__button:focus-visible {
  outline: 3px solid rgba(0, 107, 91, 0.3);
  outline-offset: 2px;
}

.convocatoria-filters__empty {
  margin: 2rem 0;
  color: #52667a;
  font-size: 1.05rem;
  text-align: center;
}

.has-convocatoria-status > .views-view-responsive-grid__item-inner {
  position: relative;
}

.convocatoria-card-status {
  position: absolute;
  z-index: 2;
  top: 0.65rem;
  right: 0.65rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
  max-width: calc(100% - 1.3rem);
  min-height: 1.9rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  color: #fff;
  background: #52667a;
  box-shadow: 0 2px 5px rgba(16, 42, 67, 0.22);
}

.convocatoria-card-status__icon {
  flex: 0 0 auto;
  font-size: 0.95rem;
  font-weight: 900;
  line-height: 1;
}

.convocatoria-card-status__label {
  overflow: hidden;
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.02em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.convocatoria-card-status--open {
  background: #007a5e;
}

.convocatoria-card-status--closed {
  background: #64748b;
}

.convocatoria-card-status--upcoming {
  background: #b66a00;
}

.convocatoria-card-status--pending {
  background: #c45324;
}

.convocatoria-card-status--accepted {
  background: #08783e;
}

.convocatoria-card-status--rejected {
  background: #b42318;
}

.convocatoria-card-status--registered {
  background: #52667a;
}

@media (max-width: 575.98px) {
  .convocatoria-filters {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .convocatoria-filters__button {
    padding-right: 0.55rem;
    padding-left: 0.55rem;
  }
}
