/* Google Font Import */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700&display=swap');

body {
    font-family: 'Inter', sans-serif;
    background-color: #eaf1f7;
}

.header-blue {
    background-color: #3c8dbc;
}

.footer-blue {
    background-color: #367fa9;
}

.login-green-button {
    background-color: #00a65a;
    border-color: #008d4c;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

.login-green-button:hover:not(:disabled) {
    background-color: #008d4c;
    transform: translateY(-2px);
}

.login-green-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

.icon-circle {
    background-color: #3c8dbc30;
}

/* Password game error flash */
@keyframes flash-error-border {
    0%, 100% { border-color: #dc2626; }
    50% { border-color: #f87171; }
}

.flash-error {
    animation: flash-error-border 0.5s ease-out;
}

/* Fade-in keyframe used across pages */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Page-level fade in */
.fade-in {
    animation: fadeIn 0.6s ease-out forwards;
}

/* Cards on index/login — stagger via inline animation-delay */
.card-hover {
    opacity: 0;
    animation: fadeIn 0.5s ease-out forwards;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.card-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px rgba(0,0,0,0.08);
}

/* Cards on FAQ page */
.card-stagger {
    opacity: 0;
    animation: fadeIn 0.5s ease-out forwards;
}

/* Loading spinner */
@keyframes spin {
    to { transform: rotate(360deg); }
}

.spinner {
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    vertical-align: -0.2em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spin 0.75s linear infinite;
}
