
/*
 * Pre-production polish pass
 * Tightens dense product surfaces after real staging content was reviewed.
 */
.badges {
  align-items: center;
}

.directory-results-grid {
  gap: 18px;
}

.directory-tool-card {
  padding: 16px;
}

.directory-tool-card-frame {
  gap: 12px;
}

.tool-proof-card--archive-preview {
  margin-bottom: 0;
}

.tool-proof-card--archive-preview .tool-proof-surface {
  min-height: 188px;
}

.tool-proof-card--archive-preview .tool-proof-overlay {
  gap: 10px;
  padding: 14px;
}

.tool-proof-card--archive-preview .tool-proof-best-for,
.tool-proof-card--archive-preview .tool-proof-badges {
  display: none;
}

.tool-proof-card--archive-preview .tool-proof-tagline {
  max-width: 28ch;
}

.tool-proof-card--archive-preview .tool-proof-metrics {
  gap: 6px;
}

.tool-proof-card--archive-preview .tool-proof-metrics span {
  min-height: 24px;
  padding: 0 8px;
  font-size: 0.68rem;
}

.directory-tool-title {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1.08;
}

.directory-tool-card .tool-card-summary,
.directory-tool-best-for {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
}

.directory-tool-card .tool-card-summary {
  -webkit-line-clamp: 2;
}

.directory-tool-best-for {
  -webkit-line-clamp: 2;
}

.directory-tool-meta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.directory-tool-meta-row span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid rgba(173, 178, 182, 0.14);
  border-radius: 999px;
  color: rgba(235, 237, 239, 0.84);
  background: rgba(3, 6, 11, 0.3);
  font-size: 0.72rem;
}

.directory-tool-meta-row strong {
  color: var(--o4-white);
}

.directory-tool-card .article-card-footer .button {
  min-height: 42px;
}

.collection-single-section {
  display: grid;
  gap: 22px;
}

.collection-shell {
  padding: 28px 30px;
}

.collection-shell-header {
  align-items: center;
}

.collection-shell-copy {
  align-content: center;
}

.collection-shell-sidebar {
  align-content: start;
  gap: 12px;
}

.collection-shell-sidebar .article-proof-card {
  padding: 16px;
}

.collection-shell-sidebar .article-proof-card p:not(.panel-label) {
  font-size: 0.96rem;
  line-height: 1.48;
}

.collection-shell .badges {
  align-items: center;
  margin: 2px 0 0;
}

.collection-shell .badge,
.collection-shell .badge-soft {
  min-height: 30px;
  padding: 0 11px;
}

.collection-shell .editorial-content {
  max-width: 72ch;
}

.collection-tools-head {
  display: grid;
  gap: 8px;
  max-width: 760px;
}

.collection-tools-head h2 {
  margin: 0;
  color: var(--o4-white);
  font-size: 2rem;
}

.collection-tools-head p {
  margin: 0;
  color: rgba(216, 220, 223, 0.78);
}

.collection-tool-card {
  gap: 12px;
  padding: 18px;
}

.collection-tool-card .tool-proof-card--stack {
  margin-bottom: 0;
}

.collection-tool-card .tool-proof-card--stack .tool-proof-surface {
  min-height: 220px;
}

.collection-tool-card .tool-proof-card--stack .tool-proof-best-for,
.collection-tool-card .tool-proof-card--stack .tool-proof-badges {
  display: none;
}

.collection-tool-card h3 {
  margin: 0;
  font-size: 1.45rem;
}

@media (max-width: 720px) {
  .home-shell .section {
    padding: 26px 0;
  }

  .home-section-shell {
    padding: 18px;
    border-radius: var(--o4-radius-lg);
  }

  .home-section-shell .section-head {
    margin-bottom: 18px;
  }

  .home-section-shell .section-intro,
  .home-section-shell p {
    font-size: 0.94rem;
  }

  .feature-card h3,
  .tool-card h3,
  .collection-card h3,
  .article-card h2,
  .article-card h3 {
    font-size: 1.55rem;
  }

  .tool-proof-card--archive-preview .tool-proof-surface {
    min-height: 170px;
  }

  .directory-tool-meta-row span {
    flex: 1 1 100%;
  }

  .collection-shell {
    padding: 20px;
  }

  .collection-shell-header {
    align-items: start;
    gap: 18px;
  }

  .collection-tools-head {
    padding: 0 2px;
  }

  .collection-tool-card .tool-proof-card--stack .tool-proof-surface {
    min-height: 180px;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 18px;
  }

  .site-footer {
    padding: 42px 0 32px;
  }
}

@media (max-width: 430px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }

  .footer-grid h3 {
    font-size: 0.95rem;
  }

  .footer-menu a,
  .footer-meta {
    font-size: 0.82rem;
  }
}
