/* Canonical shared components for the Revit and Navisworks guides.
   Product pages provide their own shell; this file owns shared reading content. */
.guide h2,
.navis-guide__section h2 {
  margin: 34px 0 12px;
  color: var(--text-head, var(--ink));
  font-family: var(--font-display, var(--display));
  font-size: 19px;
  font-weight: 700;
  letter-spacing: normal;
  line-height: normal;
}
.guide h3,
.navis-guide__section h3 {
  margin: 28px 0 10px;
  color: var(--text-head, var(--ink));
  font-family: var(--font-display, var(--display));
  font-size: 17px;
  font-weight: 600;
}
.guide p,
.guide li,
.navis-guide__section p,
.navis-guide__section li { font-size: 15px; line-height: 1.8; }
.guide pre,
.navis-guide__section pre {
  margin: 10px 0 14px;
  padding: 14px 16px;
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, .11);
  border-radius: 10px;
  background: #05070a;
}
.guide code,
.navis-guide__section code {
  color: var(--cyan-soft, var(--cyan));
  font: 13px/1.6 var(--font-mono, var(--mono));
}
.guide__callout,
.navis-guide__callout {
  margin: 20px 0;
  padding: 14px 18px;
  border: 1px solid rgba(111, 210, 255, .20);
  border-radius: 12px;
  background: rgba(111, 210, 255, .05);
  color: var(--text-card, var(--ink));
  font-size: 14px;
  line-height: 1.7;
}
.guide__callout strong,
.navis-guide__callout strong { color: var(--text-head, var(--ink)); }
.navis-guide__section { margin: 0 0 34px; scroll-margin-top: 34px; }
.navis-guide__section ol {
  list-style: none;
  margin: 8px 0 12px;
  padding: 0;
  counter-reset: step;
}
.navis-guide__section ol > li {
  position: relative;
  padding: 0 0 18px 44px;
  counter-increment: step;
}
.navis-guide__section ol > li::before {
  position: absolute;
  top: -2px;
  left: 0;
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  border: 1px solid rgba(111, 210, 255, .30);
  border-radius: 8px;
  background: rgba(111, 210, 255, .08);
  color: var(--accent, var(--cyan));
  content: counter(step);
  font: 600 13px var(--font-mono, var(--mono));
}
.navis-guide__section ol > li:not(:last-child)::after {
  position: absolute;
  top: 32px;
  bottom: 6px;
  left: 13px;
  width: 1px;
  background: rgba(255, 255, 255, .11);
  content: '';
}
.navis-guide__footer {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 48px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .11);
}
.navis-guide__footer-legal,
.navis-guide__footer-copy {
  color: var(--text-muted, var(--muted));
  font-size: 12px;
  line-height: 1.7;
}
.guide .legal__back,
.navis-guide__back { margin-top: 40px; }
.guide__pdfs {
  margin: 16px 0 0;
  padding-left: 20px;
}
.guide__pdfs li { margin: 8px 0; }
.guide__pdfs a {
  color: var(--accent, var(--cyan));
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.guide__pdfs a:visited { color: var(--accent, var(--cyan)); }
.guide .legal__back a,
.navis-guide__back a {
  color: var(--accent, var(--cyan));
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.guide .legal__back a:visited,
.navis-guide__back a:visited { color: var(--accent, var(--cyan)); }
.guide__cat,
.navis-guide__cat {
  margin: 24px 0 10px;
}
.guide__cat-title,
.navis-guide__cat-title {
  display: flex;
  align-items: baseline;
  gap: 10px;
  color: var(--text-head, var(--ink));
  font-family: var(--font-display, var(--display));
  font-size: 16px;
  font-weight: 600;
}
.guide__cat-count,
.navis-guide__cat-count {
  color: var(--text-ghost, var(--muted));
  font: 12px var(--font-mono, var(--mono));
}
.guide__cmds,
.navis-guide__cmds {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin: 8px 0 4px;
}
.guide__cmd,
.navis-guide__cmd {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: baseline;
  padding: 9px 12px;
  border: 1px solid var(--hairline-soft, rgba(255, 255, 255, .10));
  border-radius: 8px;
  background: var(--card-bg, rgba(255, 255, 255, .025));
}
.guide__cmd-name,
.navis-guide__cmd-name {
  color: var(--text-card, var(--ink));
  font: 13px var(--font-mono, var(--mono));
}
.guide__cmd-desc,
.navis-guide__cmd-desc {
  grid-column: 1 / -1;
  color: var(--text-body, var(--body));
  font-size: 13px;
  line-height: 1.55;
}
.tier-badge {
  padding: 2px 8px;
  border-radius: 999px;
  font: 10px var(--font-mono, var(--mono));
  letter-spacing: .08em;
  white-space: nowrap;
}
.tier-badge--free {
  border: 1px solid rgba(111, 210, 255, .28);
  background: rgba(111, 210, 255, .10);
  color: var(--accent, var(--cyan));
}
.tier-badge--pro {
  border: 1px solid rgba(255, 194, 75, .30);
  background: rgba(255, 194, 75, .10);
  color: #ffc24b;
}
.tier-badge--premium {
  border: 1px solid rgba(111, 210, 255, .28);
  background: rgba(111, 210, 255, .10);
  color: var(--accent, var(--cyan));
}
@media (max-width: 640px) {
  .guide__cmd,
  .navis-guide__cmd { grid-template-columns: 1fr; }
}
