:root {
  --color-primario: #155c2f;
  --color-primario-oscuro: #1e5c32;
  --color-secundario: #2e8a4f;
  --color-fondo: #e6f4ea;
  --color-fondo-secundario: #c5ebd4;
  --color-blanco: #f9fff9;
  --color-texto: #1d4022;
  --color-texto-secundario: #275c33;
  --color-hover: #b6f0c2;
  --color-footer-texto-hover: #dfffe5;
  --sombra-suave: 0 0 10px rgba(0, 80, 0, 0.1);
  --fuente-principal: "Segoe UI", sans-serif;
  --radio-borde: 15px;
  --altura-header: 130px;
}

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  font-family: var(--fuente-principal);
  background: linear-gradient(180deg, var(--color-fondo) 0%, var(--color-fondo-secundario) 100%);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  color: var(--color-texto);
}

header.navbar {
  background-color: var(--color-primario) !important;
}

header .navbar-brand span,
header .nav-link {
  color: var(--color-blanco) !important;
}

header .nav-link:hover {
  color: var(--color-hover) !important;
}

.contenido-principal {
  margin-top: var(--altura-header);
  background-color: var(--color-blanco);
  border-radius: var(--radio-borde);
  padding: 2rem;
  box-shadow: var(--sombra-suave);
  margin-bottom: 2rem;
}

.border-success-subtle:hover {
  transform: translateY(-4px);
  transition: transform 0.3s ease;
}

.ecosistema-texto {
  margin-top: 1em;
  margin-bottom: 1em;
  text-align: justify;
}

.ecosistema-texto::first-letter {
  font-size: 2em;
  font-weight: bold;
  color: #2d6a4f;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
  font-family: "UnifrakturCook", "Old English Text MT", cursive;
}

@keyframes saltarCanguro {
  0%   { left: 100%; top: 90%;  transform: rotate(15deg); opacity: 1; }
  10%  { left: 90%;  top: 40%;  transform: rotate(-10deg); opacity: 1; }
  20%  { left: 80%;  top: 100%; transform: rotate(10deg); opacity: 1; }
  30%  { left: 70%;  top: 30%;  transform: rotate(-5deg); opacity: 1; }
  40%  { left: 60%;  top: 95%;  transform: rotate(8deg); opacity: 1; }
  50%  { left: 50%;  top: 25%;  transform: rotate(-12deg); opacity: 1; }
  60%  { left: 40%;  top: 90%;  transform: rotate(10deg); opacity: 1; }
  70%  { left: 30%;  top: 35%;  transform: rotate(-8deg); opacity: 1; }
  80%  { left: 20%;  top: 85%;  transform: rotate(12deg); opacity: 1; }
  90%  { left: 10%;  top: 40%;  transform: rotate(-10deg); opacity: 1; }
  100% { left: -10%; top: 100%; transform: rotate(-15deg); opacity: 0; }
}
.canguro{
  margin-top: 80px;
  width: 600px;
}

p {
  color: var(--color-texto-secundario);
  line-height: 1.7;
}

footer {
  background: linear-gradient(90deg, var(--color-primario-oscuro) 0%, var(--color-secundario) 100%);
  color: var(--color-blanco);
}

footer a:hover {
  color: var(--color-footer-texto-hover) !important;
  transform: scale(1.1);
  transition: transform 0.2s ease, color 0.3s ease;
}

footer img {
  object-fit: cover;
  border-radius: 8px;
}

@media (max-width: 768px) {
  .contenido-principal {
    margin-top: calc(var(--altura-header) + 20px);
  }

  footer {
    flex-direction: column;
    text-align: center;
  }
}
