/* Font Standardization */
:root {
    --primary-font: 'Poppins', sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
}

/* Global Font Settings */
html, body {
    font-family: var(--primary-font);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--primary-font);
    font-weight: var(--font-weight-bold);
    line-height: 1.2;
    margin-bottom: 1rem;
}

/* Paragraphs */
p {
    font-family: var(--primary-font);
    font-weight: var(--font-weight-regular);
    line-height: 1.6;
    margin-bottom: 1rem;
}

/* Links */
a {
    font-family: var(--primary-font);
    font-weight: var(--font-weight-medium);
}

/* Buttons */
button, .btn {
    font-family: var(--primary-font);
    font-weight: var(--font-weight-semibold);
}

/* Lists */
ul, ol {
    font-family: var(--primary-font);
    font-weight: var(--font-weight-regular);
}

/* Form Elements */
input, textarea, select {
    font-family: var(--primary-font);
    font-weight: var(--font-weight-regular);
}

/* Font Loading Animation */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.fonts-loaded body {
    animation: fadeIn 0.3s ease-in;
}

/* Font Fallback */
@supports not (font-variation-settings: normal) {
    body {
        font-family: Arial, sans-serif;
    }
} 