/*
 * font-system.css — Sistema tipográfico unificado
 * Misión Digital 5 Estrellas IASD
 * PHP 8.4 safe. Cargar después de mission-stars.css.
 */

@import url('https://fonts.googleapis.com/css2?family=Inter:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,400&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap');

:root {
  --font-body: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-title: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
  --font-display: 'Plus Jakarta Sans', 'Inter', system-ui, sans-serif;
}

*, *::before, *::after, html, body {
  font-family: var(--font-body) !important;
}

h1, h2, h3, h4, h5, h6,
.card-title, .modal-title, .dashboard-title, .page-title,
.section-title, .brand-name, .brand-title, .nav-section-title,
.topbar-title, .md-brand-name, .md-achieve-title, .md-level-name,
.md-star-label, .stat-mini-value,
[class*="p7-"][class*="-title"], [class*="p7-"][class*="-name"],
[class*="p7-section"], [class*="p7-card-title"], [class*="p7-panel-title"], [class*="p7-star-name"],
[class*="a7-"][class*="-title"], [class*="a7-"][class*="-name"],
[class*="a7-section"], [class*="a7-card-title"], [class*="a7-panel-title"], [class*="a7-star-name"] {
  font-family: var(--font-title) !important;
}

[class*="-score"], [class*="-percent"], [class*="-count"],
[class*="score-"], [class*="percent-"], [data-points-display],
.md-rank-pts, .md-rank-score,
[class*="p7-"][class*="-score"], [class*="p7-"][class*="-percent"],
[class*="p7-"][class*="-value"], [class*="p7-stat-"], [class*="p7-kpi-"],
[class*="a7-"][class*="-score"], [class*="a7-"][class*="-percent"],
[class*="a7-"][class*="-value"], [class*="a7-stat-"], [class*="a7-kpi-"] {
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: .03em;
}

[style*="font-family:'Cinzel'"],
[style*="font-family: 'Cinzel'"],
[style*='font-family:"Cinzel"'],
[style*="font-family:Cinzel"],
[style*="font-family:'Cinzel Decorative'"],
[style*="font-family: 'Cinzel Decorative'"],
[style*='font-family:"Cinzel Decorative"'] {
  font-family: var(--font-title) !important;
}

[style*="font-family:'IM Fell English'"],
[style*="font-family: 'IM Fell English'"],
[style*='font-family:"IM Fell English"'] {
  font-family: var(--font-body) !important;
}

[style*="font-family:'Orbitron'"],
[style*="font-family: 'Orbitron'"],
[style*='font-family:"Orbitron"'],
[style*="font-family:Orbitron"] {
  font-family: var(--font-display) !important;
  font-weight: 700;
  letter-spacing: .04em;
}

input, textarea, select, button,
.form-control, .form-select, .btn,
table, th, td, nav, .nav-item, .sidebar, .topbar, .mobile-nav, .mobile-nav-item,
.modal, .modal-header, .modal-body, .modal-footer,
.card, .card-body, .card-footer, .badge, [class*="-badge"], .tag {
  font-family: var(--font-body) !important;
}

.modal-title, .card-title, .card-header {
  font-family: var(--font-title) !important;
  font-weight: 700;
}

.m5e-card, .auth-card, [class*="login"], [class*="register"], [class*="auth-"] {
  font-family: var(--font-body) !important;
}
.m5e-card h1, .m5e-card h2, .m5e-card h3,
[class*="login"] h1, [class*="login"] h2,
.auth-card h1, .auth-card h2 {
  font-family: var(--font-title) !important;
}
