/* Catamaran & IBM Plex Sans */
@import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@100..900&family=IBM+Plex+Sans:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;1,100;1,200;1,300;1,400;1,500;1,600;1,700&display=swap');

/* Nerd font icons */
@import url('https://www.nerdfonts.com/assets/css/webfont.css');

/* Color variables */
@import url('./colors.css');

/* I HATE CSS I HATE CSS */

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--mantle);
    color: var(--text);
    font-family: 'Catamaran';
    font-size: 14pt;
    margin: 0;
}

.modal-open {
    overflow: hidden !important;
}

a {
    color: var(--pink);
    text-decoration: none;
    transition: all linear 0.15s;

    &:hover {
        color: var(--text);
    }
}

hr {
    border-color: var(--surface1);
    margin: 50px auto;
    width: 60%;
}

.lesbian {
    display: flex;
    height: 3px;
    position: sticky;
    top: 0;
    width: 100%;
    z-index: 9998;

    .one {
        background-color: var(--maroon);
        height: 100%;
        width: 20%;
    }
    .two {
        background-color: var(--peach);
        height: 100%;
        width: 20%;
    }
    .three {
        background-color: var(--white);
        height: 100%;
        width: 20%;
    }
    .four {
        background-color: var(--pink);
        height: 100%;
        width: 20%;
    }
    .five {
        background-color: var(--mauve);
        height: 100%;
        width: 20%;
    }
}

header {
    background: linear-gradient(160deg, var(--base), var(--crust));
    font-size: 16pt;

    .header-content {
        display: flex;
        justify-content: center;
        padding: 3px 12px;
        width: full;
        text-shadow: 1px 1px 3px var(--surface0);
    }
}

.heading {
    margin: 12px auto;
    padding: 10px 12px;
    width: 45%;

    h2 {
        text-align: center;
    }
}

main {
    background-color: var(--base);
    margin: 0 auto;
    padding: 4px 30px;

    .title {
        text-align: center;
        margin-top: 50px;
    }

    .food-container {
        background-color: var(--mantle);
        border-radius: 8px;
        /* border-width: 2px; */
        display: flex;
        filter: drop-shadow(0 4px 3px rgb(0 0 0 / 0.07))
            drop-shadow(0 2px 2px rgb(0 0 0 / 0.06));
        flex-direction: column;
        justify-content: center;
        margin: 12px auto;
        padding-bottom: 12px;
        padding-left: 20px;
        padding-right: 20px;
        text-align: center;
        width: 40%;
        transition: all ease-in 0.4s;

        .description {
            font-weight: 500;
            transition: all ease-in-out 0.75s;
        }

        > button {
            background-color: var(--surface1);
            border: 2px solid #00000000;
            border-radius: 6px;
            box-shadow: 1px 1px 6px var(--crust);
            color: var(--text);
            font-size: 13pt;
            margin: auto;
            padding: 5px 10px;
            transition: all linear 0.1s !important;

            &:hover {
                border-color: var(--pink);
                cursor: pointer;
            }

            &:active {
                background-color: var(--base);
            }
        }
    }

    #foodModalBg {
        background-color: rgba(24, 25, 38, 0.7);
        display: none;
        position: fixed;
        z-index: 9999;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;

        transition: all linear 0.2s;

        #foodModal {
            background-color: var(--surface0);
            border-radius: 10px;
            filter: drop-shadow(20px 17px 5px var(--crust));
            font-weight: 500;
            font-size: 18pt;
            text-align: center;
            margin: 20% auto;
            padding: 16px;
            width: 35%;

            .food-modal-header {
                margin: 0;
            }

            #foodResult {
                color: var(--pink);
                filter: drop-shadow(3px 2px 4px var(--base));
                font-weight: 700;
                font-size: 21pt;
            }

            #foodLink {
                display: none;
                font-size: 16pt;
                text-decoration: underline;
                margin: 0 auto;
                width: fit-content;

                .link-icon {
                    font-size: 11pt;
                }
            }

            #closeBtn {
                background-color: var(--base);
                border: 2px solid #00000000;
                border-radius: 6px;
                box-shadow: 1px 1px 6px var(--crust);
                color: var(--text);
                font-size: 13pt;
                margin: auto;
                padding: 5px 10px;
                transition: all linear 0.1s;

                &:hover {
                    background-color: var(--pink);
                    color: var(--crust);
                    cursor: pointer;
                }

                &:active {
                    filter: brightness(50%);
                }
            }
        }
    }
}

.return-container {
    display: flex;
    justify-content: center;
    margin-bottom: 16px;
    width: 100%;

    .return {
        background-color: var(--surface0);
        border-radius: 8px;
        color: var(--text);
        padding: 8px 30px;
        margin: 0 auto;

        transition: all linear 0.1s;

        &:hover {
            background-color: var(--mantle);
            color: var(--pink);
        }
    }
}

footer {
    background-color: var(--mantle);
    color: var(--subtext0);
    font-size: 13pt;
    padding: 24px 16px;

    p {
        margin: 3px 0;
    }

    .heart {
        color: var(--pink);
        margin: 3px 1px;
    }

    .marcy {
        color: var(--subtext0);
        text-decoration: underline;

        &:hover {
            color: var(--text);
        }
    }

    .amy {
        text-decoration: underline;

        &::after {
            transition: all linear 0.2s;
            opacity: 0;
        }

        &:hover {
            &::after {
                visibility: visible;
                display: inline-block;
                content: '<3';
                opacity: 1;
                color: var(--maroon);
            }
        }
    }
}

@media (max-width: 690px) {
    .lesbian {
        height: 10px !important;
    }

    .heading {
        margin: 10px auto !important;
        width: 90% !important;
    }

    hr {
        width: 100%;
    }

    .food-container {
        margin: 12px auto !important;
        padding-bottom: 12px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        width: 80% !important;

        > button {
            font-size: 12pt !important;
            padding: 8px 12px !important;
        }
    }

    .title {
        text-align: center;
        margin-top: 30px;
    }

    #foodModal {
        width: 80% !important;
    }
}
