    body {
      margin: 0;
      font-family: 'Segoe UI', sans-serif;
      background-color: #f4f4f4;
     
    }

    body.light-mode {
      background-color: #f8f9fa;
      color: #212529;
    }
    body.dark-mode {
      background-color: #121212;
      color: #e9ecef;
    }
      .dark-mode .card {
      background-color: #1e1e1e;
      color: #e9ecef;
    }

     .nav-link, .navbar-brand {
      font-weight: 500;
    }

    /* .mode-toggle {
      cursor: pointer;
    }

    .card-clickable {
      cursor: pointer;
    }

    .section-title {
      font-weight: 600;
    } */
    
   /* heeader */
       header {
  position: relative;
  width: 100%;
  height: 300px;
  background-image: url('../images/portada/fondo-header.jpg');
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 20px;
  text-align: center;
}

.circle-photo {
  border-radius: 50%;
  border: 4px solid white;
  width: 100px;
  height: 100px;
  overflow: hidden;
  margin-bottom: 15px;

  flex: 0 0 auto;   /* 🚀 evita que flex lo estire */
}
@media (max-width: 768px) {
  .circle-photo {
    width: 90px;
    height: 90px;
    flex: 0 0 auto;
  }
}

@media (max-width: 480px) {
  .circle-photo {
    width: 70px;
    height: 70px;
    flex: 0 0 auto;
  }
}


.circle-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* La imagen llena sin deformarse */
}



/* Texto animado */
.typing-text {
  font-size: 1.8rem;
  color: white;
  white-space: nowrap;
  overflow: hidden;
  border-right: 2px solid white;
  animation: typing 3s steps(30, end), blink 0.75s step-end infinite;
  letter-spacing: 0.2em;
  margin-bottom: 20px;
}

@keyframes typing {
  from { width: 0 }
  to { width: 17ch } 
}

@keyframes blink {
  50% { border-color: transparent }
}

/* Footer dentro del header */
.header-footer {
  color: white;
  font-size: 0.9rem;
}

.header-footer div {
  margin-bottom: 4px;
}

.header-footer .social {
  margin-top: 10px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.header-footer .social img {
  width: 24px;
  height: 24px;
}

/* 🔽 Ajustes para móviles */
@media (max-width: 768px) {
  header {
    height: auto;
    padding: 30px 15px;
  }

  .circle-photo {
    width: 90px;
    height: 90px;
  }

  .typing-text {
    font-size: 1.2rem;
    letter-spacing: 0.1em;
  }

  .header-footer {
    font-size: 0.8rem;
  }
}

@media (max-width: 480px) {
  .circle-photo {
    width: 70px;
    height: 70px;
  }

  .typing-text {
    font-size: 1rem;
  }

  .header-footer {
    font-size: 0.7rem;
  }

  .header-footer .social img {
    width: 20px;
    height: 20px;
  }
}

    /* footter */
     .footer-info {
      margin-top: 2rem;
       border-top: 1px solid #dee2e6;
        text-align: center;
    }


    .footer-info p {
      margin: 0.3rem 0;
      color: #444;
      font-size: 1rem;
    }

    .social-icons i {
      font-size: 1.5rem;
      margin: 0 10px;
      color: #343a40;
      transition: color 0.3s;
    }

    .social-icons i:hover {
      color: #007bff;
    }
    

    /* contenidoooo y articles */
      @media (min-width: 992px) {
      .border-lg-start {
        border-left: 1px solid #ddd;
        padding-left: 1rem;
      }
    }
    .profile-pic {
      width: 120px;
      height: 120px;
      object-fit: cover;
      border-radius: 50%;
      border: 3px solid #ccc;
      display: block;
      margin: 0 auto;
    }
    .mini-card {
      border: 1px solid #ddd;
      border-radius: 8px;
      overflow: hidden;
      text-align: center;
      background-color: #fff;
      transition: box-shadow 0.2s ease-in-out;
    }
    .mini-card:hover {
      box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    }
    .mini-card img {
      width: 100%;
      height: 100px;
      object-fit: cover;
      display: block;
    }
    .mini-card p {
      margin: 0;
      padding: 0.5rem;
      font-weight: bold;
      font-size: 0.9rem;
    }
    .article-meta i {
      vertical-align: middle;
      margin-right: 4px;
    }
    .article-meta li {
      margin-right: 15px;
    }

       /* contenido articulo */
    .contenido-text-tarjetas{
      font-size: 18px;
      text-align: justify;
    }

    .imagenes-contenido-notas{
      max-width: 100%; height: auto; display: block; margin: 0 auto;
    }