/* Aplicar Montserrat globalmente */
* {
    font-family: 'Montserrat', sans-serif;
}

/* Estilos específicos para títulos */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
}

/* Botones con Montserrat */
.btn {
    font-weight: 600;
}

/* Navbar con Montserrat */
.navbar-brand {
    font-weight: 900;
}

/* ========================================
   RESPONSIVE TYPOGRAPHY
   ======================================== */

/* Asegurar que los textos se adapten correctamente */
@media (max-width: 576px) {
    body {
        font-size: 0.95rem;
    }

    h1 {
        font-size: clamp(1.75rem, 6vw, 2.5rem);
    }

    h2 {
        font-size: clamp(1.5rem, 5vw, 2rem);
    }

    h3 {
        font-size: clamp(1.25rem, 4vw, 1.75rem);
    }

    h4 {
        font-size: clamp(1.1rem, 3.5vw, 1.5rem);
    }

    h5 {
        font-size: clamp(1rem, 3vw, 1.25rem);
    }

    h6 {
        font-size: clamp(0.95rem, 2.5vw, 1.1rem);
    }

    p, li, span {
        font-size: 0.95rem;
        line-height: 1.6;
    }

    .lead {
        font-size: 1.1rem !important;
    }

    .display-1 {
        font-size: clamp(2.5rem, 10vw, 6rem);
    }

    .display-2 {
        font-size: clamp(2.25rem, 9vw, 5.5rem);
    }

    .display-3 {
        font-size: clamp(2rem, 8vw, 4.5rem);
    }

    .display-4 {
        font-size: clamp(1.75rem, 7vw, 3.5rem);
    }

    .display-5 {
        font-size: clamp(1.5rem, 6vw, 3rem);
    }

    .display-6 {
        font-size: clamp(1.25rem, 5vw, 2.5rem);
    }

    small, .small {
        font-size: 0.85rem;
    }
}

/* Tablets */
@media (max-width: 768px) {
    body {
        font-size: 0.975rem;
    }
}

/* Prevenir desbordamiento de texto */
* {
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Asegurar que el contenido no se extienda más allá del ancho del dispositivo */
html, body {
    overflow-x: hidden;
    max-width: 100%;
}
