/* assets/css/style.css */

/* ==========================================================================
   KELL ENGINE UNIFIED TYPOGRAPHY SPEC SHEET (V1.0)
   ========================================================================== */

/* --- 1. GLOBAL SYSTEM FONT STACK OVERRIDES --- */
:root {
    --kgs-font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
    --kgs-font-mono: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
    
    /* Strict Type Hierarchy Coordinates */
    --kgs-size-display: 3.5rem;    /* 56px */
    --kgs-size-h1:      2.25rem;   /* 36px */
    --kgs-size-h2:      1.75rem;   /* 28px */
    --kgs-size-h3:      1.5rem;    /* 24px */
    --kgs-size-h4:      1.25rem;   /* 20px */
    --kgs-size-h5:      1.125rem;  /* 18px */
    --kgs-size-h6:      1rem;      /* 16px */
    --kgs-size-body:    0.9375rem; /* 15px */
    --kgs-size-small:   0.8125rem; /* 13px */
    --kgs-size-micro:   0.75rem;   /* 12px */
}

/* Force standard font chain across every structural parent element */
body, h1, h2, h3, h4, h5, h6, .btn, .form-control, .form-select, 
.kgs-calendar-container-wrapper, .kgs-people-profile-widget, .kgs-live-feed {
    font-family: var(--kgs-font-sans) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* --- 2. STANDARDIZED SCALING RULES --- */
body {
    font-size: var(--kgs-size-body);
    line-height: 1.5;
    color: var(--bs-body-color);
}

/* Enforce strict heading mappings */
h1, .h1 { font-size: var(--kgs-size-h1); line-height: 1.2; font-weight: 800 !important; }
h2, .h2 { font-size: var(--kgs-size-h2); line-height: 1.2; font-weight: 700 !important; }
h3, .h3 { font-size: var(--kgs-size-h3); line-height: 1.3; font-weight: 700 !important; }
h4, .h4 { font-size: var(--kgs-size-h4); line-height: 1.3; font-weight: 700 !important; }
h5, .h5 { font-size: var(--kgs-size-h5); line-height: 1.4; font-weight: 700 !important; }
h6, .h6 { font-size: var(--kgs-size-h6); line-height: 1.4; font-weight: 600 !important; }