.hamburger-btn {
    z-index: var(--hamburger-z-index);
    width: 40px;
    height: 40px;
    background: transparent;
    backdrop-filter: blur(10px);
    border-radius: 8px;
    transition: all 0.3s ease;
    color: var(--accent);
}

.hamburger-btn:hover {
    background: rgba(0,0,0,0.1);
    transform: scale(1.05);
}

.hamburger-btn:focus-visible {
    outline: 2px solid var(--gold-light);
    outline-offset: 2px;
}

.hamburger-line {
    display: block;
    width: 24px;
    height: 3px;
    background: var(--gold-mid);
    margin: 5px 0;
    transition: all 0.3s ease;
    border-radius: 2px;
}

.hamburger-btn[aria-expanded="true"] .hamburger-line:nth-child(1) {
    transform: rotate(45deg) translate(6px, 6px);
}
.hamburger-btn[aria-expanded="true"] .hamburger-line:nth-child(2) {
    opacity: 0;
}
.hamburger-btn[aria-expanded="true"] .hamburger-line:nth-child(3) {
    transform: rotate(-45deg) translate(6px, -6px);
}

.offcanvas {
    background: linear-gradient(0, rgba(2, 36, 6, 0.8), rgba(0, 8, 0, 1.0) 100%);
    height: auto;
    max-height: 90vh;
    min-height: 30vh;
    overflow-y: auto;
    z-index: var(--menu-z-index);
}

.offcanvas a:hover {
    background: var(--bg);
}

.main-menu {
    font-size: 1.2rem;
    line-height: 1.8rem;
    color: var(--gold-mid);

    a {
        color: var(--gold-light);
        text-decoration: none;
    }

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

    .col {
        padding: 4rem 0;
        p {
            font-size: 1.3rem;
        }
    }
}

.offcanvas.offcanvas-top {
    height: var(--bs-offcanvas-height) !important;
    max-height: 90vh !important;
    min-height: 120px !important;
}


:root {
    --bs-offcanvas-height: min(50vh, 400px);
}

@media (max-height: 600px) {
    :root {
        --bs-offcanvas-height: 45vh;
    }
}

@media (min-height: 1000px) {
    :root {
        --bs-offcanvas-height: 30vh;
    }
}
