/* Variables CSS */
:root {
    --color-primary: rgb(27, 41, 83);
    --color-secondary: rgb(0, 125, 125);
    --color-white: rgb(255, 255, 255);
    --color-gray: #8b8b8b;
    --color-light-bg: #f8f9fa;
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Colores globales */
.text-color-one {
    color: var(--color-primary) !important;
}

a:hover {
    color: var(--color-secondary) !important;
}

.bg-color-one {
    background-color: var(--color-white) !important;
}

/* Body styles */
body {
    font-family: Arial, Helvetica, sans-serif;
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Navbar */
.navbar-toggler {
    border: none;
}

.navbar-toggler:focus {
    box-shadow: none;
    outline: none;
}

/* Footer */
footer {
    color: var(--color-primary);
}

/* Mejoras de accesibilidad */
a, button {
    transition: all 0.3s ease;
}

/* Outline solo para elementos que no sean nav-links */
a:focus:not(.nav-link), button:focus {
    outline: 2px solid var(--color-secondary);
    outline-offset: 2px;
}

/* Optimización para móviles */
@media (max-width: 768px) {
    h1 {
        font-size: 1.75rem !important;
    }

    h2 {
        font-size: 1.5rem !important;
    }

    h3 {
        font-size: 1.25rem !important;
    }

    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* Mejora de rendimiento de imágenes */
img {
    max-width: 100%;
    height: auto;
}

/* Scroll suave en Safari */
@media not all and (min-resolution:.001dpcm) {
    @supports (-webkit-appearance:none) {
        html {
            scroll-behavior: auto;
        }
    }
}

/* Animaciones globales */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Prevenir selección de texto en elementos interactivos */
button, .btn, .nav-link {
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}