/* ============================================================
   comp-cards.css (Lego Block)
   Pro Upsell Card, Value Cards, Path Cards
   ============================================================ */

/* ── Pro upsell card ── */
.pro-card {
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 40px;
  background: var(--bg-void); border: 1px solid var(--card-border); border-radius: 22px;
  box-shadow: var(--card-shadow);
  padding: clamp(32px, 5vw, 52px);
  position: relative; isolation: isolate;
}
.pro-copy .eyebrow { margin-bottom: 14px; }
.pro-copy h2 { font-size: clamp(24px, 3vw, 32px); letter-spacing: -0.015em; line-height: 1.25; }
.pro-copy p { margin-top: 16px; color: var(--text-secondary); font-size: 15.5px; line-height: 1.7; }

.pro-list { margin: 20px 0 0; padding: 0; list-style: none; }
.pro-list li {
  position: relative; padding-left: 26px; margin: 10px 0;
  font-size: 14.5px; color: var(--text-secondary); line-height: 1.6;
}
.pro-list li::before {
  content: "\2713"; /* unicode escape: safe against encoding corruption */
  position: absolute; left: 0; top: 0; color: var(--accent-primary); font-weight: 700;
}

.pro-price {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; background: var(--bg-void); border: 1px solid var(--border-muted);
  border-radius: 16px; padding: 30px 20px;
}
.price-tag {
  font-family: var(--serif); font-weight: bold; font-size: 46px; color: var(--text-primary);
  display: flex; align-items: baseline; gap: 2px;
}
.price-tag .cur { font-size: 22px; color: var(--text-muted); }
.price-tag .once {
  font-family: var(--sans); font-size: 12px; font-weight: 600; color: var(--text-muted);
  margin-left: 8px; text-transform: uppercase; letter-spacing: 0.08em;
}
.pro-price .btn { margin-top: 20px; width: auto; padding: 14px 48px; text-align: center; }
.pro-note { margin-top: 12px; font-family: var(--sans); font-size: 12.5px; color: var(--text-muted); }

@media (max-width: 720px) { .pro-card { grid-template-columns: 1fr; } }

/* ── Value cards ── */
.grid { display: grid; gap: 20px; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card {
  background: var(--card-bg); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
  border: 1px solid var(--card-border); border-radius: 16px; box-shadow: var(--card-shadow);
  padding: 30px 26px;
}
.card .k {
  font-size: 34px; line-height: 1; margin-bottom: 16px; color: var(--accent-primary);
  font-weight: bold;
}
.card h3 { font-size: 19px; letter-spacing: -0.01em; margin-bottom: 10px; }
.card p { font-size: 15px; color: var(--text-secondary); line-height: 1.65; }

/* ── Path cards (learning tracks) ──
   Top accent line (instead of bento's left line) so the two grids on the
   page read as related but distinct patterns, not a copy-paste repeat. */
.path { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
a.path-card {
  --card-accent: var(--accent-primary);
  display: block; text-decoration: none; background: var(--card-bg);
  border: 1px solid var(--card-border);
  border-radius: 16px; padding: 26px;
  box-shadow: var(--card-shadow);
  transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
a.path-card:hover {
  border-color: color-mix(in srgb, var(--card-accent) 35%, transparent); transform: translateY(-3px);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--card-accent) 35%, transparent), 0 16px 36px rgba(0, 0, 0, 0.3), 0 0 40px color-mix(in srgb, var(--card-accent) 10%, transparent);
}
.path-card .tag {
  display: inline-flex; align-items: center;
  padding: 4px 11px; border-radius: 999px;
  background: rgba(167, 139, 250, 0.12); border: 1px solid rgba(167, 139, 250, 0.28);
  font-family: var(--sans); font-size: 11px; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent-primary);
}
.path-card h3 { margin-top: 10px; font-size: 20px; letter-spacing: -0.01em; }
.path-card p { margin-top: 8px; font-size: 14.5px; color: var(--text-secondary); line-height: 1.6; }
.path-card .go { margin-top: 14px; font-family: var(--sans); font-size: 13.5px; font-weight: 600; color: var(--text-primary); }
