/* Modern Typography Overrides */

/* Base font logic (excluding icon classes preventing font destruction) */
body, p, li, ul, input, button, select, textarea {
    font-family: 'Inter', sans-serif !important;
}

span:not(.fa):not(.glyphicon):not([class*='icon']),
div:not(.fa):not(.glyphicon):not([class*='icon']),
a:not(.fa):not(.glyphicon):not([class*='icon']):not(.navbar-nav > li > a),
i:not(.fa):not(.glyphicon):not([class*='icon']) {
    font-family: 'Inter', sans-serif !important;
}

/* Navbar Menu Fonts (Home, About, Services, etc.) */
.navbar-nav > li > a {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 500 !important;
    font-size: 16px !important;
    letter-spacing: 0.5px !important;
    text-transform: capitalize !important;
}

/* Heading font logic */
h1:not(.fa):not(.glyphicon):not([class*='icon']),
h2:not(.fa):not(.glyphicon):not([class*='icon']),
h3:not(.fa):not(.glyphicon):not([class*='icon']),
h4:not(.fa):not(.glyphicon):not([class*='icon']),
h5:not(.fa):not(.glyphicon):not([class*='icon']),
h6:not(.fa):not(.glyphicon):not([class*='icon']),
.hero-display-title, .home-section-title, .heading, .title, .carousel-caption h2, .carousel-caption h3, .portfolio figcaption h3, .w3l-info1 h4 {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600; /* Extra weight for a professional, punchy feel */
}

/* --- Responsiveness & Fluid Typography Adjustments --- */

@media screen and (max-width: 991px) {
    h1, .hero-display-title, .carousel-caption h2 {
        font-size: calc(1.8rem + 1vw) !important;
        line-height: 1.2 !important;
    }
    h2, .home-section-title, .heading, .carousel-caption h3 {
        font-size: calc(1.5rem + 0.8vw) !important;
        line-height: 1.3 !important;
    }
    h3 {
        font-size: calc(1.3rem + 0.6vw) !important;
    }
}

@media screen and (max-width: 576px) {
    h1, .hero-display-title, .carousel-caption h2 {
        font-size: calc(1.5rem + 1vw) !important;
        line-height: 1.2 !important;
        margin-bottom: 10px !important;
    }
    h2, .home-section-title, .heading, .carousel-caption h3 {
        font-size: calc(1.2rem + 0.8vw) !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }
    h3 {
        font-size: 1.3rem !important;
        margin-bottom: 8px !important;
    }
    h4 {
        font-size: 1.1rem !important;
    }
    
    /* Ensure body copy is readable and doesn't overflow */
    p, li, ul {
        font-size: 14px !important;
        line-height: 1.6 !important;
    }
    
    /* Ensure padding adjusts on main sections so they fit on mobile seamlessly */
    .section-container, .contact-form, .padding-left-50, .padding-right-50, .content-block-container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
    
    /* Soften the margin on container boxes */
    .pricing-block-container, .image-block-container {
        margin-bottom: 15px !important;
        padding: 20px 10px !important;
    }
    
    /* Buttons need to be touch-friendly scale */
    .btn, .btn-gfort, .btn-gfort-white {
        padding: 10px 20px !important;
        font-size: 14px !important;
    }
}
