/* Global Typography Enhancement - Applied to all pages */
/* This makes all pages have the same clear, readable typography as the blog articles */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Default paragraph styling for better readability */
p {
    font-size: 1.125rem;
    /* 18px */
    line-height: 1.75;
    font-weight: 400;
}

@media (min-width: 768px) {
    p {
        font-size: 1.25rem;
        /* 20px */
        line-height: 2;
    }
}

/* Heading improvements with Manrope */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Manrope', 'Inter', sans-serif;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.01em;
}

h1 {
    font-size: 2.25rem;
}

h2 {
    font-size: 1.875rem;
}

h3 {
    font-size: 1.5rem;
}

@media (min-width: 768px) {
    h1 {
        font-size: 3rem;
    }

    h2 {
        font-size: 2.25rem;
    }

    h3 {
        font-size: 1.875rem;
    }
}

/* List improvements */
ul,
ol {
    font-size: 1.125rem;
    line-height: 1.75;
}

@media (min-width: 768px) {

    ul,
    ol {
        font-size: 1.25rem;
        line-height: 2;
    }
}

/* ICON SAFETY FIX */
/* Prevents FOUC (Flash of Unstyled Content) where text like "dark_mode" appears */
.material-symbols-outlined {
    /* Ensure the icon container has a fixed size if possible, or at least doesn't overflow */
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
    /* Hide text if font fails to load (fallback) */
    text-overflow: clip;
}