html {
    font-size: 14px;
    height: 100%; /* Asegura que el HTML use toda la pantalla */
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    margin: 0; /* Eliminamos el margin-bottom: 60px; */
    min-height: 100vh; /* Obliga al body a medir mínimo el alto de la pantalla */
    display: flex; /* Activamos flexbox */
    flex-direction: column; /* Alineación vertical */

    margin-bottom: 60px;
    min-height: 100vh;
    background: url("../Asets/fondo.svg") #fff;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
}

tr th {
    text-align: center !important;
    background-color: rgba(0, 0, 74, 1);
    border: solid 1px #002589;
    color: #ffffff;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
    color: var(--bs-secondary-color);
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* --- Paleta de Colores de INAP --- */
.bg-inp-purple {
    background-color: #79428D !important;
}

.border-inp-purple {
    border-color: #79428D !important;
}

.text-inp-purple {
    color: #79428D !important;
}

.bg-inp-gray {
    background-color: #54595F;
}

.text-inp-gray {
    color: #54595F !important;
}

.bg-inp-green {
    background-color: #449344 !important;
}

.border-inp-green {
    border-color: #449344 !important;
}

.text-inp-green {
    color: #449344 !important;
}

.btn-custom-purple {
    background-color: #79428D;
    color: #ffffff;
    border: none;
    transition: all 0.3s ease;
}

    .btn-custom-purple:hover {
        background-color: #613472;
        color: #ffffff;
    }

.btn-custom-green {
    background-color: #449344;
    color: #ffffff;
    border: none;
    transition: all 0.3s ease;
}

    .btn-custom-green:hover {
        background-color: #357335;
        color: #ffffff;
    }

.bg-purple-subtle {
    background-color: rgba(121, 66, 141, 0.08) !important;
}

.bg-principal-grafitto {
    background-color: #2B3035 !important;
}

.text-principal {
    color: #E0B0FF !important;
}

.btn-xs-cust {
    padding: 0.2rem 0.6rem;
    font-size: 0.75rem;
    margin: 0;
}

/* Modificamos el contenedor principal para que empuje el footer hacia abajo */
.principal-main {
    margin-top:3rem;
    margin-bottom:2rem;
}

main {
    /* Ya no necesita el flex: 1 aquí, se lo pasamos a su contenedor .principal-main */
}

footer {
    text-align: center;
    margin-top: auto; /* Fuerza al footer a quedarse en el fondo si el contenido es corto */
}

header nav {
    background: #ffffff;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%,rgba(255, 255, 255, 1) 6%,rgba(101, 21, 130, 1) 6%, rgba(0, 0, 74, 1) 100%);
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
    color: #ffffff !important; /* Color oscuro sólido para destacar */
}