@media only screen and (max-width: 47.99rem) {

    #logo-div {
        display: none;
    }

    header {
        position: fixed;
        bottom: 0;
        z-index: 1000;
        width: 100%;
        align-items: center;
        justify-content: center;
    }

    nav {
        width: 100%;
        padding: 0;
        background-color: var(--color-white);
        font-family: var(--font-display);
    }

    nav ul {
        display: flex;
        padding: 0;
        margin: 0;
        list-style: none;
    }

    nav li:has(#login-link) {
        display: none;
    }

    nav li {
        /* Removed the border cause it was ugly sorry*/
        width: calc(100% / 3);
        border-radius: 8px 8px 0 0;
    }

    nav a {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 1rem;
        text-decoration: none;
        color: inherit;
        color: var(--color-primary);
    }

    #login-link {
        display: none;
        visibility: hidden;
    }

    .nav-icon {
        display: inline-block;
        width: 1.8rem;
        height: 1.8rem;
        fill: var(--color-primary);
        visibility: visible;
    }

    .hero-card {
        min-width: 90%;
    }

    footer {
        padding-bottom: 95px;
    }

    nav a#active {
        border-radius: 8px 8px 0 0;
        background-color: var(--color-primary);
        color: white;
    }

    nav a#active .nav-icon {
        fill: white;
    }

    .nav-lost {
        order: 1;
    }

    .nav-home {
        order: 2;
    }

    .nav-found {
        order: 3;
    }

    .nav-login {
        order: 4;
    }

    #mobile-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 0 0 1rem;
        background-color: var(--color-light-gray);
    }

    #mobile-header img {
        width: 5rem;
        height: auto;
        margin: 1rem;
    }

    div#description {
        width: 100%;
        margin-left: 0;
        font-size: 0.75rem;
        /* Smaller font size to fit on one line on mobile */
    }

    .steps-container {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .step-card {
        width: 100% !important;
        margin-bottom: 1rem;
    }

    .stats-grid {
        flex-direction: column !important;
        font-size: 1.5rem;
    }


    .upload-form {
        padding: 1rem;
        margin: 1rem auto;
        max-width: 95vw;
    }

    .item-form {
        gap: 0.8rem;
    }

    .item-form textarea {
        min-height: 80px;
    }
}