/* ============================================================================
   MAPTAINER — Glosario. Nombres de clase heredados de es/glosario/*.php.
   ============================================================================ */
.glossary-section { padding-block: var(--sp-7); }
.glossary-search-row { max-width: 460px; margin-bottom: var(--sp-7); }
.glossary-search-row input {
  width: 100%; font-family: var(--font-text); font-size: var(--fs-cap); color: var(--ink);
  padding: 12px var(--sp-4); border: 1px solid var(--rule-2);
  border-radius: var(--r-2); background: var(--navy-800);
}
.glossary-search-row input::placeholder { color: var(--ink-3); }
.glossary-search-row input:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }

.glossary-block { padding-block: var(--sp-7); border-top: 1px solid var(--rule); }
.glossary-block:first-of-type { border-top: 0; padding-top: 0; }
.glossary-block-header { display: flex; align-items: flex-start; gap: var(--sp-4); margin-bottom: var(--sp-5); }
.glossary-block-icon { flex-shrink: 0; color: var(--accent); margin-top: 2px; }
.glossary-block-icon svg { width: 24px; height: 24px; }
.glossary-block-title { font-family: var(--font-display); font-size: clamp(26px, 2.8vw, 34px); font-weight: 500;
  line-height: var(--lh-snug); letter-spacing: var(--tracking-h2); margin: 0 0 var(--sp-2); }
.glossary-block-desc { color: var(--ink-2); margin: 0; font-size: var(--fs-cap); max-width: 62ch; }

.glossary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--sp-4); }
@media (max-width: 1000px) { .glossary-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 620px)  { .glossary-grid { grid-template-columns: 1fr; } }

.glossary-card {
  display: flex; flex-direction: column; padding: var(--sp-4) var(--sp-5);
  background: var(--paper-3); border: 1px solid var(--rule); border-radius: var(--r-2);
  text-decoration: none; color: var(--ink);
  transition: border-color var(--dur-1) var(--ease);
}
.glossary-card:hover {
  border-color: var(--accent-hi); color: var(--ink);
  box-shadow: 0 16px 40px rgba(76,193,245,.12);
}
.glossary-card-term {
  font-family: var(--font-mono); font-size: var(--fs-mono); letter-spacing: var(--tracking-label);
  text-transform: uppercase; color: var(--accent); margin-bottom: var(--sp-2);
}
.glossary-card-full { font-family: var(--font-display); font-weight: 500; font-size: var(--fs-h4);
  letter-spacing: -.008em; margin-bottom: var(--sp-2); line-height: var(--lh-snug); }
.glossary-card-desc { font-family: var(--font-read); font-size: var(--fs-cap); color: var(--ink-2); margin: 0; }
