/*
 * HolDent — Archive Glossario + AZ-index + lista
 */

/* -----------------------------------------------------------------
   AZ index sticky
   ----------------------------------------------------------------- */
.holdent-glossario-az {
  position: sticky;
  top: calc(40px + 68px + 24px); /* utility bar + pill + spacing */
  z-index: var(--z-sticky);
  background: color-mix(in srgb, var(--color-canvas) 85%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid var(--color-border);
  border-bottom: 1px solid var(--color-border);
  padding-block: var(--space-md);
}

.holdent-glossario-az__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  list-style: none;
}

.holdent-glossario-az__link {
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-md);
  font-size: var(--fs-body-s);
  font-weight: 700;
  color: var(--color-ink);
  transition: background var(--transition-fast), color var(--transition-fast);
}

.holdent-glossario-az__link:hover:not(.is-disabled):not(.is-active) {
  background: rgba(10, 22, 40, 0.05);
}

.holdent-glossario-az__link.is-active {
  background: linear-gradient(135deg, var(--color-primary), var(--color-secondary));
  color: #fff;
  box-shadow: var(--shadow-lg);
}

.holdent-glossario-az__link.is-disabled {
  color: rgba(10, 22, 40, 0.2);
  cursor: not-allowed;
}

/* -----------------------------------------------------------------
   Lista termini
   ----------------------------------------------------------------- */
.holdent-glossario-lista {
  padding-block: var(--space-4xl);
}

.holdent-glossario-lista__letter {
  font-family: var(--font-headline);
  font-weight: 900;
  font-size: clamp(72px, 10vw, 96px);
  line-height: 1;
  color: var(--color-primary);
  margin-bottom: var(--space-2xl);
}

.holdent-glossario-lista__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-lg);
}

@media (min-width: 768px) {
  .holdent-glossario-lista__grid { grid-template-columns: repeat(2, 1fr); }
}

.holdent-glossario-lista__card {
  background: #fff;
  padding: var(--space-lg);
  border-radius: var(--radius-xl);
  border: 1px solid var(--color-border);
  transition: box-shadow var(--transition-fast);
}

.holdent-glossario-lista__card:hover {
  box-shadow: var(--shadow-lg);
}

.holdent-glossario-lista__card-title {
  font-family: var(--font-headline);
  font-weight: 700;
  font-size: var(--fs-h4);
  line-height: 1.25;
  color: var(--color-ink);
  margin-bottom: var(--space-sm);
}

.holdent-glossario-lista__card-def {
  font-size: var(--fs-body-s);
  line-height: var(--lh-body);
  color: var(--color-text-muted);
  margin-bottom: var(--space-md);
}

.holdent-glossario-lista__card-cta {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-caption);
  font-weight: 700;
  color: var(--color-primary);
}

.holdent-glossario-lista__empty {
  padding-block: var(--space-4xl);
  text-align: center;
  color: var(--color-text-muted);
  font-size: var(--fs-body);
}

.holdent-glossario__l145-wrap {
  padding-block: var(--space-3xl);
  background: var(--color-alternate);
}
