/**
 * Demo / showroom type scale
 * One readable system — no micro text, no oversized display type.
 *
 * Tokens (only these sizes):
 *   --type-sm   14px  secondary / helpers (floor — never smaller)
 *   --type-base 15px  body, table cells, inputs, buttons
 *   --type-lg   18px  section / card titles
 *   --type-xl   24px  page H1
 *   --type-display 30px brand / hero only
 */
html body.lumina-demo-site,
html body.demo-type-scale {
  --type-sm: 14px;
  --type-base: 15px;
  --type-lg: 18px;
  --type-xl: 24px;
  --type-display: 30px;
  --type-line: 1.5;
  font-size: var(--type-base) !important;
  line-height: var(--type-line) !important;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* ---- App chrome + content canvas ---- */
html body.lumina-demo-site .content-wrapper,
html body.lumina-demo-site .content-wrapper .content,
html body.lumina-demo-site .wrapper {
  font-size: var(--type-base) !important;
  line-height: var(--type-line) !important;
}

/* Body copy — one size */
html body.lumina-demo-site .content-wrapper p,
html body.lumina-demo-site .content-wrapper li,
html body.lumina-demo-site .content-wrapper td,
html body.lumina-demo-site .content-wrapper label,
html body.lumina-demo-site .content-wrapper .form-control,
html body.lumina-demo-site .content-wrapper select,
html body.lumina-demo-site .content-wrapper textarea,
html body.lumina-demo-site .content-wrapper .btn:not(.btn-xs),
html body.lumina-demo-site .content-wrapper a:not(.btn),
html body.lumina-demo-site .content-wrapper .mailbox-name,
html body.lumina-demo-site .content-wrapper .dataTables_wrapper,
html body.lumina-demo-site .content-wrapper .dataTables_info,
html body.lumina-demo-site .content-wrapper .dataTables_paginate,
html body.lumina-demo-site .content-wrapper .paginate_button {
  font-size: var(--type-base) !important;
  line-height: var(--type-line) !important;
}

/* Secondary floor — helpers, badges, table headers (never below 15px) */
html body.lumina-demo-site .content-wrapper small,
html body.lumina-demo-site .content-wrapper .text-muted,
html body.lumina-demo-site .content-wrapper .help-block,
html body.lumina-demo-site .content-wrapper .hint,
html body.lumina-demo-site .content-wrapper .field-hint,
html body.lumina-demo-site .content-wrapper .badge,
html body.lumina-demo-site .content-wrapper .label,
html body.lumina-demo-site .content-wrapper .btn-xs,
html body.lumina-demo-site .content-wrapper th,
html body.lumina-demo-site .content-wrapper thead th,
html body.lumina-demo-site .content-wrapper .dataTables_filter,
html body.lumina-demo-site .content-wrapper .dataTables_length,
html body.lumina-demo-site .content-wrapper .breadcrumb,
html body.lumina-demo-site .content-wrapper .breadcrumb a,
html body.lumina-demo-site .lumina-demo-site-banner {
  font-size: var(--type-sm) !important;
  line-height: 1.45 !important;
}

/* Section titles */
html body.lumina-demo-site .content-wrapper h2,
html body.lumina-demo-site .content-wrapper h3,
html body.lumina-demo-site .content-wrapper .box-title,
html body.lumina-demo-site .content-wrapper .box-header .box-title,
html body.lumina-demo-site .content-wrapper [class*="__head"] h2,
html body.lumina-demo-site .content-wrapper [class*="-card__head"] h2,
html body.lumina-demo-site .content-wrapper [class*="-section-title"] {
  font-size: var(--type-lg) !important;
  line-height: 1.3 !important;
}

/* Page titles */
html body.lumina-demo-site .content-wrapper h1,
html body.lumina-demo-site .content-wrapper .content-header h1,
html body.lumina-demo-site .content-wrapper [class*="-hero"] h1,
html body.lumina-demo-site .content-wrapper [class*="hero-title"] {
  font-size: var(--type-xl) !important;
  line-height: 1.2 !important;
}

/* Inputs stay comfortable */
html body.lumina-demo-site .content-wrapper .form-control,
html body.lumina-demo-site .content-wrapper .select2-selection__rendered,
html body.lumina-demo-site .content-wrapper .dataTables_filter input {
  font-size: var(--type-base) !important;
  min-height: 44px;
}

/* ---- Login (body.demo-type-scale) ---- */
html body.demo-type-scale {
  font-size: var(--type-base) !important;
}

html body.demo-type-scale .login-header h2 {
  font-size: var(--type-xl) !important;
  line-height: 1.2 !important;
}

html body.demo-type-scale .login-header p,
html body.demo-type-scale .form-group label,
html body.demo-type-scale .form-control,
html body.demo-type-scale .field-hint,
html body.demo-type-scale .forgot-password a,
html body.demo-type-scale .login-support,
html body.demo-type-scale .alert,
html body.demo-type-scale .btn-login,
html body.demo-type-scale .welcome-text h1,
html body.demo-type-scale .welcome-text p,
html body.demo-type-scale .demo-mfa-panel p,
html body.demo-type-scale .demo-mfa-panel h3,
html body.demo-type-scale .demo-prefill-status,
html body.demo-type-scale .text-danger {
  font-size: var(--type-base) !important;
  line-height: var(--type-line) !important;
}

html body.demo-type-scale .lumina-login-kicker,
html body.demo-type-scale .welcome-tagline,
html body.demo-type-scale .demo-mfa-badge {
  font-size: var(--type-sm) !important;
  line-height: 1.4 !important;
}

html body.demo-type-scale .lumina-login-wordmark {
  font-size: var(--type-display) !important;
  line-height: 1.1 !important;
}

/* Icon glyphs may stay relative — don't force fa-* to body size */
html body.lumina-demo-site .fa,
html body.lumina-demo-site .fas,
html body.lumina-demo-site .far,
html body.lumina-demo-site .glyphicon,
html body.demo-type-scale .fa,
html body.demo-type-scale .fas {
  line-height: 1 !important;
}
