/* Custom styles for WP CAPTCHA Earner */

/* Container */
.captcha-earner-container {
    transition: all 0.3s ease-in-out;
}

/* Input fields */
.captcha-earner-container input[type="text"] {
    transition: all 0.3s ease;
    border-color: #d1d5db; /* Tailwind gray-300 */
    box-shadow: 0 0 0 1px transparent;
}

.captcha-earner-container input:focus {
    outline: none;
    border-color: #2563eb; /* Tailwind blue-600 */
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.2);
    transform: translateY(-2px);
}

/* Buttons */
.captcha-earner-container button {
    transition: all 0.2s ease;
    transform: scale(1);
}

.captcha-earner-container button:hover {
    transform: scale(1.05);
}

.captcha-earner-container button:active {
    transform: scale(0.95);
}

/* Loading spinner */
.captcha-earner-container .loading {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.captcha-earner-container .spinner {
    width: 1.5rem;
    height: 1.5rem;
    border: 3px solid #d1d5db; /* Tailwind gray-300 */
    border-top: 3px solid #2563eb; /* Tailwind blue-600 */
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Success and error messages */
.captcha-earner-container .success {
    background-color: #dcfce7; /* Tailwind green-100 */
    border: 1px solid #16a34a; /* Tailwind green-600 */
    padding: 0.75rem;
    border-radius: 0.375rem;
    animation: fadeIn 0.3s ease-in;
}

.captcha-earner-container .error {
    background-color: #fee2e2; /* Tailwind red-100 */
    border: 1px solid #dc2626; /* Tailwind red-600 */
    padding: 0.75rem;
    border-radius: 0.375rem;
    animation: fadeIn 0.3s ease-in;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Table styling */
.captcha-earner-container table {
    border-collapse: collapse;
}

.captcha-earner-container th,
.captcha-earner-container td {
    text-align: left;
}

/* Responsive adjustments */
@media (max-width: 640px) {
    .captcha-earner-container {
        padding: 1.5rem;
        max-width: 100%;
    }

    .captcha-earner-container input[type="text"] {
        font-size: 0.875rem;
    }

    .captcha-earner-container button {
        font-size: 0.875rem;
        padding: 0.5rem;
    }

    .captcha-earner-container table {
        font-size: 0.75rem;
    }

    .captcha-earner-container th,
    .captcha-earner-container td {
        padding: 0.5rem;
    }
}