/* Custom styles for Final Grade Calculator */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Custom focus styles */
input:focus, textarea:focus {
    outline: none;
    box-shadow: 0 0 0 2px #2563eb;
}

/* Custom transitions */
.hover\:scale-105:hover {
    transform: scale(1.05);
    transition: transform 0.2s ease-in-out;
}

/* Custom animations */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fadeIn {
    animation: fadeIn 0.5s ease-out;
}

/* Mobile menu transition */
#mobile-menu {
    transition: all 0.3s ease-in-out;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Form input styles */
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Remove spinner buttons for Chrome, Safari, Edge, Opera */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    appearance: none;
    margin: 0;
}

/* Remove spinner buttons for Firefox */
input[type="number"] {
    -moz-appearance: textfield;
    appearance: textfield;
}

/* Ensure consistent styling across browsers */
input[type="number"] {
    padding: 0.5rem;
    border: 1px solid #e2e8f0;
    border-radius: 0.375rem;
    width: 100%;
    transition: border-color 0.15s ease-in-out;
}

input[type="number"]:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Responsive typography */
@media (max-width: 640px) {
    h1 {
        font-size: 2rem;
    }
    h2 {
        font-size: 1.5rem;
    }
    h3 {
        font-size: 1.25rem;
    }
}

/* Print styles */
@media print {
    .no-print {
        display: none;
    }
    body {
        font-size: 12pt;
    }
    .container {
        max-width: 100%;
        padding: 0;
    }
} 