/* Custom CSS for Django Allauth Templates */

/* Ensure consistent styling across all allauth pages */
.allauth-container {
    font-family: 'Inter', sans-serif;
}

/* Override any remaining Bootstrap classes */
.btn {
    @apply inline-flex items-center justify-center px-4 py-2 border border-transparent text-sm font-medium rounded-lg focus:outline-none focus:ring-2 focus:ring-offset-2 transition-all duration-200;
}

.btn-primary {
    @apply bg-gradient-to-r from-blue-600 to-purple-600 text-white hover:from-blue-700 hover:to-purple-700 focus:ring-blue-500;
}

.btn-secondary {
    @apply bg-gray-600 text-white hover:bg-gray-700 focus:ring-gray-500;
}

.btn-outline-primary {
    @apply border-blue-600 text-blue-600 bg-white hover:bg-blue-50 focus:ring-blue-500;
}

.btn-danger {
    @apply bg-red-600 text-white hover:bg-red-700 focus:ring-red-500;
}

.form-control {
    @apply block w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors;
}

.form-control:focus {
    @apply outline-none ring-2 ring-blue-500 border-blue-500;
}

.form-control.is-invalid {
    @apply border-red-300 focus:ring-red-500 focus:border-red-500;
}

.invalid-feedback {
    @apply mt-1 text-sm text-red-600;
}

.form-text {
    @apply mt-1 text-sm text-gray-500;
}

.alert {
    @apply p-4 rounded-lg mb-4;
}

.alert-danger {
    @apply bg-red-100 text-red-700 border border-red-200;
}

.alert-success {
    @apply bg-green-100 text-green-700 border border-green-200;
}

.alert-warning {
    @apply bg-yellow-100 text-yellow-700 border border-yellow-200;
}

.alert-info {
    @apply bg-blue-100 text-blue-700 border border-blue-200;
}

/* Card styling */
.card {
    @apply bg-white rounded-lg shadow-sm border border-gray-200;
}

.card-body {
    @apply p-6;
}

.card-footer {
    @apply px-6 py-4 bg-gray-50 border-t border-gray-200 rounded-b-lg;
}

.card-title {
    @apply text-lg font-semibold text-gray-900 mb-4;
}

/* List styling */
.list-group {
    @apply space-y-3;
}

.list-group-item {
    @apply p-0;
}

/* Link styling */
a {
    @apply text-blue-600 hover:text-blue-500 transition-colors duration-200;
}

/* Ensure proper spacing */
.mb-3 {
    @apply mb-4;
}

.mt-4 {
    @apply mt-6;
}

/* Form check styling */
.form-check {
    @apply flex items-center mb-4;
}

.form-check-input {
    @apply h-4 w-4 text-blue-600 focus:ring-blue-500 border-gray-300 rounded;
}

.form-check-label {
    @apply ml-2 block text-sm text-gray-700;
}

/* Select styling */
.form-select {
    @apply block w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors;
}

/* Textarea styling */
textarea.form-control {
    @apply block w-full px-3 py-2 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors;
}

/* Ensure proper focus states */
*:focus {
    @apply outline-none;
}

/* Custom utility classes */
.text-muted {
    @apply text-gray-500;
}

.text-danger {
    @apply text-red-600;
}

.text-success {
    @apply text-green-600;
}

.text-warning {
    @apply text-yellow-600;
}

.text-info {
    @apply text-blue-600;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .card-body {
        @apply p-4;
    }
    
    .card-footer {
        @apply px-4 py-3;
    }
}
