/* ========================================
   COMPREHENSIVE FONT FORCE CSS
   Generic font declarations for any project
   ======================================== */

/* Font Face Declarations */
@font-face {
    font-family: 'Eleanora';
    src: url('../../fonts-collection/eleanora.otf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

/* ========================================
   UNIVERSAL FONT APPLICATION
   ======================================== */

/* Root and HTML elements */
html, 
body {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* All text elements */
* {
    font-family: inherit;
}

/* ========================================
   HEADINGS AND TITLES
   ======================================== */

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.title, .heading, .headline {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: -0.02em;
}

/* Specific heading weights */
h1, .h1, .title-large {
    font-weight: normal;
    font-size: clamp(2rem, 5vw, 4rem);
}

h2, .h2, .title-medium {
    font-weight: normal;
    font-size: clamp(1.5rem, 4vw, 3rem);
}

h3, .h3, .title-small {
    font-weight: normal;
    font-size: clamp(1.25rem, 3vw, 2rem);
}

h4, .h4 {
    font-weight: normal;
    font-size: clamp(1.125rem, 2.5vw, 1.5rem);
}

h5, .h5 {
    font-weight: normal;
    font-size: clamp(1rem, 2vw, 1.25rem);
}

h6, .h6 {
    font-weight: normal;
    font-size: clamp(0.875rem, 1.5vw, 1rem);
}

/* ========================================
   BODY TEXT AND PARAGRAPHS
   ======================================== */

p, 
.paragraph, 
.text,
article, 
section, 
div, 
span {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    line-height: 1.6;
    letter-spacing: 0.01em;
}

/* ========================================
   BOLD AND STRONG TEXT
   ======================================== */

strong, 
b, 
.bold, 
.text-bold,
em strong,
strong em {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

/* Medium weight alternatives */
.medium, 
.text-medium {
    font-weight: normal;
}

/* ========================================
   BUTTONS AND INTERACTIVE ELEMENTS
   ======================================== */

button, 
.btn, 
.button,
input[type="button"],
input[type="submit"],
input[type="reset"],
a.button,
a.btn {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    text-transform: none;
    letter-spacing: 0.02em;
}

/* Button variations */
.btn-primary,
.btn-important {
    font-weight: normal;
}

.btn-secondary,
.btn-light {
    font-weight: normal;
}

/* ========================================
   LINKS AND NAVIGATION
   ======================================== */

a, 
.link, 
.nav-link,
nav a,
.navigation a {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    text-decoration: none;
}

a:hover,
.link:hover,
.nav-link:hover {
    font-weight: normal;
}

/* ========================================
   FORMS AND INPUTS
   ======================================== */

input, 
textarea, 
select, 
.form-control,
.form-input,
.form-textarea,
.form-select {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

input::placeholder,
textarea::placeholder {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    opacity: 0.6;
}

label, 
.form-label {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

/* ========================================
   LISTS
   ======================================== */

ul, 
ol, 
li,
.list,
.list-item {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

/* ========================================
   TABLES
   ======================================== */

table, 
th, 
td,
.table,
.table-header,
.table-cell {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

th,
.table-header {
    font-weight: normal;
}

/* ========================================
   QUOTES AND CITATIONS
   ======================================== */

blockquote, 
q, 
cite,
.quote,
.citation {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

blockquote {
    font-weight: normal;
}

/* ========================================
   CODE AND TECHNICAL TEXT
   ======================================== */

code, 
pre, 
kbd, 
samp,
.code,
.preformatted {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
}

/* ========================================
   SMALL TEXT AND FOOTNOTES
   ======================================== */

small, 
.small,
.footnote,
.caption {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 0.875em;
}

/* ========================================
   UTILITY CLASSES
   ======================================== */

/* Font weight utilities */
.font-light,
.text-light {
    font-weight: normal;
}

.font-medium,
.text-medium {
    font-weight: normal;
}

.font-bold,
.text-bold {
    font-weight: normal;
}

.font-heavy,
.text-heavy {
    font-weight: normal;
}

/* Font size utilities */
.text-xs {
    font-size: 0.75rem;
}

.text-sm {
    font-size: 0.875rem;
}

.text-base {
    font-size: 1rem;
}

.text-lg {
    font-size: 1.125rem;
}

.text-xl {
    font-size: 1.25rem;
}

.text-2xl {
    font-size: 1.5rem;
}

.text-3xl {
    font-size: 1.875rem;
}

.text-4xl {
    font-size: 2.25rem;
}

/* ========================================
   RESPONSIVE FONT SIZES
   ======================================== */

/* Mobile-first responsive typography */
@media (max-width: 768px) {
    h1, .h1 { font-size: 2rem; }
    h2, .h2 { font-size: 1.5rem; }
    h3, .h3 { font-size: 1.25rem; }
    h4, .h4 { font-size: 1.125rem; }
    h5, .h5 { font-size: 1rem; }
    h6, .h6 { font-size: 0.875rem; }
    p, .paragraph { font-size: 1rem; }
}

@media (min-width: 769px) and (max-width: 1024px) {
    h1, .h1 { font-size: 3rem; }
    h2, .h2 { font-size: 2.25rem; }
    h3, .h3 { font-size: 1.75rem; }
    h4, .h4 { font-size: 1.375rem; }
    h5, .h5 { font-size: 1.125rem; }
    h6, .h6 { font-size: 1rem; }
    p, .paragraph { font-size: 1.0625rem; }
}

@media (min-width: 1025px) {
    h1, .h1 { font-size: 4rem; }
    h2, .h2 { font-size: 3rem; }
    h3, .h3 { font-size: 2rem; }
    h4, .h4 { font-size: 1.5rem; }
    h5, .h5 { font-size: 1.25rem; }
    h6, .h6 { font-size: 1rem; }
    p, .paragraph { font-size: 1.125rem; }
}

/* ========================================
   PRINT STYLES
   ======================================== */

@media print {
    * {
        font-family: 'Eleanora', serif !important;
    }
    
    h1, h2, h3, h4, h5, h6 {
        font-weight: normal !important;
    }
    
    strong, b {
        font-weight: normal !important;
    }
    
    p, div, span {
        font-weight: normal !important;
    }
}

/* ========================================
   ACCESSIBILITY ENHANCEMENTS
   ======================================== */

/* High contrast mode support */
@media (prefers-contrast: high) {
    * {
        font-weight: normal !important;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ========================================
   RTL (RIGHT-TO-LEFT) SUPPORT
   ======================================== */

[dir="rtl"] *,
.rtl * {
    font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
}

/* ========================================
   DARK MODE SUPPORT
   ======================================== */

@media (prefers-color-scheme: dark) {
    * {
        font-family: 'Eleanora', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;
    }
} 