
.tool-proof-card {
  margin: 0 0 14px;
}

.tool-proof-surface {
  position: relative;
  overflow: hidden;
  min-height: 218px;
  border: 1px solid rgba(173, 178, 182, 0.18);
  border-radius: var(--o4-radius);
  background:
    radial-gradient(circle at top right, rgba(200, 184, 141, 0.34), transparent 16rem),
    linear-gradient(160deg, rgba(34, 35, 42, 0.96), rgba(5, 7, 12, 0.98));
}

.tool-proof-card--archive .tool-proof-surface,
.tool-proof-card--compact .tool-proof-surface {
  min-height: 280px;
}

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

.tool-proof-card--hero .tool-proof-surface {
  min-height: 300px;
}

.tool-proof-image,
.tool-proof-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.tool-proof-image {
  object-fit: cover;
  object-position: center top;
  filter: saturate(0.82) contrast(1.04) brightness(0.74);
}

.tool-proof-fallback {
  background:
    linear-gradient(rgba(173, 178, 182, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(173, 178, 182, 0.045) 1px, transparent 1px),
    radial-gradient(circle at 76% 18%, rgba(200, 184, 141, 0.42), transparent 15rem),
    linear-gradient(135deg, rgba(34, 35, 42, 0.96), rgba(5, 7, 12, 0.98));
  background-size: 28px 28px, 28px 28px, auto, auto;
}

.tool-proof-fallback-grid {
  display: none;
}

.tool-proof-fallback-copy {
  position: relative;
  z-index: 1;
  display: none;
  gap: 8px;
  align-self: end;
  max-width: 78%;
  padding: 18px;
}

.tool-proof-overlay {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 18px;
  min-height: inherit;
  padding: 16px;
  background:
    linear-gradient(180deg, rgba(3, 6, 11, 0.1) 0%, rgba(3, 6, 11, 0.46) 48%, rgba(3, 6, 11, 0.95) 100%);
}

.tool-proof-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.tool-proof-brand {
  display: flex;
  align-items: center;
  gap: 11px;
  min-width: 0;
}

.tool-proof-logo,
.tool-proof-monogram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: var(--o4-radius);
  border: 1px solid rgba(173, 178, 182, 0.16);
  background: rgba(245, 246, 247, 0.94);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.22);
}

.tool-proof-logo {
  padding: 7px;
  object-fit: contain;
}

.tool-proof-monogram {
  color: var(--o4-bg);
  font-family: "Oxanium", "Montserrat", sans-serif;
  font-weight: 700;
}

.tool-proof-brand-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.tool-proof-label,
.tool-proof-fallback-label {
  margin: 0;
  color: rgba(216, 220, 223, 0.84);
  font-family: "Oxanium", "Montserrat", sans-serif;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.tool-proof-vendor,
.tool-proof-fallback-title {
  margin: 0;
  color: var(--o4-white);
  font-family: "Oxanium", "Montserrat", sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.tool-proof-verified {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(173, 178, 182, 0.16);
  border-radius: 999px;
  color: rgba(245, 246, 247, 0.88);
  background: rgba(3, 6, 11, 0.46);
  font-size: 0.74rem;
  font-weight: 700;
  white-space: nowrap;
}

.tool-proof-body {
  display: grid;
  gap: 12px;
  margin-top: auto;
}

.tool-proof-tagline,
.tool-proof-best-for,
.tool-proof-fallback-text {
  margin: 0;
  color: rgba(245, 246, 247, 0.9);
  font-size: 0.9rem;
}

.tool-proof-metrics,
.tool-proof-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.tool-proof-metrics span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 9px;
  border: 1px solid rgba(173, 178, 182, 0.16);
  border-radius: 999px;
  color: rgba(238, 240, 242, 0.88);
  background: rgba(3, 6, 11, 0.5);
  font-size: 0.72rem;
}

.tool-proof-metrics strong {
  margin-right: 4px;
  color: var(--o4-white);
}

.directory-tool-card-frame {
  display: flex;
  flex-direction: column;
  gap: 14px;
  height: 100%;
}

.directory-tool-signal-grid {
  display: grid;
  gap: 9px;
}
