/* Mejoras para botón de llamada a la acción */
.btn {
    background-color: #fefe02; /* Color amarillo base */ 
    color: #000000;
    padding: 15px 25px;
    font-size: 1em;
    font-weight: bold;
    border: 3px solid #000; /* Borde más grueso y oscuro para mejor contraste */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Sombra sutil para profundidad */
    border-radius: 8px;
    cursor: pointer;
    display: inline-block;
    text-align: center;
    transition: all 0.3s ease; /* Transición suave para todos los efectos */
    position: relative;
    overflow: hidden; /* Para efectos de brillo */
    width: auto;
    max-width: 350px;
}

/* Efecto hover mejorado */
.btn:hover {
    background-color: #fff200; /* Amarillo ligeramente más brillante */
    transform: translateY(-3px); /* Elevación sutil */
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15); /* Sombra más pronunciada */
    border-color: #111; /* Negro más intenso */
}

/* Efecto al hacer clic (feedback inmediato) */
.btn:active {
    transform: translateY(2px); /* Ligera depresión */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Sombra reducida */
    background-color: #e6d900; /* Amarillo ligeramente más oscuro */
    transition: all 0.1s ease; /* Transición más rápida para efecto inmediato */
}

/* Efecto de pulso continuo */
@keyframes pulse {
    0% {
        transform: scale(1);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
    50% {
        transform: scale(1.03);
        box-shadow: 0 6px 10px rgba(0, 0, 0, 0.2);
    }
    100% {
        transform: scale(1);
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    }
}

.btn {
    animation: pulse 2s infinite;
}

/* Detener animación en hover para no distraer */
.btn:hover {
    animation-play-state: paused;
}

/* Efecto de brillo que recorre el botón */
.btn::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -50%;
    width: 200%;
    height: 200%;
    background: linear-gradient(
        to right, 
        rgba(255, 255, 255, 0) 0%, 
        rgba(255, 255, 255, 0.3) 50%, 
        rgba(255, 255, 255, 0) 100%
    );
    transform: rotate(30deg);
    animation: shine 3s infinite;
    pointer-events: none; /* No interfiere con clicks */
}

@keyframes shine {
    0% {
        left: -100%;
        opacity: 0;
    }
    15% {
        left: -100%;
        opacity: 0;
    }
    30% {
        left: 100%;
        opacity: 0.6;
    }
    45% {
        left: 100%;
        opacity: 0;
    }
    100% {
        left: 100%;
        opacity: 0;
    }
}

/* Efecto de enfoque */
.btn:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(254, 254, 2, 0.5), 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Clase para cuando se hace clic */
.btn-clicked {
    background-color: #d6d100 !important;
    transform: scale(0.98) !important;
    transition: all 0.1s ease !important;
}

/* Clase para eventos táctiles */
.btn-touch {
    background-color: #e6d900;
}

/* Modificaciones responsivas */
@media (max-width: 768px) {
    .btn {
        animation: pulse 3s infinite; /* Pulso más lento en móvil */
    }
    
    @keyframes pulse {
        0% {
            transform: scale(1);
        }
        50% {
            transform: scale(1.02); /* Pulso más sutil en móvil */
        }
        100% {
            transform: scale(1);
        }
    }
}

/* Versión de bajo rendimiento */
.low-performance {
    animation: none !important;
    transition: background-color 0.3s ease !important;
}

.low-performance::before {
    display: none;
}

/* Ajustes específicos para móvil */
@media (max-width: 576px) {
    .btn {
        width: 100%; /* Botón a ancho completo */
        max-width: none;
        font-size: 0.9em;
        padding: 12px 15px;
    }
    
    /* Animación más sutil para no afectar rendimiento */
    @keyframes shine {
        0% {
            left: -100%;
            opacity: 0;
        }
        40% {
            left: 100%;
            opacity: 0.4;
        }
        100% {
            left: 100%;
            opacity: 0;
        }
    }
}
