/* Tablet screens (≤ 900px) */
@media (max-width: 900px) {
    main {
        width: 80%;
        padding: 1rem 0.5rem;
    }

    header{
        width: 80%;
    }

    #cat-photo {
        width: 80%;
        max-width: 95vw;
        min-width: 160px;
    }

    .dropdowns, .cta {
        gap: 1.2rem;
        flex-direction: row;
        width: 80%;
    }

    select, #generate {
        width: 80%;
        font-size: 1rem;
        margin-bottom: 0.5rem;
    }
    .facts {
        width: 80%;
        max-width: 95vw;
        font-size: 0.8rem;
    }
    .heading {
        font-size: 2rem;
    }
    .subheading {
        font-size: 1.1rem;
    }
}

/* Mobile screens (≤ 600px) */
@media (max-width: 600px) {
    body {
        gap: 0.5rem;
    }

    header{
        height: 8%;
    }

    main {
        width: 80vw;
        max-width: 99vw;
        min-width: 0;
        border-radius: 1.2rem;
        padding: 0.6rem 0.1rem;
        gap: 0.8rem;
    }
    #cat-photo {
        width: 80%;
        max-width: 99vw;
        min-width: 90px;
        border-radius: 1rem;
    }
    .dropdowns, .cta {
        gap: 0.7rem;
        width: 80%;
        flex-direction: row;
    }
    select{
        width: 80%;
        max-width: 99vw;
        min-width: 80px;
        font-size: 0.98rem;
        margin-bottom: 0.4rem;
    }

    #copy, #download, #share{
        width: 20%;
    }

    .facts {
        width: 80%;
        max-width: 99vw;
        font-size: 0.8rem;
        padding: 1rem 1rem;
        border-radius: 0.7rem;
    }
    .heading {
        font-size: 1.6rem;
    }
    .subheading {
        font-size: 1rem;
    }
}


/* Extra Small Devices (≤ 400px) */
@media (max-width: 400px) {
    .facts {
        font-size: 0.8rem;
    }

    .heading {
        font-size: 0.95rem;
    }

    .subheading {
        font-size: 0.78rem;
    }
}

@media (min-width: 901px) and (max-width: 1480px) {
    main {
        width: 60%;
        max-width: none;
        padding: 1rem;
        border-radius: 2rem;
        gap: 1.2rem;
    }
    #cat-photo {
        width: 80%;
        border-radius: 2rem;
        background-size: contain;
    }
    .dropdowns, .cta {
        flex-direction: row;
        gap: 3rem;
        width: 90%;
        height: 8%;
    }
    select {
        width: 60%;
        font-size: 1.2rem;
        padding-left: 2rem;
    }
    #generate {
        width: 60%;
        font-size: 1.2rem;
    }
    
    .facts {
        font-size: 0.9rem;
        padding: 1rem 2rem;
        border-radius: 2rem;
    }
    .heading {
        font-size: 3rem;
    }
    .subheading {
        font-size: 1.5rem;
    }
}
