/* === MEDIA QUERIES === */
@media (max-width: 1024px) {
    #loader .loader-text {
        font-size: 1.2em;
    }

    .navigation-menu {
        left: -6%;
        font-size: 1rem;
        line-height: 20px;
    }

    #menu-pen {
        min-width: 200%;
        max-height: 100%;
    }
}

@media (max-width: 768px) {
    #loader .loader-text {
        font-size: 1.1em;
    }

    .navigation-menu {
        position: fixed;
        left: -9%;
        top: 15%;
        width: 35%;
        height: 50%;

        font-size: 2vw;
    }

    #menu-pen {
        min-width: 260%;
        max-height: 80%;
        margin-left: 20%;
    }


    footer {
        font-size: 1.2vh;
    }
}

@media (max-width: 480px) {
    #loader .loader-text {
        font-size: 1em;
    }

    .navigation-menu {
        position: fixed;
        left: -10px;
        top: 40%;
        width: 60%;
        height: 36%;
        transform: translateX(-85%) translateY(-50%);
        font-size: 3.5vw;
        line-height: 4vh;
        transition: transform 0.5s ease-in-out;
        z-index: 1000;
    }

    .navigation-menu.menu-visible {
        transform: translateX(-15%) translateY(-50%);
        cursor: default;
    }

    /* Optional: show a "tab" to click */
    .navigation-menu::before {
        content: "";
        position: absolute;
        right: 0px;
        top: 50%;
        width: 20px;
        height: 60px;
        background: #c10d4d;
        border-radius: 0 8px 8px 0;
        transform: translateY(-50%);
        z-index: 1001;
        cursor: pointer;
    }

    .navigation-menu .menu-tab {
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        width: 20px;
        height: 60px;
        transform: translateY(-50%);
        z-index: 1002;
        cursor: pointer;
        background: transparent;
    }

    .menu-tab span {
        display: inline-block;
        position: fixed;
        color: white;
        transform: rotate(90deg);
        transform-origin: right center;
        right: 10px;
        top: 46%;
        font-size: 0.5rem;
    }

    #menu-pen {
        min-width: 460%;
        max-height: 80%;
        margin-left: 20%;
    }

    #pen-obj {
        position: fixed;
        left: 0;
        top: 57%;
        z-index: 1001;
        transform: translateX(-460%) translateY(-50%);
        transition: transform 0.5s ease-in-out;
        pointer-events: none;
    }

    #pen-obj.menu-visible {
        transform: translateX(50%) translateY(-50%);
    }
}


@media (max-height: 480px) and (orientation: landscape) {
    #loader .loader-text {
        font-size: 1.1em;
    }

    .navigation-menu {
        position: fixed;
        left: -10px;
        top: 40%;
        width: 30%;
        height: 50%;
        transform: translateX(-85%) translateY(-50%);
        line-height: 18px;
        font-size: 0.8rem;
        transition: transform 0.5s ease-in-out;
        z-index: 1000;
    }

    .navigation-menu.menu-visible {
        transform: translateX(-15%) translateY(-50%);
        cursor: default;
    }

    /* Optional: show a "tab" to click */
    .navigation-menu::before {
        content: "";
        position: absolute;
        right: 0px;
        top: 50%;
        width: 20px;
        height: 60px;
        background: #c10d4d;
        border-radius: 0 8px 8px 0;
        transform: translateY(-50%);
        z-index: 1001;
        cursor: pointer;
    }

    .navigation-menu .menu-tab {
        display: block;
        position: absolute;
        right: 0;
        top: 50%;
        width: 20px;
        height: 60px;
        transform: translateY(-50%);
        z-index: 1002;
        cursor: pointer;
        background: transparent;
    }

    .menu-tab span {
        display: inline-block;
        position: fixed;
        color: white;
        transform: rotate(90deg);
        transform-origin: right center;
        right: 11px;
        top: 59%;
        font-size: 0.5rem;
    }

    .navigation-menu li {
        margin: 4px 0;
    }

    #menu-pen {
        min-width: 80%;
        max-height: 80%;
        margin-left: 20%;
    }

    #pen-obj {
        position: fixed;
        left: 2%;
        top: 60%;
        width: 7%;
        height: 10%;
        z-index: 1001;
        transform: translateX(-460%) translateY(-50%);
        transition: transform 0.5s ease-in-out;
        pointer-events: none;
    }

    #pen-obj.menu-visible {
        transform: translateX(50%) translateY(-50%);
    }
}