/* Hub-only layout extensions. Core typography, spacing, cards and controls
   intentionally come from the original crematorium stylesheet. */
.cg-comparison-metric small {
  display: block;
  color: var(--muted);
  font-size: .68rem;
  margin-top: 3px;
}

.cg-alternative span small {
  display: block;
  color: var(--muted);
  font-size: .68rem;
  font-weight: 400;
  margin-top: 2px;
}

.cg-source-note a {
  font-weight: 750;
}

.hub-facilities {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hub-directory {
  margin-top: 20px;
}

.hub-directory .cg-site-card h3 a {
  color: var(--ink);
  text-decoration: none;
}

.hub-directory .cg-site-card h3 a:hover {
  color: var(--pine);
}

.hub-location {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: .76rem;
}

.hub-directory .cg-facts {
  margin-top: 14px;
}

.hub-directory .cg-fact {
  padding: 10px 11px;
}

.hub-directory .cg-text-link {
  margin-top: 10px;
}

.hub-next-grid {
  margin-top: 18px;
}

.hub-next-grid a {
  color: var(--ink);
  text-decoration: none;
}

.hub-next-grid a strong,
.hub-next-grid a span {
  display: block;
}

.hub-next-grid a strong {
  font-size: .86rem;
}

.hub-next-grid a span {
  color: var(--muted);
  font-size: .76rem;
  margin-top: 4px;
}

@media (max-width: 780px) {
  .hub-facilities {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .hub-facilities,
  .hub-directory,
  .hub-next-grid {
    grid-template-columns: 1fr;
  }
}
