:root {
    --color-base: #F8FAFC; /* rgb(248, 250, 252) */
    --color-primario: #D9EAFD; /* rgb(217, 234, 253) */
    --color-secundario: #BCCCDC; /* rgb(188, 204, 220) */
    --color-texto: #333;
    --color-texto-claro: #555;
    --color-borde: #9AA6B2; /* rgb(154, 166, 178) */
}

body {
    background-color: var(--color-base);
    color: var(--color-texto);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

/* --- Estilos para el Navbar --- */
.navbar-custom {
    background-color: var(--color-base);
    border-bottom: 1px solid var(--color-secundario) !important;
    padding: 1rem 0;
    transition: background-color 0.3s ease;
}

    .navbar-custom .navbar-brand {
        font-weight: bold;
        color: var(--color-texto);
    }

    .navbar-custom .nav-link {
        color: var(--color-texto-claro);
        padding: 0.5rem 1rem;
        border-radius: 5px;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

        .navbar-custom .nav-link:hover, .navbar-custom .nav-link.active {
            background-color: var(--color-primario);
            color: var(--color-texto);
        }

/* --- Estilos para el Footer --- */
.footer-custom {
    background-color: var(--color-secundario);
    color: var(--color-texto);
    padding: 2.5rem 0;
    margin-top: 3rem;
    border-top: 1px solid var(--color-borde);
}

    .footer-custom a {
        color: var(--color-texto);
        text-decoration: none;
        transition: color 0.2s ease;
    }

        .footer-custom a:hover {
            color: var(--color-base);
            text-decoration: underline;
        }

    .footer-custom .social-icons a {
        font-size: 1.5rem;
        margin: 0 0.75rem;
    }
html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
    background-color: var(--color-base);
    color: var(--color-texto);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    /* Nuevas reglas para el sticky footer */
    display: flex;
    flex-direction: column;
    min-height: 100vh; /* Ocupa el 100% de la altura de la ventana */
}

.main-content {
    flex: 1; /* Permite que este elemento crezca y ocupe el espacio disponible */
}
.bg-light {
    background-color: #f0f2f5 !important; 
}
.footer-custom {
    background-color: var(--color-secundario);
    color: var(--color-texto);
    padding: 2rem 0; /* Un poco menos de padding vertical */
    border-top: 1px solid var(--color-borde);
    /* El footer ya no necesita un margin-top */
}
.card {
    border: 1px solid #dee2e6;
    transition: transform 0.2s ease-in-out;
}

    .card:hover {
        transform: translateY(-5px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

/* --- Estilos para Páginas de Contenido Privacidad --- */

.content-page-container {
    background-color: #ffffff; /* Fondo blanco para el contenido */
    border: 1px solid var(--color-secundario); /* Borde sutil usando tus colores */
    border-radius: 8px;
    padding: 2.5rem 3rem; /* Espaciado interno generoso */
    margin-top: 2rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); /* Sombra suave para dar profundidad */
}

    .content-page-container h1 {
        color: var(--color-texto);
        font-weight: 600;
        margin-bottom: 1.5rem;
        border-bottom: 2px solid var(--color-primario); /* Línea divisoria con tu color primario */
        padding-bottom: 1rem;
    }

    .content-page-container h2 {
        color: var(--color-texto);
        font-weight: 500;
        margin-top: 2rem;
        margin-bottom: 1rem;
    }

    .content-page-container p,
    .content-page-container li {
        color: var(--color-texto-claro); /* Un gris más suave para el texto */
        line-height: 1.8; /* Mayor interlineado para facilitar la lectura */
        text-align: justify;
    }

    .content-page-container ul {
        list-style-type: none;
        padding-left: 0;
    }

    .content-page-container li::before {
        content: "?"; /* Ícono para los puntos de la lista */
        color: var(--color-borde); /* Color de tu paleta */
        font-weight: bold;
        display: inline-block;
        width: 1.5em;
        margin-left: -1.5em;
    }

    .content-page-container a {
        color: #007bff; /* Un azul estándar para los enlaces, que destaca */
        text-decoration: none;
    }

        .content-page-container a:hover {
            text-decoration: underline;
        }