/* --- Global Font Import --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap');

/* Scope: Only applies when these classes are inside .ppt-container */
.ppt-container {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
    color: #1e293b;
    word-wrap: break-word;
}

/* Fluid Typography using clamp:
   clamp(MIN_SIZE, VIEWPORT_WIDTH_PERCENTAGE, MAX_SIZE)
*/

/* Large Heading (e.g. Slide Titles) */
.ppt-container .heading-large {
    font-size: clamp(2rem, 8vw, 3.75rem); /* Scales from 32px to 60px */
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-bottom: 1.5rem;
    display: block;
}

/* Medium Heading */
.ppt-container .heading-medium {
    font-size: clamp(1.5rem, 5vw, 2.5rem); /* Scales from 24px to 40px */
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 1rem;
    display: block;
}

/* Smaller Heading */
.ppt-container .heading-small {
    font-size: clamp(1.25rem, 4vw, 1.875rem); /* Scales from 20px to 30px */
    font-weight: 600;
    margin-bottom: 0.75rem;
    display: block;
}

/* Normal Body Text */
.ppt-container .text-normal {
    font-size: clamp(0.95rem, 2.5vw, 1rem); /* Scales slightly for readability */
    font-weight: 400;
    line-height: 1.7;
    margin-bottom: 1rem;
}

/* Small Text (Metadata/Labels) */
.ppt-container .text-small {
    font-size: clamp(0.8rem, 2vw, 0.875rem); /* Scales from 12.8px to 14px */
    font-weight: 500;
    color: #64748b;
    display: inline-block;
}

/* Thin Text (Footnotes) */
.ppt-container .text-thin {
    font-size: 0.75rem; /* Fixed 12px for technical info */
    font-weight: 300;
    color: #94a3b8;
    letter-spacing: 0.01em;
}

/* --- Mobile Specific Fixes --- */
@media (max-width: 576px) {
    .ppt-container {
        padding: 0 10px; /* Prevents text from hitting screen edges */
    }
    
    .ppt-container .heading-large {
        margin-bottom: 1rem;
    }

    /* Force long PDF strings to break so they don't break the layout */
    .ppt-container span, 
    .ppt-container p {
        white-space: normal !important;
        height: auto !important;
        position: static !important;
    }
}