/* v1.34.0: "alternatives" comparison pages (/alternatives/). Builds on css/style.css and css/products.css. */
.cmp-hero h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
.cmp-disclose { max-width: 760px; margin: 0 0 24px; padding: 12px 16px; border-left: 3px solid var(--accent); background: var(--surface);
  color: var(--muted); font-size: .9rem; line-height: 1.6; }
.cmp-disclose b { color: var(--text); font-weight: 600; }
.cmp-answer { padding-top: 0; }
.cmp-answer-box { background: var(--card); border: 1px solid var(--border); border-top: 2px solid var(--green); border-radius: 4px; padding: 22px 26px; }
.cmp-answer-box p { color: var(--text); font-size: 1.05rem; line-height: 1.7; margin: 0; }

.cmp-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: 6px; }
.cmp-table { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 720px; }
.cmp-table caption { caption-side: bottom; text-align: left; padding: 10px 14px; color: var(--muted); font-size: .8rem; }
.cmp-table th, .cmp-table td { padding: 12px 14px; border-bottom: 1px solid var(--border); text-align: left; vertical-align: top; line-height: 1.5; }
.cmp-table thead th { font-family: 'JetBrains Mono', monospace; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; color: var(--accent);
  background: var(--surface); }
.cmp-table tbody th { color: var(--text); font-weight: 600; width: 150px; }
.cmp-table td { color: var(--muted); }
.cmp-table .cmp-ours { background: rgba(0, 229, 160, .06); color: var(--text); }
.cmp-table thead .cmp-ours { color: var(--green); }

.cmp-two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.cmp-cards { display: grid; gap: 14px; }
.cmp-cards .card h3 { margin-bottom: 6px; }
.cmp-cards .card p { margin: 0; }
.cmp-fit { border-left: 3px solid var(--green); }
.cmp-better { border-left: 3px solid var(--accent); }

.cmp-faq-wrap { max-width: 900px; display: grid; gap: 10px; }
.cmp-faq { background: var(--card); border: 1px solid var(--border); border-radius: 4px; }
.cmp-faq summary { cursor: pointer; padding: 16px 20px; color: var(--text); font-weight: 600; }
.cmp-faq-body { padding: 0 20px 18px; color: var(--muted); line-height: 1.7; }
.cmp-more { margin-top: 20px; }
.cmp-more a, .cmp-link a { color: var(--accent); }

.cmp-src { padding-top: 8px; }
.cmp-small { color: var(--muted); font-size: .84rem; line-height: 1.6; }
.cmp-sources { margin: 8px 0 16px 18px; color: var(--muted); font-size: .88rem; line-height: 1.9; }
.cmp-sources a { color: var(--accent); word-break: break-word; }
.cmp-tm { max-width: 900px; }

.cmp-hubs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding-top: 16px; }
.cmp-hub { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: inherit; }
.cmp-hub h2 { font-family: 'Bebas Neue', sans-serif; font-size: 1.6rem; letter-spacing: .04em; line-height: 1.1; color: var(--text); }
.cmp-hub p { color: var(--muted); line-height: 1.6; flex: 1; margin: 0; }
.cmp-go { color: var(--accent); font-size: .88rem; }
.cmp-hub:hover h2 { color: var(--accent); }

.cmp-link-wrap { padding-top: 0; padding-bottom: 0; }
.cmp-link { max-width: 900px; margin: 0 auto; text-align: center; color: var(--muted); }
.pr-compare { color: var(--accent); font-size: .86rem; }

@media (max-width: 1000px) {
  .cmp-two, .cmp-hubs { grid-template-columns: minmax(0, 1fr); }
}
/* Phones: each product becomes a labelled block instead of a wide table */
@media (max-width: 700px) {
  .cmp-table-wrap { overflow: visible; border: 0; }
  .cmp-table { min-width: 0; }
  .cmp-table thead { display: none; }
  .cmp-table, .cmp-table tbody, .cmp-table tr, .cmp-table th, .cmp-table td { display: block; width: 100%; }
  .cmp-table tr { border: 1px solid var(--border); border-radius: 6px; margin-bottom: 12px; overflow: hidden; }
  .cmp-table tbody th { width: auto; background: var(--surface); }
  .cmp-table td { border-bottom: 1px solid var(--border); }
  .cmp-table td::before { content: attr(data-col); display: block; font-family: 'JetBrains Mono', monospace; font-size: .68rem;
    letter-spacing: .08em; text-transform: uppercase; color: var(--accent); margin-bottom: 2px; }
  .cmp-table caption { display: block; padding: 0 0 10px; }
  .cmp-answer-box { padding: 18px; }
}
/* v1.35.0: two editions box (RingCast self-hosted + hosted) */
.cmp-ed-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .cmp-ed-cards { grid-template-columns: minmax(0, 1fr); } }
.cmp-edition a { color: var(--accent); }
