/* ============================ COMPARISON ============================ */
.comparison {
  background: var(--bg-primary);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  padding: clamp(28px, 4vw, 40px);
  position: relative;
  overflow: hidden;
}

.comparison__particles {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.comparison__glow {
  position: absolute;
  top: 18%;
  left: 50%;
  transform: translateX(-50%);
  width: min(620px, 90vw);
  height: min(620px, 90vw);
  max-width: 90vw;
  border-radius: 50%;
  background: radial-gradient(
    circle,
    rgba(34, 197, 94, 0.16) 0%,
    rgba(34, 197, 94, 0.05) 40%,
    transparent 70%
  );
  filter: blur(clamp(10px, 2vw, 20px));
  z-index: 1;
  pointer-events: none;
}

.comparison .container {
  position: relative;
  z-index: 2;
}

.comparison__head {
  max-width: 620px;
  margin-bottom: clamp(32px, 5vw, 56px);
}

.comparison__table-wrap {
  overflow-x: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--bg-primary);
}

.comparison__table {
  width: 100%;
  border-collapse: collapse;
  min-width: 620px;
}

.comparison__table th,
.comparison__table td {
  padding: clamp(14px, 2vw, 20px) clamp(14px, 2.5vw, 24px);
  text-align: center;
  border-bottom: 1px solid var(--border);
}

.comparison__table thead th {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
  padding-block: 26px;
  border-bottom: 1px solid var(--border-strong);
}

.comparison__table thead th:first-child,
.comparison__table tbody th {
  text-align: left;
}

.comparison__table tbody th {
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-muted);
}

.comparison__table tbody tr:last-child th,
.comparison__table tbody tr:last-child td {
  border-bottom: none;
}

/* Coluna em destaque (Pro) */
.comparison__col-featured {
  background: rgba(34, 197, 94, 0.05);
  position: relative;
}

thead .comparison__col-featured {
  color: var(--brand);
}

/* Ícones sim/não gerados via CSS */
td[data-yes]::after,
td[data-no]::after {
  content: "";
  display: inline-block;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

td[data-yes]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
}

td[data-no]::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236b6b73' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3C/svg%3E");
}

.comparison__text {
  font-size: 0.9rem;
  color: var(--text-dim);
}

.comparison__text--partial {
  color: var(--text);
}

.comparison__text--full {
  color: var(--brand);
  font-weight: 600;
}

.comparison__invest {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text);
}

.comparison__row-invest th,
.comparison__row-invest td {
  padding-block: 26px;
}

.comparison__cta {
  margin-top: clamp(28px, 4vw, 44px);
  text-align: center;
}

@media (max-width: 560px) {
  .comparison__table th,
  .comparison__table td {
    padding: 12px 10px;
  }
  .comparison__table thead th {
    font-size: 0.85rem;
    padding-block: 18px;
  }
  .comparison__table tbody th {
    font-size: 0.82rem;
  }
}

@media (min-width: 1440px) {
  .comparison {
    padding: 52px;
  }
  .comparison__table th,
  .comparison__table td {
    padding: 24px 32px;
  }
}

@media (min-width: 1920px) {
  .comparison__table {
    min-width: 800px;
  }
}
