/* ========================================
   PLAIN SPEAK TECH DICTIONARY
   Hub (/dictionary/) + entry pages. Loaded via the `dictionaryStyle` front
   matter flag in partials/blog-head.njk. Everything else these pages need —
   answer box, breadcrumb, prose, buttons, CTA block — already comes from
   main.css and blog.css.
   ======================================== */

/* ===== Shared hero ===== */
.dict-hero,
.dict-entry-hero {
  padding: var(--space-2xl) 0 var(--space-xl);
  background-color: var(--primary-white);
}

.dict-entry-label {
  font-family: var(--font-accent);
  font-size: var(--text-lg);
  color: var(--retro-purple);
  margin: 0 0 var(--space-xs);
}

.dict-strapline {
  font-family: var(--font-accent);
  font-size: var(--text-2xl);
  color: var(--retro-teal);
  margin: var(--space-xs) 0 var(--space-md);
}

.dict-intro {
  font-size: var(--text-lg);
  line-height: var(--leading-relaxed);
  color: var(--text-dark);
  margin: 0 0 var(--space-md);
}

.dict-count {
  font-size: var(--text-sm);
  color: var(--text-muted);
  margin: 0;
}

.dict-fullform {
  font-size: var(--text-lg);
  color: var(--text-muted);
  margin: var(--space-xs) 0 0;
}

/* ===== Filter ===== */
.dict-filter {
  margin-bottom: var(--space-lg);
}

.dict-filter-label {
  display: block;
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--navy);
  margin-bottom: var(--space-xs);
}

.dict-filter-input {
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  font-family: var(--font-body);
  font-size: var(--text-base);
  color: var(--text-dark);
  background-color: var(--primary-white);
  border: 2px solid var(--navy);
  border-radius: var(--radius-md);
}

.dict-filter-input:focus {
  outline: none;
  border-color: var(--retro-teal);
  box-shadow: var(--shadow-retro-teal);
}

/* ===== A–Z strip ===== */
.dict-az {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  margin-bottom: var(--space-xl);
}

.dict-az-link,
.dict-az-inactive {
  display: inline-block;
  min-width: 2rem;
  padding: 0.25rem 0;
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 700;
  text-align: center;
  border-radius: var(--radius-sm);
}

.dict-az-link {
  color: var(--navy);
  background-color: rgba(92, 192, 176, 0.14);
  text-decoration: none;
}

.dict-az-link:hover,
.dict-az-link:focus {
  color: var(--primary-white);
  background-color: var(--retro-teal);
}

.dict-az-inactive {
  color: var(--text-muted);
  opacity: 0.4;
}

/* ===== Empty state ===== */
.dict-empty {
  padding: var(--space-md);
  margin-bottom: var(--space-lg);
  background-color: rgba(255, 209, 102, 0.18);
  border-left: 4px solid var(--retro-yellow);
  border-radius: var(--radius-md);
}

/* ===== Category sections ===== */
.dict-category {
  margin-bottom: var(--space-2xl);
  scroll-margin-top: var(--space-xl);
}

.dict-category-name {
  margin: 0 0 var(--space-xs);
}

.dict-category-desc {
  color: var(--text-muted);
  margin: 0 0 var(--space-md);
}

.dict-term-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.dict-term-row {
  padding: var(--space-sm) 0;
  border-bottom: 1px dashed var(--border-light);
  scroll-margin-top: var(--space-xl);
}

.dict-term-link {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--navy);
}

.dict-term-def {
  color: var(--text-muted);
}

/* ===== Entry: related terms ===== */
.dict-related {
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 2px dashed var(--border-light);
}

.dict-related-heading {
  font-family: var(--font-accent);
  font-size: var(--text-lg);
  color: var(--retro-purple);
  margin: 0 0 var(--space-sm);
}

.dict-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  list-style: none;
  padding: 0;
  margin: 0;
}

.dict-chip {
  display: inline-block;
  padding: 0.35rem 0.85rem;
  font-family: var(--font-heading);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--navy);
  background-color: var(--primary-white);
  border: 2px solid var(--navy);
  border-radius: var(--radius-full);
  text-decoration: none;
}

.dict-chip:hover,
.dict-chip:focus {
  color: var(--primary-white);
  background-color: var(--retro-teal);
  border-color: var(--retro-teal);
}

/* ===== Entry: go deeper / footer lines ===== */
.dict-go-deeper {
  margin-top: var(--space-lg);
  padding: var(--space-md);
  background-color: rgba(92, 192, 176, 0.08);
  border-radius: var(--radius-md);
}

.dict-go-deeper-label {
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--navy);
}

.dict-reviewed {
  margin-top: var(--space-lg);
  font-size: var(--text-sm);
  color: var(--text-muted);
}

.dict-back {
  margin-top: var(--space-sm);
  font-weight: 600;
}
