/* ==========================================================================
   COMANDA — Typography
   Display: Sora (headings, stat figures)
   Body: Inter (paragraphs, labels, UI text)
   Mono: JetBrains Mono (order IDs, prices, tickets, data)
   ========================================================================== */

h1,h2,h3,h4,h5,h6,
.h1,.h2,.h3,.h4,.h5,.h6{
  font-family:var(--font-display);
  color:var(--ink-900);
  font-weight:700;
  letter-spacing:-.01em;
  line-height:1.2;
  margin:0;
}

h1,.h1{ font-size:2rem; }
h2,.h2{ font-size:1.625rem; }
h3,.h3{ font-size:1.3rem; }
h4,.h4{ font-size:1.1rem; }
h5,.h5{ font-size:.98rem; }
h6,.h6{ font-size:.85rem; text-transform:uppercase; letter-spacing:.06em; }

p{ margin:0 0 .75rem; color:var(--ink-700); }
p:last-child{ margin-bottom:0; }

/* Page-level headers */
.page-title{
  font-family:var(--font-display);
  font-size:1.7rem;
  font-weight:700;
  color:var(--ink-900);
  letter-spacing:-.01em;
}
.page-subtitle{
  font-family:var(--font-body);
  font-size:.92rem;
  color:var(--ink-500);
  margin-top:.15rem;
}

/* Eyebrow / overline label — used above section headers, card labels */
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  font-family:var(--font-body);
  font-size:.72rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--ink-500);
}

/* Stat figure — the big number style used on KPI cards */
.stat-figure{
  font-family:var(--font-display);
  font-size:2.15rem;
  font-weight:700;
  color:var(--ink-900);
  letter-spacing:-.02em;
  line-height:1;
}
.stat-label{
  font-size:.82rem;
  color:var(--ink-500);
  font-weight:500;
}

/* Monospace utility — order numbers, ticket codes, prices, timestamps */
.text-mono{
  font-family:var(--font-mono);
  letter-spacing:-.01em;
}
.order-code{
  font-family:var(--font-mono);
  font-weight:600;
  color:var(--ink-900);
  font-size:.88rem;
}
.price{
  font-family:var(--font-mono);
  font-weight:600;
  color:var(--ink-900);
}
.price-lg{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:1.35rem;
  color:var(--ink-900);
}

/* Text color utilities */
.text-navy{ color:var(--navy-800) !important; }
.text-accent{ color:var(--accent-500) !important; }
.text-muted-2{ color:var(--ink-500) !important; }
.text-success{ color:var(--success-600) !important; }
.text-warning{ color:var(--warning-600) !important; }
.text-danger{ color:var(--danger-600) !important; }
.text-info{ color:var(--info-600) !important; }

/* Weight / size helpers */
.fw-semibold{ font-weight:600 !important; }
.fw-bold{ font-weight:700 !important; }
.fs-xs{ font-size:.75rem !important; }
.fs-sm{ font-size:.85rem !important; }

/* Divider with label, e.g. "Today" between sections */
.text-divider{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:var(--ink-300);
  font-size:.75rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.08em;
  margin:1.25rem 0;
}
.text-divider::before,
.text-divider::after{
  content:"";
  flex:1;
  height:1px;
  background:var(--ink-200);
}