/**
 * Suma Business — Tipografía Inter
 *
 * Escala de marca (referencia de diseño):
 *   Display Large  72px Bold
 *   Display Medium 60px Bold
 *   Display Small  48px Bold
 *   Heading Large  36px Bold
 *
 * Continuación práctica para CRM/AdminLTE (no forzar 72px en listados).
 */

:root {
  --suma-font: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --suma-font-mono: ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace;

  /* Escala de marca */
  --suma-display-lg: 72px;
  --suma-display-md: 60px;
  --suma-display-sm: 48px;
  --suma-heading-lg: 36px;

  /* Escala app (derivada, uso cotidiano) */
  --suma-heading-md: 28px;
  --suma-heading-sm: 22px;
  --suma-title: 18px;
  --suma-body-lg: 15px;
  --suma-body: 14px;
  --suma-caption: 12px;
  --suma-micro: 11px;

  --suma-weight-regular: 400;
  --suma-weight-medium: 500;
  --suma-weight-semibold: 600;
  --suma-weight-bold: 700;

  --suma-leading-tight: 1.2;
  --suma-leading: 1.45;
  --suma-tracking-tight: -0.02em;
  --suma-tracking-display: -0.03em;
}

/* ——— Base global (sobrescribe Source Sans Pro / stacks del tema) ——— */
html {
  font-family: var(--suma-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body,
.wrapper,
.content-wrapper,
.right-side,
.main-footer,
.main-header,
.modal,
.dropdown-menu,
.form-control,
.btn,
.table,
.nav,
.navbar,
.box,
.panel,
.select2-container,
.swal2-popup,
.noti-exec {
  font-family: var(--suma-font) !important;
}

body {
  font-size: var(--suma-body);
  font-weight: var(--suma-weight-regular);
  line-height: var(--suma-leading);
}

/* Icon fonts: no heredar Inter */
.fa,
.glyphicon,
.ion,
[class^="fc-icon-"],
[class*=" fc-icon-"] {
  font-family: inherit;
}
.fa {
  font-family: FontAwesome !important;
}
.glyphicon {
  font-family: "Glyphicons Halflings" !important;
}

/* ——— Utilidades de escala (usar en héroes / títulos de marca) ——— */
.suma-display-lg {
  font-size: var(--suma-display-lg);
  font-weight: var(--suma-weight-bold);
  line-height: var(--suma-leading-tight);
  letter-spacing: var(--suma-tracking-display);
}
.suma-display-md {
  font-size: var(--suma-display-md);
  font-weight: var(--suma-weight-bold);
  line-height: var(--suma-leading-tight);
  letter-spacing: var(--suma-tracking-display);
}
.suma-display-sm {
  font-size: var(--suma-display-sm);
  font-weight: var(--suma-weight-bold);
  line-height: var(--suma-leading-tight);
  letter-spacing: var(--suma-tracking-display);
}
.suma-heading-lg {
  font-size: var(--suma-heading-lg);
  font-weight: var(--suma-weight-bold);
  line-height: var(--suma-leading-tight);
  letter-spacing: var(--suma-tracking-tight);
}

/* ——— Headings AdminLTE / Bootstrap ——— */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--suma-font) !important;
  font-weight: var(--suma-weight-bold);
  letter-spacing: var(--suma-tracking-tight);
  line-height: var(--suma-leading-tight);
}

/* Jerarquía adaptada al shell (sin romper listados) */
.content-header > h1 {
  font-size: clamp(1.25rem, 2.2vw, var(--suma-heading-sm)) !important;
  font-weight: var(--suma-weight-bold) !important;
  letter-spacing: var(--suma-tracking-tight);
}

.content-header > h1 > small,
.content-header > h1 small {
  font-family: var(--suma-font) !important;
  font-weight: var(--suma-weight-semibold);
  letter-spacing: 0;
}

.box-header .box-title,
.panel-title {
  font-family: var(--suma-font) !important;
  font-size: var(--suma-title) !important;
  font-weight: var(--suma-weight-semibold) !important;
  letter-spacing: var(--suma-tracking-tight);
}

/* Dashboard Logística / héroes de módulo */
.dl-hero h1,
.dp-dashboard .content-header > h1 {
  font-weight: var(--suma-weight-bold);
}

.dl-hero h1 {
  font-size: clamp(1.5rem, 2.8vw, var(--suma-heading-lg)) !important;
  letter-spacing: var(--suma-tracking-tight);
}

/* KPIs / cifras: Inter tabular */
.info-number,
.dl-kpi__value,
.ul-kpi__value,
[class*="kpi"] .info-number {
  font-family: var(--suma-font) !important;
  font-variant-numeric: tabular-nums;
  font-weight: var(--suma-weight-bold);
  letter-spacing: var(--suma-tracking-tight);
}

/* Formularios y tablas */
label,
.control-label,
.form-group label {
  font-family: var(--suma-font) !important;
  font-weight: var(--suma-weight-semibold);
}

.table > thead > tr > th {
  font-family: var(--suma-font) !important;
  font-weight: var(--suma-weight-semibold);
  letter-spacing: 0.01em;
}

.btn {
  font-weight: var(--suma-weight-semibold);
  letter-spacing: 0.01em;
}

/* Topnav */
.suma-topnav,
.suma-topnav__link,
.suma-topnav__user,
.suma-topnav-drawer {
  font-family: var(--suma-font) !important;
}

/* Bootstrap body stack */
body.hold-transition,
body.skin-purple,
body.sidebar-mini {
  font-family: var(--suma-font) !important;
}

/* Responsive: display de marca no desborda en móvil */
@media (max-width: 767px) {
  :root {
    --suma-display-lg: 48px;
    --suma-display-md: 40px;
    --suma-display-sm: 32px;
    --suma-heading-lg: 28px;
  }
}
