.glosario-page {
  --glosario-ink: #24352c;
  --glosario-green: #397a3e;
  --glosario-line: #d9e4d9;
  color: var(--glosario-ink);
}

.glosario-heading {
  border-bottom: 1px solid var(--glosario-line);
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem;
}

.glosario-heading__eyebrow {
  color: var(--glosario-green);
  font-size: 0.78rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.glosario-heading h1 {
  font-size: 2rem;
  font-weight: 750;
  margin: 0 0 0.5rem;
}

.glosario-heading > p:last-child {
  color: #52635a;
  margin: 0;
}

.glosario-tools {
  background: #f3f7f1;
  border: 1px solid var(--glosario-line);
  border-radius: 6px;
  margin-bottom: 1.25rem;
  padding: 1rem;
}

.glosario-search label {
  display: block;
  font-size: 0.9rem;
  font-weight: 650;
  margin-bottom: 0.45rem;
}

.glosario-search__row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
}

.glosario-search input[type="search"] {
  background: #fff;
  border: 1px solid #9eafa1;
  border-radius: 4px;
  flex: 1 1 16rem;
  min-height: 2.75rem;
  padding: 0.55rem 0.75rem;
}

.glosario-search button {
  background: var(--glosario-green);
  border: 1px solid var(--glosario-green);
  border-radius: 4px;
  color: #fff;
  font-weight: 650;
  min-height: 2.75rem;
  padding: 0.55rem 1rem;
}

.glosario-search button:hover,
.glosario-search button:focus-visible {
  background: #285c30;
}

.glosario-search__clear {
  padding: 0.5rem;
}

.glosario-letters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-top: 1rem;
}

.glosario-letters a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 4px;
  color: #31593b;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 650;
  justify-content: center;
  min-height: 2.25rem;
  min-width: 2.25rem;
  padding: 0.25rem 0.55rem;
  text-decoration: none;
}

.glosario-letters a:hover,
.glosario-letters a.is-active {
  background: #dcebd8;
  border-color: #b7d0b4;
  color: #234c2b;
}

.glosario-results__summary {
  color: #536359;
  font-size: 0.9rem;
  margin: 1rem 0 0.4rem;
}

.glosario-results__summary strong {
  color: var(--glosario-ink);
}

.glosario-term {
  border-bottom: 1px solid var(--glosario-line);
  padding: 1rem 0;
}

.glosario-term h2 {
  color: #2f6537;
  font-size: 1.08rem;
  font-weight: 700;
  margin: 0 0 0.35rem;
}

.glosario-term p {
  line-height: 1.65;
  margin: 0;
  white-space: normal;
}

.glosario-empty {
  background: #f7f8f6;
  border-left: 3px solid #8cae79;
  margin: 1rem 0;
  padding: 1rem;
}

.glosario-pagination {
  align-items: center;
  border-top: 1px solid var(--glosario-line);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  justify-content: space-between;
  margin-top: 1.5rem;
  padding-top: 1rem;
}

.glosario-pagination a,
.glosario-pagination > span {
  color: #31593b;
  font-size: 0.92rem;
}

.glosario-pagination > span[aria-disabled="true"] {
  color: #78847c;
}

@media (max-width: 575.98px) {
  .glosario-heading h1 {
    font-size: 1.7rem;
  }

  .glosario-pagination {
    justify-content: center;
  }
}