body {
    font-family: 'Segoe UI', sans-serif;
    background-color: #fdfbf7; /* tono cálido claro */
    color: #2a3c47;
    padding-top: 70px;   /* altura aprox. del navbar */
    padding-bottom: 60px; /* altura aprox. del footer */
}

header {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    padding: 2rem;
}

/* Hace que el índice quede fijo al hacer scroll en escritorio */
.sidebar-sticky{
    position: sticky;
    top: 6rem;          /* coincide con la altura del navbar fijo */
}

/* En móvil, que no sea sticky */
@media (max-width: 991.98px){
    .sidebar-sticky{ position: static; }
}

.intro-text h1 {
    font-size: 3rem;
    font-weight: bold;
    color: #4a8ca8; /* azul elegante */
}

.intro-text h2 {
    font-size: 1.5rem;
    color: #5f6f7c;
}
.text-justify {
    text-align: justify !important; /* '!' es opcional pero asegura que la regla sea aplicada */
}
.profile-img {
    max-width: 220px;
    border-radius: 5%;
    border: 1px solid #4a8ca8;
    box-shadow: 0 0 15px rgba(74, 140, 168, 0.25);
}

.btn-primary {
    background-color: #4a8ca8;
    border-color: #4a8ca8;
}

.btn-primary:hover {
    background-color: #3c738b;
    border-color: #3c738b;
}

section {
    padding: 0rem 0;
}
#toc-right .nav a {
    color: inherit;
    opacity: .85;
    padding: .15rem 0;
    text-decoration: none;
    border-left: 2px solid transparent;
    display: block;
  }
  
  #toc-right .nav a:hover {
    opacity: 1;
  }
  
  #toc-right .nav a.active {
    font-weight: 600;
    border-left-color: var(--bs-primary);
  }
  
  #toc-right .nav .toc-indent-1 { padding-left: .5rem; }
  #toc-right .nav .toc-indent-2 { padding-left: 1rem; }
  #toc-right .nav .toc-indent-3 { padding-left: 1.5rem; }
  #toc-right .nav .toc-indent-4 { padding-left: 2rem; }
  #toc-right .nav .toc-indent-5 { padding-left: 2.5rem; }
  