/* Fuentes */

.rubik{
    font-family: Rubik, sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.karla{
    font-family: "Karla", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

/*  */

:root {
  --primary: #3B8640;

  --bg: #ffffff;
  --text: #111827;

  --card: #f3f4f6;
}

.dark {
  --bg: #111827;
  --text: #f9fafb;

  --card: #1f2937;
}

.link::after {
    left: 50%;
    transform: translateX(-50%);
}

.link:hover::after {
    width: 100%;
}

.active-link {
  color: #3B8640; /* verde tipo Tailwind (green-500) */
}

@keyframes floatArrow {
    0%, 100% { 
        transform: translateY(0); 
        opacity: 0.7; 
    }
    50% { transform: translateY(10px); 
        opacity: 1; 
    }
}

.scroll-anim {
    animation: floatArrow 1.5s ease-in-out infinite;
}

@keyframes smoothBounce {
    0%, 100% {
        transform: translateY(0);
        opacity: 0.7;
    }
    50% {
        transform: translateY(12px);
        opacity: 1;
    }
}

.scroll-anim {
    animation: smoothBounce 1.6s ease-in-out infinite;
}

@keyframes scroll {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

.animate-scroll {
    animation: scroll 25s linear infinite;
}

.icon-carousel:hover {
    filter: drop-shadow(0 0 6px rgba(59,134,64,0.6));
    cursor: pointer;
}

