/* ChilledSites: Lovable and Bolt comparison page (public/compare/lovable-bolt).
   Page-only styles, prefixed cmp-. Reuses the gf- classes from get-found.css for
   hero, cards, FAQ and CTA. All colour comes from article.css tokens, so light and
   dark mode work with no overrides here. */

:where(.cmp-page) table { border-collapse: separate; border-spacing: 0; }

.cmp-hero-copy { max-width: 760px; }
.cmp-hero-link { font-size: 15px; font-weight: var(--w-strong); color: var(--coral); }
.cmp-hero-link:hover { text-decoration: underline; }

/* Answer capsule */
.cmp-capsule { padding: 56px 0; border-top: 1px solid var(--divider); }
.cmp-capsule h2 {
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
  color: var(--text-strong);
  margin-bottom: 14px;
}
.cmp-capsule p {
  font-size: 17px;
  line-height: 1.7;
  color: var(--text);
  max-width: 760px;
  padding-left: 18px;
  border-left: 3px solid var(--coral);
}

/* On par where it is subjective */
.cmp-par {
  margin-top: 32px;
  padding: 24px;
  max-width: 760px;
  background: var(--card);
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
}
.cmp-par h3 { font-size: 17px; color: var(--text-strong); margin-bottom: 8px; }
.cmp-par p { font-size: 15px; line-height: 1.7; color: var(--text); margin: 0; }

/* Comparison table */
.cmp-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--card-border);
  border-radius: var(--radius);
  background: var(--card);
  -webkit-overflow-scrolling: touch;
}
.cmp-table {
  width: 100%;
  min-width: 720px;
  font-size: 14px;
  line-height: 1.5;
}
.cmp-table caption {
  text-align: left;
  padding: 16px 16px 12px;
  font-size: 13px;
  color: var(--muted);
  caption-side: top;
}
.cmp-table th,
.cmp-table td {
  padding: 12px 16px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid var(--divider);
  color: var(--text);
}
.cmp-table thead th {
  font-weight: var(--w-strong);
  color: var(--text-strong);
  background: var(--card);
  font-size: 14px;
}
.cmp-table tbody th {
  font-weight: var(--w-strong);
  color: var(--text-strong);
  width: 26%;
}
/* Sticky first column so row labels stay visible while the table scrolls sideways */
.cmp-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--card);
  box-shadow: 1px 0 0 var(--divider);
}
/* Our column */
.cmp-table .cmp-us {
  background: var(--coral-dim);
  color: var(--text-strong);
}
.cmp-table thead .cmp-us {
  color: var(--coral);
  border-top: 3px solid var(--coral);
  padding-top: 10px;
}
.cmp-nd { color: var(--faint); }

/* Beyond the table cards */
.cmp-card-list { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.cmp-card-list li { font-size: 14px; line-height: 1.55; color: var(--text); padding-left: 16px; position: relative; }
.cmp-card-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--coral);
}
.cmp-card-more { display: inline-block; margin-top: 14px; font-size: 14px; font-weight: var(--w-strong); color: var(--coral); }
.cmp-card-more:hover { text-decoration: underline; }
.cmp-grid { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 640px) { .cmp-grid { grid-template-columns: 1fr; } }
@media (min-width: 1100px) {
  .cmp-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); }
}

/* When Lovable or Bolt is the right choice */
.cmp-when { padding: 72px 0; border-top: 1px solid var(--divider); }
.cmp-when h2 { font-size: clamp(1.6rem, 3.2vw, 2.2rem); color: var(--text-strong); margin-bottom: 16px; }
.cmp-when-list { list-style: none; margin: 0 0 20px; padding: 0; display: flex; flex-direction: column; gap: 12px; max-width: 720px; }
.cmp-when-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 16px; line-height: 1.6; color: var(--text); }
.cmp-when-list svg { flex-shrink: 0; width: 20px; height: 20px; margin-top: 3px; color: var(--coral); }
.cmp-when-close { font-size: 16px; line-height: 1.7; color: var(--muted); max-width: 720px; }

/* Sources */
.cmp-sources { padding: 40px 0 56px; border-top: 1px solid var(--divider); }
.cmp-sources h2 { font-size: 15px; color: var(--text-strong); margin-bottom: 10px; }
.cmp-sources p { font-size: 13px; line-height: 1.7; color: var(--muted); margin: 0 0 8px; }
.cmp-sources ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.cmp-sources li { font-size: 12.5px; color: var(--muted); overflow-wrap: anywhere; }
.cmp-sources a { color: var(--coral); text-decoration: underline; }

/* Small text under the CTA button */
.gf-final-cta .cmp-cta-note { font-size: 13.5px; color: var(--muted); margin: 14px 0 0; }
