/* Responsive Typography - Fluid font sizing across the entire website */

/* Global responsive typography - applies to desktop and tablet only (769px+) */
@media (min-width: 769px) {
    
    /* Main headings - Override all font-size properties including inline styles */
    h1, .h1, h1[style*="font-size"], .h1[style*="font-size"] {
        font-size: clamp(2.2rem, 3vw + 0.8rem, 3.2rem) !important;
        line-height: 1.2 !important;
    }
    
    h2, .h2, h2[style*="font-size"], .h2[style*="font-size"] {
        font-size: clamp(1.6rem, 2.2vw + 0.4rem, 2.5rem) !important;
        line-height: 1.3 !important;
    }
    
    h3, .h3, h3[style*="font-size"], .h3[style*="font-size"] {
        font-size: clamp(1.3rem, 2.5vw + 0.3rem, 2.8rem) !important;
        line-height: 1.3 !important;
    }
    
    h4, .h4, h4[style*="font-size"], .h4[style*="font-size"] {
        font-size: clamp(1.1rem, 2vw + 0.2rem, 2.2rem) !important;
        line-height: 1.4 !important;
    }
    
    h5, .h5, h5[style*="font-size"], .h5[style*="font-size"] {
        font-size: clamp(1rem, 1.5vw + 0.2rem, 1.8rem) !important;
        line-height: 1.4 !important;
    }
    
    h6, .h6, h6[style*="font-size"], .h6[style*="font-size"] {
        font-size: clamp(0.9rem, 1.2vw + 0.1rem, 1.4rem) !important;
        line-height: 1.4 !important;
    }
    
    /* Body text and paragraphs - Override inline styles */
    p, .p, p[style*="font-size"], .p[style*="font-size"], body {
        font-size: clamp(0.85rem, 1.2vw + 0.3rem, 1.3rem) !important;
        line-height: 1.6 !important;
    }
    
    /* Subtitle and lead text - Override inline styles */
    .lead, .hero-subtitle-mobile, .lead[style*="font-size"], .hero-subtitle-mobile[style*="font-size"] {
        font-size: clamp(0.9rem, 1.2vw + 0.4rem, 1.3rem) !important;
        line-height: 1.5 !important;
    }
    
    /* Buttons - Override inline styles */
    .btn, .btn[style*="font-size"] {
        font-size: clamp(0.9rem, 1vw + 0.3rem, 1.2rem) !important;
        padding: clamp(0.5rem, 1vw + 0.2rem, 1rem) clamp(1.5rem, 2vw + 0.8rem, 2.5rem) !important;
    }
    
    /* Badges - Override inline styles */
    .badge, .badge[style*="font-size"] {
        font-size: clamp(0.8rem, 1vw + 0.3rem, 1.2rem) !important;
        padding: clamp(0.5rem, 1vw + 0.2rem, 1rem) clamp(1rem, 2vw + 0.5rem, 2rem) !important;
    }
    
    /* Small text - Override inline styles */
    small, .small, small[style*="font-size"], .small[style*="font-size"] {
        font-size: clamp(0.75rem, 1vw + 0.2rem, 1.1rem) !important;
    }
    
    /* Feature cards - Override inline styles */
    .feature-card h4, .feature-card h4[style*="font-size"] {
        font-size: clamp(1.1rem, 2vw + 0.2rem, 2rem) !important;
    }
    
    .feature-card p, .feature-card p[style*="font-size"] {
        font-size: clamp(0.85rem, 1.2vw + 0.3rem, 1.3rem) !important;
    }
    
    /* Navigation - Override inline styles, but exclude logo */
    .navbar-nav .nav-link, .navbar-nav .nav-link[style*="font-size"] {
        font-size: clamp(0.9rem, 1.2vw + 0.2rem, 1.2rem) !important;
    }
    
    /* Fix navbar logo size - exclude from responsive scaling */
    .navbar-logo, .navbar-brand img, .navbar-logo-container, .navbar-brand {
        font-size: inherit !important;
    }
    
    .navbar-brand img, .navbar-logo {
        width: auto !important;
        height: 50px !important;
        max-width: 220px !important;
        max-height: 50px !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .navbar-logo-large {
        height: 50px !important;
        max-height: 50px !important;
        width: auto !important;
    }
    
    /* Additional specific targeting for logo images */
    .navbar img[src*="logo"] {
        height: 50px !important;
        max-height: 50px !important;
        width: auto !important;
        max-width: 220px !important;
    }
    
    /* Override any responsive image scaling for navbar */
    .navbar img {
        transform: none !important;
        font-size: inherit !important;
    }
    
    /* Force correct logo sizing for specific navbar logo classes */
    img.navbar-logo.navbar-logo-large {
        height: 50px !important;
        max-height: 50px !important;
        width: auto !important;
        max-width: 220px !important;
        min-height: 50px !important;
    }
    
    /* Override any inline styles on logo images */
    img.navbar-logo[style] {
        height: 50px !important;
        max-height: 50px !important;
        width: auto !important;
        max-width: 220px !important;
        image-rendering: -webkit-optimize-contrast !important;
        image-rendering: crisp-edges !important;
        -webkit-font-smoothing: antialiased !important;
    }
    
    /* Ensure navbar brand container doesn't affect logo size */
    .navbar-brand, .navbar-logo-container {
        height: auto !important;
        line-height: 1 !important;
    }
    
    /* Additional fallback for any logo image in navbar */
    .navbar-brand img[src*="hs-logo"] {
        height: 50px !important;
        max-height: 50px !important;
        width: auto !important;
        max-width: 220px !important;
    }
    
    /* Form elements - Override inline styles */
    .form-control, .form-select, .form-control[style*="font-size"], .form-select[style*="font-size"] {
        font-size: clamp(0.9rem, 1vw + 0.3rem, 1.1rem) !important;
    }
    
    .form-label, .form-label[style*="font-size"] {
        font-size: clamp(0.9rem, 1vw + 0.2rem, 1.1rem) !important;
    }
    
    /* Lists - Override inline styles */
    li, li[style*="font-size"] {
        font-size: clamp(0.85rem, 1.2vw + 0.3rem, 1.3rem) !important;
        line-height: 1.6 !important;
    }
    
    /* Tables - Override inline styles */
    table, th, td, table[style*="font-size"], th[style*="font-size"], td[style*="font-size"] {
        font-size: clamp(0.85rem, 1vw + 0.3rem, 1.2rem) !important;
    }
    
    /* Cards and content blocks - Override inline styles */
    .card-title, .card-title[style*="font-size"] {
        font-size: clamp(1.1rem, 1.8vw + 0.3rem, 2rem) !important;
    }
    
    .card-text, .card-text[style*="font-size"] {
        font-size: clamp(0.85rem, 1.2vw + 0.3rem, 1.3rem) !important;
    }
    
    /* Value highlights - Override inline styles */
    .value-highlight span, .value-highlight span[style*="font-size"] {
        font-size: clamp(0.85rem, 1.2vw + 0.2rem, 1.2rem) !important;
    }
    
    /* Alert messages - Override inline styles */
    .alert, .alert[style*="font-size"] {
        font-size: clamp(0.9rem, 1vw + 0.3rem, 1.1rem) !important;
    }
    
    /* Section-specific responsive sizing */
    
    /* Hero section specific */
    .hero-title-mobile {
        font-size: clamp(2.2rem, 4vw + 1rem, 4.5rem) !important;
        line-height: 1.2 !important;
    }
    
    /* Content max-widths also scale */
    .hero-subtitle-mobile {
        max-width: clamp(550px, 50vw + 200px, 900px) !important;
    }
    
    /* Footer */
    .footer p, .footer li, .footer a {
        font-size: clamp(0.8rem, 1vw + 0.2rem, 1rem) !important;
    }
    
    /* Development page specific */
    .level-header h3 {
        font-size: clamp(1.4rem, 2.5vw + 0.5rem, 2.5rem) !important;
    }
    
    .duration {
        font-size: clamp(0.9rem, 1.2vw + 0.3rem, 1.3rem) !important;
    }
    
    .salary {
        font-size: clamp(1.2rem, 2vw + 0.3rem, 2rem) !important;
    }
    
    /* Contact page specific */
    .contact-item h6 {
        font-size: clamp(1rem, 1.5vw + 0.2rem, 1.4rem) !important;
    }
    
    .contact-item p {
        font-size: clamp(0.85rem, 1.2vw + 0.2rem, 1.2rem) !important;
    }
}

/* Mobile preserves existing styles - no changes below 769px */
@media (max-width: 768px) {
    /* Mobile styles remain unchanged - all existing font sizes preserved */
}