/* ============================================================
   nubirOS product page — styles specific to this page.
   Reuses the core NC South palette (cyan/orange) so it reads as
   part of the site, not a separate brand.
   (Site-wide ".badge-new" lives in styles.css, since it's also
   used in the nav on every page and the homepage spotlight.)
   ============================================================ */

/* ---------- Problem cards (2-up variant of .detail-grid) ---------- */
.detail-grid.cols-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 700px) { .detail-grid.cols-2 { grid-template-columns: 1fr; } }

/* ---------- Simple numbered process steps (self-contained, no dependency on home.css) ---------- */
.nu-steps { counter-reset: nustep; display: grid; gap: 0; border-top: 1px solid var(--line); }
.nu-step { counter-increment: nustep; display: grid; grid-template-columns: 56px 1fr; gap: 20px; padding: 26px 0; border-bottom: 1px solid var(--line); align-items: baseline; }
.nu-step .nu-n { font-family: var(--font-head); font-size: 20px; font-weight: 600; color: var(--cyan-ink); width: 56px; height: 56px; border: 1px solid var(--line); border-radius: 14px; display: grid; place-items: center; align-self: start; }
.nu-step .nu-n::before { content: counter(nustep, decimal-leading-zero); }
.nu-step h3 { font-size: 18px; margin-bottom: 6px; }
.nu-step p { color: var(--ink-soft); font-size: 15.5px; }

/* ---------- Pricing ---------- */
.price-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 900px) { .price-grid { grid-template-columns: 1fr; } }
.price {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-lg);
  padding: 28px 26px; display: flex; flex-direction: column;
}
.price.feature { border-color: var(--orange); box-shadow: 0 0 0 1.5px var(--orange); position: relative; }
.price.feature::before {
  content: "Most popular"; position: absolute; top: -12px; left: 24px;
  background: var(--orange); color: #33240a; font-size: 11px; font-weight: 700;
  letter-spacing: 0.05em; text-transform: uppercase; padding: 5px 11px; border-radius: 100px;
}
.price .p-k { font-size: 13px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-soft); }
.price .p-amt { font-family: var(--font-head); font-size: 32px; font-weight: 600; letter-spacing: -0.02em; color: var(--ink-strong); margin: 14px 0 2px; }
.price .p-amt small { font-family: var(--font-body); font-size: 14px; font-weight: 500; color: var(--ink-soft); }
.price ul { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 10px; flex: 1; }
.price li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; color: var(--ink-soft); }
.price li svg { width: 17px; height: 17px; color: var(--cyan-ink); flex: none; margin-top: 3px; }
.price-callout {
  margin-top: 22px; background: var(--bg-tint); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 20px 22px; font-size: 15.5px; color: var(--ink-soft);
}
.price-callout strong { color: var(--ink-strong); font-family: var(--font-head); font-weight: 600; }
.price-callout + .price-callout { margin-top: 14px; }
.price-note { font-size: 13.5px; color: var(--ink-faint); margin-top: 18px; }

/* ---------- Comparison table ---------- */
.compare-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); margin-top: 40px; }
.compare-table { border-collapse: collapse; width: 100%; min-width: 640px; font-size: 15px; }
.compare-table th, .compare-table td { text-align: left; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.compare-table thead th { font-family: var(--font-body); font-size: 12px; text-transform: uppercase; letter-spacing: 0.07em; color: var(--ink-faint); font-weight: 700; }
.compare-table thead th.us { color: var(--cyan-ink); }
.compare-table tbody td:first-child { color: var(--ink-strong); font-weight: 600; }
.compare-table td.us { background: var(--cyan-wash); font-weight: 600; color: var(--ink-strong); }
.compare-table tr:last-child td { border-bottom: none; }
.compare-table .no { color: var(--ink-faint); }
