/* Tools index — Essential Tools (compact categorized) */
.essential-tools-intro {
  color: var(--t2);
  max-width: 700px;
  margin-bottom: 1.5rem;
  line-height: 1.65;
  font-size: 0.92rem;
}

.essential-category {
  margin-bottom: 1.75rem;
}

.essential-category h3 {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--t3);
  margin: 0 0 0.65rem;
  font-weight: 600;
}

.essential-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(168px, 1fr));
  gap: 0.55rem;
}

.essential-card {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.75rem 0.85rem;
  border-radius: 12px;
  border: 1px solid var(--bdr);
  background: var(--bg2);
  text-decoration: none;
  transition: border-color 0.15s, background 0.15s, transform 0.12s;
  min-height: 4.25rem;
}

.essential-card:hover {
  border-color: rgba(250, 106, 42, 0.45);
  background: rgba(250, 106, 42, 0.06);
  transform: translateY(-1px);
}

.essential-card strong {
  color: var(--t1);
  font-size: 0.84rem;
  line-height: 1.3;
  font-weight: 600;
}

.essential-card span.essential-desc {
  color: var(--t2);
  font-size: 0.72rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.essential-badge {
  font-size: 0.58rem;
  padding: 1px 5px;
  border-radius: 4px;
  margin-left: 4px;
  vertical-align: middle;
  background: rgba(250, 106, 42, 0.15);
  color: var(--a, #f7963a);
  font-weight: 600;
  text-transform: uppercase;
}

.essential-badge.local {
  background: rgba(100, 180, 255, 0.12);
  color: #7eb8ff;
}

@media (max-width: 520px) {
  .essential-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
