/* Ajustes sobre la plantilla Start Bootstrap Resume: paleta sobria (azul grisáceo del CV, RGB 75,95,120)
   en vez del naranjo original, y estilos de los bloques nuevos (logros, competencias). */
:root {
  --dp-primario: #4b5f78;
  --dp-primario-oscuro: #34445a;
  --dp-nav: #2c3a4d;
  --dp-texto: #3d4652;
  --dp-suave: #f3f5f8;
  --bs-primary: #4b5f78;
  --bs-primary-rgb: 75, 95, 120;
  --bs-link-color: #4b5f78;
  --bs-link-hover-color: #34445a;
  --bs-body-color: #3d4652;
}

#sideNav.bg-primary { background-color: var(--dp-nav) !important; }
#sideNav .navbar-nav .nav-item .nav-link { color: rgba(255, 255, 255, 0.7); }
#sideNav .navbar-nav .nav-item .nav-link.active,
#sideNav .navbar-nav .nav-item .nav-link:hover { color: #fff; }
@media (min-width: 992px) {
  #sideNav .navbar-brand .img-profile { border-color: rgba(255, 255, 255, 0.25); }
}

.text-primary { color: var(--dp-primario) !important; }
a { color: var(--dp-primario); }
a:hover { color: var(--dp-primario-oscuro); }

.btn-primary {
  --bs-btn-bg: var(--dp-primario); --bs-btn-border-color: var(--dp-primario);
  --bs-btn-hover-bg: var(--dp-primario-oscuro); --bs-btn-hover-border-color: var(--dp-primario-oscuro);
  --bs-btn-active-bg: var(--dp-primario-oscuro); --bs-btn-active-border-color: var(--dp-primario-oscuro);
  --bs-btn-focus-shadow-rgb: 75, 95, 120;
}
.btn-outline-primary {
  --bs-btn-color: var(--dp-primario); --bs-btn-border-color: var(--dp-primario);
  --bs-btn-hover-bg: var(--dp-primario); --bs-btn-hover-border-color: var(--dp-primario);
  --bs-btn-active-bg: var(--dp-primario); --bs-btn-active-border-color: var(--dp-primario);
  --bs-btn-focus-shadow-rgb: 75, 95, 120;
}
.btn-cv { border-radius: 2rem; padding: 0.6rem 1.4rem; font-weight: 800; letter-spacing: 0.02em; }
.social-icons .social-icon { background-color: #6b7685; }
.social-icons .social-icon:hover { background-color: var(--dp-primario); }

/* Títulos: la plantilla usa h1 enorme; se modera para un nombre de dos apellidos */
h1 { font-size: 4.5rem; line-height: 1; }
@media (max-width: 575px) { h1 { font-size: 3rem; } }
.foto-movil { width: 8rem; height: 8rem; object-fit: cover; border: 0.4rem solid #e3e7ec; }
.cargo-titular { font-family: "Saira Extra Condensed", sans-serif; font-size: 1.6rem; color: #6b7685; }
.subheading { color: #5c6673; }

/* Las secciones cortas no necesitan ocupar toda la pantalla */
@media (min-width: 768px) {
  section#logros, section#competencias, section#contacto { min-height: auto; }
}

/* Logros: tarjetas con la cifra destacada */
.logro {
  height: 100%; padding: 1.5rem 1.25rem; background: var(--dp-suave);
  border-left: 4px solid var(--dp-primario); border-radius: 0.5rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.logro:hover { transform: translateY(-3px); box-shadow: 0 0.5rem 1.25rem rgba(44, 58, 77, 0.12); }
.logro-cifra {
  font-family: "Saira Extra Condensed", sans-serif; font-weight: 700; font-size: 3rem; line-height: 1;
  color: var(--dp-primario); margin-bottom: 0.6rem;
}
.logro-texto { font-size: 0.95rem; }

/* Experiencia */
.experiencia h3 { font-size: 2rem; }
.experiencia .resumen { font-style: italic; color: #5c6673; margin-bottom: 0.6rem; }
.experiencia ul { padding-left: 1.1rem; margin-bottom: 0; }
.experiencia li { margin-bottom: 0.35rem; }
.fecha { min-width: 11rem; }
@media (min-width: 768px) { .fecha { text-align: right; } }

/* Competencias: etiquetas */
.competencia { height: 100%; padding: 1.25rem; border: 1px solid #e3e7ec; border-radius: 0.5rem; }
.etiquetas { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.etiquetas span {
  padding: 0.3rem 0.8rem; border-radius: 1rem; background: var(--dp-suave); color: var(--dp-primario-oscuro);
  font-size: 0.9rem; border: 1px solid #dfe4ea;
}

.certificaciones li, .contacto li { margin-bottom: 0.6rem; }
